From 8adab314d8e503b8ac806758fd92c3d770766df1 Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Thu, 2 Jul 2026 09:07:01 +0000 Subject: [PATCH 1/2] =?UTF-8?q?##=20Python=20SDK=20Changes:=20*=20`cribl?= =?UTF-8?q?=5Fcontrol=5Fplane.sources.delete()`:=20=20=20*=20=20`response.?= =?UTF-8?q?items[]`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20=20?= =?UTF-8?q?=20*=20=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane.?= =?UTF-8?q?collectors.list()`:=20=20=20*=20=20`request`=20**Changed**=20?= =?UTF-8?q?=20=20*=20=20`response`=20**Changed**=20(Breaking=20=E2=9A=A0?= =?UTF-8?q?=EF=B8=8F)=20=20=20*=20=20`error`=20**Changed**=20*=20`cribl=5F?= =?UTF-8?q?control=5Fplane.versions.statuses.get()`:=20=20=20*=20=20`respo?= =?UTF-8?q?nse.items[]`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20?= =?UTF-8?q?=20=20*=20=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5Fpla?= =?UTF-8?q?ne.versions.commits.files.list()`:=20=20=20*=20=20`response.ite?= =?UTF-8?q?ms[]`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20=20=20*?= =?UTF-8?q?=20=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane.data?= =?UTF-8?q?base=5Fconnections.list()`:=20=20=20*=20=20`request`=20**Change?= =?UTF-8?q?d**=20=20=20*=20=20`response`=20**Changed**=20(Breaking=20?= =?UTF-8?q?=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`error`=20**Changed**=20*=20?= =?UTF-8?q?`cribl=5Fcontrol=5Fplane.database=5Fconnections.create()`:=20?= =?UTF-8?q?=20=20*=20=20`request`=20**Changed**=20(Breaking=20=E2=9A=A0?= =?UTF-8?q?=EF=B8=8F)=20=20=20*=20=20`response`=20**Changed**=20(Breaking?= =?UTF-8?q?=20=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`error`=20**Changed**=20*?= =?UTF-8?q?=20`cribl=5Fcontrol=5Fplane.database=5Fconnections.get()`:=20?= =?UTF-8?q?=20=20*=20=20`response`=20**Changed**=20(Breaking=20=E2=9A=A0?= =?UTF-8?q?=EF=B8=8F)=20=20=20*=20=20`error`=20**Changed**=20*=20`cribl=5F?= =?UTF-8?q?control=5Fplane.database=5Fconnections.update()`:=20=20=20*=20?= =?UTF-8?q?=20`request`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20?= =?UTF-8?q?=20=20*=20=20`response`=20**Changed**=20(Breaking=20=E2=9A=A0?= =?UTF-8?q?=EF=B8=8F)=20=20=20*=20=20`error`=20**Changed**=20*=20`cribl=5F?= =?UTF-8?q?control=5Fplane.database=5Fconnections.delete()`:=20=20=20*=20?= =?UTF-8?q?=20`response`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)?= =?UTF-8?q?=20=20=20*=20=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5F?= =?UTF-8?q?plane.versions.commits.files.count()`:=20=20=20*=20=20`response?= =?UTF-8?q?.items[].count`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)?= =?UTF-8?q?=20=20=20*=20=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5F?= =?UTF-8?q?plane.versions.commits.get()`:=20=20=20*=20=20`response.items[]?= =?UTF-8?q?.diff=5Fjson[]`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)?= =?UTF-8?q?=20=20=20*=20=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5F?= =?UTF-8?q?plane.versions.commits.diff()`:=20=20=20*=20=20`response.items[?= =?UTF-8?q?].diff=5Fjson[]`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F?= =?UTF-8?q?)=20=20=20*=20=20`error`=20**Changed**=20*=20`cribl=5Fcontrol?= =?UTF-8?q?=5Fplane.versions.commits.create()`:=20=20=20*=20=20`response.i?= =?UTF-8?q?tems[].summary`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)?= =?UTF-8?q?=20=20=20*=20=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5F?= =?UTF-8?q?plane.versions.commits.list()`:=20=20=20*=20=20`request`=20**Ch?= =?UTF-8?q?anged**=20=20=20*=20=20`response`=20**Changed**=20(Breaking=20?= =?UTF-8?q?=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`error`=20**Changed**=20*=20?= =?UTF-8?q?`cribl=5Fcontrol=5Fplane.destinations.statuses.get()`:=20=20=20?= =?UTF-8?q?*=20=20`response.items[].status`=20**Changed**=20(Breaking=20?= =?UTF-8?q?=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`error`=20**Changed**=20*=20?= =?UTF-8?q?`cribl=5Fcontrol=5Fplane.packs.list()`:=20=20=20*=20=20`request?= =?UTF-8?q?`=20**Changed**=20=20=20*=20=20`response`=20**Changed**=20(Brea?= =?UTF-8?q?king=20=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`error`=20**Changed**?= =?UTF-8?q?=20*=20`cribl=5Fcontrol=5Fplane.destinations.statuses.list()`:?= =?UTF-8?q?=20=20=20*=20=20`response`=20**Changed**=20(Breaking=20?= =?UTF-8?q?=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`error`=20**Changed**=20*=20?= =?UTF-8?q?`cribl=5Fcontrol=5Fplane.destinations.delete()`:=20=20=20*=20?= =?UTF-8?q?=20`response.items[]`=20**Changed**=20(Breaking=20=E2=9A=A0?= =?UTF-8?q?=EF=B8=8F)=20=20=20*=20=20`error`=20**Changed**=20*=20`cribl=5F?= =?UTF-8?q?control=5Fplane.packs.update()`:=20=20=20*=20=20`request.minor`?= =?UTF-8?q?=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20=20=20*=20?= =?UTF-8?q?=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane.destina?= =?UTF-8?q?tions.update()`:=20=20=20*=20=20`request.output`=20**Changed**?= =?UTF-8?q?=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`response.ite?= =?UTF-8?q?ms[]`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20=20=20*?= =?UTF-8?q?=20=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane.pack?= =?UTF-8?q?s.pipelines.list()`:=20=20=20*=20=20`request`=20**Changed**=20?= =?UTF-8?q?=20=20*=20=20`response`=20**Changed**=20(Breaking=20=E2=9A=A0?= =?UTF-8?q?=EF=B8=8F)=20=20=20*=20=20`error`=20**Changed**=20*=20`cribl=5F?= =?UTF-8?q?control=5Fplane.packs.pipelines.create()`:=20=20=20*=20=20`requ?= =?UTF-8?q?est.conf.functions[]`=20**Changed**=20(Breaking=20=E2=9A=A0?= =?UTF-8?q?=EF=B8=8F)=20=20=20*=20=20`response.items[].conf.functions[]`?= =?UTF-8?q?=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20=20=20*=20?= =?UTF-8?q?=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane.packs.p?= =?UTF-8?q?ipelines.get()`:=20=20=20*=20=20`response.items[].conf.function?= =?UTF-8?q?s[]`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20=20=20*?= =?UTF-8?q?=20=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane.pack?= =?UTF-8?q?s.pipelines.update()`:=20=20=20*=20=20`request.conf.functions[]?= =?UTF-8?q?`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20=20=20*=20?= =?UTF-8?q?=20`response.items[].conf.functions[]`=20**Changed**=20(Breakin?= =?UTF-8?q?g=20=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`error`=20**Changed**=20?= =?UTF-8?q?*=20`cribl=5Fcontrol=5Fplane.packs.pipelines.delete()`:=20=20?= =?UTF-8?q?=20*=20=20`response.items[].conf.functions[]`=20**Changed**=20(?= =?UTF-8?q?Breaking=20=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`error`=20**Chang?= =?UTF-8?q?ed**=20*=20`cribl=5Fcontrol=5Fplane.destinations.get()`:=20=20?= =?UTF-8?q?=20*=20=20`response.items[]`=20**Changed**=20(Breaking=20?= =?UTF-8?q?=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`error`=20**Changed**=20*=20?= =?UTF-8?q?`cribl=5Fcontrol=5Fplane.destinations.create()`:=20=20=20*=20?= =?UTF-8?q?=20`request`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20?= =?UTF-8?q?=20=20*=20=20`response.items[]`=20**Changed**=20(Breaking=20?= =?UTF-8?q?=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`error`=20**Changed**=20*=20?= =?UTF-8?q?`cribl=5Fcontrol=5Fplane.destinations.list()`:=20=20=20*=20=20`?= =?UTF-8?q?request`=20**Changed**=20=20=20*=20=20`response`=20**Changed**?= =?UTF-8?q?=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`error`=20**C?= =?UTF-8?q?hanged**=20*=20`cribl=5Fcontrol=5Fplane.sources.statuses.get()`?= =?UTF-8?q?:=20=20=20*=20=20`response.items[].status`=20**Changed**=20(Bre?= =?UTF-8?q?aking=20=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`error`=20**Changed*?= =?UTF-8?q?*=20*=20`cribl=5Fcontrol=5Fplane.packs.sources.list()`:=20=20?= =?UTF-8?q?=20*=20=20`request`=20**Changed**=20=20=20*=20=20`response`=20*?= =?UTF-8?q?*Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`er?= =?UTF-8?q?ror`=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane.packs.sources?= =?UTF-8?q?.create()`:=20=20=20*=20=20`request=5Fbody`=20**Changed**=20(Br?= =?UTF-8?q?eaking=20=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`response.items[]`?= =?UTF-8?q?=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20=20=20*=20?= =?UTF-8?q?=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane.packs.s?= =?UTF-8?q?ources.get()`:=20=20=20*=20=20`response.items[]`=20**Changed**?= =?UTF-8?q?=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`error`=20**C?= =?UTF-8?q?hanged**=20*=20`cribl=5Fcontrol=5Fplane.packs.sources.update()`?= =?UTF-8?q?:=20=20=20*=20=20`request.input`=20**Changed**=20(Breaking=20?= =?UTF-8?q?=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`response.items[]`=20**Chang?= =?UTF-8?q?ed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`error`?= =?UTF-8?q?=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane.packs.sources.del?= =?UTF-8?q?ete()`:=20=20=20*=20=20`response.items[]`=20**Changed**=20(Brea?= =?UTF-8?q?king=20=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`error`=20**Changed**?= =?UTF-8?q?=20*=20`cribl=5Fcontrol=5Fplane.sources.statuses.list()`:=20=20?= =?UTF-8?q?=20*=20=20`response`=20**Changed**=20(Breaking=20=E2=9A=A0?= =?UTF-8?q?=EF=B8=8F)=20=20=20*=20=20`error`=20**Changed**=20*=20`cribl=5F?= =?UTF-8?q?control=5Fplane.sources.update()`:=20=20=20*=20=20`request.inpu?= =?UTF-8?q?t`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20=20=20*=20?= =?UTF-8?q?=20`response.items[]`=20**Changed**=20(Breaking=20=E2=9A=A0?= =?UTF-8?q?=EF=B8=8F)=20=20=20*=20=20`error`=20**Changed**=20*=20`cribl=5F?= =?UTF-8?q?control=5Fplane.sources.get()`:=20=20=20*=20=20`response.items[?= =?UTF-8?q?]`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20=20=20*=20?= =?UTF-8?q?=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane.sources?= =?UTF-8?q?.create()`:=20=20=20*=20=20`request`=20**Changed**=20(Breaking?= =?UTF-8?q?=20=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`response.items[]`=20**Ch?= =?UTF-8?q?anged**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`error?= =?UTF-8?q?`=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane.packs.sources.st?= =?UTF-8?q?atuses.list()`:=20=20=20*=20=20`response`=20**Changed**=20(Brea?= =?UTF-8?q?king=20=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`error`=20**Changed**?= =?UTF-8?q?=20*=20`cribl=5Fcontrol=5Fplane.packs.sources.statuses.get()`:?= =?UTF-8?q?=20=20=20*=20=20`response.items[].status`=20**Changed**=20(Brea?= =?UTF-8?q?king=20=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`error`=20**Changed**?= =?UTF-8?q?=20*=20`cribl=5Fcontrol=5Fplane.packs.destinations.list()`:=20?= =?UTF-8?q?=20=20*=20=20`request`=20**Changed**=20=20=20*=20=20`response`?= =?UTF-8?q?=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20=20=20*=20?= =?UTF-8?q?=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane.packs.d?= =?UTF-8?q?estinations.create()`:=20=20=20*=20=20`request=5Fbody`=20**Chan?= =?UTF-8?q?ged**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`respons?= =?UTF-8?q?e.items[]`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20?= =?UTF-8?q?=20=20*=20=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5Fpla?= =?UTF-8?q?ne.packs.destinations.get()`:=20=20=20*=20=20`response.items[]`?= =?UTF-8?q?=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20=20=20*=20?= =?UTF-8?q?=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane.packs.d?= =?UTF-8?q?estinations.update()`:=20=20=20*=20=20`request.output`=20**Chan?= =?UTF-8?q?ged**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`respons?= =?UTF-8?q?e.items[]`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20?= =?UTF-8?q?=20=20*=20=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5Fpla?= =?UTF-8?q?ne.packs.destinations.delete()`:=20=20=20*=20=20`response.items?= =?UTF-8?q?[]`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20=20=20*?= =?UTF-8?q?=20=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane.sour?= =?UTF-8?q?ces.list()`:=20=20=20*=20=20`request`=20**Changed**=20=20=20*?= =?UTF-8?q?=20=20`response`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F?= =?UTF-8?q?)=20=20=20*=20=20`error`=20**Changed**=20*=20`cribl=5Fcontrol?= =?UTF-8?q?=5Fplane.system.settings.cribl.update()`:=20=20=20*=20=20`reque?= =?UTF-8?q?st`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20=20=20*?= =?UTF-8?q?=20=20`response.items[]`=20**Changed**=20(Breaking=20=E2=9A=A0?= =?UTF-8?q?=EF=B8=8F)=20=20=20*=20=20`error`=20**Changed**=20*=20`cribl=5F?= =?UTF-8?q?control=5Fplane.system.settings.cribl.list()`:=20=20=20*=20=20`?= =?UTF-8?q?response.items[]`=20**Changed**=20(Breaking=20=E2=9A=A0?= =?UTF-8?q?=EF=B8=8F)=20=20=20*=20=20`error`=20**Changed**=20*=20`cribl=5F?= =?UTF-8?q?control=5Fplane.lakes.datasets.list()`:=20=20=20*=20=20`request?= =?UTF-8?q?`=20**Changed**=20=20=20*=20=20`response`=20**Changed**=20(Brea?= =?UTF-8?q?king=20=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`error`=20**Changed**?= =?UTF-8?q?=20*=20`cribl=5Fcontrol=5Fplane.packs.destinations.statuses.lis?= =?UTF-8?q?t()`:=20=20=20*=20=20`response`=20**Changed**=20(Breaking=20?= =?UTF-8?q?=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`error`=20**Changed**=20*=20?= =?UTF-8?q?`cribl=5Fcontrol=5Fplane.packs.destinations.statuses.get()`:=20?= =?UTF-8?q?=20=20*=20=20`response.items[].status`=20**Changed**=20(Breakin?= =?UTF-8?q?g=20=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`error`=20**Changed**=20?= =?UTF-8?q?*=20`cribl=5Fcontrol=5Fplane.pipelines.list()`:=20=20=20*=20=20?= =?UTF-8?q?`request`=20**Changed**=20=20=20*=20=20`response`=20**Changed**?= =?UTF-8?q?=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`error`=20**C?= =?UTF-8?q?hanged**=20*=20`cribl=5Fcontrol=5Fplane.pipelines.create()`:=20?= =?UTF-8?q?=20=20*=20=20`request.conf.functions[]`=20**Changed**=20(Breaki?= =?UTF-8?q?ng=20=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`response.items[].conf.?= =?UTF-8?q?functions[]`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20?= =?UTF-8?q?=20=20*=20=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5Fpla?= =?UTF-8?q?ne.pipelines.delete()`:=20=20=20*=20=20`response.items[].conf.f?= =?UTF-8?q?unctions[]`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20?= =?UTF-8?q?=20=20*=20=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5Fpla?= =?UTF-8?q?ne.nodes.summaries.get()`:=20=20=20*=20=20`request`=20**Changed?= =?UTF-8?q?**=20=20=20*=20=20`response`=20**Changed**=20(Breaking=20?= =?UTF-8?q?=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`error`=20**Changed**=20*=20?= =?UTF-8?q?`cribl=5Fcontrol=5Fplane.pipelines.update()`:=20=20=20*=20=20`r?= =?UTF-8?q?equest.conf.functions[]`=20**Changed**=20(Breaking=20=E2=9A=A0?= =?UTF-8?q?=EF=B8=8F)=20=20=20*=20=20`response.items[].conf.functions[]`?= =?UTF-8?q?=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20=20=20*=20?= =?UTF-8?q?=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane.groups.?= =?UTF-8?q?list()`:=20=20=20*=20=20`request`=20**Changed**=20=20=20*=20=20?= =?UTF-8?q?`response`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20?= =?UTF-8?q?=20=20*=20=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5Fpla?= =?UTF-8?q?ne.nodes.get()`:=20=20=20*=20=20`response.items[]`=20**Changed*?= =?UTF-8?q?*=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`error`=20**?= =?UTF-8?q?Changed**=20*=20`cribl=5Fcontrol=5Fplane.pipelines.get()`:=20?= =?UTF-8?q?=20=20*=20=20`response.items[].conf.functions[]`=20**Changed**?= =?UTF-8?q?=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`error`=20**C?= =?UTF-8?q?hanged**=20*=20`cribl=5Fcontrol=5Fplane.nodes.list()`:=20=20=20?= =?UTF-8?q?*=20=20`response`=20**Changed**=20(Breaking=20=E2=9A=A0?= =?UTF-8?q?=EF=B8=8F)=20=20=20*=20=20`error`=20**Changed**=20*=20`cribl=5F?= =?UTF-8?q?control=5Fplane.functions.list()`:=20=20=20*=20=20`request`=20*?= =?UTF-8?q?*Changed**=20=20=20*=20=20`response`=20**Changed**=20(Breaking?= =?UTF-8?q?=20=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`error`=20**Changed**=20*?= =?UTF-8?q?=20`cribl=5Fcontrol=5Fplane.packs.get()`:=20=20`error`=20**Chan?= =?UTF-8?q?ged**=20*=20`cribl=5Fcontrol=5Fplane.sources.hec=5Ftokens.updat?= =?UTF-8?q?e()`:=20=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane?= =?UTF-8?q?.groups.acl.teams.get()`:=20=20`error`=20**Changed**=20*=20`cri?= =?UTF-8?q?bl=5Fcontrol=5Fplane.groups.configs.versions.get()`:=20=20`erro?= =?UTF-8?q?r`=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane.nodes.count()`:?= =?UTF-8?q?=20=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane.pack?= =?UTF-8?q?s.upload()`:=20=20`error`=20**Changed**=20*=20`cribl=5Fcontrol?= =?UTF-8?q?=5Fplane.groups.create()`:=20=20=20*=20=20`request.collectors?= =?UTF-8?q?=5Fha=5Fenabled`=20**Added**=20=20=20*=20=20`response.items[].c?= =?UTF-8?q?ollectors=5Fha=5Fenabled`=20**Added**=20=20=20*=20=20`error`=20?= =?UTF-8?q?**Changed**=20*=20`cribl=5Fcontrol=5Fplane.nodes.restart()`:=20?= =?UTF-8?q?=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane.groups.?= =?UTF-8?q?get()`:=20=20=20*=20=20`response.items[].collectors=5Fha=5Fenab?= =?UTF-8?q?led`=20**Added**=20=20=20*=20=20`error`=20**Changed**=20*=20`cr?= =?UTF-8?q?ibl=5Fcontrol=5Fplane.packs.destinations.samples.create()`:=20?= =?UTF-8?q?=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane.lakes.d?= =?UTF-8?q?atasets.create()`:=20=20=20*=20=20`request`=20**Changed**=20=20?= =?UTF-8?q?=20*=20=20`response.items[]`=20**Changed**=20=20=20*=20=20`erro?= =?UTF-8?q?r`=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane.lakes.datasets.?= =?UTF-8?q?get()`:=20=20=20*=20=20`response.items[]`=20**Changed**=20=20?= =?UTF-8?q?=20*=20=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane.?= =?UTF-8?q?lakes.datasets.update()`:=20=20=20*=20=20`request`=20**Changed*?= =?UTF-8?q?*=20=20=20*=20=20`response.items[]`=20**Changed**=20=20=20*=20?= =?UTF-8?q?=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane.lakes.d?= =?UTF-8?q?atasets.delete()`:=20=20=20*=20=20`response.items[]`=20**Change?= =?UTF-8?q?d**=20=20=20*=20=20`error`=20**Changed**=20*=20`cribl=5Fcontrol?= =?UTF-8?q?=5Fplane.routes.list()`:=20=20`error`=20**Changed**=20*=20`crib?= =?UTF-8?q?l=5Fcontrol=5Fplane.routes.get()`:=20=20`error`=20**Changed**?= =?UTF-8?q?=20*=20`cribl=5Fcontrol=5Fplane.routes.update()`:=20=20`error`?= =?UTF-8?q?=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane.sources.pq.get()`?= =?UTF-8?q?:=20=20=20*=20=20`response.items[]`=20**Changed**=20=20=20*=20?= =?UTF-8?q?=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane.system.?= =?UTF-8?q?captures.create()`:=20=20`error`=20**Changed**=20*=20`cribl=5Fc?= =?UTF-8?q?ontrol=5Fplane.system.settings.restart()`:=20=20`error`=20**Cha?= =?UTF-8?q?nged**=20*=20`cribl=5Fcontrol=5Fplane.packs.destinations.sample?= =?UTF-8?q?s.get()`:=20=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5Fp?= =?UTF-8?q?lane.packs.destinations.pq.get()`:=20=20=20*=20=20`response.ite?= =?UTF-8?q?ms[]`=20**Changed**=20=20=20*=20=20`error`=20**Changed**=20*=20?= =?UTF-8?q?`cribl=5Fcontrol=5Fplane.packs.destinations.pq.clear()`:=20=20`?= =?UTF-8?q?error`=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane.packs.sourc?= =?UTF-8?q?es.pq.get()`:=20=20=20*=20=20`response.items[]`=20**Changed**?= =?UTF-8?q?=20=20=20*=20=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5F?= =?UTF-8?q?plane.packs.sources.pq.clear()`:=20=20`error`=20**Changed**=20*?= =?UTF-8?q?=20`cribl=5Fcontrol=5Fplane.packs.sources.hec=5Ftokens.update()?= =?UTF-8?q?`:=20=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane.au?= =?UTF-8?q?th.tokens.get()`:=20=20`error`=20**Changed**=20*=20`cribl=5Fcon?= =?UTF-8?q?trol=5Fplane.groups.deploy()`:=20=20=20*=20=20`response.items[]?= =?UTF-8?q?.collectors=5Fha=5Fenabled`=20**Added**=20=20=20*=20=20`error`?= =?UTF-8?q?=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane.groups.acl.get()`?= =?UTF-8?q?:=20=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane.sou?= =?UTF-8?q?rces.pq.clear()`:=20=20`error`=20**Changed**=20*=20`cribl=5Fcon?= =?UTF-8?q?trol=5Fplane.sources.hec=5Ftokens.create()`:=20=20`error`=20**C?= =?UTF-8?q?hanged**=20*=20`cribl=5Fcontrol=5Fplane.packs.sources.hec=5Ftok?= =?UTF-8?q?ens.create()`:=20=20`error`=20**Changed**=20*=20`cribl=5Fcontro?= =?UTF-8?q?l=5Fplane.packs.routes.append()`:=20=20`error`=20**Changed**=20?= =?UTF-8?q?*=20`cribl=5Fcontrol=5Fplane.packs.routes.update()`:=20=20`erro?= =?UTF-8?q?r`=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane.packs.routes.ge?= =?UTF-8?q?t()`:=20=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane?= =?UTF-8?q?.packs.routes.list()`:=20=20`error`=20**Changed**=20*=20`cribl?= =?UTF-8?q?=5Fcontrol=5Fplane.packs.delete()`:=20=20`error`=20**Changed**?= =?UTF-8?q?=20*=20`cribl=5Fcontrol=5Fplane.routes.append()`:=20=20`error`?= =?UTF-8?q?=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane.destinations.pq.c?= =?UTF-8?q?lear()`:=20=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5Fpl?= =?UTF-8?q?ane.destinations.pq.get()`:=20=20=20*=20=20`response.items[]`?= =?UTF-8?q?=20**Changed**=20=20=20*=20=20`error`=20**Changed**=20*=20`crib?= =?UTF-8?q?l=5Fcontrol=5Fplane.destinations.samples.get()`:=20=20`error`?= =?UTF-8?q?=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane.destinations.samp?= =?UTF-8?q?les.create()`:=20=20`error`=20**Changed**=20*=20`cribl=5Fcontro?= =?UTF-8?q?l=5Fplane.groups.update()`:=20=20=20*=20=20`request.collectors?= =?UTF-8?q?=5Fha=5Fenabled`=20**Added**=20=20=20*=20=20`response.items[].c?= =?UTF-8?q?ollectors=5Fha=5Fenabled`=20**Added**=20=20=20*=20=20`error`=20?= =?UTF-8?q?**Changed**=20*=20`cribl=5Fcontrol=5Fplane.packs.install()`:=20?= =?UTF-8?q?=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane.collect?= =?UTF-8?q?ors.delete()`:=20=20=20*=20=20`response.items[].union(SavedJobR?= =?UTF-8?q?esponseCollection).collector`=20**Changed**=20=20=20*=20=20`err?= =?UTF-8?q?or`=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane.collectors.upd?= =?UTF-8?q?ate()`:=20=20=20*=20=20`request.saved=5Fjob.union(SavedJobColle?= =?UTF-8?q?ction).collector`=20**Changed**=20=20=20*=20=20`response.items[?= =?UTF-8?q?].union(SavedJobResponseCollection).collector`=20**Changed**=20?= =?UTF-8?q?=20=20*=20=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5Fpla?= =?UTF-8?q?ne.collectors.get()`:=20=20=20*=20=20`response.items[].union(Sa?= =?UTF-8?q?vedJobResponseCollection).collector`=20**Changed**=20=20=20*=20?= =?UTF-8?q?=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane.version?= =?UTF-8?q?s.commits.push()`:=20=20`error`=20**Changed**=20*=20`cribl=5Fco?= =?UTF-8?q?ntrol=5Fplane.versions.commits.revert()`:=20=20`error`=20**Chan?= =?UTF-8?q?ged**=20*=20`cribl=5Fcontrol=5Fplane.collectors.create()`:=20?= =?UTF-8?q?=20=20*=20=20`request.union(SavedJobCollection).collector`=20**?= =?UTF-8?q?Changed**=20=20=20*=20=20`response.items[].union(SavedJobRespon?= =?UTF-8?q?seCollection).collector`=20**Changed**=20=20=20*=20=20`error`?= =?UTF-8?q?=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane.versions.commits.?= =?UTF-8?q?undo()`:=20=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5Fpl?= =?UTF-8?q?ane.groups.delete()`:=20=20=20*=20=20`response.items[].collecto?= =?UTF-8?q?rs=5Fha=5Fenabled`=20**Added**=20=20=20*=20=20`error`=20**Chang?= =?UTF-8?q?ed**=20*=20`cribl=5Fcontrol=5Fplane.health.get()`:=20=20=20*=20?= =?UTF-8?q?=20`response.overlay`=20**Added**=20=20=20*=20=20`error`=20**Ch?= =?UTF-8?q?anged**=20*=20`cribl=5Fcontrol=5Fplane.versions.branches.list()?= =?UTF-8?q?`:=20=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane.ve?= =?UTF-8?q?rsions.branches.get()`:=20=20`error`=20**Changed**=20*=20`cribl?= =?UTF-8?q?=5Fcontrol=5Fplane.versions.configs.get()`:=20=20`error`=20**Ch?= =?UTF-8?q?anged**=20*=20`cribl=5Fcontrol=5Fplane.functions.get()`:=20=20`?= =?UTF-8?q?error`=20**Changed**?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .speakeasy/gen.lock | 14911 +++++++----- .speakeasy/gen.yaml | 8 +- .speakeasy/out.openapi.yaml | 14622 +++++++++--- .speakeasy/workflow.lock | 16 +- README-PYPI.md | 22 +- README.md | 22 +- RELEASES.md | 12 +- docs/errors/error.md | 8 +- docs/errors/healthserverstatuserror.md | 1 + docs/errors/restapijsonerror.md | 12 + docs/models/activehealthoverlaystatus.md | 10 + docs/models/addhectokenrequest.md | 2 +- .../models/aggregatedinputoutputstatusbody.md | 4 +- docs/models/aggregatedpqstatus.md | 4 +- docs/models/apitypesystemsettingsconf.md | 36 +- docs/models/appstypesystemsettingsconf.md | 8 +- docs/models/audit.md | 12 +- ...tionmethodoptionsauthtokensitemssecret.md} | 6 +- ... authenticationmethodoptionsautosecret.md} | 6 +- docs/models/author.md | 10 +- ....md => authtokenconfinputcloudflarehec.md} | 4 +- docs/models/awstypeheartbeatmetadata.md | 16 +- docs/models/azureblobauthtypeclientcert.md | 1 + docs/models/azureblobauthtypeclientsecret.md | 1 + docs/models/azureblobauthtypemanual.md | 1 + docs/models/azureblobauthtypesecret.md | 1 + docs/models/azuretypeheartbeatmetadata.md | 26 +- docs/models/backupssettings.md | 8 +- docs/models/block.md | 14 +- docs/models/cacheconnection.md | 18 +- docs/models/checksumbefore.md | 19 + ...d => columnmappingconfoutputclickhouse.md} | 2 +- docs/models/config.md | 18 +- docs/models/configgroup.md | 1 + docs/models/confinput.md | 14 +- docs/models/connectionconfinputcollection.md | 8 +- docs/models/createinputauth.md | 2 +- ...einputauthenticationmethodcloudflarehec.md | 20 - .../createinputauthtokencloudflarehec.md | 14 - docs/models/createinputauthtokensplunkhec.md | 2 +- docs/models/createinputcertificate.md | 11 + ...teinputcontentconfiganthropiccompliance.md | 6 +- docs/models/createinputcontentconfiginput.md | 40 +- .../createinputdiscoverytypeedgeprometheus.md | 3 +- .../createinputdiscoverytypeprometheus.md | 11 +- docs/models/createinputendpointname.md | 22 + .../createinputinputanthropiccompliance.md | 6 +- .../createinputinputappleunifiedlogs.md | 36 +- docs/models/createinputinputappscope.md | 6 +- docs/models/createinputinputazureblob.md | 6 +- docs/models/createinputinputcloudflarehec.md | 14 +- docs/models/createinputinputcollection.md | 4 +- docs/models/createinputinputconfluentcloud.md | 6 +- docs/models/createinputinputcribl.md | 6 +- docs/models/createinputinputcriblhttp.md | 8 +- docs/models/createinputinputcribllakehttp.md | 8 +- docs/models/createinputinputcriblmetrics.md | 6 +- docs/models/createinputinputcribltcp.md | 6 +- docs/models/createinputinputcrowdstrike.md | 19 +- docs/models/createinputinputdatadogagent.md | 70 +- docs/models/createinputinputdatagen.md | 6 +- docs/models/createinputinputedgeprometheus.md | 10 +- docs/models/createinputinputelastic.md | 8 +- docs/models/createinputinputeventhub.md | 6 +- docs/models/createinputinputeventhubamqp.md | 6 +- docs/models/createinputinputexec.md | 4 +- docs/models/createinputinputfile.md | 6 +- docs/models/createinputinputfirehose.md | 8 +- docs/models/createinputinputgooglepubsub.md | 6 +- .../models/createinputinputgrafanagrafana1.md | 8 +- .../models/createinputinputgrafanagrafana2.md | 8 +- docs/models/createinputinputgrafanatype1.md | 2 + docs/models/createinputinputgrafanatype2.md | 2 + docs/models/createinputinputhttp.md | 8 +- docs/models/createinputinputhttpraw.md | 8 +- docs/models/createinputinputjournalfiles.md | 6 +- docs/models/createinputinputkafka.md | 6 +- docs/models/createinputinputkinesis.md | 6 +- docs/models/createinputinputkubeevents.md | 6 +- docs/models/createinputinputkubelogs.md | 8 +- docs/models/createinputinputkubemetrics.md | 6 +- docs/models/createinputinputloki.md | 8 +- docs/models/createinputinputmetrics.md | 6 +- docs/models/createinputinputmicrosoftgraph.md | 6 +- .../createinputinputmodeldriventelemetry.md | 6 +- docs/models/createinputinputmsk.md | 6 +- docs/models/createinputinputnetflow.md | 6 +- docs/models/createinputinputoffice365mgmt.md | 6 +- .../createinputinputoffice365msgtrace.md | 6 +- .../createinputinputoffice365service.md | 6 +- docs/models/createinputinputokta.md | 6 +- docs/models/createinputinputopenai.md | 6 +- .../createinputinputopenaicompliancelogs.md | 6 +- docs/models/createinputinputopentelemetry.md | 8 +- docs/models/createinputinputprometheus.md | 10 +- docs/models/createinputinputprometheusrw.md | 8 +- docs/models/createinputinputrawudp.md | 6 +- docs/models/createinputinputs3.md | 19 +- docs/models/createinputinputs3inventory.md | 19 +- docs/models/createinputinputsecuritylake.md | 19 +- .../models/createinputinputservicenowtable.md | 6 +- docs/models/createinputinputsnmp.md | 6 +- docs/models/createinputinputsplunk.md | 6 +- docs/models/createinputinputsplunkhec.md | 8 +- docs/models/createinputinputsplunksearch.md | 6 +- docs/models/createinputinputsqs.md | 6 +- docs/models/createinputinputsysdighec.md | 46 + docs/models/createinputinputsyslogsyslog1.md | 6 +- docs/models/createinputinputsyslogsyslog2.md | 6 +- docs/models/createinputinputsystemmetrics.md | 6 +- docs/models/createinputinputsystemstate.md | 6 +- docs/models/createinputinputtcp.md | 6 +- docs/models/createinputinputtcpjson.md | 6 +- docs/models/createinputinputupwindhec.md | 46 + docs/models/createinputinputwef.md | 6 +- docs/models/createinputinputwindowsmetrics.md | 6 +- docs/models/createinputinputwineventlogs.md | 8 +- docs/models/createinputinputwiz.md | 6 +- docs/models/createinputinputwizwebhook.md | 8 +- docs/models/createinputinputzscalerhec.md | 19 +- .../createinputproxymodedatadogagent.md | 8 +- docs/models/createinputrequest.md | 12 + docs/models/createinputsamplingrule.md | 10 + docs/models/createinputsystembypackauth.md | 2 +- ...bypackauthenticationmethodcloudflarehec.md | 20 - ...inputsystembypackauthtokencloudflarehec.md | 14 - ...eateinputsystembypackauthtokensplunkhec.md | 2 +- .../createinputsystembypackcertificate.md | 11 + ...mbypackcontentconfiganthropiccompliance.md | 6 +- ...eateinputsystembypackcontentconfiginput.md | 40 +- ...systembypackdiscoverytypeedgeprometheus.md | 3 +- ...nputsystembypackdiscoverytypeprometheus.md | 11 +- .../createinputsystembypackendpointname.md | 22 + ...putsystembypackinputanthropiccompliance.md | 6 +- ...einputsystembypackinputappleunifiedlogs.md | 36 +- .../createinputsystembypackinputappscope.md | 6 +- .../createinputsystembypackinputazureblob.md | 6 +- ...eateinputsystembypackinputcloudflarehec.md | 14 +- .../createinputsystembypackinputcollection.md | 4 +- ...ateinputsystembypackinputconfluentcloud.md | 6 +- .../createinputsystembypackinputcribl.md | 6 +- .../createinputsystembypackinputcriblhttp.md | 8 +- ...eateinputsystembypackinputcribllakehttp.md | 8 +- ...reateinputsystembypackinputcriblmetrics.md | 6 +- .../createinputsystembypackinputcribltcp.md | 6 +- ...createinputsystembypackinputcrowdstrike.md | 19 +- ...reateinputsystembypackinputdatadogagent.md | 70 +- .../createinputsystembypackinputdatagen.md | 6 +- ...ateinputsystembypackinputedgeprometheus.md | 10 +- .../createinputsystembypackinputelastic.md | 8 +- .../createinputsystembypackinputeventhub.md | 6 +- ...reateinputsystembypackinputeventhubamqp.md | 6 +- .../createinputsystembypackinputexec.md | 4 +- .../createinputsystembypackinputfile.md | 6 +- .../createinputsystembypackinputfirehose.md | 8 +- ...reateinputsystembypackinputgooglepubsub.md | 6 +- ...teinputsystembypackinputgrafanagrafana1.md | 8 +- ...teinputsystembypackinputgrafanagrafana2.md | 8 +- ...reateinputsystembypackinputgrafanatype1.md | 2 + ...reateinputsystembypackinputgrafanatype2.md | 2 + .../createinputsystembypackinputhttp.md | 8 +- .../createinputsystembypackinputhttpraw.md | 8 +- ...reateinputsystembypackinputjournalfiles.md | 6 +- .../createinputsystembypackinputkafka.md | 6 +- .../createinputsystembypackinputkinesis.md | 6 +- .../createinputsystembypackinputkubeevents.md | 6 +- .../createinputsystembypackinputkubelogs.md | 8 +- ...createinputsystembypackinputkubemetrics.md | 6 +- .../createinputsystembypackinputloki.md | 8 +- .../createinputsystembypackinputmetrics.md | 6 +- ...ateinputsystembypackinputmicrosoftgraph.md | 6 +- ...utsystembypackinputmodeldriventelemetry.md | 6 +- .../models/createinputsystembypackinputmsk.md | 6 +- .../createinputsystembypackinputnetflow.md | 6 +- ...eateinputsystembypackinputoffice365mgmt.md | 6 +- ...inputsystembypackinputoffice365msgtrace.md | 6 +- ...einputsystembypackinputoffice365service.md | 6 +- .../createinputsystembypackinputokta.md | 6 +- .../createinputsystembypackinputopenai.md | 6 +- ...utsystembypackinputopenaicompliancelogs.md | 6 +- ...eateinputsystembypackinputopentelemetry.md | 8 +- .../createinputsystembypackinputprometheus.md | 10 +- ...reateinputsystembypackinputprometheusrw.md | 8 +- .../createinputsystembypackinputrawudp.md | 6 +- docs/models/createinputsystembypackinputs3.md | 19 +- ...createinputsystembypackinputs3inventory.md | 19 +- ...reateinputsystembypackinputsecuritylake.md | 19 +- ...teinputsystembypackinputservicenowtable.md | 6 +- .../createinputsystembypackinputsnmp.md | 6 +- .../createinputsystembypackinputsplunk.md | 6 +- .../createinputsystembypackinputsplunkhec.md | 8 +- ...reateinputsystembypackinputsplunksearch.md | 6 +- .../models/createinputsystembypackinputsqs.md | 6 +- .../createinputsystembypackinputsysdighec.md | 46 + ...eateinputsystembypackinputsyslogsyslog1.md | 6 +- ...eateinputsystembypackinputsyslogsyslog2.md | 6 +- ...eateinputsystembypackinputsystemmetrics.md | 6 +- ...createinputsystembypackinputsystemstate.md | 6 +- .../models/createinputsystembypackinputtcp.md | 6 +- .../createinputsystembypackinputtcpjson.md | 6 +- .../createinputsystembypackinputupwindhec.md | 46 + .../models/createinputsystembypackinputwef.md | 6 +- ...ateinputsystembypackinputwindowsmetrics.md | 6 +- ...reateinputsystembypackinputwineventlogs.md | 8 +- .../models/createinputsystembypackinputwiz.md | 6 +- .../createinputsystembypackinputwizwebhook.md | 8 +- .../createinputsystembypackinputzscalerhec.md | 19 +- ...einputsystembypackproxymodedatadogagent.md | 8 +- .../createinputsystembypackrequestbody.md | 12 + .../createinputsystembypacksamplingrule.md | 10 + ...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 | 18 + .../createinputsystembypacktypeupwindhec.md | 18 + .../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 | 18 + docs/models/createinputtypeupwindhec.md | 18 + docs/models/createinputtypewizwebhook.md | 2 + docs/models/createinputtypezscalerhec.md | 2 + ...tputauthenticationmethodalibabaclouds3.md} | 8 +- ...reateoutputauthenticationtypeprometheus.md | 25 + .../createoutputawsauthenticationmethod.md | 20 - ...torage.md => createoutputcolumnmapping.md} | 2 +- .../createoutputcolumnmappingclickhouse.md | 10 - ...d => createoutputendpointdynatracehttp.md} | 6 +- ...eoutputendpointgooglecloudobservability.md | 20 + docs/models/createoutputfieldname.md | 2 + docs/models/createoutputformatclickhouse.md | 21 - docs/models/createoutputformatcribllake.md | 11 +- ...oogleauthenticationmethodgooglebigquery.md | 21 + ...nticationmethodgooglecloudobservability.md | 21 + ...hstorage.md => createoutputmappingtype.md} | 6 +- .../createoutputmappingtypeclickhouse.md | 21 - docs/models/createoutputmetadatum.md | 2 +- ...tputotlpversiongooglecloudobservability.md | 18 + ...> createoutputotlpversionopentelemetry.md} | 6 +- .../createoutputoutputalibabaclouds3.md | 12 +- docs/models/createoutputoutputalphasocs3.md | 4 +- ...eateoutputoutputamazonmanagedprometheus.md | 61 + docs/models/createoutputoutputazureblob.md | 4 +- .../createoutputoutputazuredataexplorer.md | 6 +- .../models/createoutputoutputazureeventhub.md | 6 +- docs/models/createoutputoutputazurelogs.md | 6 +- docs/models/createoutputoutputchronicle.md | 6 +- docs/models/createoutputoutputclickhouse.md | 13 +- docs/models/createoutputoutputcloudflarer2.md | 6 +- docs/models/createoutputoutputcloudians3.md | 4 +- docs/models/createoutputoutputcloudwatch.md | 6 +- .../createoutputoutputconfluentcloud.md | 6 +- docs/models/createoutputoutputcriblhttp.md | 6 +- docs/models/createoutputoutputcribllake.md | 54 +- .../createoutputoutputcriblsearchengine.md | 6 +- docs/models/createoutputoutputcribltcp.md | 6 +- ...reateoutputoutputcrowdstrikenextgensiem.md | 6 +- ...reateoutputoutputcustomermetricsstorage.md | 65 + docs/models/createoutputoutputdatabricks.md | 4 +- docs/models/createoutputoutputdatadog.md | 6 +- docs/models/createoutputoutputdataset.md | 6 +- docs/models/createoutputoutputdefault.md | 2 +- docs/models/createoutputoutputdells3.md | 4 +- docs/models/createoutputoutputdevnull.md | 2 +- docs/models/createoutputoutputdiskspool.md | 4 +- docs/models/createoutputoutputdls3.md | 4 +- .../models/createoutputoutputdynatracehttp.md | 8 +- .../models/createoutputoutputdynatraceotlp.md | 6 +- docs/models/createoutputoutputelastic.md | 6 +- docs/models/createoutputoutputelasticcloud.md | 6 +- docs/models/createoutputoutputexabeam.md | 4 +- docs/models/createoutputoutputfilesystem.md | 4 +- .../createoutputoutputgooglebigquery.md | 42 + .../createoutputoutputgooglechronicle.md | 6 +- .../createoutputoutputgooglecloudlogging.md | 6 +- ...ateoutputoutputgooglecloudobservability.md | 47 + .../createoutputoutputgooglecloudstorage.md | 4 +- docs/models/createoutputoutputgooglepubsub.md | 6 +- ...teoutputoutputgrafanacloudgrafanacloud1.md | 8 +- ...teoutputoutputgrafanacloudgrafanacloud2.md | 8 +- docs/models/createoutputoutputgraphite.md | 6 +- docs/models/createoutputoutputhoneycomb.md | 6 +- docs/models/createoutputoutputhumiohec.md | 6 +- docs/models/createoutputoutputibmclouds3.md | 71 + docs/models/createoutputoutputinfluxdb.md | 6 +- docs/models/createoutputoutputkafka.md | 6 +- docs/models/createoutputoutputkinesis.md | 6 +- .../createoutputoutputlocalsearchstorage.md | 11 +- docs/models/createoutputoutputloki.md | 8 +- .../createoutputoutputmicrosoftfabric.md | 6 +- docs/models/createoutputoutputminio.md | 4 +- docs/models/createoutputoutputmsk.md | 6 +- docs/models/createoutputoutputnetflow.md | 4 +- docs/models/createoutputoutputnewrelic.md | 6 +- .../createoutputoutputnewrelicevents.md | 6 +- .../createoutputoutputnutanixobjects.md | 4 +- .../models/createoutputoutputopentelemetry.md | 8 +- docs/models/createoutputoutputprometheus.md | 22 +- docs/models/createoutputoutputring.md | 4 +- docs/models/createoutputoutputrouter.md | 4 +- docs/models/createoutputoutputs3.md | 4 +- docs/models/createoutputoutputscalitys3.md | 4 +- docs/models/createoutputoutputsecuritylake.md | 4 +- docs/models/createoutputoutputsentinel.md | 11 +- .../createoutputoutputsentineloneaisiem.md | 10 +- docs/models/createoutputoutputservicenow.md | 6 +- docs/models/createoutputoutputsignalfx.md | 6 +- docs/models/createoutputoutputsnmp.md | 26 +- docs/models/createoutputoutputsns.md | 6 +- docs/models/createoutputoutputsplunk.md | 6 +- docs/models/createoutputoutputsplunkhec.md | 10 +- docs/models/createoutputoutputsplunklb.md | 6 +- docs/models/createoutputoutputsqs.md | 6 +- docs/models/createoutputoutputstatsd.md | 6 +- docs/models/createoutputoutputstatsdext.md | 6 +- docs/models/createoutputoutputstorjs3.md | 4 +- docs/models/createoutputoutputsumologic.md | 6 +- docs/models/createoutputoutputsyslog.md | 6 +- docs/models/createoutputoutputtcpjson.md | 6 +- docs/models/createoutputoutputwavefront.md | 6 +- .../createoutputoutputwebhookwebhook1.md | 11 +- .../createoutputoutputwebhookwebhook2.md | 11 +- docs/models/createoutputoutputwizhec.md | 18 +- docs/models/createoutputoutputxsiam.md | 6 +- ...utputpqcontrolsamazonmanagedprometheus.md} | 2 +- ...eoutputpqcontrolscustomermetricsstorage.md | 7 + .../createoutputpqcontrolsgooglebigquery.md | 7 + ...utputpqcontrolsgooglecloudobservability.md | 7 + ...eoutputprotocolgooglecloudobservability.md | 18 + docs/models/createoutputrequest.md | 30 + ...packauthenticationmethodalibabaclouds3.md} | 8 +- ...ystembypackauthenticationtypeprometheus.md | 25 + ...tputsystembypackawsauthenticationmethod.md | 20 - ... createoutputsystembypackcolumnmapping.md} | 2 +- ...tputsystembypackcolumnmappingclickhouse.md | 10 - ...utputsystembypackendpointdynatracehttp.md} | 6 +- ...mbypackendpointgooglecloudobservability.md | 20 + .../createoutputsystembypackfieldname.md | 2 + ...reateoutputsystembypackformatclickhouse.md | 21 - ...createoutputsystembypackformatcribllake.md | 11 +- ...oogleauthenticationmethodgooglebigquery.md | 21 + ...nticationmethodgooglecloudobservability.md | 21 + ...=> createoutputsystembypackmappingtype.md} | 6 +- ...outputsystembypackmappingtypeclickhouse.md | 21 - .../createoutputsystembypackmetadatum.md | 2 +- ...packotlpversiongooglecloudobservability.md | 18 + ...utsystembypackotlpversionopentelemetry.md} | 6 +- ...eoutputsystembypackoutputalibabaclouds3.md | 12 +- ...reateoutputsystembypackoutputalphasocs3.md | 4 +- ...stembypackoutputamazonmanagedprometheus.md | 61 + ...createoutputsystembypackoutputazureblob.md | 4 +- ...tputsystembypackoutputazuredataexplorer.md | 6 +- ...teoutputsystembypackoutputazureeventhub.md | 6 +- ...createoutputsystembypackoutputazurelogs.md | 6 +- ...createoutputsystembypackoutputchronicle.md | 6 +- ...reateoutputsystembypackoutputclickhouse.md | 13 +- ...ateoutputsystembypackoutputcloudflarer2.md | 6 +- ...reateoutputsystembypackoutputcloudians3.md | 4 +- ...reateoutputsystembypackoutputcloudwatch.md | 6 +- ...eoutputsystembypackoutputconfluentcloud.md | 6 +- ...createoutputsystembypackoutputcriblhttp.md | 6 +- ...createoutputsystembypackoutputcribllake.md | 54 +- ...tputsystembypackoutputcriblsearchengine.md | 6 +- .../createoutputsystembypackoutputcribltcp.md | 6 +- ...ystembypackoutputcrowdstrikenextgensiem.md | 6 +- ...ystembypackoutputcustomermetricsstorage.md | 65 + ...reateoutputsystembypackoutputdatabricks.md | 4 +- .../createoutputsystembypackoutputdatadog.md | 6 +- .../createoutputsystembypackoutputdataset.md | 6 +- .../createoutputsystembypackoutputdefault.md | 2 +- .../createoutputsystembypackoutputdells3.md | 4 +- .../createoutputsystembypackoutputdevnull.md | 2 +- ...createoutputsystembypackoutputdiskspool.md | 4 +- .../createoutputsystembypackoutputdls3.md | 4 +- ...teoutputsystembypackoutputdynatracehttp.md | 8 +- ...teoutputsystembypackoutputdynatraceotlp.md | 6 +- .../createoutputsystembypackoutputelastic.md | 6 +- ...ateoutputsystembypackoutputelasticcloud.md | 6 +- .../createoutputsystembypackoutputexabeam.md | 4 +- ...reateoutputsystembypackoutputfilesystem.md | 4 +- ...eoutputsystembypackoutputgooglebigquery.md | 42 + ...outputsystembypackoutputgooglechronicle.md | 6 +- ...putsystembypackoutputgooglecloudlogging.md | 6 +- ...tembypackoutputgooglecloudobservability.md | 47 + ...putsystembypackoutputgooglecloudstorage.md | 4 +- ...ateoutputsystembypackoutputgooglepubsub.md | 6 +- ...embypackoutputgrafanacloudgrafanacloud1.md | 8 +- ...embypackoutputgrafanacloudgrafanacloud2.md | 8 +- .../createoutputsystembypackoutputgraphite.md | 6 +- ...createoutputsystembypackoutputhoneycomb.md | 6 +- .../createoutputsystembypackoutputhumiohec.md | 6 +- ...reateoutputsystembypackoutputibmclouds3.md | 71 + .../createoutputsystembypackoutputinfluxdb.md | 6 +- .../createoutputsystembypackoutputkafka.md | 6 +- .../createoutputsystembypackoutputkinesis.md | 6 +- ...putsystembypackoutputlocalsearchstorage.md | 11 +- .../createoutputsystembypackoutputloki.md | 8 +- ...outputsystembypackoutputmicrosoftfabric.md | 6 +- .../createoutputsystembypackoutputminio.md | 4 +- .../createoutputsystembypackoutputmsk.md | 6 +- .../createoutputsystembypackoutputnetflow.md | 4 +- .../createoutputsystembypackoutputnewrelic.md | 6 +- ...eoutputsystembypackoutputnewrelicevents.md | 6 +- ...eoutputsystembypackoutputnutanixobjects.md | 4 +- ...teoutputsystembypackoutputopentelemetry.md | 8 +- ...reateoutputsystembypackoutputprometheus.md | 22 +- .../createoutputsystembypackoutputring.md | 4 +- .../createoutputsystembypackoutputrouter.md | 4 +- .../createoutputsystembypackoutputs3.md | 4 +- ...createoutputsystembypackoutputscalitys3.md | 4 +- ...ateoutputsystembypackoutputsecuritylake.md | 4 +- .../createoutputsystembypackoutputsentinel.md | 11 +- ...tputsystembypackoutputsentineloneaisiem.md | 10 +- ...reateoutputsystembypackoutputservicenow.md | 6 +- .../createoutputsystembypackoutputsignalfx.md | 6 +- .../createoutputsystembypackoutputsnmp.md | 26 +- .../createoutputsystembypackoutputsns.md | 6 +- .../createoutputsystembypackoutputsplunk.md | 6 +- ...createoutputsystembypackoutputsplunkhec.md | 10 +- .../createoutputsystembypackoutputsplunklb.md | 6 +- .../createoutputsystembypackoutputsqs.md | 6 +- .../createoutputsystembypackoutputstatsd.md | 6 +- ...createoutputsystembypackoutputstatsdext.md | 6 +- .../createoutputsystembypackoutputstorjs3.md | 4 +- ...createoutputsystembypackoutputsumologic.md | 6 +- .../createoutputsystembypackoutputsyslog.md | 6 +- .../createoutputsystembypackoutputtcpjson.md | 6 +- ...createoutputsystembypackoutputwavefront.md | 6 +- ...outputsystembypackoutputwebhookwebhook1.md | 11 +- ...outputsystembypackoutputwebhookwebhook2.md | 11 +- .../createoutputsystembypackoutputwizhec.md | 18 +- .../createoutputsystembypackoutputxsiam.md | 6 +- ...bypackpqcontrolsamazonmanagedprometheus.md | 7 + ...mbypackpqcontrolscustomermetricsstorage.md | 7 + ...putsystembypackpqcontrolsgooglebigquery.md | 7 + ...ypackpqcontrolsgooglecloudobservability.md | 7 + ...mbypackprotocolgooglecloudobservability.md | 18 + .../createoutputsystembypackrequestbody.md | 30 + ...systembypacktypeamazonmanagedprometheus.md | 16 + ...tsystembypacktypecustomermetricsstorage.md | 16 + ...ateoutputsystembypacktypegooglebigquery.md | 16 + ...ystembypacktypegooglecloudobservability.md | 16 + .../createoutputsystembypacktypeibmclouds3.md | 16 + ...createoutputtypeamazonmanagedprometheus.md | 16 + .../createoutputtypecustomermetricsstorage.md | 16 + docs/models/createoutputtypegooglebigquery.md | 16 + ...reateoutputtypegooglecloudobservability.md | 16 + docs/models/createoutputtypeibmclouds3.md | 16 + ...> createproductsgroupsbyproductrequest.md} | 2 +- docs/models/cribllakedataset.md | 4 +- docs/models/cribllakedatasetupdate.md | 6 +- docs/models/currentbranchresult.md | 6 +- .../customlogotypesystemsettingsconf.md | 12 +- docs/models/databaseconnectionauthtype.md | 21 + docs/models/databaseconnectionconfig.md | 31 +- ... => databaseconnectionresponseenvelope.md} | 10 +- docs/models/datasetmetadata.md | 2 +- docs/models/deletepacksbyidrequest.md | 6 +- ...eteproductsgroupsbyproductandidrequest.md} | 2 +- docs/models/destinationtype.md | 165 +- docs/models/difffiles.md | 50 +- docs/models/difflinecontext.md | 14 +- docs/models/difflinecontexttype.md | 2 + docs/models/difflinedelete.md | 12 +- docs/models/difflinedeletetype.md | 2 + docs/models/difflineinsert.md | 12 +- docs/models/difflineinserttype.md | 2 + docs/models/distinctconfiguration.md | 2 + docs/models/distributedsummary.md | 8 +- docs/models/distributedsummarygroups.md | 2 + docs/models/emailrecipient1.md | 2 + docs/models/emailrecipient2.md | 2 + docs/models/emailrecipient3.md | 2 + docs/models/emptyobject.md | 2 + .../eventbreakerexistingornewexisting.md | 4 +- ...eakerexistingornewexistingexistingornew.md | 2 + ...eventbreakerexistingornewnewruletypecsv.md | 4 +- ...xistingornewnewruletypecsvexistingornew.md | 2 + ...ntbreakerexistingornewnewruletypeheader.md | 4 +- ...tingornewnewruletypeheaderexistingornew.md | 2 + ...ventbreakerexistingornewnewruletypejson.md | 4 +- ...reakerexistingornewnewruletypejsonarray.md | 4 +- ...gornewnewruletypejsonarrayexistingornew.md | 2 + ...istingornewnewruletypejsonexistingornew.md | 2 + ...entbreakerexistingornewnewruletyperegex.md | 4 +- ...stingornewnewruletyperegexexistingornew.md | 2 + docs/models/eventstatsconfiguration.md | 2 + ...atureflagoverrideconfsystemsettingsconf.md | 8 +- docs/models/file.md | 10 +- ...utclickhouseformat.md => formatoptions.md} | 6 +- docs/models/fullruleset.md | 9 + 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 + .../models/functionconfschemaautotimestamp.md | 2 +- docs/models/functionconfschemadnslookup.md | 2 +- docs/models/functionconfschemagenstats.md | 6 +- ...ctionconfschemalocalsearchrulesetrunner.md | 12 +- docs/models/functionconfschemaotlplogs.md | 4 +- docs/models/functionconfschemaotlpmetrics.md | 4 +- docs/models/functionconfschemaotlptraces.md | 4 +- docs/models/functionconfschemaregexfilter.md | 2 +- .../functionconfschemasnmptrapserialize.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 + .../getcribllakedatasetbylakeidrequest.md | 5 +- .../getcribllakedatasetbylakeidresponse.md | 8 + ...getcribllakedatasetbylakeidresponsebody.md | 19 + .../getdatabaseconnectionconfigrequest.md | 8 +- .../getdatabaseconnectionconfigresponse.md | 8 + docs/models/getfunctionsrequest.md | 10 + docs/models/getfunctionsresponse.md | 8 + docs/models/getfunctionsresponsebody.md | 19 + docs/models/getinputstatusresponse.md | 6 +- docs/models/getinputstatusresponsebody.md | 19 + ...etinputstatussysteminputsbypackresponse.md | 6 +- ...putstatussysteminputsbypackresponsebody.md | 19 + docs/models/getinputsystembypackrequest.md | 2 + docs/models/getinputsystembypackresponse.md | 8 + .../getinputsystembypackresponsebody.md | 19 + docs/models/getoutputstatusresponse.md | 6 +- docs/models/getoutputstatusresponsebody.md | 19 + ...outputstatussystemoutputsbypackresponse.md | 6 +- ...utstatussystemoutputsbypackresponsebody.md | 19 + docs/models/getoutputsystembypackrequest.md | 2 + docs/models/getoutputsystembypackresponse.md | 8 + .../getoutputsystembypackresponsebody.md | 19 + docs/models/getpacksbyidrequest.md | 6 +- docs/models/getpacksrequest.md | 8 +- docs/models/getpacksresponse.md | 8 + docs/models/getpacksresponsebody.md | 19 + docs/models/getpipelinesbypackrequest.md | 8 +- docs/models/getpipelinesbypackresponse.md | 8 + docs/models/getpipelinesbypackresponsebody.md | 19 + docs/models/getpipelinesrequest.md | 9 + docs/models/getpipelinesresponse.md | 8 + docs/models/getpipelinesresponsebody.md | 19 + ...productsgroupsaclbyproductandidrequest.md} | 2 +- ...ctsgroupsaclteamsbyproductandidrequest.md} | 2 +- ...getproductsgroupsbyproductandidrequest.md} | 2 +- ...d => getproductsgroupsbyproductrequest.md} | 6 +- .../getproductsgroupsbyproductresponse.md | 8 + .../getproductsgroupsbyproductresponsebody.md | 19 + ...oupsconfigversionbyproductandidrequest.md} | 2 +- .../getproductssummarybyproductrequest.md | 4 +- .../getproductssummarybyproductresponse.md | 8 + ...getproductssummarybyproductresponsebody.md | 19 + ...tproductssummaryworkersbyproductrequest.md | 8 +- .../getproductsworkersbyproductrequest.md | 18 +- .../getproductsworkersbyproductresponse.md | 6 +- ...getproductsworkersbyproductresponsebody.md | 19 + docs/models/getsavedjobrequest.md | 4 +- docs/models/getsavedjobresponse.md | 8 + docs/models/getsavedjobresponsebody.md | 19 + docs/models/getversionrequest.md | 4 +- docs/models/getversionresponse.md | 8 + docs/models/getversionresponsebody.md | 19 + docs/models/gitcommitbody.md | 10 +- docs/models/gitcommitsummary.md | 14 +- docs/models/gitcommitsummaryfiles.md | 13 + docs/models/gitcountresult.md | 6 +- docs/models/{diffline.md => gitdifflines.md} | 2 +- docs/models/gitfile.md | 11 +- docs/models/gitfilesresponse.md | 10 +- docs/models/gitinfo.md | 8 +- docs/models/gitlogresult.md | 18 +- docs/models/gitrevertparams.md | 10 +- docs/models/gitrevertresult.md | 8 +- ...mmitsummary.md => gitrevertresultfiles.md} | 4 +- docs/models/gitshowresult.md | 2 +- docs/models/gitstatusresult.md | 26 +- docs/models/groupcreaterequest.md | 39 +- docs/models/hbcriblinfo.md | 1 + .../models/{healthstringtype.md => health.md} | 12 +- docs/models/healthcheckauthenticationbasic.md | 5 + .../healthcheckauthenticationbasicsecret.md | 5 + docs/models/healthcheckauthenticationlogin.md | 5 + .../healthcheckauthenticationloginsecret.md | 5 + docs/models/healthcheckauthenticationnone.md | 5 + docs/models/healthcheckauthenticationoauth.md | 5 + .../healthcheckauthenticationoauthsecret.md | 5 + docs/models/healthcheckcollectmethodget.md | 5 + docs/models/healthcheckcollectmethodpost.md | 5 + .../healthcheckcollectmethodpostwithbody.md | 5 + docs/models/healthcounttype.md | 12 +- docs/models/healthoptionsstatus.md | 23 + docs/models/healthoverlaystatus.md | 17 + docs/models/healthserverstatus.md | 1 + docs/models/heartbeatmetadata.md | 2 +- docs/models/hostostypeheartbeatmetadata.md | 12 +- docs/models/input.md | 12 + .../inputanthropiccompliancecontentconfig.md | 6 +- .../inputanthropiccomplianceendpointname.md | 22 + docs/models/inputanthropiccomplianceinput.md | 6 +- docs/models/inputappleunifiedlogsinput.md | 36 +- docs/models/inputappscopeinput.md | 6 +- docs/models/inputazureblobinput.md | 6 +- .../inputcloudflarehecauthenticationmethod.md | 20 - docs/models/inputcloudflarehecinput.md | 14 +- docs/models/inputcloudflarehectype.md | 2 + docs/models/inputcollectioninput.md | 4 +- docs/models/inputconfluentcloudinput.md | 6 +- docs/models/inputcriblhttpinput.md | 8 +- docs/models/inputcriblhttptype.md | 2 + docs/models/inputcriblinput.md | 6 +- docs/models/inputcribllakehttpinput.md | 8 +- docs/models/inputcribllakehttptype.md | 2 + docs/models/inputcriblmetricsinput.md | 6 +- docs/models/inputcribltcpinput.md | 6 +- docs/models/inputcrowdstrikeinput.md | 19 +- docs/models/inputdatadogagentinput.md | 70 +- docs/models/inputdatadogagentproxymode.md | 8 +- docs/models/inputdatadogagentsamplingrule.md | 10 + docs/models/inputdatadogagenttype.md | 2 + docs/models/inputdatageninput.md | 6 +- .../inputedgeprometheusdiscoverytype.md | 3 +- docs/models/inputedgeprometheusinput.md | 10 +- docs/models/inputelasticinput.md | 8 +- docs/models/inputelastictype.md | 2 + docs/models/inputeventhubamqpauth.md | 2 +- docs/models/inputeventhubamqpcertificate.md | 11 + docs/models/inputeventhubamqpinput.md | 6 +- docs/models/inputeventhubinput.md | 6 +- docs/models/inputexecinput.md | 4 +- docs/models/inputfileinput.md | 6 +- docs/models/inputfirehoseinput.md | 8 +- docs/models/inputfirehosetype.md | 2 + docs/models/inputgooglepubsubinput.md | 6 +- docs/models/inputgrafanagrafanainput1.md | 8 +- docs/models/inputgrafanagrafanainput2.md | 8 +- docs/models/inputgrafanatype1.md | 2 + docs/models/inputgrafanatype2.md | 2 + docs/models/inputhttpinput.md | 8 +- docs/models/inputhttprawinput.md | 8 +- docs/models/inputhttprawtype.md | 2 + docs/models/inputhttptype.md | 2 + docs/models/inputjournalfilesinput.md | 6 +- docs/models/inputkafkainput.md | 6 +- docs/models/inputkinesisinput.md | 6 +- docs/models/inputkubeeventsinput.md | 6 +- docs/models/inputkubelogsinput.md | 8 +- docs/models/inputkubemetricsinput.md | 6 +- docs/models/inputlokiinput.md | 8 +- docs/models/inputlokitype.md | 2 + docs/models/inputmetricsinput.md | 6 +- docs/models/inputmicrosoftgraphinput.md | 6 +- docs/models/inputmodeldriventelemetryinput.md | 6 +- docs/models/inputmskinput.md | 6 +- docs/models/inputnetflowinput.md | 6 +- docs/models/inputoffice365mgmtinput.md | 6 +- docs/models/inputoffice365msgtraceinput.md | 6 +- docs/models/inputoffice365serviceinput.md | 6 +- docs/models/inputoktainput.md | 6 +- docs/models/inputopenaicompliancelogsinput.md | 6 +- docs/models/inputopenaicontentconfig.md | 40 +- docs/models/inputopenaiinput.md | 6 +- docs/models/inputopentelemetryinput.md | 8 +- docs/models/inputopentelemetrytype.md | 2 + docs/models/inputprometheusdiscoverytype.md | 11 +- docs/models/inputprometheusinput.md | 10 +- docs/models/inputprometheusrwinput.md | 8 +- docs/models/inputprometheusrwtype.md | 2 + docs/models/inputrawudpinput.md | 6 +- docs/models/inputresponse.md | 12 + docs/models/inputresponseauth.md | 2 +- .../inputresponseauthtokencloudflarehec.md | 14 - .../models/inputresponseauthtokensplunkhec.md | 2 +- docs/models/inputresponsecertificate.md | 11 + ...esponsecontentconfiganthropiccompliance.md | 6 +- .../inputresponsecontentconfigopenai.md | 48 +- ...nputresponsediscoverytypeedgeprometheus.md | 3 +- .../inputresponsediscoverytypeprometheus.md | 11 +- docs/models/inputresponseendpointname.md | 22 + .../inputresponseinputanthropiccompliance.md | 6 +- .../inputresponseinputappleunifiedlogs.md | 42 +- docs/models/inputresponseinputappscope.md | 6 +- docs/models/inputresponseinputazureblob.md | 6 +- .../models/inputresponseinputcloudflarehec.md | 14 +- docs/models/inputresponseinputcollection.md | 4 +- .../inputresponseinputconfluentcloud.md | 6 +- docs/models/inputresponseinputcribl.md | 6 +- docs/models/inputresponseinputcriblhttp.md | 8 +- .../models/inputresponseinputcribllakehttp.md | 8 +- docs/models/inputresponseinputcriblmetrics.md | 6 +- docs/models/inputresponseinputcribltcp.md | 6 +- docs/models/inputresponseinputcrowdstrike.md | 17 +- docs/models/inputresponseinputdatadogagent.md | 76 +- docs/models/inputresponseinputdatagen.md | 6 +- .../inputresponseinputedgeprometheus.md | 10 +- docs/models/inputresponseinputelastic.md | 8 +- docs/models/inputresponseinputeventhub.md | 6 +- docs/models/inputresponseinputeventhubamqp.md | 6 +- docs/models/inputresponseinputexec.md | 4 +- docs/models/inputresponseinputfile.md | 6 +- docs/models/inputresponseinputfirehose.md | 8 +- docs/models/inputresponseinputgooglepubsub.md | 6 +- .../inputresponseinputgrafanagrafana1.md | 8 +- .../inputresponseinputgrafanagrafana2.md | 8 +- docs/models/inputresponseinputgrafanatype1.md | 2 + docs/models/inputresponseinputgrafanatype2.md | 2 + docs/models/inputresponseinputhttp.md | 8 +- docs/models/inputresponseinputhttpraw.md | 8 +- docs/models/inputresponseinputjournalfiles.md | 6 +- docs/models/inputresponseinputkafka.md | 6 +- docs/models/inputresponseinputkinesis.md | 6 +- docs/models/inputresponseinputkubeevents.md | 6 +- docs/models/inputresponseinputkubelogs.md | 8 +- docs/models/inputresponseinputkubemetrics.md | 6 +- docs/models/inputresponseinputloki.md | 8 +- docs/models/inputresponseinputmetrics.md | 6 +- .../inputresponseinputmicrosoftgraph.md | 6 +- .../inputresponseinputmodeldriventelemetry.md | 6 +- docs/models/inputresponseinputmsk.md | 6 +- docs/models/inputresponseinputnetflow.md | 6 +- .../models/inputresponseinputoffice365mgmt.md | 6 +- .../inputresponseinputoffice365msgtrace.md | 6 +- .../inputresponseinputoffice365service.md | 6 +- docs/models/inputresponseinputokta.md | 6 +- docs/models/inputresponseinputopenai.md | 6 +- .../inputresponseinputopenaicompliancelogs.md | 6 +- .../models/inputresponseinputopentelemetry.md | 8 +- docs/models/inputresponseinputprometheus.md | 10 +- docs/models/inputresponseinputprometheusrw.md | 8 +- docs/models/inputresponseinputrawudp.md | 6 +- docs/models/inputresponseinputs3.md | 17 +- docs/models/inputresponseinputs3inventory.md | 17 +- docs/models/inputresponseinputsecuritylake.md | 17 +- .../inputresponseinputservicenowtable.md | 6 +- docs/models/inputresponseinputsnmp.md | 6 +- docs/models/inputresponseinputsplunk.md | 6 +- docs/models/inputresponseinputsplunkhec.md | 8 +- docs/models/inputresponseinputsplunksearch.md | 6 +- docs/models/inputresponseinputsqs.md | 6 +- docs/models/inputresponseinputsysdighec.md | 49 + .../models/inputresponseinputsyslogsyslog1.md | 6 +- .../models/inputresponseinputsyslogsyslog2.md | 6 +- .../models/inputresponseinputsystemmetrics.md | 6 +- docs/models/inputresponseinputsystemstate.md | 6 +- docs/models/inputresponseinputtcp.md | 6 +- docs/models/inputresponseinputtcpjson.md | 6 +- docs/models/inputresponseinputupwindhec.md | 49 + docs/models/inputresponseinputwef.md | 6 +- .../inputresponseinputwindowsmetrics.md | 6 +- docs/models/inputresponseinputwineventlogs.md | 8 +- docs/models/inputresponseinputwiz.md | 6 +- docs/models/inputresponseinputwizwebhook.md | 8 +- docs/models/inputresponseinputzscalerhec.md | 17 +- .../inputresponseproxymodedatadogagent.md | 8 +- docs/models/inputresponsesamplingrule.md | 10 + 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 | 18 + docs/models/inputresponsetypeupwindhec.md | 18 + docs/models/inputresponsetypewizwebhook.md | 2 + docs/models/inputresponsetypezscalerhec.md | 2 + docs/models/inputs3input.md | 19 +- docs/models/inputs3inventoryinput.md | 19 +- docs/models/inputsecuritylakeinput.md | 19 +- docs/models/inputservicenowtableinput.md | 6 +- docs/models/inputsnmpinput.md | 6 +- docs/models/inputsplunkhec.md | 8 +- docs/models/inputsplunkhecauthtoken.md | 2 +- docs/models/inputsplunkhecinput.md | 8 +- docs/models/inputsplunkhectype.md | 2 + docs/models/inputsplunkinput.md | 6 +- docs/models/inputsplunksearchinput.md | 6 +- docs/models/inputsqsinput.md | 6 +- docs/models/inputsysdighecinput.md | 46 + docs/models/inputsysdighectype.md | 18 + docs/models/inputsyslogsysloginput1.md | 6 +- docs/models/inputsyslogsysloginput2.md | 6 +- docs/models/inputsystemmetricsinput.md | 6 +- docs/models/inputsystemstateinput.md | 6 +- docs/models/inputtcpinput.md | 6 +- docs/models/inputtcpjsoninput.md | 6 +- docs/models/inputupwindhecinput.md | 46 + docs/models/inputupwindhectype.md | 18 + docs/models/inputwefinput.md | 6 +- docs/models/inputwindowsmetricsinput.md | 6 +- docs/models/inputwineventlogsinput.md | 8 +- docs/models/inputwizinput.md | 6 +- docs/models/inputwizwebhookinput.md | 8 +- docs/models/inputwizwebhooktype.md | 2 + docs/models/inputzscalerhecinput.md | 19 +- docs/models/inputzscalerhectype.md | 2 + docs/models/jobinfo.md | 15 +- docs/models/joinconfiguration.md | 2 + docs/models/kubetypeheartbeatmetadata.md | 16 +- docs/models/lakedatasetmetrics.md | 8 +- docs/models/lakedatasetsearchconfig.md | 2 +- docs/models/lakeexportconfiguration.md | 2 + docs/models/listinputrequest.md | 4 +- docs/models/listinputresponse.md | 8 + docs/models/listinputresponsebody.md | 19 + docs/models/listoutputrequest.md | 4 +- docs/models/listoutputresponse.md | 8 + docs/models/listoutputresponsebody.md | 19 + docs/models/loglevelforfailedlookups.md | 2 + ...semappingtype.md => mappingtypeoptions.md} | 6 +- docs/models/masterworkerentry.md | 37 +- docs/models/masterworkerentrytype.md | 2 + docs/models/masterworkerentryworkers.md | 8 - docs/models/masterworkerprocesses.md | 8 + ...i.md => metadataconfaddhectokenrequest.md} | 2 +- docs/models/metadataconfinputcollection.md | 2 +- docs/models/noactivehealthoverlaystatus.md | 8 + docs/models/nodeosinfo.md | 8 + docs/models/nodeprovidedinfo.md | 52 +- docs/models/nodeupgradestatus.md | 2 +- .../notificationconfigforsmtptarget1.md | 4 +- .../notificationconfigforsmtptarget2.md | 4 +- .../notificationconfigforsmtptarget3.md | 4 +- docs/models/notifyconfiguration.md | 2 + docs/models/numerifyformatfix.md | 2 +- docs/models/numerifyformatfixformat.md | 2 + docs/models/numerifyformatnone.md | 2 +- docs/models/numerifyformatnoneformat.md | 2 + docs/models/objectstoragefilter.md | 11 +- docs/models/{scalarorarray.md => oldmode.md} | 4 +- docs/models/os.md | 19 +- docs/models/ostypeheartbeatmetadata.md | 11 + docs/models/osunion.md | 17 - docs/models/outpostnodeinfo.md | 10 +- docs/models/output.md | 30 + docs/models/outputalibabaclouds3.md | 12 +- ...utputalibabaclouds3authenticationmethod.md | 21 + docs/models/outputalphasocs3.md | 4 +- docs/models/outputamazonmanagedprometheus.md | 61 + ...outputamazonmanagedprometheuspqcontrols.md | 7 + .../outputamazonmanagedprometheustype.md | 16 + docs/models/outputazureblob.md | 4 +- docs/models/outputazuredataexplorer.md | 6 +- docs/models/outputazureeventhub.md | 6 +- docs/models/outputazurelogs.md | 6 +- docs/models/outputchronicle.md | 6 +- docs/models/outputclickhouse.md | 13 +- docs/models/outputcloudflarer2.md | 6 +- docs/models/outputcloudians3.md | 4 +- docs/models/outputcloudwatch.md | 6 +- docs/models/outputconfluentcloud.md | 6 +- docs/models/outputcriblhttp.md | 6 +- docs/models/outputcribllake.md | 54 +- .../outputcribllakeawsauthenticationmethod.md | 20 - docs/models/outputcribllakeformat.md | 11 +- docs/models/outputcriblsearchengine.md | 6 +- docs/models/outputcribltcp.md | 6 +- docs/models/outputcrowdstrikenextgensiem.md | 6 +- docs/models/outputcustomermetricsstorage.md | 65 + .../outputcustomermetricsstoragepqcontrols.md | 7 + .../outputcustomermetricsstoragetype.md | 16 + docs/models/outputdatabricks.md | 4 +- docs/models/outputdatadog.md | 6 +- docs/models/outputdataset.md | 6 +- docs/models/outputdefault.md | 2 +- docs/models/outputdells3.md | 4 +- docs/models/outputdevnull.md | 2 +- docs/models/outputdiskspool.md | 4 +- docs/models/outputdls3.md | 4 +- docs/models/outputdynatracehttp.md | 6 +- docs/models/outputdynatraceotlp.md | 6 +- docs/models/outputelastic.md | 6 +- docs/models/outputelasticcloud.md | 6 +- docs/models/outputexabeam.md | 4 +- docs/models/outputfilesystem.md | 4 +- docs/models/outputgooglebigquery.md | 42 + ...ooglebigquerygoogleauthenticationmethod.md | 21 + docs/models/outputgooglebigquerypqcontrols.md | 7 + docs/models/outputgooglebigquerytype.md | 16 + docs/models/outputgooglechronicle.md | 6 +- docs/models/outputgooglecloudlogging.md | 6 +- docs/models/outputgooglecloudobservability.md | 47 + .../outputgooglecloudobservabilityendpoint.md | 20 + ...observabilitygoogleauthenticationmethod.md | 21 + ...tputgooglecloudobservabilityotlpversion.md | 18 + ...utputgooglecloudobservabilitypqcontrols.md | 7 + .../outputgooglecloudobservabilityprotocol.md | 18 + .../outputgooglecloudobservabilitytype.md | 16 + docs/models/outputgooglecloudstorage.md | 4 +- docs/models/outputgooglepubsub.md | 6 +- .../models/outputgrafanacloudgrafanacloud1.md | 8 +- .../models/outputgrafanacloudgrafanacloud2.md | 8 +- docs/models/outputgraphite.md | 6 +- docs/models/outputhoneycomb.md | 6 +- docs/models/outputhumiohec.md | 6 +- docs/models/outputibmclouds3.md | 71 + docs/models/outputibmclouds3type.md | 16 + docs/models/outputinfluxdb.md | 6 +- docs/models/outputkafka.md | 6 +- docs/models/outputkinesis.md | 6 +- docs/models/outputlocalsearchstorage.md | 7 +- docs/models/outputloki.md | 8 +- docs/models/outputmicrosoftfabric.md | 6 +- docs/models/outputminio.md | 4 +- docs/models/outputmsk.md | 6 +- docs/models/outputnetflow.md | 4 +- docs/models/outputnewrelic.md | 6 +- docs/models/outputnewrelicevents.md | 6 +- docs/models/outputnewrelicfieldname.md | 2 + docs/models/outputnewrelicmetadatum.md | 2 +- docs/models/outputnutanixobjects.md | 4 +- docs/models/outputopentelemetry.md | 6 +- docs/models/outputprometheus.md | 22 +- .../outputprometheusauthenticationtype.md | 25 + docs/models/outputresponse.md | 30 + ...onseauthenticationmethodalibabaclouds3.md} | 8 +- ...putresponseauthenticationtypeprometheus.md | 25 + .../outputresponseawsauthenticationmethod.md | 20 - ...rage.md => outputresponsecolumnmapping.md} | 2 +- .../outputresponsecolumnmappingclickhouse.md | 10 - ...=> outputresponseendpointdynatracehttp.md} | 6 +- ...esponseendpointgooglecloudobservability.md | 20 + docs/models/outputresponsefieldname.md | 2 + docs/models/outputresponseformatclickhouse.md | 21 - docs/models/outputresponseformatcribllake.md | 11 +- ...oogleauthenticationmethodgooglebigquery.md | 21 + ...nticationmethodgooglecloudobservability.md | 21 + ...torage.md => outputresponsemappingtype.md} | 6 +- .../outputresponsemappingtypeclickhouse.md | 21 - docs/models/outputresponsemetadatum.md | 2 +- ...onseotlpversiongooglecloudobservability.md | 18 + ...outputresponseotlpversionopentelemetry.md} | 6 +- .../outputresponseoutputalibabaclouds3.md | 12 +- docs/models/outputresponseoutputalphasocs3.md | 4 +- ...utresponseoutputamazonmanagedprometheus.md | 63 + docs/models/outputresponseoutputazureblob.md | 4 +- .../outputresponseoutputazuredataexplorer.md | 6 +- .../outputresponseoutputazureeventhub.md | 6 +- docs/models/outputresponseoutputazurelogs.md | 6 +- docs/models/outputresponseoutputchronicle.md | 6 +- docs/models/outputresponseoutputclickhouse.md | 13 +- .../outputresponseoutputcloudflarer2.md | 6 +- docs/models/outputresponseoutputcloudians3.md | 4 +- docs/models/outputresponseoutputcloudwatch.md | 6 +- .../outputresponseoutputconfluentcloud.md | 6 +- docs/models/outputresponseoutputcriblhttp.md | 6 +- docs/models/outputresponseoutputcribllake.md | 54 +- .../outputresponseoutputcriblsearchengine.md | 6 +- docs/models/outputresponseoutputcribltcp.md | 6 +- ...putresponseoutputcrowdstrikenextgensiem.md | 6 +- ...putresponseoutputcustomermetricsstorage.md | 67 + docs/models/outputresponseoutputdatabricks.md | 4 +- docs/models/outputresponseoutputdatadog.md | 6 +- docs/models/outputresponseoutputdataset.md | 6 +- docs/models/outputresponseoutputdefault.md | 2 +- docs/models/outputresponseoutputdells3.md | 4 +- docs/models/outputresponseoutputdevnull.md | 2 +- docs/models/outputresponseoutputdiskspool.md | 4 +- docs/models/outputresponseoutputdls3.md | 4 +- .../outputresponseoutputdynatracehttp.md | 8 +- .../outputresponseoutputdynatraceotlp.md | 6 +- docs/models/outputresponseoutputelastic.md | 6 +- .../outputresponseoutputelasticcloud.md | 6 +- docs/models/outputresponseoutputexabeam.md | 4 +- docs/models/outputresponseoutputfilesystem.md | 4 +- .../outputresponseoutputgooglebigquery.md | 44 + .../outputresponseoutputgooglechronicle.md | 6 +- .../outputresponseoutputgooglecloudlogging.md | 6 +- ...tresponseoutputgooglecloudobservability.md | 49 + .../outputresponseoutputgooglecloudstorage.md | 4 +- .../outputresponseoutputgooglepubsub.md | 6 +- ...responseoutputgrafanacloudgrafanacloud1.md | 8 +- ...responseoutputgrafanacloudgrafanacloud2.md | 8 +- docs/models/outputresponseoutputgraphite.md | 6 +- docs/models/outputresponseoutputhoneycomb.md | 6 +- docs/models/outputresponseoutputhumiohec.md | 6 +- docs/models/outputresponseoutputibmclouds3.md | 73 + docs/models/outputresponseoutputinfluxdb.md | 6 +- docs/models/outputresponseoutputkafka.md | 6 +- docs/models/outputresponseoutputkinesis.md | 6 +- .../outputresponseoutputlocalsearchstorage.md | 11 +- docs/models/outputresponseoutputloki.md | 8 +- .../outputresponseoutputmicrosoftfabric.md | 6 +- docs/models/outputresponseoutputminio.md | 4 +- docs/models/outputresponseoutputmsk.md | 6 +- docs/models/outputresponseoutputnetflow.md | 4 +- docs/models/outputresponseoutputnewrelic.md | 6 +- .../outputresponseoutputnewrelicevents.md | 6 +- .../outputresponseoutputnutanixobjects.md | 4 +- .../outputresponseoutputopentelemetry.md | 8 +- docs/models/outputresponseoutputprometheus.md | 20 +- docs/models/outputresponseoutputring.md | 4 +- docs/models/outputresponseoutputrouter.md | 4 +- docs/models/outputresponseoutputs3.md | 4 +- docs/models/outputresponseoutputscalitys3.md | 4 +- .../outputresponseoutputsecuritylake.md | 4 +- docs/models/outputresponseoutputsentinel.md | 11 +- .../outputresponseoutputsentineloneaisiem.md | 10 +- docs/models/outputresponseoutputservicenow.md | 6 +- docs/models/outputresponseoutputsignalfx.md | 6 +- docs/models/outputresponseoutputsnmp.md | 30 +- docs/models/outputresponseoutputsns.md | 6 +- docs/models/outputresponseoutputsplunk.md | 6 +- docs/models/outputresponseoutputsplunkhec.md | 10 +- docs/models/outputresponseoutputsplunklb.md | 6 +- docs/models/outputresponseoutputsqs.md | 6 +- docs/models/outputresponseoutputstatsd.md | 6 +- docs/models/outputresponseoutputstatsdext.md | 6 +- docs/models/outputresponseoutputstorjs3.md | 4 +- docs/models/outputresponseoutputsumologic.md | 6 +- docs/models/outputresponseoutputsyslog.md | 6 +- docs/models/outputresponseoutputtcpjson.md | 6 +- docs/models/outputresponseoutputwavefront.md | 6 +- .../outputresponseoutputwebhookwebhook1.md | 11 +- .../outputresponseoutputwebhookwebhook2.md | 11 +- docs/models/outputresponseoutputwizhec.md | 16 +- docs/models/outputresponseoutputxsiam.md | 6 +- ...sponsepqcontrolsamazonmanagedprometheus.md | 7 + ...esponsepqcontrolscustomermetricsstorage.md | 7 + .../outputresponsepqcontrolsgooglebigquery.md | 7 + ...ponsepqcontrolsgooglecloudobservability.md | 7 + ...esponseprotocolgooglecloudobservability.md | 18 + ...tputresponsetypeamazonmanagedprometheus.md | 16 + ...utputresponsetypecustomermetricsstorage.md | 16 + .../outputresponsetypegooglebigquery.md | 16 + ...putresponsetypegooglecloudobservability.md | 16 + docs/models/outputresponsetypeibmclouds3.md | 16 + docs/models/outputring.md | 4 +- docs/models/outputrouter.md | 4 +- docs/models/outputs3.md | 4 +- docs/models/outputscalitys3.md | 4 +- docs/models/outputsecuritylake.md | 4 +- docs/models/outputsentinel.md | 11 +- docs/models/outputsentineloneaisiem.md | 10 +- docs/models/outputservicenow.md | 6 +- docs/models/outputsignalfx.md | 6 +- docs/models/outputsnmp.md | 26 +- docs/models/outputsns.md | 6 +- docs/models/outputsplunk.md | 6 +- docs/models/outputsplunkhec.md | 10 +- docs/models/outputsplunklb.md | 6 +- docs/models/outputsqs.md | 6 +- docs/models/outputstatsd.md | 6 +- docs/models/outputstatsdext.md | 6 +- docs/models/outputstorjs3.md | 4 +- docs/models/outputsumologic.md | 6 +- docs/models/outputsyslog.md | 6 +- docs/models/outputtcpjson.md | 6 +- docs/models/outputwavefront.md | 6 +- docs/models/outputwebhookwebhook1.md | 11 +- docs/models/outputwebhookwebhook2.md | 11 +- docs/models/outputwizhec.md | 18 +- docs/models/outputxsiam.md | 6 +- docs/models/ownertypeheartbeatmetadatakube.md | 8 +- 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 +- docs/models/paginatedconfiggroup.md | 12 + docs/models/paginatedcribllakedataset.md | 12 + docs/models/paginateddistributedsummary.md | 12 + docs/models/paginatedfunctionresponse.md | 12 + docs/models/paginatedgitlogresult.md | 12 + docs/models/paginatedinputresponse.md | 12 + docs/models/paginatedinputstatus.md | 12 + docs/models/paginatedmasterworkerentry.md | 12 + docs/models/paginatedoutputresponse.md | 12 + docs/models/paginatedoutputstatus.md | 12 + docs/models/paginatedpackinfo.md | 12 + docs/models/paginatedpipeline.md | 12 + docs/models/paginatedsavedjobresponse.md | 12 + docs/models/piisettings.md | 6 +- docs/models/pipeline.md | 8 +- docs/models/pipelineconf.md | 14 +- .../pipelinefunctionaggregatemetrics.md | 18 +- .../pipelinefunctionaggregatemetricsconf.md | 2 + .../pipelinefunctionaggregatemetricsid.md | 2 +- docs/models/pipelinefunctionaggregation.md | 18 +- .../models/pipelinefunctionaggregationconf.md | 2 + docs/models/pipelinefunctionaggregationid.md | 2 +- docs/models/pipelinefunctionautotimestamp.md | 18 +- .../models/pipelinefunctionautotimestampid.md | 2 +- docs/models/pipelinefunctioncef.md | 18 +- docs/models/pipelinefunctioncefid.md | 2 +- docs/models/pipelinefunctioncefinput.md | 18 +- docs/models/pipelinefunctionchain.md | 18 +- docs/models/pipelinefunctionchainconf.md | 2 + docs/models/pipelinefunctionchainid.md | 2 +- docs/models/pipelinefunctionclone.md | 18 +- docs/models/pipelinefunctioncloneid.md | 2 +- docs/models/pipelinefunctioncode.md | 18 +- docs/models/pipelinefunctioncodeid.md | 2 +- docs/models/pipelinefunctioncomment.md | 18 +- docs/models/pipelinefunctioncommentid.md | 2 +- docs/models/pipelinefunctiondistinct.md | 18 +- docs/models/pipelinefunctiondistinctid.md | 2 +- docs/models/pipelinefunctiondnslookup.md | 18 +- docs/models/pipelinefunctiondnslookupid.md | 2 +- docs/models/pipelinefunctiondrop.md | 18 +- docs/models/pipelinefunctiondropdimensions.md | 18 +- .../pipelinefunctiondropdimensionsconf.md | 2 + .../pipelinefunctiondropdimensionsid.md | 2 +- docs/models/pipelinefunctiondropid.md | 2 +- .../models/pipelinefunctiondynamicsampling.md | 18 +- .../pipelinefunctiondynamicsamplingconf.md | 2 + .../pipelinefunctiondynamicsamplingid.md | 2 +- docs/models/pipelinefunctioneval.md | 18 +- docs/models/pipelinefunctionevalid.md | 2 +- docs/models/pipelinefunctioneventbreaker.md | 18 +- .../pipelinefunctioneventbreakerconf.md | 2 + docs/models/pipelinefunctioneventbreakerid.md | 2 +- docs/models/pipelinefunctioneventstats.md | 18 +- docs/models/pipelinefunctioneventstatsid.md | 2 +- docs/models/pipelinefunctionexternaldata.md | 18 +- docs/models/pipelinefunctionexternaldataid.md | 2 +- docs/models/pipelinefunctionflatten.md | 18 +- docs/models/pipelinefunctionflattenid.md | 2 +- docs/models/pipelinefunctionfoldkeys.md | 18 +- docs/models/pipelinefunctionfoldkeysid.md | 2 +- docs/models/pipelinefunctiongenstats.md | 18 +- docs/models/pipelinefunctiongenstatsid.md | 2 +- docs/models/pipelinefunctiongeoip.md | 18 +- docs/models/pipelinefunctiongeoipconf.md | 4 +- docs/models/pipelinefunctiongeoipid.md | 2 +- docs/models/pipelinefunctiongrok.md | 18 +- docs/models/pipelinefunctiongrokconf.md | 4 +- docs/models/pipelinefunctiongrokid.md | 2 +- docs/models/pipelinefunctionhandlebars.md | 18 +- docs/models/pipelinefunctionhandlebarsconf.md | 2 + docs/models/pipelinefunctionhandlebarsid.md | 2 +- docs/models/pipelinefunctionjoin.md | 18 +- docs/models/pipelinefunctionjoinid.md | 2 +- docs/models/pipelinefunctionjsonunroll.md | 18 +- docs/models/pipelinefunctionjsonunrollconf.md | 2 + docs/models/pipelinefunctionjsonunrollid.md | 2 +- docs/models/pipelinefunctionlakeexport.md | 18 +- docs/models/pipelinefunctionlakeexportid.md | 2 +- docs/models/pipelinefunctionlimit.md | 18 +- docs/models/pipelinefunctionlimitid.md | 2 +- ...pelinefunctionlocalsearchdatatypeparser.md | 18 +- ...linefunctionlocalsearchdatatypeparserid.md | 2 +- ...ipelinefunctionlocalsearchrulesetrunner.md | 18 +- ...elinefunctionlocalsearchrulesetrunnerid.md | 2 +- ...pipelinefunctionlocalsearchschemamapper.md | 18 +- ...pelinefunctionlocalsearchschemamapperid.md | 2 +- ...efunctionlocalsearchtimerangenormalizer.md | 18 +- ...unctionlocalsearchtimerangenormalizerid.md | 2 +- .../pipelinefunctionlocalsearchtransformer.md | 18 +- ...ipelinefunctionlocalsearchtransformerid.md | 2 +- docs/models/pipelinefunctionlookup.md | 18 +- docs/models/pipelinefunctionlookupconf.md | 2 + docs/models/pipelinefunctionlookupid.md | 2 +- docs/models/pipelinefunctionmask.md | 18 +- docs/models/pipelinefunctionmaskconf.md | 4 +- docs/models/pipelinefunctionmaskid.md | 2 +- docs/models/pipelinefunctionmvexpand.md | 18 +- docs/models/pipelinefunctionmvexpandconf.md | 2 + docs/models/pipelinefunctionmvexpandid.md | 2 +- docs/models/pipelinefunctionmvpull.md | 18 +- docs/models/pipelinefunctionmvpullconf.md | 2 + docs/models/pipelinefunctionmvpullid.md | 2 +- .../pipelinefunctionnotificationpolicies.md | 18 +- .../pipelinefunctionnotificationpoliciesid.md | 2 +- docs/models/pipelinefunctionnotifications.md | 18 +- .../pipelinefunctionnotificationsconf.md | 2 + .../models/pipelinefunctionnotificationsid.md | 2 +- docs/models/pipelinefunctionnotify.md | 18 +- docs/models/pipelinefunctionnotifyid.md | 2 +- docs/models/pipelinefunctionnumerify.md | 18 +- docs/models/pipelinefunctionnumerifyid.md | 2 +- docs/models/pipelinefunctionotlplogs.md | 18 +- docs/models/pipelinefunctionotlplogsid.md | 2 +- docs/models/pipelinefunctionotlpmetrics.md | 18 +- docs/models/pipelinefunctionotlpmetricsid.md | 2 +- docs/models/pipelinefunctionotlptraces.md | 18 +- docs/models/pipelinefunctionotlptracesid.md | 2 +- docs/models/pipelinefunctionpack.md | 18 +- docs/models/pipelinefunctionpackconf.md | 2 + docs/models/pipelinefunctionpackid.md | 2 +- docs/models/pipelinefunctionpivot.md | 18 +- docs/models/pipelinefunctionpivotid.md | 2 +- docs/models/pipelinefunctionpublishmetrics.md | 18 +- .../pipelinefunctionpublishmetricsid.md | 2 +- docs/models/pipelinefunctionredis.md | 18 +- docs/models/pipelinefunctionredisconf.md | 2 + docs/models/pipelinefunctionredisid.md | 2 +- docs/models/pipelinefunctionregexextract.md | 18 +- .../pipelinefunctionregexextractconf.md | 4 +- docs/models/pipelinefunctionregexextractid.md | 2 +- docs/models/pipelinefunctionregexfilter.md | 18 +- docs/models/pipelinefunctionregexfilterid.md | 2 +- docs/models/pipelinefunctionrename.md | 18 +- docs/models/pipelinefunctionrenameid.md | 2 +- docs/models/pipelinefunctionrollupmetrics.md | 18 +- .../models/pipelinefunctionrollupmetricsid.md | 2 +- docs/models/pipelinefunctionsampling.md | 18 +- docs/models/pipelinefunctionsamplingid.md | 2 +- .../pipelinefunctionsearchengineexport.md | 18 +- .../pipelinefunctionsearchengineexportid.md | 2 +- docs/models/pipelinefunctionsend.md | 18 +- docs/models/pipelinefunctionsendid.md | 2 +- .../pipelinefunctionsensitivedatascanner.md | 18 +- ...ipelinefunctionsensitivedatascannerconf.md | 6 +- .../pipelinefunctionsensitivedatascannerid.md | 2 +- docs/models/pipelinefunctionserde.md | 18 +- docs/models/pipelinefunctionserdeconf.md | 8 + docs/models/pipelinefunctionserdeid.md | 2 +- docs/models/pipelinefunctionserialize.md | 18 +- docs/models/pipelinefunctionserializeconf.md | 2 + docs/models/pipelinefunctionserializeid.md | 2 +- docs/models/pipelinefunctionsidlookup.md | 18 +- docs/models/pipelinefunctionsidlookupid.md | 2 +- docs/models/pipelinefunctionsignalfilter.md | 18 +- docs/models/pipelinefunctionsignalfilterid.md | 2 +- .../pipelinefunctionsnmptrapserialize.md | 18 +- .../pipelinefunctionsnmptrapserializeid.md | 2 +- docs/models/pipelinefunctionsort.md | 18 +- docs/models/pipelinefunctionsortid.md | 2 +- docs/models/pipelinefunctionstore.md | 18 +- docs/models/pipelinefunctionstoreid.md | 2 +- docs/models/pipelinefunctionsuppress.md | 18 +- docs/models/pipelinefunctionsuppressconf.md | 2 + docs/models/pipelinefunctionsuppressid.md | 2 +- docs/models/pipelinefunctiontee.md | 18 +- docs/models/pipelinefunctionteeconf.md | 4 +- docs/models/pipelinefunctionteeid.md | 2 +- docs/models/pipelinefunctiontrimtimestamp.md | 18 +- .../models/pipelinefunctiontrimtimestampid.md | 2 +- docs/models/pipelinefunctionunion.md | 18 +- docs/models/pipelinefunctionunionid.md | 2 +- docs/models/pipelinefunctionunroll.md | 18 +- docs/models/pipelinefunctionunrollconf.md | 2 + docs/models/pipelinefunctionunrollid.md | 2 +- docs/models/pipelinefunctionwindow.md | 18 +- docs/models/pipelinefunctionwindowconf.md | 2 + docs/models/pipelinefunctionwindowid.md | 2 +- docs/models/pipelinefunctionxmlunroll.md | 18 +- docs/models/pipelinefunctionxmlunrollconf.md | 2 + docs/models/pipelinefunctionxmlunrollid.md | 2 +- docs/models/pipelinegroups.md | 10 +- docs/models/pipelineinput.md | 8 +- docs/models/policy.md | 4 +- docs/models/pqtype.md | 4 +- docs/models/pqtypepqcontrols.md | 2 + docs/models/proxytypesystemsettingsconf.md | 8 +- docs/models/redisauthtypecredentialssecret.md | 10 +- ...pecredentialssecretauthenticationmethod.md | 2 + docs/models/redisauthtypemanual.md | 10 +- ...redisauthtypemanualauthenticationmethod.md | 2 + docs/models/redisauthtypenone.md | 10 +- .../redisauthtypenoneauthenticationmethod.md | 2 + docs/models/redisauthtypetextsecret.md | 10 +- ...sauthtypetextsecretauthenticationmethod.md | 2 + docs/models/redisdeploymenttypecluster.md | 10 +- ...ploymenttypeclusterauthenticationmethod.md | 2 + docs/models/redisdeploymenttypesentinel.md | 10 +- ...loymenttypesentinelauthenticationmethod.md | 2 + docs/models/redisdeploymenttypestandalone.md | 10 +- ...ymenttypestandaloneauthenticationmethod.md | 2 + ...paramconfhealthcheckauthenticationoauth.md | 9 + ...nfhealthcheckauthenticationoauthsecret.md} | 2 +- docs/models/remote.md | 2 + docs/models/renamed.md | 8 +- docs/models/restauthenticationbasic.md | 5 + docs/models/restauthenticationbasicsecret.md | 5 + docs/models/restauthenticationgoogleoauth.md | 5 + .../restauthenticationgoogleoauthsecret.md | 5 + docs/models/restauthenticationhmac.md | 5 + docs/models/restauthenticationlogin.md | 5 + docs/models/restauthenticationloginsecret.md | 5 + docs/models/restauthenticationnone.md | 5 + docs/models/restauthenticationoauth.md | 5 + docs/models/restauthenticationoauthsecret.md | 5 + docs/models/restcollectmethodget.md | 5 + docs/models/restcollectmethodother.md | 5 + docs/models/restcollectmethodpost.md | 5 + docs/models/restcollectmethodpostwithbody.md | 5 + docs/models/rollbacksettings.md | 10 +- docs/models/rulesettype.md | 2 + docs/models/runnablejobcollection.md | 2 +- docs/models/runnablejobexecutor.md | 2 +- docs/models/runnablejobscheduledsearch.md | 2 +- docs/models/savedjobcollection.md | 2 +- docs/models/savedjobexecutor.md | 2 +- docs/models/savedjobresponsecollection.md | 2 +- docs/models/savedjobresponseexecutor.md | 2 +- .../models/savedjobresponsescheduledsearch.md | 2 +- docs/models/savedjobscheduledsearch.md | 2 +- .../models/searchengineexportconfiguration.md | 2 + docs/models/secureversion.md | 21 + docs/models/sendconfiguration.md | 2 + docs/models/serdetypeauto.md | 23 + docs/models/serdetypeautooperationmode.md | 21 + docs/models/serdetypeautotype.md | 28 + docs/models/serdetypecsv.md | 11 +- .../{typeoptions.md => serdetypecsvtype.md} | 9 +- docs/models/serdetypedelim.md | 11 +- docs/models/serdetypedelimtype.md | 28 + docs/models/serdetypegrok.md | 13 +- docs/models/serdetypegroktype.md | 28 + docs/models/serdetypejson.md | 11 +- docs/models/serdetypejsontype.md | 28 + docs/models/serdetypekvp.md | 11 +- docs/models/serdetypekvptype.md | 28 + docs/models/serdetyperegex.md | 11 +- docs/models/serdetyperegextype.md | 28 + docs/models/shutdowntypesystemsettingsconf.md | 8 +- docs/models/simplepivotconfiguration.md | 2 + docs/models/snisettings.md | 6 +- docs/models/socketstypesystemsettingsconf.md | 8 +- docs/models/sortconfiguration.md | 2 + docs/models/sqsauthenticationmethodoptions.md | 21 + docs/models/ssltypesystemsettingsconfapi.md | 16 +- docs/models/statustype.md | 16 +- .../storageclassoptionscribllakedataset.md | 7 +- docs/models/storefunctionconfiguration.md | 2 + docs/models/summary.md | 12 +- docs/models/supporttypesystemsettingsconf.md | 8 +- docs/models/systemsettingsconf.md | 18 +- docs/models/systemtypesystemsettingsconf.md | 10 +- docs/models/tags1.md | 13 + docs/models/tags2.md | 13 + docs/models/tagstypepackinstallinfo.md | 14 +- docs/models/targetconfig1.md | 4 +- docs/models/targetconfig2.md | 4 +- docs/models/targetconfig3.md | 4 +- docs/models/tlsclientparams.md | 18 + docs/models/tlssettings.md | 14 +- docs/models/tlssettingsserversidetype.md | 2 +- docs/models/unionconfiguration.md | 2 + docs/models/updatehectokenrequest.md | 2 +- .../updateinputhectokenbyidandtokenrequest.md | 10 +- ...ystemhectokenbypackandidandtokenrequest.md | 12 +- docs/models/updatepacksbyidrequest.md | 8 +- docs/models/updatepacksrequest.md | 8 +- ...ateproductsgroupsbyproductandidrequest.md} | 2 +- ...ductsgroupsdeploybyproductandidrequest.md} | 2 +- docs/models/updateroutesbyidrequest.md | 8 +- docs/models/updateroutesbypackandidrequest.md | 10 +- docs/models/upgradegroupsettings.md | 12 +- .../upgradeoptionssystemsettingsconfsystem.md | 8 +- docs/models/upgradepackageurls.md | 8 +- docs/models/upgradesettings.md | 14 +- docs/models/uploadpackresponse.md | 6 +- docs/models/v3user.md | 2 + ...istributedsummaryworkers.md => workers.md} | 4 +- docs/models/workerstypesystemsettingsconf.md | 26 +- docs/sdks/acl/README.md | 5 +- docs/sdks/branches/README.md | 6 +- docs/sdks/captures/README.md | 1 + docs/sdks/collectorssdk/README.md | 355 +- docs/sdks/commits/README.md | 109 +- docs/sdks/{files => commitsfiles}/README.md | 10 +- docs/sdks/configsversions/README.md | 3 +- docs/sdks/cribl/README.md | 64 +- docs/sdks/databaseconnections/README.md | 523 +- docs/sdks/datasets/README.md | 26 +- docs/sdks/destinations/README.md | 580 +- docs/sdks/destinationspq/README.md | 4 +- docs/sdks/destinationsstatuses/README.md | 58 +- docs/sdks/functions/README.md | 46 +- docs/sdks/groupssdk/README.md | 94 +- docs/sdks/{health => healthsdk}/README.md | 0 docs/sdks/hectokens/README.md | 50 +- docs/sdks/nodes/README.md | 42 +- docs/sdks/packs/README.md | 156 +- docs/sdks/packsdestinations/README.md | 587 +- docs/sdks/packsdestinationspq/README.md | 4 +- docs/sdks/packsdestinationsstatuses/README.md | 58 +- docs/sdks/packshectokens/README.md | 50 +- docs/sdks/packspipelines/README.md | 302 +- docs/sdks/packsroutes/README.md | 165 +- docs/sdks/packssamples/README.md | 64 +- docs/sdks/packssources/README.md | 515 +- docs/sdks/packssourcespq/README.md | 6 +- docs/sdks/packssourcesstatuses/README.md | 58 +- docs/sdks/pipelines/README.md | 300 +- docs/sdks/routessdk/README.md | 158 +- docs/sdks/samples/README.md | 60 +- docs/sdks/settings/README.md | 5 +- docs/sdks/sources/README.md | 511 +- docs/sdks/sourcespq/README.md | 6 +- docs/sdks/sourcesstatuses/README.md | 58 +- docs/sdks/summaries/README.md | 17 +- docs/sdks/teams/README.md | 5 +- docs/sdks/tokens/README.md | 1 + docs/sdks/versionsconfigs/README.md | 3 +- docs/sdks/versionsstatuses/README.md | 3 +- poetry.lock | 2 +- pyproject.toml | 4 +- src/cribl_control_plane/_hooks/types.py | 14 +- src/cribl_control_plane/_version.py | 8 +- src/cribl_control_plane/acl.py | 22 +- src/cribl_control_plane/branches.py | 28 +- src/cribl_control_plane/captures.py | 20 +- src/cribl_control_plane/collectors_sdk.py | 160 +- src/cribl_control_plane/commits.py | 238 +- .../{files.py => commits_files.py} | 30 +- src/cribl_control_plane/configs_versions.py | 22 +- src/cribl_control_plane/cribl.py | 72 +- .../databaseconnections.py | 374 +- src/cribl_control_plane/datasets.py | 224 +- src/cribl_control_plane/destinations.py | 152 +- src/cribl_control_plane/destinations_pq.py | 28 +- .../destinations_statuses.py | 36 +- src/cribl_control_plane/errors/__init__.py | 5 + src/cribl_control_plane/errors/error.py | 17 +- .../errors/healthserverstatus_error.py | 6 +- .../errors/restapijsonerror.py | 42 + src/cribl_control_plane/functions.py | 132 +- src/cribl_control_plane/groups_sdk.py | 266 +- .../{health.py => health_sdk.py} | 6 +- src/cribl_control_plane/hectokens.py | 82 +- src/cribl_control_plane/models/__init__.py | 6414 +++--- .../models/activehealthoverlaystatus.py | 38 + .../models/addhectokenrequest.py | 10 +- .../models/aggregatedinputoutputstatusbody.py | 14 +- .../models/aggregatedpqstatus.py | 25 +- .../models/apitypesystemsettingsconf.py | 42 +- .../models/appstypesystemsettingsconf.py | 6 + ...ationmethodoptionsauthtokensitemssecret.py | 13 + .../authenticationmethodoptionsautosecret.py | 14 + .../models/authtokenconfinputcloudflarehec.py | 98 + .../models/awstypeheartbeatmetadata.py | 12 + .../models/azureblobcollectorconf.py | 32 + .../models/azuretypeheartbeatmetadata.py | 22 + .../models/backupssettings_union.py | 4 + .../models/cacheconnection.py | 12 +- .../columnmappingconfoutputclickhouse.py | 52 + src/cribl_control_plane/models/configgroup.py | 8 + .../models/connectionconfinputcollection.py | 4 + .../models/counteddatabaseconnectionconfig.py | 42 - .../models/createinput_request.py | 583 +- ...ers.py => createinput_users_and_groups.py} | 1857 +- .../models/createinputsystembypack_request.py | 583 +- ...eateinputsystembypack_users_and_groups.py} | 1854 +- .../createoutput_outputwebhook_format_2.py | 18583 +++++++++++++++ ...py => createoutput_pqcontrols_graphite.py} | 10855 +++++---- .../models/createoutput_request.py | 17467 +------------- ...tputsystembypack_outputwebhook_format_2.py | 18662 +++++++++++++++ ...outputsystembypack_pqcontrols_graphite.py} | 13497 ++++++----- .../createoutputsystembypack_request.py | 17532 +------------- ....py => createproductsgroupsbyproductop.py} | 4 +- .../models/cribllakedataset.py | 8 +- .../models/cribllakedatasetupdate.py | 12 +- .../models/currentbranchresult.py | 2 + .../customlogotypesystemsettingsconf.py | 10 + .../models/databaseconnectionauthtype.py | 12 + .../models/databaseconnectionconfig.py | 51 +- .../databaseconnectionresponseenvelope.py | 25 + .../models/datasetmetadata.py | 4 +- .../models/deletepacksbyidop.py | 4 +- ...> deleteproductsgroupsbyproductandidop.py} | 4 +- .../models/destinationtype.py | 5 + src/cribl_control_plane/models/difffiles.py | 119 +- .../models/difflinecontext.py | 22 +- .../models/difflinedelete.py | 16 +- .../models/difflineinsert.py | 16 +- .../models/distributedsummary.py | 22 +- src/cribl_control_plane/models/emptyobject.py | 4 +- ...atureflagoverrideconfsystemsettingsconf.py | 4 + .../models/filestypegitcommitsummary.py | 49 - .../models/formatoptions.py | 14 + .../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/functionconfschemaautotimestamp.py | 2 + .../models/functionconfschemadnslookup.py | 4 + .../models/functionconfschemagenstats.py | 2 + ...ctionconfschemalocalsearchrulesetrunner.py | 26 +- .../functionconfschemanotificationpolicies.py | 10 +- .../models/functionconfschemanumerify.py | 8 + .../models/functionconfschemaotlplogs.py | 8 +- .../models/functionconfschemaotlpmetrics.py | 8 +- .../models/functionconfschemaotlptraces.py | 8 +- .../models/functionconfschemaregexfilter.py | 2 + .../functionconfschemasnmptrapserialize.py | 4 + .../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/getcribllakedatasetbylakeidop.py | 67 +- .../models/getdatabaseconnectionconfigop.py | 41 +- .../models/getfunctionsop.py | 90 + .../models/getinputstatusop.py | 20 +- .../getinputstatussysteminputsbypackop.py | 21 +- .../models/getinputsystembypackop.py | 54 +- .../models/getoutputstatusop.py | 20 +- .../getoutputstatussystemoutputsbypackop.py | 21 +- .../models/getoutputsystembypackop.py | 54 +- .../models/getpacksbyidop.py | 4 +- src/cribl_control_plane/models/getpacksop.py | 54 +- .../models/getpipelinesbypackop.py | 72 +- .../models/getpipelinesop.py | 73 + ...> getproductsgroupsaclbyproductandidop.py} | 4 +- ...productsgroupsaclteamsbyproductandidop.py} | 4 +- ...y => getproductsgroupsbyproductandidop.py} | 4 +- ...top.py => getproductsgroupsbyproductop.py} | 55 +- ...ctsgroupsconfigversionbyproductandidop.py} | 4 +- .../models/getproductssummarybyproductop.py | 80 +- .../models/getproductsworkersbyproductop.py | 24 +- .../models/getsavedjobop.py | 60 +- .../models/getversionop.py | 50 +- .../models/gitcommitbody.py | 6 + .../models/gitcommitsummary.py | 96 +- .../models/gitcountresult.py | 6 +- .../models/{diffline.py => gitdifflines.py} | 20 +- src/cribl_control_plane/models/gitfile.py | 24 +- .../models/gitfilesresponse.py | 20 +- src/cribl_control_plane/models/gitinfo.py | 6 + .../models/gitlogresult.py | 14 + .../models/gitrevertparams.py | 6 + .../models/gitrevertresult.py | 70 +- .../models/gitshowresult.py | 2 + .../models/gitstatusresult.py | 40 +- .../models/groupcreaterequest.py | 8 + src/cribl_control_plane/models/hbcriblinfo.py | 20 + ...onnone_healthcheckretryrulestypebackoff.py | 250 + .../models/healthcheckcollectorconf.py | 168 + .../models/healthcounttype.py | 46 +- ...thstringtype.py => healthoptionsstatus.py} | 6 +- .../models/healthoverlaystatus.py | 58 + .../models/healthserverstatus.py | 4 + .../models/heartbeatmetadata.py | 8 +- .../models/hostostypeheartbeatmetadata.py | 8 + src/cribl_control_plane/models/input.py | 38 +- .../models/inputanthropiccompliance_input.py | 56 +- .../models/inputappleunifiedlogs_input.py | 12 +- .../models/inputappscope_input.py | 8 +- .../models/inputazureblob_input.py | 8 +- .../models/inputcloudflarehec_input.py | 141 +- .../models/inputcollection_input.py | 6 +- .../models/inputconfluentcloud_input.py | 8 +- .../models/inputcribl_input.py | 8 +- .../models/inputcriblhttp_input.py | 12 +- .../models/inputcribllakehttp_input.py | 12 +- .../models/inputcriblmetrics_input.py | 8 +- .../models/inputcribltcp_input.py | 8 +- .../models/inputcrowdstrike_input.py | 105 +- .../models/inputdatadogagent_input.py | 61 +- .../models/inputdatagen_input.py | 8 +- .../models/inputedgeprometheus_input.py | 49 +- .../models/inputelastic_input.py | 12 +- .../models/inputeventhub_input.py | 8 +- .../models/inputeventhubamqp_input.py | 57 +- .../models/inputexec_input.py | 6 +- .../models/inputfile_input.py | 8 +- .../models/inputfirehose_input.py | 12 +- .../models/inputgooglepubsub_input.py | 8 +- .../models/inputgrafana_input_union.py | 24 +- .../models/inputhttp_input.py | 12 +- .../models/inputhttpraw_input.py | 12 +- .../models/inputjournalfiles_input.py | 8 +- .../models/inputkafka_input.py | 8 +- .../models/inputkinesis_input.py | 8 +- .../models/inputkubeevents_input.py | 8 +- .../models/inputkubelogs_input.py | 24 +- .../models/inputkubemetrics_input.py | 8 +- .../models/inputloki_input.py | 12 +- .../models/inputmetrics_input.py | 8 +- .../models/inputmicrosoftgraph_input.py | 8 +- .../models/inputmodeldriventelemetry_input.py | 8 +- .../models/inputmsk_input.py | 8 +- .../models/inputnetflow_input.py | 8 +- .../models/inputoffice365mgmt_input.py | 8 +- .../models/inputoffice365msgtrace_input.py | 8 +- .../models/inputoffice365service_input.py | 8 +- .../models/inputokta_input.py | 8 +- .../models/inputopenai_input.py | 21 +- .../models/inputopenaicompliancelogs_input.py | 8 +- .../models/inputopentelemetry_input.py | 12 +- .../models/inputprometheus_input.py | 49 +- .../models/inputprometheusrw_input.py | 12 +- .../models/inputrawudp_input.py | 8 +- .../models/inputresponse.py | 585 +- ...s.py => inputresponse_users_and_groups.py} | 1905 +- .../models/inputs3_input.py | 105 +- .../models/inputs3inventory_input.py | 105 +- .../models/inputsecuritylake_input.py | 105 +- .../models/inputservicenowtable_input.py | 8 +- .../models/inputsnmp_input.py | 8 +- .../models/inputsplunk_input.py | 8 +- .../models/inputsplunkhec_input.py | 24 +- .../models/inputsplunksearch_input.py | 8 +- .../models/inputsqs_input.py | 8 +- .../models/inputsysdighec_input.py | 337 + .../models/inputsyslog_input_union.py | 16 +- .../models/inputsystemmetrics_input.py | 8 +- .../models/inputsystemstate_input.py | 8 +- .../models/inputtcp_input.py | 8 +- .../models/inputtcpjson_input.py | 8 +- .../models/inputupwindhec_input.py | 337 + .../models/inputwef_input.py | 8 +- .../models/inputwindowsmetrics_input.py | 8 +- .../models/inputwineventlogs_input.py | 16 +- .../models/inputwiz_input.py | 8 +- .../models/inputwizwebhook_input.py | 12 +- .../models/inputzscalerhec_input.py | 60 +- src/cribl_control_plane/models/jobinfo.py | 16 +- .../models/kubetypeheartbeatmetadata.py | 10 + .../models/lakedatasetmetrics.py | 4 +- .../models/lakedatasetsearchconfig.py | 4 +- src/cribl_control_plane/models/listinputop.py | 53 +- .../models/listoutputop.py | 53 +- .../models/mappingtypeoptions.py | 14 + .../models/masterworkerentry.py | 57 +- .../models/masterworkerprocesses.py | 15 + ...s.py => metadataconfaddhectokenrequest.py} | 4 +- .../models/metadataconfinputcollection.py | 2 + .../models/noactivehealthoverlaystatus.py | 28 + src/cribl_control_plane/models/nodeosinfo.py | 16 + .../models/nodeprovidedinfo.py | 87 +- .../models/nodeupgradestatus.py | 6 +- .../models/notification_union.py | 42 + .../models/objectstoragefilter.py | 9 +- .../models/ostypeheartbeatmetadata.py | 31 + .../models/outpostnodeinfo.py | 6 + src/cribl_control_plane/models/output.py | 70 +- .../models/outputalibabaclouds3.py | 72 +- .../models/outputalphasocs3.py | 6 +- .../models/outputamazonmanagedprometheus.py | 529 + .../models/outputazureblob.py | 6 +- .../models/outputazuredataexplorer.py | 10 +- .../models/outputazureeventhub.py | 10 +- .../models/outputazurelogs.py | 10 +- .../models/outputchronicle.py | 10 +- .../models/outputclickhouse.py | 102 +- .../models/outputcloudflarer2.py | 24 +- .../models/outputcloudians3.py | 6 +- .../models/outputcloudwatch.py | 10 +- .../models/outputconfluentcloud.py | 10 +- .../models/outputcriblhttp.py | 10 +- .../models/outputcribllake.py | 401 +- .../models/outputcriblsearchengine.py | 10 +- .../models/outputcribltcp.py | 10 +- .../models/outputcrowdstrikenextgensiem.py | 10 +- .../models/outputcustomermetricsstorage.py | 565 + .../models/outputdatabricks.py | 6 +- .../models/outputdatadog.py | 10 +- .../models/outputdataset.py | 10 +- .../models/outputdefault.py | 4 +- .../models/outputdells3.py | 6 +- .../models/outputdevnull.py | 4 +- .../models/outputdiskspool.py | 6 +- src/cribl_control_plane/models/outputdls3.py | 6 +- .../models/outputdynatracehttp.py | 10 +- .../models/outputdynatraceotlp.py | 10 +- .../models/outputelastic.py | 10 +- .../models/outputelasticcloud.py | 10 +- .../models/outputexabeam.py | 6 +- .../models/outputfilesystem.py | 6 +- .../models/outputgooglebigquery.py | 356 + .../models/outputgooglechronicle.py | 10 +- .../models/outputgooglecloudlogging.py | 10 +- .../models/outputgooglecloudobservability.py | 455 + .../models/outputgooglecloudstorage.py | 6 +- .../models/outputgooglepubsub.py | 10 +- .../models/outputgrafanacloud_union.py | 42 +- .../models/outputgraphite.py | 10 +- .../models/outputhoneycomb.py | 10 +- .../models/outputhumiohec.py | 10 +- .../models/outputibmclouds3.py | 611 + .../models/outputinfluxdb.py | 10 +- src/cribl_control_plane/models/outputkafka.py | 10 +- .../models/outputkinesis.py | 10 +- .../models/outputlocalsearchstorage.py | 16 +- src/cribl_control_plane/models/outputloki.py | 24 +- .../models/outputmicrosoftfabric.py | 10 +- src/cribl_control_plane/models/outputminio.py | 6 +- src/cribl_control_plane/models/outputmsk.py | 10 +- .../models/outputnetflow.py | 6 +- .../models/outputnewrelic.py | 14 +- .../models/outputnewrelicevents.py | 10 +- .../models/outputnutanixobjects.py | 6 +- .../models/outputopentelemetry.py | 10 +- .../models/outputprometheus.py | 140 +- .../models/outputresponse.py | 17926 +-------------- .../outputresponse_outputwebhook_format_2.py | 19088 ++++++++++++++++ ... => outputresponse_pqcontrols_graphite.py} | 10613 +++++---- src/cribl_control_plane/models/outputring.py | 6 +- .../models/outputrouter.py | 6 +- src/cribl_control_plane/models/outputs3.py | 6 +- .../models/outputscalitys3.py | 6 +- .../models/outputsecuritylake.py | 6 +- .../models/outputsentinel.py | 55 +- .../models/outputsentineloneaisiem.py | 34 +- .../models/outputservicenow.py | 10 +- .../models/outputsignalfx.py | 10 +- src/cribl_control_plane/models/outputsnmp.py | 22 +- src/cribl_control_plane/models/outputsns.py | 10 +- .../models/outputsplunk.py | 10 +- .../models/outputsplunkhec.py | 34 +- .../models/outputsplunklb.py | 10 +- src/cribl_control_plane/models/outputsqs.py | 10 +- .../models/outputstatsd.py | 10 +- .../models/outputstatsdext.py | 10 +- .../models/outputstorjs3.py | 6 +- .../models/outputsumologic.py | 10 +- .../models/outputsyslog.py | 10 +- .../models/outputtcpjson.py | 10 +- .../models/outputwavefront.py | 10 +- .../models/outputwebhook_union.py | 106 +- .../models/outputwizhec.py | 62 +- src/cribl_control_plane/models/outputxsiam.py | 10 +- .../models/ownertypeheartbeatmetadatakube.py | 4 + 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 +- .../models/paginatedconfiggroup.py | 61 + .../models/paginatedcribllakedataset.py | 61 + .../models/paginateddistributedsummary.py | 61 + .../models/paginatedfunctionresponse.py | 61 + .../models/paginatedgitlogresult.py | 61 + .../models/paginatedinputresponse.py | 61 + .../models/paginatedinputstatus.py | 61 + .../models/paginatedmasterworkerentry.py | 61 + .../models/paginatedoutputresponse.py | 61 + .../models/paginatedoutputstatus.py | 61 + .../models/paginatedpackinfo.py | 61 + .../models/paginatedpipeline.py | 61 + .../models/paginatedsavedjobresponse.py | 61 + .../models/piisettings_union.py | 2 + src/cribl_control_plane/models/pipeline.py | 62 +- .../pipelinefunctionaggregatemetrics.py | 32 +- .../models/pipelinefunctionaggregation.py | 32 +- .../models/pipelinefunctionautotimestamp.py | 26 +- .../models/pipelinefunctioncef.py | 50 +- .../models/pipelinefunctionchain.py | 32 +- .../models/pipelinefunctionclone.py | 26 +- .../models/pipelinefunctioncode.py | 26 +- .../models/pipelinefunctioncomment.py | 26 +- .../models/pipelinefunctiondistinct.py | 32 +- .../models/pipelinefunctiondnslookup.py | 26 +- .../models/pipelinefunctiondrop.py | 26 +- .../models/pipelinefunctiondropdimensions.py | 32 +- .../models/pipelinefunctiondynamicsampling.py | 32 +- .../models/pipelinefunctioneval.py | 26 +- .../models/pipelinefunctioneventbreaker.py | 66 +- .../models/pipelinefunctioneventstats.py | 32 +- .../models/pipelinefunctionexternaldata.py | 26 +- .../models/pipelinefunctionflatten.py | 26 +- .../models/pipelinefunctionfoldkeys.py | 26 +- .../models/pipelinefunctiongenstats.py | 26 +- .../models/pipelinefunctiongeoip.py | 34 +- .../models/pipelinefunctiongrok.py | 34 +- .../models/pipelinefunctionhandlebars.py | 32 +- .../models/pipelinefunctionjoin.py | 32 +- .../models/pipelinefunctionjsonunroll.py | 32 +- .../models/pipelinefunctionlakeexport.py | 32 +- .../models/pipelinefunctionlimit.py | 26 +- ...pelinefunctionlocalsearchdatatypeparser.py | 26 +- ...ipelinefunctionlocalsearchrulesetrunner.py | 26 +- ...pipelinefunctionlocalsearchschemamapper.py | 26 +- ...efunctionlocalsearchtimerangenormalizer.py | 26 +- .../pipelinefunctionlocalsearchtransformer.py | 26 +- .../models/pipelinefunctionlookup.py | 32 +- .../models/pipelinefunctionmask.py | 34 +- .../models/pipelinefunctionmvexpand.py | 32 +- .../models/pipelinefunctionmvpull.py | 32 +- .../pipelinefunctionnotificationpolicies.py | 26 +- .../models/pipelinefunctionnotifications.py | 32 +- .../models/pipelinefunctionnotify.py | 32 +- .../models/pipelinefunctionnumerify.py | 26 +- .../models/pipelinefunctionotlplogs.py | 26 +- .../models/pipelinefunctionotlpmetrics.py | 26 +- .../models/pipelinefunctionotlptraces.py | 26 +- .../models/pipelinefunctionpack.py | 32 +- .../models/pipelinefunctionpivot.py | 32 +- .../models/pipelinefunctionpublishmetrics.py | 26 +- .../models/pipelinefunctionredis.py | 114 +- .../models/pipelinefunctionregexextract.py | 34 +- .../models/pipelinefunctionregexfilter.py | 26 +- .../models/pipelinefunctionrename.py | 26 +- .../models/pipelinefunctionrollupmetrics.py | 26 +- .../models/pipelinefunctionsampling.py | 26 +- .../pipelinefunctionsearchengineexport.py | 32 +- .../models/pipelinefunctionsend.py | 32 +- .../pipelinefunctionsensitivedatascanner.py | 36 +- .../models/pipelinefunctionserde.py | 587 +- .../models/pipelinefunctionserialize.py | 30 +- .../models/pipelinefunctionsidlookup.py | 26 +- .../models/pipelinefunctionsignalfilter.py | 26 +- .../pipelinefunctionsnmptrapserialize.py | 26 +- .../models/pipelinefunctionsort.py | 32 +- .../models/pipelinefunctionstore.py | 32 +- .../models/pipelinefunctionsuppress.py | 32 +- .../models/pipelinefunctiontee.py | 34 +- .../models/pipelinefunctiontrimtimestamp.py | 26 +- .../models/pipelinefunctionunion.py | 32 +- .../models/pipelinefunctionunroll.py | 32 +- .../models/pipelinefunctionwindow.py | 32 +- .../models/pipelinefunctionxmlunroll.py | 32 +- src/cribl_control_plane/models/pqtype.py | 10 +- .../models/proxytypesystemsettingsconf.py | 6 + ...paramconfhealthcheckauthenticationoauth.py | 20 + ...nfhealthcheckauthenticationoauthsecret.py} | 4 +- ...onbasic_restpaginationtyperequestoffset.py | 168 + ...iscovermethodpostwithbody_discover_type.py | 168 + ...ollectmethodpost_restretryrulestypenone.py | 168 + .../models/restcollectorconf.py | 86 + .../models/rollbacksettings_union.py | 14 +- .../models/runnablejobcollection.py | 4 +- .../models/runnablejobexecutor.py | 4 +- .../models/runnablejobscheduledsearch.py | 4 +- .../models/savedjobcollection.py | 4 +- .../models/savedjobexecutor.py | 4 +- .../models/savedjobresponse.py | 12 +- .../models/savedjobscheduledsearch.py | 4 +- .../models/scalarorarray.py | 11 - .../models/secureversion.py | 12 + .../models/shutdowntypesystemsettingsconf.py | 10 +- .../models/snisettings_union.py | 2 + .../models/socketstypesystemsettingsconf.py | 6 + .../models/sqsauthenticationmethodoptions.py | 14 + .../models/ssltypesystemsettingsconfapi.py | 14 + src/cribl_control_plane/models/statustype.py | 14 +- .../storageclassoptionscribllakedataset.py | 5 + .../models/supporttypesystemsettingsconf.py | 14 +- .../models/systemsettingsconf.py | 18 + .../models/systemtypesystemsettingsconf.py | 8 + .../models/tagstypepackinstallinfo.py | 12 + .../models/tlsclientparams.py | 117 + .../models/tlssettings_union.py | 10 + .../models/tlssettingsserversidetype.py | 2 + src/cribl_control_plane/models/typeoptions.py | 26 - .../models/updatehectokenrequest.py | 10 +- .../updateinputhectokenbyidandtokenop.py | 4 +- ...nputsystemhectokenbypackandidandtokenop.py | 4 +- .../models/updatepacksbyidop.py | 4 +- .../models/updatepacksop.py | 4 +- ...> updateproductsgroupsbyproductandidop.py} | 4 +- ...teproductsgroupsdeploybyproductandidop.py} | 4 +- .../models/updateroutesbyidop.py | 4 +- .../models/updateroutesbypackandidop.py | 4 +- .../models/upgradegroupsettings.py | 20 +- .../upgradeoptionssystemsettingsconfsystem.py | 4 +- .../models/upgradepackageurls.py | 4 + .../models/upgradesettings.py | 10 + .../models/uploadpackresponse.py | 2 + .../models/workerstypesystemsettingsconf.py | 76 +- src/cribl_control_plane/nodes.py | 70 +- src/cribl_control_plane/packs.py | 214 +- src/cribl_control_plane/packs_destinations.py | 158 +- .../packs_destinations_pq.py | 28 +- .../packs_destinations_statuses.py | 36 +- src/cribl_control_plane/packs_hectokens.py | 82 +- src/cribl_control_plane/packs_pipelines.py | 176 +- src/cribl_control_plane/packs_routes.py | 90 +- src/cribl_control_plane/packs_samples.py | 38 +- src/cribl_control_plane/packs_sources.py | 166 +- src/cribl_control_plane/packs_sources_pq.py | 28 +- .../packs_sources_statuses.py | 36 +- src/cribl_control_plane/pipelines.py | 186 +- src/cribl_control_plane/routes_sdk.py | 90 +- src/cribl_control_plane/samples.py | 38 +- src/cribl_control_plane/sdk.py | 6 +- src/cribl_control_plane/settings.py | 18 +- src/cribl_control_plane/sources.py | 160 +- src/cribl_control_plane/sources_pq.py | 28 +- src/cribl_control_plane/sources_statuses.py | 36 +- src/cribl_control_plane/summaries.py | 110 +- src/cribl_control_plane/teams.py | 22 +- src/cribl_control_plane/tokens.py | 14 +- .../types/base64fileinput.py | 4 + .../utils/eventstreaming.py | 215 +- src/cribl_control_plane/utils/forms.py | 5 + src/cribl_control_plane/utils/retries.py | 95 +- src/cribl_control_plane/utils/serializers.py | 87 +- src/cribl_control_plane/utils/unions.py | 21 +- src/cribl_control_plane/versions_configs.py | 14 +- src/cribl_control_plane/versions_statuses.py | 14 +- 2089 files changed, 140124 insertions(+), 89162 deletions(-) create mode 100644 docs/errors/restapijsonerror.md create mode 100644 docs/models/activehealthoverlaystatus.md rename docs/models/{inputresponseauthenticationmethodcloudflarehec.md => authenticationmethodoptionsauthtokensitemssecret.md} (53%) rename docs/models/{outputcloudflarer2authenticationmethod.md => authenticationmethodoptionsautosecret.md} (60%) rename docs/models/{inputcloudflarehecauthtoken.md => authtokenconfinputcloudflarehec.md} (95%) create mode 100644 docs/models/checksumbefore.md rename docs/models/{outputclickhousecolumnmapping.md => columnmappingconfoutputclickhouse.md} (97%) delete mode 100644 docs/models/createinputauthenticationmethodcloudflarehec.md delete mode 100644 docs/models/createinputauthtokencloudflarehec.md create mode 100644 docs/models/createinputcertificate.md create mode 100644 docs/models/createinputendpointname.md create mode 100644 docs/models/createinputinputsysdighec.md create mode 100644 docs/models/createinputinputupwindhec.md create mode 100644 docs/models/createinputsamplingrule.md delete mode 100644 docs/models/createinputsystembypackauthenticationmethodcloudflarehec.md delete mode 100644 docs/models/createinputsystembypackauthtokencloudflarehec.md create mode 100644 docs/models/createinputsystembypackcertificate.md create mode 100644 docs/models/createinputsystembypackendpointname.md create mode 100644 docs/models/createinputsystembypackinputsysdighec.md create mode 100644 docs/models/createinputsystembypackinputupwindhec.md create mode 100644 docs/models/createinputsystembypacksamplingrule.md create mode 100644 docs/models/createinputsystembypacktypesysdighec.md create mode 100644 docs/models/createinputsystembypacktypeupwindhec.md create mode 100644 docs/models/createinputtypesysdighec.md create mode 100644 docs/models/createinputtypeupwindhec.md rename docs/models/{createoutputauthenticationmethodcloudflarer2.md => createoutputauthenticationmethodalibabaclouds3.md} (60%) create mode 100644 docs/models/createoutputauthenticationtypeprometheus.md delete mode 100644 docs/models/createoutputawsauthenticationmethod.md rename docs/models/{createoutputcolumnmappinglocalsearchstorage.md => createoutputcolumnmapping.md} (96%) delete mode 100644 docs/models/createoutputcolumnmappingclickhouse.md rename docs/models/{createoutputendpoint.md => createoutputendpointdynatracehttp.md} (64%) create mode 100644 docs/models/createoutputendpointgooglecloudobservability.md delete mode 100644 docs/models/createoutputformatclickhouse.md create mode 100644 docs/models/createoutputgoogleauthenticationmethodgooglebigquery.md create mode 100644 docs/models/createoutputgoogleauthenticationmethodgooglecloudobservability.md rename docs/models/{createoutputmappingtypelocalsearchstorage.md => createoutputmappingtype.md} (59%) delete mode 100644 docs/models/createoutputmappingtypeclickhouse.md create mode 100644 docs/models/createoutputotlpversiongooglecloudobservability.md rename docs/models/{createoutputotlpversion.md => createoutputotlpversionopentelemetry.md} (67%) create mode 100644 docs/models/createoutputoutputamazonmanagedprometheus.md create mode 100644 docs/models/createoutputoutputcustomermetricsstorage.md create mode 100644 docs/models/createoutputoutputgooglebigquery.md create mode 100644 docs/models/createoutputoutputgooglecloudobservability.md create mode 100644 docs/models/createoutputoutputibmclouds3.md rename docs/models/{fullrulesetieforusewithlivedatacapturewhichusesdraftunsavedrulesets.md => createoutputpqcontrolsamazonmanagedprometheus.md} (64%) create mode 100644 docs/models/createoutputpqcontrolscustomermetricsstorage.md create mode 100644 docs/models/createoutputpqcontrolsgooglebigquery.md create mode 100644 docs/models/createoutputpqcontrolsgooglecloudobservability.md create mode 100644 docs/models/createoutputprotocolgooglecloudobservability.md rename docs/models/{createoutputsystembypackauthenticationmethodcloudflarer2.md => createoutputsystembypackauthenticationmethodalibabaclouds3.md} (55%) create mode 100644 docs/models/createoutputsystembypackauthenticationtypeprometheus.md delete mode 100644 docs/models/createoutputsystembypackawsauthenticationmethod.md rename docs/models/{outputresponsecolumnmappinglocalsearchstorage.md => createoutputsystembypackcolumnmapping.md} (96%) delete mode 100644 docs/models/createoutputsystembypackcolumnmappingclickhouse.md rename docs/models/{createoutputsystembypackendpoint.md => createoutputsystembypackendpointdynatracehttp.md} (72%) create mode 100644 docs/models/createoutputsystembypackendpointgooglecloudobservability.md delete mode 100644 docs/models/createoutputsystembypackformatclickhouse.md create mode 100644 docs/models/createoutputsystembypackgoogleauthenticationmethodgooglebigquery.md create mode 100644 docs/models/createoutputsystembypackgoogleauthenticationmethodgooglecloudobservability.md rename docs/models/{createoutputsystembypackmappingtypelocalsearchstorage.md => createoutputsystembypackmappingtype.md} (68%) delete mode 100644 docs/models/createoutputsystembypackmappingtypeclickhouse.md create mode 100644 docs/models/createoutputsystembypackotlpversiongooglecloudobservability.md rename docs/models/{createoutputsystembypackotlpversion.md => createoutputsystembypackotlpversionopentelemetry.md} (74%) create mode 100644 docs/models/createoutputsystembypackoutputamazonmanagedprometheus.md create mode 100644 docs/models/createoutputsystembypackoutputcustomermetricsstorage.md create mode 100644 docs/models/createoutputsystembypackoutputgooglebigquery.md create mode 100644 docs/models/createoutputsystembypackoutputgooglecloudobservability.md create mode 100644 docs/models/createoutputsystembypackoutputibmclouds3.md create mode 100644 docs/models/createoutputsystembypackpqcontrolsamazonmanagedprometheus.md create mode 100644 docs/models/createoutputsystembypackpqcontrolscustomermetricsstorage.md create mode 100644 docs/models/createoutputsystembypackpqcontrolsgooglebigquery.md create mode 100644 docs/models/createoutputsystembypackpqcontrolsgooglecloudobservability.md create mode 100644 docs/models/createoutputsystembypackprotocolgooglecloudobservability.md create mode 100644 docs/models/createoutputsystembypacktypeamazonmanagedprometheus.md create mode 100644 docs/models/createoutputsystembypacktypecustomermetricsstorage.md create mode 100644 docs/models/createoutputsystembypacktypegooglebigquery.md create mode 100644 docs/models/createoutputsystembypacktypegooglecloudobservability.md create mode 100644 docs/models/createoutputsystembypacktypeibmclouds3.md create mode 100644 docs/models/createoutputtypeamazonmanagedprometheus.md create mode 100644 docs/models/createoutputtypecustomermetricsstorage.md create mode 100644 docs/models/createoutputtypegooglebigquery.md create mode 100644 docs/models/createoutputtypegooglecloudobservability.md create mode 100644 docs/models/createoutputtypeibmclouds3.md rename docs/models/{createconfiggroupbyproductrequest.md => createproductsgroupsbyproductrequest.md} (97%) create mode 100644 docs/models/databaseconnectionauthtype.md rename docs/models/{counteddatabaseconnectionconfig.md => databaseconnectionresponseenvelope.md} (50%) rename docs/models/{deleteconfiggroupbyproductandidrequest.md => deleteproductsgroupsbyproductandidrequest.md} (97%) rename docs/models/{outputclickhouseformat.md => formatoptions.md} (76%) create mode 100644 docs/models/fullruleset.md create mode 100644 docs/models/getcribllakedatasetbylakeidresponse.md create mode 100644 docs/models/getcribllakedatasetbylakeidresponsebody.md create mode 100644 docs/models/getdatabaseconnectionconfigresponse.md create mode 100644 docs/models/getfunctionsrequest.md create mode 100644 docs/models/getfunctionsresponse.md create mode 100644 docs/models/getfunctionsresponsebody.md create mode 100644 docs/models/getinputstatusresponsebody.md create mode 100644 docs/models/getinputstatussysteminputsbypackresponsebody.md create mode 100644 docs/models/getinputsystembypackresponse.md create mode 100644 docs/models/getinputsystembypackresponsebody.md create mode 100644 docs/models/getoutputstatusresponsebody.md create mode 100644 docs/models/getoutputstatussystemoutputsbypackresponsebody.md create mode 100644 docs/models/getoutputsystembypackresponse.md create mode 100644 docs/models/getoutputsystembypackresponsebody.md create mode 100644 docs/models/getpacksresponse.md create mode 100644 docs/models/getpacksresponsebody.md create mode 100644 docs/models/getpipelinesbypackresponse.md create mode 100644 docs/models/getpipelinesbypackresponsebody.md create mode 100644 docs/models/getpipelinesrequest.md create mode 100644 docs/models/getpipelinesresponse.md create mode 100644 docs/models/getpipelinesresponsebody.md rename docs/models/{getconfiggroupaclbyproductandidrequest.md => getproductsgroupsaclbyproductandidrequest.md} (97%) rename docs/models/{getconfiggroupaclteamsbyproductandidrequest.md => getproductsgroupsaclteamsbyproductandidrequest.md} (97%) rename docs/models/{getconfiggroupbyproductandidrequest.md => getproductsgroupsbyproductandidrequest.md} (98%) rename docs/models/{listconfiggroupbyproductrequest.md => getproductsgroupsbyproductrequest.md} (65%) create mode 100644 docs/models/getproductsgroupsbyproductresponse.md create mode 100644 docs/models/getproductsgroupsbyproductresponsebody.md rename docs/models/{getconfiggroupconfigversionbyproductandidrequest.md => getproductsgroupsconfigversionbyproductandidrequest.md} (97%) create mode 100644 docs/models/getproductssummarybyproductresponse.md create mode 100644 docs/models/getproductssummarybyproductresponsebody.md create mode 100644 docs/models/getproductsworkersbyproductresponsebody.md create mode 100644 docs/models/getsavedjobresponse.md create mode 100644 docs/models/getsavedjobresponsebody.md create mode 100644 docs/models/getversionresponse.md create mode 100644 docs/models/getversionresponsebody.md create mode 100644 docs/models/gitcommitsummaryfiles.md rename docs/models/{diffline.md => gitdifflines.md} (95%) rename docs/models/{filestypegitcommitsummary.md => gitrevertresultfiles.md} (96%) rename docs/models/{healthstringtype.md => health.md} (56%) create mode 100644 docs/models/healthoptionsstatus.md create mode 100644 docs/models/healthoverlaystatus.md create mode 100644 docs/models/inputanthropiccomplianceendpointname.md delete mode 100644 docs/models/inputcloudflarehecauthenticationmethod.md create mode 100644 docs/models/inputdatadogagentsamplingrule.md create mode 100644 docs/models/inputeventhubamqpcertificate.md delete mode 100644 docs/models/inputresponseauthtokencloudflarehec.md create mode 100644 docs/models/inputresponsecertificate.md create mode 100644 docs/models/inputresponseendpointname.md create mode 100644 docs/models/inputresponseinputsysdighec.md create mode 100644 docs/models/inputresponseinputupwindhec.md create mode 100644 docs/models/inputresponsesamplingrule.md create mode 100644 docs/models/inputresponsetypesysdighec.md create mode 100644 docs/models/inputresponsetypeupwindhec.md create mode 100644 docs/models/inputsysdighecinput.md create mode 100644 docs/models/inputsysdighectype.md create mode 100644 docs/models/inputupwindhecinput.md create mode 100644 docs/models/inputupwindhectype.md create mode 100644 docs/models/listinputresponse.md create mode 100644 docs/models/listinputresponsebody.md create mode 100644 docs/models/listoutputresponse.md create mode 100644 docs/models/listoutputresponsebody.md rename docs/models/{outputclickhousemappingtype.md => mappingtypeoptions.md} (66%) delete mode 100644 docs/models/masterworkerentryworkers.md create mode 100644 docs/models/masterworkerprocesses.md rename docs/models/{requestparamconfinputopenai.md => metadataconfaddhectokenrequest.md} (91%) create mode 100644 docs/models/noactivehealthoverlaystatus.md create mode 100644 docs/models/nodeosinfo.md rename docs/models/{scalarorarray.md => oldmode.md} (65%) create mode 100644 docs/models/ostypeheartbeatmetadata.md delete mode 100644 docs/models/osunion.md create mode 100644 docs/models/outputalibabaclouds3authenticationmethod.md create mode 100644 docs/models/outputamazonmanagedprometheus.md create mode 100644 docs/models/outputamazonmanagedprometheuspqcontrols.md create mode 100644 docs/models/outputamazonmanagedprometheustype.md delete mode 100644 docs/models/outputcribllakeawsauthenticationmethod.md create mode 100644 docs/models/outputcustomermetricsstorage.md create mode 100644 docs/models/outputcustomermetricsstoragepqcontrols.md create mode 100644 docs/models/outputcustomermetricsstoragetype.md create mode 100644 docs/models/outputgooglebigquery.md create mode 100644 docs/models/outputgooglebigquerygoogleauthenticationmethod.md create mode 100644 docs/models/outputgooglebigquerypqcontrols.md create mode 100644 docs/models/outputgooglebigquerytype.md create mode 100644 docs/models/outputgooglecloudobservability.md create mode 100644 docs/models/outputgooglecloudobservabilityendpoint.md create mode 100644 docs/models/outputgooglecloudobservabilitygoogleauthenticationmethod.md create mode 100644 docs/models/outputgooglecloudobservabilityotlpversion.md create mode 100644 docs/models/outputgooglecloudobservabilitypqcontrols.md create mode 100644 docs/models/outputgooglecloudobservabilityprotocol.md create mode 100644 docs/models/outputgooglecloudobservabilitytype.md create mode 100644 docs/models/outputibmclouds3.md create mode 100644 docs/models/outputibmclouds3type.md create mode 100644 docs/models/outputprometheusauthenticationtype.md rename docs/models/{outputresponseauthenticationmethodcloudflarer2.md => outputresponseauthenticationmethodalibabaclouds3.md} (59%) create mode 100644 docs/models/outputresponseauthenticationtypeprometheus.md delete mode 100644 docs/models/outputresponseawsauthenticationmethod.md rename docs/models/{createoutputsystembypackcolumnmappinglocalsearchstorage.md => outputresponsecolumnmapping.md} (96%) delete mode 100644 docs/models/outputresponsecolumnmappingclickhouse.md rename docs/models/{outputresponseendpoint.md => outputresponseendpointdynatracehttp.md} (63%) create mode 100644 docs/models/outputresponseendpointgooglecloudobservability.md delete mode 100644 docs/models/outputresponseformatclickhouse.md create mode 100644 docs/models/outputresponsegoogleauthenticationmethodgooglebigquery.md create mode 100644 docs/models/outputresponsegoogleauthenticationmethodgooglecloudobservability.md rename docs/models/{outputresponsemappingtypelocalsearchstorage.md => outputresponsemappingtype.md} (72%) delete mode 100644 docs/models/outputresponsemappingtypeclickhouse.md create mode 100644 docs/models/outputresponseotlpversiongooglecloudobservability.md rename docs/models/{outputresponseotlpversion.md => outputresponseotlpversionopentelemetry.md} (78%) create mode 100644 docs/models/outputresponseoutputamazonmanagedprometheus.md create mode 100644 docs/models/outputresponseoutputcustomermetricsstorage.md create mode 100644 docs/models/outputresponseoutputgooglebigquery.md create mode 100644 docs/models/outputresponseoutputgooglecloudobservability.md create mode 100644 docs/models/outputresponseoutputibmclouds3.md create mode 100644 docs/models/outputresponsepqcontrolsamazonmanagedprometheus.md create mode 100644 docs/models/outputresponsepqcontrolscustomermetricsstorage.md create mode 100644 docs/models/outputresponsepqcontrolsgooglebigquery.md create mode 100644 docs/models/outputresponsepqcontrolsgooglecloudobservability.md create mode 100644 docs/models/outputresponseprotocolgooglecloudobservability.md create mode 100644 docs/models/outputresponsetypeamazonmanagedprometheus.md create mode 100644 docs/models/outputresponsetypecustomermetricsstorage.md create mode 100644 docs/models/outputresponsetypegooglebigquery.md create mode 100644 docs/models/outputresponsetypegooglecloudobservability.md create mode 100644 docs/models/outputresponsetypeibmclouds3.md create mode 100644 docs/models/paginatedconfiggroup.md create mode 100644 docs/models/paginatedcribllakedataset.md create mode 100644 docs/models/paginateddistributedsummary.md create mode 100644 docs/models/paginatedfunctionresponse.md create mode 100644 docs/models/paginatedgitlogresult.md create mode 100644 docs/models/paginatedinputresponse.md create mode 100644 docs/models/paginatedinputstatus.md create mode 100644 docs/models/paginatedmasterworkerentry.md create mode 100644 docs/models/paginatedoutputresponse.md create mode 100644 docs/models/paginatedoutputstatus.md create mode 100644 docs/models/paginatedpackinfo.md create mode 100644 docs/models/paginatedpipeline.md create mode 100644 docs/models/paginatedsavedjobresponse.md create mode 100644 docs/models/refreshrequestparamconfhealthcheckauthenticationoauth.md rename docs/models/{eventbreakerrulefields.md => refreshrequestparamconfhealthcheckauthenticationoauthsecret.md} (85%) create mode 100644 docs/models/secureversion.md create mode 100644 docs/models/serdetypeauto.md create mode 100644 docs/models/serdetypeautooperationmode.md create mode 100644 docs/models/serdetypeautotype.md rename docs/models/{typeoptions.md => serdetypecsvtype.md} (70%) create mode 100644 docs/models/serdetypedelimtype.md create mode 100644 docs/models/serdetypegroktype.md create mode 100644 docs/models/serdetypejsontype.md create mode 100644 docs/models/serdetypekvptype.md create mode 100644 docs/models/serdetyperegextype.md create mode 100644 docs/models/sqsauthenticationmethodoptions.md create mode 100644 docs/models/tags1.md create mode 100644 docs/models/tags2.md create mode 100644 docs/models/tlsclientparams.md rename docs/models/{updateconfiggroupbyproductandidrequest.md => updateproductsgroupsbyproductandidrequest.md} (97%) rename docs/models/{updateconfiggroupdeploybyproductandidrequest.md => updateproductsgroupsdeploybyproductandidrequest.md} (97%) rename docs/models/{distributedsummaryworkers.md => workers.md} (97%) rename docs/sdks/{files => commitsfiles}/README.md (91%) rename docs/sdks/{health => healthsdk}/README.md (100%) rename src/cribl_control_plane/{files.py => commits_files.py} (90%) create mode 100644 src/cribl_control_plane/errors/restapijsonerror.py rename src/cribl_control_plane/{health.py => health_sdk.py} (96%) create mode 100644 src/cribl_control_plane/models/activehealthoverlaystatus.py create mode 100644 src/cribl_control_plane/models/authenticationmethodoptionsauthtokensitemssecret.py create mode 100644 src/cribl_control_plane/models/authenticationmethodoptionsautosecret.py create mode 100644 src/cribl_control_plane/models/authtokenconfinputcloudflarehec.py create mode 100644 src/cribl_control_plane/models/columnmappingconfoutputclickhouse.py delete mode 100644 src/cribl_control_plane/models/counteddatabaseconnectionconfig.py rename src/cribl_control_plane/models/{createinput_logged_in_users.py => createinput_users_and_groups.py} (88%) rename src/cribl_control_plane/models/{createinputsystembypack_logged_in_users.py => createinputsystembypack_users_and_groups.py} (88%) create mode 100644 src/cribl_control_plane/models/createoutput_outputwebhook_format_2.py rename src/cribl_control_plane/models/{createoutput_type_statsd.py => createoutput_pqcontrols_graphite.py} (91%) create mode 100644 src/cribl_control_plane/models/createoutputsystembypack_outputwebhook_format_2.py rename src/cribl_control_plane/models/{createoutputsystembypack_type_statsd.py => createoutputsystembypack_pqcontrols_graphite.py} (92%) rename src/cribl_control_plane/models/{createconfiggroupbyproductop.py => createproductsgroupsbyproductop.py} (92%) create mode 100644 src/cribl_control_plane/models/databaseconnectionauthtype.py create mode 100644 src/cribl_control_plane/models/databaseconnectionresponseenvelope.py rename src/cribl_control_plane/models/{deleteconfiggroupbyproductandidop.py => deleteproductsgroupsbyproductandidop.py} (91%) delete mode 100644 src/cribl_control_plane/models/filestypegitcommitsummary.py create mode 100644 src/cribl_control_plane/models/formatoptions.py create mode 100644 src/cribl_control_plane/models/getfunctionsop.py create mode 100644 src/cribl_control_plane/models/getpipelinesop.py rename src/cribl_control_plane/models/{getconfiggroupaclbyproductandidop.py => getproductsgroupsaclbyproductandidop.py} (95%) rename src/cribl_control_plane/models/{getconfiggroupaclteamsbyproductandidop.py => getproductsgroupsaclteamsbyproductandidop.py} (94%) rename src/cribl_control_plane/models/{getconfiggroupbyproductandidop.py => getproductsgroupsbyproductandidop.py} (95%) rename src/cribl_control_plane/models/{listconfiggroupbyproductop.py => getproductsgroupsbyproductop.py} (52%) rename src/cribl_control_plane/models/{getconfiggroupconfigversionbyproductandidop.py => getproductsgroupsconfigversionbyproductandidop.py} (90%) rename src/cribl_control_plane/models/{diffline.py => gitdifflines.py} (73%) rename src/cribl_control_plane/models/{healthstringtype.py => healthoptionsstatus.py} (65%) create mode 100644 src/cribl_control_plane/models/healthoverlaystatus.py rename src/cribl_control_plane/models/{inputresponse_logged_in_users.py => inputresponse_users_and_groups.py} (88%) create mode 100644 src/cribl_control_plane/models/inputsysdighec_input.py create mode 100644 src/cribl_control_plane/models/inputupwindhec_input.py create mode 100644 src/cribl_control_plane/models/mappingtypeoptions.py create mode 100644 src/cribl_control_plane/models/masterworkerprocesses.py rename src/cribl_control_plane/models/{eventbreakerrulefields.py => metadataconfaddhectokenrequest.py} (70%) create mode 100644 src/cribl_control_plane/models/noactivehealthoverlaystatus.py create mode 100644 src/cribl_control_plane/models/nodeosinfo.py create mode 100644 src/cribl_control_plane/models/ostypeheartbeatmetadata.py create mode 100644 src/cribl_control_plane/models/outputamazonmanagedprometheus.py create mode 100644 src/cribl_control_plane/models/outputcustomermetricsstorage.py create mode 100644 src/cribl_control_plane/models/outputgooglebigquery.py create mode 100644 src/cribl_control_plane/models/outputgooglecloudobservability.py create mode 100644 src/cribl_control_plane/models/outputibmclouds3.py create mode 100644 src/cribl_control_plane/models/outputresponse_outputwebhook_format_2.py rename src/cribl_control_plane/models/{outputresponse_type_statsd.py => outputresponse_pqcontrols_graphite.py} (92%) create mode 100644 src/cribl_control_plane/models/paginatedconfiggroup.py create mode 100644 src/cribl_control_plane/models/paginatedcribllakedataset.py create mode 100644 src/cribl_control_plane/models/paginateddistributedsummary.py create mode 100644 src/cribl_control_plane/models/paginatedfunctionresponse.py create mode 100644 src/cribl_control_plane/models/paginatedgitlogresult.py create mode 100644 src/cribl_control_plane/models/paginatedinputresponse.py create mode 100644 src/cribl_control_plane/models/paginatedinputstatus.py create mode 100644 src/cribl_control_plane/models/paginatedmasterworkerentry.py create mode 100644 src/cribl_control_plane/models/paginatedoutputresponse.py create mode 100644 src/cribl_control_plane/models/paginatedoutputstatus.py create mode 100644 src/cribl_control_plane/models/paginatedpackinfo.py create mode 100644 src/cribl_control_plane/models/paginatedpipeline.py create mode 100644 src/cribl_control_plane/models/paginatedsavedjobresponse.py create mode 100644 src/cribl_control_plane/models/refreshrequestparamconfhealthcheckauthenticationoauth.py rename src/cribl_control_plane/models/{requestparamconfinputopenai.py => refreshrequestparamconfhealthcheckauthenticationoauthsecret.py} (61%) delete mode 100644 src/cribl_control_plane/models/scalarorarray.py create mode 100644 src/cribl_control_plane/models/secureversion.py create mode 100644 src/cribl_control_plane/models/sqsauthenticationmethodoptions.py create mode 100644 src/cribl_control_plane/models/tlsclientparams.py delete mode 100644 src/cribl_control_plane/models/typeoptions.py rename src/cribl_control_plane/models/{updateconfiggroupbyproductandidop.py => updateproductsgroupsbyproductandidop.py} (92%) rename src/cribl_control_plane/models/{updateconfiggroupdeploybyproductandidop.py => updateproductsgroupsdeploybyproductandidop.py} (92%) diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 76d6a537d..855608444 100644 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,25 +1,25 @@ lockVersion: 2.0.0 id: cfa345be-20bc-4980-a260-c3fa74040ac2 management: - docChecksum: 4d86924964f4e69b4d6b9b7ad52408ca - docVersion: 4.18.2-alpha.1780495409912-b2cc4b4f - speakeasyVersion: 1.770.0 - generationVersion: 2.893.0 - releaseVersion: 0.9.0rc4 - configChecksum: 63ea3f093fda316253a5dbe77e25d5a6 + docChecksum: afb3bbb8e88b521c045ecd6ba18b371b + docVersion: 4.19.0-alpha.1782982389482-669ec7f1 + speakeasyVersion: 1.787.0 + generationVersion: 2.914.0 + releaseVersion: 0.10.0rc1 + configChecksum: dea379e587a3a171ab2cf6948cc92f8a 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: 5fcd5d78-4e7a-4ec1-b417-5a37a4e07dd2 - pristine_commit_hash: 3e186cd39266a9dd787adbe570152036265758a6 - pristine_tree_hash: 506c83d99e72c79c356aa03a804bbc31a95f3354 + generation_id: 95d574cf-134d-43d4-b2aa-fa1d65a69cee + pristine_commit_hash: 43ef3b7b7649ef4183222f7c8604618654e2f6e2 + pristine_tree_hash: 83c2e628a7ac880e690d771ab5783e3a445da844 features: python: additionalDependencies: 1.1.0 additionalProperties: 1.0.1 constsAndDefaults: 1.0.7 - core: 6.0.24 + core: 6.0.33 defaultEnabledRetries: 0.2.0 deprecations: 3.0.2 devContainers: 3.0.0 @@ -34,17 +34,17 @@ features: groups: 3.0.1 inputOutputModels: 3.0.0 jsonlResponses: 0.2.2 - methodArguments: 1.1.0 + methodArguments: 1.1.1 nameOverrides: 3.0.3 nullables: 1.0.2 oauth2ClientCredentials: 2.1.5 openEnums: 1.0.4 pagination: 3.0.10 responseFormat: 1.1.0 - retries: 3.0.5 - sdkHooks: 1.2.1 - unions: 3.1.5 - uploadStreams: 1.0.2 + retries: 3.0.7 + sdkHooks: 1.3.0 + unions: 3.1.7 + uploadStreams: 1.0.3 trackedFiles: .devcontainer/README.md: id: b170c0f184ac @@ -72,12 +72,16 @@ trackedFiles: pristine_git_object: 8cc9e84bce956a80454da0d208b68412b79c0f57 docs/errors/error.md: id: 098e4ba23534 - last_write_checksum: sha1:b9aed484e63b83e470d0c6a4d331406e21a40794 - pristine_git_object: 12a8838e62d7de5fc2eb855a363b7913ba3f9566 + last_write_checksum: sha1:fd765abf173770d0cf1e893d0f3e60453ed994ac + 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 + pristine_git_object: 3440597d2d863944ad165b22c14b04515c969e20 docs/models/acknowledgmentsoptions.md: id: 47b82108cc80 last_write_checksum: sha1:51e90ad3e52e42a08292916c52e8590b24201813 @@ -86,14 +90,18 @@ 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 pristine_git_object: 321ae4a485c72723115fbef436ac9925976b16ba docs/models/addhectokenrequest.md: id: b4ae5f4e772b - last_write_checksum: sha1:8e2aa6e79cf81fdf58c26e22f975224ce24f7c7d - pristine_git_object: 0388e111afec23a28492eb608f62b1427491d526 + last_write_checksum: sha1:145b912dea497616df9c99d74970d6e1defd3980 + pristine_git_object: a6244795d25f6a070f3e065256ef2f57e98f4348 docs/models/additionalfield.md: id: 924072429ea3 last_write_checksum: sha1:88b2cd929ddc675794918d2450a0c19050eeaf95 @@ -112,12 +120,12 @@ trackedFiles: pristine_git_object: cc616d64388ca7ab98922cd9e13e0fd51e72808a docs/models/aggregatedinputoutputstatusbody.md: id: 3381b7dd4078 - last_write_checksum: sha1:606c1c3acdd851d5782b04c0f873b09566377db7 - pristine_git_object: d7cef538646308ab1fa03933708e7127899b89f2 + last_write_checksum: sha1:0b57e90159440148a3fe50262a0550c227f807ce + pristine_git_object: c18db3d3eced4bf10e0c3dc46536fef15cd3f0fb docs/models/aggregatedpqstatus.md: id: ff28f24abc18 - last_write_checksum: sha1:68498c298832fc2bb2d769d367eea499b3b7a26f - pristine_git_object: df1f4dc3b9053714ab0f1fdba5af71491de37fef + last_write_checksum: sha1:13df72c6a932f1db2a0f56d7812ee2c490924ba8 + pristine_git_object: 56656863504e384e448c7539d536066eda60b652 docs/models/aggregation.md: id: 8eec6ac0a876 last_write_checksum: sha1:1180a81361383151750bd5b963221b17447a87c2 @@ -128,16 +136,16 @@ trackedFiles: pristine_git_object: b44e48244a54d7c6379511753448eea8e081c866 docs/models/apitypesystemsettingsconf.md: id: 1bf0b46222a9 - last_write_checksum: sha1:85f70c4c0cc6d0e6b6e21721331f4f2f35a00c67 - pristine_git_object: f9beb28daf3a9990db3577af2a0305258c05a9e3 + last_write_checksum: sha1:9afcf8830591cb3be58ab06800a80cdaf7edba74 + pristine_git_object: 220ca1ace55598247ba5d35560f200d5c3c7621c docs/models/appstypesystemsettingsconf.md: id: b5a7e7f6ecdc - last_write_checksum: sha1:5659e01d0571af7c7b68d688eff350bf1d79a3f5 - pristine_git_object: af349e14581e6e2f392f1482598348b50ff51a77 + last_write_checksum: sha1:31f5dfabd5ac8e20424f842f0d49cdedc6859254 + pristine_git_object: dc064a3de5c4353c3135773a98f53516064aef72 docs/models/audit.md: id: 122233ecf5ac - last_write_checksum: sha1:f48cb721c47991b306fa00601055a7c3f4bd992b - pristine_git_object: 65164ab79862ad35eda38c4f7f0f1a0c59547ad5 + last_write_checksum: sha1:206247fc13b4329b1f146bd3bea2185e8262f777 + pristine_git_object: 5154cc5ed209bbcd9761f25ab0828e9c9d4b4349 docs/models/authenticationmethodoptions.md: id: bc281788d27c last_write_checksum: sha1:e77ea6cfc36a2345ab1e8d6c8aa4b3e9729b69eb @@ -158,6 +166,14 @@ trackedFiles: id: a8ecebcc9082 last_write_checksum: sha1:040b302d2f4f959f13e95689985e0462ca1fa99e pristine_git_object: 3937ebc9c7f317fdfc558fda24382445577f279a + docs/models/authenticationmethodoptionsauthtokensitemssecret.md: + id: 92a2efb3dd77 + last_write_checksum: sha1:a7d0d366de49f223920f0cb83592848a9b388fe9 + pristine_git_object: d14e23c53d835aaa792dc3c4547c7b3a926281ce + docs/models/authenticationmethodoptionsautosecret.md: + id: d5f34b9af4f3 + last_write_checksum: sha1:7dbb0912fec21847e9df1a17cd2d6e7e7fd71254 + pristine_git_object: 3891fa13fc08990a8e700807076ab233aeaa513b docs/models/authenticationmethodoptionsmanualsecret.md: id: 73bc075d6789 last_write_checksum: sha1:9cd3066bb5b4e1be0ce9bba2fc3e23b4f2700a2c @@ -212,8 +228,8 @@ trackedFiles: pristine_git_object: 0c5a66b47f7ff5518332c2dd6e1966a6aeb2d9fe docs/models/author.md: id: b4139065dbed - last_write_checksum: sha1:0ad13b5d0dcc099ec80cf3e0598461de86fe7233 - pristine_git_object: 9c5d74e74318152ab2a1ca4eaab8135ab6218c19 + last_write_checksum: sha1:e4de78bdc015c401167026ea5c5e757d6d1698d5 + pristine_git_object: 21d4163b94e2dd7276b32b4d8c251ee4fb77a314 docs/models/authrequestheaderconfhealthcheckauthenticationlogin.md: id: 58e5c050a79e last_write_checksum: sha1:0003911592fc0fc502b25f4fc00f30fd654ec46f @@ -226,6 +242,10 @@ trackedFiles: id: 4bd9c62da20d last_write_checksum: sha1:cd3eadc16f502d652c26e4bb14d59dfae82ed0bd pristine_git_object: a3930945b098e404ae9cc1d6f712c44027b0a048 + docs/models/authtokenconfinputcloudflarehec.md: + id: 5ed4c87c554c + last_write_checksum: sha1:4a9f3cabdad23da3ff5b952e91a22f04ec1b3d7c + pristine_git_object: 3a9c520d5fb6da7ef11eda5f7bace135b245b9d1 docs/models/authtokenconfinputcribltcp.md: id: a38009cd8825 last_write_checksum: sha1:4df49f14c9d9ce516d72052419a75a6cc9bf038a @@ -248,12 +268,12 @@ trackedFiles: pristine_git_object: f604075bfc6fa48f7296d05b5440fb365cda6095 docs/models/awstypeheartbeatmetadata.md: id: 7cca8b795aa4 - last_write_checksum: sha1:a308a4b576be369e6256a35703222bf10d15d1d0 - pristine_git_object: febedcbe9d29f391c7f1e66ec8415616e5717539 + last_write_checksum: sha1:79681f0a41be56c6f0e462ec116d36d5b8e03005 + pristine_git_object: ab5563f495dcc3f7857aaef784ec82a508787fa6 docs/models/azureblobauthtypeclientcert.md: id: 43225ab4b57e - last_write_checksum: sha1:7af1111f5951e1c10321950c582d2f89231a75bd - pristine_git_object: 52062eb867fd94df5f0db36dfdf16462f09bf6e4 + last_write_checksum: sha1:50bca381458a8d9ac82f1ed6adfb1f65cf45fbc6 + pristine_git_object: 37cdd1be287d8887742a0097409611b70ed7a5d2 docs/models/azureblobauthtypeclientcertauthenticationmethod.md: id: 3a8743f5103e last_write_checksum: sha1:4d791c2a106870168ae359f15abbf2b059753336 @@ -264,8 +284,8 @@ trackedFiles: pristine_git_object: 439e94af95b8b733ff3238b2ea342b9554c1dd51 docs/models/azureblobauthtypeclientsecret.md: id: fe0db87670fb - last_write_checksum: sha1:32d900ed8f07dd0680938506d46320d65cd24b36 - pristine_git_object: fc2e51fbf0881c7b1830a518efac6c786bd15a3c + last_write_checksum: sha1:077b351653af8207c32ee6a6105fab1d2aef4433 + pristine_git_object: 3054d2c9d9c75cf2632901891b3063534b6ae662 docs/models/azureblobauthtypeclientsecretauthenticationmethod.md: id: e2176ff6e8b1 last_write_checksum: sha1:08790fce71663c9a3e58b7d19e396413a66f23d0 @@ -276,8 +296,8 @@ trackedFiles: pristine_git_object: 1f2b7a8710c96b1948b8662438258dd7fda30137 docs/models/azureblobauthtypemanual.md: id: 181dbdd2c6e0 - last_write_checksum: sha1:67ec76ed3950cd2b57c3fec455b6888359770ed7 - pristine_git_object: 2e7d602b7d36de1e1448f345306d5323ef2711a3 + last_write_checksum: sha1:c08036ed124952d080a71a8010e8f4f5e4ad9f1c + pristine_git_object: ff40da17c701b60235f14b9183d0c395bcfe08b8 docs/models/azureblobauthtypemanualauthenticationmethod.md: id: 53d8fa42f588 last_write_checksum: sha1:60c6be68498c15dfedaa9b0e08cb2613bde06929 @@ -288,8 +308,8 @@ trackedFiles: pristine_git_object: e05b3a5c6ee79a404db02c155a85c867eedecbdb docs/models/azureblobauthtypesecret.md: id: a48896a3f4b8 - last_write_checksum: sha1:e00cba5333412a5bb956bedd86639d21aec9bb82 - pristine_git_object: b6348db8bf98cbe405bf1ad24de11bbcb0e6d813 + last_write_checksum: sha1:22a0835988b2836205d237c5f92b332fd5a4061e + pristine_git_object: ffcd646c4e49bfecaf720a8d76c4d2f82d62a3b9 docs/models/azureblobauthtypesecretauthenticationmethod.md: id: 64f39724f021 last_write_checksum: sha1:f12f6d487382e9bf22789513abb837f8b64c3071 @@ -304,8 +324,8 @@ trackedFiles: pristine_git_object: 4e927c790eefa8fc697a615b46cee8641e22a988 docs/models/azuretypeheartbeatmetadata.md: id: a2f372dcd8ec - last_write_checksum: sha1:9ac653fb984f2e1c98656291fa7d9cf557827fd3 - pristine_git_object: fef7193c764637a0a10167481e243348acee0499 + last_write_checksum: sha1:c81c992076c9d06251cb9282e7726337dc33be77 + pristine_git_object: c879de1a5e3ef2e4f22ae758364054a4a1c53cc1 docs/models/backpressurebehavioroptions.md: id: 06a39b1547b3 last_write_checksum: sha1:53afa98d9a892b95092c3e6e78fe6726f9baa1c5 @@ -316,8 +336,8 @@ trackedFiles: pristine_git_object: 44e3d89b4696ddff0cf051c693f2fa86331b6e48 docs/models/backupssettings.md: id: 466c435e4202 - last_write_checksum: sha1:bd412a86cd0f9aedf28642ad354200f83edf09cc - pristine_git_object: e7797ddfbd2d7cabe001906adc1b8358b1a2988b + last_write_checksum: sha1:631bdbfc690ffd451e5f7e6119dfe62d0c372aa0 + pristine_git_object: 8a91d659257fc03dd42d71380e45d21ea174fe4c docs/models/backupssettingsunion.md: id: ff174271523a last_write_checksum: sha1:87258cd48a5fe94e56c1aa69a6eedab42db0c8c2 @@ -328,8 +348,8 @@ trackedFiles: pristine_git_object: e92985494b7bf2050b35b752593fd7445b251973 docs/models/block.md: id: 37aeed3d7dc4 - last_write_checksum: sha1:7efa4322bb1c83eb30204369771e345164661e69 - pristine_git_object: a79ee7cd685013b8dd2847ab235419fcfac23a0c + last_write_checksum: sha1:7b0b65dbcd71eed56e8a052e1f4ab86fadde62a9 + pristine_git_object: 609f6caa8bbaaa945eaea48e4aad8e60213b4d41 docs/models/branchinfo.md: id: c4f285e2fed9 last_write_checksum: sha1:b5744654aa12367e582f6a7f8c889215380794e5 @@ -340,8 +360,8 @@ trackedFiles: pristine_git_object: 3db6a5516975502dde2270e03f74f11f21db5fc8 docs/models/cacheconnection.md: id: 43b19510231e - last_write_checksum: sha1:57c57021a3f6b9afc7c9990bd5179e51d61d79af - pristine_git_object: 80bd7e3027c997b7e4d89b081a38a39a34151884 + last_write_checksum: sha1:a47f18bcbcb1a9ee5c4eb1b61a608a5f5b5c8ee9 + pristine_git_object: f041a9df6e6414c98992a137ef388104dd38f100 docs/models/cacheconnectionbackfillstatus.md: id: 3dd6d4ff5926 last_write_checksum: sha1:d9db6054944d78dd04407e7d5f5c843a0401cf41 @@ -370,6 +390,10 @@ trackedFiles: id: 03d7e29a4c86 last_write_checksum: sha1:2bfd982f9be948b23488bfef2ccd4100229146d3 pristine_git_object: ed05675b12252106d3de880c7cb36f1e6f9b1058 + docs/models/checksumbefore.md: + id: 960a6267f10b + last_write_checksum: sha1:8d6f36e07ae4b16e71f9939f7d9b1f14e4f740ab + pristine_git_object: 2e2356bdcddaa9f6b6d64c859a1e61bf96fdedad docs/models/cloudprovider.md: id: df2bda30e132 last_write_checksum: sha1:23780af90e71b77c03c7155de7ed59d78a21d12b @@ -470,6 +494,10 @@ trackedFiles: id: 5c55b1bc9705 last_write_checksum: sha1:12c9d74773944cbd216c2de7765e6a5d996a6a71 pristine_git_object: 35bdc9fb7d8fff5b70053e45333491238d37bf9d + docs/models/columnmappingconfoutputclickhouse.md: + id: e70a6940ff2a + last_write_checksum: sha1:edf86894a0989ae376e50af6a6a13e645ae98e56 + pristine_git_object: 876288055ba9284e60f04ad65b7dfc34e91cb14a docs/models/commit.md: id: 12aecb89cc56 last_write_checksum: sha1:6382993bfb402e80f19d355dfe3fd06c10f046ce @@ -528,12 +556,12 @@ trackedFiles: pristine_git_object: de115e77ce999319a944b11c083fd1f8120797e7 docs/models/config.md: id: bef254bf823c - last_write_checksum: sha1:52347f88a18d719d0ca9e025b55ab091f512d37e - pristine_git_object: 756bc0e7d8fc007336d24219261d3acba48e317d + last_write_checksum: sha1:cf303b81129eebc91f7bf410c515a8e82a0bf965 + pristine_git_object: 5e1d8f82ed219f441c95ca68cf3c62a7568d171d docs/models/configgroup.md: id: 7f7c83526f8c - last_write_checksum: sha1:d224b39a50aeb07f3858580c75ff7ac1a46566c2 - pristine_git_object: b82fd12562455475d2f5de9c38a0ebf1939e1d56 + last_write_checksum: sha1:2e03afd526b46fbccef45762ff41214c276a5ae8 + pristine_git_object: 838c64df0bce5489dc9009170d03c58d081c91a1 docs/models/configgroupcloud.md: id: 6bba10d8b38c last_write_checksum: sha1:a88a3e4def09e1eb5d6c70053f2e5c929c6a54e5 @@ -548,12 +576,12 @@ trackedFiles: pristine_git_object: 4d05524ed4a067b46c8c3b368573eed48c1e808e docs/models/confinput.md: id: d60ee29375da - last_write_checksum: sha1:4711f32b5767c06caf9bb82846942991f3122c54 - pristine_git_object: 215a81dee9b9aed06c5d8529a135283a0a347b26 + last_write_checksum: sha1:821eb493732c56abb6af6b4ef5568907cb37c623 + pristine_git_object: df239d94a174ea2a969c374f6a8e109e0e2a0e28 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 @@ -578,10 +606,6 @@ trackedFiles: id: 6bd413f9b941 last_write_checksum: sha1:d6c7243914daabb135cfc1958c1c4a4cdf3c617d pristine_git_object: 75467c42e7d5beb6e3fd6ca25edfe391ff2e77c0 - docs/models/counteddatabaseconnectionconfig.md: - id: 8a7666ff0f13 - last_write_checksum: sha1:268490ef94a67d4fe3917f5f7b548df5f127adea - pristine_git_object: 0be6a8734c2b3ae24f7c7cebf2d95ce937dd2db7 docs/models/counteddistributedsummary.md: id: 75c410ab1d94 last_write_checksum: sha1:af7b315d4cf2626ab8a01f3c33bac2d38089564b @@ -718,10 +742,6 @@ trackedFiles: id: c36f5e51e2e1 last_write_checksum: sha1:e2c378e925085035251685c8e7a67427de588e1e pristine_git_object: 9bf8121706a69ce774c19979135f70fbee8ad7a9 - docs/models/createconfiggroupbyproductrequest.md: - id: 57e600675ca6 - last_write_checksum: sha1:2e084ed196b97c86cbbd87e82e001e834a90c5d2 - pristine_git_object: ccd885cb167a779225f373d1edb49c05c5787296 docs/models/createcribllakedatasetbylakeidrequest.md: id: 046303af8694 last_write_checksum: sha1:627b11726b36f39c60620a33994681382a3c570f @@ -740,16 +760,12 @@ trackedFiles: pristine_git_object: e24f68290e64ed5db0a5534da1af0b0a4546b225 docs/models/createinputauth.md: id: 327e30a66f73 - last_write_checksum: sha1:9cc1280c634422bacf063764784350d721ade3f1 - pristine_git_object: 494f655675bc96fd60a692b857e8f2c10381218f + last_write_checksum: sha1:2ace32d84b9923bbd6d7c8b7cc559a0cd554e0c9 + pristine_git_object: 74de67c9cf07ad04befc0aa17bb27b14e9b06a13 docs/models/createinputauthenticationmechanism.md: id: 410669deb02c last_write_checksum: sha1:228f3d42cdeb37551915501086fbdaa630b4968e pristine_git_object: 10af5346835ee49d4d0cacac416d79e4f2b818ef - docs/models/createinputauthenticationmethodcloudflarehec.md: - id: ab5984f0e619 - last_write_checksum: sha1:b5e5762b5e527a8065af1be5fa6a445072955a5a - pristine_git_object: 4c1f10b893785ba96364656308b0f2379daa7655 docs/models/createinputauthenticationmethodedgeprometheus.md: id: 22e7ba5e7135 last_write_checksum: sha1:7f8c6324ce148d268c8b33106c50fb29ee09da92 @@ -798,10 +814,6 @@ trackedFiles: id: 73152e6ae2c3 last_write_checksum: sha1:48b1300074d57c5f7493b823c329d3a25f230e57 pristine_git_object: 336765edb7030bfc174bff36073bb0b6e3159f1a - docs/models/createinputauthtokencloudflarehec.md: - id: 3ae98e79a5cf - last_write_checksum: sha1:5a2ad353c609a6be81b37a7d6b32c6c969838cad - pristine_git_object: c7e14a79a13cc2bcdcd8bfbabe61470c9d63f8c4 docs/models/createinputauthtokensext.md: id: 0d389cb46d97 last_write_checksum: sha1:b2061448bad737a17598b56927c94cc6761c46f5 @@ -812,8 +824,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 @@ -822,6 +834,10 @@ trackedFiles: id: 89b444189d6d last_write_checksum: sha1:7aa73528952ce153300074bc27acad65ce28a0b4 pristine_git_object: 68b01c4e69b489352a6947871be11ec1c0f2cd8b + docs/models/createinputcertificate.md: + id: e5545ec89a30 + last_write_checksum: sha1:ce8dfb227d187d6798dee452d3443c738115d8c6 + pristine_git_object: 622fb9631dbc54cfead2c9dbd0b70329800c398b docs/models/createinputcheckpointing.md: id: 060ea4207c66 last_write_checksum: sha1:d17fffb50aeb571481c350181e186d429639510d @@ -844,12 +860,12 @@ trackedFiles: pristine_git_object: cf1438d63efd73364871e8e82f528dd348b71670 docs/models/createinputcontentconfiganthropiccompliance.md: id: 2edd4fc7b5ba - last_write_checksum: sha1:28bb5c4ec861cbb8819c9ee671d797105c443074 - pristine_git_object: 48baedcf97af97e0b355b6d61a685007f6e62e0a + last_write_checksum: sha1:923a8dde294e624aa11d1986319583fdba8a86bc + pristine_git_object: 93df0df2c301f934edd00dd6e3b285251936e91a docs/models/createinputcontentconfiginput.md: id: 55f3e20608eb - last_write_checksum: sha1:7681b0525b08a1abc13d1f61e8235aa3a8145543 - pristine_git_object: 5a7da32f9b8131c46c09948309ee62c672c9de3f + last_write_checksum: sha1:d392425e02bd47892fcdf4d297c30a1d9a5f1ae2 + pristine_git_object: 258bbbd8c561e1b9ba080cd5db91d2e3f05e139f docs/models/createinputcontentconfigoffice365mgmt.md: id: 7626bd623030 last_write_checksum: sha1:9042fe09b2e521798cef09fc00d45e329603d004 @@ -888,12 +904,12 @@ trackedFiles: pristine_git_object: bb778d436cd4f36128d7d5fdf7409eb7b4ac1ff2 docs/models/createinputdiscoverytypeedgeprometheus.md: id: 0328448d7b88 - last_write_checksum: sha1:aa14db1766bf5469104c4ba5094f9ee6145bb7ae - pristine_git_object: e7462eee2e1b5d41c2bf166d3f55bc8d63dce0e2 + last_write_checksum: sha1:a7fb77e2eed67ea64ff842a1d4434bb5edd4976c + pristine_git_object: 9385ad86fee4cc16ef986d4dbc46977586c126f0 docs/models/createinputdiscoverytypeprometheus.md: id: de0194b65cae - last_write_checksum: sha1:4e79587426d8892a0c44b178d9322aeff9595651 - pristine_git_object: 27576d15522a471ff61cf487df9b4f66551edf90 + last_write_checksum: sha1:c5125ea26ee30f049b67fac6cf37a6a4809d5ef6 + pristine_git_object: 66d0ad3a13cb0b8b6e4ca2c521e9be909f054bac docs/models/createinputdiskmodesystemmetrics.md: id: 3de632ddc560 last_write_checksum: sha1:cef1b5a988edebc5a5b327773191ff448d584faa @@ -926,6 +942,10 @@ trackedFiles: id: 0ade5570df95 last_write_checksum: sha1:7f38557d59d7766861702bf8c4e35f435b5829fd pristine_git_object: 4c5da519e94a6f1c7521213f25042412b6caefef + docs/models/createinputendpointname.md: + id: e16ac01f3f56 + last_write_checksum: sha1:60ec7184d757ce00647a3e0e130ebf54603f063b + pristine_git_object: 0f627e82af5cb6cce18066a7c9d21664534aa4a5 docs/models/createinputendpointparam.md: id: a1669cf2e21c last_write_checksum: sha1:b5e9a63acf01efdb69fd0ee27aeb0e8a648ec416 @@ -976,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:32dd3298b6ef37b19994bef2e1f9e70e78d3ec8a + pristine_git_object: 3c4018b7c5c7f4ba534cc3618338adfb2a11f62a docs/models/createinputinputappleunifiedlogs.md: id: b38e9fa29997 - last_write_checksum: sha1:5f5562c93c2749b040d01ed4e1643f0682370620 - pristine_git_object: 2ae8c1d92c5112273675d9192c114a9a3aca2655 + last_write_checksum: sha1:fb0886bd79b896c22ec0925b698e4a0b459b6b8b + pristine_git_object: a8d29bf79136af458dcd711b1759d11dea4f621f docs/models/createinputinputappscope.md: id: afb18990ae93 - last_write_checksum: sha1:d8274ae84bcd2208dd8f549fc43b1adb94053bf3 - pristine_git_object: c7208827973cf5a641d91c8f1b1ad9e937872f3b + last_write_checksum: sha1:b8e36c5b310c72c72c71cc939585ddbe3bfe5242 + pristine_git_object: 08de82b8054a5a31f30707c770d4d21993eea8e2 docs/models/createinputinputazureblob.md: id: ef82229ad226 - last_write_checksum: sha1:0d43e59c04fbf8486e680e6a99f91528e5298cf3 - pristine_git_object: c31da67c56c9533d693361b6ee5c297ca2d739c1 + last_write_checksum: sha1:0c3a2027fb76f86d8e575453ffc0d4c52fcbc23a + pristine_git_object: c0a231dc00eab7adebabc86e5dc18288f9f85d9b docs/models/createinputinputcloudflarehec.md: id: 01e243a7b106 - last_write_checksum: sha1:ce7af3222362b236be50172575d75a0d23fe0183 - pristine_git_object: 0c9bd050353d04a954d942dc7c09f7548601e973 + last_write_checksum: sha1:7c54c5610834713c9f83aae44411c87b59e90f23 + pristine_git_object: 05a1964a48b59cf33c75f6f1bcbbaaa94b95262f docs/models/createinputinputcollection.md: id: eecc2f47be9c - last_write_checksum: sha1:2500281803e68a07121a2b5a78e1c234e1e17cc5 - pristine_git_object: 6c66685582a1d38d8f68bdf4fbdde937e9739183 + last_write_checksum: sha1:21fd164766baff43499736ec39d477e69622cdc0 + pristine_git_object: a966a879b5b8153e1241dfd4ee97f0c54d19fce2 docs/models/createinputinputconfluentcloud.md: id: 39da2b8099e8 - last_write_checksum: sha1:05ec68c3ce09534525b231a7a4d3b220c0a1fe89 - pristine_git_object: 2e9f31dfa985f1ff1ecfcd0c36559f4d2bd97d26 + last_write_checksum: sha1:2582b9a10ac76fe8f74611505827d8697f867bb0 + pristine_git_object: 15198e1acbd575b4634e61c835fd9c15ee935fc9 docs/models/createinputinputcribl.md: id: d2255710816d - last_write_checksum: sha1:b0f5ee7df110f7b8b284804289defbc75627a16c - pristine_git_object: d7462782df468f8aa513f23057200098dc4599d5 + last_write_checksum: sha1:ca4435d509b42560e39cb912fd7bb2890f93a78d + pristine_git_object: 2870f9d3e459822dcd6006bfce318fed83a0d58a docs/models/createinputinputcriblhttp.md: id: 151544ab4626 - last_write_checksum: sha1:77ca4e4cc46b9140a74af677acdef8dc674779e0 - pristine_git_object: 291fcef4fee7486afdef487f35c9af4c7f31f53a + last_write_checksum: sha1:f1806cf65a66d66f003cc82183807bab14734714 + pristine_git_object: 0180e34d12cf01116ffaa1a405169dd3d3823c0d docs/models/createinputinputcribllakehttp.md: id: cfcc443089a6 - last_write_checksum: sha1:ace725d62d5c7b98b0c13e994cea6000e7c24ba4 - pristine_git_object: 26fa6200b442c72126e1805837d3279bba438397 + last_write_checksum: sha1:e1d77aca422b983604f376806471139221895c4f + pristine_git_object: 5c48d0ac58d09276363d3d4e8a5674290d11ef57 docs/models/createinputinputcriblmetrics.md: id: fce752f459bb - last_write_checksum: sha1:2d6c673e780475832ca0f8a7e90f3d96a98633cc - pristine_git_object: 25ec40a3ac55a31190a70e87c433c6e1230806e9 + last_write_checksum: sha1:331824a65af8bf8a66e1e1719e1a6a72a4df23d2 + pristine_git_object: 9cefc559ebcf9b4a0dd7b265fee81f6afed1e956 docs/models/createinputinputcribltcp.md: id: f4fb29b03884 - last_write_checksum: sha1:23d4a77819e153cbef44e180e61087404bf0f3a5 - pristine_git_object: f093bbae901f9ae835862ee8cac29c6552feb94f + last_write_checksum: sha1:13354d3076c983ec90b969c761d0622d6018227f + pristine_git_object: 46451e1ca0e603aa3fbe3aa3bf48cc4005c1cbb5 docs/models/createinputinputcrowdstrike.md: id: 29c003b23774 - last_write_checksum: sha1:251035fb429fbc4ae4c101c0bfe1e80beed88f2c - pristine_git_object: d8f771a17ae8444acf945832f9c479aa17b9c878 + last_write_checksum: sha1:f515f3eb92dee6d20e9e67e3b7c65d2be62bf0f8 + pristine_git_object: dc4c942b5f58dd27173072a64a9d83a219f85a26 docs/models/createinputinputdatadogagent.md: id: 60edcb257959 - last_write_checksum: sha1:41dfca95e573a491849bb602aeb7fb7c4ae63fa8 - pristine_git_object: 94bc6077695321141cb619351e10afdb9f898606 + last_write_checksum: sha1:8f60dbf11d4c4bd20c0f1d085d06842860408140 + pristine_git_object: 870c7c0a31e00bdad707c821e3c458ff01abf026 docs/models/createinputinputdatagen.md: id: 21ec7cf73e0c - last_write_checksum: sha1:e0742389fa721f51d593dba8feb23a34e229ef69 - pristine_git_object: 676b89f6eb0c28deaf6d13ddd5af8a728ace68d8 + last_write_checksum: sha1:06998436c9fe4f2b0d2f677583b4d7973923bb6c + pristine_git_object: 7c4d854ff0b3fd39a8db82ce238ba3061cbc0595 docs/models/createinputinputedgeprometheus.md: id: 20ef3d311b43 - last_write_checksum: sha1:9e2320888d38aaeabd0fc927ac9293879e695baf - pristine_git_object: 1efdb77b720b42b416e4864499d226aaa05ec883 + last_write_checksum: sha1:d9edc84a444af2c69ca83884091d6b541fe63d44 + pristine_git_object: b55ecd98f5cc9647e8a00b4952cee5b6f2057bb9 docs/models/createinputinputelastic.md: id: 3d180ba57ce2 - last_write_checksum: sha1:d0059be9a1c6481f308362e3475e54939c4d53b4 - pristine_git_object: 9f3ca6afadf59bb773130d55fc4214e18d419f00 + last_write_checksum: sha1:6fc4e96e22545c5e67415ae6de6699f256a8446c + pristine_git_object: c104a1aba85beddac66a6818b8ee79b8353d72cf docs/models/createinputinputeventhub.md: id: 519e2cf82f1b - last_write_checksum: sha1:3b9ad6516e4dc9394381ced50f79f79c67843567 - pristine_git_object: 0e1f3300d7ac3af91b14d3c4a2a8c91795aa9229 + last_write_checksum: sha1:57cdcead71715537a3514ee744d16af1086175f4 + pristine_git_object: 0009942cd5f1828021ad5fb451931ad09af458ac docs/models/createinputinputeventhubamqp.md: id: 1d85feb8c208 - last_write_checksum: sha1:9bdae2039b1e24b3d51191475c553d5a16619a52 - pristine_git_object: a4c27147029225e4d68d05975a602f5177e47af5 + last_write_checksum: sha1:979393c4dc91a8f6a462bcc01b9ddd32931ffa08 + pristine_git_object: 3b725662d345449f190a8ea3f78f7b34870accf0 docs/models/createinputinputexec.md: id: ac1fcdf1f5bd - last_write_checksum: sha1:0868d04b7792446d3adabe770654f66b2b4ed378 - pristine_git_object: 0e9168003278b98f70c82fc9802f10a951265b85 + last_write_checksum: sha1:ebb03c13743866ba3ea5e438cb4633128d5da4cd + pristine_git_object: 6d0a76135a87706db2049e4ac9f77fb7d8558591 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:57c6ab318a125b729eec636d6cf5f148f5cc0026 + pristine_git_object: 72af3ac53da018397c5f72db1f98ad9bf96eb615 docs/models/createinputinputfilemode.md: id: 4fa25cdbe7b0 last_write_checksum: sha1:4adbf997a7a1d600f205a8c1023c7e0127edd2a7 @@ -1072,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:455b7d66a3c3a07224f2ab4105c1f7c369a8486c + pristine_git_object: d782a93ca61ea277c6b482ad8d0c5bae4dd96202 docs/models/createinputinputgooglepubsub.md: id: 275d9108a951 - last_write_checksum: sha1:61d171086b6ee6a1dd9466f9b7f4f003cf8824e1 - pristine_git_object: 43adc6a5c857dc1801c03a2f2ba4d09bad529e49 + last_write_checksum: sha1:65802ecc4122e7ff0d0fb23394fae7a1dea2fddb + pristine_git_object: da2313dd26941d42da15e70656e9ee64126e9d62 docs/models/createinputinputgrafanagrafana1.md: id: de27560b0e71 - last_write_checksum: sha1:517ec97262d18854338b1aa236788ce51a265d17 - pristine_git_object: e982a6fc2f709b75b71e2b15990242ce94c96bb7 + last_write_checksum: sha1:c01f29efe5dc06f474a0518c5b6c0da1545fce67 + pristine_git_object: 7644c6ca3f6454fc7fb30af27582b2ea878f8900 docs/models/createinputinputgrafanagrafana2.md: id: 80ede76d5240 - last_write_checksum: sha1:1dc8ec88252f067de5607b2ffa5067d7509b5fc8 - pristine_git_object: ee9a110cbd213946f77bafee97823d1b9e59c586 + last_write_checksum: sha1:79c920ed38a6543e5714594fb41af6ee6413ea3b + pristine_git_object: 37889ef11847ea560da036490e98f71b28a1a91d 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:f860f06fed6802224837f280b1992611e2c27287 + pristine_git_object: 3ffaca2295622233dd479e5770cc720022a127c3 docs/models/createinputinputhttpraw.md: id: f16d55346af0 - last_write_checksum: sha1:9dcac26ae6dc6f655b491c87296dd319ff0fbcd7 - pristine_git_object: 43259f9f6d02693698c132818b18b4ece9325351 + last_write_checksum: sha1:646950a77e989e9022587f4a3261c649300e0c17 + pristine_git_object: 653ced71473d71bdac40d0ef662471a639429af4 docs/models/createinputinputjournalfiles.md: id: 6f5fd60da521 - last_write_checksum: sha1:e5eb0b99f761678ba5578ab98b981d6ff248d620 - pristine_git_object: 1eb6457a3880f4b4b02b6ae626a2054e10f79227 + last_write_checksum: sha1:e95dd145831a27f35871ec17e7173b0a5d9d86dc + pristine_git_object: 1957da12c9d6b9133a4c269be2305c5372fd2199 docs/models/createinputinputjournalfilesrule.md: id: e4029c583895 last_write_checksum: sha1:a5a64ef36579d49718c73b50a97f64f8f20bd170 @@ -1120,132 +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:ea6b916d301e69f68d144c431f794c1ff1f3c311 + pristine_git_object: 59d073a7f1aaf0c2ba19452c53695461b758f910 docs/models/createinputinputkinesis.md: id: cb4f18b0fd0b - last_write_checksum: sha1:f49aecb8538d2fad3e9cdacb64d51e719be13027 - pristine_git_object: 0cb3db5e2dd4c68846bbacb22922f16eb0911f52 + last_write_checksum: sha1:ab150b1618582a4b3fa7dc41765438748f8f02cf + pristine_git_object: 612c5ff0f7c8a6f225c16d6cd5bd9f163d1bac9b docs/models/createinputinputkubeevents.md: id: 47eb0b866fc0 - last_write_checksum: sha1:5b8535eb7b879c5862dce29112e435570787c265 - pristine_git_object: e2445f7938570f7ff0b38c2d733e2ff1b19716b3 + last_write_checksum: sha1:49e51e7173be8f8d38ffdc8b632ff156b5e16b8d + pristine_git_object: 309fd07fa4c6d00ad5311d5d4e047838ad634800 docs/models/createinputinputkubelogs.md: id: c5b79127f396 - last_write_checksum: sha1:6c02efe70aaa1be219004cbf274ff18ecbb3b574 - pristine_git_object: 8281ede17dbf69bf6157b1783804768823f335e1 + last_write_checksum: sha1:45f364d43ec2a7820b9c168d4fa6be29d1044670 + pristine_git_object: de7ed55b855be009fe5d7995908ed8047533e114 docs/models/createinputinputkubemetrics.md: id: e42754185352 - last_write_checksum: sha1:268b8b65f3f4b895c205f7af3eaf8523576d6bbe - pristine_git_object: 52d6e6a193e20fbafe190341ac6718b6651654c3 + last_write_checksum: sha1:e25980216524c3f7850ea0f531276c4b5701ed27 + pristine_git_object: 4c0c430bb6e3f4a010678de996d25ffb64d17348 docs/models/createinputinputloki.md: id: d756b6dd0ccb - last_write_checksum: sha1:60ad9652fa040977024f2f9d46e1dcbdae2b1518 - pristine_git_object: 9c3249e7d55ce06bb01a6d4f34ef961fc6b2c627 + last_write_checksum: sha1:97ad4423c9ae68563808ee1e4089653f03100c9c + pristine_git_object: 455262f4694c7b980c092d06ed2287c9cd192ee2 docs/models/createinputinputmetrics.md: id: ecbeb2cf290f - last_write_checksum: sha1:699a314c9543968d7aae78e8d48a616e0f32ed0f - pristine_git_object: fd0228ff565566e7dabcdea9aaeb8481e908e346 + last_write_checksum: sha1:1a07634a2e77952cdd00f67fc055860cd00b2cfb + pristine_git_object: 463971a21522392846a3223090b9811d383a37fd docs/models/createinputinputmicrosoftgraph.md: id: 4bd82657dc90 - last_write_checksum: sha1:d69c362d3503853a590213220d6b9d4e9b9e72fb - pristine_git_object: 76d5af11d2916b1f94a28881b8607203414a7965 + last_write_checksum: sha1:6c38a7bea4c26463bcc587ff3a2c6b67456fca1c + pristine_git_object: 510b2e3907d7ee952ef77b1b5f24b6fbcfa35cb9 docs/models/createinputinputmodeldriventelemetry.md: id: 51f28f0fab6b - last_write_checksum: sha1:1e5c726f6c500b2e812ae94646e3e3d37d952863 - pristine_git_object: 982b7fb467fad154caa638af90c1e0c23e3bccba + last_write_checksum: sha1:fc3991b1a820e0ab9016c10543320d135fe2ac94 + pristine_git_object: bbf96c56b31116056cf65893682075036209ae9c docs/models/createinputinputmsk.md: id: 15adcb66d053 - last_write_checksum: sha1:74a8eec17311bb4ab83641931bee58b7f08c652e - pristine_git_object: 9c7ae020e26af79f5928a85aadbf53725952786a + last_write_checksum: sha1:46113106fc7a1823bb8e8fbbcffcbfc5ab74bb25 + pristine_git_object: 1183a2aa4d8111eb2ec778c6e081338bf0ffc67b docs/models/createinputinputnetflow.md: id: 1ca2f9008285 - last_write_checksum: sha1:39d68158d2b46fe0d450ebe6da628a39c3249a2c - pristine_git_object: 799078cccd39b7fa7a91901e1b76a08bbf3edc1b + last_write_checksum: sha1:76fd2f15d92f6b04507394b95850ef1b3fbdff58 + pristine_git_object: 19005d3195742d68922f1c7412de655baeb42650 docs/models/createinputinputoffice365mgmt.md: id: 46a34f6835e0 - last_write_checksum: sha1:ef208632ffbbc8f45388616dc0d71e8230f0c457 - pristine_git_object: 2224696452fef4ac382eb6b278845a4931d2fa6c + last_write_checksum: sha1:5d80a3da61f1c9a23503906a2971909dea83b990 + pristine_git_object: 2dce5030971e095847002b40220e254f9feeb8f6 docs/models/createinputinputoffice365msgtrace.md: id: 4c5758f6042c - last_write_checksum: sha1:751f02a679123f123334906258d672bd551b4156 - pristine_git_object: adb3976120758d1ac8ab4194bf6e28a29c0e9e31 + last_write_checksum: sha1:4f26e81a8f354f901dfbca69280525616682de40 + pristine_git_object: 23350a19780d921cf1d54fe663d46ab7f9ac96cb docs/models/createinputinputoffice365service.md: id: 2ee9f32c385d - last_write_checksum: sha1:ed8a04f2edfca823ebfa069c3baf4b0c3b6e82b7 - pristine_git_object: 460e837972e97e6dc99b0625070a6df77c9f1a94 + last_write_checksum: sha1:0f27a3ff362cf6f04d9f6e88de854411f6bec6b7 + pristine_git_object: 2b173e35774d1e97bf8f76cb68e78d41c353511f docs/models/createinputinputokta.md: id: 88241090c957 - last_write_checksum: sha1:2a9202aa3b2016e0267ce10cbeb96bead7c44dc0 - pristine_git_object: 2b8425e92b2b8db0c95bfe6d10e4cff2dbf349c9 + last_write_checksum: sha1:2572ed5768562eae442446ac9098722a2fbbe6c3 + pristine_git_object: 8c507349b1078f88a85d6c05299568b605f28d20 docs/models/createinputinputopenai.md: id: 7ff04ab6beeb - last_write_checksum: sha1:5055824517049353ba53a41a792a336c486156f0 - pristine_git_object: a1d62e5f6bea71cdbecefaa2bdcf0d94a494e4d2 + last_write_checksum: sha1:eecf35761311eba08410834f12a84cf9c3876392 + pristine_git_object: bf9bc33009a803c03f20e7d611f9cfd2958b41f6 docs/models/createinputinputopenaicompliancelogs.md: id: 2f30d630ed3b - last_write_checksum: sha1:ab218de09902160c01aa29617d237a0408e8f252 - pristine_git_object: bacc2a6d8c311481d152ae3b9f2b620cb791036e + last_write_checksum: sha1:8f422a75e5bd4542486dfdc43af3efbf6b572ad4 + pristine_git_object: 490a9c63a40d22e38bfa420f8d8938a910106f2b docs/models/createinputinputopentelemetry.md: id: 7a0edfa30cc3 - last_write_checksum: sha1:bfbc79a56ce8701734b64ad5d1dfa555f03affbc - pristine_git_object: 8b9f63a7ad041031a307f3b0089be0041cc9b79f + last_write_checksum: sha1:8d636e70268ebeaaefabcfea796d1439fbda0582 + pristine_git_object: 392dda945dba68ccde9f548bfa553558b6140cae docs/models/createinputinputprometheus.md: id: 646e34e21d66 - last_write_checksum: sha1:c6f057c6dcd5d769f88a7352e01ecce05eb7ce40 - pristine_git_object: e9d9d8cf9ebaee6afe04a36026c8027cd37cc266 + last_write_checksum: sha1:2349574b69297c45f83a96ad8e4a3fa15ee165a2 + pristine_git_object: 37f3a9cad79f8c9da6f58488835d93504a350318 docs/models/createinputinputprometheusrw.md: id: e52eef6a03d6 - last_write_checksum: sha1:530789b241202fef069947fc182610dd9967746e - pristine_git_object: a7e4e6bfb5cb98683e19e3cc08ab3a611ca34bfe + last_write_checksum: sha1:e98d3a2cd5c2cddae1fa7f1b1d28c3eb360e2aef + pristine_git_object: 1d2ea43fb46ea7c7e8b0ca1c06fd2176d59425d3 docs/models/createinputinputrawudp.md: id: 59725c2a1d3c - last_write_checksum: sha1:10614f0099f4b3a53f96f39d4902c924445957fe - pristine_git_object: 96a4c646745b140b31cc029f7cdeeedd8fd80067 + last_write_checksum: sha1:29b703e3a0820b9e30dfdcabdff53aff24306911 + pristine_git_object: a8b3ea629a31c151cbc3c2f38add4bea2c9a162a docs/models/createinputinputs3.md: id: 29538a4d9531 - last_write_checksum: sha1:4fad266713f2e68114bf34ffb634efff7465d4e5 - pristine_git_object: 73735f6e2e96e0bd5b7dbe1da7006fe3b0edf9cc + last_write_checksum: sha1:6e539e2339c9ca68ebcdeffa96957dd3db771c9b + pristine_git_object: 91a07a068f86824e76bf7124a761a3a134a10bb7 docs/models/createinputinputs3inventory.md: id: 035e16b2ba0d - last_write_checksum: sha1:e4619615dba9e710d3fe3925d137781d6b7e3adc - pristine_git_object: 20fcf0856788925d5ed666ba6202bcbc22215faf + last_write_checksum: sha1:b0fcd57260a48ae8e6a4119e525117d53379e7cb + pristine_git_object: 93176eb786a2971f361f637ab06c2330555c7642 docs/models/createinputinputsecuritylake.md: id: adfd47f46e98 - last_write_checksum: sha1:303d4c6c8109528ce3c7840808d67455b57f4c56 - pristine_git_object: 7aae0ae1ff57d3c8b6bdaa6e1c381b3da2d659f7 + last_write_checksum: sha1:cf64802d3c71f281c9d279411c47d6673febf67f + pristine_git_object: 8db42fb924c2a22930949cf074cded6c744892a4 docs/models/createinputinputservicenowtable.md: id: eccd9e60eef3 - last_write_checksum: sha1:15a4ee4b602ad8239456407bca31371e006494cb - pristine_git_object: 0790f35f27607a3a259e7df93d8d31521445d7f2 + last_write_checksum: sha1:b46ad37c815f6264e68f7c7490a80e2bb016581e + pristine_git_object: 3d44fa9890083a544ed4195ad0fff534cd60d8fb docs/models/createinputinputsnmp.md: id: b0cf9ded46a1 - last_write_checksum: sha1:2d1f7eac2a9d1d6b4fb5abb2d67a68242e93fb76 - pristine_git_object: 00217c31cc8aab667cfc422ade3d696e0d70d7b6 + last_write_checksum: sha1:4066e5be1e3230edcdce4feb7a7008533d3edaf1 + pristine_git_object: f866790403e03e0c6bf169299a0cf15bfc8f4b7d docs/models/createinputinputsplunk.md: id: 9e82761d7180 - last_write_checksum: sha1:eebd3e48339a27570f93996312d21f6d071faa86 - pristine_git_object: 319ecf9a7c7fbe8e6b418e9ea9ef291c0cdd4443 + last_write_checksum: sha1:bf84382a46c68f099395ef6bf00f4713ed67f24e + pristine_git_object: 1ebce23d84302d7b9195bc1e076a30b720cb7a5f docs/models/createinputinputsplunkhec.md: id: 68a8c70d44e4 - last_write_checksum: sha1:7ce3299fa5accc725f511cd9400fd24ce86e5c30 - pristine_git_object: b50ade6221353fc5f4c2d41c4bdfa6f0a8562542 + last_write_checksum: sha1:2949713f2b55e9edf1c1f181cca51ff12abde288 + pristine_git_object: 1b0d5807cd73ce44c112c6e5ca4c4f2e18235d3b docs/models/createinputinputsplunksearch.md: id: 175694c304ae - last_write_checksum: sha1:3b72e261b2f295fadbd8b859c02660a77596900b - pristine_git_object: 57e7baf4d01db0daa59060ff49a18e9f34338fb0 + last_write_checksum: sha1:dc76e7272bf5be8b4a08e51d5fcabfbb501885a8 + pristine_git_object: 8c9a8c5aa895dd0235109c32e5b5708bd620de04 docs/models/createinputinputsqs.md: id: 4588e475bcac - last_write_checksum: sha1:8601b951a276c4f1e1a84dba18a757b8e9983406 - pristine_git_object: d54787b88f6169c9be1e246057ff7f91e18b2cd5 + last_write_checksum: sha1:fceac37abcf7f5cec3a2e326466801541d275b20 + pristine_git_object: 496e3a3fc5314c3406f83366ddce85d11b69a912 + docs/models/createinputinputsysdighec.md: + id: b93bb78b500b + last_write_checksum: sha1:090bb7cc293a126fe155c91baa2b3deacaea1abf + pristine_git_object: 26b09baf1624d15c997655550e4fd72a35842559 docs/models/createinputinputsyslogsyslog1.md: id: 2598e5bd5369 - last_write_checksum: sha1:1f66ab0148e8d0f510a030e42b123654d877220b - pristine_git_object: 865fa0f084ef430e9094bc3f0e13bd9619ac9a1d + last_write_checksum: sha1:b227730c6174da15d68b9a128f8207141a75b0b8 + pristine_git_object: 2ebd44a12c07825912361ce5f336d1fdc171b760 docs/models/createinputinputsyslogsyslog2.md: id: 036fa6894ba5 - last_write_checksum: sha1:e34dc5e3d210f3a625794c220b833e92e2591483 - pristine_git_object: 2d3eaabf2b88e675b1d81733cfba78e11a4b7268 + last_write_checksum: sha1:f471e85ab67aa5ae5408064cc9d20f29b23cb091 + pristine_git_object: 65e976eb99264a589d532fc5ec37f1548dc29528 docs/models/createinputinputsyslogtype1.md: id: 9280b8341dd3 last_write_checksum: sha1:9f2a877f55b28239c71318fdaf2f6e781a93f2d7 @@ -1260,44 +1284,48 @@ trackedFiles: pristine_git_object: e19ab7db92bf4cafe6b9694bba9ee1237ea4012c docs/models/createinputinputsystemmetrics.md: id: 49c834651d59 - last_write_checksum: sha1:5ecc9fb31be7b4267f7e117ef59a345b4359582f - pristine_git_object: 0d0664c16fbeb2d7f4fcf89a185cb0bc4a69fb09 + last_write_checksum: sha1:9300cf6ef9e669ac441ce0652cc477e9e13b5230 + pristine_git_object: a80332341064bf320254bbe33288c0621fb4b777 docs/models/createinputinputsystemstate.md: id: 466ca637ba49 - last_write_checksum: sha1:018f95f46b9892502732f6951bd9b26448cd35ec - pristine_git_object: daf0252679ab6c0f3b54577d094a176817524443 + last_write_checksum: sha1:e3dd4f3577648ebc30001bb19a9bc5dfd85efce7 + pristine_git_object: 59652a04ec561e3101cc152f0c25daa82c057df4 docs/models/createinputinputtcp.md: id: ee9df6e10a37 - last_write_checksum: sha1:a85b15d206d51ce1fa2cceea101dd2448ba90b87 - pristine_git_object: e4d70356ed0d6af406b495c1a0a9f8c92f689509 + last_write_checksum: sha1:05e0c806feb8b89f282cf62a09e1cf5a72ce1948 + pristine_git_object: 16da33e3f12d095459f1aa6e2ba3a398113e86bc docs/models/createinputinputtcpjson.md: id: b1b2c5d217a9 - last_write_checksum: sha1:dc0af1a4315b47108cd87720da5451acd75801ab - pristine_git_object: 7e333acecab991535ce79df24450e08fe9966106 + last_write_checksum: sha1:3cdb70a7c7d27b6ad4cb00a1f65a4108f62d0c26 + pristine_git_object: 1dae3a5ac398d618b161fecf18ab2b5b7c59865a + docs/models/createinputinputupwindhec.md: + id: b6563d547ce0 + last_write_checksum: sha1:67f6afab6fd79bf3fd81f4e0153dcf6b621310e1 + pristine_git_object: e60234f1f53c75febec810c8459bb6e9c0d16f31 docs/models/createinputinputwef.md: id: 892051f2da13 - last_write_checksum: sha1:e424476344f7a4bf8d94c50ea2281d4d45469e9e - pristine_git_object: 9c93800c464eedc2f48ebf6df7aab98fc05b427e + last_write_checksum: sha1:6ed332ae32a7b8614ae2121243c8365711896849 + pristine_git_object: 835b4a08caf44c15b14c486f7b72ac6e16f8a8c2 docs/models/createinputinputwindowsmetrics.md: id: 164e8672857b - last_write_checksum: sha1:ffa0f70ded2ec5cd64fc632ab68f8a608b362a49 - pristine_git_object: b2e1f6c3a7a89bd93745b8b44d46807dbf68d3d6 + last_write_checksum: sha1:7ee59f494536ad44f0de25290868525f59a3271f + pristine_git_object: ef46555a937453cb6f0efb22d711fbabce41d8ca docs/models/createinputinputwineventlogs.md: id: a2e8e887fa70 - last_write_checksum: sha1:8d49b1f4cf7cd7db5f4e3eac8598dbe771a8a954 - pristine_git_object: 81cee1c43efc49b7cd2429b58798cdd4ed086a5e + last_write_checksum: sha1:b8e41602e6847dcf681f6fb613f86060d64d32f8 + pristine_git_object: 015bfd594d3094bc5e5d8d28a535e3773aed23ac docs/models/createinputinputwiz.md: id: 3910ed1c35b4 - last_write_checksum: sha1:70cb7bb57f3c357d031ecdca92638aceb296f9b0 - pristine_git_object: dc50de1b652741d92adf5ca46230ac644ce311c8 + last_write_checksum: sha1:f9ecf84e65fc177c7836d98bdc65e7c064beeaf9 + pristine_git_object: 10b6190223894d40ded65f6c2d4828179626fa6f docs/models/createinputinputwizwebhook.md: id: 021e73e8970d - last_write_checksum: sha1:8dec38737f2b761858ebe31248196944c4e13c26 - pristine_git_object: 14825ea2f22a7281d64c1ec70b5970d7878eb1da + last_write_checksum: sha1:83d44544931240ed2301f5194e9c5b297f8d0402 + pristine_git_object: 214430df0839a5acf31b2daf2ce030a1cd8b7987 docs/models/createinputinputzscalerhec.md: id: bf76ebe658e3 - last_write_checksum: sha1:3cc976287256f8229668f20f607430fbfb7d1060 - pristine_git_object: af789b28cf742605e29f7cdb0e2056a448f11cc8 + last_write_checksum: sha1:5b269f1d8a430f37300eb2b09598edf5bcd00ab5 + pristine_git_object: e3c34bcdedc8301f10c8846bf1233b86e50c39d3 docs/models/createinputinterfaces.md: id: fb6b44047ff1 last_write_checksum: sha1:90389e31d1782f80f07a54b7c329113209727fa9 @@ -1436,8 +1464,8 @@ trackedFiles: pristine_git_object: 35f505a6ddeb244e42c8715b5c6dfaa0be1bbbdb docs/models/createinputproxymodedatadogagent.md: id: b7d8628a020d - last_write_checksum: sha1:c28b7f1a301b1bab01e06b076690bca4366a5ce7 - pristine_git_object: 6fcbc6e6caec3f5d97d8e69c431b6830c0b63c13 + last_write_checksum: sha1:050b1e7ab231887389e4246604bb7a37e9b45812 + pristine_git_object: 5148c8e8a1680c1583f3cb9392681e4a5dfbe2c1 docs/models/createinputproxymodeelastic.md: id: aff343d5e3fe last_write_checksum: sha1:4f5fb3433655aae18e1dec24e0c3e5bb77036ad2 @@ -1468,8 +1496,8 @@ trackedFiles: pristine_git_object: 59aedc3a3cd2911a5471b782563eb12994c00c9e docs/models/createinputrequest.md: id: b860c68cdbfd - last_write_checksum: sha1:671009b4c62ebf1adaa238cd4e71cd966ca68d23 - pristine_git_object: 3ab983b9d63eec33610fd7c43f3cfad3535b323f + last_write_checksum: sha1:7420720b1072286320dbced65a5dcb403218a4f9 + pristine_git_object: 771e48138baa115c6103e5e7fb26d0c2c560df7c docs/models/createinputroutes.md: id: 224fe393413f last_write_checksum: sha1:95fbd9d53c89b05947133c019ec80add9d032a10 @@ -1482,6 +1510,10 @@ trackedFiles: id: acdda7ce68e7 last_write_checksum: sha1:a88fc358441fe6d6344fb0f78f225d0ec03e425d pristine_git_object: 6fc0a77740e90e8eaba51be5f8bf8885abed9426 + docs/models/createinputsamplingrule.md: + id: 2e0d9cf9349c + last_write_checksum: sha1:f400d622290dce0393de309fb709dae134c831d1 + pristine_git_object: 110faa289e0499d23749d06ddb41bf3dced17b7a docs/models/createinputscheduletype.md: id: 0c1a20980b76 last_write_checksum: sha1:f479cf816de3da9d02986c6cef3a947e8caff21e @@ -1532,16 +1564,12 @@ trackedFiles: pristine_git_object: 67958c135c54cbbc071b80a63c49a91342a33191 docs/models/createinputsystembypackauth.md: id: 0301b6b19e1c - last_write_checksum: sha1:1ba4479a2b37459262aa609fc7e8addc7f05ae6d - pristine_git_object: fb0531cfc3fb1f67dd36f2cbf65f445429de3408 + last_write_checksum: sha1:348155b7d7f550c490efa52614cf1c15aa0d3ee2 + pristine_git_object: ab7fe057c57cb4e6448168bc7f1e2aaafc5f8d60 docs/models/createinputsystembypackauthenticationmechanism.md: id: 9717211a5b80 last_write_checksum: sha1:f0853681f118454a265140899ae0ee8a3def0e92 pristine_git_object: ef996b88c0e277101d2d84f584ced8d8759edccb - docs/models/createinputsystembypackauthenticationmethodcloudflarehec.md: - id: 37ce67004f4f - last_write_checksum: sha1:a7c9f9572de5194f2a6d41b64d2791ab61df339f - pristine_git_object: c1b43b277b5ee56c8901d4895bbd2aa89062e833 docs/models/createinputsystembypackauthenticationmethodedgeprometheus.md: id: 1e381d0f42a6 last_write_checksum: sha1:c46c2eadff6d00a1e1528f29abb027b76ce08567 @@ -1590,10 +1618,6 @@ trackedFiles: id: 613d6476e1fc last_write_checksum: sha1:3935be117cd577cb8e3ebcc05d96862c5ad7bc98 pristine_git_object: 8366a47658a7d0681622224a73e7c117ad163c97 - docs/models/createinputsystembypackauthtokencloudflarehec.md: - id: 09122d4e4f24 - last_write_checksum: sha1:363fcc4db7716dfa0c75298406ffa3698e17d256 - pristine_git_object: 1ec9fe1e083bca1e8264fd1aad602a883bc6f95a docs/models/createinputsystembypackauthtokensext.md: id: d97bbd111275 last_write_checksum: sha1:78197cc3b99b9bff886f8d61f66c97e3420c55a0 @@ -1604,8 +1628,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 @@ -1614,6 +1638,10 @@ trackedFiles: id: ad62de702664 last_write_checksum: sha1:cc9fc76f60a968f95241a0f59304b324235fb20f pristine_git_object: ee859542d0ab9b8537bf7e19cf64a9bde108a0f9 + docs/models/createinputsystembypackcertificate.md: + id: ee50fc08c7b2 + last_write_checksum: sha1:a270fc337982207415b67075b110b98ce73d42b8 + pristine_git_object: d71f3f6f5538638217a93ea141d11a0acb336021 docs/models/createinputsystembypackcheckpointing.md: id: bf1b9ecb5de6 last_write_checksum: sha1:8ed98e5e41c6685572562463fc362651b1df59d3 @@ -1636,12 +1664,12 @@ trackedFiles: pristine_git_object: dc3572421989be598876283deb7f7cb9940849de docs/models/createinputsystembypackcontentconfiganthropiccompliance.md: id: 9c7f188ab582 - last_write_checksum: sha1:95f929ab299c32b6b9b580c539f4b140673663e9 - pristine_git_object: 7428acef37a6b2abe98810e76afe768f5ebad62f + last_write_checksum: sha1:c9b241fcb0d563a55ff13e7a22392a295815be06 + pristine_git_object: 27035c8eb89d16c6e58f4c12101f0a3814b3c17b docs/models/createinputsystembypackcontentconfiginput.md: id: 06ea8d90625c - last_write_checksum: sha1:023c4467a7b8b1d092874c8754db0117f828ef14 - pristine_git_object: 2dc250937442e53271cb0f4ab52504eb8dad2a1d + last_write_checksum: sha1:a48f6fd36044a1e63f35fbd6e94ea997f08b81b0 + pristine_git_object: 3bca2ed195fe5a255b2810373ee78db60666ab88 docs/models/createinputsystembypackcontentconfigoffice365mgmt.md: id: b520840cb933 last_write_checksum: sha1:fe9413abd7a9f324924a448373aeab5d320afbab @@ -1680,12 +1708,12 @@ trackedFiles: pristine_git_object: ad3760d76901e8ab28e2a38a03745ab89865c5ba docs/models/createinputsystembypackdiscoverytypeedgeprometheus.md: id: 16571c9e2ead - last_write_checksum: sha1:6fe1f9f5a88378b9dad912f10c77c58a63eaa555 - pristine_git_object: bac78f545aa475456ebd573432fe05371d6a3236 + last_write_checksum: sha1:dce9acd21796d83f961e37266085b05461644d92 + pristine_git_object: 079e6abdf97facd73a21049fdd4f7a0c6f82b9c2 docs/models/createinputsystembypackdiscoverytypeprometheus.md: id: a13358d37a92 - last_write_checksum: sha1:b39d3bd4369679545c703c35a19de1ae9b967f52 - pristine_git_object: 309835c03c46de1b57445e217f38c68bef629fa9 + last_write_checksum: sha1:128dd6d1864a01ef4c71dcd0a8f47324fe8fba25 + pristine_git_object: 4e28f7c9fc5549e5eb6aaf5cedb71278609aa3af docs/models/createinputsystembypackdiskmodesystemmetrics.md: id: 266c40e4a053 last_write_checksum: sha1:88d94c877a3230fac1fc68652d64edcdb11e1d68 @@ -1718,6 +1746,10 @@ trackedFiles: id: 944a865e6caa last_write_checksum: sha1:6ce969235ec6970ca9fe2371b6ae7dd2f0a0584c pristine_git_object: 26bca30a7c047c9158a0d6483d498f144b25913e + docs/models/createinputsystembypackendpointname.md: + id: f2acd2cf6c22 + last_write_checksum: sha1:ce3c6320d3815b304865f4b7feb9c5dfed393679 + pristine_git_object: 9844abf47f4307f9e631616ed6ea941153b0449f docs/models/createinputsystembypackendpointparam.md: id: dba84974899e last_write_checksum: sha1:761ead95b61e7dd1d039a5aa93862daa7ad32193 @@ -1764,92 +1796,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:bf478d5c2a2ecaa22680ce8530377fe4e7679406 + pristine_git_object: 771ff7aa69c2ddb43d7e6f65c0c981ecf3331376 docs/models/createinputsystembypackinputappleunifiedlogs.md: id: 815af1a95329 - last_write_checksum: sha1:9b137b7e8e07859e78d45eff83dd062463dad0c9 - pristine_git_object: e6608594cd58846f7b5312c299c320e927dfb30f + last_write_checksum: sha1:77d25d6fa4a8d8769f32f2ce0aee9fd2ec174649 + pristine_git_object: f4993cc2abf3749e05f4428581568610cdd43ffa docs/models/createinputsystembypackinputappscope.md: id: 7f2753eed7c8 - last_write_checksum: sha1:4deacf0882acf3efca55c28afabcaf6b5bef07ed - pristine_git_object: cfd8881bf398d6599e081a12c05a8af7d896e0e4 + last_write_checksum: sha1:15d549b63e21ef96057402136806c9d1109c6ebf + pristine_git_object: baa000a97da87a71c196e68c7d57e88a31c407b2 docs/models/createinputsystembypackinputazureblob.md: id: 4d75b7ae19ac - last_write_checksum: sha1:63172b4d69906657a254fdfd7240d77ac7379d6f - pristine_git_object: 066406454158753db02821fb0479ee7b79e929ce + last_write_checksum: sha1:b7f4368330d8233b69f80e630dd4b8e27984724a + pristine_git_object: 8c065a45e7ccef82ae4b9a255590569fe94883d4 docs/models/createinputsystembypackinputcloudflarehec.md: id: 0ff7d0ce041c - last_write_checksum: sha1:06fa97f6060872b7506d1df6619dfa3def5a3f3f - pristine_git_object: 533df1f714aacb75408b76d55e5ec65dc54dbe7d + last_write_checksum: sha1:ce2c240cd60c5c43fa55197dde1883d5dd3f5e5c + pristine_git_object: 15241ece0258b63e5eb2b1f3b6e014de006a6c9f docs/models/createinputsystembypackinputcollection.md: id: f6ea5f2bbf86 - last_write_checksum: sha1:6327848e6aac35d7101ce9cafbfd8e7b269e74e9 - pristine_git_object: b0a198e89ae8e5321b9fe7be98fe7810bb06014f + last_write_checksum: sha1:995044944a4820e48ffd1c99a9bdb552e1f7a29c + pristine_git_object: a5c87c461cd64e3c1b25a6f0cd3c09b7b2c4b915 docs/models/createinputsystembypackinputconfluentcloud.md: id: c930e9d0440e - last_write_checksum: sha1:ad93216effd0c8b1035d18711f4bf44a1cc15cdc - pristine_git_object: bea850ff59ea17739c661d5ac74c85ee9be041e6 + last_write_checksum: sha1:02bbd8e89f67dc522e37c1086fa91dee39777a0d + pristine_git_object: d35a90ce2d0acd1a940ac5975f555d30e3969a2f docs/models/createinputsystembypackinputcribl.md: id: 6a5e219a7b9b - last_write_checksum: sha1:3e1a6e8003cd4ad5196416a45fae5b42af3212e4 - pristine_git_object: 535fc635198e3ab84ed32694c7ce43e998aa3671 + last_write_checksum: sha1:4bac65c32e14124dce5d8a63576a9eafb18cbfac + pristine_git_object: eca30e9573c053e9677fb14e96c1b84a2e078a20 docs/models/createinputsystembypackinputcriblhttp.md: id: ff4acdc9859a - last_write_checksum: sha1:8beb16539ffba760fcdfcf9532e3c1f64805c4da - pristine_git_object: 8ef7ceb3913d85ef1596e652337d6d96aef3391d + last_write_checksum: sha1:accc371346d91a9dc09660d1c8fef81de8f69606 + pristine_git_object: f4b7192ca815e9dbf754821edcd5ebf62fc9f54e docs/models/createinputsystembypackinputcribllakehttp.md: id: dcfb32f376e1 - last_write_checksum: sha1:cafb7a8cca630e1c9dd324b2126a59283c0c1e65 - pristine_git_object: ee9c522a090f2fd14bbfe9a9105dbfb0a7012ac3 + last_write_checksum: sha1:067fbed34245c2303eba4ffad8fc57d85814737a + pristine_git_object: 2beb56488c015bbcc4f2d12c1492cbda7d0ae366 docs/models/createinputsystembypackinputcriblmetrics.md: id: 4fc745225746 - last_write_checksum: sha1:25b7a982e015c02c8d41c21773fa0c8814d58496 - pristine_git_object: 835c72fbd7313c8cc96c81ebf591f5e77c6dbba7 + last_write_checksum: sha1:88b98dcc60ecc39045300b76300afb7c1d0bfc83 + pristine_git_object: 6d54dcd02b88e065a47998447162e2b302f2a07e docs/models/createinputsystembypackinputcribltcp.md: id: 16093cb6c388 - last_write_checksum: sha1:90f0904f3063245a9a9455c64d4cbb9879154cd2 - pristine_git_object: b114512105e6b60e69dfeef36e6527041b417c65 + last_write_checksum: sha1:8d9cd37265443f099d1a287ab0a24fc79090b3ba + pristine_git_object: 31fea960f590364840a2994b800c2c6eda3f2b4e docs/models/createinputsystembypackinputcrowdstrike.md: id: 68e141071a80 - last_write_checksum: sha1:ec57042015f15606fd3da0de4fa20ec94f97e9d0 - pristine_git_object: 3f613ef2e50b0eca740fa4c4f90f4b46188a11c6 + last_write_checksum: sha1:5220349d3c96a88914d2f898fa2155f73ff65520 + pristine_git_object: e727283bf799e7c4cb3ea2ada799af31c9864892 docs/models/createinputsystembypackinputdatadogagent.md: id: fbe1d2bedb6d - last_write_checksum: sha1:86fbfb51dcabb11e867dce9a6a2c6a4273bb16e7 - pristine_git_object: afac18c83f17f5ab86e1cc9faae34348d230a3ac + last_write_checksum: sha1:9c864c970fb694dd78197b8d2c233d5a2d17b7d2 + pristine_git_object: 0150404a8683e13d23400819c57d49f909442b5e docs/models/createinputsystembypackinputdatagen.md: id: 81ec36f32950 - last_write_checksum: sha1:380adf04cb57ca9bc288aa12ea0ddb0c29ca8c62 - pristine_git_object: 9423c874c3c4d926bc37691133d40bdf8354f09f + last_write_checksum: sha1:39fdf6ba48a24d23f7190005933071712cd4bff0 + pristine_git_object: 7f0068271191145e061987e0fb4edfa069cd1484 docs/models/createinputsystembypackinputedgeprometheus.md: id: 6e26d1358be1 - last_write_checksum: sha1:7730ebc965cb7a13bf76cf065f5ab35768ae42a8 - pristine_git_object: f84544ee7cbe4897baf8dd1ff08a74b717c8ad51 + last_write_checksum: sha1:3616421f2232180669b3f49677d32c8b4a8a630b + pristine_git_object: 1eee9f6fb7cbbfdc739d6ccb900008b3fa95253a docs/models/createinputsystembypackinputelastic.md: id: 227bb3344dbb - last_write_checksum: sha1:9010fa869f0a1b843b4f5ea2bb70dabfeb2ac5cf - pristine_git_object: 94b177107fc8dce0a8e1e557f4fdfffdadcf020b + last_write_checksum: sha1:cff020203b9bef01958dc443846de2d3a9949354 + pristine_git_object: 426abd84b89d79fddf7f7f1565dc41f912e84571 docs/models/createinputsystembypackinputeventhub.md: id: 887d52c0e941 - last_write_checksum: sha1:ff1743a3f7bc438aa654153888c09c1740a65baa - pristine_git_object: 096f7c1620084a6c231f23540bc7226908d0b188 + last_write_checksum: sha1:d73f969570d34ad68a80c9977130562fc36b5499 + pristine_git_object: 08bcf9e9a8129b030d47d3372e6abaac483d7970 docs/models/createinputsystembypackinputeventhubamqp.md: id: e66e221b7074 - last_write_checksum: sha1:1c478696dd247e412e9d9b656a7252dc5b349d98 - pristine_git_object: 5c1018178125523daeed5f9110dbc1356348a53d + last_write_checksum: sha1:083c82b28b24e9eadf23cc4a4ecb4b5265ef9e02 + pristine_git_object: eebfb71b79d6dc9aa0075acb463f1f176a385536 docs/models/createinputsystembypackinputexec.md: id: 6c3ad780d2ae - last_write_checksum: sha1:7e287273cab3701878be1ccf201340c5166908ac - pristine_git_object: 798f1971edc2ff38f96df0ad28bb7c803536b71c + last_write_checksum: sha1:e1ec033974304510b246307e2281a9fade6c3e11 + pristine_git_object: a12c505e8145d5d97b90219a20cfbef1390a2226 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:5ee4fccf1838f52e6d88265aabbdbe32b567bca3 + pristine_git_object: ab4377f190a5b5a8ee1104860d53caf659925d6d docs/models/createinputsystembypackinputfilemode.md: id: d431a823dea7 last_write_checksum: sha1:b3b44965c55c37f2963b49777f9081a2799b8a1e @@ -1860,44 +1892,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:5ee114289c3d8afc362463631614dd2a869cbb1e + pristine_git_object: 4ec395d3d349b36be29a7c4dcc5e9fe2d94fbaa8 docs/models/createinputsystembypackinputgooglepubsub.md: id: ca5d408cca21 - last_write_checksum: sha1:92d19870508c770250ff064f2baeac6b218225fa - pristine_git_object: bacd07774d58f1ad550d427708580d43be3bce4b + last_write_checksum: sha1:89fa717b6f2207c7aca2f219e1258e5c772d277a + pristine_git_object: 75eeeb3bd9162f89a81ad61b4e564b6fdbcecdfe docs/models/createinputsystembypackinputgrafanagrafana1.md: id: 813c5e510f20 - last_write_checksum: sha1:42668174ed0d632a9fe0eaa4d2a4fc55181dccf1 - pristine_git_object: b41ef2765d910d8974a300ca92d131052e78b76c + last_write_checksum: sha1:2707dd2715e5b31a12aaafd93b43897e5dabeb69 + pristine_git_object: a95fa8219d46e17916cb7800b288398597224cc0 docs/models/createinputsystembypackinputgrafanagrafana2.md: id: 83e43cbb73b4 - last_write_checksum: sha1:01c25dce3cf276f48c7f20a9fcb98d8fa9544789 - pristine_git_object: 9e50bea34eb78ac97d152bcc54213ba50295c630 + last_write_checksum: sha1:b1f777ec89cec1aed7cf4d33aa8c42d1c29941d4 + pristine_git_object: e2d2d31b0028eced4ce80bd6d247c2d839a42fc3 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:b47ec971d1cf8753c3b4a4ffc412aa240a647c05 + pristine_git_object: 1796f433f0e02020381af643be44b5a88c47eacd docs/models/createinputsystembypackinputhttpraw.md: id: 6eef62749e27 - last_write_checksum: sha1:bedeb784fabc10b4f54c3584cba7a790f9485e04 - pristine_git_object: e6a1ae5d61c403550f823833376a8c88a7f5d75b + last_write_checksum: sha1:1786d5387b1bf93803481bf85443b1b832f9c14e + pristine_git_object: 304739a2d4610d603f6966f403b83f4c63335119 docs/models/createinputsystembypackinputjournalfiles.md: id: f4fbfd2a7b09 - last_write_checksum: sha1:b32c7fe73537d17d2177be7f065af1ee021b8672 - pristine_git_object: 0cc25f5cefff04e4c55def2c45ec826d1c6f8fc4 + last_write_checksum: sha1:0bf0adb2c19638bb2a4da1ba99c7823719541808 + pristine_git_object: deea3b48ce25c7ae3465c531db23dcf90640c834 docs/models/createinputsystembypackinputjournalfilesrule.md: id: b7adac10942b last_write_checksum: sha1:afa472c2cfcd3643b2065009262f5dfa389002b7 @@ -1908,132 +1940,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:81c249d8861ac559647b004fd11cba17ba632996 + pristine_git_object: f26990a4a79190ea7b069aca1b95f266ebf3b162 docs/models/createinputsystembypackinputkinesis.md: id: 3daa324bd3e5 - last_write_checksum: sha1:e22ce1c11089f524a25bd5958defaa65ef74d609 - pristine_git_object: 18b5ac30317b6b2c10a663ee69ca54fa39c831be + last_write_checksum: sha1:59f3167e1e57a44f43cdbb501a7e7472ee07eeaa + pristine_git_object: 24113e76f1996540011aad68abc5875ebf4f44f1 docs/models/createinputsystembypackinputkubeevents.md: id: c33f890cfc47 - last_write_checksum: sha1:ced853a6a58e550f9e5191e75bc18142cd51f8aa - pristine_git_object: 92dfd433ed1b774cd755be37ecb1865f30cc6e6b + last_write_checksum: sha1:233dbe698f5d6dec149e6ab26a5299a5da5b0c93 + pristine_git_object: 63697b3d8a36e45411c0289a90ed7be3fd89c000 docs/models/createinputsystembypackinputkubelogs.md: id: da9b8da4bea6 - last_write_checksum: sha1:3bdebf4e62f30902922a4393c3a24ac982836494 - pristine_git_object: 4323a312252122a886aa1cc6fb2ada98de4c36f5 + last_write_checksum: sha1:73f2b58f4b5045bfa7cd3c34e7e69c01dd73201e + pristine_git_object: 85204c025422e17944d0b21c24a26c33be933211 docs/models/createinputsystembypackinputkubemetrics.md: id: 2ad3c0b42808 - last_write_checksum: sha1:c247264137cb88ffe57fb682632ad93559a178e8 - pristine_git_object: 8c9d731cf016fce78bf28bc4db9064687d91899f + last_write_checksum: sha1:895a25cf6d21d6df0a89d867af416ce9b3e0744e + pristine_git_object: 7d8e36c99cd2e1be406777c329101f94bcf676e6 docs/models/createinputsystembypackinputloki.md: id: 5969ccc30536 - last_write_checksum: sha1:72813bc31d178d02850d723c48322e0f738e3731 - pristine_git_object: 816bc8babb61734984a5eab3dd562787189c19db + last_write_checksum: sha1:20d3eb34b57ca7849f8fe046704010d9300d07fa + pristine_git_object: c62969ec237d36b6de5782a0c43a48f4583f30dc docs/models/createinputsystembypackinputmetrics.md: id: 259e461cc2b7 - last_write_checksum: sha1:e12965afa56682628d2bd024cab30ab3a16a2b8d - pristine_git_object: 6b426b75323114a7734fc1e99a7bed2fd7d8c40e + last_write_checksum: sha1:ca56ba647ca6f1c6095eb38feed5399a4052d8f0 + pristine_git_object: d94c176c425cfedb0de58fc438cc0a3fd6a870b7 docs/models/createinputsystembypackinputmicrosoftgraph.md: id: cee0c4fa9690 - last_write_checksum: sha1:3096790fb51e99010062ce42091d05731b285f23 - pristine_git_object: f50dcf1a8b63fc95d4d4d7a84ce13a8428cdb11d + last_write_checksum: sha1:cb8ee420989d0cf833443fcf767d971120a8c990 + pristine_git_object: f563b65ee5f91014102ee2e0a06a7bbfb9237bba docs/models/createinputsystembypackinputmodeldriventelemetry.md: id: b5d493a18772 - last_write_checksum: sha1:33f2e7e38397c87dff95b0c787fb9b2e1434fa9d - pristine_git_object: 61819cbcd0780e9535fdd882520c77a358677b45 + last_write_checksum: sha1:3d0911f039fed48851ca503126dcbdc01e9395e3 + pristine_git_object: d510738b4c728891b4220717f1370e716b3ffc50 docs/models/createinputsystembypackinputmsk.md: id: 545b078614cf - last_write_checksum: sha1:1ef63973ba825778703a9ba17120e8654be48486 - pristine_git_object: e0f9985022d47ec8a23b797dc3ce631753392eb5 + last_write_checksum: sha1:86a14a84f8ad6bea40ea5e764b39d138191dca45 + pristine_git_object: 40b7f7ed2434064cbce1d3638fe6f6d8c65abd7d docs/models/createinputsystembypackinputnetflow.md: id: 4d77d67d0cc4 - last_write_checksum: sha1:b55acf4b08b4fea7fb120792588929898041c733 - pristine_git_object: 720774151133d897b32b20fe9884195930b61a4f + last_write_checksum: sha1:b23911860ca2f7d79733e91698ddcc4f476c246d + pristine_git_object: 2f7b602afe3866a1ed9e50d2e4f48dfdb8cbca58 docs/models/createinputsystembypackinputoffice365mgmt.md: id: 8deb8ec7d5dd - last_write_checksum: sha1:03bf73d54ba7225f3130201f76f947740f37110c - pristine_git_object: 616655b68a5e0b996adb71da2cff25c01d0abe4b + last_write_checksum: sha1:a6819621c00140edd504de4a6bbb4fdeaa9a9c5f + pristine_git_object: e6599fb350a6b2e3ab52a618d02add4b79d11ec9 docs/models/createinputsystembypackinputoffice365msgtrace.md: id: f46284ba8b80 - last_write_checksum: sha1:34917613489f616c7984bbed48ef424957831e2b - pristine_git_object: 79b574b7649b9f38430e63d3949e4be2c6908d0f + last_write_checksum: sha1:7840aa4c7d7b215462af7c54dd45271e027d4861 + pristine_git_object: ddb201bb46fc3af8c7f4df5037a310462a887d20 docs/models/createinputsystembypackinputoffice365service.md: id: 1763c2cf7782 - last_write_checksum: sha1:76242181a1cd60d5ea13b28585259bbc6eb5655e - pristine_git_object: a9ecbc13e80b724b9be53a8fe88720d9c8a337db + last_write_checksum: sha1:6feb4fd97614c821e9a1a8c2c17377bbd5724de8 + pristine_git_object: a45e53c0f4d219a169441cd41b519dbbaa8018c0 docs/models/createinputsystembypackinputokta.md: id: 52091e863246 - last_write_checksum: sha1:de0e39b9b31cb9d6a66338f864a640e6c1d06884 - pristine_git_object: 7bf20800e88817eb01e5620ce7db271e9123ad31 + last_write_checksum: sha1:8dcf08cc6629050d0d05e7b29281afc206bf8960 + pristine_git_object: 17d0c20f9732a4f10e910dbdf9a2b0d7eadf8ed9 docs/models/createinputsystembypackinputopenai.md: id: c6d0b299ac44 - last_write_checksum: sha1:b6e91b2c52e7472b5905f5032a0676676b06beff - pristine_git_object: 49479a39f51464df03f72bc3029a87bc66517313 + last_write_checksum: sha1:fb2bab5eda9d5a6c6aee1c2f48e8d5d9ab02163b + pristine_git_object: 7a816e2ffb5224cc5164cd9f0fcc4b48283de0a7 docs/models/createinputsystembypackinputopenaicompliancelogs.md: id: b0f398c624fc - last_write_checksum: sha1:329a00afc7bc781ff5d96d3beb02f877e2bc7f12 - pristine_git_object: d5adea62b4628675db9b7eed310f809ea2c90c3f + last_write_checksum: sha1:34bfad8909b59a1ef301f34ecaf77bffea0a5fd0 + pristine_git_object: e67f16ffd977cb1953a934599cc3ac8c11ca62e8 docs/models/createinputsystembypackinputopentelemetry.md: id: 0ec7be5ba927 - last_write_checksum: sha1:ce7fbb59dac8b8ce731cd83ebd26dc9557a1c57a - pristine_git_object: 460532a070c533751074955d64e7fe5a419a3fc5 + last_write_checksum: sha1:303818c1ae6230f97b0e5829980b589c5e161446 + pristine_git_object: cf0860f9a30a5b6f915bedd95bb0c597b3078d54 docs/models/createinputsystembypackinputprometheus.md: id: 7be6aa5c7aaa - last_write_checksum: sha1:fc330f38707a7267e9cb2607cc486860ec7c08a8 - pristine_git_object: 755a7209b7cc5562abe92aeca1a2886903717310 + last_write_checksum: sha1:d920b189b9c4e7e6a1755f55c9dd181ed9e92f63 + pristine_git_object: b4352d348bf353e2ceeae81e16de39b2838b6937 docs/models/createinputsystembypackinputprometheusrw.md: id: 6919dd351613 - last_write_checksum: sha1:58328529f8613f24cb38bbec465a5ceb0d607e32 - pristine_git_object: 31144295d86c1f495e119a97c03a09098d38e3b6 + last_write_checksum: sha1:7bb4ed8a5ce0c300a005246f35a4b437696e23f2 + pristine_git_object: da7eca1e5bd5d991293c5b764621f3c53b955471 docs/models/createinputsystembypackinputrawudp.md: id: e683a0fd30a2 - last_write_checksum: sha1:961983b59032b24d397ef7e918d08d74b7d10521 - pristine_git_object: 24d15dad4a44afb160238975f4f186493f480954 + last_write_checksum: sha1:d0b2f38fb213e64327ffd0a09b1721261883ee8a + pristine_git_object: 9776a2fd7651ba8516a6e85b458dec9624495b9b docs/models/createinputsystembypackinputs3.md: id: 25d0f4cda552 - last_write_checksum: sha1:2c3bbf664d82ddc28b68bbab9d9a85e111aff0b0 - pristine_git_object: 337c9be189c8082d65f8356249f022a548e349db + last_write_checksum: sha1:216198576474422919dd7ff0500b4047c5f08364 + pristine_git_object: 07b85440eadf828ac934901c5a31cb287a86fce5 docs/models/createinputsystembypackinputs3inventory.md: id: 839665e25184 - last_write_checksum: sha1:c55d5d4191148ef193f39c6dd71de4372b17ace5 - pristine_git_object: 084fcac81620c59450cd137d4067dc1c3021b5c3 + last_write_checksum: sha1:9c12817d61936d7012f04c9c53147dfd5e7e8767 + pristine_git_object: e24e209c53e600b1af0eea857578dffdd2217f5d docs/models/createinputsystembypackinputsecuritylake.md: id: ac9dff92a056 - last_write_checksum: sha1:dde4caeb8705f9d63434f46cd020987357e838ba - pristine_git_object: d8c4cb95576064bc3c35c9d966e1ee44a17d198a + last_write_checksum: sha1:85e2a8618789ddd5e2483ef28f65503616ae55ba + pristine_git_object: 5d4d78acac2f81e9b4c9254d751fc34bb11ba4ef docs/models/createinputsystembypackinputservicenowtable.md: id: cbfc1c66d533 - last_write_checksum: sha1:ea12a76f64ff2afd09662826e602a59c9161352a - pristine_git_object: 19577d1e4378e9ac210d2c4f9d5565e25e0cbd10 + last_write_checksum: sha1:65229a37b5d9519b3aff967755fd2b43a70c9466 + pristine_git_object: 6df004cf508fbb0173224b5c45e96377b872d10c docs/models/createinputsystembypackinputsnmp.md: id: fc0d33ee8aff - last_write_checksum: sha1:18cc0c3ce56c50709b08fb6fdcc7cc7bbe24ddc1 - pristine_git_object: 8aa2cd7e39a62215353efb490a33d1e2d672f4d7 + last_write_checksum: sha1:c01193513a6330afec8d5866ca616018a22632e6 + pristine_git_object: 532537287253686ca681fd43b3f513c16e706cb1 docs/models/createinputsystembypackinputsplunk.md: id: 61d7af30953b - last_write_checksum: sha1:6d9a50ef561b9320f4df62b5463582ff4e99cfa3 - pristine_git_object: 243f6033f0c33837497bf0a47b391eadde303851 + last_write_checksum: sha1:ae517eacb4e3a7198ba9c232386fb2140c4440bf + pristine_git_object: a2e5a4a4d133fa686a0b4dfd4e5c8ded86229ca4 docs/models/createinputsystembypackinputsplunkhec.md: id: 1efee85529e1 - last_write_checksum: sha1:4d1806c1567545fae30408b823fd0d345b618091 - pristine_git_object: 7e9e867c2cede138fbf0b23d61b3d578b60fd330 + last_write_checksum: sha1:1c44798d7bd0bcc61d10d4fa376e02db561e36ae + pristine_git_object: cf5251534c0192822419dcfa19e16897ed52afa8 docs/models/createinputsystembypackinputsplunksearch.md: id: 541f7c144ac4 - last_write_checksum: sha1:c3b2b2c531a1df6c47873f5b7275cda8db49bb6b - pristine_git_object: da4a6e6818b5fbccf1378ba7c8b917b98bf07524 + last_write_checksum: sha1:df390343ba598d7d307994bcf3e4bf86c57f73c2 + pristine_git_object: 1b824d19f61c3992cabbdd4a5512e10bc1d8a27f docs/models/createinputsystembypackinputsqs.md: id: 3adbda590e19 - last_write_checksum: sha1:644d8d325bdc63096c85de6b7d1d01495fd5cb13 - pristine_git_object: a08d2775a6dbe6b1f08fadd21e201050347ab296 + last_write_checksum: sha1:fc1d58dd9e34c3dce1ee1015307d598074f5566e + pristine_git_object: 099e54aecf367e9e3447469e689ac9d16b3c9199 + docs/models/createinputsystembypackinputsysdighec.md: + id: 1b113d7b2485 + last_write_checksum: sha1:06f8b27477a88aefe8c7c4d135747bf3577e9eff + pristine_git_object: 0021a31a9bf7b8ff9ce6aa19cdd7c32f10887fe0 docs/models/createinputsystembypackinputsyslogsyslog1.md: id: 844a96f8412b - last_write_checksum: sha1:920ff9cf98d5a739297124d6782aaf8597a8f254 - pristine_git_object: 845574e682f57d8097d9d7950257a20abcc3816b + last_write_checksum: sha1:7a6e4386dde31bebd18ddc88eb30f6e41b15a31c + pristine_git_object: 29fdc699422ea26841d20caf9c5c010e4af0590f docs/models/createinputsystembypackinputsyslogsyslog2.md: id: 50d59b2fceb9 - last_write_checksum: sha1:3e9d9590a284aa10fb7b805c9cc666e53cda30d1 - pristine_git_object: 737b4117aa7af71898511cf6437fd4957635f682 + last_write_checksum: sha1:1a59d7534607ea9f8098eac33bc3addc320bba8c + pristine_git_object: 6afd9f60141ea119efbe3631f3e9477e5a6dde56 docs/models/createinputsystembypackinputsyslogtype1.md: id: 680fde4e7d5d last_write_checksum: sha1:9f1673ffd22edc97d3a726e65f92863c844662ec @@ -2048,44 +2084,48 @@ trackedFiles: pristine_git_object: 21216e0e638d90e0a740181475a8453e970b31c4 docs/models/createinputsystembypackinputsystemmetrics.md: id: 5874ac74e489 - last_write_checksum: sha1:df519f66da326f7fcd02fc55e5b5f7311a4ec2e6 - pristine_git_object: 91fbf1e73f4c24be6ec81fe50ff8b33f37d72237 + last_write_checksum: sha1:b5a3701a5da3fae69f3eb4d7ceca6b6210c726b4 + pristine_git_object: 25b7b0b53f209c89314ddb367fed2cf5a5c9e6c7 docs/models/createinputsystembypackinputsystemstate.md: id: 1cc345274f65 - last_write_checksum: sha1:f017f284957aa5d4bc7318f8fd8e0880c9f3720b - pristine_git_object: 9b39219993de4d5d4aea30a94d2087494567b72f + last_write_checksum: sha1:f012e1b8ec0b157c91060ad3a2be8c2170326c3d + pristine_git_object: 1e58c2cb31af2eb36947347bf369e7c6fe052017 docs/models/createinputsystembypackinputtcp.md: id: 01b7a6966f26 - last_write_checksum: sha1:c5f59b24a407423937742b4dc88cc4099da4793a - pristine_git_object: 0d569150eb6d257f08183cc45dbbb2a8b0963930 + last_write_checksum: sha1:6ef2a62daf122a2cc683bcf79c2e2ca7d78ebb3d + pristine_git_object: 2a6c6faffa70ad287ea4593ccdbe03bed88f85fe docs/models/createinputsystembypackinputtcpjson.md: id: d027d9b38537 - last_write_checksum: sha1:221b75fa15a49f651987ee20012fc5a97b4aacde - pristine_git_object: ea84242f212aca9ec7e798bca0b7c69cef54515a + last_write_checksum: sha1:51ef3317b01bd046ec24a61a668449570e3692e2 + pristine_git_object: e427338eab655de1a0467273fb1d49bc636589c1 + docs/models/createinputsystembypackinputupwindhec.md: + id: 60d34783c38c + last_write_checksum: sha1:53a23b81cfa473694b85863c779fc11d997b1680 + pristine_git_object: 8d7a3ecfb008f34470fbf1c91d88c2fb667bae3d docs/models/createinputsystembypackinputwef.md: id: ca39966df855 - last_write_checksum: sha1:56a06c9c4137ff09262fab3ff822297756665605 - pristine_git_object: 87e6c65fee14a1f54e109a9963834f2996ed9c46 + last_write_checksum: sha1:c4637e99e523f6733a180ccdf03682deb5d45319 + pristine_git_object: 62d95ac58bcb648bc0a9e7deece2d2d431f53834 docs/models/createinputsystembypackinputwindowsmetrics.md: id: dc2c9f07a234 - last_write_checksum: sha1:efedec89cd99d74cd5b7b173214c1841183b7557 - pristine_git_object: 460e9ad3099dd01616dd96667e4f4b322f974cb9 + last_write_checksum: sha1:4c01067d4de31aeb35b0309e60fde421ff569c9c + pristine_git_object: 88011f733b7ac8dddd38a8f556fe0b99c3c4e887 docs/models/createinputsystembypackinputwineventlogs.md: id: 27586396d5f5 - last_write_checksum: sha1:0dc84c211cb5a65e51ad76a8548ecc0a24829ed9 - pristine_git_object: d493b4c8bedab264cbf3e1df1afa22d832dd45b8 + last_write_checksum: sha1:6ee988be79976cb4c62c59ae92feb17ca138ffec + pristine_git_object: d93575d321e5513d4ec9c5ac732ae1c5cc4bd15b docs/models/createinputsystembypackinputwiz.md: id: 8996448c13a6 - last_write_checksum: sha1:2af2abb6ebd88f5d8552a495565b6c7633445058 - pristine_git_object: 59fee43a1d9ad99174aae22084655d62e320e169 + last_write_checksum: sha1:7e3b89851999be77511548e75b64b10ecb1187b6 + pristine_git_object: bf66326abb1ad2620aba97eb26355a137a39c27e docs/models/createinputsystembypackinputwizwebhook.md: id: 96f136902560 - last_write_checksum: sha1:b589a2cc1b1e98b4098e0dcbc49b5fbe1964141f - pristine_git_object: 75b5167b3f85597487dab5b51dcce2558b757da1 + last_write_checksum: sha1:0d2d3baf91f94ce74b841b901714f27315196f54 + pristine_git_object: df872d62793aba52644cdfc0e100db64a307eb00 docs/models/createinputsystembypackinputzscalerhec.md: id: 77b1fb689364 - last_write_checksum: sha1:2bdc37b3cbc546bfc88c699e05366fef88cda938 - pristine_git_object: 7fcea69ee7a3c25a840046fb9bc0e9c8ca844827 + last_write_checksum: sha1:ddbf2f9a7c18a5687a562315f396f4bb9bb71255 + pristine_git_object: 47ca5f6c91031d372189ca179e8d74730731c6af docs/models/createinputsystembypackinterfaces.md: id: 08fd0bd17167 last_write_checksum: sha1:0493f0bf40a63e306dacacb57f353ce32e5e2835 @@ -2224,8 +2264,8 @@ trackedFiles: pristine_git_object: f61611f7f0827a8a62a04dc734aeae68f2f42bac docs/models/createinputsystembypackproxymodedatadogagent.md: id: 9d47175d4fc9 - last_write_checksum: sha1:e54d33e6a92fe8e3d28c7e70d9cee5f4cb9d4881 - pristine_git_object: 7be66ddf93bd82c8effaa32799a6712aac7808a1 + last_write_checksum: sha1:f9237fbc9a48360e81e77e830ad7e6640bcbe65b + pristine_git_object: d23bc09ef0f2ebfffae41b82cc528e1862ff353c docs/models/createinputsystembypackproxymodeelastic.md: id: 2d15a5cfce8c last_write_checksum: sha1:52d19db4688793c0c66ab9f463f7d6fe9327a5ac @@ -2260,8 +2300,8 @@ trackedFiles: pristine_git_object: b7cf35dd475e99335929eedb300e203e56301c67 docs/models/createinputsystembypackrequestbody.md: id: d93cb25ca010 - last_write_checksum: sha1:7a8ff07b4da05a4b786f21bae6d40a5db4666099 - pristine_git_object: 11fa2f2bd7408ef358e6f86ffc39d9015ead85d2 + last_write_checksum: sha1:7ca69d78127c52b998bdc6866fc64213cc02492e + pristine_git_object: e3088d4651f13a0f5375a1a6ea728c2184516d27 docs/models/createinputsystembypackroutes.md: id: e572355de282 last_write_checksum: sha1:ede78afa51d390a231e62eb1b6e374b23c4fd4e9 @@ -2274,6 +2314,10 @@ trackedFiles: id: df4a0358e45b last_write_checksum: sha1:e7c523c037c16901dfb0e5b40f83edcde307dd0a pristine_git_object: c9c9147b2404927491b0f92037b7b5977a69ffd3 + docs/models/createinputsystembypacksamplingrule.md: + id: 47c0381f2d70 + last_write_checksum: sha1:6f95f2bf17d306af3649e804ace503eee3fa6299 + pristine_git_object: 927975429c9bbf59ccebbdb51aef1d1a763e0580 docs/models/createinputsystembypackscheduletype.md: id: b5e42d5de77a last_write_checksum: sha1:559c3df687b427f37a52b56cc3e9b931552050b2 @@ -2352,8 +2396,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 @@ -2368,12 +2412,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 @@ -2388,8 +2432,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 @@ -2400,8 +2444,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 @@ -2412,20 +2456,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 @@ -2448,8 +2492,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 @@ -2496,16 +2540,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 @@ -2536,8 +2580,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 @@ -2546,6 +2590,10 @@ trackedFiles: id: 8da279e9d35a last_write_checksum: sha1:0b11b44078de359ef78698b9512462c105843038 pristine_git_object: bd64eaf0cbaa2469861d75e4d8564c768e9ea392 + docs/models/createinputsystembypacktypesysdighec.md: + id: 71abfe35a90f + last_write_checksum: sha1:4eba5c4a2aa87d91d374c334fd9a7d681e43e0c2 + pristine_git_object: 35bdfd99f7689703589202738d6bb0a7312c4596 docs/models/createinputsystembypacktypesystemmetrics.md: id: 60d0595cf052 last_write_checksum: sha1:c157be847fedd5a0b1dfec1703857ba13e1e0bce @@ -2562,6 +2610,10 @@ trackedFiles: id: d3442ff55324 last_write_checksum: sha1:14c76d39c0158057f3574f8c2cbc137ac8b99faf pristine_git_object: 0f435f503fa56b531e6f8422fc1c3d075bbd8dc4 + docs/models/createinputsystembypacktypeupwindhec.md: + id: 46d5ae8bd188 + last_write_checksum: sha1:b006bb52b556431e7abb9fc8012f0945543553f5 + pristine_git_object: 989f6c056b0ccb2573fba567bfac028a9b6a527e docs/models/createinputsystembypacktypewef.md: id: 8085e55a3884 last_write_checksum: sha1:1630fafd2c7959d4cccda4ea20ab7d65a778ad82 @@ -2580,12 +2632,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 @@ -2644,8 +2696,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 @@ -2660,12 +2712,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 @@ -2680,8 +2732,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 @@ -2692,8 +2744,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 @@ -2704,20 +2756,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 @@ -2740,8 +2792,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 @@ -2788,16 +2840,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 @@ -2828,8 +2880,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 @@ -2838,6 +2890,10 @@ trackedFiles: id: 180f0b00a233 last_write_checksum: sha1:ec2f8c883a01cef3a381aec942321da118328d7d pristine_git_object: ef479fd9c84faf6d97404e31b4071db848dae44a + docs/models/createinputtypesysdighec.md: + id: b35a1417b728 + last_write_checksum: sha1:0317af2508262233ffb65764882a1db706d7e313 + pristine_git_object: a9c2be0f320eb89d4f96e927b456b972f17f5a77 docs/models/createinputtypesystemmetrics.md: id: 7fb8237af3c5 last_write_checksum: sha1:57065dc9742d2d945796d36943271085a5688052 @@ -2854,6 +2910,10 @@ trackedFiles: id: d638d15248ab last_write_checksum: sha1:c63f838d5b8eb737ad4b7d3ad6134dc6c529c6bf pristine_git_object: 803c4a7f52f3d3ec78367ffa2143b9efadaeb346 + docs/models/createinputtypeupwindhec.md: + id: e8d823ef9cf4 + last_write_checksum: sha1:77252135ea347f91a2acaf664bf8cfdaa5c69036 + pristine_git_object: a90462a883b0352ee2e6cc4e94afc18da9133fd5 docs/models/createinputtypewef.md: id: 8e078c86d751 last_write_checksum: sha1:c1b19700d18ccf22c12da8d5c7f475fcfc30d9f5 @@ -2872,12 +2932,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 @@ -2906,6 +2966,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 @@ -2918,10 +2982,6 @@ trackedFiles: id: 33864d6cb1c1 last_write_checksum: sha1:e167032b42dc88447a1c900fb5a4f2bae95dd84e pristine_git_object: a29798c0385da8735daccc59815d6a00d03b92f6 - docs/models/createoutputauthenticationmethodcloudflarer2.md: - id: cb400b46dfd8 - last_write_checksum: sha1:b4a97e57b86bc3ec0854bceb20de85fed9c989a7 - pristine_git_object: dbe0c2b4bff2858932c8cbd7ffd3187d70217040 docs/models/createoutputauthenticationmethodgooglechronicle.md: id: c48c9348da81 last_write_checksum: sha1:1fdb85bbd689e27d10b4959684c6ab3657688502 @@ -2946,6 +3006,10 @@ trackedFiles: id: 681dace6160b last_write_checksum: sha1:f27d4fac43a3b2b04ba32977cbf1ab79e1ab14d8 pristine_git_object: cb5edf3432cc62ece668e3bc899bd7be7de3f193 + docs/models/createoutputauthenticationtypeprometheus.md: + id: 49f8046a95fb + last_write_checksum: sha1:68a9c3886bedd9f36ad765bd546a62ad80cc392c + pristine_git_object: f4e78b4c54f8059aeb15c77431a47847ecfec07b docs/models/createoutputauthtoken.md: id: 63e9d0181409 last_write_checksum: sha1:dec6a2b3b30f99b497e09e9156e8e6dcf2bbd9a5 @@ -2954,10 +3018,6 @@ trackedFiles: id: 874b9fa30c12 last_write_checksum: sha1:a604747fa0f2069343b1f5a8467f689b6733da5a pristine_git_object: 3962927b7a8fd331e17a2a22a83b21da8852d67d - docs/models/createoutputawsauthenticationmethod.md: - id: 6d59fbd7173f - last_write_checksum: sha1:9ea46efa5ac1c6b6e538e0ac56ae6d24455fd0d4 - pristine_git_object: 2a06b901ee59632e6461e5c58453916df66444c3 docs/models/createoutputblobaccesstier.md: id: 7dd2e15519af last_write_checksum: sha1:a52b666ac8964663f7524ae34962812fdffa2eb3 @@ -2966,14 +3026,10 @@ trackedFiles: id: f192ed1ad2d1 last_write_checksum: sha1:f80d46e96fd9b027ec7c6f78e1c5972b54b23a26 pristine_git_object: 1dd90b789eee5e24ca9a595d05978c4d38111672 - docs/models/createoutputcolumnmappingclickhouse.md: - id: f156929c45b8 - last_write_checksum: sha1:d6edd5d1153fba123decbbc3ca0553b3fd3aa54f - pristine_git_object: 7440d842c0096910242944a6e15e3fc6cf702f15 - docs/models/createoutputcolumnmappinglocalsearchstorage.md: - id: b352e7a07555 - last_write_checksum: sha1:2e2b02eb10eb7ee5b4a91f7a11d939f03357d614 - pristine_git_object: b114e5306a9a57974553d97ee7902b835d5d422d + docs/models/createoutputcolumnmapping.md: + id: 2592950b077b + last_write_checksum: sha1:6d98f28fb535dc5698f5458ceb57f0565865084e + pristine_git_object: f2b2cb0df527d299d14d085a0d4f5ce5c19aa540 docs/models/createoutputcompression.md: id: f904e2c5103a last_write_checksum: sha1:45048d1840634b9824845bac28b1be9a529ba724 @@ -3002,14 +3058,18 @@ trackedFiles: id: 35fd34324291 last_write_checksum: sha1:7e9b9a68d121506dc407df6ca6b85464737db81c pristine_git_object: 3ee0ce22449a6293fe41066b5da9bb5e3a9c11ee - docs/models/createoutputendpoint.md: - id: 67e9d9760b1d - last_write_checksum: sha1:ec78c353de962cfabb1e1219ca14bfcffd6d16e4 - pristine_git_object: 76d02127f9802b32ecf377293415127b94f1f492 docs/models/createoutputendpointconfiguration.md: id: 62d324c4bbd7 last_write_checksum: sha1:5dd6dcf3413b7e05704de3c42f97c41b3457f1fd pristine_git_object: 880f158c23a38e80fb29f03e9da559ba977af2cf + docs/models/createoutputendpointdynatracehttp.md: + id: ac31ff302169 + last_write_checksum: sha1:5ffd77fd409d15fbc3ce75a3ea2b989fcf4511ac + pristine_git_object: e8cec37e53fc4f261522b3158c23cfc8f29be005 + docs/models/createoutputendpointgooglecloudobservability.md: + id: 71e77d3f6984 + last_write_checksum: sha1:a13e9bb70450723f4593cb1fa55715a98451ccb6 + pristine_git_object: df075d4c151639dd6b603e3f20e6ca4ec240f417 docs/models/createoutputendpointtype.md: id: a7e13d51cc84 last_write_checksum: sha1:6d77e191face7f0d81274022aa62febac91a7e59 @@ -3028,16 +3088,12 @@ trackedFiles: pristine_git_object: ee69570dbf98e2709f8a99c052c48db710348284 docs/models/createoutputfieldname.md: id: 6ec144b21703 - last_write_checksum: sha1:1488b7dc3dfcaefe32ca63c2bae4acd178a17261 - pristine_git_object: 9421a41aaef919c0e606e64d342bb2ea78c985f0 - docs/models/createoutputformatclickhouse.md: - id: 28e11e5549a6 - last_write_checksum: sha1:b8912327549a9a6b86ca5509d1333bbc996bd969 - pristine_git_object: 16e8bd31f73c4bbb8074b5d231513c7414ec9fc5 + last_write_checksum: sha1:8602bef01aa3eac1c1272f479fb90469a484b102 + pristine_git_object: b3a24e9ced7fb7ecd5d03c04670bf889f013386a docs/models/createoutputformatcribllake.md: id: 1826c7a15fdd - last_write_checksum: sha1:5ae14e8b93b793349a4322dc8aa11923ef8cf1f6 - pristine_git_object: 944ce29dda7362c42cf2e7fd28612766aba0efe2 + last_write_checksum: sha1:64a4552240b322d59471cd1989571dd10237bf77 + pristine_git_object: 769db1ada3fe561226474a53bc0c85120e28d570 docs/models/createoutputformatdynatracehttp.md: id: f11076fd32c7 last_write_checksum: sha1:28dd0092c335fa5b0ea546bcb8432d50e964e454 @@ -3050,6 +3106,14 @@ trackedFiles: id: 1e2fe4eb0110 last_write_checksum: sha1:56cf16f4aa06f798c797d7658e94becc2e11f302 pristine_git_object: bd4a7d168e11e511e7f7f73bda4420ae0a438164 + docs/models/createoutputgoogleauthenticationmethodgooglebigquery.md: + id: 869828c10deb + last_write_checksum: sha1:9418ed052899c84af7ebeb57dde1001bb9e56bb2 + pristine_git_object: 9ae4c1ee38e26d5ce11404afc6c1914752a07a8a + docs/models/createoutputgoogleauthenticationmethodgooglecloudobservability.md: + id: fd8c6b774ae7 + last_write_checksum: sha1:fdf62144a82318a69ac8446089a6e41fffd5d7d4 + pristine_git_object: 9c6dd6be46db5cfcf8f2cc58e0f4e931d5afae5e docs/models/createoutputhostnetflow.md: id: 59fa5e300635 last_write_checksum: sha1:5949533f1b8684d67e0872aabd5200f5845b6023 @@ -3074,174 +3138,190 @@ trackedFiles: id: 70d92297a4b7 last_write_checksum: sha1:d06d7c991123bfdf52bc57c276399e85975de34a pristine_git_object: bc26c05835689ef5d13aa2f214871a737df388e7 - docs/models/createoutputmappingtypeclickhouse.md: - id: 474681406c76 - last_write_checksum: sha1:75f11596c02e8eed09b6fcab762f579e58bed9e1 - pristine_git_object: e80a343e8fbc1e2d0698fe262222970f3149a1dc - docs/models/createoutputmappingtypelocalsearchstorage.md: - id: b3170e51c515 - last_write_checksum: sha1:e1ffea791b093c3e01d894470e7ffbae3477db9c - pristine_git_object: 061ddb68d83ba07fa9f3f984ea5bd32bce76b693 + docs/models/createoutputmappingtype.md: + id: 1f1810cbfb00 + last_write_checksum: sha1:87869b8065091c854fe8aa333af4facf6c0305d3 + pristine_git_object: 7d6462fef764674260a0ed76697c8406b56e5223 docs/models/createoutputmessageformat.md: id: 709e7175fb93 last_write_checksum: sha1:90fbce4d1a5e0bee9955025ceebbdc936c8af920 pristine_git_object: 7dd5c7b4056aba9e7c7f1f97c7479129c677a8fd docs/models/createoutputmetadatum.md: id: 739e32dc75dd - last_write_checksum: sha1:e1a5404150b3c5b3fd655f7b6775be8eb9d3f9b5 - pristine_git_object: 7dbf6b21b107e783b86ac67cc1d52f61e6cd444d - docs/models/createoutputotlpversion.md: - id: 91f4748a7123 - last_write_checksum: sha1:c7fdf58e538086e844bccec611612b89b87d34e3 - pristine_git_object: 5abdfb0f4b36a842922cc1551c42e1da5b1ed7f5 + last_write_checksum: sha1:9d3a6f7e87d6b8cf4ac0ebe0b5ee9487c51d1171 + pristine_git_object: 834165a51ce6f895a277cfa2835df7425fc1a689 + docs/models/createoutputotlpversiongooglecloudobservability.md: + id: 8612bc8189f7 + last_write_checksum: sha1:4ff9500ef7f97e69db34eef6bf0ac069abc8bcbb + pristine_git_object: b260d994b67af111a08da6998335b938f21d5fb7 + docs/models/createoutputotlpversionopentelemetry.md: + id: d1e637cb9acc + last_write_checksum: sha1:9cebecbf5f954f0f701455bcb803513c461103b9 + pristine_git_object: 2c4a20b7e1dbb60fc4638af2aec182e442fb19e1 docs/models/createoutputoutputalibabaclouds3.md: id: ae7402d1afd7 - last_write_checksum: sha1:e58c21ff0fd152491154efafe765626fbf7a746a - pristine_git_object: 2807c447019d9db13dcfdf6eadf82b33fcae905a + last_write_checksum: sha1:614e19ee3e8a61e53554546d6f89b8afa9b90c75 + pristine_git_object: 05a518f4b2b2f69e4b1ad60a68b7a92d2d94d5ad docs/models/createoutputoutputalphasocs3.md: id: 47adf9995a65 - last_write_checksum: sha1:d5d8b1ffd2053ef634669b92e144d73025fbffe5 - pristine_git_object: 00d1156dc87c376b0930cfb6c7b21a6deb51d2e1 + last_write_checksum: sha1:b791047cdd4627eb3fb2fee5c47af271d4649881 + pristine_git_object: 4c1ae6bb40714fa1a587dbb6d074dce79d9ed720 + docs/models/createoutputoutputamazonmanagedprometheus.md: + id: f82b6fc54a21 + last_write_checksum: sha1:3cf3d305a7cc310f26ed485887a3de4d7cca8b34 + pristine_git_object: f2eaa6c011d3e765846e097ea7242633b32a69cb docs/models/createoutputoutputazureblob.md: id: 21c5b2747a25 - last_write_checksum: sha1:f60355ed39cbd8c4950648cd9538372f352cbae7 - pristine_git_object: 57c21bf7281d946f2515422f5f367ea1d08bd5e3 + last_write_checksum: sha1:c1c0ae7a6410cb72db3b8e5b0423fedcc85d436b + pristine_git_object: 7b8166ce273520cff1ad1e402076547fba8bfa8d docs/models/createoutputoutputazuredataexplorer.md: id: 08d8318591f7 - last_write_checksum: sha1:95704d8d444821272ede6b50e4f1d89b4d0a7c19 - pristine_git_object: 75ff341cf337ec6822ea034af84deb1fc8450ac2 + last_write_checksum: sha1:27fa9b1d6a1292dfc31ba5e576e8c6965b844165 + pristine_git_object: 932735e1556060c019f0b5d95e8e74a9ea39d8d2 docs/models/createoutputoutputazureeventhub.md: id: 25053cc329fb - last_write_checksum: sha1:0ed6c15f3c452f04836dc42783af4292b74a636c - pristine_git_object: 3f68452ed03882d47e1feddb5dbd8229beb70646 + last_write_checksum: sha1:46e013bfafc1553478d1e711a195e794ae3db5e8 + pristine_git_object: 94149812527d7da263ff10acbe70550122830254 docs/models/createoutputoutputazurelogs.md: id: 5f4ff5471b4a - last_write_checksum: sha1:bc2c9908c7f2d5b96126cbacb12dbfb9fc6523d8 - pristine_git_object: be1c2a4484de9a4f8135e02ff8123175ee9b03c3 + last_write_checksum: sha1:a4b539b340272d17b0ee35bfad9d0f9be8d8da29 + pristine_git_object: d453d7270c46ba94f516b26ccca1f77cc9f2fff1 docs/models/createoutputoutputchronicle.md: id: 0e1174a12b2d - last_write_checksum: sha1:28fa95a4b0faed8468f634b0698900357b860a8e - pristine_git_object: 510bcb6465f0232dcac2cff509f75785744fa04b + last_write_checksum: sha1:a9b0777bc280a61a1ab234c770926faada514cbc + pristine_git_object: b470217231d0f32c26d9e1495b063a782f6264ed docs/models/createoutputoutputclickhouse.md: id: b666def4fa91 - last_write_checksum: sha1:09553bbee7a9779bb116468731a17d0b122afacc - pristine_git_object: 0ffad1f95e7e334ca802034eefca8ba6b4934dde + last_write_checksum: sha1:d0fb4d45352050964bdd93073e9630cdd2557853 + pristine_git_object: 51a8f024c41753375a0ddc46080d7921b08d314b docs/models/createoutputoutputcloudflarer2.md: id: 4ee32170abc4 - last_write_checksum: sha1:40c51e96ca30d1431fcad3846997fdce6cc71e3a - pristine_git_object: f98bb3fecaaba3780b0fed75ad7e3af7e14e3477 + last_write_checksum: sha1:266001dbbfb0da2f36cd9ce25219fd2624f3564b + pristine_git_object: da27e287cbaa6fcb3b620617342cd76a098f2dc3 docs/models/createoutputoutputcloudians3.md: id: a3c035e79abe - last_write_checksum: sha1:ae89a5e1a843b5587fe3b630b771639be1efac15 - pristine_git_object: 7e2873d7500a3abcef06ca40c015b0ea3535eb52 + last_write_checksum: sha1:5d8443ffe8c26782066c8bb94014e09d6c14b864 + pristine_git_object: e83fda35986c84a49467c9ec1d303e7bd02c836f docs/models/createoutputoutputcloudwatch.md: id: 6839cb338310 - last_write_checksum: sha1:da452a6efa63a89dbd098d338972265349b9aaa6 - pristine_git_object: b3fd414c2cb0219c0db16311605c0bc5c1544044 + last_write_checksum: sha1:07d0fd50459f75d1daf319fc6c06712f0e39b77c + pristine_git_object: 66e4f5bc46968488e236350d43384c2751a11d10 docs/models/createoutputoutputconfluentcloud.md: id: e8de618fb8ce - last_write_checksum: sha1:fa8ac7c09ead7963015a5e554919bf4fa4cd12db - pristine_git_object: 2591a338b894ccbcc975df93571f7a51aa555837 + last_write_checksum: sha1:d97493f7e0354388e015af6a0d63901f139aa3ba + pristine_git_object: 9808d28def26d88c5412519526f5d0d9e21f21a2 docs/models/createoutputoutputcriblhttp.md: id: 1bd6779c1a72 - last_write_checksum: sha1:5fd9f4f71a2d289ad21aa57b1be1a98393736915 - pristine_git_object: 4aa47cfb00dd63566a35b86ac1c6412ebcc0adea + last_write_checksum: sha1:b6882a4d931d81c4e7a848b7141d446153cf5037 + pristine_git_object: f4d84da6ce76868febe3b328c557ac2665b9bf60 docs/models/createoutputoutputcribllake.md: id: 952f5e762078 - last_write_checksum: sha1:3aa29ccaa0d4c5eedde7fea19fb0bc4865ef38f2 - pristine_git_object: 151ec751917d381139f9b1472f79ac33276582fe + last_write_checksum: sha1:b3fd119d27e9f6959124bbaedd876becf787b3ae + pristine_git_object: 079e48b6ecea34d420a2d09192c454655d886a2f docs/models/createoutputoutputcriblsearchengine.md: id: 2ee1493169c1 - last_write_checksum: sha1:a7173f7020f899ade7938b5054674f93a8ef93ea - pristine_git_object: cc0ebe20b8f392581777a7a94bd6aec68e8de868 + last_write_checksum: sha1:19d32b62338095d75a275836fc6008fb86b7ded2 + pristine_git_object: a4e331ebd62e14621c1192ca2938070e15090c8c docs/models/createoutputoutputcribltcp.md: id: c5c310a4139f - last_write_checksum: sha1:79f40cf3c56f1acae099959e8041611805bfccda - pristine_git_object: 413a8de242baf7f054897e6ea7f4ca55eadb1b3e + last_write_checksum: sha1:dd163b933b5d1d082060ed3ea566425214b67ba5 + pristine_git_object: 73308f27b1d898cf89a15c74ba5c948c4706753e docs/models/createoutputoutputcrowdstrikenextgensiem.md: id: 0bb332dba9cc - last_write_checksum: sha1:61d25f163dbe936cc5e71becdce31e630e710679 - pristine_git_object: 03eafd55c0b48a28a5964ab184f43b0e30b1014b + last_write_checksum: sha1:53b85c412cdad065f33eae0348f57d3e4a2e0472 + pristine_git_object: 95f3ea545fdd41f8a2c0130e147421744a3e3cff + docs/models/createoutputoutputcustomermetricsstorage.md: + id: 2e07489dc3d5 + last_write_checksum: sha1:fce80903968598ac1f68912a3ebd750da983c285 + pristine_git_object: 0cdd446d1a7ad8f404d0c92ef26f2118b562c77b docs/models/createoutputoutputdatabricks.md: id: 3a34c1995e96 - last_write_checksum: sha1:bb6ff7ccffdc6277d71f894e8b4a7bb3b31495bd - pristine_git_object: 7e5497686802951e5e05c9c65c1aefc0d19ed98e + last_write_checksum: sha1:d2aa9b9c4329c9ead57d0b1b66dbbbe1c9bf161e + pristine_git_object: bfc1d4302bea9b4728770df018643b482f396992 docs/models/createoutputoutputdatadog.md: id: 3498b718c150 - last_write_checksum: sha1:595a64a51272c0d237b9ebb83efeb25ca955a83b - pristine_git_object: 637e3c3fe33d5663a2e23eb079ef88c148d63cb2 + last_write_checksum: sha1:4e61ddc8df417eed476c9ce3cd8d30d034bd94f0 + pristine_git_object: 1fe3fdad8b2fda9e5add860caddf6ec4cbf4956a docs/models/createoutputoutputdataset.md: id: 7d3d766e8112 - last_write_checksum: sha1:c8ab6f35b45a810b071966b285c3019305e6ee56 - pristine_git_object: f3cc6421d3c43876785714b6e38fc718095ce53d + last_write_checksum: sha1:0009c3b001e1831f208832dc67db10a8a2e135ed + pristine_git_object: 8d8e8c94765f0d2412ff795d6dc98427f789c775 docs/models/createoutputoutputdefault.md: id: 6ede43dbce8e - last_write_checksum: sha1:645724671283d55930b74c458e6dfa4079f46f43 - pristine_git_object: 5d0e9b22c3a4d2145d4d5394786f00e322529191 + last_write_checksum: sha1:1502c4dca227db61e2c9c5ae7fb09ad7e58873f0 + pristine_git_object: 18b363b811b6dad1043e11f99e7d8d2b6842fec6 docs/models/createoutputoutputdells3.md: id: b5950dc1b6ca - last_write_checksum: sha1:3777ccf24fc303b98dc5ee353fbb01b92da217fb - pristine_git_object: 82674ab0a40b6de30fea82ad2835bf1f1cb6a833 + last_write_checksum: sha1:992cd50e7fcf9a57f8b037a4d68329c1569d3d9b + pristine_git_object: f97ed4e2c64d337aad067b70eda9f5e1995198fc docs/models/createoutputoutputdevnull.md: id: a68c1101317e - last_write_checksum: sha1:54394aaf8637a95e103890730d0ec21ff68762a6 - pristine_git_object: e79f3a184083fde384db8e673da6fcfcb1deac5b + last_write_checksum: sha1:e7f7b3352c7ecd294c11bca415b806e41ac30bad + pristine_git_object: c8b2b0670e60981778dda75ef4e8565dfc23a619 docs/models/createoutputoutputdiskspool.md: id: 9638108c1849 - last_write_checksum: sha1:452a7393ee8221dee87c3153e1ffefe9778d20ec - pristine_git_object: a943011ccee00fb50215857d78b2a1237efb4660 + last_write_checksum: sha1:9a3ebe1880e3f36582d90cd61afd471aec08805a + pristine_git_object: b7907683d809cf7159b0a758853123d8787385da docs/models/createoutputoutputdls3.md: id: 62014a914c80 - last_write_checksum: sha1:f309628cc06208d400fe039c31ec58ef50121404 - pristine_git_object: 030635564cf0335ce7d876b3db10c52f2960fa3d + last_write_checksum: sha1:74826e8774c379e805a10c9cbfe37f6acd51ab7e + pristine_git_object: 42185e3ac412cc1f0dd1b92b90d68a50741feb5d docs/models/createoutputoutputdynatracehttp.md: id: 5e16f9a76417 - last_write_checksum: sha1:7571f604920a9b7f814daec3a4f846ed7a1aeeeb - pristine_git_object: e52cede4c6811b9d5fb8ab7226c432258f3f88dd + last_write_checksum: sha1:95d54ee226114b607150858575cd3124860b5992 + pristine_git_object: 87531a5d25f41e656d7c2b0460ef2dddf6a5b7fd docs/models/createoutputoutputdynatraceotlp.md: id: 5aaf9a92c598 - last_write_checksum: sha1:9a1e2198e68dfe736dbd07f6916bc1c656f9d900 - pristine_git_object: 569121adf52d74021ccac48baa790eda5b0cff3e + last_write_checksum: sha1:854105f86f327a8bb16964eb43b2ad1c98268dbc + pristine_git_object: fd3a1ce743990ff39445bc3eff2f78510dfa7eb7 docs/models/createoutputoutputelastic.md: id: 7b351154c209 - last_write_checksum: sha1:f3c5b0de043c53ad5520130bf767464ef2946ab3 - pristine_git_object: 94511182e3341aadefff60aaccd78b13db47d0a4 + last_write_checksum: sha1:340af045166e627ac840527d402a29b16c94cab8 + pristine_git_object: 1a96b4f2ed55537ad90707bc15e010f8a61a4179 docs/models/createoutputoutputelasticcloud.md: id: 8bce78b3cab0 - last_write_checksum: sha1:f1f3a7f1b984a20498b2dcc78dd20858f7b4656d - pristine_git_object: d73eacdd50aac4f7b628d1f9e19abe79c3bc96e3 + last_write_checksum: sha1:9a63fab9888d71d42148812909bee80a8efde461 + pristine_git_object: 817ecee1bc6dec203052e21026da4503211f171d docs/models/createoutputoutputexabeam.md: id: d7d7afd338c5 - last_write_checksum: sha1:8cee8c7aff0caeda5b4f7661d3c60bc578f56cca - pristine_git_object: c02ff936f82f80ffbea515aa5ab0cad2a7128816 + last_write_checksum: sha1:5420e333ae3f93107f76abef3a5162ce062cbfc2 + pristine_git_object: 0ebc232c01c2376730383f6f2adda3de5ad4f9ec docs/models/createoutputoutputfilesystem.md: id: 165556b9c65c - last_write_checksum: sha1:129250be584d153ed76eff6366df549ab9160478 - pristine_git_object: 67f1e1d0794a62886b6f5224459512a4fa82e700 + last_write_checksum: sha1:d87f28eb5ebfd97d023553409c062fd27816d78e + pristine_git_object: 7772cd21fc5257ddaa02947417fc5218125777a7 + docs/models/createoutputoutputgooglebigquery.md: + id: 6aa82b1e4abc + last_write_checksum: sha1:6a6854346de5f61227f9d5194da9653a1c4ec757 + pristine_git_object: 55113c433fa4e7b1956d09f4445af6a20bbe0284 docs/models/createoutputoutputgooglechronicle.md: id: f993218e38ba - last_write_checksum: sha1:27ecf6f572c6f19034002623353aeb6379d98886 - pristine_git_object: bbcb92abecb08962bec6125e6e1b53360c792188 + last_write_checksum: sha1:6646e343c5b77f474937dc2f815c412630e791db + pristine_git_object: e88d30761e94b781ecf030dd7f8109259bcb8fb9 docs/models/createoutputoutputgooglecloudlogging.md: id: fd8c849932b5 - last_write_checksum: sha1:b4932cf0cf4597bba381cf98fe10a79b8bae8ab5 - pristine_git_object: 7803715cc8e44c74b481c8d1cf7093cecf86b253 + last_write_checksum: sha1:6c596905ee15f4e057f7c4c93941da325d8c1d8f + pristine_git_object: be66f6297286c5db0c2a35021afdf7a7251afb35 + docs/models/createoutputoutputgooglecloudobservability.md: + id: 0cfe46c17689 + last_write_checksum: sha1:9af58186c9b4d80af7e9cce019a5364f8c21a927 + pristine_git_object: 127d4b629560f7dcd7c84b694fa2226ff3650b07 docs/models/createoutputoutputgooglecloudstorage.md: id: b9a408afee4e - last_write_checksum: sha1:450cc8533b207b770d91ce1529a19e1e62c2ef35 - pristine_git_object: 03110e30693efb78cb207e0bb61ea2d9c0818d15 + last_write_checksum: sha1:05644a6def88b42251c16ee11f4978c85747c410 + pristine_git_object: 7169a06ac4797804db68350f9fbe6d2e848c6b41 docs/models/createoutputoutputgooglepubsub.md: id: 5adb1168c01f - last_write_checksum: sha1:bdf0a1aa57afec013754a9a4996c82555ed602e3 - pristine_git_object: a0298faca42fe8b206ff26fc648cee3a0dc12b51 + last_write_checksum: sha1:e54b9e4fcdfec2824ac09c7bf2081cec155f53bf + pristine_git_object: b586264f3ed7e3ea698c08ee85b94b7d2967e937 docs/models/createoutputoutputgrafanacloudgrafanacloud1.md: id: eaf672cb60ce - last_write_checksum: sha1:0048e0b0b69ca524a6e44f6ef294252331e6f8fb - pristine_git_object: 14b98527993de8e158ec6b492ee95bd0cda8c073 + last_write_checksum: sha1:93820d42bae939e1eeccd48461f01c13559395bc + pristine_git_object: f5b309aa6831a0b0f429df0d5654df9ad9cc4143 docs/models/createoutputoutputgrafanacloudgrafanacloud2.md: id: 80c2d405ea46 - last_write_checksum: sha1:3efc78c28dada3da70a7ec583f2965c61f81c071 - pristine_git_object: b3592b4ac618b8ec428d11650f3a5f72ae56528f + last_write_checksum: sha1:8101c4636a9de79cc93f54ee828646ce004b0099 + pristine_git_object: eeb5b692a33dc24bf1e049b7061d802d2d3d37c7 docs/models/createoutputoutputgrafanacloudpqcontrols1.md: id: 7e539cf800fb last_write_checksum: sha1:1efb47beda0e89f99358172e1ac9deb5eca3978e @@ -3264,160 +3344,164 @@ trackedFiles: pristine_git_object: 68e02eeb9a868462ba62ec11fa118639eb6b4f52 docs/models/createoutputoutputgraphite.md: id: c0e581482b22 - last_write_checksum: sha1:e5e73695f08d1bba855104dc070f3ac2cc8fc98d - pristine_git_object: fc170f2b22977de680c5c257b780b752c6d1ac89 + last_write_checksum: sha1:9d69118c533454ea89fded42e77f90f07d042ecd + pristine_git_object: 1b2d9ac5e595d16f7da0cd22b634ffc23377cac7 docs/models/createoutputoutputhoneycomb.md: id: b02fcca4c5e6 - last_write_checksum: sha1:140f422f0be84851c61a3aadd6ca1fe3468358c7 - pristine_git_object: 85e1de900998266f39bf265fabd1a5f51ed3532b + last_write_checksum: sha1:edd845fd5f74817d0b4bc3665ed9e28ec4b512f7 + pristine_git_object: c48fa0809c7aa3503410d81f6ea522cdd677d352 docs/models/createoutputoutputhumiohec.md: id: 6deeab0ed98e - last_write_checksum: sha1:92c262d2dde4f25bde1d6d22924457ed5cc9faec - pristine_git_object: c8d4a08e3aa7e9ecc1cef11ff89177e8cbdbf293 + last_write_checksum: sha1:a5af5305afe5b18f886dd329bce4ab429e13a072 + pristine_git_object: 6f4fe4041de0def92cd11d9efc9ce186d329b063 + docs/models/createoutputoutputibmclouds3.md: + id: def468403503 + last_write_checksum: sha1:4f5d76952716e4faf3ec6f48d7b55f1f58452e50 + pristine_git_object: 70c73982a366476b0a554e21b2dd34b624a575f1 docs/models/createoutputoutputinfluxdb.md: id: b81b39b4580b - last_write_checksum: sha1:a3662376406bae653cdd2461d24d97e7f0b189bd - pristine_git_object: d9e039e9ccf0e2c90b836e7be8ee8da32e652335 + last_write_checksum: sha1:bb5d871585489e23729986b29549d52171da9709 + pristine_git_object: d03128648f804329326491ab39e5ebd549a304bc docs/models/createoutputoutputkafka.md: id: 79dd003443d1 - last_write_checksum: sha1:d296bf5f835a196ca34184367a2b4b473338716b - pristine_git_object: 67c717a6a4dc54af3977770e92b8fa3c505b9945 + last_write_checksum: sha1:346dfcf47c77c807c5352e30b2b73658b1d5a071 + pristine_git_object: dde15794b6d181bc7aeb06b390503e69a1cb7a9b docs/models/createoutputoutputkinesis.md: id: 417f147141c9 - last_write_checksum: sha1:8bf0bd187b3dd79641750c80dbf62c6ea34db54a - pristine_git_object: 8389c5cbc8b8f9e2ad7c61a9276cb1aa35e833ad + last_write_checksum: sha1:b2e036c081730c04a89ecdacae2b6fa9454d658b + pristine_git_object: cadbbaf070f134fd17208de973000305dd0628fc docs/models/createoutputoutputlocalsearchstorage.md: id: 53e0801bb3b9 - last_write_checksum: sha1:6fee028f5e4e5bea0f6eb6683f7274b102af78ae - pristine_git_object: 079d9676447723726e0da1a35970f3e9a96f003b + last_write_checksum: sha1:e011079feb29b481db9ce3d51471db6fc7deb0d6 + pristine_git_object: 4266d038f85426b9ef08e57cd7caf40e0f5edb8f docs/models/createoutputoutputloki.md: id: 4c59fbcf8681 - last_write_checksum: sha1:f11f65afbadd7af5017fa4165d9ffd8af48a77aa - pristine_git_object: 7abe0500fd31f1c0d8e2c822471214a556af14bf + last_write_checksum: sha1:ef7cf561a23b9017dba901027ff811a0144338bb + pristine_git_object: 1fc423c4bf7d5d0878bb467912381e789b604d59 docs/models/createoutputoutputmicrosoftfabric.md: id: f96f00810710 - last_write_checksum: sha1:c091c3e21decd395e0c2d7282e91ca6a4ca1eb88 - pristine_git_object: 074c615a844d4fcb3dafef3707ce0f4a6433ff74 + last_write_checksum: sha1:f5bb0457a9119ed1de5dbbb7abf565993369bcd6 + pristine_git_object: fde29d82ea3ec1026d84cec4903ef13d567ed9c3 docs/models/createoutputoutputminio.md: id: fe554f56aec7 - last_write_checksum: sha1:a42f7bdc5ac55c5da058be4026c728611c732c02 - pristine_git_object: bb2b2190707c63c4bb7a4395486f3e084ed60fa2 + last_write_checksum: sha1:49236df1e9079528f40ed3722d5d2291fea76cfc + pristine_git_object: 91aae2cba78e0289e909103dbfa3e92e47c32c82 docs/models/createoutputoutputmsk.md: id: 300f8957ae94 - last_write_checksum: sha1:9374fbb602ff4091e41dbd5e0f21a38f12c56276 - pristine_git_object: 6162a632d7bc139598a1977eb6e430c632bbfe2a + last_write_checksum: sha1:2af35ad07468fdf871a7bb28bbfac3a932bdd830 + pristine_git_object: 730ee1a50bd392cb1b867f9da1c3755fc06f3a4f docs/models/createoutputoutputnetflow.md: id: 7cd15c697193 - last_write_checksum: sha1:35afd6fb9636d4e461f33449de73899797fa125b - pristine_git_object: 3fbaf5f4adcb1c99454c4b1cb7e5ae38efac5af8 + last_write_checksum: sha1:00b2c43d5fa0a264e4d223e28db5694c6deb45c0 + pristine_git_object: 94bb1ad966c5300f5eae42250af9445d27ae49bd docs/models/createoutputoutputnewrelic.md: id: 420f1ae82345 - last_write_checksum: sha1:7a6c462dce63cc545c3f258f06793e26977998ff - pristine_git_object: 3c4547df2837b109e5b1a8f3dc4f73cb507fad08 + last_write_checksum: sha1:5add9635f2cdc926e44fa86a9dcee1dec59fa130 + pristine_git_object: ebbee2c5e8f73bfb5958dd0d4e47ebc1d2cce97c docs/models/createoutputoutputnewrelicevents.md: id: 022f977d1c80 - last_write_checksum: sha1:9a39497d5d6c8e8473403f7c5cf829632b5f608c - pristine_git_object: a241e85a8df57c2d25dbb75fa286f6fad655eb2c + last_write_checksum: sha1:46ca89440d324f68134d53a347400eba56a9152a + pristine_git_object: f22c59986f5b2d6cc8fe3101742b07df5fee00db docs/models/createoutputoutputnutanixobjects.md: id: 18175bc8b321 - last_write_checksum: sha1:b0790d472d10bedb5d05755f450db25cd929093c - pristine_git_object: 00623938cdcd714252e49275513c13d6f5a0fa50 + last_write_checksum: sha1:6b35d8d3a8b697be29888d09ec9d19602aedf0c1 + pristine_git_object: ecdb8aa68bec54249282c90885db054694bd8969 docs/models/createoutputoutputopentelemetry.md: id: 2de451216b9b - last_write_checksum: sha1:3ede8f06b20d0bcb0231bc3aac57d9eaad61cae9 - pristine_git_object: 2ffc167f1de4c39bfa9195751c503c6cb1f02684 + last_write_checksum: sha1:84aa2dbedbc1ee517f4c7f52348a12e14ba9bf7b + pristine_git_object: 5870b5b3220498d952387ea9589a6d9f812cf4c1 docs/models/createoutputoutputprometheus.md: id: 3d0c0ee9e02d - last_write_checksum: sha1:5d42eba16df14812d4e8b35f85d1884dbb0b7439 - pristine_git_object: d11b1dda99beeddbe30e1e149e20b9c16dba4d14 + last_write_checksum: sha1:8ff5d3dae1b73f2d4ebf1ae095d0c678147c36d8 + pristine_git_object: 90e6ba83cddfeecd38a2bbfea599d66931bea12d docs/models/createoutputoutputring.md: id: fea017a58dda - last_write_checksum: sha1:83fd840572a9b3e110d4b2fbdd767ae83e91857b - pristine_git_object: c0457c56306a73e6746a3ae7ee316cd4320a03c4 + last_write_checksum: sha1:6d188038e52aabca9a5ba343720405e7bb9e1648 + pristine_git_object: 690130acf81121169c46a36829c77b2421f17576 docs/models/createoutputoutputrouter.md: id: 663cdac47d3d - last_write_checksum: sha1:24de9d17666414a0c8a8170d67febb6063dc0a8a - pristine_git_object: 36619269392f3d8925af90ccc2e92cfdb918ac1d + last_write_checksum: sha1:b94703516fce43cce78ce6dd160e2bf07187ca81 + pristine_git_object: 3fea061f097ef9ada02a520875145beff1f5c4b7 docs/models/createoutputoutputs3.md: id: d8367eb0e21c - last_write_checksum: sha1:6fac4093172c134ee246d3fb0ab4732bb1a54d63 - pristine_git_object: b5ee95359f92c7f100ec403787aaafcea5eee9ba + last_write_checksum: sha1:fa5b083ed312b37716f4eb4f90c4445550448aef + pristine_git_object: dd3a04cbc64092f81cc623118ae4292261d463c3 docs/models/createoutputoutputscalitys3.md: id: 3a21c159962b - last_write_checksum: sha1:9213f724eb133e13ffa2c3a52acc972253c95758 - pristine_git_object: 6bb465e92665550cbda602f49c219a889ad35654 + last_write_checksum: sha1:dbb1a17b752b653e30b92af3dac6c7bba696878a + pristine_git_object: 6eca454964a75fed3b9ea1fb792a61289afb95e2 docs/models/createoutputoutputsecuritylake.md: id: b98343005620 - last_write_checksum: sha1:fe85b8f88d2ea3a3fc9bf30cb5edf9b96298616c - pristine_git_object: 21ee5d03912eea67be9c71cf77a2acd4b0960540 + last_write_checksum: sha1:a155ac23a0d2b426f09bb529b35f4eaa7cfc42ef + pristine_git_object: 1d268ad481a84a3fc1119a71f679f21c2a9ca359 docs/models/createoutputoutputsentinel.md: id: 68f02716f418 - last_write_checksum: sha1:d5f69db799cc64cda1c167e469df9f0f56e5475a - pristine_git_object: c8423ddc8da6ee2ecf9c8fc47cca8df5554e66a9 + last_write_checksum: sha1:219b124b2408309403f03bc72c9dc40f4d660b60 + pristine_git_object: c724c6d96662bc2e09856aca0c965bfd10bc9c50 docs/models/createoutputoutputsentineloneaisiem.md: id: 039e2296c8c9 - last_write_checksum: sha1:ae2494cb522649f52dc980ddab1191d9eb7b0c5b - pristine_git_object: 059106c6b7dbafeb3b71ff00811bb38f107c01b8 + last_write_checksum: sha1:f7765ad08c909bd35249e341646d6e14f3ec1bca + pristine_git_object: 3e155f2385ddd300d1c609dc2871b098de86683d docs/models/createoutputoutputservicenow.md: id: dca6cdf93bab - last_write_checksum: sha1:fadff9b87a75a2ccb5c5ca71b4ecc30651f471f8 - pristine_git_object: 5aa5fea699f40d9e6069e9fb850ce13bf17302f1 + last_write_checksum: sha1:62ad2c396d544cd49deabdece34aa5b02371fd9c + pristine_git_object: e4924a0eb10800b261b4329ae95ea5fbec785652 docs/models/createoutputoutputsignalfx.md: id: 132b8d3ecec5 - last_write_checksum: sha1:67c8084591ad2fead0fc678a4f7fff4ae7c08008 - pristine_git_object: b1ce86e7716938114d67352465334a0a2005be13 + last_write_checksum: sha1:f24fb231f2d74ae397aa69ba94323b5e627e37b8 + pristine_git_object: 0be0370c494b9b097604ccd1be9e2147e2b28eb5 docs/models/createoutputoutputsnmp.md: id: dab1b10045d8 - last_write_checksum: sha1:b5328f26de3a9cf7b0ca1b1556f237f61aae233e - pristine_git_object: 5f9e8c3a275b0ae897b4d2f7140fd05fc8be32e1 + last_write_checksum: sha1:0f83626737a123b59df6c2e46976efe85c1122d3 + pristine_git_object: 9572dcf42723f2179c71c9a7f23caf9964969d86 docs/models/createoutputoutputsns.md: id: fca9144d068b - last_write_checksum: sha1:7fce4e982dffce8538cfab5781715e46a739187b - pristine_git_object: 268f80a56d537626ea032ebdd96850a75d26bfd3 + last_write_checksum: sha1:9ad96e6e28862ec78f01fc9e64b766f856219898 + pristine_git_object: d377f226c696ad81b706a85fb83af1702bca533d docs/models/createoutputoutputsplunk.md: id: 3de87ca18112 - last_write_checksum: sha1:b6ae2a5ce812fd7ba3021a034f0f9ba89d707a7a - pristine_git_object: e4dfa85f7e4065c3f59c16062f84e111d86614a1 + last_write_checksum: sha1:6e61a6fca3720695f2d8daa8e0a001cc059538cb + pristine_git_object: 8c2ee73bbf921473500ba2e18fc50ad4d235aef3 docs/models/createoutputoutputsplunkhec.md: id: cb72d3ef844c - last_write_checksum: sha1:570c21c3c65fa1c1b74c2a01916e3804c469a439 - pristine_git_object: f8216dd906a2f9f37f9215a9db93ee2aaea7fe15 + last_write_checksum: sha1:f9655253c722f6c6699519d785a137973d393e9d + pristine_git_object: 13ed95315401a45150819c4305221bb42d7c3840 docs/models/createoutputoutputsplunklb.md: id: ad9415a4429f - last_write_checksum: sha1:130f1fff6401970084d42c6992302f8c78af131b - pristine_git_object: bd29dd442d996b393da91d8c977c55e098800f78 + last_write_checksum: sha1:123d92d269a6c5d9ca35c2d59fb60beb736535aa + pristine_git_object: aa4261ced1b2ea07394678bdd8748f9722e38055 docs/models/createoutputoutputsqs.md: id: de5d9ade5e75 - last_write_checksum: sha1:1e9fa27300825d1ad8a127f2aa60ee462051ff75 - pristine_git_object: 558a0060683cc3abe9ee4f0766bcef55184b88ee + last_write_checksum: sha1:fb0dc410fae2791a124d61295d4a79f4dc19c65c + pristine_git_object: 3a0a436791c75174adf92fd4ba12bf0b6e6f34b1 docs/models/createoutputoutputstatsd.md: id: 65a3a66a2178 - last_write_checksum: sha1:b943e3876183da46d5c6b6618043da7ce5413fe2 - pristine_git_object: 8993769c841c09e4033d7f528f50dfa1961302cc + last_write_checksum: sha1:5b4de63c387f7acc518776778545d37e3183f1c9 + pristine_git_object: 2488f677579a5e15a72280495876ee8f91201cdc docs/models/createoutputoutputstatsdext.md: id: 2add8f4bc033 - last_write_checksum: sha1:1eb781eac36733977b32831a052873526938d9af - pristine_git_object: 88c3cee1b98c4156a545ada05836a7af7d4e8025 + last_write_checksum: sha1:51db9b2ca57c81f2cad8a012dd00323430e7a76c + pristine_git_object: 372655e28e1fcb000e9a878cc92a707e3ddc08fd docs/models/createoutputoutputstorjs3.md: id: 3ecabbd205ee - last_write_checksum: sha1:09a0d0ceab08b4481add0ebdb6ed5d490f05348d - pristine_git_object: 73b8bb1a007cbc4bbca8efe94503b7881a0157b5 + last_write_checksum: sha1:5de39cf47b11139688f2c01c34c73ec40a1f4094 + pristine_git_object: e47a824572e113b30a77e4f85c90b2afb07a3ed3 docs/models/createoutputoutputsumologic.md: id: 121eae5cba92 - last_write_checksum: sha1:18aea3a436353aa5715db7cb750703808edacd3d - pristine_git_object: 806b84a40a09e3f3cfaedc6f48da6c408044e2a2 + last_write_checksum: sha1:9e1572d9dda65a1f2345b485b6e759c9839e7142 + pristine_git_object: b687e9864c729d9bbbac59a03c08243010c2239b docs/models/createoutputoutputsyslog.md: id: 97458d090882 - last_write_checksum: sha1:701d1781c8473ee3b0c0832b0aa05a9dfba26440 - pristine_git_object: c411dbae8b8a30e088d6fd6091ceaa463b82c8df + last_write_checksum: sha1:1b6bd6cb8b14d3767aa91a789b7c1e930ba80ab2 + pristine_git_object: 99ba2807f856ab741bb16366b5e1ef4f8fcadb29 docs/models/createoutputoutputtcpjson.md: id: e3e517595c52 - last_write_checksum: sha1:24017d97c21432560290dd8f558d54663f4b17b4 - pristine_git_object: 6dd582cb1cace565ef656678e75bae0c017649db + last_write_checksum: sha1:2a2f41a16736e9fa8a9ba5b2d6547445637eaa71 + pristine_git_object: 9e8db05268bd501dc1078b9ed2e1402cceb0f3a3 docs/models/createoutputoutputwavefront.md: id: 75582d1313e6 - last_write_checksum: sha1:48f2479fadcd2e143a1b835169ff75437e65c035 - pristine_git_object: ae2465d4dfa2eeb4f9c6935426a3c836a4acfb9c + last_write_checksum: sha1:636e8295d7a40a959337d09f6702ef374360febe + pristine_git_object: 12d9e28a8a9ecd0495892df8e1ca33b8677e9692 docs/models/createoutputoutputwebhookauthenticationtype1.md: id: aa4ff4c71ee0 last_write_checksum: sha1:8d79557c1bd396e5cb7fb2776bf4bb06b8ff50ad @@ -3464,24 +3548,28 @@ trackedFiles: pristine_git_object: f2c8973faef37f240d5d880e4747a1f9cf44e0a8 docs/models/createoutputoutputwebhookwebhook1.md: id: ca4a32977bbf - last_write_checksum: sha1:abf37f5c9a4596845e63bd9f3b8c2cbc3ea9e13d - pristine_git_object: e50ebaa4e5883c8ad3d3471ae6e5a86aff329a60 + last_write_checksum: sha1:1a855a06c09a8ae0cbdc0a8977b5a438ca9d3329 + pristine_git_object: 9a1f829c4e8e3403a08188aad0bfb9f02a1e23b9 docs/models/createoutputoutputwebhookwebhook2.md: id: 238586248c22 - last_write_checksum: sha1:f94e7e0dcaf51c434bc47fd15bd4808c538f7f05 - pristine_git_object: 0262b86654f84334f1775f1dec2f0d8d9b8e2e2a + last_write_checksum: sha1:1588293e58a3dd93bbff0934b1c2ab3594cb2ad4 + pristine_git_object: 5d64b32b12745609b56237d40b414e6cb20569ed docs/models/createoutputoutputwizhec.md: id: ba48fd6bb3e7 - last_write_checksum: sha1:9219ba35bf38874900421bdcb4dec5d1965d42fa - pristine_git_object: b86a3105f2fd6b4d0de52aa6e9cbded2d1163df9 + last_write_checksum: sha1:5f6c5471f4b4dfdd354ebd6c745e78c20a943217 + pristine_git_object: b4dcfeef8bd2dac529f202d4d738ea04ec86732d docs/models/createoutputoutputxsiam.md: id: a974b174772b - last_write_checksum: sha1:469f7a26e2a75e6bbc117db5f946b77d69aa234d - pristine_git_object: 76ffe35cc8bcef8759ac0438842c2e5f7971a28b + last_write_checksum: sha1:e37caf567cce4735f9f6b14a5ad5780f7fc03653 + pristine_git_object: 342614ad3c387919d75a7786a9e3d1f12c05d505 docs/models/createoutputpayloadformat.md: id: e2c413195b8f last_write_checksum: sha1:178ce5026373fd3593437ef956eb35add057c883 pristine_git_object: cc67a6bc3ff18fef6852a8e173adc434f5ca3785 + docs/models/createoutputpqcontrolsamazonmanagedprometheus.md: + id: 3f9000d194e2 + last_write_checksum: sha1:3f34a7a9e2de4f5eb4083bd6fb30052fc4ca4c35 + pristine_git_object: 1b1b074e69ab50412eb21edf2352381237ad57d5 docs/models/createoutputpqcontrolsazuredataexplorer.md: id: 75af93d1fcf0 last_write_checksum: sha1:33cb5364da8cf464e8dfd993c0088d42939b709d @@ -3526,6 +3614,10 @@ trackedFiles: id: 1c857ec44265 last_write_checksum: sha1:ce60be0ae3cfbde5814b1959a19080d2cf80ea56 pristine_git_object: 284b5edb9dc509793e1d44dd4994ef0e5547e7e4 + docs/models/createoutputpqcontrolscustomermetricsstorage.md: + id: 26904022a8e9 + last_write_checksum: sha1:8019b92ab9857d1452133e05c79f8ec1b878d096 + pristine_git_object: f3cc8afa18c7a5e79c08647a12f0132f30d5478b docs/models/createoutputpqcontrolsdatadog.md: id: cdbd90dc9beb last_write_checksum: sha1:b07debc2c5c3dd6ea71aef147fc6cbce73b904a0 @@ -3550,6 +3642,10 @@ trackedFiles: id: 089cb222824c last_write_checksum: sha1:042a64aa31ecdf11f6b5cf672c3f89081f36cd6b pristine_git_object: c619bd516e2525178843d9e19c6d7453209a292e + docs/models/createoutputpqcontrolsgooglebigquery.md: + id: f6898d92a7ce + last_write_checksum: sha1:d9a319ac2e58771b9c495d0591051a0acabcfa23 + pristine_git_object: 83ecbe18b0cd4c249e207ca5a69cdb83ae96628b docs/models/createoutputpqcontrolsgooglechronicle.md: id: ad3442371f61 last_write_checksum: sha1:e1dc0805e0e7c0dc12c53897ea2c1f7321eae95c @@ -3558,6 +3654,10 @@ trackedFiles: id: 5981516352ac last_write_checksum: sha1:116b85062090219e084e16c8d7eb8e5a59a7f0a4 pristine_git_object: 44c91d19d1f6a4bc515be9244dc3bc508e0829f1 + docs/models/createoutputpqcontrolsgooglecloudobservability.md: + id: 29c746302416 + last_write_checksum: sha1:df6f89cd369252a3dc572380a419e86a2a435904 + pristine_git_object: 300b9dfd3c4c969b7c84a6fa2a8dd4be0767d8d3 docs/models/createoutputpqcontrolsgooglepubsub.md: id: 131470bdf842 last_write_checksum: sha1:d65fbb55e3453b1559d78034f63916b6bdc06db5 @@ -3694,6 +3794,10 @@ trackedFiles: id: 9c6f5292d756 last_write_checksum: sha1:77576ca004372fdf49f659a3d84c68555d6b07a6 pristine_git_object: 937e7d3fc24df8ccdeb545e85d415a62c7e78181 + docs/models/createoutputprotocolgooglecloudobservability.md: + id: fb2ade09a2be + last_write_checksum: sha1:a32e53e813b833295f5d4ef5c5a7f52dffb3babf + pristine_git_object: e7538512ba019a45575514a57bef53095e84392b docs/models/createoutputprotocolsyslog.md: id: e4e870247e52 last_write_checksum: sha1:d3c4e1b796658f6bd6945c4f1a9587fe6950631c @@ -3716,8 +3820,8 @@ trackedFiles: pristine_git_object: 664b5ea0e00bc0088b78d792e0c661c9863e5b47 docs/models/createoutputrequest.md: id: dfd777b7a943 - last_write_checksum: sha1:a428b9c4ddd7ec5081a9053c21064670880fd091 - pristine_git_object: dc80cbd10a35bfd0daac798675a32dcb4ce1d3ea + last_write_checksum: sha1:def692637c4f11d494aefa24ad948dd4fd21e2f2 + pristine_git_object: de299dffa61694109e9fd0fb696968b8530c6a19 docs/models/createoutputrule.md: id: 38fc5c5a5dfa last_write_checksum: sha1:1a66324314a5885729e82fb08c70bb5db9e9accf @@ -3762,6 +3866,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 @@ -3774,10 +3882,6 @@ trackedFiles: id: db0c7d4c62d6 last_write_checksum: sha1:2d7ee3f7902956c3bd4ea99e8daf0edc69598e62 pristine_git_object: 15917d1917c47710c18a8e44457589219d06d428 - docs/models/createoutputsystembypackauthenticationmethodcloudflarer2.md: - id: 3bfc3aa09eed - last_write_checksum: sha1:1c5ff3ecac169e532751459d229c28d5ec7d1ce3 - pristine_git_object: 7f1e9f3ba0ed89fc9db99bdd0e12ab272d91843f docs/models/createoutputsystembypackauthenticationmethodgooglechronicle.md: id: 5fe61e99b339 last_write_checksum: sha1:710f4f73fe7def35b4022063448e1ba6fdb6e12c @@ -3802,6 +3906,10 @@ trackedFiles: id: 9455e27290c6 last_write_checksum: sha1:9e5598766042da9353fb84da46af6d1ca8b14255 pristine_git_object: 1dc402a501ffee5cd9a5765404a02550ed4fbbdf + docs/models/createoutputsystembypackauthenticationtypeprometheus.md: + id: 057471c448ce + last_write_checksum: sha1:f6915b8aa81cf206c196bb0a74c66fbc29550c74 + pristine_git_object: b8a4b8d56d8cb9258d78dcdd8eb671f423f01e54 docs/models/createoutputsystembypackauthtoken.md: id: 1ae626512d8c last_write_checksum: sha1:f3f972ac5eebca7f91af741ba43a31e00b66118e @@ -3810,10 +3918,6 @@ trackedFiles: id: b90a48024c43 last_write_checksum: sha1:29b334cea63a0419fb2283d297280d54d81844b9 pristine_git_object: c0634c57f3a7d225acad7685e3095140109e5845 - docs/models/createoutputsystembypackawsauthenticationmethod.md: - id: d274d7da39ec - last_write_checksum: sha1:5aa54ba126a9fb8c7a4ecf1d7753e02735e106c7 - pristine_git_object: 73655306f9418feba416b356d336062dab20ff2c docs/models/createoutputsystembypackblobaccesstier.md: id: d7194fcd3f54 last_write_checksum: sha1:182b32dcdc7ed8ebf2ca7f43fe05cf0ca74bae8b @@ -3822,14 +3926,10 @@ trackedFiles: id: a2009ec644fb last_write_checksum: sha1:761a2eab278b289d745ea980378f595f7402fddf pristine_git_object: 3e26a342cddaea62d3ba4309f954684980e0ab62 - docs/models/createoutputsystembypackcolumnmappingclickhouse.md: - id: 7ae9e377f2f3 - last_write_checksum: sha1:7cb108bee600e05a0dd46b476e98d3ade041a10c - pristine_git_object: 4805488c5ecff81c26a26b67b68c2f7fe8f7f44b - docs/models/createoutputsystembypackcolumnmappinglocalsearchstorage.md: - id: 56ab668b1cdd - last_write_checksum: sha1:deb1962cd2b0333704d649aa6e2eeb444a1715d3 - pristine_git_object: 6451932a35bd6a5d6fad05232bfc230431a7affc + docs/models/createoutputsystembypackcolumnmapping.md: + id: 67cb365de961 + last_write_checksum: sha1:1801a4310dbf618b664910aefbdd155a79d2dd12 + pristine_git_object: c0d750aba292262f830344e3bc78f48e930937b8 docs/models/createoutputsystembypackcompression.md: id: 6851b8d143f2 last_write_checksum: sha1:a869a47d496ce6eac25fb93af3709b58a2a77261 @@ -3858,14 +3958,18 @@ trackedFiles: id: d8a55b27f9ea last_write_checksum: sha1:82a6cb7321079aad916b1c13f337338afd5c693f pristine_git_object: 79d583c1d89b160605334376b81faca5331cbf8c - docs/models/createoutputsystembypackendpoint.md: - id: 3712e71429bb - last_write_checksum: sha1:44b8ff48dcc6a957f82b2acc8efcaef9eab5214e - pristine_git_object: dc5384d862d9562a738756f74a7381e5a1eda080 docs/models/createoutputsystembypackendpointconfiguration.md: id: 4e2314aeab3c last_write_checksum: sha1:7ef49cc2ae41360eb88b718b4921a65a23cb8bf4 pristine_git_object: 87d244385e09ef91c677f78f3dfd4f77716a1c52 + docs/models/createoutputsystembypackendpointdynatracehttp.md: + id: 73a71eacee62 + last_write_checksum: sha1:9e8bceab2de8b7bfb957939c9b4aba5a48d7a3c0 + pristine_git_object: a3ccdf8575befbe8c2fdb169f47f8a5246842579 + docs/models/createoutputsystembypackendpointgooglecloudobservability.md: + id: 4ba5827d45e5 + last_write_checksum: sha1:304d0cebcb55ac0622c41b2afc5ce1486e5cbcc5 + pristine_git_object: 6e308b6ec6657129d5086be4c2d874392a469f3e docs/models/createoutputsystembypackendpointtype.md: id: d6130c7992ce last_write_checksum: sha1:a28314c57a93ede9a5030a222797d32cd68f6b9f @@ -3884,16 +3988,12 @@ trackedFiles: pristine_git_object: 4e74603ffa67abb5897978197b5ec2235f459c06 docs/models/createoutputsystembypackfieldname.md: id: 2ffb0ac1b33a - last_write_checksum: sha1:57c47cbcaebeb66b176de1765119e3283c589fff - pristine_git_object: 63d3c808d74d7a714c4747dce9868f2d060991a0 - docs/models/createoutputsystembypackformatclickhouse.md: - id: b945b6f881b0 - last_write_checksum: sha1:93c4fcdee62ce3953a2cfe8e61ae3d37130c2238 - pristine_git_object: 7403efeae8113c1c08d808ff59b1d0e04f5513f3 + last_write_checksum: sha1:df4ad2e0d45bb29693aa378a7ebf54bf2d25a705 + pristine_git_object: 3d9f81bc2ffdfe9dcbc1df52df3a659e8694c095 docs/models/createoutputsystembypackformatcribllake.md: id: aaf18dcb15c3 - last_write_checksum: sha1:e15e316ecf85e9c52e69fb9fdf0a5aba5e1fb7df - pristine_git_object: ca53a919dd33fd447e7c79f5825ecc9dfc17ceae + last_write_checksum: sha1:137fc116e5447e0b80665f0565aac4248021a73b + pristine_git_object: 9612c00e9f8e70928acd207509fd00e8afbecac5 docs/models/createoutputsystembypackformatdynatracehttp.md: id: d9563be33dc3 last_write_checksum: sha1:bc57604d1b6f62a70419852b9ac1bf133d96209f @@ -3906,6 +4006,14 @@ trackedFiles: id: ccb9e41311d4 last_write_checksum: sha1:998fea7b52634fc57a0f3417058cf51e4b490a23 pristine_git_object: 3bdf7416571a83d5fea92d75f108cb83ce60ffe3 + docs/models/createoutputsystembypackgoogleauthenticationmethodgooglebigquery.md: + id: 0a8bf68517c1 + last_write_checksum: sha1:554505d60c89d7a944ba512fa4b6754d8c8f91e7 + pristine_git_object: 806bafc4d9f47a6ed8fafffdd3ba49d7d2f6961f + docs/models/createoutputsystembypackgoogleauthenticationmethodgooglecloudobservability.md: + id: 51fed810b00f + last_write_checksum: sha1:87c11cb9307e50932dd9898c8018d7b9bb73e080 + pristine_git_object: ebca65120c5a3581dbafa914eeb472197fc968f4 docs/models/createoutputsystembypackhostnetflow.md: id: c87c9542b38f last_write_checksum: sha1:1f8888656346a06ee0800148cc8c60424626bcf8 @@ -3930,174 +4038,190 @@ trackedFiles: id: d39a389d87f6 last_write_checksum: sha1:9e708e43a5d335431e1c20e80964aa04394afe5d pristine_git_object: 7f34aaf9030dbbd809719bddaabceec8d78c4338 - docs/models/createoutputsystembypackmappingtypeclickhouse.md: - id: c43c6111a062 - last_write_checksum: sha1:9e44f08d95c955b0d99c168f4b1f9324cd497087 - pristine_git_object: 6b173227935d44a8372b1d04e2f8c33065f9118d - docs/models/createoutputsystembypackmappingtypelocalsearchstorage.md: - id: 456742cbc9fb - last_write_checksum: sha1:41f00fc1235ee7b9e7ecac05e947ed9910aba4fa - pristine_git_object: 8e7be2e4b8ee550aa6478e10b49cc6cbbba08119 + docs/models/createoutputsystembypackmappingtype.md: + id: 8f892dff4fa5 + last_write_checksum: sha1:c56726ab250d9fcbb1e1607ea584631f44901ca3 + pristine_git_object: 877137824da2baeb984b694a05b0d1359ab41be9 docs/models/createoutputsystembypackmessageformat.md: id: 8831ece08d31 last_write_checksum: sha1:c999bc775f59535c746f0961e2a15943d568c6a5 pristine_git_object: b8551a56d2d11e8b25b61d38d4d519d4cd8cea54 docs/models/createoutputsystembypackmetadatum.md: id: d8f5e424a14f - last_write_checksum: sha1:d03e52bc9b6b18a80961d5722c4f429f30504d80 - pristine_git_object: 680d7f12b0c80577a48e9910604df9f2813a35f5 - docs/models/createoutputsystembypackotlpversion.md: - id: baf179747799 - last_write_checksum: sha1:854e76c1e8590be53ce17d9c3f480b5f1331ab53 - pristine_git_object: c444838a1808405883036b3ec4e6522ebd390f88 + last_write_checksum: sha1:55022f1d80f9d622411079f179d763a63a65c5c4 + pristine_git_object: 0281a0b49e656528bc8be186d49f009308d6ad0e + docs/models/createoutputsystembypackotlpversiongooglecloudobservability.md: + id: 99ed31ec86a5 + last_write_checksum: sha1:536d0cc40bab73c28e960228c24f9f7e4c0158da + pristine_git_object: 6fbe6e35370be63fd70e0b72d4b8aa506e1a5bda + docs/models/createoutputsystembypackotlpversionopentelemetry.md: + id: 66717d397cec + last_write_checksum: sha1:11fdf9471655504c38e4cbb18623c43dc0856194 + pristine_git_object: 96d82c5951414128104841079d80ab08dc235f70 docs/models/createoutputsystembypackoutputalibabaclouds3.md: id: 953164777e6c - last_write_checksum: sha1:534561cfcd6ef9ef7778546a842b5237e247003a - pristine_git_object: f3a2f9490ce19d2885e4c562cb88ab0263da6be5 + last_write_checksum: sha1:8e2f901533ec40bb3490968f505edcc68978dc1a + pristine_git_object: db504de715e0ac5db68d6b54f165ae8bd7d509a6 docs/models/createoutputsystembypackoutputalphasocs3.md: id: 58f6236bd283 - last_write_checksum: sha1:e6d380529f996dd9c93ced65051045257b93ebcf - pristine_git_object: 5650640da774934116af810f71702145b756081e + last_write_checksum: sha1:b787f9023b8a031fd0d95a9e99fff0a63c91bb7d + pristine_git_object: 933b3ca0fd77087c43c683dcd888df28e9847300 + docs/models/createoutputsystembypackoutputamazonmanagedprometheus.md: + id: 725f96dd4f4f + last_write_checksum: sha1:968488bc4607ff0d7bf8a647f08cf3f5fd8d6766 + pristine_git_object: 9aa8a10e389ecd30bf4a3feb9555b041398b631b docs/models/createoutputsystembypackoutputazureblob.md: id: 7fbb5f846cd5 - last_write_checksum: sha1:8bf4cb33e1a0d05b6b25146ec04f1c1f88e3bb76 - pristine_git_object: a524c20709e74c0363e89d97fdee1c964532fab1 + last_write_checksum: sha1:516989eee2c4e018fb44120eda77c19007272355 + pristine_git_object: 54e00a842c1a05ab56290638edd3391cb52518f0 docs/models/createoutputsystembypackoutputazuredataexplorer.md: id: c196c157797a - last_write_checksum: sha1:e2d29da0182fc9b045cc9cc7edb9f84f90a1d909 - pristine_git_object: 5b677e111e83d1fa6ad659021f3bc924db2ca8bb + last_write_checksum: sha1:1828b7f77d8ab768332d660910461d8927653040 + pristine_git_object: eeaf3a60a1fc3f766f836300ede5caf963408b4f docs/models/createoutputsystembypackoutputazureeventhub.md: id: b0467b7717cc - last_write_checksum: sha1:8a06de31cb2123a0d67bfd90746e24d7a5ffeca4 - pristine_git_object: 8c83c4a417aec96f40d14c3ef4f7799d0c72765c + last_write_checksum: sha1:74b548532781d7c8d12958c5d3b3a2183ab599ea + pristine_git_object: a057b5b10a9d43fd0e5b535c968f8fa12c4f12ce docs/models/createoutputsystembypackoutputazurelogs.md: id: e7683e3d4631 - last_write_checksum: sha1:16ab5b79e91d6271630211f6473fd56e59de759c - pristine_git_object: 76b6e0e075045bcacfb5a35d936ba8946aac9b88 + last_write_checksum: sha1:f7f2bb8b9f7750832d7bc2cb494e5add3c4965c6 + pristine_git_object: 39156aac6783ce38b2641335fde0b188c30c0a5f docs/models/createoutputsystembypackoutputchronicle.md: id: 73842dbdd0a9 - last_write_checksum: sha1:1c95616a2bf148f3acf264cab7a8da7e16d5a7f9 - pristine_git_object: 8b65268b1254dc4c3748e52d170df4e076b3764f + last_write_checksum: sha1:4ab7c82ee242ac4af5b372048cb9b95a10512c6e + pristine_git_object: 09c681ae233d6575bc4c1b8bdec4065896914c11 docs/models/createoutputsystembypackoutputclickhouse.md: id: 976c28813973 - last_write_checksum: sha1:753e390367e4be40682d37339c24dd76047f9d8e - pristine_git_object: 6bb558d457e71555433013ec8569b9026bfec6a4 + last_write_checksum: sha1:43c2d0ecd945e35399582dbe516326c360dd9209 + pristine_git_object: 6bb5655ab340d93e259f973b870cdbbf94abf13e docs/models/createoutputsystembypackoutputcloudflarer2.md: id: 8fc60e5c1180 - last_write_checksum: sha1:39faf6c1d3e90b36844f1fa0417221b908132564 - pristine_git_object: d36a4915a4ead165a1d34cf57bb3af086d643773 + last_write_checksum: sha1:a5e8ec556119ad64f101672598a31e33547276b4 + pristine_git_object: a24828e15afcb5ccef5739ac766201fb495d6545 docs/models/createoutputsystembypackoutputcloudians3.md: id: 29fd113354dd - last_write_checksum: sha1:3f2c226a3e7faefabf44c13ab3628d9a1a974477 - pristine_git_object: bf4ef178fbc1602d1e262db4fd6ec08ebb5c6121 + last_write_checksum: sha1:4f329e28e8eb4f6c1e9730a0b340fb564c7c38b1 + pristine_git_object: 23736eda12e2665d86bb84bdaf7c1b194274fcb1 docs/models/createoutputsystembypackoutputcloudwatch.md: id: ce3268693644 - last_write_checksum: sha1:ebf643839ded46f6d90e0fef546546ec5a647b37 - pristine_git_object: 0df12686e4a1eb3e73e8ff194d04d97269d2fd7f + last_write_checksum: sha1:ba630be3700e7b15d2f2766fe535679744eb84f3 + pristine_git_object: d3f8c89db144e705f13d8e165dc71419d3222650 docs/models/createoutputsystembypackoutputconfluentcloud.md: id: 75bab27802df - last_write_checksum: sha1:79baedf680e9c31f345d3ca7330625d8fa8a1ec0 - pristine_git_object: ae2c18f60c4e5413ebbd496676e6e8b7333725f2 + last_write_checksum: sha1:7a8be03624def41e42794a2b5d3c64eea64abf98 + pristine_git_object: 22f7a2f398d030e8b179b6743a99a5fd93730df0 docs/models/createoutputsystembypackoutputcriblhttp.md: id: 72d132fbf9b6 - last_write_checksum: sha1:20ecf5b1f35a8fa281ca478ba36a6bf8ed90a51b - pristine_git_object: 28d8591d4cdb1d5334e8983c4c99e03698ef50ab + last_write_checksum: sha1:69f14921520dd9060f15dfab285be44708982887 + pristine_git_object: 18f430c0242f6fe9fc8029934d97693ce2ea9cfb docs/models/createoutputsystembypackoutputcribllake.md: id: b00e95f1573a - last_write_checksum: sha1:5033f420e9c18b7d0b9715fee6c55d71a2710cd0 - pristine_git_object: 6d834f43c91f9103fcf2a8f0514f7a8ac931e5da + last_write_checksum: sha1:90750eaa7dc465ebb56ea8dd4bc4642cbbf0521d + pristine_git_object: bb5307c26712ec5a29ebd1cafac176823bd3c945 docs/models/createoutputsystembypackoutputcriblsearchengine.md: id: f17303fd42d6 - last_write_checksum: sha1:49febed43b25fac42b905ca3ddf5986fb9ce32fb - pristine_git_object: 957a931eb27b706fd9f32d943f9f4e14751e8077 + last_write_checksum: sha1:b8e73d12d52d35ad39684f5a68139df599809507 + pristine_git_object: f8f23cf26e481d7690a0da76d23843fbce9f9d45 docs/models/createoutputsystembypackoutputcribltcp.md: id: ac12bfc37647 - last_write_checksum: sha1:3b3d38f0590c0ca10c3350324e8f072c4609e8ce - pristine_git_object: 8c17b82c35ee19a6eb2e15a7ed745fba89e918f8 + last_write_checksum: sha1:5ab2c97e3fde0fb8f0d25dd0f5897e1d9bec7db4 + pristine_git_object: 8b017e2ce95226a6847e025d1bc4722d0aca36b5 docs/models/createoutputsystembypackoutputcrowdstrikenextgensiem.md: id: 1016ac142312 - last_write_checksum: sha1:88cc4a952e003437b1534ca754e00e2eeb6b9b6b - pristine_git_object: e3d6c4e3098facd78867ef9e7e5180cdab2b46e9 + last_write_checksum: sha1:257e9b2f2b6d84c26c2e88ccb6df4eb555e62556 + pristine_git_object: 580b64dfc4fddbef4584d43076d51e73ef376982 + docs/models/createoutputsystembypackoutputcustomermetricsstorage.md: + id: e146a46ac2eb + last_write_checksum: sha1:fbf12e12c9da4912e5fb0923d86dfe848ed78702 + pristine_git_object: 437aedf12ad154fefe15ed458af5054359d2bf77 docs/models/createoutputsystembypackoutputdatabricks.md: id: de4ddec59dc1 - last_write_checksum: sha1:cf9b6efdbe31bf0f6b9e6114e37b4660595f72dd - pristine_git_object: 1b8535958a8acde02904f940e920e52c013023df + last_write_checksum: sha1:8ae130c176431db768b801ec50b34c0d40eccf01 + pristine_git_object: 004b88fb348b1790c06c9fdad169ceab658cf524 docs/models/createoutputsystembypackoutputdatadog.md: id: 7a68fa2562c7 - last_write_checksum: sha1:17c9e0097962bc917a52590b68c996d1c3defd0e - pristine_git_object: 0d89cf2ead1eabad99f2e04d96b4827c179fce1d + last_write_checksum: sha1:aa650ba30ac6ed97f200ca90ed6cbf69b0f7418d + pristine_git_object: a938a5d2c963490e685533389abce456cbc1f004 docs/models/createoutputsystembypackoutputdataset.md: id: e8a126f9a977 - last_write_checksum: sha1:16ad3e09359a6f6fa9e7ac2278c7253d71fe3384 - pristine_git_object: 83cbd755d362120ba5532e376a89c59af873123f + last_write_checksum: sha1:bae8ba3ecc08176db6798e7d0ed6d4a51542455d + pristine_git_object: 1d0ff4fc3136971da42dd1ce1943f9438c16a4c5 docs/models/createoutputsystembypackoutputdefault.md: id: 96a0bbe6bb34 - last_write_checksum: sha1:834915e99931a8e2ccc59237aff842c3fb08919d - pristine_git_object: 105dc233b4a4d49698a05c958eeaa6cab338d0ca + last_write_checksum: sha1:4bb7046059b91c2803f4f115d170c40f9849bfbf + pristine_git_object: ff28dd313bf58f93557eab31520362367db693e0 docs/models/createoutputsystembypackoutputdells3.md: id: 5c75204f4c6e - last_write_checksum: sha1:e684ccccf12d43d875d35eddeae8e05934babd00 - pristine_git_object: a6ef9d605bf60b3238c0ee426e621ea64e88fcf7 + last_write_checksum: sha1:70c5b307f721a862a69026f509c58d5b7438a0a9 + pristine_git_object: 195f8086980a6c7ac70cefbb234ad7f8e8140408 docs/models/createoutputsystembypackoutputdevnull.md: id: 586139ed91a4 - last_write_checksum: sha1:8ca49c47751a77ce0b53e0241e1c8e471266c5f5 - pristine_git_object: 111c3ca144f6041e045e8bc27213f096879ada2f + last_write_checksum: sha1:0a2a7c2e2fedc0d848f27da247160ccbb61a1d09 + pristine_git_object: b4c13d4446c4e14683d0726cb9525b7dfb4ec7c6 docs/models/createoutputsystembypackoutputdiskspool.md: id: ed3b7a213437 - last_write_checksum: sha1:95833af5c31c390694a1c27ff12c8c26f2e82fe8 - pristine_git_object: b08ef386b54652b7d0f466347d9bf74df5829f1c + last_write_checksum: sha1:0caa7083c7ff148b0ef38f78e6fc0865a41f5820 + pristine_git_object: aea64cf2cfc659b19cfc1f8d4578f68bfcbd3948 docs/models/createoutputsystembypackoutputdls3.md: id: 19b0fa05ad5f - last_write_checksum: sha1:e1962241897d8a45f5ef4797e4bc3a15d12a62d2 - pristine_git_object: 6c82bcaf38592cc513f546cb91b46b905ae5a8aa + last_write_checksum: sha1:8e160116af3a08802f7ef3c93d0ae96f7f875cc3 + pristine_git_object: f96b55afa9859acd090a5e4e5e9084b55f92ad4c docs/models/createoutputsystembypackoutputdynatracehttp.md: id: c2f0997f04e0 - last_write_checksum: sha1:c6e7a6f55ed3bd0c16a84aeb45aa50ebabd57b47 - pristine_git_object: 1fb7d0b263569b714ab3a56f68aa86b61dc74619 + last_write_checksum: sha1:69ce342c0a379f211555434fb8abe2b921ddffc7 + pristine_git_object: de2f7eb7759c2a69d40f3bfbc65d63413581f59d docs/models/createoutputsystembypackoutputdynatraceotlp.md: id: 7ecfbc8545ab - last_write_checksum: sha1:959c944dc90102241f9671fefdd299d2b9bf38b2 - pristine_git_object: 05349b8db48523d07901e59df174733fc20f6b6e + last_write_checksum: sha1:e6323a56900a8907c6937f46d514575e94793a23 + pristine_git_object: 211ce9a3bf877da74a58ddcde830ecaa5bb1d987 docs/models/createoutputsystembypackoutputelastic.md: id: 1d321b2e85a0 - last_write_checksum: sha1:e58e8659bdcb5e4b9bdec4e7ae06c9d9f71349fb - pristine_git_object: a89887a4ab529d8022fd3dbcbb95c08421cefef0 + last_write_checksum: sha1:12afed735ed2b50ad0422cbd9b2b4506f42be567 + pristine_git_object: 0b45d4d7fc26c877dce347d5afcb91bdae5fbef7 docs/models/createoutputsystembypackoutputelasticcloud.md: id: cc0786134511 - last_write_checksum: sha1:e960765655f8bc5b60ed3816e819c059cd0afa9f - pristine_git_object: b9a841f889e8db97c56773af31458afd09189dd4 + last_write_checksum: sha1:2be29433236f0a67a5330605967b4bfbf7dbd8cd + pristine_git_object: 8904015cb10cd397cce5ae50dd1dccabaa3fae19 docs/models/createoutputsystembypackoutputexabeam.md: id: 616f76116ce9 - last_write_checksum: sha1:02c18c6c2b4df910c5b691346c72ca0f74109289 - pristine_git_object: 2021e6bdfb0fcba6e122043b1b4861d30440b699 + last_write_checksum: sha1:db265faee4ecf95b742e36ed2521b5d4b1c7532c + pristine_git_object: 35d88df73244620876a3c81fb450cbc1e109e4a3 docs/models/createoutputsystembypackoutputfilesystem.md: id: ccbcb4bb51a2 - last_write_checksum: sha1:abb85875cbd3d236d487e48fc9b6348450238341 - pristine_git_object: 97a6dc8744397a578b8db1a1bb4a6a7d39e8e1a1 + last_write_checksum: sha1:08dc9747de5d9748f53b1b7327a5d228552060da + pristine_git_object: c3153d68f1467d202e7ef863a31cfebf7a41c29e + docs/models/createoutputsystembypackoutputgooglebigquery.md: + id: ba12cde25ea0 + last_write_checksum: sha1:46b0d098d377fa30af9853b8f05c62bdf33ba1bc + pristine_git_object: 8cf9292030a214b9eeba83280c70ddff7d9219f2 docs/models/createoutputsystembypackoutputgooglechronicle.md: id: 3b1759fd2a95 - last_write_checksum: sha1:5344ebb92261a2af4103d8f4ee895143337e1a4e - pristine_git_object: f06b07c9d5612ca063a05c9e419a01004bd5f47c + last_write_checksum: sha1:c69a0463a3b1999209d23dd1b392ad62e58ee81f + pristine_git_object: 0622f58f1063a24eb503275e2daff3809b873373 docs/models/createoutputsystembypackoutputgooglecloudlogging.md: id: 4eb049a15bf0 - last_write_checksum: sha1:95510279ab70d29926fe005bb3540495eeabced8 - pristine_git_object: 72a28572e9a4595a7816130d2f2e6efe066e44b7 + last_write_checksum: sha1:0ce0613e52711158964199583d14986c7dbaeb1f + pristine_git_object: 87f6f015db6603f77e59aa35a26f091141b3314a + docs/models/createoutputsystembypackoutputgooglecloudobservability.md: + id: f01929a7e336 + last_write_checksum: sha1:8e7b7846152c56ff439c400b6849478477fd800e + pristine_git_object: 6b2b162091fbd19def6dd8b929b07face6775664 docs/models/createoutputsystembypackoutputgooglecloudstorage.md: id: 3ddc059b3754 - last_write_checksum: sha1:679cd9ce066e595fd45e909f8da84fa17627778b - pristine_git_object: 449045b4d4c1486105c78eda35cfb625578c6c91 + last_write_checksum: sha1:7f2647c541a3d8593a6f9529910094b0e1308cec + pristine_git_object: 0c2b0d7d32b181232feac9f5f8ac9d42cf4090f1 docs/models/createoutputsystembypackoutputgooglepubsub.md: id: 0bc0a2bdc467 - last_write_checksum: sha1:d163e9194dec7818a4a656438e5e155161d13464 - pristine_git_object: 282dcd711cd9d5dae42547eebdd63a8c200e77ab + last_write_checksum: sha1:1398226670dc6b06ef786ef0c6423d27c6e87d11 + pristine_git_object: a8119f25dc78383a2d1e64f23da8588df57cdeec docs/models/createoutputsystembypackoutputgrafanacloudgrafanacloud1.md: id: 87e775a42b71 - last_write_checksum: sha1:c0ef3805245c00bb36e454d4aa9d533c1085ed95 - pristine_git_object: 64732f5ac59814462f01a21d1275d7ab7968857b + last_write_checksum: sha1:5e5c194697d1a46ce9570b2b1b3b96247d360c07 + pristine_git_object: 1eb900d474def19f05803e9ee64b243719746c7b docs/models/createoutputsystembypackoutputgrafanacloudgrafanacloud2.md: id: a81dba301b04 - last_write_checksum: sha1:87fa99fd24f2d04623974ccb69a5e8ab2d151686 - pristine_git_object: 31efc110c09d9e2ddcbf689bdad5838a9a62d308 + last_write_checksum: sha1:6e8968311a90047bfa44f230c7982fd913b05909 + pristine_git_object: 4d18b19bef6e05e1d72348127ca5b41b5c445f52 docs/models/createoutputsystembypackoutputgrafanacloudpqcontrols1.md: id: 498fa9fbf0af last_write_checksum: sha1:5a713511b4f96ddd167ac2ddb9a3f53ad642ce63 @@ -4120,160 +4244,164 @@ trackedFiles: pristine_git_object: 03e5a737281079461b35783a0229c49133e94354 docs/models/createoutputsystembypackoutputgraphite.md: id: 68d5dba86f95 - last_write_checksum: sha1:8f274d03d986bf74f7a1dc64b4cc1e9b1882e4db - pristine_git_object: 95b2ae4bd5f33a9370a6e4fd0505fd6e670cc823 + last_write_checksum: sha1:32859599417577234a907d16d32208db07c51a56 + pristine_git_object: 3495a1f75b09318883f189aa4b0f9bb8df8cff70 docs/models/createoutputsystembypackoutputhoneycomb.md: id: af32d650446b - last_write_checksum: sha1:0c955e9e665830f01964a16dab3922252f165328 - pristine_git_object: e783cee36582066ed3d821bda54e10ffb7e5087a + last_write_checksum: sha1:6e865263940cd790daefefe4ccf85ef8dad5bc51 + pristine_git_object: 249baede2b2fd790cb0bbc043ec45d782ac267b8 docs/models/createoutputsystembypackoutputhumiohec.md: id: f6c19204a8c7 - last_write_checksum: sha1:efb49cfb3ee6fe012602d41b1f4f540a82786dfd - pristine_git_object: 7129f30d086401aec863400db491a12b7cfb9a21 + last_write_checksum: sha1:779dbdc9a735b52c6617eada70114197e8f7b38b + pristine_git_object: 606c1b762de8f984c7291b079b1a0fa4197922b6 + docs/models/createoutputsystembypackoutputibmclouds3.md: + id: 134d682e4034 + last_write_checksum: sha1:e592d6fd7a350f5c081f5ca9634e1b9662e92e69 + pristine_git_object: 4a47211fbcd71fc52e04e99fd3add958c818a436 docs/models/createoutputsystembypackoutputinfluxdb.md: id: 24f0569a1c79 - last_write_checksum: sha1:38db9abf7b79930457d3af2737b9b92f07516f0f - pristine_git_object: 9f7d7d7256428d18ab60083b4f5e94e4b32c58de + last_write_checksum: sha1:7b01264c443e9bef73bd4bdc7e7b8f278578fd51 + pristine_git_object: d94e8d2fdc340b5be754f852c537a63d5ba86f62 docs/models/createoutputsystembypackoutputkafka.md: id: 1d37c5529efe - last_write_checksum: sha1:0e8b69551e56ac0907f7491294b2821d55d5446f - pristine_git_object: bd5408c8dcfde1fa5a3df3bca5396e1c8126a7a7 + last_write_checksum: sha1:91ee36289f74dc17ae7d4ac38de68a5f6840619f + pristine_git_object: ba57357fd6bb81a7a01a0230f7e753132aab9d06 docs/models/createoutputsystembypackoutputkinesis.md: id: 99b90d324a17 - last_write_checksum: sha1:cb2469a2b3693e4175852959ed0c3ebdde424dbd - pristine_git_object: 8e3d19499f2b16539474f30e532e3da2b83afe6b + last_write_checksum: sha1:21c4f0c13c00c01a249410e567f08cd2430eb267 + pristine_git_object: 07cc2e86948876d8137d5f203455c89927fbed80 docs/models/createoutputsystembypackoutputlocalsearchstorage.md: id: c40998fece59 - last_write_checksum: sha1:eaa18a0faddd7a56afc7f8df96ea9c2a517a1ad3 - pristine_git_object: fd58d20443ad31aae8aa69b7e9cb2c1aca6015b2 + last_write_checksum: sha1:17f36689f2193ff99b49af8a651cec7e844788ef + pristine_git_object: 5953587e4514e71713d4dfdc5cedc5da7eaccae8 docs/models/createoutputsystembypackoutputloki.md: id: cdaac23f4b4e - last_write_checksum: sha1:9b4565aec428f4975cd56c7460dbc7fd57271db0 - pristine_git_object: 6054daed285c4a044538ee3bb73d45f0ed0156a8 + last_write_checksum: sha1:0d26ef432e755dbcd940fbbcf3cf3d41024673f4 + pristine_git_object: 964355853f90b648b2760df9a23add2a1823efd6 docs/models/createoutputsystembypackoutputmicrosoftfabric.md: id: 931e783f38f3 - last_write_checksum: sha1:18f0561cea4ab8ab59a351f0049846aa338bcdea - pristine_git_object: 8e86b35fe3179df3b9ab53a18bd6bedd9df13a15 + last_write_checksum: sha1:ec2443fba882b8721db7ada5b8b767b5ceb19258 + pristine_git_object: 573fd0aebc9ee2439665d418c3eb737568307bec docs/models/createoutputsystembypackoutputminio.md: id: 5afc54eb92ea - last_write_checksum: sha1:a658c17fd7a139a4af1fcacbc0180f2458904c9d - pristine_git_object: 538063589c55b7d71dcb9c3ed0e0d817586b4e48 + last_write_checksum: sha1:cbc12c68430fe47f8f229c010fc14848236c5f36 + pristine_git_object: 566a52a6736ae430a8f2a20c890237217250e1a0 docs/models/createoutputsystembypackoutputmsk.md: id: cb925273400f - last_write_checksum: sha1:73a4812a45d170324f7b963aa44c506f14a21d1a - pristine_git_object: 9c75af01271f97f3e56d4f88e614f2104a8a0548 + last_write_checksum: sha1:9d5ab3d409bf4ba4831f947adc9894bb59241149 + pristine_git_object: b6d203db9095eea9ae810594994ac35e8d762c46 docs/models/createoutputsystembypackoutputnetflow.md: id: 89974408571f - last_write_checksum: sha1:8d1ce1b25e7592e2cebbb887e612277609d1683a - pristine_git_object: 2db45fccda6fdf031f2f5292d8001d0896684fe2 + last_write_checksum: sha1:ccc862d89270c3159c589534566be6c688671d02 + pristine_git_object: 00cc0e3d231c66f025f2120e3d2ff8b59990dea7 docs/models/createoutputsystembypackoutputnewrelic.md: id: 12e14dd6204e - last_write_checksum: sha1:ff3a2efe4be01cb8d6fc64803bac4e45e537b0cc - pristine_git_object: b6ab4d78c1fcd0d6572d7c1811734beeaa3bc75a + last_write_checksum: sha1:f4377422350e9105cdfe4ea3fecb622b544632b1 + pristine_git_object: 6179db994127d60566415683ee90a4f96f9457a9 docs/models/createoutputsystembypackoutputnewrelicevents.md: id: 5d1a3c690da6 - last_write_checksum: sha1:8319adf19fb6792cd61fff3005cd742680532c35 - pristine_git_object: 3d39461ba0044caf6f6a730b7fc2d68d41684327 + last_write_checksum: sha1:fec3a555ec26ded39d7bec4462b121bd347a63fd + pristine_git_object: 9c4b852df97ed9810f71e975ca4f7a7516c9ee12 docs/models/createoutputsystembypackoutputnutanixobjects.md: id: 6f41a9eb0bff - last_write_checksum: sha1:096ddb11379ff41f894c54134eb2c7e6114def79 - pristine_git_object: dc794e3bfd3886044f492efaf360a57862de8197 + last_write_checksum: sha1:3c1f7d1d4467a72d9bc2c6701e99f457d6ebb7a1 + pristine_git_object: c9cc2cfe32b800f925bd0a16e4812437b40e4cf6 docs/models/createoutputsystembypackoutputopentelemetry.md: id: 25144e5e512c - last_write_checksum: sha1:9082c6778f39fa83ab1cdcf001b15ab6f3c1d576 - pristine_git_object: d308b2ce63dde7ca2d5852b2def800e83315814e + last_write_checksum: sha1:b6c759c0c3a8a507459ad07db9d7daa61c06c6b0 + pristine_git_object: a5448f6219813f1209a5705ca330aa26a2c1ec3e docs/models/createoutputsystembypackoutputprometheus.md: id: 5d117a169e15 - last_write_checksum: sha1:b702f926cddb0af0be2629924f61963d41651339 - pristine_git_object: 8286b6189c5a9b8ea9f19eb7d998b71b260f8633 + last_write_checksum: sha1:5445ba23bf4a4787eb00972e2307ff314863644d + pristine_git_object: d48100d7610d39927740c24183d3936e4c7b3d9c docs/models/createoutputsystembypackoutputring.md: id: 491548a6b737 - last_write_checksum: sha1:bcf1007f6fe41e5225cf582746de7016a052a30c - pristine_git_object: 9c0bb61cee616342643186bc83fd9f91fc32d79a + last_write_checksum: sha1:e07b25820789ecfbe235009c83c09ec375d7c280 + pristine_git_object: d48e0a21033697400c21bab4b5489247ce8dfe1d docs/models/createoutputsystembypackoutputrouter.md: id: 25c54e6fbe76 - last_write_checksum: sha1:e5821f6d1c00370668f6f5db68245308284b6f5e - pristine_git_object: 1e8dbd61ffbb524cc13793f50064c2b6a5e4e3ad + last_write_checksum: sha1:1a962d66a055d5ab1d88a74699fd638ba416bbd5 + pristine_git_object: df7ae8013bf059b0353969f3f0bc5544dbd83dab docs/models/createoutputsystembypackoutputs3.md: id: 446d5d142612 - last_write_checksum: sha1:2ed1fbc836ea45a3a2aa59c5dfe74870e0ac5d98 - pristine_git_object: 192c65d162038677ccf3e7de64d1d35832906d55 + last_write_checksum: sha1:d8707a58ac84391e3e262d24230d7bcb2ef45aca + pristine_git_object: 2affa547a770cdc349ea2ba1aa6271fcee9bfeb2 docs/models/createoutputsystembypackoutputscalitys3.md: id: f92843fb03b9 - last_write_checksum: sha1:83b7e42fcfec033ba2145b08babce99295db3e18 - pristine_git_object: da36a60f9e0683bdc857866b2e7ebcda1d824921 + last_write_checksum: sha1:fb0e59e11bd2c955d239a19cbcb7e18c0a7be874 + pristine_git_object: c940e5205c705201d8b65b0aaa351f8838b0b4a0 docs/models/createoutputsystembypackoutputsecuritylake.md: id: 06c346ea98bb - last_write_checksum: sha1:33bcdda699d698af624328e02503a6c6595fa3a9 - pristine_git_object: 743b8e1c1632a5249f961bdf1edb24a4c15e6910 + last_write_checksum: sha1:660578e42a2dd7bc6db61a14db2455f531d5ee36 + pristine_git_object: af94c7e11d11f3964b1c01199e9a03f496abb61f docs/models/createoutputsystembypackoutputsentinel.md: id: a08f85f2e3c4 - last_write_checksum: sha1:6564c56009065ba3a9fc7cbe0694324b19389da6 - pristine_git_object: 7bb359003172d1c351f47af3a571e40542afd068 + last_write_checksum: sha1:008b24d361ce6815a77d1ae5ad9b8cd1132c9b90 + pristine_git_object: b7739558caa06e9dd7a8266017dfabca3f37f29b docs/models/createoutputsystembypackoutputsentineloneaisiem.md: id: 4c9596e87797 - last_write_checksum: sha1:4927c1c2695f36da03c34c18892eeacb1b550efa - pristine_git_object: 843f69f27177da5e62cfaf0847916b763e0818da + last_write_checksum: sha1:1e3a64ebb3384683c4842eeba83874e57e6afb9a + pristine_git_object: cf7449c9c210acf2dbcd92c9c6047a8b3b7b7cd5 docs/models/createoutputsystembypackoutputservicenow.md: id: f961d7314e00 - last_write_checksum: sha1:6b213e4a253095107b83443f0e1ad88e2b4c48ad - pristine_git_object: 3e64edf23cf7fd5a9561ad9dcd680b6fd5231446 + last_write_checksum: sha1:361794b8703b0eff84368752eebb2f2b11ea31c8 + pristine_git_object: f5f6c3f085a2240403007b7c8e23d9390a634a61 docs/models/createoutputsystembypackoutputsignalfx.md: id: 3b7b626521e5 - last_write_checksum: sha1:515c608cecc706220053f3d87d69066752434f3f - pristine_git_object: a207f0c89e94ed2e381690229db5bba19c827793 + last_write_checksum: sha1:bb75ae721f9d8f350b9ac2838521b4788462296e + pristine_git_object: e5610c98811c4cea91f4f4344b90a65b4c2774cd docs/models/createoutputsystembypackoutputsnmp.md: id: b4d8d057bd06 - last_write_checksum: sha1:786e581d30d1f3ada5d032741f45432d0573cecd - pristine_git_object: 0a5b32307114d6957cebb8500bb46c640f044e85 + last_write_checksum: sha1:319d9cfdd1913e47aff15e6f67f714a26e99273c + pristine_git_object: c07447edc0eabdb0aba5a684a32865302d152202 docs/models/createoutputsystembypackoutputsns.md: id: 3369d5aa6262 - last_write_checksum: sha1:ad7ed13d507b6473cba478c6a5c9cf313e9abbfa - pristine_git_object: 4b5ed88be8dcd8b1d151d3eb50324495ccd674cd + last_write_checksum: sha1:6ba3ad0704333a2cfc1af81df9992a5126ead424 + pristine_git_object: 4cd66390c1085fe03f11383d6ab578ab3515eada docs/models/createoutputsystembypackoutputsplunk.md: id: d54b83e64b60 - last_write_checksum: sha1:a36d3ee0e6dffd266b075d73f3f34ffc6410027a - pristine_git_object: 5235e0b86708e23942c605f8f2b0dd30fde9eb06 + last_write_checksum: sha1:8cfe6fe910def15d361a052f5e487430520f8bf5 + pristine_git_object: 2e371bd7400d45912b1e210950503bb674f06a93 docs/models/createoutputsystembypackoutputsplunkhec.md: id: a0cb2a7b8f84 - last_write_checksum: sha1:637c1749ed229a5242da34da16e442cead2facc6 - pristine_git_object: 2b64639ea6f0d9d2bb059221f671365a6460fc56 + last_write_checksum: sha1:f7d1c7324271a7bdda23fea21ab0120e58c3742d + pristine_git_object: cb7d935401b3532162037f06fd0470d95421fefd docs/models/createoutputsystembypackoutputsplunklb.md: id: 77173ec266d5 - last_write_checksum: sha1:77046dd30847c11a0b52b297401a3883fceff56f - pristine_git_object: fffedd624cbe3b38121fb5cde03ee38071c8c6e6 + last_write_checksum: sha1:9b87333b71634f12ab3825ab0b413642e49f61dc + pristine_git_object: e59d4864580241204ae6fedd03a1228b0735630a docs/models/createoutputsystembypackoutputsqs.md: id: 8eb2d29a4012 - last_write_checksum: sha1:00ee847796324104bd952d7a2fa11dd2fa61eca7 - pristine_git_object: 006eabf13be31493e6772bfb6c290a63a27db988 + last_write_checksum: sha1:7d2cf8d6c081905bcaf5d634388d3a0874e3da4f + pristine_git_object: ec00d7c39879c50001f2f645acf814fa7fb06aa1 docs/models/createoutputsystembypackoutputstatsd.md: id: d7d545eebb49 - last_write_checksum: sha1:b4c650c32619109205597617ce8fa4610faa3580 - pristine_git_object: 41f017a9ef12f471a191fdc0b7bf651e9935a69e + last_write_checksum: sha1:236dfbc705ef85b98e90b79e6a50a7b8f40badf4 + pristine_git_object: 48635da93ffb45a47aa8def24b9b413def651ec4 docs/models/createoutputsystembypackoutputstatsdext.md: id: 0114d7da49f3 - last_write_checksum: sha1:a6234457eaedb134ddffafabacd3babe936c85b0 - pristine_git_object: 7a1f9e90f2b345414fcb3d98e4f578e15a5eb919 + last_write_checksum: sha1:7bf99dbbd944e702602dbcfe94bef676cd361191 + pristine_git_object: 5c445a9cdc206c4b9e37215ffa405f4c765f7d40 docs/models/createoutputsystembypackoutputstorjs3.md: id: cd3506a9316f - last_write_checksum: sha1:ab07f0f54c3e761373da2386db7a866a46356f52 - pristine_git_object: 4ed770875d310e93d16843ce87dd57a202e35825 + last_write_checksum: sha1:24435ef72c2c2b6bb462a456a899db344852b1c8 + pristine_git_object: 8456fa3d0dbc0c628c7d5809fe1493b02638cdd1 docs/models/createoutputsystembypackoutputsumologic.md: id: 5a37a19516ac - last_write_checksum: sha1:bb6b845665ecbfc0df7293e751bda05e2d7781ca - pristine_git_object: b5123ae1d76c0a3911eff687044e48c2820f14fc + last_write_checksum: sha1:573d7ab6533ab48ef78aa221406f0c7269537dc1 + pristine_git_object: a3c330bb657d4a1980624d590e0ecdb1cf4c89bb docs/models/createoutputsystembypackoutputsyslog.md: id: 229b28effba9 - last_write_checksum: sha1:78f0f46da3597d261d39c41605f1420d58bd6d5d - pristine_git_object: 89426eaf5cb4c236ceca5422ed614b91ef1d35bf + last_write_checksum: sha1:b7837dd21f706259ac7622c9b71b1a6d0f0f6f60 + pristine_git_object: 8d6158ef0e34044d2ebd38ded66f9222c9c8434f docs/models/createoutputsystembypackoutputtcpjson.md: id: e9ca32c2f1ca - last_write_checksum: sha1:7d8f4c72486a5643c83f424c525605f30733dbf2 - pristine_git_object: 1245de5a3e8e17a73d96226ddcd66b6812183ed1 + last_write_checksum: sha1:0623e95801174b9fdcc118b394b26b8bdbc1412e + pristine_git_object: af0b84f7457ae8191f2f294a92be9bf6537e117f docs/models/createoutputsystembypackoutputwavefront.md: id: f9540f7165de - last_write_checksum: sha1:2f32fd4a3f904e61b19642e07fecc69f983faba7 - pristine_git_object: b9c04b440580a5b8d0d4decefa77f1a9d0597c8c + last_write_checksum: sha1:593c58f1060b7353f624c389121d1ab0cbd4de1e + pristine_git_object: a994cabd9aea2e57205f696d34f66b4f16f3e1b8 docs/models/createoutputsystembypackoutputwebhookauthenticationtype1.md: id: 7d7b35a99c9b last_write_checksum: sha1:8846e8fca8d7326c463ffb34e326dbdb35092e59 @@ -4320,24 +4448,28 @@ trackedFiles: pristine_git_object: c9247de75232a11484798aac674507ad47661762 docs/models/createoutputsystembypackoutputwebhookwebhook1.md: id: 86752cf7a24a - last_write_checksum: sha1:7c065374b9845aa1a4d8da358724d145433d3b60 - pristine_git_object: a0ccebb9c7e4397f8af7bcdcb30a7bf682b7d5e0 + last_write_checksum: sha1:03821eaea27b3f094292d7eadda7e5d82e9c1c6f + pristine_git_object: 4ea0be2ce3bd4e1601f78319b7d549c845026f96 docs/models/createoutputsystembypackoutputwebhookwebhook2.md: id: 276f496a4b1f - last_write_checksum: sha1:f7dc9c3ce6405044699bd231fdd2ebcd332a708c - pristine_git_object: dcb9878fe6ffdaf48bd293671ca216e5382e4c2a + last_write_checksum: sha1:c1d66982ab5ec174a52ae0776de05f5819971ea4 + pristine_git_object: e3f650a556317dbde44d1071eb97604336f2d06d docs/models/createoutputsystembypackoutputwizhec.md: id: ba84fe43fb9c - last_write_checksum: sha1:2d3c4465c3b2f08dd8f5786b404ffb5559c80bc3 - pristine_git_object: 3a6d298176627cd4dca5464e517c4bd3f8952e58 + last_write_checksum: sha1:4304df21cdfa346cb277bcc33d4be9bfe6148621 + pristine_git_object: e35064e8c43d505d9310d5c14a4967577f662b8d docs/models/createoutputsystembypackoutputxsiam.md: id: 5b42408300c9 - last_write_checksum: sha1:f0c9076cbf07863e703b558cf8c82c33ddf287ea - pristine_git_object: bc2b8a3c2e6b390611a08e8bf35683d7ae5d3535 + last_write_checksum: sha1:4ebfee7df20f53483f42a4fa868d183623364029 + pristine_git_object: 17e73275b99b566a7367c4e8e62639531a8e37c0 docs/models/createoutputsystembypackpayloadformat.md: id: 4ac5a100eca8 last_write_checksum: sha1:a510053bd0ae018c28076eb8a58a124c01ce2098 pristine_git_object: 4866d64d49758df525355c6a2aa3822b75db6103 + docs/models/createoutputsystembypackpqcontrolsamazonmanagedprometheus.md: + id: ade848785c44 + last_write_checksum: sha1:fd24a8975feaa33423d263e6a5d87ae7f1533cc8 + pristine_git_object: 7b719150c9d43b76ddca68855dfd4e11089bebac docs/models/createoutputsystembypackpqcontrolsazuredataexplorer.md: id: bbf00816f386 last_write_checksum: sha1:240149821f1b20692d8b93e6b50f7c0790358516 @@ -4382,6 +4514,10 @@ trackedFiles: id: 3a64006ebd69 last_write_checksum: sha1:9393fd4759d8f6781b6ed6c8f6c4274d734036a8 pristine_git_object: 6432ba2ba671c8637b0998a3a5c29bb30f1095c1 + docs/models/createoutputsystembypackpqcontrolscustomermetricsstorage.md: + id: c8aceaaca468 + last_write_checksum: sha1:45f13a8f75bfe0f3e8312c74f58cf3de52671ce8 + pristine_git_object: e5fc2dd0949b9d0619c2ff708c13fa56f94986be docs/models/createoutputsystembypackpqcontrolsdatadog.md: id: e7062a2abac5 last_write_checksum: sha1:38dd20a2929c22a3be7bb90712d2e74a59b7bf0e @@ -4406,6 +4542,10 @@ trackedFiles: id: d0b0d3ca4000 last_write_checksum: sha1:a39bb88a71b3b85524d48b8e4510545162d6de97 pristine_git_object: 7f7da0f294bd0398eb6628b5735210f3faf584fa + docs/models/createoutputsystembypackpqcontrolsgooglebigquery.md: + id: b2b299693427 + last_write_checksum: sha1:53b3f342b38a938c7032ddd4e1063dbccd32f136 + pristine_git_object: 65e692db145b2f7b8a661fb7ba7b714b1c22bada docs/models/createoutputsystembypackpqcontrolsgooglechronicle.md: id: b5dc2d0c7d6d last_write_checksum: sha1:00c3a60e2f00019a83630a4fe5d5206dab221869 @@ -4414,6 +4554,10 @@ trackedFiles: id: 6311c9eb4868 last_write_checksum: sha1:0e40827d22a4657fef6242e14273522d39f0ab28 pristine_git_object: 64652305a4fb5d55b8a5fe84f2b0e33c1fd6355a + docs/models/createoutputsystembypackpqcontrolsgooglecloudobservability.md: + id: a9d608ae11a8 + last_write_checksum: sha1:70f09646b9292826b8f0dc85d0ba56def0d70170 + pristine_git_object: 4ece09945f16ef231817803a88090cb1c4059014 docs/models/createoutputsystembypackpqcontrolsgooglepubsub.md: id: ce1cbd44ff87 last_write_checksum: sha1:312f0dcd8a4839e660688151bfa67383fb79c57a @@ -4550,6 +4694,10 @@ trackedFiles: id: 9062c4c65d89 last_write_checksum: sha1:73808e7e1d81f7bc47b75f6560da4bff3894d434 pristine_git_object: 38d60835c21990c99e792bc8b1984aecdb2f1e3f + docs/models/createoutputsystembypackprotocolgooglecloudobservability.md: + id: 6a3fff75fc35 + last_write_checksum: sha1:c07373ec164e2a3ad895f2bc31b497cab2f1817e + pristine_git_object: d940a2cbd9a94c4fe25766f267cbd8426c80e25a docs/models/createoutputsystembypackprotocolsyslog.md: id: "606742093202" last_write_checksum: sha1:4637a1bba505804658c5f61c5c3ee7e2273afdfc @@ -4576,8 +4724,8 @@ trackedFiles: pristine_git_object: c67c8c203d286b144fd7dd776572f3fa590a0a72 docs/models/createoutputsystembypackrequestbody.md: id: 6f00d97e8463 - last_write_checksum: sha1:efdd8b2cfba60bf28d1b220d9e1df64e8cebe979 - pristine_git_object: 4adf275b817c3220c63f6545b86d86adfb619575 + last_write_checksum: sha1:f79727737290d47f767709129247ff2c98fce384 + pristine_git_object: d19eb1ae3d6607f31619fbf6b15fee59dd1abbef docs/models/createoutputsystembypackrule.md: id: 65f7652d3951 last_write_checksum: sha1:86c90276b68a058ec5bdf5daab770b6dc42d2157 @@ -4626,6 +4774,10 @@ trackedFiles: id: 259eb4dd8be0 last_write_checksum: sha1:c047bcaf43a28b27a50f34f2777af685e551e805 pristine_git_object: f0b9c780f4de737e1b2770abed6f545a5bd7dfac + docs/models/createoutputsystembypacktypeamazonmanagedprometheus.md: + id: 097cd4ce7429 + last_write_checksum: sha1:5c2f3a4f6ade9b13d2027ad7d5399b1187a9fc39 + pristine_git_object: d8b4039d2b8cbea8858bab54a8d3052daf81a2a9 docs/models/createoutputsystembypacktypeazureblob.md: id: 13f64ce0a3f9 last_write_checksum: sha1:a0d903986b8b450f856c8dc2e0316574f4744959 @@ -4686,6 +4838,10 @@ trackedFiles: id: 13b07618ddb2 last_write_checksum: sha1:dd60d1874b708d3e324f27e83efb0529b1da4207 pristine_git_object: eba7ed97e77d26c5d77dda4a5b0880b90c5ad31d + docs/models/createoutputsystembypacktypecustomermetricsstorage.md: + id: 9dd6acfbae39 + last_write_checksum: sha1:15fa5e722499a6d32c74543b12624aa11cfb4f69 + pristine_git_object: 9d045eee0ec23c9bd6216b4afe652b847181322d docs/models/createoutputsystembypacktypedatabricks.md: id: f197d5692f31 last_write_checksum: sha1:30742c6b606ebc62eff9064245ac5ba1daa5292d @@ -4742,6 +4898,10 @@ trackedFiles: id: 0ccc6b32df33 last_write_checksum: sha1:ee461b48f01987bd419597862dbfba1c547e6c68 pristine_git_object: 0bd1fa947f9b1d883f67ed29104dc30c7ce10781 + docs/models/createoutputsystembypacktypegooglebigquery.md: + id: 49db93350a62 + last_write_checksum: sha1:e6a672354d0693485faa44feb891a1968be20497 + pristine_git_object: 296759c860a9564728eea3ed81953b754602acf5 docs/models/createoutputsystembypacktypegooglechronicle.md: id: c24cc08ed54e last_write_checksum: sha1:0195d4c290632f2dcf88ac5c1b53bca4d8ff8ab7 @@ -4750,6 +4910,10 @@ trackedFiles: id: b58215a486e1 last_write_checksum: sha1:42abd46b4fdf4929296b6db446458b1e3b464b1d pristine_git_object: 9ae5a255e0ba43aae65d38b0957505c22e22d8f6 + docs/models/createoutputsystembypacktypegooglecloudobservability.md: + id: 09325a8a045b + last_write_checksum: sha1:c32e9281a5aa289c5a1858e25954e6ffef3faf36 + pristine_git_object: c78590a9407d4f56cd25edc780cb77b06debcd08 docs/models/createoutputsystembypacktypegooglecloudstorage.md: id: 9eb6bf7e1446 last_write_checksum: sha1:7fb7c81f13fd55033786d70d2ef04346c09a2593 @@ -4770,6 +4934,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 @@ -4970,6 +5138,10 @@ trackedFiles: id: 0b17392bcb1e last_write_checksum: sha1:2325180abe57b36e828679bec730775902b22879 pristine_git_object: be3b0c33d505d13f3aeb8799e8f376dd42df9c87 + docs/models/createoutputtypeamazonmanagedprometheus.md: + id: 377118d7fd4f + last_write_checksum: sha1:ed32a1087b496e99edbdf0e9047434820fc6dfbf + pristine_git_object: 4859c01328740bd778c080b8fe28332f2415f7f0 docs/models/createoutputtypeazureblob.md: id: c86ecc0fa6df last_write_checksum: sha1:590d1f85024d37aff9d34d1cfe2759fd79654042 @@ -5030,6 +5202,10 @@ trackedFiles: id: 0d580be9d43c last_write_checksum: sha1:d5c3ef1fb4327f254744444c91e17d53caad0309 pristine_git_object: 06f64d0780a3c634c62a02815404389d0a28c31a + docs/models/createoutputtypecustomermetricsstorage.md: + id: ef4917a275c2 + last_write_checksum: sha1:d184a445fdc2bc32a24e351ee450e97851ee4bcb + pristine_git_object: b8ff8e9b33ab465f08aa0cd58d84d550526b9bc4 docs/models/createoutputtypedatabricks.md: id: 173332548cf1 last_write_checksum: sha1:1b490ca87b1d3f540094c89e4d17783298d0bcf6 @@ -5086,6 +5262,10 @@ trackedFiles: id: 40c7f869dec6 last_write_checksum: sha1:6bd40fc143ac105b705732f3b74b82e68db0813f pristine_git_object: 57924acdc455306bc5484d1adfda32d70e699c5a + docs/models/createoutputtypegooglebigquery.md: + id: 753c2cb40652 + last_write_checksum: sha1:bca2834aa55844af43dd5892d5b7fd580ad513d9 + pristine_git_object: 02291817b6c8cd6b3dc509a2090c75890ed24ce2 docs/models/createoutputtypegooglechronicle.md: id: 1cd75e58be87 last_write_checksum: sha1:f82a50ddc43f8e2f65bdf8751bf1b1ee5a4f7fd3 @@ -5094,6 +5274,10 @@ trackedFiles: id: cb59abddd6e4 last_write_checksum: sha1:6126aaf9dbdf6342690c5dee7a3f0c0b9f6e3620 pristine_git_object: 0524368349ba8fc802bf82192c47974111ad0e96 + docs/models/createoutputtypegooglecloudobservability.md: + id: 83aa27f60c43 + last_write_checksum: sha1:fcd0394c632d925529102efc189c7e8ac3a7350b + pristine_git_object: 309f31b31917d7d41acec7a31eb4e0cba22b3f7a docs/models/createoutputtypegooglecloudstorage.md: id: d6d9c5687645 last_write_checksum: sha1:c21fa598262b5890e4f9ab266be15c54948d0291 @@ -5114,6 +5298,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 @@ -5290,6 +5478,10 @@ trackedFiles: id: ccc3eed71ace last_write_checksum: sha1:99e5ad25dba8003cb59ee24f0d51aa73728ab1b4 pristine_git_object: 171c22c6714cb9815985c5186eb0c0c961c1a14c + docs/models/createproductsgroupsbyproductrequest.md: + id: 34526fa0a89a + last_write_checksum: sha1:04a7d347d89354c3488ea58c5a880570939f5074 + pristine_git_object: a2f386b49a80e5b8853a60b4a83172bd34d77833 docs/models/createroutesappendbyidrequest.md: id: 3f2c8b7a09fe last_write_checksum: sha1:66f0c05b50163eaff0765ed6ce0bbb024de3c6c1 @@ -5304,20 +5496,20 @@ trackedFiles: pristine_git_object: 8e26b1deb830fd24d451eb6311f9f9d77c085fe2 docs/models/cribllakedataset.md: id: 217bd4fe0ce9 - last_write_checksum: sha1:fd85cfc6c657ffe27c333f404dad1578b96e0959 - pristine_git_object: e2d3229d51ac22ced99d0e7d7856b567cbe715a1 + last_write_checksum: sha1:9f08e4c364e528c624c283bf38462f8a0080dfb8 + pristine_git_object: 14c480c4627b0d141ee604dc508d33b5d9cb54a5 docs/models/cribllakedatasetupdate.md: id: 7da2b930e08d - last_write_checksum: sha1:b850e9392e4be1065da00480ccb1b8076ef8c0a3 - pristine_git_object: d80fb3db4aae5e9e6f845c8f831b3d49569b90be + last_write_checksum: sha1:b6b2c5070bcb75129e66b6b37bab8eaa96333a87 + pristine_git_object: 2d2611c065a4291de0ca9378f25e455becd9d5ae docs/models/currentbranchresult.md: id: c6cfe9ac027f - last_write_checksum: sha1:b49aff7f36eeb2a7117b0798bf5429b53473e4bc - pristine_git_object: 2d594b11fc95a04f5b3759d8af4ae34dba3cd01c + last_write_checksum: sha1:c16dc1bc51ffb6b951c5e53cd52ac8d65751ba64 + pristine_git_object: cc45dad05203e9f04ecf6e977c8a809ff240d8e8 docs/models/customlogotypesystemsettingsconf.md: id: 00fce06968f2 - last_write_checksum: sha1:d98ef61810b8ffb2e14eaf0124868e6acd686c42 - pristine_git_object: b7d638675de97fd47a1bcd5384883cdfda4ca042 + last_write_checksum: sha1:6f635d4fbad7c794a7bed501badba20567ada4c7 + pristine_git_object: 42bde5da9bb382a4ee3b88554fdb2684542d33be docs/models/databasecollectorconf.md: id: 01b86d354da2 last_write_checksum: sha1:350e080882e6352041c789e0947fcb06fe95e1c1 @@ -5330,10 +5522,18 @@ trackedFiles: id: eabf07bf9864 last_write_checksum: sha1:9056cbe1e1c4b203edf9f0dfc2cca49de7f23f52 pristine_git_object: fd11b7492e91ce74aeda223f82cf09838892752e + docs/models/databaseconnectionauthtype.md: + id: 2f581f43fc38 + last_write_checksum: sha1:69e3405c3ca1ed92aa3a445b9e9811300c8eb28f + pristine_git_object: 6df267bd899d22417e893d31f43fac8f3d223ae2 docs/models/databaseconnectionconfig.md: id: 5cd25395d120 - last_write_checksum: sha1:cf6997f40ae362c30119ed5f4a7c22f5f93bc2a7 - pristine_git_object: 7e679d2e0305e0374598f95135001a84ad038bb8 + last_write_checksum: sha1:bc42829bf33153d690fc07ab5584b0c0e0f53a6a + pristine_git_object: da4e1adf83e3fea2f7a956c540e6b1366329d05d + docs/models/databaseconnectionresponseenvelope.md: + id: 69e318a7319b + last_write_checksum: sha1:e24328170112665edc81bdea4c507c0d1b911979 + pristine_git_object: b05fc277db67bfb74ab880ef75c733f8f2c3f18b docs/models/databaseconnectiontype.md: id: 7545a6ba8134 last_write_checksum: sha1:c4001b7b849514015d00ab18697210400ba38392 @@ -5352,8 +5552,8 @@ trackedFiles: pristine_git_object: 77cf7ef3bd02b0469ad3274347367a9752b3b317 docs/models/datasetmetadata.md: id: f45fd0484986 - last_write_checksum: sha1:899023b8d8ca46b8a25569421c9b9feb579ce482 - pristine_git_object: a6d1e2c4dacc88b56b940fea9f0abb56c0191375 + last_write_checksum: sha1:505e167085f63fdbc352803bb5c9b4bae8c9352e + pristine_git_object: dfc1f25e914e19ff8cdc2d5f913a542f6f7641f1 docs/models/datasetmetadataruninfo.md: id: 41a1380eccc2 last_write_checksum: sha1:ca1c93c90d8edbbb08d391457856f3010a517938 @@ -5362,10 +5562,6 @@ trackedFiles: id: fd2ce8b6f628 last_write_checksum: sha1:1910b02955e426f35e0a73227c602f4a1eee9178 pristine_git_object: 7a96144b867a4a4879caa69468ec5f68b55f1f36 - docs/models/deleteconfiggroupbyproductandidrequest.md: - id: 945766ddc496 - last_write_checksum: sha1:95aa33824dd82fa9d0008c8be63204609c2b3bd6 - pristine_git_object: a1e61e16d6ef5633fabbb2b55026ccc1383d16ef docs/models/deletecribllakedatasetbylakeidandidrequest.md: id: fb2fb9d18aa0 last_write_checksum: sha1:d99c172fa9a19b3d7d16bd528ec49b0bb842ee45 @@ -5408,8 +5604,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 @@ -5418,6 +5614,10 @@ trackedFiles: id: ec184da4749a last_write_checksum: sha1:553d98ad02c01f35dab9682cb93fc5aaa281d977 pristine_git_object: 64445601857f824a36814dc3601ce7ee041f79d0 + docs/models/deleteproductsgroupsbyproductandidrequest.md: + id: b99cda200ee6 + last_write_checksum: sha1:9c067c1b18764f66e54dbd0d79c762bfab022a49 + pristine_git_object: 98802e1d071c5ae88d97a240e3857ff6bb604a11 docs/models/deletesavedjobbyidrequest.md: id: 5801f6afe752 last_write_checksum: sha1:303d200b69378a3652ffdea72da963da47847746 @@ -5440,40 +5640,36 @@ trackedFiles: pristine_git_object: e33073f4b3d6d9598c6f776dea19496d252a566a docs/models/destinationtype.md: id: 27183f23a494 - last_write_checksum: sha1:86d7a313676365e0372838dceca33869f269f201 - pristine_git_object: 47860aaee50e17b556d12dfbddf4beb39c0baade + last_write_checksum: sha1:803f0abf804770ba0505d1630cd8cd72f6ca71f0 + pristine_git_object: 3bd2f8b7535912d7a585ccf2b7c8ae9efb761425 docs/models/difffiles.md: id: 9247d1e22176 - last_write_checksum: sha1:9a10261582991ad60f34cefd938885cb48c372ef - pristine_git_object: 31a3ff4e14ce591d9d79ca250379334e5b7a7650 - docs/models/diffline.md: - id: a08ee79f884a - last_write_checksum: sha1:3d83700b1133e3b2c5e05500db1ba99fdbd77409 - pristine_git_object: 9a85d6ec4d676e9213761febef01437489582771 + last_write_checksum: sha1:fe1c0859d52f7ec00783c48f0c1c26cfe2f8bd3e + pristine_git_object: c61351a1b0d1c1ca983cd14b8eaec016871bb196 docs/models/difflinecontext.md: id: 7d74716d63fb - last_write_checksum: sha1:1a7a7db96fb13ec66fe80426b9c7c47de0ffed13 - pristine_git_object: 94478367abd87fa4f4d69049137a39bda677e27e + last_write_checksum: sha1:ec4c67041cce5510c25a6a7f8474178750d36d30 + pristine_git_object: 9e1cc260e40f0da33ae9cf478115ce307f4eded2 docs/models/difflinecontexttype.md: id: 6d7331a5f9bc - last_write_checksum: sha1:b8744219e7bd1115297a916cb5f9a6161eec3fde - pristine_git_object: 1dcdcbd863c72a6bcd7dc3610801c39087f7ccc1 + last_write_checksum: sha1:0340b93161ace0daf9e0f2ff92aae3b6112f3e1c + pristine_git_object: 06d30386657da50d952b9133e21afaed768d6f04 docs/models/difflinedelete.md: id: 7f8d4f1bf292 - last_write_checksum: sha1:f713462bbc069aad3aa9ac889355316935a19b4d - pristine_git_object: e1f5b73b2340aa3b5e6eecaa9312d5f879091592 + last_write_checksum: sha1:da4ac783eec1a48af3ba0afef619dbf7805fce04 + pristine_git_object: 2438d28727d4e14b5b8841ea372c912c6b58ff1b docs/models/difflinedeletetype.md: id: c41b4e5b1429 - last_write_checksum: sha1:1f7dc17a9325639ebfd9687ba8a738610e16f9b3 - pristine_git_object: caf44776ddd70b65bc5bd534df6ed44d2eb6448f + last_write_checksum: sha1:e57a11524906e1091b565f24fc7af6aa9523e75a + pristine_git_object: 81e84e4c92a2fb514768a41220d5abfef0180ede docs/models/difflineinsert.md: id: 8aeaf698ca6f - last_write_checksum: sha1:9ef17435e8782b51201ba69760d65f0560dd9895 - pristine_git_object: 5e89c81b55ff22ac5df8d8fffe5a1161674b36d9 + last_write_checksum: sha1:923e94f0d0c873eb9fa9a5cbba04990faa2d044c + pristine_git_object: 70229e8a286d6e750bc0aa264804f210a458733b docs/models/difflineinserttype.md: id: 2f78bab37eed - last_write_checksum: sha1:c6cba64998f344b787959e9154a2b0d1ced2b866 - pristine_git_object: 5b0f8366a440cd7a4cf4aa39f221bd18697a0571 + last_write_checksum: sha1:4a90f98728b81ff0b0223a20310ede9c6ec61bb8 + pristine_git_object: d89fdf60062a334bd29dede37cfa1ef0b196f117 docs/models/discovermethodoptionshealthcheckdiscoverydiscovertypehttp.md: id: c3baf373e72e last_write_checksum: sha1:0e46aa801c65f5c1b0dae5bf9b1928f32bdc226b @@ -5492,44 +5688,40 @@ trackedFiles: pristine_git_object: 52e1afe4f2fc8e3ca3bf7963c164653bcf195994 docs/models/distinctconfiguration.md: id: b73e5b647ed2 - last_write_checksum: sha1:638d631d3a3a76f5cfffb96e5cf258708fa99884 - pristine_git_object: c27d5ea233971cec614b0215306a9e68f8b2fe67 + last_write_checksum: sha1:02d89c70f6403ccbff6eb8e1c8e32af1379be352 + pristine_git_object: cbcf3882bf625aa6420192fbd9583b15b299c15d docs/models/distmode.md: id: f9f83ece2d7a last_write_checksum: sha1:e8f60953fc0ee4b0c68335e35fd3453c73d30d21 pristine_git_object: 7ba73345a2c24587e66da4a1b07e171d2444d232 docs/models/distributedsummary.md: id: c3a1cc70d543 - last_write_checksum: sha1:a60680572730feb0999293f7a1dee08e02b3e034 - pristine_git_object: 3e5c643eb3f29edc4785dc375ac950abcc77d8f2 + last_write_checksum: sha1:45ef97b8f332040c4145c466dde665dd230b31a5 + pristine_git_object: 892b1eb70d3351f8de21f10ff695a376fe12ac49 docs/models/distributedsummarygroups.md: id: 36699ac018a5 - last_write_checksum: sha1:755c8db12f385671548118c74a714779bf747424 - pristine_git_object: 56d3485bb84db8ff65a2cccb6e108024d60157bf - docs/models/distributedsummaryworkers.md: - id: 9c99ed155aad - last_write_checksum: sha1:e9863066dab658efbf230d298717472b63a9585c - pristine_git_object: c9becd8c149a34a4a1c25c7b52620032934b305d + last_write_checksum: sha1:a74f3703b33eb75dec2f26e897df2047aa4e6659 + pristine_git_object: bda6c9ddbc559c26817e07b664467e50c0d1c8f6 docs/models/dnslookupfield.md: id: 99ccb249b44a last_write_checksum: sha1:be0411c58b025720236b423d3fd26cf0390fa953 pristine_git_object: da65ab381166b328838c8039790684d0a5038109 docs/models/emailrecipient1.md: id: 3452fa6197d3 - last_write_checksum: sha1:ac9c1f28909d46351cf96bbcc989a4dac266ead8 - pristine_git_object: 2dd121f41942c485ec469f714c1124365c6774c8 + last_write_checksum: sha1:f1e2daf20506dc3095f0391455f8e31b56cd82f0 + pristine_git_object: b7ee0aee901d97ebf29f1d5bcf12d28fda2ba45f docs/models/emailrecipient2.md: id: bcdfb9bccf1b - last_write_checksum: sha1:7630698a704e2d7f99fd363a7c6ccb47b824d279 - pristine_git_object: 0050a17beba1a77c6d196e2bf3fb544baea5abba + last_write_checksum: sha1:d70fdd6f1535570c05a35f68359bf55ac6cfbc9a + pristine_git_object: a4ebd4cf521d113d12dbba81559a0d0ec60fb549 docs/models/emailrecipient3.md: id: 2f03393df6a7 - last_write_checksum: sha1:67b0ce859a669f4343d3acde3417e3a069c0eb4d - pristine_git_object: 493c6efac468926607920a76311c1d4edd4cd24b + last_write_checksum: sha1:2ae9b324f9335b558df3cd5b91c29e7bda77dcb4 + 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 @@ -5540,56 +5732,56 @@ trackedFiles: pristine_git_object: 27b16edc19b2e4dc5afbaa63323b952bece5091a docs/models/eventbreakerexistingornewexisting.md: id: 865248e9985b - last_write_checksum: sha1:c426e57178aceb337095ce1ae4995d7cd5c60739 - pristine_git_object: 11f2739afb5108e9811137f410f3d07555e2bfa9 + last_write_checksum: sha1:9f10b4294a63be708042d598d84a6bc2773ef72a + pristine_git_object: 5127abcf8529c03eea33723d7da55e7f692d3aa9 docs/models/eventbreakerexistingornewexistingexistingornew.md: id: 510f1980cbf7 - last_write_checksum: sha1:0111d74e128cf171a70493362c840eee8f191bd2 - pristine_git_object: 91ad1deb64c207ce34ea35c99d93fe0e4155f14b + last_write_checksum: sha1:d8dcb444e78b7667b6519ce1016769668056241c + pristine_git_object: 3b592284802e1a260d1762f0c5f23d28411df59a docs/models/eventbreakerexistingornewnew.md: id: 8a86dd92dd2d last_write_checksum: sha1:013f82f06eb6d0155be288eac9af22411888b1c1 pristine_git_object: 8c2a5ae0a1a269b95aa78b22ce82264f9c9e2b41 docs/models/eventbreakerexistingornewnewruletypecsv.md: id: 0ee983ae92aa - last_write_checksum: sha1:483010d7734ff2af1848d9a2705c95a3442bf32c - pristine_git_object: aed1ecc7bb5ebc224f7ad9fbf21145fd0dc2c373 + last_write_checksum: sha1:077c22d5c808c662a62a09a0535aaaa0060a122e + pristine_git_object: b72d3f80b61488ad07cb4f18f61f776715fb3047 docs/models/eventbreakerexistingornewnewruletypecsvexistingornew.md: id: a31842e05a5c - last_write_checksum: sha1:c7a959e4cc7a7f638de7c13b61242572eeeff113 - pristine_git_object: 2c2696910a14dc3775b4246b846aa49efd2c5324 + last_write_checksum: sha1:d1b676a2cfc1059ac23bd2283040cdead867488a + pristine_git_object: 0bc034f212bf242f873a44948ef15dc2c16676da docs/models/eventbreakerexistingornewnewruletypeheader.md: id: 47bb70f4059e - last_write_checksum: sha1:7dcfe9c551ea6b94e0e9cae86e857c7f74834e3b - pristine_git_object: 2b298e70a3edf9e14ae6e22448ab5e72289e240f + last_write_checksum: sha1:7cfc07ba03c189730d59f07fe0c1b9167fac45a3 + pristine_git_object: 57d3dd731c307b21951780156c5ae54d098dca65 docs/models/eventbreakerexistingornewnewruletypeheaderexistingornew.md: id: ca521ff9e921 - last_write_checksum: sha1:bc039bbfe901079a0ab53aebe71c899654a848f5 - pristine_git_object: 5a1ebafd8219e454a807039c5fb6bef3d6b47c87 + last_write_checksum: sha1:d8885ac9b2ebf553cf403e20e827e82ea66a9a76 + pristine_git_object: f84c005ab65e0204d38658f901385799edf43235 docs/models/eventbreakerexistingornewnewruletypejson.md: id: dea1ee768a33 - last_write_checksum: sha1:ebf1e21680a2282681c695c01118fef961770149 - pristine_git_object: 66f07d7b67b04d61a7f4936a849e6a8d09ac5ffc + last_write_checksum: sha1:a6627ca04f3bc6738be4efb0175cd05e8169177e + pristine_git_object: 32db1635c2c036bed4309a97bded66e901487b11 docs/models/eventbreakerexistingornewnewruletypejsonarray.md: id: 3666eb29ccaf - last_write_checksum: sha1:39729accd260f5f6a0666014fb5a9d1d8441139b - pristine_git_object: d8067b49eba99ea44ed5da945fb221fa144de279 + last_write_checksum: sha1:d9b06277fa4d3ff55bfba81b972fd8f93d8bd07a + pristine_git_object: 3a924cc74e32623b4f4b03861c608a8a59e0fe58 docs/models/eventbreakerexistingornewnewruletypejsonarrayexistingornew.md: id: d659db89a9b8 - last_write_checksum: sha1:5c8d72c175c1c4a2c78824b4a65970c897c13f6b - pristine_git_object: 3302156d23ef188a3e93135fc8202aaa49352213 + last_write_checksum: sha1:f85a89174a00e9d0cad1063133d3898f120756e7 + pristine_git_object: 7cbfe525ccaae935caa1a8e59dae48d61c3b6089 docs/models/eventbreakerexistingornewnewruletypejsonexistingornew.md: id: c8d071d7faba - last_write_checksum: sha1:399565bedbe48315bbf10ac98f47dda85218a446 - pristine_git_object: 4dd1cb589482c1e699637be5495a737b3205d4d0 + last_write_checksum: sha1:5d42598c3bb28c2b94e551d2586ebe57292e0c46 + pristine_git_object: ec798c2eea4b3a1b4fdfe3eb465e1b3e6de18c43 docs/models/eventbreakerexistingornewnewruletyperegex.md: id: 71c329389660 - last_write_checksum: sha1:784d2dbe1103824a408beb334256ce74cb4e95ab - pristine_git_object: 34e11f5345c2728055fbc9a3e23425c82db5d426 + last_write_checksum: sha1:a1e49c576ed731ebd21e5cb8a19fa222f0280755 + pristine_git_object: 18f5bd1263d171560319f6ed221480ff3a73d174 docs/models/eventbreakerexistingornewnewruletyperegexexistingornew.md: id: e2d5290dd128 - last_write_checksum: sha1:2317869a8b231258d5e6e6e05be557cc9fad5789 - pristine_git_object: eae8e11ea8bc90f82f9d7e1a258543e94b3e8f2b + last_write_checksum: sha1:9d0cc1cb572c65c96becda45817855bd025a78a2 + pristine_git_object: c6f5bb1111030d0047e300f5ba457162c987747c docs/models/eventbreakerexistingornewnewtimestamptypeauto.md: id: 20c045177840 last_write_checksum: sha1:fa8a5b6f2a27b40c6b37c493843f27d0c440f124 @@ -5602,18 +5794,14 @@ trackedFiles: id: 22aebbe4c3d5 last_write_checksum: sha1:1624ff6ba04da3d57e4341485077f6ad936b4bd7 pristine_git_object: 3e8b41170fa2bc2c452ada25ee560860dcf7ae4c - docs/models/eventbreakerrulefields.md: - id: 1f6bea81069e - last_write_checksum: sha1:2cb24c73481d19309e4398c5f32a8e0ff339e985 - pristine_git_object: 96dcebab626726f1e8698c5c8ad6d2256a1d18cd docs/models/eventbreakertypeoptionseventbreakerexistingornewnew.md: id: 5ea921f4eda6 last_write_checksum: sha1:832d645b6623d908d220e26b9e207b7f97071e27 pristine_git_object: c3e3900fd157a18bbecf47131742f814bd6bbfd0 docs/models/eventstatsconfiguration.md: id: 44a0510cb683 - last_write_checksum: sha1:9040d1d4e1a173a71caa347f48a479e85b6686cd - pristine_git_object: ecc15468fb3e0d1e3f88a20b5f2a13e47882eb20 + last_write_checksum: sha1:0a822f553c7b0d8e1a72c88a9a58423103b493cb + pristine_git_object: d89fc37bc883737da59a9ed28717bd225b5ba1ce docs/models/executorspecificsettingstyperunnablejobexecutorexecutor.md: id: ab4d94d0f8c3 last_write_checksum: sha1:c985023500ff18bfc962338b66760b416fa99ad2 @@ -5636,20 +5824,16 @@ trackedFiles: pristine_git_object: fb89e9f073025fcf5dd3831b6b3b2579de403cef docs/models/featureflagoverrideconfsystemsettingsconf.md: id: bdcfc346b959 - last_write_checksum: sha1:a7ca5e7c6a93b07d23b2fe3eee45cecf15688125 - pristine_git_object: 631e7338532b59fa7d06d0ace1323eacd322d4a1 + last_write_checksum: sha1:c052eda68de0a5eb806d324467fd71cd99dfb331 + pristine_git_object: 86d610cc0ea586621e54d6ec675e953dd26f9e62 docs/models/fieldcondition.md: id: 2dd01e492fed last_write_checksum: sha1:bfa17bb7b0eff4681b1078202c8cfda9118a90cc pristine_git_object: 290ce5d46f83954415861fe88343de5c08685b0b docs/models/file.md: id: 4ad31355bd1c - last_write_checksum: sha1:9e938f60452623d6bcd6409d9ef9da643c0446b3 - pristine_git_object: 7087e849dacc57ad7e0f1aed5ab4702fcc047a02 - docs/models/filestypegitcommitsummary.md: - id: d5edfb21ac9b - last_write_checksum: sha1:d226408c88c876a231ba0feb0747283020172846 - pristine_git_object: 6b2737ed1b3914dfe430976f8344b8e874d28051 + last_write_checksum: sha1:e74f12ff9a2f23b3628e8ede963a3419f4aded78 + pristine_git_object: 9de4b1f3f0d3862d47c9c949f902de2df5850281 docs/models/filesystemcollectorconf.md: id: 4db4fa5904f6 last_write_checksum: sha1:4d17a310e0920663a82702e8d1d0b596560cfb77 @@ -5662,82 +5846,86 @@ trackedFiles: id: f7a84826e2db last_write_checksum: sha1:12e4ebbfe0ad1b91423e0f97efad4dd33c32df2a pristine_git_object: a44bbebedc53cf6033c52a6a7d11f142f666cbea + docs/models/formatoptions.md: + id: 86c951ef3dd7 + last_write_checksum: sha1:ef57bcfdf4e4318f74711c65a49b1e767d861e54 + pristine_git_object: 8f6a2a9a92b3084d5e47b3fee810dd7f6ba2a56b docs/models/formatoptionscribllakedataset.md: id: 72450ba93fda last_write_checksum: sha1:c182489d5aef915bf38a58d8ff67869bc4b431c0 pristine_git_object: 12f41b4e337b7fb5aa883a097f7bd19665969c85 - docs/models/fullrulesetieforusewithlivedatacapturewhichusesdraftunsavedrulesets.md: - id: b330d6fc9745 - last_write_checksum: sha1:20c46a8d7d1eecb6d68d32a08b93ce30e00b27bc - pristine_git_object: f444e77329de071b4fcfe8d3dfced2a2ccfa1ad0 + docs/models/fullruleset.md: + id: 148978fc7ab3 + last_write_checksum: sha1:801423c52b8cb04e5ab8c01e7f512ed88e30fdab + pristine_git_object: fe0176480767dd216d4741d8a5555e113d442ff2 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 - pristine_git_object: 61508e6ef0e1e7a741ed6e9d847712d4a77046bb + last_write_checksum: sha1:6a1fa2acade27b79a6f1953bd18ac690ff90a0eb + pristine_git_object: b8b0610e66587dd09cefc0ab339785a19f703a18 docs/models/functionconfschemacef.md: id: b2012ccd4b3c last_write_checksum: sha1:cff962c1d0b37d5cfe65fc4c9ed3fa3ac8ffa579 @@ -5760,8 +5948,8 @@ trackedFiles: pristine_git_object: 73296edf0b57eee599d5f439cbb72aa097fe392c docs/models/functionconfschemadnslookup.md: id: d99c1f0919a1 - last_write_checksum: sha1:9cb02a61eece50efb377ecfc2ba3674bd519616f - pristine_git_object: 643839e7d66ab42a079884c013f463f585ef83b4 + last_write_checksum: sha1:7e668941ea9b9d9e6d7a24b2ccde34cf996e9f1a + pristine_git_object: 264bc63053bc0c0820e456ea355e4d5516dadc8a docs/models/functionconfschemadrop.md: id: c779df5f0577 last_write_checksum: sha1:536519417624163a92236bc47dc78d344e349f4b @@ -5788,8 +5976,8 @@ trackedFiles: pristine_git_object: 29dccd2b99c0e028a40fd5e9bb7ff5196187111f docs/models/functionconfschemagenstats.md: id: 5975eeb74bcd - last_write_checksum: sha1:8b38fd4a9f35a35df7a13f1f1296c7884bcfe92a - pristine_git_object: d9e45c2d669f7b8f74ef009265901fb3aaa73aed + last_write_checksum: sha1:2a3f579a6076f020621d8944a31ce4072859b355 + pristine_git_object: 9b82de5ba94e6cd3f7ff64b4f2d0214c5f75020a docs/models/functionconfschemalimit.md: id: 640671ffd4b1 last_write_checksum: sha1:7523bb56f24c905b2bd830b9bc6790d57f2ab884 @@ -5800,8 +5988,8 @@ trackedFiles: pristine_git_object: 623d98762fb2ef3d92b85b18a5e4039dad0e4ffa docs/models/functionconfschemalocalsearchrulesetrunner.md: id: 864c31d7cac5 - last_write_checksum: sha1:b10871c150821dce9fa5b5b8195830731512c428 - pristine_git_object: 300b8dd937cdea79a7fffd957a4c4741303219bb + last_write_checksum: sha1:e53d6ad3286c89765ff1d489a64329c249cbed4a + pristine_git_object: 828cd096697de8b3312fde5833553db2f2c9cd30 docs/models/functionconfschemalocalsearchschemamapper.md: id: 5481ee9e32a7 last_write_checksum: sha1:cf88ef68c753ed890f9f5e37b54d7590714d8592 @@ -5824,16 +6012,16 @@ trackedFiles: pristine_git_object: 4a996d7dab8194fe0408365403831019e834e58a docs/models/functionconfschemaotlplogs.md: id: 3da2e5366bab - last_write_checksum: sha1:8edac8af884dedde825e5be199122c7e20af9a82 - pristine_git_object: 2fa983b9a69ef0cb06837dd92a34eeeec5c676c3 + last_write_checksum: sha1:281463a731fd554cc882745cac89fa7d13a14459 + pristine_git_object: b102000a003fe646983b8c12827acb7cb83ed3d0 docs/models/functionconfschemaotlpmetrics.md: id: a6d0115d0c8e - last_write_checksum: sha1:f2b1de0c31cef4b42222e7e52229dabb3e9768f8 - pristine_git_object: bccd0ef5fba535401486b8262434149b3e6468b7 + last_write_checksum: sha1:076df74931a7de08ac37cd3193300f33b30ffb9d + pristine_git_object: 8b72d56cb8f60643b6f0f172386bd3c303481236 docs/models/functionconfschemaotlptraces.md: id: 2a15bcb9327b - last_write_checksum: sha1:db0f8c3a162b5337e7d29f7ba9b8fcc233d54ceb - pristine_git_object: 3349b9c930e38ed789f5139d310abe74b4bac591 + last_write_checksum: sha1:c540651054c296fc36912532060ac1b41a935c24 + pristine_git_object: 470d48660030f6fec519d208d1b586ebba573b95 docs/models/functionconfschemapublishmetrics.md: id: 8ba5ba49820a last_write_checksum: sha1:e3cdf9e495e398bcbdc7bee890855f2123b65d12 @@ -5848,8 +6036,8 @@ trackedFiles: pristine_git_object: 729dfc2708d0cf60cd4f6a55c191c94ccd8fe944 docs/models/functionconfschemaregexfilter.md: id: 97082603bbe5 - last_write_checksum: sha1:040f0136d0502999f0f4efcb21a0bad8944fb0ad - pristine_git_object: 967d8802f0d8323e0ae10aa2d89636e2f74abdc0 + last_write_checksum: sha1:a909644fdf07da6e58e38270044b6d88e620a7ee + pristine_git_object: ab18934b38aafc1ec2753bf94ad7c90f2f18cddd docs/models/functionconfschemarename.md: id: 208e5cc4f87b last_write_checksum: sha1:d0fbe4d455b686d88fcce1908dd93b0412ab4ba4 @@ -5880,524 +6068,508 @@ trackedFiles: pristine_git_object: d0b4f1142404ad737228d6e2ce9be42c5422a81d docs/models/functionconfschemasnmptrapserialize.md: id: 357c94daa165 - last_write_checksum: sha1:733ec71ae0f16f2e1159b5a7427ce52e2fa77414 - pristine_git_object: fed66fc46665ba752282320a23167dea6dda2595 + last_write_checksum: sha1:d8da568978898a1b5820a349fc6ffc90e843505d + pristine_git_object: ac89464cb7f44c9b48d9e9aced6eb146ac4bbb97 docs/models/functionconfschematrimtimestamp.md: id: 20fb1226d295 last_write_checksum: sha1:ea0cf24e5ffa9cf179725e18cfcd827855a97388 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 pristine_git_object: d25363e956ccb6fe6cdacc60c8afa58641ffc1bc - docs/models/getconfiggroupaclbyproductandidrequest.md: - id: c68ae6f17691 - last_write_checksum: sha1:764bd555109d52127a8d8b5b3520295639f82065 - pristine_git_object: 1f30a64bc6948d65a28957b96a6ffcd7b973655f - docs/models/getconfiggroupaclteamsbyproductandidrequest.md: - id: dde6e089fda9 - last_write_checksum: sha1:9d97bb43ad2f783bf8c682c4622baa75cb7c4795 - pristine_git_object: 6a73685358d5be2fb0dd49732e91f1b34dacb1a0 - docs/models/getconfiggroupbyproductandidrequest.md: - id: 869379a6f22b - last_write_checksum: sha1:00bef06400d310a6b712e59b8a25ee6d4890419a - pristine_git_object: 61ffe70add523e6e1b56c87a46b69786b7334349 - docs/models/getconfiggroupconfigversionbyproductandidrequest.md: - id: 4bc6e46d386c - last_write_checksum: sha1:33f16dae420e6e928181ab8be86591408929e01c - pristine_git_object: df9d5d5a19c35b9b9b73e6c97fc969e9a8848681 docs/models/getcribllakedatasetbylakeidandidrequest.md: id: e1b26c8ed9fa last_write_checksum: sha1:52f40a085c80af86999539fd00637f8c3aab759d @@ -6408,20 +6580,44 @@ trackedFiles: pristine_git_object: b044ab51b41179b94d41819362d23b77f6fcdef8 docs/models/getcribllakedatasetbylakeidrequest.md: id: ee28c307ffd4 - last_write_checksum: sha1:bb41881d209b909448c2c9ec1aad8e34947ad55c - pristine_git_object: 97d1e06513367cadb96a0bc3b74c517b60dec5ae + last_write_checksum: sha1:ced811587f83c3d49484cc2b4ad07fe476891fe6 + pristine_git_object: 58102fa38bf411274e5b7064b2fbb7d79b53dfd4 + docs/models/getcribllakedatasetbylakeidresponse.md: + id: 4d12e2c6ac35 + last_write_checksum: sha1:521992b11007e56decc01693223c57e223f0e184 + pristine_git_object: 4887f67adb14195135884b4a7a9496f6553a56e7 + docs/models/getcribllakedatasetbylakeidresponsebody.md: + id: 527d13404b63 + last_write_checksum: sha1:145610e281d1d8a897eafa1ef2dd3405bd760f75 + pristine_git_object: 7239240e50e84f93784c9e644600dcf05ff20d71 docs/models/getdatabaseconnectionconfigbyidrequest.md: id: 86c7f91d6e3a last_write_checksum: sha1:82e66665fd77d3c55fc49f24dec4982195f650c1 pristine_git_object: 3b0af776a65600d948e1b963343d372e73f931d1 docs/models/getdatabaseconnectionconfigrequest.md: id: d74c2b7952ce - last_write_checksum: sha1:377d94ec3e50cc91a4cf59b12f3c5d59bc7f7add - pristine_git_object: 702102eb00fad2764c4b3c3cce2ea06a08319f69 + last_write_checksum: sha1:6ce826cc48b1aee3ec91c29b7a63be4c97560619 + pristine_git_object: 6e4e65d9bf1d8bd5d5f1c5d93e0c85519a8b35a0 + docs/models/getdatabaseconnectionconfigresponse.md: + id: a779727d3020 + last_write_checksum: sha1:ae49ca2ebb8292d843fe8906e5a380203ca228ce + pristine_git_object: 0fb3f717551c0fec81e46de28095ba8c24dbff15 docs/models/getfunctionsbyidrequest.md: id: 94c36486739d last_write_checksum: sha1:3af61124effd7f3c4290e5ca414a9443894b123a pristine_git_object: 714d851c4e983d03cff401ec61bfb92178620d70 + docs/models/getfunctionsrequest.md: + id: 26a9d83a3c00 + last_write_checksum: sha1:f0173e37dfefd5074b3bb0b75ca67a18990678f5 + pristine_git_object: edbaea4508c004570eea022629073fe28c5f7510 + docs/models/getfunctionsresponse.md: + id: 7466031d5bd3 + last_write_checksum: sha1:338629e6c3a4f4cd7d9f215a517ae12687987d8b + pristine_git_object: 6755c66c103af8d96ce279d11bb7a91182f703b1 + docs/models/getfunctionsresponsebody.md: + id: e1b2d7acfab0 + last_write_checksum: sha1:d4b1a743b01cb605dac6c4006916aec898cd9af1 + pristine_git_object: e2f8cf68b80d0de3caa3625c42c7c3b00ca6bade docs/models/getinputbyidrequest.md: id: 031d22739476 last_write_checksum: sha1:8c53cc975af684b36538ac2c43fe6ede9119f926 @@ -6440,8 +6636,12 @@ trackedFiles: pristine_git_object: d41c5d041a3939563a4cbf806265f9bb47a23396 docs/models/getinputstatusresponse.md: id: 395ae04a60b7 - last_write_checksum: sha1:fb75bb1e61db3ad243ab9deff57515bd62f86262 - pristine_git_object: 261e5cc589db6e3f5c5ea0cddeba62df93002ff9 + last_write_checksum: sha1:b781cf34b477413d6a7c510689194f8fd6fea2ce + pristine_git_object: cbf6d61cd5022df6a565ca29161e1b6fa883c04e + docs/models/getinputstatusresponsebody.md: + id: f96c11b414ab + last_write_checksum: sha1:b9d7bdb7af777ede77b3aa2d2c89fd7c038d6e20 + pristine_git_object: fff5ff6585705934a74124ccd011e5d07474cb9f docs/models/getinputstatussysteminputsbypackandidrequest.md: id: 898cb49a7a7e last_write_checksum: sha1:d5faed0cb1a5cbacacdef9e91ae0ca5cae2a3dd6 @@ -6452,16 +6652,28 @@ trackedFiles: pristine_git_object: d0f2aef6c36455b3f249163e25b44215cbf928ff docs/models/getinputstatussysteminputsbypackresponse.md: id: 27e0170e08b2 - last_write_checksum: sha1:c19b074d08b69ee11793ff37e465d6b6ff12ef7d - pristine_git_object: 8dcfb12cee21d6cec85b0eadcab92806b8903a37 + last_write_checksum: sha1:b17031e3fb071818ab152db88980946c838bbbb2 + pristine_git_object: a53255c5bf24010c6f493d320a43f12bc3031198 + docs/models/getinputstatussysteminputsbypackresponsebody.md: + id: ae5364f24978 + last_write_checksum: sha1:ed179d4f608c97f84cf8609da3e70c3f06f94627 + pristine_git_object: 8baae3e6ff069bdc69d5f8168a9d68ea0acdf67a docs/models/getinputsystembypackandidrequest.md: id: 728769db68b2 last_write_checksum: sha1:e86ceb41d1c7eb0bc79e9b850829dcbc1d161442 pristine_git_object: 27ec75be329fede6986e94520a5ec2fad8b9c4f2 docs/models/getinputsystembypackrequest.md: id: 93084fc629c2 - last_write_checksum: sha1:da160436c2afbad54e5db51b0ac47b0f78444f77 - pristine_git_object: 1cc44b902821ef8011ef2e49c65871a436e1a731 + last_write_checksum: sha1:88ba38fd30580623ad27236065b6a1b2f98de5c5 + pristine_git_object: e87089a5c20bf7b133c60fe935f0865c03ea3433 + docs/models/getinputsystembypackresponse.md: + id: 269e1aae1712 + last_write_checksum: sha1:ab25d1c2e4fc4a273e7352342f3c5a045521d8a7 + pristine_git_object: e0435a74a4c361be45900939fa4066a6a0b6136d + docs/models/getinputsystembypackresponsebody.md: + id: b2551a01d201 + last_write_checksum: sha1:96e44333ae27b2f612ae2c0d964eea5e5c13bf14 + pristine_git_object: 7876f79a56b0f52002e1c51924bbc2d95b9798e9 docs/models/getinputsystempqbypackandidrequest.md: id: 55fe4ce97960 last_write_checksum: sha1:4b2195ed130b69f38562c9225c68812ed35c0a9a @@ -6488,8 +6700,12 @@ trackedFiles: pristine_git_object: 00c505adb84915ce04a31979a203160e33e76482 docs/models/getoutputstatusresponse.md: id: 7433a9979ca4 - last_write_checksum: sha1:10b729420dbb913a436dbb3dc8f3fddb7f5a24dc - pristine_git_object: aa23ee6d150128ad645c4f8b8afd04d5ba730e6f + last_write_checksum: sha1:adf9906a21bf7aa0bab3f6f8d592560d2abd1a08 + pristine_git_object: 6d18e1f267931905692e4b22485045b04da1fd17 + docs/models/getoutputstatusresponsebody.md: + id: 4df69bce4bc7 + last_write_checksum: sha1:21352942fd20083b5b6182b2e73e81f31f0d3df7 + pristine_git_object: d8a5688e7bb8d98e376cb04b7d9b2a4085fb024f docs/models/getoutputstatussystemoutputsbypackandidrequest.md: id: aa1c970744ae last_write_checksum: sha1:dcae644c2c98e70ec9a4993056e3374da432fb22 @@ -6500,16 +6716,28 @@ trackedFiles: pristine_git_object: 89da51b6ecbb884dac426244ca09c2e0fb6b6c27 docs/models/getoutputstatussystemoutputsbypackresponse.md: id: ab08a4226560 - last_write_checksum: sha1:0ee5bd9809cbf3eb864bc7c8c2aebcc8d07efd97 - pristine_git_object: 0582a7e92131f62e510c746154413fb36be43fdc + last_write_checksum: sha1:57b8aae95d0ec230f951737df3c935f178674a41 + pristine_git_object: fc0e3c51448e77ce36446251b586127dbc53dcea + docs/models/getoutputstatussystemoutputsbypackresponsebody.md: + id: 2d414098f342 + last_write_checksum: sha1:c7ef5c07f424b01409603d75fcdb6d230a652e36 + pristine_git_object: e7826ee33f3a72b6bef0d505bd7801a259e48da4 docs/models/getoutputsystembypackandidrequest.md: id: 92233c87c463 last_write_checksum: sha1:7286ca26dca972d7bb19181d1c2e12acf7e82807 pristine_git_object: 3ce56da9043caa291cf401ef6dd3f79e1fce8fa3 docs/models/getoutputsystembypackrequest.md: id: dec8f3f5bf91 - last_write_checksum: sha1:856c0957e9dc57033e98a1aa453b3c70dcb64975 - pristine_git_object: 0f6fb135e6313f4b9b4ebae6a89ff9be94cecdcc + last_write_checksum: sha1:89117bca74e0e70ca66bbc1324c00a6520e6f7c8 + pristine_git_object: 21d619d773eef3ae5b7a3d22ee02e5787197bc53 + docs/models/getoutputsystembypackresponse.md: + id: c1a33268a511 + last_write_checksum: sha1:55f6eecf9b2cd76bbd3985c6aaf4fc8255106531 + pristine_git_object: 388615b41db833b2b1013985f4afe85e4baf14cc + docs/models/getoutputsystembypackresponsebody.md: + id: cc8b08018dfa + last_write_checksum: sha1:2eb7c48fbf49f727fe2755f41b95870470e3bba0 + pristine_git_object: 3ca62bd2112d2a7577fc68a86eb5488e3d621b40 docs/models/getoutputsystempqbypackandidrequest.md: id: 854d8bb264ae last_write_checksum: sha1:18260d2eb2681b620453e9554c145bf77daf944c @@ -6520,12 +6748,20 @@ 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:7455048191ab7aa7572feb7888969b7c45c08965 + pristine_git_object: 2447c5670352d75644965eae8ddc11abc58fe0ba + docs/models/getpacksresponse.md: + id: d50ae14e5370 + last_write_checksum: sha1:2fd934fbc1e1c26a4913cbbd62a3f7d9e19c8ebf + pristine_git_object: 916ae5900ebc37479eb756ac6b7312686810a45e + docs/models/getpacksresponsebody.md: + id: d767fa2cd83c + last_write_checksum: sha1:648982ce1ea96fcefbd07d4953c47eff3a45aac7 + pristine_git_object: bc59effc1bff9d6c5e76b9ac758e3ebd7ab3c84b docs/models/getpipelinesbyidrequest.md: id: 2771e2c2d5f8 last_write_checksum: sha1:402499c74a04a9315655fc7409ef74d33f8ea4cc @@ -6536,28 +6772,88 @@ trackedFiles: pristine_git_object: ce2511b9d7c8e6c72d913439a072bdaa86b55eb3 docs/models/getpipelinesbypackrequest.md: id: eda3300d658b - last_write_checksum: sha1:0fe5186a212e3f426d9800f5429ab3b069c09e42 - pristine_git_object: 45760a4ae39276f62919e87e57f012239ba26890 + last_write_checksum: sha1:91abb11553223b83684897f88d4dc8fe9609f9f8 + pristine_git_object: d30c9891c276e8b697290e33be528313b46d2634 + docs/models/getpipelinesbypackresponse.md: + id: 6c803c029119 + last_write_checksum: sha1:c0731d67a448b7dc45efbb44a793f2b0a71821e4 + pristine_git_object: 2b8198959977739fd0dd6ae02b8d50292064733d + docs/models/getpipelinesbypackresponsebody.md: + id: 98bc60a081d2 + last_write_checksum: sha1:b72877a1201df2b372c351f4dfe1f10bee8f0a65 + pristine_git_object: c39045016145fa6a15b34b8f4cefdec06e463d20 + docs/models/getpipelinesrequest.md: + id: d8a50190688a + last_write_checksum: sha1:d99c1ddffdfd3470a53804d18c9b1c5b59bd7332 + pristine_git_object: d847060c8e47da2d671e2fe182c47cea41fd9447 + docs/models/getpipelinesresponse.md: + id: a42c0cea906a + last_write_checksum: sha1:9860a5ed547490bb8778e0749f4eff0eadd1ebbd + pristine_git_object: a836f78264790685bfcbcc9940ed99ea60b4e996 + docs/models/getpipelinesresponsebody.md: + id: 071c10a42f29 + last_write_checksum: sha1:7bef67f4bb9aa202e306d2402b372ec7a418a481 + pristine_git_object: 7cf3194b0ae3248a8736d55bd1d1ff7080dc787a + docs/models/getproductsgroupsaclbyproductandidrequest.md: + id: 24290cd3608e + last_write_checksum: sha1:cc30c53468225a088b9f012b9097928ec64439f4 + pristine_git_object: 1df4a07165f714a7b2142527114be5a58e0613c0 + docs/models/getproductsgroupsaclteamsbyproductandidrequest.md: + id: 8b8a49c18e89 + last_write_checksum: sha1:09eaaf7df998c82d8ac43e9ca2746d12e0ed537e + pristine_git_object: 1c223befbd164b229870a2736af291ff1e9d17a7 + docs/models/getproductsgroupsbyproductandidrequest.md: + id: 6d47f11ee146 + last_write_checksum: sha1:0d30a4b7b60ecc7111541774eeab7d8e55e37084 + pristine_git_object: 05c6de052e0f424e07c15c4a152e566bf4b737e5 + docs/models/getproductsgroupsbyproductrequest.md: + id: 820a0bb6a3a1 + last_write_checksum: sha1:9e3b2c1c85842c06fbec38adb015b5579e7b4ffc + pristine_git_object: 4f1d7630b0bed7de85add961de00488c70434dff + docs/models/getproductsgroupsbyproductresponse.md: + id: 86c448b33187 + last_write_checksum: sha1:926227e1731d7e601d863d7ae9e0ac3f97da4356 + pristine_git_object: 0aaaf0cf3ee3594c7b50034ab77b9a5b3d7454c6 + docs/models/getproductsgroupsbyproductresponsebody.md: + id: 19c5d0e78a38 + last_write_checksum: sha1:460559fbda587c278af0f47396e73d5a668f8056 + pristine_git_object: 7b9c96647c24a7ad1889ee16fb81e5e0df9675ec + docs/models/getproductsgroupsconfigversionbyproductandidrequest.md: + id: 3ae86239ee49 + last_write_checksum: sha1:d22e73c9054941e10de26d59977e3d09e72805e3 + pristine_git_object: e25343ab998d8e1559dd189cfe90b18ce81ff6a3 docs/models/getproductssummarybyproductrequest.md: id: b17f54cc496a - last_write_checksum: sha1:65b37692acf951f5f92f80818658d78ecd0469a4 - pristine_git_object: ec9f172c8b2ca9097a5f514c1301f98996f591ef + last_write_checksum: sha1:cef8680e91e3f6d7bcc73690440e4a35d4bf2ec4 + pristine_git_object: cb77bbc6bc37ca992edaaa867b3c2df01e8b81a9 + docs/models/getproductssummarybyproductresponse.md: + id: 9ec87f9492e4 + last_write_checksum: sha1:5d8102a74d16626684eeeff47d8768dd08b16ca2 + pristine_git_object: eeeec0ef76a29d2fdf898cde4426bbdd248a5f55 + docs/models/getproductssummarybyproductresponsebody.md: + id: 7ac1b34d428c + last_write_checksum: sha1:f2741e6af8d79b0e76d6f44d173468cfde43c45f + pristine_git_object: 486ac509908401839638c80907426ac05c9c6653 docs/models/getproductssummaryworkersbyproductrequest.md: id: 70c85693ec66 - last_write_checksum: sha1:c7231b5c0c7216a1efc8a853778b0275d1e4b6d6 - pristine_git_object: c6c47094ef66b2937b641fe2b358bf9565bffef4 + last_write_checksum: sha1:77e15a52d636c06aa57d7190e62dd35e411ac725 + pristine_git_object: 87da3500c7646478b0fceab0fb0a3ef2d98f2458 docs/models/getproductsworkersbyproductandidrequest.md: id: 74ab2a00b072 last_write_checksum: sha1:fbcccb0398e095bccbb0aeabff8af614e7fabf31 pristine_git_object: 1ddb27dd11f0d87441710444c3c4d9f869f0178f docs/models/getproductsworkersbyproductrequest.md: id: 97ba259083b7 - last_write_checksum: sha1:8bef799fef3829ff64d637b80816998ed3f5c75a - pristine_git_object: 7a806c115f02902413638c66af957d10c9ebea14 + last_write_checksum: sha1:4764b6fcbc38240b4912f8cabf942a86087a45e9 + pristine_git_object: e8f95be61ebec09d4ef786512b9d5c82090e63f1 docs/models/getproductsworkersbyproductresponse.md: id: e7a496326253 - last_write_checksum: sha1:2918d1241f95b094b526c36a08384ea5688c1030 - pristine_git_object: 31fc5794079ebde4516a855ae18e117e6f6f2727 + last_write_checksum: sha1:50737e95959a33eb4f28b64d122b70bc3f0fb5c0 + pristine_git_object: 21bd179cd8ad537a658ff4dc8705d4965a0f0220 + docs/models/getproductsworkersbyproductresponsebody.md: + id: d89cd638096e + last_write_checksum: sha1:d2fbc658c1c4e434a1398457428f9afe94fb8eb3 + pristine_git_object: 14ba61fb7b5d20b5f4f3d13a737821c4e190ef4a docs/models/getroutesbyidrequest.md: id: d3d227988ea3 last_write_checksum: sha1:f1e670cf24e808c9e72376f01201b2582e630893 @@ -6576,8 +6872,16 @@ trackedFiles: pristine_git_object: c52dbd3aa9af29a84bcb0f2245c4b4db6a7d8106 docs/models/getsavedjobrequest.md: id: 89a35447c626 - last_write_checksum: sha1:f1652d490d1012abc556e3e14478797f2e59248b - pristine_git_object: 1ef533464f71ce6bd1a966f72a844c09b410e9e0 + last_write_checksum: sha1:1e14408bfce054921752464df0edf3127bc0bf63 + pristine_git_object: 065cd8ef41f172f420f67cc125e73c83b66cd643 + docs/models/getsavedjobresponse.md: + id: b464e9e1a389 + last_write_checksum: sha1:8fcc7971826d798f120602c79ba0fea08a0f4c51 + pristine_git_object: c33f79e26f225d48c2e8b085157f2ebd4dd475d9 + docs/models/getsavedjobresponsebody.md: + id: 8bedd3efc161 + last_write_checksum: sha1:dff77874f4060bfb671baf592a0cf103b17c152a + pristine_git_object: 98ea98ea7763733b4816daaa2b3ca24fed051245 docs/models/getversioncountrequest.md: id: 175cd7888f05 last_write_checksum: sha1:32a2b08b62601870f42ce1e4fa604a2f1c42361f @@ -6592,8 +6896,16 @@ trackedFiles: pristine_git_object: 23bb1c8d073a8dbe3118ec0e7445eaf4e1406f56 docs/models/getversionrequest.md: id: 98ccae9968d4 - last_write_checksum: sha1:757e9f3929230de574ab3887da3e50991a8a1840 - pristine_git_object: 3183353ce6df575e6a1fd0a99bfc29684ee9bee6 + last_write_checksum: sha1:cd08379835dcc2674bfab0871c024b7fb73edda5 + pristine_git_object: e2bd5c9d9c60f28fc4d09284f4099c52f2d1d9ff + docs/models/getversionresponse.md: + id: 09cbe1a72eae + last_write_checksum: sha1:e21cc93b7a707ef18186db8c9ec8e7f3aa70eaee + pristine_git_object: 7b5a9411fe68fe4e71090c37567741633e198e95 + docs/models/getversionresponsebody.md: + id: dfb1f2461b40 + last_write_checksum: sha1:f7d7d1a781c04d421500032c3d597bf7f256ba53 + pristine_git_object: b5466352946474276d9e3f062c0a9e674cecaab8 docs/models/getversionshowrequest.md: id: b52c550dee7a last_write_checksum: sha1:1d0a3757b236b58e4f3c33249231c3286291d082 @@ -6604,56 +6916,68 @@ trackedFiles: pristine_git_object: 6f4088f17fcbfffab5afdeba7b2ebc19955f3022 docs/models/gitcommitbody.md: id: d3909d90aafb - last_write_checksum: sha1:b2af7f0966e97eef11b7bb56f0f29c67c2904c29 - pristine_git_object: aca27e3b1bfba7a276939fa9abf043411c4e5a1a + last_write_checksum: sha1:2484d8ffbf07a6c5d2fd62aa63c1f17e579f45d3 + pristine_git_object: 4c90cc3835f3ba74b5339db9613493ec153ace73 docs/models/gitcommitsummary.md: id: 920bd26404b9 - last_write_checksum: sha1:d970bdc3a3e3e155c5de901848e74a90fda4deb3 - pristine_git_object: 5fc94abbb930aded4022c29326c8f7e37cd5350f + last_write_checksum: sha1:9a4a0440e9acf38808706a5acb778d0708d8668b + pristine_git_object: 32ec0bc5d7372d6f93df7a8ce2d73cbf195eac61 + docs/models/gitcommitsummaryfiles.md: + id: 1fa748c87eac + last_write_checksum: sha1:94c5e5245cd190516aa62ea0bf495c82bb87700c + pristine_git_object: 0a7d3e8579522b4a9d5dd99db949c88f5e91685d docs/models/gitcountresult.md: id: 91f44201c893 - last_write_checksum: sha1:b02423bb5b0baaf5f8f8134b3e11b3e7e085f234 - pristine_git_object: 4304400a55c7f769b641eec608c3add383e4950b + last_write_checksum: sha1:3e248a17713257e37febbf67c57e152d5f69edc7 + pristine_git_object: 62cb14c8c168dff1d415693de9ac19d4a9a9720a + docs/models/gitdifflines.md: + id: 7517a36743f8 + last_write_checksum: sha1:0daca47e171cfcad08571804f1e70ae32727fa76 + pristine_git_object: 5bcfd710ca19169de8371074c7918090bb9759ef docs/models/gitdiffresult.md: id: f4848e64675e last_write_checksum: sha1:961b96be5e01156add4a16f139f6a2a18c932f93 pristine_git_object: a3dec124bebcb3833f05a6f727d46ef4c8328a8b docs/models/gitfile.md: id: c3bda2f7c322 - last_write_checksum: sha1:6c829f669abef9bb1964e841575f26448ba62fb1 - pristine_git_object: fd7cdee3971c0938b13d63d104014b8eaa597085 + last_write_checksum: sha1:a580bc8dbd63a12cde34dc89ab5c5e081dff9177 + pristine_git_object: 64095c39f59e5430460b4cc8854a5c4040239cad docs/models/gitfilerename.md: id: 30535178b14b last_write_checksum: sha1:7516006bea62a7d099601e053597a710ec3b3191 pristine_git_object: 3e53b71c7506b35609d5f6b723a0fbf5ed0b5cbf docs/models/gitfilesresponse.md: id: 3b1672587112 - last_write_checksum: sha1:8b1190c00a556221e9e1e16503b58c26af26b20f - pristine_git_object: 1f0364834e8a3412192b24a121043280333cc02d + last_write_checksum: sha1:bfefdf2931e4db219ee469d7925e5952c2e434c0 + pristine_git_object: 5c1e6750f946b21de6ff00bcdb9177ccc6bd4d14 docs/models/gitinfo.md: id: c788e618dcc3 - last_write_checksum: sha1:0124341e467a28fe0eaab227cbbd8362857d6b8a - pristine_git_object: e408146a66ddfef18e2a1342be204df173396144 + last_write_checksum: sha1:7253126990aab7a3813bdbdb6580b3ab8bc9161e + pristine_git_object: 2ea75fa1069443942cd7bdde7ad4b5e3452da442 docs/models/gitlogresult.md: id: 7643313bf626 - last_write_checksum: sha1:c63e012746a1152261852e0021b7896c60bd2c9d - pristine_git_object: c071f3718417931a4e777e355eac8f2a3b93c642 + last_write_checksum: sha1:6ad1e5e7ae9332d67e1a978b3c4dbe6ff7288e71 + pristine_git_object: 32c094ae01587ae2d14fe5247232844ce53dc51e docs/models/gitrevertparams.md: id: 8e8541847ad7 - last_write_checksum: sha1:248901ffafb7c91c5704412bc20383504214e621 - pristine_git_object: 9d57d1f4593f81d6972752d3fdead8cf08d61610 + last_write_checksum: sha1:3c3e661d8e6fa626ca83fc79ca67b05bf9932d12 + pristine_git_object: aa5782f8967fa1ce27d8ce1e2e75ed952eda31dd docs/models/gitrevertresult.md: id: f2f03bb177ff - last_write_checksum: sha1:71576a6a2254873f57c17c98df10d824de5d45d0 - pristine_git_object: 66768346f5663ae8ccd28b1ed9c440c3967a40ba + last_write_checksum: sha1:ab258f5311c38443ffc1055fe1784cd4dcdce7d5 + pristine_git_object: 993d0a1c8db205f2e333480726e63ff0d953dc7e + docs/models/gitrevertresultfiles.md: + id: 5505cb92f1c9 + last_write_checksum: sha1:8375267706cb6420dec65400bef3368b48935c0d + pristine_git_object: a44642cd77134df000e65fc8c5730e8dcf9cd5cd docs/models/gitshowresult.md: id: 339c91fd59bc - last_write_checksum: sha1:aaf59ce7fe9be09ac2ca3467d58d6ff4aec9706c - pristine_git_object: f6a875cda844b1d0f65261328129fbb223668aac + last_write_checksum: sha1:62a9fcd8f7d847030b35a40a16868bcd849ec126 + pristine_git_object: d37bb3424c9d99fd86d900aa2c1062303b3d61dc docs/models/gitstatusresult.md: id: 7b9645da35d1 - last_write_checksum: sha1:ae308ea537459ec45fb233a4f0852b210cbd431a - pristine_git_object: 57d3d324e8fa985b7266ceadb1f017c41e42a62c + last_write_checksum: sha1:452c269db82d2807b5b5c73b7564084cef072bad + pristine_git_object: 7c5122d3aae639c6a0974a2e69c8c461a341dbd1 docs/models/googleauthenticationmethodoptions.md: id: 729b449dde07 last_write_checksum: sha1:14c943ffad05264ed5b3504d34b15a08ab462d7e @@ -6704,12 +7028,12 @@ trackedFiles: pristine_git_object: 8edcd507a7ae65dfa957af24282a623714dc0315 docs/models/groupcreaterequest.md: id: eabe8de251b6 - last_write_checksum: sha1:e122bc7152a5bbedcd46d1fa7b55025ac97f799b - pristine_git_object: 67b11bf4d2d4588637a2bb5f4782096e7afb890c + last_write_checksum: sha1:bc467210b66ba30d40bdeae94ad407bc3dbe332b + pristine_git_object: 026bac0e5f29970b2eb21a05d716a015cfe0a0c1 docs/models/hbcriblinfo.md: id: 4d3afe069b86 - last_write_checksum: sha1:a629868404bee1962d638e27d9eb74dd23cd78a9 - pristine_git_object: 683b28953baa814e6d4c50fc9e406eccfd85f259 + last_write_checksum: sha1:03485f3e2d4c271f29d137b3bc766c729d8376c3 + pristine_git_object: b09d907061f7993bf49c697c3b241223e2261756 docs/models/hbleaderinfo.md: id: 7df1b8f9318d last_write_checksum: sha1:44f74ef2a0b745f54a45d425fcd72a6f494c81d2 @@ -6722,10 +7046,14 @@ trackedFiles: id: da971dfd9f8e last_write_checksum: sha1:11fb424f2e938c4e629fcbfd3553d8fc1c63941d pristine_git_object: d264646fa167d0bd697142c7a48f247b23486f47 + docs/models/health.md: + id: ec486d869a8a + last_write_checksum: sha1:2f943d07683681ccea2b172d70f513bcaae93c10 + pristine_git_object: 13b9574a89381df319f868b5601338962cd5b398 docs/models/healthcheckauthenticationbasic.md: id: 399fe533d668 - last_write_checksum: sha1:3a80d8a2e05c6eede69008c5eba1c3e1a1876c16 - pristine_git_object: 2ee3f44b2167510611a5480b1ca31f414f4a1a74 + last_write_checksum: sha1:0ffbba2455dcf1f5bcb8b23e8e45b199095c2f7e + pristine_git_object: 8c2b005238224a2a3d9d644ab9c0556937092516 docs/models/healthcheckauthenticationbasicauthentication.md: id: 4574ae2b3cbf last_write_checksum: sha1:623a7c880cae5afabd32861bd57e2df5dc23543c @@ -6812,8 +7140,8 @@ trackedFiles: pristine_git_object: d5acdf0ef168175909c853f9d76d29ade6b96c24 docs/models/healthcheckauthenticationbasicsecret.md: id: 7f24fd0347bd - last_write_checksum: sha1:4c252b5dbb01fc35eb2fbda0dedfeb0e430f22bb - pristine_git_object: ce7b6ee0b0913e6480e0d6efbb89c8daf7685214 + last_write_checksum: sha1:7bab1a9c91703c4b3d8e83977b0aa3b971f371b7 + pristine_git_object: d91deece1c59ea48ebef652b8c7aaebf1c0229e7 docs/models/healthcheckauthenticationbasicsecretauthentication.md: id: a7580926cf50 last_write_checksum: sha1:30368cf9b74fb6e77edcff1324e750f397c185ce @@ -6900,8 +7228,8 @@ trackedFiles: pristine_git_object: 5394871d8fba26a769186f2d8a12487e97a74a0e docs/models/healthcheckauthenticationlogin.md: id: 0dc6dabb6bd1 - last_write_checksum: sha1:d0fead259ae4b86c7de5b99b5f0283ce0a97f134 - pristine_git_object: 01f977badac415b2e7eb5c98d36a15f8a67b0009 + last_write_checksum: sha1:5bfa31908b31e470bb3cc03949498f57543f581b + pristine_git_object: dea2c360f8a24dc558f74f46fc474053b180172b docs/models/healthcheckauthenticationloginauthentication.md: id: 030009f92cbd last_write_checksum: sha1:53cb0319390990031a7fcd40cb411452e286ae3f @@ -6988,8 +7316,8 @@ trackedFiles: pristine_git_object: 0e4e191c3615693889b416d57ee757e93d98ae13 docs/models/healthcheckauthenticationloginsecret.md: id: b4524b0ec9fc - last_write_checksum: sha1:2188403f869971d8b0fab8d96d04f98d2b05bf23 - pristine_git_object: a42187dcf4a16c113d99e2ec5b1039330d94fe13 + last_write_checksum: sha1:6ada14ec452ccbeb4f35e001bcaf73bf348100ba + pristine_git_object: d960589c4ed78a00020cfd00d30cca2d1d030e4a docs/models/healthcheckauthenticationloginsecretauthentication.md: id: 78dddbab9797 last_write_checksum: sha1:ec04d1b1e564d33c55c7dd2e6ede70b28d77dfac @@ -7076,8 +7404,8 @@ trackedFiles: pristine_git_object: c2fe33e8b3cbe6054c6d29880461a48620bb9213 docs/models/healthcheckauthenticationnone.md: id: 4088fca5ea5b - last_write_checksum: sha1:0d76288d88914c47aac3d8bdf0f2f1913077ec94 - pristine_git_object: 06cf2e1f752bc343c229cc5e03204996325cfe31 + last_write_checksum: sha1:01d585781e4f98e5fa508ca6639f430d8a040f86 + pristine_git_object: 697927f7d47db62d3012b93940d83d5d3f988555 docs/models/healthcheckauthenticationnoneauthentication.md: id: bbf4ea39a7f2 last_write_checksum: sha1:560a730047c64c9afca62865925ce88c5d6f3f3f @@ -7164,8 +7492,8 @@ trackedFiles: pristine_git_object: ac024a332bb939fe01b7e32bd4994cb528923dd7 docs/models/healthcheckauthenticationoauth.md: id: 94982b550fac - last_write_checksum: sha1:5b4ba8aae5680f56b3a52dcdf359a0b9f732558f - pristine_git_object: 7e042c6ea89f98996e4ee06875cca5c4067222a1 + last_write_checksum: sha1:a40a7e1e0c2c0e8ae850565c0ebece2d36ee136c + pristine_git_object: 7246e35e11eee8f5d872c552a1a0c697ec6129e5 docs/models/healthcheckauthenticationoauthauthentication.md: id: 5f340ee49149 last_write_checksum: sha1:0bd69bf8e36e763286385cdfc97a1c99eb75d468 @@ -7252,8 +7580,8 @@ trackedFiles: pristine_git_object: 6e2f2535dd302a635aa0641745c05789920e2210 docs/models/healthcheckauthenticationoauthsecret.md: id: ad71998be901 - last_write_checksum: sha1:08a6d1ccfb2cd8e1fcc87ec27773b3008d9a847d - pristine_git_object: e29df92b09b8775462f3f00d67873137f1b45b94 + last_write_checksum: sha1:89ac86a0b27cef57122465db0ca27ab7ea03e6c2 + pristine_git_object: 71504c3a0a92395caa25ed3973218faf34cf7c9e docs/models/healthcheckauthenticationoauthsecretauthentication.md: id: a0c9bb9ff375 last_write_checksum: sha1:12d79fe2aa4f26c3d6d3c0c8c3cf9f9fe53a157c @@ -7340,8 +7668,8 @@ trackedFiles: pristine_git_object: ecfac5257adf5c460bef390a1dac428602cd681b docs/models/healthcheckcollectmethodget.md: id: 656b449e0c17 - last_write_checksum: sha1:7f304fae478b7759fd4829250e572fdc05b477d6 - pristine_git_object: a2c87c3e6a1f18b741aedb5cceb6b32c5af5a4cd + last_write_checksum: sha1:869fd9595020337dc85e35adda6a402ca3d9634a + pristine_git_object: 7bd85f8cc1ab06e4768fc80320a3801b0e10ae15 docs/models/healthcheckcollectmethodgetauthentication.md: id: d8ecdcbd5cd1 last_write_checksum: sha1:4e379c1a91221fbd5b8e55b01c1cd1b230f5f992 @@ -7432,8 +7760,8 @@ trackedFiles: pristine_git_object: 395ea44fbf18f134157848a28d34067e195cff5d docs/models/healthcheckcollectmethodpost.md: id: 1db52edee63f - last_write_checksum: sha1:1e83986fa107a1b445a0812a15961bfb6dc5ddd7 - pristine_git_object: de418b502de0dafc67a1ba2d1bfaf46bf3b0484a + last_write_checksum: sha1:021c247263bb451610013281ffc935c5acd3b56e + pristine_git_object: a6fe8c92b160aea2aa4d5c81cbc9f0d2f36e7ef3 docs/models/healthcheckcollectmethodpostauthentication.md: id: 225348b89169 last_write_checksum: sha1:e74104bda9d4085958cd91294581d7812aa1e02f @@ -7520,8 +7848,8 @@ trackedFiles: pristine_git_object: 23b19885deb6da40d1050fe846f155919a6fd85d docs/models/healthcheckcollectmethodpostwithbody.md: id: 1d53dd3ff537 - last_write_checksum: sha1:a66187cf2eb399a80ef857b1c91295873d7f10a8 - pristine_git_object: b28347ebbc757b719e70adf001e4b8bcbbf1a878 + last_write_checksum: sha1:870fb0868ae325738ef2ca388bedeb8d66141cf1 + pristine_git_object: a776d37d341180af7e0f963b46ca07839d62b07c docs/models/healthcheckcollectmethodpostwithbodyauthentication.md: id: ec58171a18e3 last_write_checksum: sha1:2e1a5e2d23259bebe217f82511bd87076182396e @@ -7612,24 +7940,28 @@ trackedFiles: pristine_git_object: 9ea7f945fe16a3096c7bb8101909550a90083012 docs/models/healthcounttype.md: id: a1d90ef3f539 - last_write_checksum: sha1:4f79f0475943d0b62b02c21cd285e306e29ce9ec - pristine_git_object: b144d7d7ddebc784e0f9c97fd006fd53e746ec23 + last_write_checksum: sha1:d10966501ee1a2816d833683aee97d80b3d69ca8 + pristine_git_object: 61d63810daecc81bb45bc7edd6946d0fdc0f16f0 + docs/models/healthoptionsstatus.md: + id: 73b3970347ec + last_write_checksum: sha1:1d0ffbd02812f54925fb2eb34f207f1fabf0b57e + pristine_git_object: 275c13d3e271dec7327fd75a08fdc9875ccf7bf7 + 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 pristine_git_object: 916d360a46ef6cda6ce456f94940b09e2e5b9e91 - docs/models/healthstringtype.md: - id: e25582f8d87e - last_write_checksum: sha1:ed54638da268f4f083af45c9d8a63cccca97654d - pristine_git_object: bf0d813bb07e1c574e0129334912e63680194d4f docs/models/heartbeatmetadata.md: id: 3d6a4a5ea919 - last_write_checksum: sha1:2026933808a015f42f939dfa70dc4b749ce459d5 - pristine_git_object: 902fdeb0961c0c11469414b57fee2ce5a698671a + last_write_checksum: sha1:61ebad944cfb981becde1c1d6f6a73e9c6bd436b + pristine_git_object: 6598fbc8d62ac87fc8981a45e299a298be285566 docs/models/hiddendefaultbreakersoptionsdatabasecollectorconf.md: id: 614cd69b5a5f last_write_checksum: sha1:8c7e60948f68ee26a9ee6d54c4db1108fe5fa285 @@ -7640,24 +7972,28 @@ trackedFiles: pristine_git_object: bc6afdd4be464d3c89d64010a0550a409c54d723 docs/models/hostostypeheartbeatmetadata.md: id: 2d1ae61780fc - last_write_checksum: sha1:730ed09b063883ec1310592e4c3795376c91c790 - pristine_git_object: 1e16abe26f037aa320f14ce3508e3ffae43f9858 + last_write_checksum: sha1:4bd9b1ce8f5857dfa2bdf7378e955a11351bd7b9 + pristine_git_object: 2c21a0278a607e7703fd675e28aec98a0b22f2b4 docs/models/infield.md: id: b78c9498bbbd last_write_checksum: sha1:1cd7cb25aff3ffced2af81cf5416491141f05b3e pristine_git_object: 14be4efd2fc3baff5e413700ce1341cf7b988683 docs/models/input.md: id: 5cbc446a3956 - last_write_checksum: sha1:45617b56320fa1a605f7b25bcb325b55f48950e1 - pristine_git_object: 6d0a90557b989748da0da2fcb211cbeef621d6ef + last_write_checksum: sha1:51a2b616f8994b2a98379aafb143873541c8fffe + pristine_git_object: 62474257e54dd3a235e69e370813c67fd7da70e1 docs/models/inputanthropiccompliancecontentconfig.md: id: eeccea327a4f - last_write_checksum: sha1:f02860569a117cb29e6b4ba1ee327cc9f1f0efdb - pristine_git_object: bd5c8f436ab34b9e0ea769e7484d4790587e0da2 + last_write_checksum: sha1:051dd90801fbad934f88b7faf1f8fee00754d296 + pristine_git_object: 8b6a554aa95abd649259fdeb04eba52b4b5d10d5 + docs/models/inputanthropiccomplianceendpointname.md: + id: 7975ec122e5e + last_write_checksum: sha1:489119833f6b424e4631ec7934fb2c92f6bf3f67 + pristine_git_object: e7582843fbc4ed3e4248c0ccfa8cdc8b34bdc334 docs/models/inputanthropiccomplianceinput.md: id: 33587c9a3490 - last_write_checksum: sha1:a99afb9422b66958440c3cd3759330844e8723e2 - pristine_git_object: 23f8ad80ffc16fb3151e174ba0621eabfa827bc4 + last_write_checksum: sha1:6ca81f2e5ce69ec5355d7f405e4637173826c1a7 + pristine_git_object: 8ac962eb3f2cc4ba36252734839ca201b597cca8 docs/models/inputanthropiccompliancemanagestate.md: id: 25a77b3001a0 last_write_checksum: sha1:47385ad7229321ed1f5e897ed864b27e7b13d1d3 @@ -7668,8 +8004,8 @@ trackedFiles: pristine_git_object: 614393c9b8efb3e2c271bba82d30fb43fa342abb docs/models/inputappleunifiedlogsinput.md: id: 1d6c3782f327 - last_write_checksum: sha1:0e151b924d0b4877a7fb058bdbf8975e326e27af - pristine_git_object: d83dcdecb194629a867ef3a5c39c60f9f257a5f3 + last_write_checksum: sha1:129bc582e85e56b393aa65c445eec1d638d1d23d + pristine_git_object: 07571048c2644ca0cab7ea735b34dd10452f527d docs/models/inputappleunifiedlogsreadmode.md: id: 70474b797319 last_write_checksum: sha1:8c481c97779c624ec6d3cccd5340a150970eb23f @@ -7688,8 +8024,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:7d0ccf823624694cd61a6177dfa7ab4d82dd4747 + pristine_git_object: 88c73e7661fd87609126fab3038095e714f8ff38 docs/models/inputappscopepersistence.md: id: 410f50eb49e7 last_write_checksum: sha1:778d4def92aca9a5978e64cd8fd624a61470ff7b @@ -7704,36 +8040,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:c36cfda70e7ac7fa21ec4b83e25b16eb15ad0fa6 + pristine_git_object: f31718a06c9eca4441ac9858b4021c1b94e625b3 docs/models/inputazureblobtype.md: id: 16d87f9d4938 last_write_checksum: sha1:e590f6ea362efd20953551ef2976d66c587895b5 pristine_git_object: 6bb6f049c2472804b3b5c63222b9ea5cfd5d1fe1 - docs/models/inputcloudflarehecauthenticationmethod.md: - id: f0448253c6f2 - last_write_checksum: sha1:3aa42f507ddbb6f7cd5e2be7e9f2d2fa376d309a - pristine_git_object: 347d9ba857fa338f11d28f71e30bcc547d5f5459 - docs/models/inputcloudflarehecauthtoken.md: - id: ca8d2f929885 - last_write_checksum: sha1:f485398efa7d5cc07babfa65b9c97909f793c887 - pristine_git_object: 3046ed575aa4d520173d7afc09cf4af9ef82c8c1 docs/models/inputcloudflarehecinput.md: id: 6e3c0dbd5424 - last_write_checksum: sha1:ee6dd726e4ea268cfd7fd46a871259d2836f7e8d - pristine_git_object: 39c0a89373d8f39e9b20e7461049f2444ed4728b + last_write_checksum: sha1:27b0c409765dc078ec7428d82a5667f11041dd37 + pristine_git_object: 8e8aa51cb17ee2ce8228c182a4f12a571c75703c 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:e664afa5563d41af1c572bc5e316db153ac6d097 + pristine_git_object: 317e04156d54e2587d16b3e540b98d3f215da606 docs/models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md: id: 71a262a75df9 last_write_checksum: sha1:b8eede9d0f2dbf7e2b3fd69aa758e9497d9d8390 @@ -7744,24 +8072,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:3965068abc09ccd9f04b0ff766d54ad977e07c9f + pristine_git_object: 10060323a6e88a4e4f9eecfc6f489c14b3406033 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:db4aa48d8986eca3bac65d54625b7acbcca9cee3 + pristine_git_object: 123d4c2c6b9322731ec439401b5550fea7231a05 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:1efec5738c057af9e280c689fd82f56857b37721 + pristine_git_object: 7974f40ceb5bf0c2da2caffd8b5d917c10ffa0ce docs/models/inputcribllakehttpauthtokensext.md: id: cc455c331f77 last_write_checksum: sha1:ea84bde44cba0140482d5c78876e210f9c3a4a66 @@ -7772,28 +8100,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:7cb6d53168af9330597e69377e7a6848cd33f403 + pristine_git_object: ff3ec1dba9ae3612626076015837e0c1995cc9e5 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:b745ee8b89b928ce3185550d5d302566149803cc + pristine_git_object: 235d9d1e147226c4902c593806d25592a125aa18 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:7432c98422632406fca3a185ddd717d52999f916 + pristine_git_object: ff272e067fb59265c086bfbd5bd66c764846a168 docs/models/inputcribltcptype.md: id: 6d1979607230 last_write_checksum: sha1:0b899709eeeb3a210d6267b9d40435eb0a106a1e @@ -7804,28 +8132,32 @@ trackedFiles: pristine_git_object: ee2a6778fa05bf31dc688c2768104077394c3a98 docs/models/inputcrowdstrikeinput.md: id: 62b38c7f42a1 - last_write_checksum: sha1:b026ee5869cf857a9dd5dd271594cfd077d79daf - pristine_git_object: 99dc49631a9f5cd53a899167e4d1cc5137e4817e + last_write_checksum: sha1:10a63d4f0482600aa8208fe74c11da59690b8a7c + pristine_git_object: f0550f58bcacb22ed22c7155354b0e3a48cb615c 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:c6c727391db23ffd9c26ec5f67a7115e81797755 + pristine_git_object: c8d7dfbfd8dc9c2f21114e66fa2727de60214195 docs/models/inputdatadogagentproxymode.md: id: 07d25841d4e5 - last_write_checksum: sha1:c2583127fb7e8cdd07b318cce4d4e38eb65b5539 - pristine_git_object: 401b8b8a583f81adc29b7231fb70b16789ce17f4 + last_write_checksum: sha1:46374dc19fe43ec805058dcf122a46cec20409a9 + pristine_git_object: e78b315cae177d40d1a918662252a335f90d2ab3 + docs/models/inputdatadogagentsamplingrule.md: + id: f2c7f1a0621a + last_write_checksum: sha1:f1236fbebd7f756b8e0c9dfd21935714c59c586f + pristine_git_object: 60e2f6ae844f1fcaa14cd23268a6558ce196ebc9 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:f580b235907855f352e1a5611536338fcbe294e6 + pristine_git_object: 58a1cc65bbce39344d4794c9eb0cfcd03ab28e43 docs/models/inputdatagensample.md: id: b7c11300fcaf last_write_checksum: sha1:a5cbe8464446e8462fca795749a4457951fbf989 @@ -7840,12 +8172,12 @@ trackedFiles: pristine_git_object: b5fac3f1a3be5a494afea5f8670477fc2a6c1343 docs/models/inputedgeprometheusdiscoverytype.md: id: 641ee12c6cd9 - last_write_checksum: sha1:37e7a372de433a9c1066d156beab35f04c29fec3 - pristine_git_object: fe9ad3790aa5eed6678ab00c181bbbcc87adf60e + last_write_checksum: sha1:6f7395123d3db0307d59a8ec28395ba2c43dc19b + pristine_git_object: 0368a8aef054eeb2f7a910e9e6f1fbbc37bda61f docs/models/inputedgeprometheusinput.md: id: 532b9c1cd201 - last_write_checksum: sha1:630f008518798932e538690930b5d4c76b250f0f - pristine_git_object: 6799ff0ee99b6e99ee50a71132d57d97e425d07d + last_write_checksum: sha1:0b6aef91b9b2d2e3571b888d0075af75b0c7139b + pristine_git_object: 2d0ff1cf0c90b38c97ace0c2730ebe8b54ad1a88 docs/models/inputedgeprometheuspodfilter.md: id: 6b7225d99d45 last_write_checksum: sha1:a031f2397798c1f41f621e9ff07ab2f0ed29768e @@ -7872,20 +8204,20 @@ trackedFiles: pristine_git_object: db4d050ba21078fb737ef3aeb6c6e5a800969ac8 docs/models/inputelasticinput.md: id: 7ebd88dbfe8a - last_write_checksum: sha1:f733221e055ba9ed924ab82cad5c4d76f81579b8 - pristine_git_object: 24485b06ee39e0fcce1bfde26ff83e6b6780fffd + last_write_checksum: sha1:ea2b1a2cb3dcf3491ee4a7f9ee1152ffea187d9f + pristine_git_object: 94103bb5ce3935b9b80b7cdee5ae13143c1d902a 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:abca895b7a165b566bc9f2bd661ee75958840c50 - pristine_git_object: 1e6c48874c4330e4a9a3ec8ada3f41b3aca3ec8f + last_write_checksum: sha1:c7d86cc3a8c2e100dea3c66d0725e91f8ef54874 + pristine_git_object: ae910561d16e3607f7de4fec73284a753ccf9fb1 docs/models/inputeventhubamqpauthenticationmechanism.md: id: d2b7f82ce6f8 last_write_checksum: sha1:0bb2a93d59742e23622f60b04e309cc7b7aab9f6 @@ -7898,38 +8230,42 @@ trackedFiles: id: 690dfd415021 last_write_checksum: sha1:cd326602d044825e883507fb65d5f4ff4b17b496 pristine_git_object: 910224887a5936553179997d1c16c9e3961df989 + docs/models/inputeventhubamqpcertificate.md: + id: ec71f003adaa + last_write_checksum: sha1:883771fe3caca3bd09f682942e57e52fe1b66d9e + pristine_git_object: e9bc74b882cef74d37f765b7ccac7427441f5626 docs/models/inputeventhubamqpcheckpointing.md: id: c85696d6d448 last_write_checksum: sha1:9139efaf859372b2245a7120b03be21baa1c0214 pristine_git_object: 7d11f8064ba257f5320eeb5402f2a8e372f39560 docs/models/inputeventhubamqpinput.md: id: 05f9b477cc80 - last_write_checksum: sha1:4199bcf266e05d5cfe612420b1ac14acb96e7486 - pristine_git_object: 165974177ba9d69b18adce5f26ba4d9e20df7450 + last_write_checksum: sha1:ac46c44f9c7c9b3fe690a40e67e5e1ff570cd623 + pristine_git_object: 9c4f3c4a71e1b4acd93a4c5196e5bf3a2637bb88 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:311584712d3d2b2cae399818875aebda1c49d070 + pristine_git_object: 1f1a2427e5d264595ef456e31a66bf4e13d26547 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:11f2a5605719273342e7a94f0e2fb6bb3808fd2c + pristine_git_object: 86a1e694dab5068c74f770429a055ac670d9c57d 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:bc47de25f1401b767e8256bb0f5943c85c1aee4e + pristine_git_object: 95cb39da9eb710b7cabdac5d1d76e00dfb473cb8 docs/models/inputfilemode.md: id: d57aa21dc987 last_write_checksum: sha1:4b67e129eefa7ae229a5c2f6ee805ad9dbc76329 @@ -7940,60 +8276,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:e26bb8509be23735b1c5673b2ddbfbd4e4ba3d36 + pristine_git_object: 7e8ca808219ec5b6d3a2494fa12f5de37a31c3f5 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:f0964f1e6061f5a265fe089676d5a39e247a7e1b + pristine_git_object: f3932a172c644917e70274647e8a712fd3656e03 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:de4a900b1e6e297c07b38d0ea40981c912854b43 + pristine_git_object: 5326c97f0351819436af82d98dc9efdf9ec4ccd7 docs/models/inputgrafanagrafanainput2.md: id: e66501931694 - last_write_checksum: sha1:b41c083bd5fe094acedfae5802bfabd1d73dce8a - pristine_git_object: cf5e1581b257921b8fdaecb753e0c490890abc88 + last_write_checksum: sha1:15558ec5eb6c726627b6373d9bc55d03589ac9c0 + pristine_git_object: 67c40444f010727b6614da6a0b8d76258165e5c6 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:ef1a3261039060ceb081e0d8b10ed4a36d15c983 + pristine_git_object: 85b0b506b47c1014b19a462b8c62ed22a1649141 docs/models/inputhttprawinput.md: id: fc6719a95b7c - last_write_checksum: sha1:88d7a7a104925209f6cbf5e6f16bf07afc62110d - pristine_git_object: 89294e1315bd6b7497bf797c5c5bf3fdd045f07f + last_write_checksum: sha1:038c9547472aa22cacd11b68d9e4763f1f352a71 + pristine_git_object: 40c26df092918cf5aab3828c893841eca89e726c 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:0967545f3b6c0d553225cdc92efce944eb7c77ed + pristine_git_object: cd3eebc51242493cc1377338d30c35433bfa84be docs/models/inputjournalfilesrule.md: id: 75f064d697eb last_write_checksum: sha1:d01ecb9eacb475daf103ad233a6dc4a4bb03aa22 @@ -8004,16 +8340,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:8b06e15bd0a1a4b921044bd31a5e48edc70129cf + pristine_git_object: 53877359605034777060a3de40fa2efba1972fa9 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:01bd2d7f175be632f05b2e4dd906b0525e13eb61 + pristine_git_object: 6a66256227a49288dd60d9a46ca7690f860c2270 docs/models/inputkinesisrecorddataformat.md: id: "922105758834" last_write_checksum: sha1:fa6825d2ed119ba2edd5af76a5fe97208a4a3d4c @@ -8032,16 +8368,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:b898e45374b28463f9e210b5508ae5c52a32a54b + pristine_git_object: c571725f2fc60c75dfb4db0e85e249e6279ea149 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:7191f7926c4ba701b9412398c48d5070e01064fe - pristine_git_object: 48ee5367d1b46e4b497fb3393b9c6ff0e757017d + last_write_checksum: sha1:265af186f87127d3975a51b4cc024b8bb3852233 + pristine_git_object: b6b5dc01a081cf7946430c62eed90f39941c0220 docs/models/inputkubelogsrule.md: id: ff4047ed4d05 last_write_checksum: sha1:5929ac6dc36176627a16a53e3fd1ca2850d8f1c5 @@ -8052,8 +8388,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:33bf4fcfd3912685145f83a29ab8c866565da3dc + pristine_git_object: 7cc71e9294e94419350665067654e6d8d33bac27 docs/models/inputkubemetricspersistence.md: id: c8357e51932a last_write_checksum: sha1:40282868e141dc02e798c3ed3c59142c7f369aca @@ -8064,16 +8400,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:1383ce81d88eba3b545adb6eb885df152ccb9ea1 + pristine_git_object: d9f87167fbc06bbfc39adf50f299ba133ce913f9 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:0c9f7e411bca08e62e9ea5e29fcda6ab011aa374 + pristine_git_object: eb96a65655e723b294a46a433d88be8aec55b039 docs/models/inputmetricstype.md: id: f5c06f1eaa3e last_write_checksum: sha1:595f3df10a5414016ac334c80f6c03ab0d53529a @@ -8084,8 +8420,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:072740f8f17c2a958d2c66023d53feeb2467d135 + pristine_git_object: ab2602edd72ffb8a243728fe10944db4432987cf docs/models/inputmicrosoftgraphsubscriptionplan.md: id: 96f4525585dc last_write_checksum: sha1:cd35a4c0e17d74fb0e163a0f6a13277e6df57b42 @@ -8096,24 +8432,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:eead87b4e591b367d3086c5c9d78472e5f1a8860 + pristine_git_object: 804eeca8a34586b1f485cb6e014dc6641418941c 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:1bbdc20b3e565771df7d7ae1bd72ce8460c2f457 + pristine_git_object: 60a40e0a012b4f22fd4964a1fd96d2b1566aaff6 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:187d5639f87b1c2a502cd4b7058877f41eb43c0e + pristine_git_object: 48c1ef3fad7ee830d99cdc8f0248694b0d60d73d docs/models/inputnetflowtype.md: id: 4e4202ce9c3a last_write_checksum: sha1:7948c3d0e15d22ac8e11855745c25f6d29512df9 @@ -8124,8 +8460,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:4d40db37542f55d480fb8d6e0d7ed38cd2ce61ef + pristine_git_object: 3f494872b3fe66001ef69ff71bdcb24b6fbbb8ec docs/models/inputoffice365mgmttype.md: id: ba3c917ec61e last_write_checksum: sha1:556d23b03a0f1374ad90b00538678b0b73a11a21 @@ -8136,8 +8472,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:02fdb7a880ae82230cfc0180ad630ebef05eac00 + pristine_git_object: cecb28d2ebdd405c3c8389fd5916b98a341d3f2a docs/models/inputoffice365msgtracetype.md: id: 431fc6a6df7e last_write_checksum: sha1:f2779e1e252116eb6898dfc15dd88c92661ee7ca @@ -8148,16 +8484,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:85ed6300c5da3b78718cc325e1a960548209e4d4 + pristine_git_object: 80f54f13ffade038719788b06e2914a42a7498d6 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:3e0436d0df4668b2731493611b5a55ed736c92cc + pristine_git_object: 5fb4631a237ddf705a1a7338430092e9dbf7edae docs/models/inputoktatype.md: id: 23e8f5355344 last_write_checksum: sha1:e71f6375a240052fdca9ea147efdc1fe26fcb328 @@ -8168,8 +8504,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:ec9b36b7b00c494a1afb2ac42391d0fb65771dd0 + pristine_git_object: 306f8676749c5eafa57078de1aecfe800d9793d7 docs/models/inputopenaicompliancelogsmanagestate.md: id: 88221963df05 last_write_checksum: sha1:772782ab715bbce00e5e7cfce8db19f2eda9bf98 @@ -8180,12 +8516,12 @@ trackedFiles: pristine_git_object: 76f2a4006805efe6819ec9674787b3efc29fa26e docs/models/inputopenaicontentconfig.md: id: 4cfb141126a4 - last_write_checksum: sha1:ff65baf7af8ec81c2f3d30dee1efac8ad7b7b896 - pristine_git_object: b14b005679cd0a2ce87baf81e0c16454aa254c8e + last_write_checksum: sha1:78f363e5788b12236cb81ee835fb2384492f5f3f + pristine_git_object: b7c996c7fc9dbf6a3cf7ee4743a3c647064d374a docs/models/inputopenaiinput.md: id: 88eba12c551e - last_write_checksum: sha1:3c34b75f501bc638d9c40e710b5aee8f40b81498 - pristine_git_object: bf97a446aeb22fe5a20a061b18be344a7db421b8 + last_write_checksum: sha1:81abb9cc8b4bf13a5380b9b06db25e949f43c432 + pristine_git_object: 03c0408cf21852cfdc7fa984c3d26f48fcd75ba5 docs/models/inputopenailoglevel.md: id: b4e7a3c35684 last_write_checksum: sha1:cd05856df926238d54911ed9e0187a34854f6835 @@ -8216,8 +8552,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:f3fe4b4ad13f66a6efe35f5c13c9a940a05bf271 + pristine_git_object: 31d83527106f43134cb8d24fa9f3263635ff054f docs/models/inputopentelemetryotlpversion.md: id: 552338309ce7 last_write_checksum: sha1:550096d0ae1480f3d0b662538fa05e4cf142a81f @@ -8228,44 +8564,44 @@ 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:dd60960db35d300c969006b96a53fed4ffea66e3 - pristine_git_object: 8fbbaaf1ce9739217739b86ef93ca901fadbf847 + last_write_checksum: sha1:92189771a95de601387aeb4f285f41a2e58a2da5 + pristine_git_object: 8daa9348ab042b738cc2c6109b2e1d58dcb40d4e docs/models/inputprometheusinput.md: id: 6e6c8c002a88 - last_write_checksum: sha1:6406d6c79008a7120fa0a16684d82152cf1b803f - pristine_git_object: 6c44ebabf622d3ef3ea329bea6981027f2de4b4c + last_write_checksum: sha1:66debafa04188ec1a27753704c886288b570c4d3 + pristine_git_object: 2c4a82990f81fb698812ce347ccc9bcfa46d8993 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:131c02bc781bcbabbac04168cedf6028c9b47e7d + pristine_git_object: efaa00219f1fe5ede524e1ef263acfe7b1da8dea 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:6a711d942d687ea5ce2ef51d85b6cc249efcdb65 + pristine_git_object: c7d506f067b9bd6c3ee1e0ce967ea9a674d1cb8f docs/models/inputrawudptype.md: id: 10e225997d0b last_write_checksum: sha1:58ce413f2b9b03555edb7d6e25b8fd294e68e392 pristine_git_object: b1f669ec33b4912a29ba0809637bccf8dbc09b4f docs/models/inputresponse.md: id: 5f7c578ba0f0 - last_write_checksum: sha1:7b0359fb2dbb4a6a6d107ae04c497fafbbe83cea - pristine_git_object: 5a04b4a119b9d2d1b74d03262a6a4195a0f935df + last_write_checksum: sha1:2a24ead6e6040adbeb503f4f2b5fe69a96774ca3 + pristine_git_object: fcb93322823646f9bd2e6b89291d6959f3f7ef54 docs/models/inputresponseaccounttype.md: id: 243108baa7ef last_write_checksum: sha1:b71dc914ded5285976cf3de2b28b0cb219738a0d @@ -8280,16 +8616,12 @@ trackedFiles: pristine_git_object: b96f2b9fb6ff3c57138718e6c39f373a6bd629dc docs/models/inputresponseauth.md: id: 6ac263f690a9 - last_write_checksum: sha1:ce249961636cb59445114e1d757a78646609c9c0 - pristine_git_object: c4eadd92d7a2285206572e257a44c9c0f8864ddc + last_write_checksum: sha1:300d9f94fea06634d844cff363abc9116e70622b + pristine_git_object: 8e78394516bbce3e7be42270c2f84ca4f2640b6b docs/models/inputresponseauthenticationmechanism.md: id: 13a82ffc63f1 last_write_checksum: sha1:1113835bc0ea1830eb258ec31d5bb8fbec2aec80 pristine_git_object: c5934d3289107cf91eae5172bf5e37c192f91ce6 - docs/models/inputresponseauthenticationmethodcloudflarehec.md: - id: b4257e44ea96 - last_write_checksum: sha1:49383e02a730d65d0d5c0615b9e2eae6bed33e32 - pristine_git_object: 0cb2beb0a7bac13e780ac24d3de91b98b0426024 docs/models/inputresponseauthenticationmethodedgeprometheus.md: id: 965d976f89de last_write_checksum: sha1:3fe0f95c06cad42223368409d6cdb869c10dd7bb @@ -8338,10 +8670,6 @@ trackedFiles: id: 664cafe64e32 last_write_checksum: sha1:cae1f10e60781d0b67d9786b085b2114f85336ca pristine_git_object: f5dd30a19cf5a990d62b462146c8af0e026e6369 - docs/models/inputresponseauthtokencloudflarehec.md: - id: b592460a81c7 - last_write_checksum: sha1:92f54b8bb800d7d1c110be93583051395ee601fe - pristine_git_object: 6f8d1890f4bd5f6fb964bd4e65a5542f86982ce3 docs/models/inputresponseauthtokensext.md: id: 13d4f32818ad last_write_checksum: sha1:9c2a6cc337cf51d0eddeb8b173c3ce6e51bd8c12 @@ -8352,8 +8680,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 @@ -8362,6 +8690,10 @@ trackedFiles: id: ee51939bfdab last_write_checksum: sha1:86b6f113cb1a1d9d6e3c67aba918ae689e062625 pristine_git_object: d98ec1cf59bc08e184b9d0558a14330d72496940 + docs/models/inputresponsecertificate.md: + id: a44fa4fbdffa + last_write_checksum: sha1:2d9a061e0009deab68e6d4e87da2d6e23d52de6a + pristine_git_object: 37d6d87188e8ae1a2eb5f4cb0845ee237825eadc docs/models/inputresponsecheckpointing.md: id: 98d7a987cefa last_write_checksum: sha1:5b793e89770bc4af61b697ed9187cccf4a3caf54 @@ -8384,8 +8716,8 @@ trackedFiles: pristine_git_object: 7a2b3841001538b8d957601e4b75ac3973f5eddb docs/models/inputresponsecontentconfiganthropiccompliance.md: id: e23f1bd069bb - last_write_checksum: sha1:f3bc46b8dcb9b9b997c1d7fa3823aedb61f4636c - pristine_git_object: d35e8fd3cac78a5ee7696a806f723db1430f3f3e + last_write_checksum: sha1:664a87441230a94920fa038d1c1b1723e9bc2ef9 + pristine_git_object: 8636fed874960bc64b9b2104d63e273cc3851ff1 docs/models/inputresponsecontentconfigoffice365mgmt.md: id: 2049f943dcf5 last_write_checksum: sha1:c9c984932959b2340cbc83e3696fdad27d47254f @@ -8396,8 +8728,8 @@ trackedFiles: pristine_git_object: 6655b5dab0c4e856bef98a1b38464bd0286f4fee docs/models/inputresponsecontentconfigopenai.md: id: bd0152902e70 - last_write_checksum: sha1:07f83373e82f4ad48d57013fa3c28f99a1d3a01d - pristine_git_object: 611385ef10cfba7b1982d79a24a20f8229189f09 + last_write_checksum: sha1:16a93032f06feadadd68766fb651a9090e745af2 + pristine_git_object: 1d2cda71be6dd44067be638a2d2ab2d94b02778c docs/models/inputresponsecontentconfigwiz.md: id: 7f10673827d9 last_write_checksum: sha1:6e10bbee04b599526769c0bf5032aab5caa0a168 @@ -8428,12 +8760,12 @@ trackedFiles: pristine_git_object: 0b3b69df67b6ecd6d1d6bb0c3267a0c31228595b docs/models/inputresponsediscoverytypeedgeprometheus.md: id: 755aa83e0ed4 - last_write_checksum: sha1:11c07810202c7fcabc923046bc9194d1e3346a1d - pristine_git_object: cca6ea65640fc119b5a5da53ad31e5611cc4cbc9 + last_write_checksum: sha1:eba40e033e73ecbae0db8240406fb6367c62eaa3 + pristine_git_object: 397d64fe579e8db151e0755b6e9180c93546b559 docs/models/inputresponsediscoverytypeprometheus.md: id: fee6e156c1c6 - last_write_checksum: sha1:c5c9e3ab15b8b8502ab9e274a703e7410d88f3e6 - pristine_git_object: 0c4aaec64c692ba14f8597703d8e3e9a41717bb9 + last_write_checksum: sha1:9bb12bb996aaee2adfe7282966db4c9977f47af3 + pristine_git_object: bb98c4de266a8af2d6d7dc39a37d642ef3d88708 docs/models/inputresponsediskmodesystemmetrics.md: id: 4a020d6f33b7 last_write_checksum: sha1:d6cb715fc83dc8a58f1c02d5120a6f31def02495 @@ -8466,6 +8798,10 @@ trackedFiles: id: 9687bbba16b2 last_write_checksum: sha1:cfeaec84894fed46267ae0a27d8c46db6b6037ef pristine_git_object: 32f3abaa31324d0dad7c1647c6c4517f640dc567 + docs/models/inputresponseendpointname.md: + id: bad808e170c6 + last_write_checksum: sha1:f54e05096f3935a6719cfff43244dae0e67133bf + pristine_git_object: 0e29ba4671de485ac4c71f21dfe54fc19accf79f docs/models/inputresponseendpointparam.md: id: c26d6c9f452d last_write_checksum: sha1:1a150717a24e1bdbc0ab0e17681e13dee90a1a26 @@ -8512,92 +8848,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:452f46bd61688362124535094286c28482fc740a + pristine_git_object: 7fa833a02cd422fe3a98a9bc85c88fa072e8abcc docs/models/inputresponseinputappleunifiedlogs.md: id: 690bee993e0e - last_write_checksum: sha1:e8c7af6e5e96ffd77e0f42c5965a4d4b34432f30 - pristine_git_object: 21354b351a33f5f1922d092e8d4ec26a85401ba2 + last_write_checksum: sha1:59d6a55f81c7eba87e838252de81213016db5c5a + pristine_git_object: 4f435ac2a970a139bb4770deef9ed6e1e875d94b docs/models/inputresponseinputappscope.md: id: 93ac1b08a7ac - last_write_checksum: sha1:ef9b8c2702d8fe96eb38a4e6687f22b1689e6a63 - pristine_git_object: fe03f671d7340c32a310aaeb4b1f2030f8e5235d + last_write_checksum: sha1:3d209ae67d0b6c22d27388339ea4a5dd3bc72ebe + pristine_git_object: 0ba565354b99251d4ac5427fec7a0f471a92c38c docs/models/inputresponseinputazureblob.md: id: 4b0af8d73765 - last_write_checksum: sha1:cadde4c1c38cd79a6d005786b2565bb8e545d02e - pristine_git_object: 02a8e2ecdb0df6743abc6eccf62f7c88fe143b62 + last_write_checksum: sha1:70f3fc4483cdabe8fa4df63b04acfcd87d31aa47 + pristine_git_object: 7080974c81d8b06b4acc743e2595c7a776b275db docs/models/inputresponseinputcloudflarehec.md: id: f96e1955bd24 - last_write_checksum: sha1:c082121342f6a6fbb1e12239f8411e4a3131d67c - pristine_git_object: 6bd83f651a42396d5405e082631b186f8aefa321 + last_write_checksum: sha1:5b5b2596ccd4f24a937013b793e064f3614ab786 + pristine_git_object: 007f85c1d277973d3d285c658d1d1ac7397e9435 docs/models/inputresponseinputcollection.md: id: e4abbf6e006f - last_write_checksum: sha1:5fe973fdc37bcdb90078f9b079524d1dd3326ada - pristine_git_object: dd3c6b9a212618d2468d9266218be5f3ccd1a3d6 + last_write_checksum: sha1:24d0286b9913823d39af0c90de0badd0636f7d4b + pristine_git_object: 1193986cbd25500e967835d93fd72abe4c831cb8 docs/models/inputresponseinputconfluentcloud.md: id: 2c823147d296 - last_write_checksum: sha1:0082f311d8573bab25f4ef30c89b4183a9ed9aa3 - pristine_git_object: 73880f01d94a73d2aff344a656d599c2f2b5be4a + last_write_checksum: sha1:1c3d311ffbc5489ad2fe6e5d9e6d07faabc74267 + pristine_git_object: ec031517f369de6d40b263ee354de2eb2a519bb4 docs/models/inputresponseinputcribl.md: id: 12ac139fe1e4 - last_write_checksum: sha1:9d920c34d6c79d1f1ffcaba13597b3fbb681b7d6 - pristine_git_object: 5e0c59baf7fb3bcf3a0eac2d1c0e5258f374e775 + last_write_checksum: sha1:22df37dd9160521f27fe77aac65f844e918c1eea + pristine_git_object: ef491048eefbd991341cd6219a048ec698a9abec docs/models/inputresponseinputcriblhttp.md: id: ea15b1a97b87 - last_write_checksum: sha1:ed4bcf5df6354a517083d8adc999491acdfe196a - pristine_git_object: 39656d524507286de685002db80c45e50751f315 + last_write_checksum: sha1:feeea628c703e9b912afbd64d6d0c4d8b7daf91b + pristine_git_object: 9eb8565581a2d83e7c0b0e2596394a62ac5eb282 docs/models/inputresponseinputcribllakehttp.md: id: 70d83fc5feeb - last_write_checksum: sha1:6217f2fb961a565b9061dc5bd309119a776f272c - pristine_git_object: 35e9eb8033dd387891a3c361fd08bc5af1720f76 + last_write_checksum: sha1:3a7b756d47b6cef8e0dd9b6ebaaf80b45f05d19a + pristine_git_object: f904a13f3035f96b4b6507efbd8b08aa9e520695 docs/models/inputresponseinputcriblmetrics.md: id: 3425edb3472e - last_write_checksum: sha1:2c5244ab0d22827514b11973f5d822c90cf8d318 - pristine_git_object: 83f73ed3052189e986365587fe9275504ae38d0c + last_write_checksum: sha1:95ab9157d7ca97cd5f689a4734648cc0eec9aea5 + pristine_git_object: 89174af96cac1a3699c832347b77f85a9829a752 docs/models/inputresponseinputcribltcp.md: id: 4291c90a0dcb - last_write_checksum: sha1:603e8b540c0390c9de17f0148b58949244db8846 - pristine_git_object: e894412fc6a59d14da60756b4a17f099afd2f92f + last_write_checksum: sha1:2674cb76e4d26271703e529d6449bdd2bc2d4ce5 + pristine_git_object: 94f19fd3c3fbcf65aa1b3408c8f8fadcde4f4575 docs/models/inputresponseinputcrowdstrike.md: id: 0f0cab0228b5 - last_write_checksum: sha1:9940713f54002b002e1ab8ae06ba9217ca247ee9 - pristine_git_object: 3bb51358be61146da2b99783c4ba6dcd5b629d80 + last_write_checksum: sha1:b13d58380c1b85143da7c8b8c0c16f0666390ef0 + pristine_git_object: 2a1c4d8ac44a94a4a02594d59ae4f3071af02812 docs/models/inputresponseinputdatadogagent.md: id: fa30723ba7dd - last_write_checksum: sha1:ad38e4cbb9be3d1a803696193e7aa2208f214c7a - pristine_git_object: 65a16bc62c8c011be7c31784a7a57fa66b51affe + last_write_checksum: sha1:18fbece840bcf738a321ff085005f8c829bf6ea7 + pristine_git_object: a3e57fe1bb2dd8787f5b2d0f46670ff06f84a4c2 docs/models/inputresponseinputdatagen.md: id: 8a31a1c700b5 - last_write_checksum: sha1:0eee1fc9f1e65491c7bcc05f969f1366da584422 - pristine_git_object: 9041ca5a78643b832ab1885062c80387ba169426 + last_write_checksum: sha1:e87f724b247769d1ba1b4d501e80fac3af656001 + pristine_git_object: e121089f5d41f051fdb807221f5828de464c9592 docs/models/inputresponseinputedgeprometheus.md: id: 5a1994e497f9 - last_write_checksum: sha1:0b64ccb06fd481a18ef916bfbeb347b036ed88ad - pristine_git_object: a824285cc341107114073d700ecd6fde26574377 + last_write_checksum: sha1:15c755c7f14c26b0ead46511b54a4531b7928055 + pristine_git_object: e49c22025e7b23079e83d603771b3bd3d66139a2 docs/models/inputresponseinputelastic.md: id: 0b1b3eecca51 - last_write_checksum: sha1:9a381d0e4e721ab4e896de6cba15c1ceecb6ba6d - pristine_git_object: 0d8e941e1c3411dd82a281084bea50e8b982fe91 + last_write_checksum: sha1:6bf7e605ee3d7ecbb00d68a37828cb440b8ee921 + pristine_git_object: 0a332f92135f5a8daa8927773727144de7adc68c docs/models/inputresponseinputeventhub.md: id: d3c7cc25bf8a - last_write_checksum: sha1:216870225e7eda5e45640854586ab911c7c19068 - pristine_git_object: a126b8a4a405ca9c66dd9b72d8158f25a9e5e557 + last_write_checksum: sha1:4cf6c5202ccc705f75daa64e0829443bb5e3f436 + pristine_git_object: 65c816aa166198a36b44526730437529e5009fdd docs/models/inputresponseinputeventhubamqp.md: id: 01db0073929b - last_write_checksum: sha1:6b5def506d8a83005c36ff3d4b7b4aeae84d2532 - pristine_git_object: e333f24b82544148c301943cf0a30ce192654cef + last_write_checksum: sha1:1f14436e1693b94ddcabdcd3a425c10ca0539fbf + pristine_git_object: 372b87f52e9f5d55bc8567b2c36097a75dcc3739 docs/models/inputresponseinputexec.md: id: 5539f422fa3c - last_write_checksum: sha1:f9a4c87540b335253e5094dcac77d8b174ddec1d - pristine_git_object: f673981da671fca87eed9b99ef9e1355f1e1b92c + last_write_checksum: sha1:ace41344f07b0b2fb26f0c734125777556eca3be + pristine_git_object: 67fdb071ef548e559d082be5d571595a31fa53db 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:ce61dcd4407d1ac2dc039976f74f3dea37989ddd + pristine_git_object: c07df9c3ae39ae1e2910f3e88e145af553084a81 docs/models/inputresponseinputfilemode.md: id: f863e30c3fde last_write_checksum: sha1:132fd9c48423351dabd63bc30875c7216a4519e3 @@ -8608,44 +8944,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:10471094f96e0991262d76385c90d7bdf782b0c4 + pristine_git_object: 8b50e0a92932aa0f7b4ce5d4b00de224f6cceb06 docs/models/inputresponseinputgooglepubsub.md: id: 9ae9fc3a9e0a - last_write_checksum: sha1:7ff3c9975138fbf9814c7be27852c6a88bd5b794 - pristine_git_object: 86be2fa459333a9093b91cf3acedef800b19aac9 + last_write_checksum: sha1:66d3010614303638dd505b97f5a67143562ef8d8 + pristine_git_object: ca750723deda70afa41b5ff9b9a9d8fd51d486d8 docs/models/inputresponseinputgrafanagrafana1.md: id: 2e2b99e7216b - last_write_checksum: sha1:6cc76efc3fa585e8d9e6eafe5b70279f04b65bb0 - pristine_git_object: 328e8c69348be74ef6956116075059b6a7cb72f6 + last_write_checksum: sha1:2c6c299179d5c37517636186dc8c4043e2422080 + pristine_git_object: 3bd8b827d68fd6c51e1da7400291d1ec83e9cc5d docs/models/inputresponseinputgrafanagrafana2.md: id: 654b82d14a98 - last_write_checksum: sha1:1630cb73addf823424ca5e78fc093886e412fa4b - pristine_git_object: 4c6a186d642057bace45b9094a77eaf2db98522d + last_write_checksum: sha1:24ef8e3873f872c7c3947082d7409f8be0d4dcce + pristine_git_object: 689ee8aa48920a75d3dc99deff08feaab99c3686 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:d84df45399565ba286b4229fb49ceec029e173f1 + pristine_git_object: e6ce1cb7f4a4289f0a1a35711b3c8be88c9ec4f2 docs/models/inputresponseinputhttpraw.md: id: 32031f994955 - last_write_checksum: sha1:4e8081662e6144462cb2ee7dfa3272e86d6f2a17 - pristine_git_object: 7c203e0bd21c1918c23eebec83529ad629a07ccc + last_write_checksum: sha1:8eb6ef4cd1e98eff6fd7697ceb6080c475be9056 + pristine_git_object: cabd7e8c95fa199c7faa67e1c9abbf162875cfb2 docs/models/inputresponseinputjournalfiles.md: id: bb6fee8f5d3d - last_write_checksum: sha1:a6180dc1c89101fa6822419726ef25f0789f17fa - pristine_git_object: b64ca01193fd5ce77acf321ac54befaebc7ca835 + last_write_checksum: sha1:7fb4e5c7d5a15181233048e35bcc35ddf0a942ee + pristine_git_object: 9f83f34bc038ee1486d896b8a81bb7cc6898962c docs/models/inputresponseinputjournalfilesrule.md: id: 8a2f6e89540c last_write_checksum: sha1:bf6da25766418c3eae9b27815361390949ca06ce @@ -8656,132 +8992,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:35f4acfc1625022c214abef351d48eb63fe913f9 + pristine_git_object: 8969e830e87eb14b1b34e31d858fbb0c1352e474 docs/models/inputresponseinputkinesis.md: id: e6f3819a50e5 - last_write_checksum: sha1:85079dbca83afc78a9fe9364c6a418b21b9f964f - pristine_git_object: 18d27354e02cdb8921dd58a879a33547120ac8bc + last_write_checksum: sha1:50a8643972c7da2bc62b926c9612e7e8182655a5 + pristine_git_object: 40fc51b0db89af278216b4165a7a7cb0d2819c24 docs/models/inputresponseinputkubeevents.md: id: b4769513d502 - last_write_checksum: sha1:472ff306ae07ff989a759f33b464a650bdb4142c - pristine_git_object: cdfe60671715768fa25c8ec34103609d0ebeb1ca + last_write_checksum: sha1:d4d43d11399a3e23228fcb9dabe92d53b88ce737 + pristine_git_object: 28d31253006831de0b6e7da7fe6fc7df3d9b2db3 docs/models/inputresponseinputkubelogs.md: id: 67c40d04a05e - last_write_checksum: sha1:19f547e3012f2d0af8375af832086e46cd77952d - pristine_git_object: c9a3cc231a242bf00cf4369f3144ba370f31109d + last_write_checksum: sha1:c038cc56fbb773f4e57d8b3c2a9f4fc5c72fbf8f + pristine_git_object: b18f4c03b6a1aa7c0adc00a921deb045453c3dd5 docs/models/inputresponseinputkubemetrics.md: id: 95b8fb6d2ea4 - last_write_checksum: sha1:86f40adc92c7e377a0ded73b5e0fac221b443c72 - pristine_git_object: bf62910821171d5f33c68111b7e51a144d2ab594 + last_write_checksum: sha1:f1f8c9fee275dd815a5c89e7d1ff97a6c9d92f79 + pristine_git_object: cc17cee6afd60ca3712ac38b9a5231ef60c9aa87 docs/models/inputresponseinputloki.md: id: 1c1184c4d280 - last_write_checksum: sha1:2531d8eed19e5f22d27367e777466dd20746ffa5 - pristine_git_object: 87c6151945a4c218858f1fa650fbb32953359716 + last_write_checksum: sha1:770504a57efe5b933a4649ef0229e279ab81755c + pristine_git_object: 22e5549d98852817406b1094af88c4fe689baebf docs/models/inputresponseinputmetrics.md: id: 715cd601b436 - last_write_checksum: sha1:f0c3c33b3df91f32adcf9c15b73b4facb091a4b4 - pristine_git_object: 3c4232b2f6d64723eed55cacf71efd15f9b231c3 + last_write_checksum: sha1:9c74ff27f3476e0f0354b20db3e14e53d762c968 + pristine_git_object: 5ee60d9d2fbe41d2493b45617c0f52b3a4f6ab8f docs/models/inputresponseinputmicrosoftgraph.md: id: 2e3e68f3c3ba - last_write_checksum: sha1:dafd822d5034d5a5123e1e7da6486e159ed707a4 - pristine_git_object: 707ccc82767a6528aa5480f5ac55aa8559356d35 + last_write_checksum: sha1:2bde32972c761de0d97a71148a9acaffc187a868 + pristine_git_object: ddfe7839d47cd1a55b84b2d276e25fa5d894dfd8 docs/models/inputresponseinputmodeldriventelemetry.md: id: 297dab7ca90e - last_write_checksum: sha1:c32ae9fdc17cb419bfb4b6197cf78474bf6fa67c - pristine_git_object: 1f9c51bc4fb2a35ec1661f717d86a536c33b639a + last_write_checksum: sha1:17402089cd3fba6c63490574fa2d6717e5c1ba97 + pristine_git_object: e4cf1ce66e0ddc1ce93cd079ace3869ed1a8954e docs/models/inputresponseinputmsk.md: id: dbbf2620f7fc - last_write_checksum: sha1:aab279cf292fe7926bcc530827f70454c700b9fd - pristine_git_object: 3a97c0c73d1d89fcdf6200df40700769c5aa4680 + last_write_checksum: sha1:e8584b6bec1c59849f3c86892b9092f3cafc7f93 + pristine_git_object: 35ae9941cbd95142dba038236a54a1008996492f docs/models/inputresponseinputnetflow.md: id: 72fce0f72b6a - last_write_checksum: sha1:db714f24225be84163a9286196723b0fe2488c9c - pristine_git_object: 7cc3940f227eb604b9d173d0921ece3b40565319 + last_write_checksum: sha1:b827cb9a155bc59c0ac0fa17008646b900d11701 + pristine_git_object: 1308bfedf03ef8af3a908ae977df938f547a7f61 docs/models/inputresponseinputoffice365mgmt.md: id: ae6863a95463 - last_write_checksum: sha1:89ea71452c82826510d68957866dfcc2818c2bc7 - pristine_git_object: f0a0b281e09040cbb3425b5990cc1021f62a3f27 + last_write_checksum: sha1:2970a12c34dcab3b2fa7f14dd1f92cc6814f563c + pristine_git_object: a0acab6a87f99c6992a0cecf6c44c76436374c30 docs/models/inputresponseinputoffice365msgtrace.md: id: 1bb749900061 - last_write_checksum: sha1:b02f10fe47ccdb5a7d55a8546adb39c4d13d81d6 - pristine_git_object: f3ef361872856a562c56726622477003605c578f + last_write_checksum: sha1:4f1a88a8cf3df599171b85fbee2074bc1a5b8529 + pristine_git_object: 6951080b69975702618cade6c7ab94f79ce22c84 docs/models/inputresponseinputoffice365service.md: id: 31584a7bca59 - last_write_checksum: sha1:67a6807c4d81d9aa4b7db9959b93f2df0db46d54 - pristine_git_object: 53fe561191ec5505019c765aac3795ac1798f7c7 + last_write_checksum: sha1:e11c769dfe9075bac19844eefed716fb63de7717 + pristine_git_object: 9acf49ce1dd9f692889e5d2ebcd16e960a44f251 docs/models/inputresponseinputokta.md: id: 247ab9e351b1 - last_write_checksum: sha1:77c4ecd72031814561eb464051713aaa01be5a07 - pristine_git_object: 69b890a11d1b063370e541f233b0668144c1c86e + last_write_checksum: sha1:6969db034b4c80abec2ef3a98c85af05372e888e + pristine_git_object: 777536c98fbe6d8b297a9454b5485d0ac704cbf6 docs/models/inputresponseinputopenai.md: id: dc27ff96e4fb - last_write_checksum: sha1:f9b78386d4ff66a2fd738650e0fe588d2e33e9a3 - pristine_git_object: cb0c81fd6548c3985f64da1508728a3ef9fb7e99 + last_write_checksum: sha1:52cb7a74c1a8fe40e63a2c647349949000cacc0f + pristine_git_object: c4768bfaa65728d4bc814ba5fa6d87b5da4a2113 docs/models/inputresponseinputopenaicompliancelogs.md: id: a3a7998c4b02 - last_write_checksum: sha1:a895192f68a65d9b78db44e3c1d46a447f7610ce - pristine_git_object: 0c1ec9af7ba8d24feb84fc8bbd84808c22e0c157 + last_write_checksum: sha1:3852bdf547d35fb1c549d329b12302d3778cbe25 + pristine_git_object: 88943afcd4a37892a407aa0af18d17ac11094d94 docs/models/inputresponseinputopentelemetry.md: id: b8712177bc5a - last_write_checksum: sha1:53ef561936526c4a170d7719935abd628e4b514c - pristine_git_object: d53f73c7265d79c947127bdde508ef1553d03bf8 + last_write_checksum: sha1:e0a927896c7b76c1c252e79d65c803a623cffe80 + pristine_git_object: 4a390529b43313d5c24049d68554a740814a276c docs/models/inputresponseinputprometheus.md: id: 43b251fad9b5 - last_write_checksum: sha1:5fb0c51c43ee706e01cb5db71afa9de3c5b05304 - pristine_git_object: 5c30996a531e051dc75dc8257e33b88d7dcf0d60 + last_write_checksum: sha1:00e92d6d0fd93df267e937bd91fc2e80430a0a8f + pristine_git_object: 347871ae032406c6a76356aef91d10e461b664cf docs/models/inputresponseinputprometheusrw.md: id: bf7bdf36b510 - last_write_checksum: sha1:664763af1371f69dfeb6e44e6c4ad9d00b6d20eb - pristine_git_object: df36442de25a04005f613d43bbee7e77ae294fd6 + last_write_checksum: sha1:a6105374d9122bf04e2cc9cfc39bd655dd28de98 + pristine_git_object: 4c4072dd9588c2bd1cfdb9b9487d93cf01423710 docs/models/inputresponseinputrawudp.md: id: 2cd092b2b9ad - last_write_checksum: sha1:75f468293d5b120fd31fc627e4030b70b4358b74 - pristine_git_object: 3d6f36cf1a01e53c5f7ae64d3d99e3d461bd7520 + last_write_checksum: sha1:ecb2bffab4f934924cf70c1977bacfbda7b37751 + pristine_git_object: c19c450ca2fdca6c9f910e8bd2790ea5341c3d13 docs/models/inputresponseinputs3.md: id: b85de4592447 - last_write_checksum: sha1:e866ff1b64488ecb96bfb4cac32c9f36bbd9811a - pristine_git_object: 0934e0b218d89280d91a7a93c71d9d690ceb4b2c + last_write_checksum: sha1:e2467a0abf7b6c47b0414801fe0c48b441134c45 + pristine_git_object: ea589adeef50623fdcbe6a08fc09001e3acd79b5 docs/models/inputresponseinputs3inventory.md: id: a4f059f4b232 - last_write_checksum: sha1:8b3f0970440728e1d2f854910e8424fd92a14a7a - pristine_git_object: da9047dfc8867c1917a65b289a2ce725dd554347 + last_write_checksum: sha1:2cf2fbf7e8a4a3dea6ad387ce5e21c40d77c0493 + pristine_git_object: 27d335db315555df51dacd8c737c79ce23cebc61 docs/models/inputresponseinputsecuritylake.md: id: 26402e9ba01a - last_write_checksum: sha1:363887d49e723728931545233fdd83e746b78a42 - pristine_git_object: 2ee6539476787aabf97f40d8d17c8464c06265e4 + last_write_checksum: sha1:c838f8fccc1bdfeb22cde25e5bf306a3659c41a5 + pristine_git_object: cce1f4baff19789570d4c79b6da816890387b192 docs/models/inputresponseinputservicenowtable.md: id: 68bb88ee164c - last_write_checksum: sha1:92a04c213428456b93157e1cff13a98327ca87ef - pristine_git_object: 86d12d6efcb799b75dbd1594bb155275f746a133 + last_write_checksum: sha1:e61a05e4aa6f5c479f4528a410846182e2a41fef + pristine_git_object: 45891a71538fe53c0a7a90184459b885342ddddf docs/models/inputresponseinputsnmp.md: id: 80be6692199e - last_write_checksum: sha1:d2e405874c1e424ef046261170e20eae5063a692 - pristine_git_object: 327050980796abbbb183781834c2b6ac879acfe3 + last_write_checksum: sha1:b96927a1e2fae78c59e6d0776ed8e42d1a31b82d + pristine_git_object: c46dc71480ebc9e29c311f6d54eaf52f67f1a81e docs/models/inputresponseinputsplunk.md: id: a0fdab04c301 - last_write_checksum: sha1:ba57b200c4919afb5996b5d363c30ef41bdc3761 - pristine_git_object: e67aec8223b6d182f5853cfe70e67cfc2a1d0c08 + last_write_checksum: sha1:85e4bf5af68bf6ac6b9c48a364528efd5b2f75c2 + pristine_git_object: 01df2fc11743be25d00ce1e44782b101e99a1523 docs/models/inputresponseinputsplunkhec.md: id: 0acbcb91a3ee - last_write_checksum: sha1:6157f010287fed00ba724d1cad0917cfef5c7130 - pristine_git_object: 4940f9ea8f6112a58231ae7d4e1b1c0b31c87d00 + last_write_checksum: sha1:8690cf13a69e52fd666d4d79448a1324e84d5b45 + pristine_git_object: 88d92cbf1f4c310a1f887f2219300e287ca9d028 docs/models/inputresponseinputsplunksearch.md: id: f2444d56ae10 - last_write_checksum: sha1:db3d59fe0456aeb3be94924b0c453f5c919a7b3b - pristine_git_object: d5b3bb79bb6859e9aca55f51e07fe1f5930c3a66 + last_write_checksum: sha1:2c07a0697cee964ee9fa993877c1a4b42d47272b + pristine_git_object: 8113d4402b5b0de50a0e1056d2a3a3180212d1e5 docs/models/inputresponseinputsqs.md: id: 0f2dc0253f4f - last_write_checksum: sha1:709fb25b008e8512b0a49bd5b20371e997ebea87 - pristine_git_object: 26f04228cc987bb661a5c953a17ab31c9d5d2bb8 + last_write_checksum: sha1:b2ea3acdf154e63630fefafad44809aad7e7392a + pristine_git_object: e6dbee80a4d355c823712a69346ffda825e0bac5 + docs/models/inputresponseinputsysdighec.md: + id: 2677b4c290c5 + last_write_checksum: sha1:c3f9ed3d2534ba04fd5a51e61524704a39c5bbdf + pristine_git_object: f6b514691425676c14bd72160aca721f9e8dddda docs/models/inputresponseinputsyslogsyslog1.md: id: 7622100ea2e4 - last_write_checksum: sha1:17df8068adc31755536bdb4a376892cc4ce7cf9b - pristine_git_object: 183a151855ef22138dbee1e3f7f24da1c0bb80cc + last_write_checksum: sha1:bca654dad71a3c7399e0f1f392ff038034845ffb + pristine_git_object: fa882dad247e79e10ac7b34244e0cc541d14dc58 docs/models/inputresponseinputsyslogsyslog2.md: id: 0dc7e321cc17 - last_write_checksum: sha1:800e5df72278616eafb9b581bb7dac05df60ef4e - pristine_git_object: eac4b22d96f7b75cb137b5f9d4ea6f22b6adf8b9 + last_write_checksum: sha1:7ec6938019ea97a2d73fb0eac4f0a0f4e73c60ed + pristine_git_object: a8c8135b546f612960beabd1076a13f5706ba6f1 docs/models/inputresponseinputsyslogtype1.md: id: 6c2858dbb929 last_write_checksum: sha1:a28ac691d3a1209d52342366b43ddd32ddd9db85 @@ -8796,44 +9136,48 @@ trackedFiles: pristine_git_object: 2d2a321776f4e6af10b18b417fe29c0b8dfce792 docs/models/inputresponseinputsystemmetrics.md: id: 82bbb136ef01 - last_write_checksum: sha1:7e83c4f20c20a78b029e2f44984a8351ee1537de - pristine_git_object: 93ed6f76f85ef7a24a9e638a4b94cac262a05677 + last_write_checksum: sha1:31e5b2bda12fda1ee22bd8241d7fcfc5ce2c68d7 + pristine_git_object: 4ec1dfdb81d7d2dd532fc1023161175399793a64 docs/models/inputresponseinputsystemstate.md: id: 15acf4165392 - last_write_checksum: sha1:26e62ad4ab06048753d44d3475ef61cf5810bdd5 - pristine_git_object: 3bf1d103898016aec988b01787072578ee2f71da + last_write_checksum: sha1:c00678227d2290402b953d2f6fd42e43be4c9cff + pristine_git_object: 84ca8c23ca24c7ad60d9efa6d66094bd0c225f23 docs/models/inputresponseinputtcp.md: id: ad1be6317600 - last_write_checksum: sha1:76e227d887227fe2b997cec22ea0bf93bb2b1f60 - pristine_git_object: 1fba7b947e404baa674c5cc43debae22a2c43590 + last_write_checksum: sha1:a3cf044507e54742d5267bb17033a5fd647ed9bf + pristine_git_object: 18de40bd83f8a6b446a3577320e0aac489a30ce0 docs/models/inputresponseinputtcpjson.md: id: ad932982073e - last_write_checksum: sha1:2cc2e81a2086c8a8f5fe535c9c88bc2a1aefb99f - pristine_git_object: defa07f937c8eaf96f6965d9ad9da0a2d390f697 + last_write_checksum: sha1:0a632c66609053099e0e97290dc0048849a4c1eb + pristine_git_object: c840ff56f6fbb47884fb89a4e74ea533559fd921 + docs/models/inputresponseinputupwindhec.md: + id: d6a4f89c38e0 + last_write_checksum: sha1:14fb23fd842edcec0d5928cf5084c56c10c75fe3 + pristine_git_object: 7aafe8caa70e0a3cdaa36115d176e0c49500fbcd docs/models/inputresponseinputwef.md: id: a975c793c310 - last_write_checksum: sha1:7c99567d80f67c40e6b32d809196b9c1b74250ab - pristine_git_object: 78a9b3386a9337b0122901770bee5403d186f005 + last_write_checksum: sha1:325b6838475efd85e9ff1badb730f9aa71cf5439 + pristine_git_object: 68dedc7bd9c087cd6f84e16d4e4391517b69d6fb docs/models/inputresponseinputwindowsmetrics.md: id: 746cda32240a - last_write_checksum: sha1:97600e2503552dd74ae1dba149adb3352cbd3524 - pristine_git_object: ea1d165b03b701440080b6a2c49296c389cd4f37 + last_write_checksum: sha1:595e1c87c38d11009034d2aa3e8ec49e702392b9 + pristine_git_object: 3cf80c3f0ba2a7763327c79ab15db85c308e602e docs/models/inputresponseinputwineventlogs.md: id: 87b74b9dd640 - last_write_checksum: sha1:0fe5affa919047649baa32e73418dea3eb24bcd0 - pristine_git_object: 3b2a7eb6436153fdd5634db08a6adf4d82c773c6 + last_write_checksum: sha1:afe7947b517e10e6f79ac764220353f2b5b05783 + pristine_git_object: be18623f92892e03e10569d144f192c763258f65 docs/models/inputresponseinputwiz.md: id: 98283c848b73 - last_write_checksum: sha1:de8c58237da8b5f931084573990f954dbc061ba7 - pristine_git_object: 1f4324fce5de44759937a4db4af398d16bba4464 + last_write_checksum: sha1:70c37ec01872a0a6354df4e20f4d30d1e7ced173 + pristine_git_object: 1e4461994c9057a78f26ed419d244ca2740696e7 docs/models/inputresponseinputwizwebhook.md: id: cca05de9005d - last_write_checksum: sha1:bcccb07c316b6df19a9463990d20baf38924cb61 - pristine_git_object: f4126f3890eb7e8c17e9712bcd739ff9add2cc8f + last_write_checksum: sha1:47c63272d812ca892176d8ef750cef01a0a6afd4 + pristine_git_object: b0623a4d9639a7bbe43cdda0d08e10a078193a0e docs/models/inputresponseinputzscalerhec.md: id: 2d9f6138d565 - last_write_checksum: sha1:31e4dc6fee999c22aa1a215050dd7f9b2b280864 - pristine_git_object: 2dc37c4a11d280d670ca79d663a55c93967f563e + last_write_checksum: sha1:a1ccdfe8db3b8a67d88ff59468949d52a8ef39f4 + pristine_git_object: 3ddc4455b44360312c3e0710e374989f22506614 docs/models/inputresponseinterfaces.md: id: fad3339a6251 last_write_checksum: sha1:ee9bc9d3bc978ddd96e91e9f731412d2fedc080a @@ -8972,8 +9316,8 @@ trackedFiles: pristine_git_object: a7bd9609de28760eef8a48660f03622439405876 docs/models/inputresponseproxymodedatadogagent.md: id: ca9a173d2211 - last_write_checksum: sha1:16041a7d6972d854227679e21cd884f68f394c3c - pristine_git_object: 9245e798fe2e5610f767f344c3fb04cbdcaeeed8 + last_write_checksum: sha1:651e9e95f8ad05f7ed8030ff1788eaddc83f03b5 + pristine_git_object: 54c90a73c37b3bdf8a5d4e24088b9f0007543104 docs/models/inputresponseproxymodeelastic.md: id: b3ac271a2d8e last_write_checksum: sha1:9f2718450e612525b16d54177a2089ac48b86abf @@ -9014,6 +9358,10 @@ trackedFiles: id: a97a3cd2959a last_write_checksum: sha1:f7b1cefe57ad4fcbb46389228ec322aeaf08cc37 pristine_git_object: ff7a7ed53deec96def24d7288b35ca75b3cffa94 + docs/models/inputresponsesamplingrule.md: + id: 47aefe98468c + last_write_checksum: sha1:c9cd468eec98bebc18129bf3957f282d86b650fa + pristine_git_object: 396cc83ae732bad6cff918356837e349ee2e5d3b docs/models/inputresponsescheduletype.md: id: 4f3fd1a881e1 last_write_checksum: sha1:346312e1daf4367efb8f73959d5bfc207bd412f8 @@ -9092,8 +9440,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 @@ -9108,12 +9456,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 @@ -9128,8 +9476,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 @@ -9140,8 +9488,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 @@ -9152,20 +9500,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 @@ -9188,8 +9536,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 @@ -9236,16 +9584,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 @@ -9276,8 +9624,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 @@ -9286,6 +9634,10 @@ trackedFiles: id: 615ae12afc36 last_write_checksum: sha1:fbbed97ba8ba17b0b40138a4d776247d08198c2b pristine_git_object: bef1fc204ea413f9ba16e7762ecdf019bde6a42e + docs/models/inputresponsetypesysdighec.md: + id: c7173d9ae327 + last_write_checksum: sha1:a428119c4483a17a9e8e3a220c5be7315bc86c16 + pristine_git_object: bf78a72db6c01bbe06e02ceaf2541245a0a5684f docs/models/inputresponsetypesystemmetrics.md: id: b349ad2b1257 last_write_checksum: sha1:e2b48bc73c181bb855377be7c8cadb6d13467a96 @@ -9302,6 +9654,10 @@ trackedFiles: id: 2b6264242451 last_write_checksum: sha1:b9b8b55ba7e17cbad2fad6d742c3e53a23f88967 pristine_git_object: 3eff3d00b4cb135d49766d05aaa6ba1fe0b11ed5 + docs/models/inputresponsetypeupwindhec.md: + id: 5bb65fcc130c + last_write_checksum: sha1:6fae54d20f5f025fdea80e04d2eebe00197ba2fb + pristine_git_object: a711dc7995018abd746661bd897de4e413cc8d98 docs/models/inputresponsetypewef.md: id: 53477e343639 last_write_checksum: sha1:13d02717d38a4b9a625584ed281009553fa69367 @@ -9320,12 +9676,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 @@ -9340,12 +9696,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:18322e002ba666deb66a89f999bc9db15782fefc + pristine_git_object: 0200291bd8866406a6a2f5a4230eb8771a3de5b7 docs/models/inputs3inventoryinput.md: id: 8210fbb7cbac - last_write_checksum: sha1:2fd9618bf3f20442336f2420287f03430c3a54bc - pristine_git_object: 5d6b2331e837a5967a9daa77b6dcc7ad7b79cd8b + last_write_checksum: sha1:6b8fdf1c73b21f32f85e716da88b98e34bfa61b7 + pristine_git_object: 58f7053d6a7eed1bb14035a9090bc8bcad24222d docs/models/inputs3inventorytype.md: id: e2f1705fde98 last_write_checksum: sha1:b7a89c2d75ca950ffd81ec34de2a9afd4792b832 @@ -9356,8 +9712,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:5959b19ce3ef7c6ec4cb876d69e180dcfbb0fb6c + pristine_git_object: 9f7d0e6d9adec5ca65d789f973cf7a68e7d3378e docs/models/inputsecuritylaketype.md: id: 36d193dfca24 last_write_checksum: sha1:5bb5fb2183eddb74414596919cbc50d41ccd0535 @@ -9372,8 +9728,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:28f6c2d1d66c34e7c865eee14bcbca1f084fd251 + pristine_git_object: f23caab16abf9c1093b45b66023f01932a057235 docs/models/inputservicenowtablemanagestate.md: id: f6ea5fe9e276 last_write_checksum: sha1:cc36afe0fb097bf0685fa4e3baa321752a6f4425 @@ -9388,8 +9744,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:34f663e1e74339ff44b84eb399ef380c57ca5488 + pristine_git_object: 44d779ad56b73696c038800a9ceff1762e644fd2 docs/models/inputsnmpsnmpv3authentication.md: id: 3cb3c8b7d7c0 last_write_checksum: sha1:3b164b856a66956951eab86bbb11ebd0cba48c40 @@ -9412,24 +9768,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:a6667d8caf63db806a995a505736443d25f3e85a + pristine_git_object: 1159ed61d23795c4476d41f26b5f0ceaea15ccb6 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:7d8d73dc5c5ce1f35715a5916a04327515f8c38c + pristine_git_object: e27ad62049b83fe48bf4a4cd3367eb2264baf7af 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:afe937cad2098cf1b0f8a807e3db6b00c1381792 + pristine_git_object: 361e8c34aa149a4f45a83a735aaf65b966b49d87 docs/models/inputsplunkmaxs2sversion.md: id: f2b767143c5c last_write_checksum: sha1:9674669765b2be48ed1330fd94531f60023e2778 @@ -9448,8 +9804,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:0627bdf5a32704d24d32405ac6eb0acc5a1814eb + pristine_git_object: ab1ed4427bbbd28a2188bd9c16628626cdf42b94 docs/models/inputsplunksearchloglevel.md: id: f7d8be542809 last_write_checksum: sha1:2e215e76a3acf09f084e94e2b12fbc4a0a072d66 @@ -9464,8 +9820,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:8a14154ae342f36f67a977acc46c804f399b3faf + pristine_git_object: 17018639b80f3af9e0ac0bec737939d31851d2fc docs/models/inputsqsqueuetype.md: id: 1e849312572c last_write_checksum: sha1:af6d11dd5026d55346203c70344dcb19b4579e22 @@ -9478,18 +9834,26 @@ trackedFiles: id: 3b25e7b4fc35 last_write_checksum: sha1:5ba768c186d53f04faa3fd7d9b9a6438c954fa26 pristine_git_object: af6b3b029abc566cf632e35b16a5b9c8b58c788b + docs/models/inputsysdighecinput.md: + id: 8960e4cd4d3b + last_write_checksum: sha1:7ea45ec7950d4058a05f91b1c7464b3d7b87b2fd + pristine_git_object: d7f17c6985948c4b798d08b583bf24d50bb1a247 + docs/models/inputsysdighectype.md: + id: 123a1d9a5cd5 + 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:93d288b3a161faf4015f0e5ba2486d288f2032ba + pristine_git_object: 66f1aee39be81af54e244b4a27fdc6d93343e717 docs/models/inputsyslogsysloginput2.md: id: eccfd53f0167 - last_write_checksum: sha1:7bbc44b896f85a410d42d2e14bca8ea03308e78a - pristine_git_object: 16ffd585648044e32583e63575b8bec7f7967591 + last_write_checksum: sha1:d344310dd190256f5697c8ece6abab8d3a84ae58 + pristine_git_object: b12907f5ccb2bd6a030a91e10b6b7344f0c05309 docs/models/inputsyslogtype1.md: id: 0aceba177ad5 last_write_checksum: sha1:8bd607a6d9a28885a79acd68ac287c88791b5b92 @@ -9536,8 +9900,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:c093ee27b3bc37c7586311811aa6d3782f0a9c05 + pristine_git_object: 21eab6c1bb0c0f7e3e06e499fa380df6a00b8e53 docs/models/inputsystemmetricsmemory.md: id: 617348e98f43 last_write_checksum: sha1:252af570f84e505faa913e8571c198fbfabea038 @@ -9596,8 +9960,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:d2428afaa5ea2dc75307662abfe37460c57ca5da + pristine_git_object: a7abd7d1ec9700b7b01230dc808c0db46452aa7e docs/models/inputsystemstateinterfaces.md: id: 6f873eb46978 last_write_checksum: sha1:876c15af913e533af9ee6dd85c8ee39296a1dd1f @@ -9632,12 +9996,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:fc6c9c788b1385af19392954e556b0d07bc619c6 + pristine_git_object: 10bdb9412fb639f22428ca886b036056ccfffa78 docs/models/inputtcpjsoninput.md: id: 01d76d7ae89a - last_write_checksum: sha1:794954a465b7bc16d7dedb567a5a052a47f3ed10 - pristine_git_object: d16801207daed342fec2393210f907626f898029 + last_write_checksum: sha1:05d6f18e6d3af3fa6921f30f34006be4a1849a25 + pristine_git_object: fdf12a5caab51450116058e5f7eeeacda5e26e22 docs/models/inputtcpjsontype.md: id: f8545b522003 last_write_checksum: sha1:198d5245a8d5245ffbf09fea10c2077e3ef401ae @@ -9646,6 +10010,14 @@ trackedFiles: id: 85691e0ab889 last_write_checksum: sha1:33b027fd08770cda086ad03659e27367c46afc18 pristine_git_object: 5903968a40cf53a73d25a11a8e5adecf76150528 + docs/models/inputupwindhecinput.md: + id: 5afc3910cf7c + last_write_checksum: sha1:67b3aaefb2c48335bf60bfc72a64cd12401c48f8 + pristine_git_object: 17957e6ab98e4812cfc9624a310d25aa792c82b8 + docs/models/inputupwindhectype.md: + id: 1b1606ac9bfb + last_write_checksum: sha1:3457eaf817f7ca701d55477d77c39ec416a1bf7a + pristine_git_object: 579440eb63b632c43c208931861e0218d3cdd371 docs/models/inputwefauthenticationmethod.md: id: 6126399f563f last_write_checksum: sha1:4e21cc4b3f0b511a0867f35705c29f62070bb30c @@ -9656,8 +10028,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:a213f646a76a5a8532999e0798d110e125993194 + pristine_git_object: df9b0be6d636324962702173ebbc3b7938dd29b4 docs/models/inputwefmtlssettings.md: id: f03d139303b5 last_write_checksum: sha1:24e3055f268a76692941189e91b4b51edb9ea59e @@ -9704,8 +10076,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:7c2c490f8aa5bf3017dfe384726721684c5b7d36 + pristine_git_object: c10ade77d9664d29e2e464774dc15cea67acb3fe docs/models/inputwindowsmetricsmemory.md: id: 7665ffc0c3a8 last_write_checksum: sha1:cb4cea4d11842fa5d8fd33414221a2f74522c42b @@ -9744,8 +10116,8 @@ trackedFiles: pristine_git_object: c62f7423d8bb4a9e4ce07918a76fc1e7146cacf6 docs/models/inputwineventlogsinput.md: id: 58257175913f - last_write_checksum: sha1:0b00a0db2c2713e0312d3e34b057863c42b6f5c4 - pristine_git_object: 8d2125e24b0dd5b6f04efa1a2496043b99f543b0 + last_write_checksum: sha1:03983534deaeff416663d51d368b30b8925e7764 + pristine_git_object: cf6f3fa39c1e59e0750468e588ec3a66f9be37c5 docs/models/inputwineventlogsreadmode.md: id: 1fa3fd445122 last_write_checksum: sha1:cc542fadfb01b302728db52ca0ca67b81491221e @@ -9760,8 +10132,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:5eec8b23fa3206a34916de72d3f99e78beb74b46 + pristine_git_object: 9010c283b845e80f391f70e04100f2538cc67594 docs/models/inputwizmanagestate.md: id: a74ff5440f67 last_write_checksum: sha1:9922fe4ca6125e146cdb24c00ad164665219b130 @@ -9772,28 +10144,28 @@ trackedFiles: pristine_git_object: 6aededb9b37cb558f4cfd7b73f0317daf26b454e docs/models/inputwizwebhookinput.md: id: 6c81d6a8f68b - last_write_checksum: sha1:1cc9821ad42bb9e335c2ab682e4825778fb4bc0a - pristine_git_object: 7009ca9963bcfbd21850093db0fd78216b763f31 + last_write_checksum: sha1:e8d7581d4486ee3c40e4ecfc77029beb4b05025e + pristine_git_object: 615ec94ea3f4b70e35634d6dbefc0ff683887387 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:f11005df78a07de615c4d6aecff9d877d4b7928e - pristine_git_object: a5a68bdf56ee6a7524008fd7ab312ea3f78b574a + last_write_checksum: sha1:eb8710f88e80309380699c79cb6ab9e85d6a45f6 + pristine_git_object: d441197a57d9637cd8ffd384edfda42ef6e620b9 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:5647166a4d2947ec201eed974185c00ede458b4d - pristine_git_object: 597eac405ed6047089990e57f4f9a687571eeb1e + last_write_checksum: sha1:e6601af961403b433c093939bdb33a2ebf2dd205 + pristine_git_object: 9539ef4452465963bc9697fd0e1da996eb6760c5 docs/models/jobstatus.md: id: 697a9a5e9e12 last_write_checksum: sha1:b59027b31ae58c7fedc81313144359af27bd6500 @@ -9804,8 +10176,8 @@ trackedFiles: pristine_git_object: 05d3f358b999098071a7f5faf4c8b76272336c5f docs/models/joinconfiguration.md: id: 2a1b7d3943c3 - last_write_checksum: sha1:d43abf9d508a6e42d4ffc8955ded96f5c15fb40a - pristine_git_object: c10797a6727420e03173e6621bf9b29ef3f8d658 + last_write_checksum: sha1:d7ec1eca38c4c8aa47a0881886c716e58132b7e2 + pristine_git_object: 36498389f3473ca47f158ca7228f4c2a3ff7c6e4 docs/models/kafkaschemaregistryauthenticationtype.md: id: 6ceae08d33d7 last_write_checksum: sha1:54f24800417623321cb885d85d83c8eb5fd419e2 @@ -9820,36 +10192,48 @@ trackedFiles: pristine_git_object: 037b56a85a722471793a31cbafdfdcdd594f1c37 docs/models/kubetypeheartbeatmetadata.md: id: d53b12dfb484 - last_write_checksum: sha1:330eccea2780adbea05c759e5ad9a32bbd59c149 - pristine_git_object: 4d37b36ebf76333d58d0a6dddc4966bd21f590c6 + last_write_checksum: sha1:01a1fd6449ff69271adc255f117819afe63bed6a + pristine_git_object: 287b27555cb64caec26bec3d753e5a02c7e42557 docs/models/lakedatasetmetrics.md: id: b5762460f89d - last_write_checksum: sha1:8ec561fa27f2c028255d46a7bd417905ba490801 - pristine_git_object: d6c6c2232cbc26be338715733bc8476a20482b39 + last_write_checksum: sha1:8044a894257fa5e1bcd8a8f50d89d80d3bf49442 + pristine_git_object: b1e5506337fdf0690e9e3c0541659f2540149ea1 docs/models/lakedatasetsearchconfig.md: id: 1ae748500cc0 - last_write_checksum: sha1:55f2a448817898ae86646420e5d018b067306b01 - pristine_git_object: d59331858993f396d1578e053f8348dab3e75f2b + last_write_checksum: sha1:9f0278975c74703286a86ee49a1aceb5b5b9d149 + pristine_git_object: fe82823800d0df50c03a12612d9744aa19e50eb1 docs/models/lakeexportconfiguration.md: id: 8bd1bb7bc273 - last_write_checksum: sha1:20517505110df707be9ce0650b19d6346daafb5c - pristine_git_object: 6a936290236a3483df03b96e5b8d1d6b3668e01e + last_write_checksum: sha1:d4b50a07dc8b6631d051e4bbb5b00d2ad09b9aff + pristine_git_object: 29cbe8db4fa2421ea982dd730ebbbd1d60ff9415 docs/models/lakehouseconnectiontype.md: id: d33654b4e587 last_write_checksum: sha1:817dc546f7b1f9c7ef722558e4a69f8e03fba759 pristine_git_object: bc3ed0ce24e6a6e0fc15777a3baa550b8f0d36d6 - docs/models/listconfiggroupbyproductrequest.md: - id: 805771ecb827 - last_write_checksum: sha1:147c3505603d135449ec1e7d916b7fd4a79428fa - pristine_git_object: f12818452c6b760bdd3f3aacbd0388bad9044f7d docs/models/listinputrequest.md: id: e25678728bd6 - last_write_checksum: sha1:2d9fe93a50bc0f62187c561fa7daa69ac0f3e775 - pristine_git_object: 5497305dd6e5d1c25be57ba9523d786d0e70becf + last_write_checksum: sha1:5490bbc2b9ee8302c7a1139c88862dae9e503c4d + pristine_git_object: 1030016653ee3f308873c3c9624f993005a68a5b + docs/models/listinputresponse.md: + id: 519307222c08 + last_write_checksum: sha1:2b42b8e531dd83694f95ccca4120105f396ed347 + pristine_git_object: 74b93ac8cf9bcda3239224fdf6bf83e537a1764f + docs/models/listinputresponsebody.md: + id: 699394b7e059 + last_write_checksum: sha1:3c300760ae0f6de7433a92f959cb8712308b75f1 + pristine_git_object: 6c5442ce8e7ed6279a1b3bc4b2bcc30d6213407f docs/models/listoutputrequest.md: id: 6bb51dcf1ffa - last_write_checksum: sha1:7b62bf713ae5ebf558d64e5ac8534b6ff99ab5ed - pristine_git_object: 47116d2515ba9964c1dd8fbc53edcb35ad8ce8fa + last_write_checksum: sha1:4fcf434fa20524cb3244cc72eb89e6f2085f5eb2 + pristine_git_object: 30dec3793bd72c0e5659485040cc09d95d8d925b + docs/models/listoutputresponse.md: + id: 1f91709ca0e0 + last_write_checksum: sha1:f3ae4dc0a6e81d3a8b623dfbb69608516bf2d126 + pristine_git_object: e6c0b937869a4446573f53a546287ecec9023a7d + docs/models/listoutputresponsebody.md: + id: b93893fff469 + last_write_checksum: sha1:d719253ffda119a95d266b14b5f8ae7c85f365d3 + pristine_git_object: 033006275718930845de67c72c6954f24d8025e1 docs/models/logininfo.md: id: a0c99bed1729 last_write_checksum: sha1:1283a3a4a2903566383dfbd65454737914b46ffa @@ -9860,8 +10244,8 @@ trackedFiles: pristine_git_object: 9ac939dc7207783c07d735fa66f94a8da6865d80 docs/models/loglevelforfailedlookups.md: id: 228b67df36c2 - last_write_checksum: sha1:f2c64e1a77ee7ca54402e617e5d44f5e97f7260b - pristine_git_object: adf47ed5f75585b6aaa8c7cf5735de3be3ca4d16 + last_write_checksum: sha1:383f9bfdedc2eb2db31b8dfb297730c95692bb47 + pristine_git_object: e7474a8037d626f7b5ed304b134eef1f7f94d336 docs/models/logleveloptions.md: id: 4c7e7562aea1 last_write_checksum: sha1:34495f911ab9246fa26f4659862a6832ba8619fd @@ -9894,18 +10278,22 @@ trackedFiles: id: 48561f3e6ad9 last_write_checksum: sha1:ff7dec1f7c4c4277648123d07f99f257811dce30 pristine_git_object: 1c0b665ed78f637c3c8bd68adc3053ea0ddee683 + docs/models/mappingtypeoptions.md: + id: 4d10cabe2386 + last_write_checksum: sha1:049e85f41fddf42f7eff5b51e6c9c58d881a38c1 + pristine_git_object: dd9cfdabd74c927489b517bfc3c196bc38d19a6d docs/models/masterworkerentry.md: id: 36149601175a - last_write_checksum: sha1:7cde5187f9b9a9567ed29e2e1cc221e914345bde - pristine_git_object: 9ef95951a2b70e5db24504076ddb4db4e37d2169 + last_write_checksum: sha1:cadce3fcc8f2b67d2123c2317277fa0b7df069e0 + pristine_git_object: 072ba824463e33b813830d20d02651bd7bd6ff7e docs/models/masterworkerentrytype.md: id: 9d97ef9642a8 - last_write_checksum: sha1:4ad64ba8dc03a205bbb4e0d88cc30ec03759ae32 - pristine_git_object: 8db4703f1f364f91f3b703f916a84f5161890fa1 - docs/models/masterworkerentryworkers.md: - id: 0dcbcdcfd175 - last_write_checksum: sha1:8d0cc64bcf997688b1cb2993997be28d23224611 - pristine_git_object: 92c77eedc67d267f961502babf144348a5e85437 + last_write_checksum: sha1:890b306734ba67522eee1a42c51dfc34683b7db1 + pristine_git_object: 101ebb3f4ae5f9e27547abe8de817690261573e8 + docs/models/masterworkerprocesses.md: + id: 0a1e30453bbe + last_write_checksum: sha1:42b24cdee7b2bb374fd55ed94a67f8b41b269991 + pristine_git_object: 01e21c2922d372a717c2b6c68e5ef3f087e4bf3a docs/models/matchmode.md: id: 32367ca0d0f7 last_write_checksum: sha1:447e9b211ab975c05e557fbbd954e3601e3eff65 @@ -9930,10 +10318,14 @@ trackedFiles: id: 7b9c857bda6e last_write_checksum: sha1:ef0b28b90cc5fb4e4cb40171c680b00b9a621e4c pristine_git_object: 5a3f58642140c010e3ca30d576eaea6465b543f3 + docs/models/metadataconfaddhectokenrequest.md: + id: 0963ece754ee + last_write_checksum: sha1:f3b470ef263dcc5fccab154425b7bf836489386e + pristine_git_object: 6aa14eb1033dcdcc4e5853ba18519d784fe35f31 docs/models/metadataconfinputcollection.md: id: df75b079a96e - last_write_checksum: sha1:48da346bdd12f92e17a8f0c2f40df1737027c06f - pristine_git_object: 69ce87497012e8ec10ea76f1d7d8c6a5f2fbc953 + last_write_checksum: sha1:3fb71f0ac891019eac95ab94195fb5b20f046c60 + pristine_git_object: 58fa3a0a07b1cc8efd9e78825f9a13321a185c6d docs/models/methodoptions.md: id: c400f37a56d1 last_write_checksum: sha1:03b9680a9b1f19617bbe378aa3eb841add990a27 @@ -9970,6 +10362,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 @@ -9978,10 +10374,14 @@ trackedFiles: id: 9bf5c00e92d7 last_write_checksum: sha1:6b610c13152ae50da6dbca412941fd4765d1d4da pristine_git_object: b1f0687caa36f8e37a90d83b209a44d55674fe1b + docs/models/nodeosinfo.md: + id: c81375a85132 + last_write_checksum: sha1:11c72c2205e21707c43153b599f7503f8b602bf1 + pristine_git_object: 067cc41b4d8350a4f4e42ffac3bb21b02be6e171 docs/models/nodeprovidedinfo.md: id: bd73764cc0bb - last_write_checksum: sha1:dd8b0178dacf6d28558ff4390cf6d4c496d7278c - pristine_git_object: f47a28a10bc4c75f21b706ba537de1c85d1de85f + last_write_checksum: sha1:e2ee42b224b3b3151b0b642112bb216beb5612f9 + pristine_git_object: 187031b9d44b9619bbf0e2c89305731d33b1d963 docs/models/nodeskippedupgradestatus.md: id: df0983644683 last_write_checksum: sha1:403d0374f8c1597b1b7773bef78874b64b6a7969 @@ -9992,8 +10392,8 @@ trackedFiles: pristine_git_object: 3bef23d43911cf23e5e6c96f3899f95147ec093e docs/models/nodeupgradestatus.md: id: 4f5e4d0a10fe - last_write_checksum: sha1:29a8863b0d57f491d49ec141afb2d9c9ca5fbfad - pristine_git_object: 70e86b10d399404f9ec862b5b82c86f72439a342 + last_write_checksum: sha1:1a4284676cd40b5fb619a7d51676390c94943b0a + pristine_git_object: 3e9f1fc103694fb47b1c4ee7a225900566c3e28a docs/models/notification1.md: id: ce7a490383cc last_write_checksum: sha1:546e1420e2720f5cda9e9bbce7676e69f6b4762a @@ -10008,16 +10408,16 @@ trackedFiles: pristine_git_object: 7ef8641a129200b5c3ece4092f4d2330bc5d6395 docs/models/notificationconfigforsmtptarget1.md: id: 32cf4e295928 - last_write_checksum: sha1:2fbf7bf55d0d74e036b96b1ffd47151ce396eeab - pristine_git_object: 3db847d26d65b9289307329e594f820462ce3497 + last_write_checksum: sha1:d10c8381feee869f6085c4fd6f164613a841387f + pristine_git_object: 183f2995ed8974c576281167981cba6df60bcc0f docs/models/notificationconfigforsmtptarget2.md: id: f30ae761415c - last_write_checksum: sha1:2f32e8c148da255ad7ee2ba3d0d23b3093242b24 - pristine_git_object: f136bf34a5343309732b1fb25f0149ce8733479c + last_write_checksum: sha1:2483529262f5ebe303cf07b81d71e7439cb8a4b8 + pristine_git_object: 05185f0cc0ed2aedc6dc5faa65f902496eaecc3f docs/models/notificationconfigforsmtptarget3.md: id: cb76de40cf50 - last_write_checksum: sha1:f9e92fe44c6e74ef9a0a7a60a001644c3dd6156b - pristine_git_object: 84dd159e566618b2770e93f9728ac95a0601ccb4 + last_write_checksum: sha1:f96348e17758dd08ab89c563080e4b73f6f5e7b8 + pristine_git_object: b3c8c325f810baef3c40f564444207b16f2a8988 docs/models/notificationmode1.md: id: b2e792f3ecb9 last_write_checksum: sha1:60c770bf7922498b33e24a920d7abdd2a38e1587 @@ -10036,24 +10436,24 @@ trackedFiles: pristine_git_object: 3bc2e549c27ba3667d78619ca50df417f6df348b docs/models/notifyconfiguration.md: id: fa93e572471b - last_write_checksum: sha1:86b08a901363397e88fd1fe36abfdb6af5b2daf1 - pristine_git_object: 3772c80b0ef3295214aa50db46742d192099f78e + last_write_checksum: sha1:42f5db4f0ca40eac262eafb04b0e4e44b3be6c8e + pristine_git_object: 24cb7821315bd36eafc961f342b29a48f7315453 docs/models/numerifyformatfix.md: id: 38362776654b - last_write_checksum: sha1:6cf4ff8f52d9447e8908799993e63c2fa49e81a9 - pristine_git_object: 5c503307535f092e2e93a7710f533cedd371db5c + last_write_checksum: sha1:bc30ebd312b8eb544efa17b2602a99ba68681269 + pristine_git_object: 7f3a22c3e0085647828e0c4859f526482df437ff docs/models/numerifyformatfixformat.md: id: d4231f562c3f - last_write_checksum: sha1:2b2794b1fe6c6e1137d7524c3813034c15f54966 - pristine_git_object: f9fe07e52f681e96401277adb55e384a5a742587 + last_write_checksum: sha1:bd6cb0fd5dcc15e9c098efb522c8fb87913de843 + pristine_git_object: 8d69286b6f00932e2683c2b5056667e7317311d2 docs/models/numerifyformatnone.md: id: f53876936d63 - last_write_checksum: sha1:076b826f9038c54430d6fb901fe6bbe0f545d753 - pristine_git_object: 2221158705e873cd17ed7663e0a02f8848c3ff2e + last_write_checksum: sha1:4678f7603108e43fd413017c7ae03db2aff0012e + pristine_git_object: 9bb7fb9454075ee77ce954c485fd464197d664e5 docs/models/numerifyformatnoneformat.md: id: 3f3331814680 - last_write_checksum: sha1:6e12e9ffc2bf800212079497467421d88e296b02 - pristine_git_object: 6f37d2c41ef157bcbb2ad7506b59d86ac4e2cf09 + last_write_checksum: sha1:6fd637b92bab2861bd54abf3e1a59ff36ab9acaa + pristine_git_object: ded1fc2068db9e81ed1e26354ff926362c2be929 docs/models/oauthheaderconfinputservicenowtable.md: id: a467a8f850ea last_write_checksum: sha1:b6322ebc867fc9fc1c1332626000dd26f98714f8 @@ -10076,8 +10476,12 @@ trackedFiles: pristine_git_object: 6b1cbea806ff0e5ce7ae48615a166cb3abae407f docs/models/objectstoragefilter.md: id: 2205bf492ca7 - last_write_checksum: sha1:f268e3687ac3ae176001f84fc9b687f62527ec6d - pristine_git_object: 2f01cc9371ba3ac85df6114dce964ada1e3dc8f7 + last_write_checksum: sha1:a60e5696400bd23be720627bed4f1e241cca7d2b + pristine_git_object: 653dd7af93573531b506cefa30b1fcf917d16e24 + docs/models/oldmode.md: + id: 506db4f0c244 + last_write_checksum: sha1:07db673d2ebc8d36f2b00bffd7f282be7becb646 + pristine_git_object: b5f2e6f94c97ba15e66d3f486fe5c3920aabb4ae docs/models/operator.md: id: 1b6d3fc58add last_write_checksum: sha1:c37c953024b0512f3f25b39ae6816d03ed498a40 @@ -10092,12 +10496,12 @@ trackedFiles: pristine_git_object: 39f2f4ea305395fbcc57f2055f750a22ea055dd1 docs/models/os.md: id: f0360044745b - last_write_checksum: sha1:3fe721844b07b3cbda3ce17ed9b8b651aff9d2e4 - pristine_git_object: 049e9007361bfbf9a884765fe7215729ef9c184c - docs/models/osunion.md: - id: eca1303999e9 - last_write_checksum: sha1:39b0f2809bb77e9124e4b275cf2194c4ea22b318 - pristine_git_object: 2744993ec98dfcfc09508323db57661bb93d5522 + last_write_checksum: sha1:7b89bf4100264cb8044fddc787cd10d047bb7e8a + pristine_git_object: f39659b0ea6e5d74041ac2e03d8b03ba76115d52 + docs/models/ostypeheartbeatmetadata.md: + id: 8a2fcb3355c7 + last_write_checksum: sha1:b80170aba03039be38964ed51c4071a15fae01b8 + pristine_git_object: 3e927ea07a50b5b74876df9485ec594c86cd7393 docs/models/otlpversionoptions.md: id: 24fb87213550 last_write_checksum: sha1:a56ed0405a81d8407a1bdaa3fd9412ded32b5efc @@ -10112,32 +10516,48 @@ trackedFiles: pristine_git_object: e77cea0cf92b49118ca733481e665c4c501ba676 docs/models/outpostnodeinfo.md: id: 0eb06c485bda - last_write_checksum: sha1:fe08eefdbbc3e398ed8c81b0fd61bb3d1d599b87 - pristine_git_object: 1d582629dac6e050bd3f2b41d8ed3265d13ce5a8 + last_write_checksum: sha1:f12429b3ccc5421a36f092c031c275ce0383c4af + pristine_git_object: 5567817cbfe1d1cb724bf0ad0a5c169a746f5bbb docs/models/output.md: id: 376633b966cd - last_write_checksum: sha1:7d6be7bd9ad7994183c66e8ee727e3b013cdf3d1 - pristine_git_object: a2fbaf4acff16624632afbaf3a51d2cf54fad857 + last_write_checksum: sha1:0e97f7db7cabd8a440c8f51ecd36fa7c931176fd + pristine_git_object: 37c81d20eea8e3ab9761fd0f4d3030c32ef06eb2 docs/models/outputalibabaclouds3.md: id: 8fbe1415f28b - last_write_checksum: sha1:ba1f4056f8f836dbbccb8d3221cd98b82a86f7bf - pristine_git_object: 2061665272077ed5af0652374f7ac2ade03724b7 + last_write_checksum: sha1:3dca0c0a9e7bc7beade427b313cbf02b6f970862 + pristine_git_object: 62519a376f4690a8c8fdda4521025913f5895441 + 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:b712b98a86903a9889218bf1d4bea81ca9bce1de + pristine_git_object: 019d6302d66a629150796db6253ae7e7c1a297a0 docs/models/outputalphasocs3type.md: id: 74988b0ba7bc last_write_checksum: sha1:a8a824b941d6e89b1edac199afbbc98bc703c28c pristine_git_object: b247d5118116821c7355e70480cd648e07b9de43 + docs/models/outputamazonmanagedprometheus.md: + id: fc3751234048 + last_write_checksum: sha1:6c1c05a733625a7ceb2a5ff71d8cec4206417c3c + pristine_git_object: f71c71263fcf98e3e76d4ec5982db3a4dda77cee + docs/models/outputamazonmanagedprometheuspqcontrols.md: + id: 587e16afa368 + last_write_checksum: sha1:decd5cd42039c073884a94cff3a2ffd5d9935a8d + pristine_git_object: 52bf3461447a9b005adb2c7010eaa6fdf58145a9 + docs/models/outputamazonmanagedprometheustype.md: + id: cddad77886bf + last_write_checksum: sha1:8abb3671693508429edfac24f79b77500a2a9992 + pristine_git_object: be368f8d14ed290311d1f4cbc1c950971f28d88f docs/models/outputazureblob.md: id: a995af061056 - last_write_checksum: sha1:dbbcde7f95709ecb4c933e22be48185825aaf56a - pristine_git_object: 22a2f35d4d7e771e4b986ae725e031dfc8d43dda + last_write_checksum: sha1:e462361124820a512ac8d3232f787037f669d573 + pristine_git_object: ca0f3fba2a91d50ebed94c1ae4e8eeb1372bbb24 docs/models/outputazureblobblobaccesstier.md: id: 3a25e6e0339f last_write_checksum: sha1:7fea750a32540f85b7f5614551c1ca2f603eda90 @@ -10148,8 +10568,8 @@ trackedFiles: pristine_git_object: bd2853e428c9c420b7da1ac4f358cf0d8d0c24f9 docs/models/outputazuredataexplorer.md: id: 69de7df3be04 - last_write_checksum: sha1:c7bc58d445d76903a9355d9bc8d5fcbf5cab7575 - pristine_git_object: 1ab3fbafd948e6e20f8c0eeb0bed5c55b2a20769 + last_write_checksum: sha1:918fcc8845ff679c2d263556c212afacfb3e8041 + pristine_git_object: 1dfaad3d251e95cc13279c6fe9376aabd6788551 docs/models/outputazuredataexploreradditionalproperty.md: id: 9646dd0195fe last_write_checksum: sha1:571a367585222b5cbee15990192d7a4b9149ab09 @@ -10196,8 +10616,8 @@ trackedFiles: pristine_git_object: c6b8cc63d44a4e37b17d0d9250169053283303cb docs/models/outputazureeventhub.md: id: 0b25d7680512 - last_write_checksum: sha1:17c2883ad175608a764f0ee04190697a4c3f7a38 - pristine_git_object: a77fbf5e757217c78e188c849681dcf051559cb2 + last_write_checksum: sha1:15dd2692ce3a67d33d2beedb61ca4d2a33a41a1a + pristine_git_object: 44bdceff22676dfac9b6c41a38a7369ed634aa51 docs/models/outputazureeventhubpqcontrols.md: id: f8686af2d667 last_write_checksum: sha1:386a6dafb44921dae66e73c6c8f1efc4378b601a @@ -10208,8 +10628,8 @@ trackedFiles: pristine_git_object: 30fc2388564df03f49af4545bcfbad1672241471 docs/models/outputazurelogs.md: id: 3d5350ea3402 - last_write_checksum: sha1:ff26c9ed98452f47a1db2f327ec342964e28729a - pristine_git_object: d16afc1a0f22bfc7733076e30c00d516943e530d + last_write_checksum: sha1:414419c5b996213c5fac26130ece2ea6bc37f144 + pristine_git_object: 764b78372a8056c6925ab6453e4adc64dc2523c3 docs/models/outputazurelogsauthenticationmethod.md: id: fc135926667d last_write_checksum: sha1:cfa899a7f733eabdbc315d0986e16908d33212db @@ -10224,8 +10644,8 @@ trackedFiles: pristine_git_object: 6005aa54f614d49f8c17f79216d9023863022c39 docs/models/outputchronicle.md: id: 2c75111afd39 - last_write_checksum: sha1:2939dcf8e2284ffebe93fd4d4ef86de3f1ae37ae - pristine_git_object: a3b8b8295d8ea97f11f679bfdda6d6f6b193e4c3 + last_write_checksum: sha1:66be5b09f2cde8521482dfce2bbd0099e4262713 + pristine_git_object: 8a67cbcceb38627d4bf5cf4d4c70eb5a1a9a8122 docs/models/outputchronicleauthenticationmethod.md: id: 4a92fbd31026 last_write_checksum: sha1:d8333fdf934429a53c6378594c11546942c6534e @@ -10244,20 +10664,8 @@ trackedFiles: pristine_git_object: e8fc3055c477d48bea6e9ba080d838ffa5bf6038 docs/models/outputclickhouse.md: id: 819da4daa8f8 - last_write_checksum: sha1:32bab7ce9ee28a97d55fe1337a7d47529c1ff55c - pristine_git_object: ca6429585512f404e315dda434cde22e19c847cf - docs/models/outputclickhousecolumnmapping.md: - id: c07cb579f243 - last_write_checksum: sha1:d7459740279a170f0139abaa64a3165aaa2d030c - pristine_git_object: a71289e538f71eda0738d2874586791d5b976040 - docs/models/outputclickhouseformat.md: - id: c052b34f9fad - last_write_checksum: sha1:30565b869d5706d5a82719c7ded06fd74c765671 - pristine_git_object: 0033aa535618f3eb463737be4ff9959a6dc543d0 - docs/models/outputclickhousemappingtype.md: - id: af584c4abebc - last_write_checksum: sha1:64ebdab462320495cd9727ad988996c1cea782f7 - pristine_git_object: 4615d28920cf71e015945ef60eee02d52bcb57ef + last_write_checksum: sha1:9ad699614b4c1f9afd6bbb80e57e61539c7ed2c0 + pristine_git_object: fa553f8e0bc8662388f42c75c03220dea17b2db3 docs/models/outputclickhousepqcontrols.md: id: c354fae2369d last_write_checksum: sha1:85196f8e2507adee495220e90f47be237457aeb1 @@ -10268,28 +10676,24 @@ trackedFiles: pristine_git_object: f6568f533754836e1a3836e470b5f2a9e5838baa docs/models/outputcloudflarer2.md: id: f2abd18362ed - last_write_checksum: sha1:075178f2e0807c9b09d354193862400f9edd5868 - pristine_git_object: ae66d7ba67e783205a6490d1a56345f3eec37bbf - docs/models/outputcloudflarer2authenticationmethod.md: - id: e8ca9320c31c - last_write_checksum: sha1:58aa21131d32e0b29d2c2128321ab8ac74928f97 - pristine_git_object: 3cbfe63fc9a7b557aa374ea1c7866925932f5a16 + last_write_checksum: sha1:0fff90ab9d232c8ad9de02a0f983d1a3d0e45e93 + pristine_git_object: 4b071801dac24343c6daf52a35bb25b68a3ff491 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:cf230efc472d7aa5d85d07a166b948143ac9dbc7 + pristine_git_object: 166e1dbdb69b2b641bc947cdf4ad4c8609b2ac12 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:a98c1cd526485dcd16bd636025293ae4c2baf30c - pristine_git_object: bd3b09c06d228a1630baaea499d859df571bc18e + last_write_checksum: sha1:605d44d1d60bf84675df7a191ffc481ad81b600c + pristine_git_object: 9f60c507bb796a7ad15417b30e088911c2cc1867 docs/models/outputcloudwatchpqcontrols.md: id: 689af93027b7 last_write_checksum: sha1:60f6ccc469f249e793220b92b17bba82bff01990 @@ -10300,8 +10704,8 @@ trackedFiles: pristine_git_object: ccfef2ffbe453f4a24d9be06e886a71f67f18a83 docs/models/outputconfluentcloud.md: id: b8002227130d - last_write_checksum: sha1:86e97f269c306bb9ebc16cb139a45ac819cf32e5 - pristine_git_object: d458c221ffa26752dc4147c605e0e25064b3c993 + last_write_checksum: sha1:9f7b378e07733141ef61538df7a1d3b4e5b30330 + pristine_git_object: 516ce5db16be64a7f6c582ddbc394c3daee3b00e docs/models/outputconfluentcloudpqcontrols.md: id: 7afcfd478a8d last_write_checksum: sha1:29d03941ca2bf97c62184a470bed496c68800a1a @@ -10312,8 +10716,8 @@ trackedFiles: pristine_git_object: 7cac56eb5255b06583e5cc9a953374fbe94bc87e docs/models/outputcriblhttp.md: id: 689177ba3b47 - last_write_checksum: sha1:dd5a212ea856202151350d9faa1c854062f708f3 - pristine_git_object: e4062382c324420936eb551cc13ebea28e1dd010 + last_write_checksum: sha1:03370d5621ef89303cd7c249d9613301fcbc6a77 + pristine_git_object: 868f71b051415cb595ce99d3bca63803c601016a docs/models/outputcriblhttppqcontrols.md: id: fa5cd17b0dfb last_write_checksum: sha1:6888b437254ee121f0106c148feba96d41c20434 @@ -10324,24 +10728,20 @@ trackedFiles: pristine_git_object: adf8e5041b35bc6578e7fd47b83cc210107cdfbc docs/models/outputcribllake.md: id: b90e8719d73e - last_write_checksum: sha1:6b58b0363fc2a6ec40fb5dc06ae71aa533efbf39 - pristine_git_object: 7c5ace487df05be14bb445826521dc95ce267a55 - docs/models/outputcribllakeawsauthenticationmethod.md: - id: 8ec94d1df46a - last_write_checksum: sha1:62f7d5546ee5f9e3ef35839e2ec643a3be5c4481 - pristine_git_object: 852ed23e48e7030b52614bc44dd13ab4d21bf3a3 + last_write_checksum: sha1:994f6598e979d9c14e0b9d40aff75b433c700a51 + pristine_git_object: c34d275e053704c4cbf809217071924ec91ec62d docs/models/outputcribllakeformat.md: id: 09c52708e170 - last_write_checksum: sha1:5141909dbfd694abcc8b56ab305e92b7047aa34f - pristine_git_object: d0d65f537e184e06d1ef27f30257cd5ffe37a97c + last_write_checksum: sha1:d2910b9de11b0de41645ae9688159e8198a8d15a + pristine_git_object: 7ccfafa2c13d840576c4076c7a528948239e3d24 docs/models/outputcribllaketype.md: id: 8ce7ea181688 last_write_checksum: sha1:63497ecbfe9bcf84aab1300c4d9f16f8fab74caa pristine_git_object: b78a95c3f74ab4421ccc842add107833bcc66423 docs/models/outputcriblsearchengine.md: id: 0ed418fdd6c7 - last_write_checksum: sha1:3ea11e388478aba16bb07c0e439181e09ce58a6d - pristine_git_object: e3514ef22aaca19fb00be28840c5ad0df0a77eda + last_write_checksum: sha1:9698fe5d6c802665d8d521e309cc79bbd5ef4f70 + pristine_git_object: a8c9f2928acb2056668152abb6881aebd22dce2d docs/models/outputcriblsearchenginepqcontrols.md: id: a7983f68b41a last_write_checksum: sha1:d2e6603c49d0ef7bdd9da1904e0d93e20cc96d84 @@ -10352,8 +10752,8 @@ trackedFiles: pristine_git_object: a173d4e1232a758bc53652e8feadf6657490201c docs/models/outputcribltcp.md: id: 7d25803eb5cb - last_write_checksum: sha1:595603b9cd09043da7f275b6a050338c6eed152c - pristine_git_object: 549beb1b9a704cfd2411a44c7c2af0a8878ad48c + last_write_checksum: sha1:2c3e179cb2d643a9fc4a51dc6316e04e84fb4ccf + pristine_git_object: 4e6fc97afe7cb072b5e6cfc0654dc83e02110259 docs/models/outputcribltcppqcontrols.md: id: 55e5d9f1b42e last_write_checksum: sha1:f9d663af0855e401a716abc5292e9dec8eab2d2a @@ -10364,8 +10764,8 @@ trackedFiles: pristine_git_object: 9682e0ca3b1a0eabd7556cc76aa59269e348877e docs/models/outputcrowdstrikenextgensiem.md: id: 5a40577338d8 - last_write_checksum: sha1:331ee6ad98f6d6d5897357bf503382970a3cd695 - pristine_git_object: 1d594fd2b882d114987e396dad5a2f2ade99ac7b + last_write_checksum: sha1:afed35d148eb698bc1c4f43ebd2aee81aae73364 + pristine_git_object: 19456808ba5b41151a30ace1d7707b7eb615bf8c docs/models/outputcrowdstrikenextgensiempqcontrols.md: id: 03faf876730f last_write_checksum: sha1:23ee7a28d1244694a0b1a8d8cd9e366775508037 @@ -10374,18 +10774,30 @@ trackedFiles: id: 1584992a1e6f last_write_checksum: sha1:be9831b880eb1824d04095330dbdf8c32e283275 pristine_git_object: 75a7f794bd8ff5f4f1f6edff7d15c578dd4cc40a + docs/models/outputcustomermetricsstorage.md: + id: 5059bc8850a2 + last_write_checksum: sha1:ae3c6b266ff77f029a3b41e8e4895a56d2692dc5 + pristine_git_object: 91cdbab3867b33a71679d21ad0a8329b1d326e91 + docs/models/outputcustomermetricsstoragepqcontrols.md: + id: 1e89db3ee33f + last_write_checksum: sha1:00bdada29ed7525b1a6ee84602e33730f2614644 + pristine_git_object: 8006f6a246dca78537bdc22f4469e938abe69275 + docs/models/outputcustomermetricsstoragetype.md: + id: a4941a34d6b7 + last_write_checksum: sha1:312d65e8619f90222d44ba008dd823ba76f2f1b4 + pristine_git_object: 793383e3439e8cb6a97af3f3694fd1573223c37e docs/models/outputdatabricks.md: id: 4724dc10cd94 - last_write_checksum: sha1:eefad045e0b3255e23056e9546c034de7d7c84a2 - pristine_git_object: eec5660bf95f45ddc7f76e6c376364e1b88db38c + last_write_checksum: sha1:34ee65b2fedf259e30d43fffc33b0b95dffeae32 + pristine_git_object: 2ab51124c652f11548a1f81a9ca6ffa6f4549115 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:78bfafc1f0cd099a52a4b9b51fee7ade81bf6fcf - pristine_git_object: 7692aea608d8c76e4994ddff9bd85c55e2ee1ba0 + last_write_checksum: sha1:ea77e7c1e1ea36ec72268960cd0549c5973be226 + pristine_git_object: d16ac23b9fd9ca85d2c0dce4edb2d9b825278f0c docs/models/outputdatadogdatadogsite.md: id: 8188c241f6e7 last_write_checksum: sha1:00b243829be95baed9d14647e5ffbea8383dfd2f @@ -10408,8 +10820,8 @@ trackedFiles: pristine_git_object: 8fb54aa700ca06bcf8927a2515355c0d6b0ab62e docs/models/outputdataset.md: id: f3ae581be23f - last_write_checksum: sha1:e178729f0986468b0a4d23402fedf7bdf01ad727 - pristine_git_object: cdd216563dea1a47f2b0be4df2166a883c31400a + last_write_checksum: sha1:2a74874c2d3191a1f5168905f77f1ebc8948255d + pristine_git_object: bb1ee7ef8ab5f66efc7eee5c0f02e4e9f47624d2 docs/models/outputdatasetdatasetsite.md: id: caeb1dec4813 last_write_checksum: sha1:e80c475c361772618fe4aa251981f39bb7d6ef2d @@ -10428,48 +10840,48 @@ trackedFiles: pristine_git_object: 2f69231b2a23ebe2a9f11c6c18ebe286c3b28c49 docs/models/outputdefault.md: id: 39bbabebf52a - last_write_checksum: sha1:3367117194fc66ccb528a6ff466c658c5e9458ea - pristine_git_object: 6293a98d4c5cf329f26308b612e17c7b2557c280 + last_write_checksum: sha1:d05d6729d471a221ae91bea697a512bfab4d571a + pristine_git_object: f6faf36484fe2955aa01d6cd5476bcd65b0bb75d docs/models/outputdefaulttype.md: id: 3145be45e6ce last_write_checksum: sha1:8aa82ab978b2734feddb37d5c85e88f3ea83b4c8 pristine_git_object: aadada1f96924fd85e49f83e5002d1a047a96c26 docs/models/outputdells3.md: id: 43b61033de23 - last_write_checksum: sha1:04be84a3c552f1f439b9fd85e3d6efe10fb844f9 - pristine_git_object: 601965f172eb78ef9dd75fbd873b7d2345ba6485 + last_write_checksum: sha1:881f0789b61538bd349a4e4ba2138e3eff91d2ae + pristine_git_object: 205d1483e03fd4fe46abb6345a6cfda0cbd5f872 docs/models/outputdells3type.md: id: 94c52bbe6187 last_write_checksum: sha1:0c81863aa30cb6ff13a6f451569ff4ccd1da4539 pristine_git_object: cba78728d4f65baa103306f1d39dcafdfaf3dcdb docs/models/outputdevnull.md: id: 11f426fd9829 - last_write_checksum: sha1:0157c9fe21fdab5d1e2c81f468e703aaa4b9c6ce - pristine_git_object: a537f69b90a0f7afbe827e429f8ef9228bf9fb75 + last_write_checksum: sha1:2b64c9f1a1cdb49f8499406b2c02c88c9b348434 + pristine_git_object: 0d41cfe92d639d7b2bdf96aae89c8a3f4b1c752d docs/models/outputdevnulltype.md: id: 9f158c7295db last_write_checksum: sha1:5d40295dbe4ed4152701983b729134689be5ea41 pristine_git_object: 76f6e0125613f4a4e0732415544babf2f77c2318 docs/models/outputdiskspool.md: id: dbf930dccf93 - last_write_checksum: sha1:830ae8ed15167015d5f26918ba139ee666f3549a - pristine_git_object: 2005b84d7e42666be983ef10d1bc910ce9795797 + last_write_checksum: sha1:e4d7ee0d18d61be3c46c4e1acadcec02a8343ac4 + pristine_git_object: cf4833988f8977f3b53f32b340366d031d77fa97 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:7695d2b65451e1df69be3c1617a666bf01407b17 + pristine_git_object: 4e24b38202ec06ea25139db83e506de72986fcb1 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:9e3c1cbe5ebaa753073d008e468a908d40759992 - pristine_git_object: 1961734ffdea1b193c3b37eda7c1e60962318f8f + last_write_checksum: sha1:d38e37c84358a038b6f874d6010693374b6ef0c8 + pristine_git_object: 8a603f240f718c3b08f57b751337dd193103d1eb docs/models/outputdynatracehttpauthenticationtype.md: id: 41fb300ea369 last_write_checksum: sha1:ab7e9ec07fbe0dffda4bd77da513a432d9cd81a7 @@ -10496,8 +10908,8 @@ trackedFiles: pristine_git_object: dc2a44fa2af14591f2b978978f335042b537bf46 docs/models/outputdynatraceotlp.md: id: ce1902556ff9 - last_write_checksum: sha1:24cea7d4dd8c248df8cc6fc41e74e075718efdee - pristine_git_object: 64dd5d1012890c7f0f364e58a6dc5be1027dec4d + last_write_checksum: sha1:262c2d7335c5b0d36101cf6861f6ede34dd6db7d + pristine_git_object: c7a90526944b6decfc28d7f3e2772d06922bb22e docs/models/outputdynatraceotlpendpointtype.md: id: 5c7404e064a6 last_write_checksum: sha1:1ce1ea610dda34a2712a365c33cd79aaed6e1ead @@ -10516,12 +10928,12 @@ trackedFiles: pristine_git_object: 7dc75e42f92211372316aee563a17e7434fe9a9b docs/models/outputelastic.md: id: d87aa23d2d0d - last_write_checksum: sha1:87f325d725938c6c3a67aa15a714089ee56605a6 - pristine_git_object: 04f6a6da887c1a135868185e18f4f3aacb56285b + last_write_checksum: sha1:1409d8ed90eda1d18f60e915e3da0c54219a4bb1 + pristine_git_object: a18d4a64cff624d15456e932879bc55e579b73ad docs/models/outputelasticcloud.md: id: a2d12f7e8323 - last_write_checksum: sha1:7d833fd12a7f3bde38ded0cc1d237130469f3efc - pristine_git_object: fd4a59db1adb084b0a838113dbf213f64d0d896e + last_write_checksum: sha1:d0f4f6d8efba1e572f74f919945d77d090d4701f + pristine_git_object: 6018639ab2b5c9161dd447e1b9920e957cd36644 docs/models/outputelasticcloudpqcontrols.md: id: c556e2fc75c2 last_write_checksum: sha1:811c7efab192c4725c30eb699251bc98f1804e84 @@ -10552,8 +10964,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:4a6f8bf0075cbbf5c76e04b1a07d484a349cfee0 + pristine_git_object: e5b7592a143fe4d1155ed1d314b48c0142079034 docs/models/outputexabeamtype.md: id: 614d02cac237 last_write_checksum: sha1:96ddcdbe766e35e5237b2656755a922fa19b0924 @@ -10564,16 +10976,32 @@ trackedFiles: pristine_git_object: 3d18a98d7605bffef27165038e86845e7e5e7bf4 docs/models/outputfilesystem.md: id: 733abda7d3a2 - last_write_checksum: sha1:2606b9819508611c94818c58fac20e5f07472c4a - pristine_git_object: d51948f71c0ee82f160f3ada969714d99ad8ccd9 + last_write_checksum: sha1:db92639f4882c5ac9412303a03f459cdb1d6548d + pristine_git_object: 4188bac028442032e823efef292a980115b30cc9 docs/models/outputfilesystemtype.md: id: 9e74c64dc72a last_write_checksum: sha1:f8ea683e6cdb6082111e22520b77c4ac71c86cdf pristine_git_object: 8d0c13805bfaa7bd7fd453a384d95d537f3e3fc8 + docs/models/outputgooglebigquery.md: + id: 773338e2d37c + last_write_checksum: sha1:b90e4d5b0f575e1a0abf25d9df8701e562c4306f + pristine_git_object: 62866be81dd4c3db0066110a33faa0c1689f410f + docs/models/outputgooglebigquerygoogleauthenticationmethod.md: + id: a857fffc053c + last_write_checksum: sha1:60842ac768f054557e8ee044e3d86498ab5d0285 + pristine_git_object: f224ad61be232e9d6d1d26839052dd8673edbd7a + docs/models/outputgooglebigquerypqcontrols.md: + id: faaf6484012d + last_write_checksum: sha1:45874e8b97d81a5990eb98342c976d8b50571129 + pristine_git_object: fd1cecbf6f145786b3bae67a00a2d8ea28067eed + docs/models/outputgooglebigquerytype.md: + id: 357b173a4322 + last_write_checksum: sha1:eeeddb3bf66796eae06d716fa041e203b690bf85 + pristine_git_object: 05154bd051a087666320968bf7a2052df10a0888 docs/models/outputgooglechronicle.md: id: 94619dc3adca - last_write_checksum: sha1:b2c2bf8bacb75bac55292301fc9b0d803d7fc712 - pristine_git_object: 972c7e82e915ada50996521497ff553340a0271b + last_write_checksum: sha1:daea5d8b3d409d229e8cdf409dff28cce7bddb24 + pristine_git_object: ea00dcec10522523acaccceb577abc2b1f30cede docs/models/outputgooglechronicleapiversion.md: id: ecd24d3e8279 last_write_checksum: sha1:c45f6e313d2e05c6dfc9bb9464ab06e777b0f027 @@ -10604,8 +11032,8 @@ trackedFiles: pristine_git_object: 458900e93f2b58f485771f67de9c8f1ea068fdc4 docs/models/outputgooglecloudlogging.md: id: 95f6a474a242 - last_write_checksum: sha1:b48c165f9da514410baf2cd20e7efd7179990433 - pristine_git_object: ef51b3f0f570d95b7379cd0cc0d19c12aff1f75a + last_write_checksum: sha1:c22d847c276e6991c785d06deaa21a0d7971194b + pristine_git_object: 313d8261d0856c32d16821300a8cc6130493f4eb docs/models/outputgooglecloudloggingloglocationtype.md: id: c4781ee80b75 last_write_checksum: sha1:4746a84c0e4830f488c2b9e3ff2f4568e06d4cb1 @@ -10622,10 +11050,38 @@ trackedFiles: id: 8273dac62c80 last_write_checksum: sha1:66827167735fe6043b8c91e9119e38ba32795b7f pristine_git_object: 6743061cdaa7bd433eafd0de292403b9af8967c3 + docs/models/outputgooglecloudobservability.md: + id: 8a2bc04ea225 + last_write_checksum: sha1:3a683095d65cafc74f4230ab4bc34f717dfdf24f + pristine_git_object: e8e8b8ef10f900f2f9ef45d70c9b3497ba9a42ce + docs/models/outputgooglecloudobservabilityendpoint.md: + id: 9803f82c3233 + last_write_checksum: sha1:b2b2b47eda4b7ac0dc8b4622cf26ad8ba7378080 + pristine_git_object: 49e4160e12c25f02952d84f013ce07bd2ced010b + docs/models/outputgooglecloudobservabilitygoogleauthenticationmethod.md: + id: 5b036bf3d276 + last_write_checksum: sha1:2d4faf76af7edf63347304c39436e779c3f2a1b0 + pristine_git_object: 7402471fb62d24845f42b46edef1e34b3f6b1843 + docs/models/outputgooglecloudobservabilityotlpversion.md: + id: 3134f1cb684c + last_write_checksum: sha1:e8a9864123c7b058faa6a5ea56a235f8d388bcb9 + pristine_git_object: b05c4dd75452b614574ab238e5da6f8300ae9ee7 + docs/models/outputgooglecloudobservabilitypqcontrols.md: + id: a9d08fea4601 + last_write_checksum: sha1:a9d250fb7a294c3b4a9d933f6e21e4f21a7fe57d + pristine_git_object: 80ad6c5e5aa595ecf25096dbcd94426f0765f654 + docs/models/outputgooglecloudobservabilityprotocol.md: + id: f0f9410bd7d7 + last_write_checksum: sha1:e02538df30601b4d88da48ab6cb936c22fed99dc + pristine_git_object: a1d99c675f70dcca90619ccc8eb43f25246efa9d + docs/models/outputgooglecloudobservabilitytype.md: + id: 2c43e1b5971c + last_write_checksum: sha1:580ef5cf1047c638f78336e5dfa7e36c3ed779cb + pristine_git_object: 8bf74322f9b518c2da84dd333833fa7cb9a71802 docs/models/outputgooglecloudstorage.md: id: 336c1580f008 - last_write_checksum: sha1:d29edd9dfe37d8ed79a2778b59f321b1e8fb3fa2 - pristine_git_object: 2e463e91627fb595bfa1a973884402a761c4d9cd + last_write_checksum: sha1:6c1d99a2517e2393b93bda747bf47427def5006b + pristine_git_object: 9c54927633ff80db40d7e9d3cb698ff0205163d0 docs/models/outputgooglecloudstorageauthenticationmethod.md: id: 1beb4055d203 last_write_checksum: sha1:2a4f099eaaca9b16eb204cc3809664b2183859e9 @@ -10636,8 +11092,8 @@ trackedFiles: pristine_git_object: bf8608f61cfb1389122ddb99d22dd0e11180908f docs/models/outputgooglepubsub.md: id: 7a34d15b99d0 - last_write_checksum: sha1:d34eb8b882fdee02b94e54090ab7aec69d156620 - pristine_git_object: a33e8946d397c9a06ff5cfe1151e995b306ef78b + last_write_checksum: sha1:f8a6c02e7c2061bb0c12b4d2b97e3112fc63ad66 + pristine_git_object: 7b50ee831dcbdee9c41c38e8fe0754a1cccd15ed docs/models/outputgooglepubsubpqcontrols.md: id: 2d9289aafcff last_write_checksum: sha1:78c1a8b6fcd85d01511eea67c76dc966e5030839 @@ -10648,12 +11104,12 @@ trackedFiles: pristine_git_object: 7063851298539e9a069d49bf6c142b626da68c56 docs/models/outputgrafanacloudgrafanacloud1.md: id: 47024c76a9ce - last_write_checksum: sha1:0ec44d8dc3e8c0ad98e8b89e4543c5f006a2ca9f - pristine_git_object: d888cae40d329e5a58fbff5d2c42c6885a988463 + last_write_checksum: sha1:85a74a56ec767499c866c3632a8be21580fe21d0 + pristine_git_object: ebe90415701047b88b797a491e0c2d1e76761915 docs/models/outputgrafanacloudgrafanacloud2.md: id: ac4083195ffb - last_write_checksum: sha1:65ee94569dcd043cd32ffe9cc4780e2e2f900027 - pristine_git_object: 91662b96460f4d49eb5920b5415f2481a25d96a1 + last_write_checksum: sha1:3316916b7701fe52ac21ecb5f9773177bc91b3d0 + pristine_git_object: 8a792d383f5d1ed2bec616d77ab9de1973af9317 docs/models/outputgrafanacloudpqcontrols1.md: id: 3697afa4f562 last_write_checksum: sha1:3ebfaabcba07b4c8afe9e05253c57e275fbb50f4 @@ -10676,8 +11132,8 @@ trackedFiles: pristine_git_object: 57fb4178d4f1e55e577bc1e55ea32fc325073bfb docs/models/outputgraphite.md: id: aa2b17306120 - last_write_checksum: sha1:26f5a3297be86e7deba6ca183b33def8d1591222 - pristine_git_object: d9e7794c566faaefc2dbdbdf4e1fcab3e85da67c + last_write_checksum: sha1:55e121cc14005c426ace86fcef24e6f1583ff42a + pristine_git_object: a3179d1f5a392e6b1d7fb97ff198f7bd27d7c7b1 docs/models/outputgraphitepqcontrols.md: id: cc76e181c87d last_write_checksum: sha1:59cd8113f169693a863fbdce675459f4de560c9c @@ -10688,8 +11144,8 @@ trackedFiles: pristine_git_object: 465f316028d1136fb75be423e368ceebbc5abf1b docs/models/outputhoneycomb.md: id: 8a160c53f913 - last_write_checksum: sha1:ccfb2c98d825e636ee722198d39b41ec07ac47e2 - pristine_git_object: 8ce989b4a72617e65f200e9ffbb6552ce5657cff + last_write_checksum: sha1:0aa435290382f5d4cf3bd05b5d11c1207c455392 + pristine_git_object: a320fe0a7b41988f98b9cfc4fb828bad90f82ea0 docs/models/outputhoneycombpqcontrols.md: id: 965d8dc8d2b6 last_write_checksum: sha1:5cd089043179c6ae518059a550997c94d0955aa1 @@ -10700,8 +11156,8 @@ trackedFiles: pristine_git_object: 396e81e64391c6c64c858f2abddea46ffe26d324 docs/models/outputhumiohec.md: id: ae7fda9850a8 - last_write_checksum: sha1:5800ab95043f0231133a95b04e6f983202f14761 - pristine_git_object: 9adbee40a1af3187b89d42ff437d313afd3dc659 + last_write_checksum: sha1:0317299a6bc6536521a82b9d077fa66addc14270 + pristine_git_object: e08605cc4608f9b077ec29d426ab496deb3f2580 docs/models/outputhumiohecpqcontrols.md: id: 08c95108c1ee last_write_checksum: sha1:0c6b4e24979dc9547f943e880a5bb77605b97b94 @@ -10710,10 +11166,18 @@ trackedFiles: id: cee6dba3d06e last_write_checksum: sha1:1dfbc35fde6b273a6452a8e5790e2b164cbaf57a pristine_git_object: f1fb9bc6066ea989c080a6a1fa44f0549741c092 + docs/models/outputibmclouds3.md: + id: 9c5409b53c8e + last_write_checksum: sha1:239a4a483eccaea1072f639db7ddcec555aacb23 + pristine_git_object: 7c3d81c4d6885f1df15f808e18c422e8a0d45083 + 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:bfe1c46592b769db4bd0877d91f8a425f23e055c - pristine_git_object: 566614c7c2451ebdd83d563ba3df36ab72661e43 + last_write_checksum: sha1:57ef286d9137155d24071791a328449bcf5357e0 + pristine_git_object: f55aa9a68862699800c2c871ae24291b11199ac9 docs/models/outputinfluxdbauthenticationtype.md: id: 9c612d5de117 last_write_checksum: sha1:e932e46b6c89e7b17a4696c6783e969852324916 @@ -10732,8 +11196,8 @@ trackedFiles: pristine_git_object: 6fbf00ff40381644b253aa69906e200e3a72e550 docs/models/outputkafka.md: id: 385e76c3769f - last_write_checksum: sha1:3216fbeefd8d378b13a844f023f6146025bdbe92 - pristine_git_object: 35c6148a757b61d666d5a03963ff851217f9ffef + last_write_checksum: sha1:8aeb03245bcb64442b742d0ac80713f271500a0b + pristine_git_object: ce3cfce22782deee43301ec9f22612fe24b04d46 docs/models/outputkafkapqcontrols.md: id: a6c71c7c399f last_write_checksum: sha1:c853748ddde937e18c6e7c0a7e57766a2f8b8b7c @@ -10744,8 +11208,8 @@ trackedFiles: pristine_git_object: 8b759abf1e4caf51f1d0ef4de2d1f1fe63792452 docs/models/outputkinesis.md: id: 07506ada2df1 - last_write_checksum: sha1:1746211d977a99c398eb9930cd6ea445af8caf6d - pristine_git_object: c291c36b04c15e3fd62461d59ab4dfb39b63a481 + last_write_checksum: sha1:a8090274c1bbce768e6ec1f274445d28983ad22a + pristine_git_object: 94552fc3a79cae38d2b622b6fe983cb29e67c430 docs/models/outputkinesiscompression.md: id: 1573a91c2505 last_write_checksum: sha1:015fd05c10ca844807dbeb9145327997a8884ee6 @@ -10760,8 +11224,8 @@ trackedFiles: pristine_git_object: 806ae4fc4fd36f71dc76cf8923c58e5af03fc266 docs/models/outputlocalsearchstorage.md: id: b5b97101ef13 - last_write_checksum: sha1:355ad75f80eac9c76965d10eac9b92d118d70b24 - pristine_git_object: e0369f8ace20af5758ccfcf28cd1e657babe5ca9 + last_write_checksum: sha1:f5cb8cd4a77f04601ca753abc27327be68964bdf + pristine_git_object: 240da28a12e741c35b57a2bf15a1b1d337b479be docs/models/outputlocalsearchstoragecolumnmapping.md: id: 107b5f3a9e3f last_write_checksum: sha1:f17d8fb9e71e5ce97af9e8347280a816f8371033 @@ -10788,8 +11252,8 @@ trackedFiles: pristine_git_object: 20b764b321a1a03e2dbd26b6029f59b2b6dda28e docs/models/outputloki.md: id: 4cf3d24ecc2c - last_write_checksum: sha1:8d40daf2528ec03e46fc707c7af11a4f7aa01527 - pristine_git_object: 5feaf7d5f9a70bcc21263be9df15895c8046f501 + last_write_checksum: sha1:b4fdcb2e88d2657fb17511a88dc94fd801adf419 + pristine_git_object: a9651ffc2f3b4bd78d47a2d75fe2772dcb9cc2e5 docs/models/outputlokipqcontrols.md: id: ed6ba4f2708c last_write_checksum: sha1:054bbcb7ff410b702b1abe15645a4d9858cd2cd0 @@ -10800,8 +11264,8 @@ trackedFiles: pristine_git_object: a55662d76b7ac5f97de2e610a80b174219d2e786 docs/models/outputmicrosoftfabric.md: id: 703f4926503b - last_write_checksum: sha1:49fbd0e8a86c6c54562ca6487457647770efc75f - pristine_git_object: 062a185e1b165185d54379da1bdf9524fe2e4aad + last_write_checksum: sha1:99f7551f84c2f1b8e8094f2f200bc08f58547866 + pristine_git_object: 32a80d29946ecd3585680a938e2874e08eef732e docs/models/outputmicrosoftfabricauthentication.md: id: ef6acf5e2d67 last_write_checksum: sha1:fbc708b54cd3a988160b3521a4bdb39db27ca656 @@ -10816,8 +11280,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:49cc73c457e986645bc0e53ae8c4da81cc4f69b7 + pristine_git_object: 037767c4dac20ec0c01a9d1e85a1a85e8ddc53e2 docs/models/outputminiotype.md: id: b68a36222d45 last_write_checksum: sha1:6664715681c33306d29d7fd51bf0c99d99afb43a @@ -10828,8 +11292,8 @@ trackedFiles: pristine_git_object: e0ec34b06ceb2b2a75eb5d09e439c605efb9d6f1 docs/models/outputmsk.md: id: bda393102264 - last_write_checksum: sha1:d3897fdb7ea6474d17d76072577e09ee74c4b01c - pristine_git_object: b45d5a64595329df11c8cb6a63ffd32f4f7cae57 + last_write_checksum: sha1:0030af063c9b2f917059e66f91465fd05eb0a4eb + pristine_git_object: 3895941045209f9566c646d505c27a780bce9654 docs/models/outputmskpqcontrols.md: id: 3a7b138e7cfd last_write_checksum: sha1:7fdacc9bdd612213029c59db0de9a86bbe2d51dd @@ -10840,8 +11304,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:0bea75a9c589a558eaf44b99bc3ec1424da31ef5 + pristine_git_object: 7043b958988351a56493d60d8de428ebffd1dd1a docs/models/outputnetflowhost.md: id: 73a9bc818a91 last_write_checksum: sha1:93930ca6bab32c0175183ed2e7769b065b9deef1 @@ -10852,12 +11316,12 @@ trackedFiles: pristine_git_object: a9aaabb4f657ebae427ed6521c56f578ec508075 docs/models/outputnewrelic.md: id: 198f7fbdec40 - last_write_checksum: sha1:0065fe8e5410c40208df55221084dc24f7228614 - pristine_git_object: 2cb3043098f4b6ec7677d3d3c87b935426bd3412 + last_write_checksum: sha1:5aeb49db557f6d185f04ab61932eceb2f18ae256 + pristine_git_object: 520021450c0865b4e32e7f3ba8ecd7035c038e64 docs/models/outputnewrelicevents.md: id: 89dd9e0d5531 - last_write_checksum: sha1:06fdcf4092c8448d4d4f91bf6852a15f3bd3d420 - pristine_git_object: c62cfe1fab3a46801bb9c56a26b94c9807eaef29 + last_write_checksum: sha1:b1d20623f77d82a5998c0a18c3e1c064d68aee27 + pristine_git_object: f8d27d3fcaa330cae4e3b84a109aed3f9696c7ae docs/models/outputnewreliceventspqcontrols.md: id: b65ff57343c1 last_write_checksum: sha1:e5b712e187bfdfe6988a1a7614169e3cd57a84da @@ -10868,12 +11332,12 @@ trackedFiles: pristine_git_object: 4a428a87f8ef232f6960ed06a730dc64918a9423 docs/models/outputnewrelicfieldname.md: id: 715256572e3b - last_write_checksum: sha1:6cc0dc671027be84d6b92156a65bd62eb02833a7 - pristine_git_object: 211a4eee8cff2a8e09415e5503625af4821b979a + last_write_checksum: sha1:4934da6a7c4ebd2398074a5eb5bfbe0437c67e03 + pristine_git_object: 7901c3656db3d6908febcde618ecf66735aea337 docs/models/outputnewrelicmetadatum.md: id: 5399a65c7b7c - last_write_checksum: sha1:387e2af20dc6a9e06d66232e16825634539efe72 - pristine_git_object: b446836429c0e093cc70e551d3461b90ea01d267 + last_write_checksum: sha1:4ad68b73f0c01cbb8865a4b3e9b1a5fa97269c39 + pristine_git_object: c0f0f1c846c3ccd12e807c0789f140374e4a38c6 docs/models/outputnewrelicpqcontrols.md: id: eceac82afe3d last_write_checksum: sha1:80b4a74e311f1e2c1135bd192d6ea44b40da3f9d @@ -10884,16 +11348,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:b8158be723978983522b021365f4f856c894cc0a + pristine_git_object: 092fbd3738a0f853b1debd4e148181ca841fc00b 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:52d5d8c145b6cd8512662f5d2691cd5092f65693 - pristine_git_object: af1ec513398471caa54e6a6ed2c75e9c9ec00c85 + last_write_checksum: sha1:df1798f8904a5dfee4355842d96cadb57eccb69c + pristine_git_object: 4714958b8573dffd4a91272b839bfda7ec4a579f docs/models/outputopentelemetryauthenticationtype.md: id: 91a224844d3f last_write_checksum: sha1:e1d597b18b3f85e453bc0084a9c58d318f8b7b85 @@ -10912,8 +11376,12 @@ trackedFiles: pristine_git_object: 5a90efded49ef49160c42fc39b2879a610c98556 docs/models/outputprometheus.md: id: f60f2df44715 - last_write_checksum: sha1:8aaeeab030aa734fd852544c0c21dde66450ad24 - pristine_git_object: 5abd3ff59d775b3c2899820e4ab2f9fe92c8bdfc + last_write_checksum: sha1:a600be887cc223d47811a11dfa4da0b16734b1eb + pristine_git_object: 90a9d7f41d8abe843f19aa4f09e3709c5595fd24 + docs/models/outputprometheusauthenticationtype.md: + id: 42686e8586f5 + last_write_checksum: sha1:94f643bb4c9cd1254b80ba14f6150b294c2483b9 + pristine_git_object: 9695a3cb8ca73a4c18cfedad17e18b6eceb5775c docs/models/outputprometheuspqcontrols.md: id: e877af7a6378 last_write_checksum: sha1:f93901a3029eb1990f832516dcda4e214a392927 @@ -10924,8 +11392,8 @@ trackedFiles: pristine_git_object: b5f26f20513a80e20c7aeb872e0148c1dbff638d docs/models/outputresponse.md: id: e09d17192e47 - last_write_checksum: sha1:1ffe5b7d1be2f5edf8b9e81e40f1675d3957b1e0 - pristine_git_object: f448adbf2798e7bea00effefb8f7ce3578cd2f54 + last_write_checksum: sha1:16dbb444a40f5cf5d5bc41be1d37cd3387c23923 + pristine_git_object: 706c2178b28235477f2b525dce1f1be48acde6b9 docs/models/outputresponseadditionalproperty.md: id: 9fe152894a06 last_write_checksum: sha1:2dbdb19d57d3aa6e7295aaff2db05169d8cd0ba8 @@ -10942,6 +11410,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 @@ -10954,10 +11426,6 @@ trackedFiles: id: f115cf8bf40b last_write_checksum: sha1:fced00725c0631cf0bc3a77d84b1452ea35e2d18 pristine_git_object: 27b17d85586d44286c3964df0e1a262a66028402 - docs/models/outputresponseauthenticationmethodcloudflarer2.md: - id: 027eef75f01c - last_write_checksum: sha1:2b33ee3cd8308b043626035b0b481b84f9f37c20 - pristine_git_object: 740acc39976d89100bfa6126fd3e4d15146e041a docs/models/outputresponseauthenticationmethodgooglechronicle.md: id: ae8d0bd16285 last_write_checksum: sha1:8f069db5aab4ce9d5546756a0224578c1a40bd7c @@ -10982,6 +11450,10 @@ trackedFiles: id: b004798a365a last_write_checksum: sha1:a0240dc369ea59ba3c7d6f7b2d33dd5305a571bc pristine_git_object: d81dc629ef9afacb5c168387f4d8c8c6d14228e6 + docs/models/outputresponseauthenticationtypeprometheus.md: + id: 14bfe1cd77b0 + last_write_checksum: sha1:aec3d35f1a728c334181b46e05258473f9040572 + pristine_git_object: 3502fd9e846b892951907a021940a6eb620bf087 docs/models/outputresponseauthtoken.md: id: 549f9c35e440 last_write_checksum: sha1:a717a44cbb4e2976ef88348bfbd575a20f8bf753 @@ -10990,10 +11462,6 @@ trackedFiles: id: 2c4ed1ef2b0f last_write_checksum: sha1:d502181f848d9897c5667a9ab27c144712bfa163 pristine_git_object: 5499b707ad8f49562fb52a55b99955a2719955d0 - docs/models/outputresponseawsauthenticationmethod.md: - id: c07f9f00a9a0 - last_write_checksum: sha1:c8a8c3bc7a78ec03c41da5cb1c6e467069d0f3b8 - pristine_git_object: ece03bd2b0fb15ab218566831843617630845ead docs/models/outputresponseblobaccesstier.md: id: 5595d74c3315 last_write_checksum: sha1:d5e03c4b18a5262001b3d45aed6166c135159c12 @@ -11002,14 +11470,10 @@ trackedFiles: id: 2d8351fda3cd last_write_checksum: sha1:649448030d6559a61362d71b3a4dee6a3e773ec6 pristine_git_object: 5ee092d413ea4e104eab43cd259f675f4caec533 - docs/models/outputresponsecolumnmappingclickhouse.md: - id: 9e57a3294fa1 - last_write_checksum: sha1:145fb6d006582ab4e9aa83dfb8b57d711b2c775c - pristine_git_object: a3fbf6f70bbd9fc96fc0f99d74393679dbe6a880 - docs/models/outputresponsecolumnmappinglocalsearchstorage.md: - id: 44ee5e30b083 - last_write_checksum: sha1:5f19760e9dafa7986861a08a35f10b024391496a - pristine_git_object: 49d1ef8d5f3ae11f28686703246ec17b6be074e7 + docs/models/outputresponsecolumnmapping.md: + id: fec85f5222e9 + last_write_checksum: sha1:0e7f6b3617996ccdae36833db00ab930266b9141 + pristine_git_object: da19034fb284a930cd4bd9aeec9ef42fffedc2b9 docs/models/outputresponsecompression.md: id: 8da9e7bd483c last_write_checksum: sha1:e45e7489fc819e6fcfef43adb18d2fbccb26e58d @@ -11038,14 +11502,18 @@ trackedFiles: id: bccfac4da748 last_write_checksum: sha1:b01a56505482cb50e89135a530fbfd67c45be7b8 pristine_git_object: d67fcaab05afd9e36c201287b6c11a3a8ad23094 - docs/models/outputresponseendpoint.md: - id: e181ca5a15ba - last_write_checksum: sha1:24d6e7b3199a09e6d600101330d9326dd9fe96e1 - pristine_git_object: a4d01cb74df2ed5f0cd6cbc54e090111b9b57280 docs/models/outputresponseendpointconfiguration.md: id: 8e77af2fec15 last_write_checksum: sha1:dcf3c78d6edf7e39ae1eea9541cd49d3eea59a33 pristine_git_object: 0d7a2f0ac71293a8a44f6c1776f085fe4d817748 + docs/models/outputresponseendpointdynatracehttp.md: + id: 96301fffb232 + last_write_checksum: sha1:d926823a89ff609dcc786177f8e528608baf77b9 + pristine_git_object: 45704355402292f39e1f547047d1cd2a28e5b87a + docs/models/outputresponseendpointgooglecloudobservability.md: + id: 510044764ff8 + last_write_checksum: sha1:b2fb4b42f7dd68ae6996e23362be88c64b56b094 + pristine_git_object: 805328bef0c42019f5458338d517b696209a36dc docs/models/outputresponseendpointtype.md: id: 34c8a18f6d4e last_write_checksum: sha1:3bba7d42dacd9369d1f3b3e7d6e987db69f15792 @@ -11064,16 +11532,12 @@ trackedFiles: pristine_git_object: ef4917ee05f86d0a05af300f2b0a44af2c1b3ade docs/models/outputresponsefieldname.md: id: 6abf7f981802 - last_write_checksum: sha1:25ddaf60a302743c9930accd3b0ec6630ad92f5e - pristine_git_object: 592bf6faff135215350f8814ebaaddd7533a509f - docs/models/outputresponseformatclickhouse.md: - id: 95dc94f584fe - last_write_checksum: sha1:eb859549c55bda175b6c73d40b536afd4ae588cb - pristine_git_object: 78dd3a46530f411a53cb5fe66bb8d69843cf8222 + last_write_checksum: sha1:89d0a003586e43a8359da16b3e1ff7e6afd10797 + pristine_git_object: 74a6cbe75423890767844f3bc0bdc6ef2b631706 docs/models/outputresponseformatcribllake.md: id: 6242624ff9b4 - last_write_checksum: sha1:24ff5ed8d8f756d923a6045dfda5f1fe5c2a46b8 - pristine_git_object: 15ceac0970bd632db301cd3d1400767ca05c7585 + last_write_checksum: sha1:dd41e522d7f9765791d779aa105924534e1a294a + pristine_git_object: a859c00aff8e8d671508bbbf1f9f98e81805e45c docs/models/outputresponseformatdynatracehttp.md: id: 3a3a66a1b84e last_write_checksum: sha1:44d44fea5dd9e5b3263b737a7c7c941b39903d74 @@ -11086,6 +11550,14 @@ trackedFiles: id: daf45f6adffa last_write_checksum: sha1:643bc00d7ced72fd5efa3a1e587506ecb731001c pristine_git_object: 3190be7f0c263ef9c5422a3232a9ff3ad0cfc5c1 + docs/models/outputresponsegoogleauthenticationmethodgooglebigquery.md: + id: 5ade6579d286 + last_write_checksum: sha1:1c6f65b5f4397ebe3457749bebd1feca309f3d89 + pristine_git_object: 981fe80d14afca91e138410b86d726b6a464f040 + docs/models/outputresponsegoogleauthenticationmethodgooglecloudobservability.md: + id: e01355c479ab + last_write_checksum: sha1:a4f5e0852965c51cf3f186a2c3d69e0ccebfb3ea + pristine_git_object: 3549215f22ca3410c77636a4cb4ac89f360cf4c2 docs/models/outputresponsehostnetflow.md: id: 8df13c21fd56 last_write_checksum: sha1:271fc08432e1470c275e6f4816a1f6ce7e990348 @@ -11110,174 +11582,190 @@ trackedFiles: id: 07f0df303dc2 last_write_checksum: sha1:ff9209b501f3d8ac015266cc7414f6e84271e418 pristine_git_object: 498e245e64efbc83a84ee86cde604bbad243c87d - docs/models/outputresponsemappingtypeclickhouse.md: - id: 36c16434c91b - last_write_checksum: sha1:bff5e714083ae82f24c05fb2650078a092128a08 - pristine_git_object: f2fc97fde7595a5561c8c65cdf55db74e679448c - docs/models/outputresponsemappingtypelocalsearchstorage.md: - id: 013dae67b236 - last_write_checksum: sha1:5e020216366c68c5e7bfb7f053ec3da19692909f - pristine_git_object: a4b26f03a252473b5b7c48ab4f7a498fff5aa727 + docs/models/outputresponsemappingtype.md: + id: 76094f8974a6 + last_write_checksum: sha1:bef230bf2229c9119e06e5c35d716fd8db2ee135 + pristine_git_object: 8bcc916e1a1d40d4fe8073dc6c43cbd0a7e58fcc docs/models/outputresponsemessageformat.md: id: e0e6c26316cc last_write_checksum: sha1:c08686352a346dde9be0afd4e995d9d9ab4642f3 pristine_git_object: ec421388fc8ef257bad22dfc59b5bea190aa22e9 docs/models/outputresponsemetadatum.md: id: dbdc3d5bbbf5 - last_write_checksum: sha1:c8dc483a4b4bfaaddf190f3dfcbe53d057d7e795 - pristine_git_object: b4ebe313d7584d7776f440ede5cd7018b8e77ff7 - docs/models/outputresponseotlpversion.md: - id: f76bc227bcec - last_write_checksum: sha1:94877065ba9f64021b1168fbf7f1035c440af505 - pristine_git_object: f58bf837f6bf5f44f174e4d8830c788731f38873 + last_write_checksum: sha1:1b5ec7fef8d0e681938187fb9c506cb558f36004 + pristine_git_object: 7e935eb1e7d25258a7c8dfcfba8a4d4f4f494e54 + docs/models/outputresponseotlpversiongooglecloudobservability.md: + id: adcc708affcb + last_write_checksum: sha1:93864ca4c2448e8375f5e34820b35b260dca842d + pristine_git_object: 664f1579f3eb0f287357e48380b37a9d23c6e7d6 + docs/models/outputresponseotlpversionopentelemetry.md: + id: bd25687620fd + last_write_checksum: sha1:9d805416ff14e76c9e2a4b0fc2b906588d5b928a + pristine_git_object: 57096bfc0d34e05e53c87c3f56cbe1c272e0815b docs/models/outputresponseoutputalibabaclouds3.md: id: 8d45296de875 - last_write_checksum: sha1:8b1a3c4366a8c39b4ce2aa0c41d3e137466400c2 - pristine_git_object: 332ebc2935d044e72133b7c9a6cc542b9b744211 + last_write_checksum: sha1:ce7299ff4be5586aa4576773a15ca7844a0544ce + pristine_git_object: fbea4a8da2c55ab54417d0ea26303ddfc51d8c08 docs/models/outputresponseoutputalphasocs3.md: id: b6dbf8b7551e - last_write_checksum: sha1:87a95b601fe3991f93c05b892239c1186551bac2 - pristine_git_object: 229294f8c1c37219fda9c1b359c66cab80b48c78 + last_write_checksum: sha1:a996028a1cc69faf7e331a2e1318c973ce304290 + pristine_git_object: 421c9cfb4afeb976d9a1c6facdc7683d8c30d4e8 + docs/models/outputresponseoutputamazonmanagedprometheus.md: + id: b1c85adc6a60 + last_write_checksum: sha1:c7aebf982349156ea44d13aae2d688c4bd3dfdf5 + pristine_git_object: fa7619bd85b6223f7a825a5e61c544800bbabc7f docs/models/outputresponseoutputazureblob.md: id: cd66eeca0c92 - last_write_checksum: sha1:5681a65e593fb57b87e0d212d47ead0f4c481c20 - pristine_git_object: adbddf0a2034d6d4fd477f24aa66314a07e9b521 + last_write_checksum: sha1:3abb7ba6e86658a64770825e112efdeccabf59a4 + pristine_git_object: 49764e5f7b622758cadbbcb2d2442f471c636551 docs/models/outputresponseoutputazuredataexplorer.md: id: 6709dc53e281 - last_write_checksum: sha1:eb02df6c77aa2801dea735b1ab27c271a5cf2a45 - pristine_git_object: bec92ecaa3bdc1c5b2cb5857d2c65b5d89c6f968 + last_write_checksum: sha1:4844c26b92c63b4646b34c70b4fb9c976eb6fb09 + pristine_git_object: 60bfdc006046b0109159b7b8352770ee5bc43271 docs/models/outputresponseoutputazureeventhub.md: id: b44a571d1a9c - last_write_checksum: sha1:7adf091fb0ffb9fd9e3f1b08d96f0777fe1e9614 - pristine_git_object: e7ca873363c1807e8b502d088bbc3ae4f410a9e3 + last_write_checksum: sha1:b6b8ac25c4de96a462ab0484a1443236e14ad733 + pristine_git_object: 05721d7ef8c63dbb12876378d9eba3222d6ebaa5 docs/models/outputresponseoutputazurelogs.md: id: 7e530e119f7d - last_write_checksum: sha1:07c762f138cde869eb74882f7c31563e092123b9 - pristine_git_object: b0cae51e40ca03ee07ceb98cc5c8c95d981c1009 + last_write_checksum: sha1:b2686a6ce7b9c5de86fed3c2b5393645c5baa613 + pristine_git_object: 78eb34e3a10ebe609896fc76768b3a53f72cf5ec docs/models/outputresponseoutputchronicle.md: id: 4d691b29b4eb - last_write_checksum: sha1:374fc915ca3bc3213a17379296bb8488aa3927ba - pristine_git_object: 4894bd548ca3f5d501e12bc8de59c5f9fa368690 + last_write_checksum: sha1:b5421dfbd855606d4e195aca7649cc4ce451446d + pristine_git_object: 3bb1a77f4bf69b03b33d55902f79670b82c2722a docs/models/outputresponseoutputclickhouse.md: id: 87a9c5e49123 - last_write_checksum: sha1:0cbd10e7265be4936a00c0861c187f96789a2d19 - pristine_git_object: 11dada65c015b4656e8664f9af839bce5f862929 + last_write_checksum: sha1:0a7ee41592b0f470b9c6981a43e4d99381e8578b + pristine_git_object: 0ca03aa6c1647f4385d0c48669fee32bd91c0524 docs/models/outputresponseoutputcloudflarer2.md: id: f6222b2f3631 - last_write_checksum: sha1:f75de483dfc7f24a6a56aa9ddb339886dcb41a37 - pristine_git_object: d1afbd961fa5e502ecb651265c584f98bca34431 + last_write_checksum: sha1:ad69f116160da0bc6f2a7b4de04a9f51948d4da1 + pristine_git_object: 20747ca49b31f5e8f3b3a147d7cdd2a65c77934c docs/models/outputresponseoutputcloudians3.md: id: ba0ba5f4a497 - last_write_checksum: sha1:4024f81040a748c167a90e704a15d40e101e3ce6 - pristine_git_object: aaf1ed9badfa2121a1cd4212ae29ef81fde1b3d7 + last_write_checksum: sha1:a5bb965cbf28e3c42b0f2f9bbdf074f6eedf001d + pristine_git_object: ecec1e8faab312817d467a84d3c0ac376f52017a docs/models/outputresponseoutputcloudwatch.md: id: 20b3ba45ca98 - last_write_checksum: sha1:8e7ba187dda797da47b482c48e5f2e971879c7ef - pristine_git_object: dc3eec50249bbfd32e8830d83b12b4303bd20f94 + last_write_checksum: sha1:a80fb0fa97b6afaf5e9b86759b6e6aaa29864897 + pristine_git_object: de512f6c44cc376430963941ba618d5a73ffce7c docs/models/outputresponseoutputconfluentcloud.md: id: 7514bd6e96b6 - last_write_checksum: sha1:1537db3afd8b7e177ec720e3da1c59e0280a8436 - pristine_git_object: 00c35636c4a3bd935465983df194b849ed2ada09 + last_write_checksum: sha1:76e39d58b9f0b39d730c6312d8ada584d13f76c2 + pristine_git_object: c6a26a64c78964962faa6fe509a85977ae59b597 docs/models/outputresponseoutputcriblhttp.md: id: a09cfabc4ef2 - last_write_checksum: sha1:80ef71287454acb37e92f20ea7db9e474132e2a3 - pristine_git_object: 4582826df98bd6dcfce4847304593dcba7e1c67c + last_write_checksum: sha1:98fd3550c328826b4c854d25ab5bce6c4f7132ce + pristine_git_object: b29dd233694b93e47f0b25e24990fced1143fa82 docs/models/outputresponseoutputcribllake.md: id: 74c60dc553c4 - last_write_checksum: sha1:da10d0cd75d8a3469445b18996d9381398f79b86 - pristine_git_object: 967cc6925782b09cb746a0e9805e91d86a191f20 + last_write_checksum: sha1:f8f94430f5a3fd76596ff47b7232d536f857c224 + pristine_git_object: cc3bf0bc7ddd2a102f364aeaa086738bc840f557 docs/models/outputresponseoutputcriblsearchengine.md: id: eb2778b30827 - last_write_checksum: sha1:8f1833085eac57cef4f2fc200379b379458db710 - pristine_git_object: 96119247e325638f8a000659c2fc158c604f18f9 + last_write_checksum: sha1:3d44bf34272282aec7831665aa813758de42c33b + pristine_git_object: 4c958c6efaf4335b01b9486860f8e5bfd4c8d026 docs/models/outputresponseoutputcribltcp.md: id: e78272be4efe - last_write_checksum: sha1:018d2092b107a80a2464f7caa822dde6b372036a - pristine_git_object: 18d6acdd53c3c1c28178efe64b1454dbddb00261 + last_write_checksum: sha1:189d97d26b6eb730378051124c9bc2106e16eeaa + pristine_git_object: 8a09d790e287cf03f637018eb72329135fb2f65f docs/models/outputresponseoutputcrowdstrikenextgensiem.md: id: ca115b05146f - last_write_checksum: sha1:5ac3ae9825879996d5ecee22a47a199a439ae46a - pristine_git_object: 3dbca64abc127242d839caa3c566095da62ba20e + last_write_checksum: sha1:60760857e7015ce853c2b629d2e42fe26467afe5 + pristine_git_object: c11cd13714d9a0841935a3269a08bbfa7af5a601 + docs/models/outputresponseoutputcustomermetricsstorage.md: + id: 2d6f0e487d83 + last_write_checksum: sha1:62e37648e3f03ca3bafa175c420e7b5917117bcb + pristine_git_object: d3673e973c18779767bd1858d65bd9813ff78a3d docs/models/outputresponseoutputdatabricks.md: id: 7916815682f5 - last_write_checksum: sha1:afd9150f23436fa3013a92a852f639517928b0e2 - pristine_git_object: c270f0235f92b864813b48a83dd9b9e8aa49279d + last_write_checksum: sha1:cc6aa2b22afe8d36c9ba8482237160486bf50245 + pristine_git_object: e5acddafb780945cd6f3e6746d147bc1cb2f38ce docs/models/outputresponseoutputdatadog.md: id: eea4ae807211 - last_write_checksum: sha1:dc78c55c2908a039ba352612f23cd1af03efe0d0 - pristine_git_object: 91ffb40ecfad0af3a0dcad237ddd11df739ed2ed + last_write_checksum: sha1:f3d503d6359eecf662b2a10945567857655feda4 + pristine_git_object: 51a1bcffa0adad8811e77375afe9a5ebc8900368 docs/models/outputresponseoutputdataset.md: id: 3746ead5fb63 - last_write_checksum: sha1:07d928a6c2b23f4532399d1e334cef96b443a18e - pristine_git_object: 14c1c884777b780c4eddfe7f870679362254d1af + last_write_checksum: sha1:1a5a1362be9b00c545c46e84c67bf712ae4a1df7 + pristine_git_object: 960e8491103b23059507e3a709e1b286f8e12110 docs/models/outputresponseoutputdefault.md: id: d20ced2bc8af - last_write_checksum: sha1:0671c0f2fc6693f83bdad65965b104658219d6ec - pristine_git_object: 4c070d043758c5478a7971ecbda3966470b7c2a2 + last_write_checksum: sha1:b55b677f4630eae363004dec490abb5500c4aa20 + pristine_git_object: 4bf456d5f2b2e73e5d2445cb95b0c5163adde81f docs/models/outputresponseoutputdells3.md: id: 515523ac75e2 - last_write_checksum: sha1:447099217ca7ebfe6b67fe9675d2760679cea953 - pristine_git_object: e84687fbccc945e92f4db35c198dcbb53aa4f042 + last_write_checksum: sha1:2acdc63175c59d42584f014782ed34bd1aeb4f61 + pristine_git_object: 1e87c39bf4593eb7c63f39afde2097029bcf5de8 docs/models/outputresponseoutputdevnull.md: id: 3e29df8c9d60 - last_write_checksum: sha1:3b11bcdf6be900ee70cf6fb09fc37abbd9c1adb0 - pristine_git_object: f0cc8258e336dea9b4ba1b921b15b1c15cf0f835 + last_write_checksum: sha1:ee3775020b6bb3eec14dc81fc540234e38dc9ae6 + pristine_git_object: 2b4460b72b2bde01357fdac26057a283371bf9c4 docs/models/outputresponseoutputdiskspool.md: id: 902a5903bac3 - last_write_checksum: sha1:a7ee125436e739d5faf5b1fce4122988a2361fa2 - pristine_git_object: de9863aef98e824ce989884a012c16c72ffada6d + last_write_checksum: sha1:b8dd2e95372b551dfcd165d3252e510c8e1a1b06 + pristine_git_object: ec3586d48405eb9c4ad2a4f5edb7b34df8ff263e docs/models/outputresponseoutputdls3.md: id: a1d78ba9edcb - last_write_checksum: sha1:b6812ea75266d8097f6657f4effc04c9908e9dd7 - pristine_git_object: 4d99b8bec89ce6f29e99669fc450b7c75016d3aa + last_write_checksum: sha1:1784fe459f5a70cf12a6a3a98988a4c22df7716d + pristine_git_object: 343d7a422996ad50c0b4b86631f9d9fb47f9d8b9 docs/models/outputresponseoutputdynatracehttp.md: id: a3cbb42af6af - last_write_checksum: sha1:7fbdd242ffe64aaf58d6f520b44835d9d1942c6e - pristine_git_object: 66a1ff6b8d811b91b7cc60175079eeb3837a7720 + last_write_checksum: sha1:f5527e2873918cbd2b394bb8488d23a410e92a4d + pristine_git_object: 266979597336582772aed52915b206d4253163f4 docs/models/outputresponseoutputdynatraceotlp.md: id: a3a6c8f6acea - last_write_checksum: sha1:de395ab27aa00e900371bceb3c064711821b92fa - pristine_git_object: 2715a30230eaff54d45f1e963774e52db40b0a6f + last_write_checksum: sha1:ce4b63c67058e9edd418c301fd6e63cf583868b1 + pristine_git_object: a63128d9ed993cbbf4ca01420c5f41ce7218cb22 docs/models/outputresponseoutputelastic.md: id: 10556fb5c25c - last_write_checksum: sha1:bddab29d08240395f9f143a1037ab99ad031a6a7 - pristine_git_object: b71adef8902461aedc8254989c1b0f5da020c57d + last_write_checksum: sha1:75b5aca33e27608ca5e4e3b9288287bf4ef1277f + pristine_git_object: c4dbfd8c6fff1b95675378d279f8a66fefa20eaf docs/models/outputresponseoutputelasticcloud.md: id: 8774122802a8 - last_write_checksum: sha1:64d8b7eb15b4d135ab416e66666d49f7d349b7f8 - pristine_git_object: b91fb995e2705e41000a2f7055083e0ec7c6cf82 + last_write_checksum: sha1:f732d69fe6b398e14f4489e0dfa41548109370f3 + pristine_git_object: 4231ec1e99d0fa7debc61af67ce6af5c73c5dd29 docs/models/outputresponseoutputexabeam.md: id: 340aa5921897 - last_write_checksum: sha1:220206a70e2355f46521230b6bd88ed6036630cb - pristine_git_object: ba48df4272fa29e46d6bbca2b27971a4fdee05d7 + last_write_checksum: sha1:ef65fb2af52df1b19dd904aa8231e3fe6113fb46 + pristine_git_object: cad42b338d02d83b5a0b62dc3e22973da303ae9b docs/models/outputresponseoutputfilesystem.md: id: 15bb1c0aabe2 - last_write_checksum: sha1:efd3eccea4549661892319e54fb9e12dcd8e7563 - pristine_git_object: 559012b66c2ac541496e2033344d62c1beec0be5 + last_write_checksum: sha1:2f0495ef243912320c9e2f24050dac3c4763e2ed + pristine_git_object: 510442312ea283d7e187ebc2f5c8848f79c3d3d0 + docs/models/outputresponseoutputgooglebigquery.md: + id: 27191bc677c2 + last_write_checksum: sha1:c3e683d2bda4d4dc70e62093b3b727f1dd3e56a6 + pristine_git_object: 786bb2fd9990baa64a85375218f22014d19e984d docs/models/outputresponseoutputgooglechronicle.md: id: 54c8ae8614b9 - last_write_checksum: sha1:d36aa5acb92c30c795d22d4b3d9f91a7837eebc1 - pristine_git_object: a648b988be548fef60a658dcca4a16f2f433e855 + last_write_checksum: sha1:c209a4b585acca435a3b34d01ccf1b667cabc240 + pristine_git_object: 807e5366dac69ce67227d18bd33009dff5d8b8f2 docs/models/outputresponseoutputgooglecloudlogging.md: id: b2f501ddfb9e - last_write_checksum: sha1:ea27d5c4da94bde65d1bfce8dab0a0451d9b3aa0 - pristine_git_object: 70c034cd7904539ccc72af35b1a4633f7edff4f9 + last_write_checksum: sha1:f892471a6da56f0257f493a82aa138492ccc53d7 + pristine_git_object: 6afd05e00f73f88ed3dce09fc62646ec9df1ec0a + docs/models/outputresponseoutputgooglecloudobservability.md: + id: cdd379522813 + last_write_checksum: sha1:1d2fbc4de3bbc332d45ec90922d50e5878fb110c + pristine_git_object: fae9dd38ff9ae44ebd42d557f3f29f9027a5fa36 docs/models/outputresponseoutputgooglecloudstorage.md: id: a817d6e8e2c5 - last_write_checksum: sha1:4d7eff066a57be9382c065744eadaf242d74f793 - pristine_git_object: 5be304f1518a4d4e79da1a6c16051db8a2ee91e6 + last_write_checksum: sha1:b09bd6605a223fe59f5912461a26833e5e9dbd3c + pristine_git_object: dd4748ba9c1acabeb82681217cb945b153f6aa50 docs/models/outputresponseoutputgooglepubsub.md: id: dfc98eb0f8c9 - last_write_checksum: sha1:9baa8d23ba4e0830949b8446428fb73bf6671a13 - pristine_git_object: b5a97c255c27612702dae749fd95a1ec7900ec4a + last_write_checksum: sha1:bb602edd2d20a5fa3f34277bea144f8db59e4350 + pristine_git_object: 2c18b936bcad299991e4d1bc49e21de2b7906a9f docs/models/outputresponseoutputgrafanacloudgrafanacloud1.md: id: 285282042b84 - last_write_checksum: sha1:2d357e0085c106fd9cd406fb533ec9bce6ebd6f2 - pristine_git_object: 56f4da7ebe7fabd07832d50e2ad9cf984e14528f + last_write_checksum: sha1:d26cbba6d16f4dae95f6acc100507f8f213dbd79 + pristine_git_object: ca87fed2512ef9092c2b8782f53b9e7d6def29c9 docs/models/outputresponseoutputgrafanacloudgrafanacloud2.md: id: 66dc96809aa5 - last_write_checksum: sha1:2c9d7f823e23129372ccd1a37f8405d433815aa4 - pristine_git_object: 5eb88d2fb934bba8eb36b0ee13dad6eedac227e3 + last_write_checksum: sha1:fd20b69ca1f386bdf3997325ddd954fbc4f9dd55 + pristine_git_object: dc9b4c8e31144c95f30416094a07b91fc7d27413 docs/models/outputresponseoutputgrafanacloudpqcontrols1.md: id: 168e4fcb1f5c last_write_checksum: sha1:bf23fa374f8d0190c01687c479b168b34cd92083 @@ -11300,160 +11788,164 @@ trackedFiles: pristine_git_object: 02ea28ed2bf7cdd58ddfc6f862749f3c0d085163 docs/models/outputresponseoutputgraphite.md: id: 3c07c015faf9 - last_write_checksum: sha1:8f4d8f91185520d73683320242b87ea6c1368c68 - pristine_git_object: da616d16a0e2bf08a41525ca6ebf3556b8e4e517 + last_write_checksum: sha1:8c1ee85a0119ffa0d01f21fa13cac603f2835166 + pristine_git_object: 26f7f7ed4418efe5f7ee23855c1f3749c892c452 docs/models/outputresponseoutputhoneycomb.md: id: eb46b7ddaf6d - last_write_checksum: sha1:97a2975ae372ab63009fc4d587e236e5b859dab7 - pristine_git_object: f05145228f43936d79cc1927961650f35e89e601 + last_write_checksum: sha1:2db6e73f99b187da5b9ee58b9bfcda0d007dbafa + pristine_git_object: 4f6e09b60700925e22b47ebe258c540b310acac6 docs/models/outputresponseoutputhumiohec.md: id: 245ddd98b246 - last_write_checksum: sha1:6021dc15197b85400a1f6322d2e8e88db1e97242 - pristine_git_object: bd689410d79459f804816734763eb471424b3e95 + last_write_checksum: sha1:d401045eaf64dc8a895851c14072947ac76373b9 + pristine_git_object: 00dc0e817e671663141c492b8fd77bcfcbb105ec + docs/models/outputresponseoutputibmclouds3.md: + id: c6143c3f2e1e + last_write_checksum: sha1:7e92e6d2fcb5786e4f8e46bfe2f6628eac0b5e50 + pristine_git_object: 5bfe91a63ca5cb3a782f6a7fdbc2fb476f8d778e docs/models/outputresponseoutputinfluxdb.md: id: c211d4992be4 - last_write_checksum: sha1:8c2c3450e77403e448b5c8270dd643eeb2183b6d - pristine_git_object: de907bb3501ce42a836a265bb0d09a07347cbbe7 + last_write_checksum: sha1:e66ba5c25a5019c47e1fef3af4fe589175408df9 + pristine_git_object: 8eea301e1c9fe3cdc8ec2b57f4d81158281b757c docs/models/outputresponseoutputkafka.md: id: 04a5915ce172 - last_write_checksum: sha1:fbee96cded9e49e05f5e85f87ad5886b13643faa - pristine_git_object: 88dd788be1490115a8838b7b736d2875cc98487c + last_write_checksum: sha1:52d8b848e4a8a5f04c9775617e076fe6f7218a67 + pristine_git_object: e0f5636950a1a9554818d10cb4905c5376c630b7 docs/models/outputresponseoutputkinesis.md: id: b92abdccc740 - last_write_checksum: sha1:17084fa43b0b776ced670b2fb3c2fcde03d4beb7 - pristine_git_object: 9cb0779055d25dc34ad91183e7be7439194b6e90 + last_write_checksum: sha1:23e0550c68f0130ed89075e4733e67f8ab58cc43 + pristine_git_object: 4cd8b99d78cc3747bbf5cab306df4ecd3d17b90c docs/models/outputresponseoutputlocalsearchstorage.md: id: a3a009cd59b4 - last_write_checksum: sha1:0cf50811dfaa142cd84ecb21049a13567199db04 - pristine_git_object: 6853eb121ff8e1a9c583d56707dced92196cd00d + last_write_checksum: sha1:c32c34828ae036638e4a3d2b99ef42c3869a1515 + pristine_git_object: 0c7f85b89f01951f59939adb9dcbaadb6a953699 docs/models/outputresponseoutputloki.md: id: 55dcf35a3db2 - last_write_checksum: sha1:84579dfda9a79978fef30e67deaf8f90401a7632 - pristine_git_object: cf94421d18d9dc5c5e3acde1735d9a7f247190df + last_write_checksum: sha1:48b2b2bc99cc97cbdb0cf3e61970685fc41469e3 + pristine_git_object: ec97272f0c363ed0988ccce16a2f6a03b526f838 docs/models/outputresponseoutputmicrosoftfabric.md: id: 7abd738e3ff1 - last_write_checksum: sha1:e0b0f8ca68da446ac91477e4f7f1210056c15d73 - pristine_git_object: b5dbd9fb6ed34b51f9eedb6ca8c33e751c2ae0f1 + last_write_checksum: sha1:2047fd0b1514e47347c40079e73ab969852c7783 + pristine_git_object: 4f26d8d78c560dbacad34e3930011bf07394160b docs/models/outputresponseoutputminio.md: id: d723402af2c3 - last_write_checksum: sha1:134c2c21c4362329bd2aff29b1fe2d5ecba10495 - pristine_git_object: d4df7071d484989da47c3f84f23d97e547157854 + last_write_checksum: sha1:af55e266d6faa225f9d80a68b5e3978ae30aa78d + pristine_git_object: fc8c84edb0f2996de1cddf009439419acead9d80 docs/models/outputresponseoutputmsk.md: id: a290868350a9 - last_write_checksum: sha1:17b7f3675c1fe3a44093e241565b519e1f96d59b - pristine_git_object: 07f1623645aea9e6c76bfc0067e649ff9afe7147 + last_write_checksum: sha1:4bc4bfa29216dd2fae8901c8b9583c105a581086 + pristine_git_object: f8eefb7e4b331858467725807f52d153055b8129 docs/models/outputresponseoutputnetflow.md: id: 9f91b6dceca1 - last_write_checksum: sha1:288d60c25cfce015d495c0f2ea2c282340ff9fb3 - pristine_git_object: 92627c6c07cd4ce120de9513f83b50c11da03cd2 + last_write_checksum: sha1:435fc5bb85d827bb42e17a682010043b9823ebac + pristine_git_object: 03e345d13508668e8ff9d1a208661e997244604b docs/models/outputresponseoutputnewrelic.md: id: 5204f08fcc1f - last_write_checksum: sha1:2ed7d85e84da7fe8d35ec209b1936f6f25b3e4d2 - pristine_git_object: 7bfd1de1f36ae1af77128d09f5942e558c978fc8 + last_write_checksum: sha1:2232e580d9a44668689ce84f3408bd9bc676e4a2 + pristine_git_object: 7158fd5823d9e6f362d3351fe3593372b8358644 docs/models/outputresponseoutputnewrelicevents.md: id: 3a91c240fc84 - last_write_checksum: sha1:3bd1176feb89f0fd188fa77187e876fd0574eeca - pristine_git_object: 28544b77805f21f9c4460c05c3cde25496f3e764 + last_write_checksum: sha1:e8fff67cf075910eeb35346ed99134a76b5a5da6 + pristine_git_object: eefecfefdfa1cb6339e4cfe3600a6a4f0ae24a60 docs/models/outputresponseoutputnutanixobjects.md: id: 1cb3cd9a93a3 - last_write_checksum: sha1:d6078ce61b2c73ec3fa6eedbec8b6bccd8754801 - pristine_git_object: 0c3533111ef296d87e461e74a02b0f26ac9a9103 + last_write_checksum: sha1:ee43e6e4b635ba0b7b971abaf5f64c1933b2b046 + pristine_git_object: 77865f7a273e1544d0a921e79d538cc324dfe083 docs/models/outputresponseoutputopentelemetry.md: id: f12008ff473d - last_write_checksum: sha1:7cce9cd328190ce50818672c6fa775985d177015 - pristine_git_object: db25e5a50bd6754c651897c9bac2e03e9cf47b14 + last_write_checksum: sha1:14b6f2fe92099501b69a7d4c71e469de08eee513 + pristine_git_object: 630b3fbb474a0e5b30bd4626f5f1f5bba6dacd6f docs/models/outputresponseoutputprometheus.md: id: "483350017891" - last_write_checksum: sha1:5f505b5a0eea6815b29237a1767a3054e3babcec - pristine_git_object: cdaf2eed6f1ad2f23d3c5d7ce2298da66a5d7faa + last_write_checksum: sha1:efbcd5a3a86749ae0d5fbe6cc8969467a2ccdb61 + pristine_git_object: c88a1a778682950bf9ec34d56049b26be7359a63 docs/models/outputresponseoutputring.md: id: f9f1ea7afe85 - last_write_checksum: sha1:75bd60ef465ab53a103c5780f6430a4a00dc5cc7 - pristine_git_object: 09f15d584bb26e12824d480799f50e31202b35e6 + last_write_checksum: sha1:d296d603bc3d9a7d53bf6ef88a9abe9a6e3cdc34 + pristine_git_object: a26af7b392bccb147fecb30a30e54d6f0b61862b docs/models/outputresponseoutputrouter.md: id: c3e617dab2f4 - last_write_checksum: sha1:718e000c90597ae78c33b322e34891254f2d8644 - pristine_git_object: cc161931d9ee62f0e3e52b0e687233ab9f46c779 + last_write_checksum: sha1:25e8aae8cd3a8a822bc29f96661c08cd9624542a + pristine_git_object: 6c296e8f1cb56f4d337db5eae00ae10d9ed25f84 docs/models/outputresponseoutputs3.md: id: f665bc3a232a - last_write_checksum: sha1:da7bd6ae981c6e1d1fcc079d928b1f6d24d74ce0 - pristine_git_object: 9a3435cd0fa2b05b7086fd57f3dd60093ead98fd + last_write_checksum: sha1:aea744ecbdeb4d240720ee2ba539f00f69dfc992 + pristine_git_object: 2cc21c56975f1667987879e410e1e87db9fc4dab docs/models/outputresponseoutputscalitys3.md: id: d5b943060fcf - last_write_checksum: sha1:394ae60fc695e177d6c7394aa4ef4fcd902f1325 - pristine_git_object: fd10c49aadd7fc275d4e120cab41ab2a7a7a051c + last_write_checksum: sha1:aee677c9b29003b61887df80de68b3d20efd6c15 + pristine_git_object: 85d389d2444692a03472ea9ab332c5fe01a4d5e0 docs/models/outputresponseoutputsecuritylake.md: id: 063328c29a66 - last_write_checksum: sha1:7fb6b9a232b18ef77a103fdff416f28cb8ec5d87 - pristine_git_object: 4872d7725fa2e159a9f3da04dbd82eaa296d002c + last_write_checksum: sha1:e954e5a675046fc5bad1be72c703718036a922cb + pristine_git_object: 8d8c98d8370a27199c4f6ba54bfe2346696b90c7 docs/models/outputresponseoutputsentinel.md: id: ca3df8b8a8bf - last_write_checksum: sha1:8479aaf117776387ce142d31efc4f4f95f5ab40a - pristine_git_object: 03581a783b5788da19d6948497694da8682a3e0f + last_write_checksum: sha1:bd9f8586ac0c517d1de239372d2dbb72863ab916 + pristine_git_object: b326d4597d9774c1e23d3aa9cea1a9cbde7e2a5e docs/models/outputresponseoutputsentineloneaisiem.md: id: 609583aadb29 - last_write_checksum: sha1:e2530b51e9442bece44eef67b545c6b480dbc9e1 - pristine_git_object: fe8aedf290f7fa0c98b6056e91b6084d3017d827 + last_write_checksum: sha1:a63635894702500267bab3a75fd28c0098a7578d + pristine_git_object: cec5c19139c9657a2a82fd165aa8f9b4e28c59ec docs/models/outputresponseoutputservicenow.md: id: 6030b621ea48 - last_write_checksum: sha1:3186f65ea57d5dbac11a4a2210bf47b636ac9859 - pristine_git_object: 048caa378e6add2beb3bce9f110a5138e4c7d7d2 + last_write_checksum: sha1:e9549d19ccd27dec33176ecc35171027edf7a709 + pristine_git_object: b6406f8d01d586a8495fcd4df42c4d8e870c1cef docs/models/outputresponseoutputsignalfx.md: id: b4e25513f4ef - last_write_checksum: sha1:46cb31b99ba374c0c6ae1ce758b82a548e322039 - pristine_git_object: 06a2885de043449a2166422f04e0a524c19742a3 + last_write_checksum: sha1:d39b60efc7ef23d5e5f573964daab2402688aa3d + pristine_git_object: ed97d0e2793e338a3d5b8aa5d8ba21b4050b9c66 docs/models/outputresponseoutputsnmp.md: id: 600db83620ac - last_write_checksum: sha1:3fd741101939d1e0de023b6dd74483102e981c46 - pristine_git_object: 1d322cef9ff3828ec7cb54ee55caa0b7b560ef6c + last_write_checksum: sha1:1079b4ddc3989bffa7d40921a4452e602343fc2a + pristine_git_object: 059cacb46922a6481020d58fa89e98cead921511 docs/models/outputresponseoutputsns.md: id: 803b362feaf1 - last_write_checksum: sha1:f9cfed2d97e62e61d2c83702fb71baa77e1296bb - pristine_git_object: 82625ca8139b3a392d9a2e1b63e67bea8d70366c + last_write_checksum: sha1:eabb2f1f07fff9a5b75ee95a83834dc5ac38a5c7 + pristine_git_object: ae5e04d8aba68d7d95f1717ac3323d4d9d6a0ef4 docs/models/outputresponseoutputsplunk.md: id: c50af938c634 - last_write_checksum: sha1:f78731ff70edf69815036b357aef84813a2ece54 - pristine_git_object: 54b1b817441d4b2438e989b62957d06afcfe3f7b + last_write_checksum: sha1:b98d441db5c7fe6acdddf60130f59896cd40eef7 + pristine_git_object: 591a6b5ee3e30d7b4be316425f5bd9079412c2b5 docs/models/outputresponseoutputsplunkhec.md: id: 10f0a3cfb3d5 - last_write_checksum: sha1:24a64d4d6d4b9e616fc21c3fc1c51fb5198008ed - pristine_git_object: 7b75847714efdaf7e40c8e9c69b4ece0dd9a0ed1 + last_write_checksum: sha1:2805b75bee0b16f75e5b5f4fcc1fb9d086a6671c + pristine_git_object: c82d786e65d2beffee772a64de5e071df6502a33 docs/models/outputresponseoutputsplunklb.md: id: 06aa6b6b4298 - last_write_checksum: sha1:dacd9ad7ec5b72a19dd1cf22b168767fa7432807 - pristine_git_object: 0a923ddba5c15a05126ac01dfb9ab3b42ef75d19 + last_write_checksum: sha1:c90fbdabc93a59cfb801d3f40eaf2b5facc9c945 + pristine_git_object: fc02c81a7cdb95a2f0efa0e48cb2917c4ebc50e2 docs/models/outputresponseoutputsqs.md: id: edd53bffe0c3 - last_write_checksum: sha1:a0ce2751578473de78e687f96244ad4ceda576d9 - pristine_git_object: 3aa627e9f51e3f2a08b8ccd5cf48653967932dea + last_write_checksum: sha1:57aacc2f9e44ab0c0672aa9804c3211aff74edf7 + pristine_git_object: 78de22d6cc8ed6508a9de144adfa6772741ef57c docs/models/outputresponseoutputstatsd.md: id: c325f4cd7b33 - last_write_checksum: sha1:90cabe72ce0e2046d306a69986bec8261fb9fe03 - pristine_git_object: babbd4cd39b8fbc9ac6288461ae94ed78391c57c + last_write_checksum: sha1:2f123683e81a40f6642b6c028ddb89eaec2cd910 + pristine_git_object: 40a7fb4368e8ebaa29b736a81dba2a8b85fb9d0a docs/models/outputresponseoutputstatsdext.md: id: 64c739aa8fda - last_write_checksum: sha1:c6f310f302211a6dbeef09d336b11be85f9477a1 - pristine_git_object: 94ddb821f30622a4e08d04cd8e3836ed8be4a2aa + last_write_checksum: sha1:a82238316d89b6a003e85c91eecfef01c7df58c3 + pristine_git_object: c81ef4695745b53ea01a4cc04689694371436195 docs/models/outputresponseoutputstorjs3.md: id: 3d326fc90757 - last_write_checksum: sha1:90de7298b483c4bd9b919453af2a7a7415eaf902 - pristine_git_object: 98f46632e99e4f185536558a6f1e0df608c4e926 + last_write_checksum: sha1:673e8720f99056e5cf37273c1e4d9b8e97799088 + pristine_git_object: 14e03f2ab54e0663ce79e30d991a1a71a9c3a4d9 docs/models/outputresponseoutputsumologic.md: id: 62a391a5bb67 - last_write_checksum: sha1:c81abcb22cbbe19f1f31cdd899b59e319909b3b1 - pristine_git_object: aeb1492348cee2a8754c494b0986f18f45bf6036 + last_write_checksum: sha1:6a6948ae540e0bf90dcb93fd4186922d984c63fe + pristine_git_object: b0553f42133dce12d7fa25a4c5876882b3d39252 docs/models/outputresponseoutputsyslog.md: id: 8d0cef47b1c4 - last_write_checksum: sha1:e8a4e783d1f0f7c476ed54f80b80dfa34195251e - pristine_git_object: a2fcb552c7febc9a0a617a12d76bd88ee5fdf026 + last_write_checksum: sha1:533ffd9b46dbcac5c6849589d2d9c89b3f188a60 + pristine_git_object: 0407772f14b1e9bd3d37d614d4554233de5ce93c docs/models/outputresponseoutputtcpjson.md: id: 08d819fcd6ea - last_write_checksum: sha1:b843b77eb1d7ccf6a5433b934f259672789007a2 - pristine_git_object: c4436801d5f26384680ed21bf1c6fb9e903b22f1 + last_write_checksum: sha1:07843aded65e7a0d2a86a7061b62abc993cf8bfd + pristine_git_object: af2d746c0f9124cc2ad75a87f3f28194bf708b03 docs/models/outputresponseoutputwavefront.md: id: 3d8b0f0c933f - last_write_checksum: sha1:50947ed123dbe6ab1b563c45a378ad6678577888 - pristine_git_object: 211715a963173c1dae5e7762b744743a97493c31 + last_write_checksum: sha1:389aa4761c06295982ee46352b3fc5c79dac9924 + pristine_git_object: 07a723e89f8605dfb602b1bc396b65a0c12f10a0 docs/models/outputresponseoutputwebhookauthenticationtype1.md: id: d979a1a223fc last_write_checksum: sha1:8c676914e2eda60588721a4e8c2d2ea000c1353c @@ -11500,24 +11992,28 @@ trackedFiles: pristine_git_object: cefe266ac4b13d90c6e839165f40e73c5efcc8af docs/models/outputresponseoutputwebhookwebhook1.md: id: 76682c9f741b - last_write_checksum: sha1:88989e398b3e80f965bd34b361aada6e232e18eb - pristine_git_object: fe2ea4720748b9ba62efacdac40ba59b6d25b58d + last_write_checksum: sha1:eade28336e2f7cf42ad3b4adbd20134f9448d32d + pristine_git_object: 3b7d4e4f8676932ff0ea1708641fe0ca268ccb5d docs/models/outputresponseoutputwebhookwebhook2.md: id: c5e00d98f79f - last_write_checksum: sha1:82e44e54414448c0d123d1806aa0f609004b06bc - pristine_git_object: 8d0f9b8d0121e78163f2ef16e651debc383a16d2 + last_write_checksum: sha1:cc35fb97f93b0b518ca0ac1ab8a7189d68e808e3 + pristine_git_object: 60ab95beb6202589d444795ceb844b9b2ade5485 docs/models/outputresponseoutputwizhec.md: id: ad646e280edf - last_write_checksum: sha1:708c8f7715287017d3aa9ce77441a7c026f7864b - pristine_git_object: eb2257c0d600877c6fb5917b61219703fc50d8f3 + last_write_checksum: sha1:cc7a3a01821c1704a5bd69639395b60be0cf3e57 + pristine_git_object: b7a8bcf1cfc1ad17f588541ca68acddb839fd738 docs/models/outputresponseoutputxsiam.md: id: 4c55c9417a75 - last_write_checksum: sha1:c493783e33f3d9f82f54c2d20ed276f6a29a7a5f - pristine_git_object: 61315f652ef58d6b7d22a70ed16bf40460a9bf64 + last_write_checksum: sha1:622f9e04b4de34226e348acaeaa782bf3c377ce1 + pristine_git_object: 0b4bd6e0efcb14cf48907ca8b8290444adada456 docs/models/outputresponsepayloadformat.md: id: bcff2dce44a9 last_write_checksum: sha1:ed95e936b3f433a13b2b9dd53af8d0de11e387aa pristine_git_object: 31b792069daed5781f5c4c1fd6e8b84b9efd54a6 + docs/models/outputresponsepqcontrolsamazonmanagedprometheus.md: + id: 563651cbeb54 + last_write_checksum: sha1:568af244fce677ace7fe1e7f9917bedfe36dc60d + pristine_git_object: 62e9c8d4162a62bd6906efb21e576cb00a3e23f6 docs/models/outputresponsepqcontrolsazuredataexplorer.md: id: 6fa37571b7ce last_write_checksum: sha1:533632bc8e480c6761e4a12cb9318f2296077c73 @@ -11562,6 +12058,10 @@ trackedFiles: id: e93b09dbca04 last_write_checksum: sha1:1e17d7eea3fc87d9aeade095750c42f82fc9813f pristine_git_object: 57b4f6730fcbe7eef82ca8ec7a6cc8cd95711c86 + docs/models/outputresponsepqcontrolscustomermetricsstorage.md: + id: d54758e96768 + last_write_checksum: sha1:95d2613fcfb2178e053bd3d2d0d67fb135c6c154 + pristine_git_object: eb6becd10f57c760d50a44e13cb7c4673f31d9fe docs/models/outputresponsepqcontrolsdatadog.md: id: 7aceeb8855d5 last_write_checksum: sha1:830d1016e236677c1fb2ceca811f4f43f346cd59 @@ -11586,6 +12086,10 @@ trackedFiles: id: 867996e0feb3 last_write_checksum: sha1:1b981d5b517dd87fa13362ab4b57fff9c227aec2 pristine_git_object: 4e9baddae7bec1b6668ee930e6a7b7afe0e6eb9e + docs/models/outputresponsepqcontrolsgooglebigquery.md: + id: f2f6c06c40a3 + last_write_checksum: sha1:d303f48defdd402a6d59cd8d67377114d204a4b2 + pristine_git_object: a69d73b1d1626377e2f2bb8d6ede3c85b8ed4d92 docs/models/outputresponsepqcontrolsgooglechronicle.md: id: bfc5384ad19d last_write_checksum: sha1:8709dbc281022f5d8725c9ed557726c40ccaf1ea @@ -11594,6 +12098,10 @@ trackedFiles: id: 35a8b962fea6 last_write_checksum: sha1:d1cd956470d6f49001ed2852c679e9f6d4147e60 pristine_git_object: 3212729643d50e876204883fe29b98a92f6a54e5 + docs/models/outputresponsepqcontrolsgooglecloudobservability.md: + id: b895e43307f5 + last_write_checksum: sha1:b50324018ef9b0d2ffaa57865fd9e6457b22e497 + pristine_git_object: c78010b2cc64e3a4a2d6609388da16e2bbff4345 docs/models/outputresponsepqcontrolsgooglepubsub.md: id: c5bef8f29f8e last_write_checksum: sha1:f60ecec5df8f0cb0fecbbd505f3e8456543e5b71 @@ -11730,6 +12238,10 @@ trackedFiles: id: 246af5c77ccf last_write_checksum: sha1:9daeba6511e5986bf3549286dcf6b220ef3b21ef pristine_git_object: c2d708cf6e465742c1fe3620b063f7ff606dea99 + docs/models/outputresponseprotocolgooglecloudobservability.md: + id: 042efecd3b31 + last_write_checksum: sha1:b20a95e7cd031ec7dc6ce108e1de459e741ee567 + pristine_git_object: b85ff7357de23d473e8a5afa84bedf3e0074c3a1 docs/models/outputresponseprotocolsyslog.md: id: df20ca77d210 last_write_checksum: sha1:1e17ade26cf4838e13922ebf7c0b7191f7cd980e @@ -11798,6 +12310,10 @@ trackedFiles: id: 55479aa0aae4 last_write_checksum: sha1:a7e09162104ce9e2a8785c57eb0da9ee405a1299 pristine_git_object: ba4f2f20d2d002bc3a24fe9e9175dbcdf3c44c0f + docs/models/outputresponsetypeamazonmanagedprometheus.md: + id: c8f365b85c11 + last_write_checksum: sha1:7ee450e6d1c35455595fb179cda4690ac1faf09d + pristine_git_object: e3536b359b35bb982ef6664696279b2a7ee397e7 docs/models/outputresponsetypeazureblob.md: id: 3b84fac87327 last_write_checksum: sha1:5678e8e52d5e40be048990df8cdb78fa9f9a5dbe @@ -11858,6 +12374,10 @@ trackedFiles: id: 6f61bcbbf13b last_write_checksum: sha1:e37f20de17d1c7b8fc733bf1d0b0be81b47cb551 pristine_git_object: 3b885054e04c2e9fb939d84f2f20478ef90922cd + docs/models/outputresponsetypecustomermetricsstorage.md: + id: b5b8fcae6c39 + last_write_checksum: sha1:1f54c0dc6139f1659eaae84403090e94c03c1425 + pristine_git_object: e3a19e145e741aed1e1a340aabd427078af048bb docs/models/outputresponsetypedatabricks.md: id: de541b54b102 last_write_checksum: sha1:9d68d8b43986144f45281ee6d7f59803248158d8 @@ -11914,6 +12434,10 @@ trackedFiles: id: 7648c0f411fd last_write_checksum: sha1:8f696dc08c078bb2e287be3bfee8eaffbb43011c pristine_git_object: 020a97aaf83c7c92a5c36eed94fd60e64be8f9fe + docs/models/outputresponsetypegooglebigquery.md: + id: 4e553ed0c13b + last_write_checksum: sha1:3b66ace228ca4b30e02fcae161533595487e92e7 + pristine_git_object: ad66a36ea817b173e076fdd2cac5cf23c9254cac docs/models/outputresponsetypegooglechronicle.md: id: e95ecde63d87 last_write_checksum: sha1:d8c9fb110e0e408f12e8147990d95e75cf927a8e @@ -11922,6 +12446,10 @@ trackedFiles: id: e680b71d75e9 last_write_checksum: sha1:a06953a3ab377d94f973de98e089d8fca16ec846 pristine_git_object: b1481d569196446984bfcbfae8726c3f91fef2d4 + docs/models/outputresponsetypegooglecloudobservability.md: + id: cc56c9c1f1b1 + last_write_checksum: sha1:7408bfcd8aa91a2963b528f4a6a85459b5dead41 + pristine_git_object: 4f5cca0b4fc5973524bdab32f4e9e8c896ee35a5 docs/models/outputresponsetypegooglecloudstorage.md: id: 48c4c4d5dbf9 last_write_checksum: sha1:12f4ab94e1de0cbea86480454d6933170d433284 @@ -11942,6 +12470,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 @@ -12116,8 +12648,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:59cb6df72d466d1414db2ac8a55ea06bc4c7a1c0 + pristine_git_object: bd1a740f0d6de61bfb5f3296b514ab36cbf311e5 docs/models/outputringdataformat.md: id: 76d45d0b5953 last_write_checksum: sha1:059a155962ab2cc479c617acc0c6a79407a04f1d @@ -12128,8 +12660,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:428e8e1ba7a0ab429b6da4973a360e69c3e12b66 + pristine_git_object: 2d94bb6ad34dbe609c81dfc9568d38df0a1293f7 docs/models/outputrouterrule.md: id: c284a0e80882 last_write_checksum: sha1:d290d02eebe0ae6e56e985e0818ca48680c1fb71 @@ -12140,8 +12672,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:f18e48d98bcdb9a1c1f91d291dfff350df58c00c + pristine_git_object: abe3d69980856f010a959a6c9ad3065fa42be796 docs/models/outputs3type.md: id: 4ee46854be19 last_write_checksum: sha1:f33681e9a98200aac36ec4c66534e577cebb7512 @@ -12152,24 +12684,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:bc50b3d72dad5be47abddced712e0e781f29c1b2 + pristine_git_object: 9cd8583827ea0d0316e3c2ee689adbdd856162f1 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:b460b84db5328e7f2f52eb3b4059e3975d47a179 + pristine_git_object: 3386dfaf9210a1bcd672a34a905b908459f2c8ad 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:2eb26569dae781ab10d621f3224035056084c75c - pristine_git_object: 752a2fae2b46a6d8bdca1211672f9419765100ec + last_write_checksum: sha1:351738c540cd1ff648a8a11e966cd6b42d9ee7fd + pristine_git_object: ede943cd60a0350b502de968d13aed4ca88be141 docs/models/outputsentinelauthtype.md: id: efc800a43d2b last_write_checksum: sha1:e3ed0983b594227945e0d51cac35ff943748443f @@ -12184,8 +12716,8 @@ trackedFiles: pristine_git_object: 505bbf3a174c2b941c44d7dc2a60d23f5f375e5d docs/models/outputsentineloneaisiem.md: id: 8c9d239317ee - last_write_checksum: sha1:97d1f7be84012983e2da8fcabc7004e4aacbec45 - pristine_git_object: ad9bba0de090b131b419ab2d5a11d3ce95956406 + last_write_checksum: sha1:68f62ad40eac505405d66ce989f7a061e630d2e1 + pristine_git_object: ce4ef377468ab3f2b7e82d72685719a74f3ebbb5 docs/models/outputsentineloneaisiemaisiemendpointpath.md: id: 5c34286659c3 last_write_checksum: sha1:d58fc0bf28d327dac755029abc1c70f0c531d60d @@ -12212,8 +12744,8 @@ trackedFiles: pristine_git_object: b989fcdba181b3d41dfc7505e7c0e3023d893eae docs/models/outputservicenow.md: id: e62654485a98 - last_write_checksum: sha1:10c2abf89eb241ed2ac4095ec1e2dd33e9dca3ef - pristine_git_object: 65b5a07b807063d0d924ce114330621f8651a1c6 + last_write_checksum: sha1:e0df46d0bd495fa2b7550fdd7c99e96803112b16 + pristine_git_object: 6f2782f9ae8df83f0cab14e6072f9b245124dfc3 docs/models/outputservicenowpqcontrols.md: id: ea42f6ab6dbc last_write_checksum: sha1:508714db19406fb55bd6e7d71dc02e155ea6d34e @@ -12224,8 +12756,8 @@ trackedFiles: pristine_git_object: bfe64effe6b0e9ccacf31c243d5b12988137c347 docs/models/outputsignalfx.md: id: 2ce4012a829e - last_write_checksum: sha1:733edd4773eb4a13f47708ffefaeaf5f623e1731 - pristine_git_object: f244f2b5aafbb4148c35e45d290699383570bb1a + last_write_checksum: sha1:5324b3bab399e796d106d1dcd95ed1ed0d377b77 + pristine_git_object: fe08069fcfc1bbe853c69498761e7261515cc1cc docs/models/outputsignalfxpqcontrols.md: id: 870b52f48d02 last_write_checksum: sha1:0a94092e7e5de20c0f9126b08abbfc9350a9c546 @@ -12236,8 +12768,8 @@ trackedFiles: pristine_git_object: 91091764cd6e70e32cec46146b61f9c2825c89c4 docs/models/outputsnmp.md: id: 89faf1584358 - last_write_checksum: sha1:ac554aa3d471cfff8918d6df6e14b3911f2005b8 - pristine_git_object: 8a8a2a7bef173c92d8bc22fedd2d4c4491f8e55e + last_write_checksum: sha1:9471af34947d5f9c807ee05e4d74c3116b8f2230 + pristine_git_object: d24994df6035e993a51ea94608b60745c17cac8b docs/models/outputsnmphost.md: id: 86d7bbfe976b last_write_checksum: sha1:f3efb36fd35a9c368aa12481adbe9440e54353c2 @@ -12248,8 +12780,8 @@ trackedFiles: pristine_git_object: b27909aafe2f844930a65a91d0b366f750b1628f docs/models/outputsns.md: id: b60eaba50738 - last_write_checksum: sha1:4089622cbc48be16f9347791eb5610db06e2e48c - pristine_git_object: d99e2979c278e56ebb53173b7768c8298835d428 + last_write_checksum: sha1:641fb3c8b8ccefccd9fe80d37622dffbe33a6818 + pristine_git_object: e0e2f60d88dfdab7b2b481e96ad16918e684df84 docs/models/outputsnspqcontrols.md: id: 925b86a0a808 last_write_checksum: sha1:43618cdc7f36f8b50238595f84a14e800066d49f @@ -12260,12 +12792,12 @@ trackedFiles: pristine_git_object: 45830463e22ddda95b1c3d04a5752a3d38b6646c docs/models/outputsplunk.md: id: bcf587b5fbfe - last_write_checksum: sha1:9ae5a3958b05aed11a93f3efa61faaad2d6c3e65 - pristine_git_object: 7522cd01ff1eeb3ad874670220bbaef295496b2b + last_write_checksum: sha1:42bfa60c95774c8eba77967f67c70b9f9f385ecc + pristine_git_object: ce1fad8b0d0ebbd1004bfaf0cb8a2e619a801320 docs/models/outputsplunkhec.md: id: 90814512ad31 - last_write_checksum: sha1:d9f5735aa2a37542f881881a77b48efd81f6d97e - pristine_git_object: df4d82c7dbf860e8dba4c97f19ba09f65c5d8f82 + last_write_checksum: sha1:22e33e5ee599186b5db81ae9d66ccf793b4f2da1 + pristine_git_object: cb802e596c76dd03d3ed4703dcd597ac7f38621e docs/models/outputsplunkhecpqcontrols.md: id: 2c28284f1a2d last_write_checksum: sha1:93150a996ee52f1134df8e8846959dffd5a6275f @@ -12280,8 +12812,8 @@ trackedFiles: pristine_git_object: 7f19a3bc55aeb22ed851c5ac65f3a20c35dcb7ce docs/models/outputsplunklb.md: id: 16f55b0ec424 - last_write_checksum: sha1:5cbb5bcb32360df07289080e5c61815fe7697383 - pristine_git_object: d0e05aadbcf902617cf9604a04f4798eb70f977b + last_write_checksum: sha1:ad1693c161f5507814b76a06f60cd37b008f6bab + pristine_git_object: ce36ae4f167a1b998e0329f0f3de3a949c834a39 docs/models/outputsplunklbauthtoken.md: id: d942f69099f2 last_write_checksum: sha1:5135d399ff06d3a4253985edc36dd000cfbe789b @@ -12308,8 +12840,8 @@ trackedFiles: pristine_git_object: 5f5f684764d9e9fe2bea90935c28ae974ef928a8 docs/models/outputsqs.md: id: d120c4556956 - last_write_checksum: sha1:fa69d879368e1a131e41541a14e303cb12901237 - pristine_git_object: 5236cbcd87026f4ee2ecfdaedb4693053dd5175d + last_write_checksum: sha1:eb03dce0c33ebaca1b4e2fe2883eb061f340463e + pristine_git_object: 1e2514fb0a08fa9e8e03a98edbb35893d53fcfee docs/models/outputsqspqcontrols.md: id: e899cfa81f7e last_write_checksum: sha1:197409b9c0621b72ed0f942383ce5dfa688531a3 @@ -12324,12 +12856,12 @@ trackedFiles: pristine_git_object: af8f41b4d72e519ca59a31739e75b5ed0a45aee6 docs/models/outputstatsd.md: id: f604a1cdc9b6 - last_write_checksum: sha1:ed260c9460ea056fc1278d7c5ff0eaaa808dc201 - pristine_git_object: d79fe9600bc7e4aede438e8e54b2dd9e7f3ce908 + last_write_checksum: sha1:07eb963548c96b405474cd790da17bc48113441f + pristine_git_object: f18f206af04964ad38c560809c23ebd7554d29d3 docs/models/outputstatsdext.md: id: e205fd872ea2 - last_write_checksum: sha1:73b662be62c0e991b9e8a8e43c2e73e6d98b4c7c - pristine_git_object: 640dc7ea4b5df311da691a2a5715a516a6affc81 + last_write_checksum: sha1:e8ea5d1c28b0c8602f0fa6480e5d3625cda87596 + pristine_git_object: ce73f41a518f76ea6ac69592e907ef0970c230e6 docs/models/outputstatsdextpqcontrols.md: id: 781d1b751391 last_write_checksum: sha1:63304d5c05f71be333f067d2ebb8cd45e6e39943 @@ -12352,16 +12884,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:6eb616556575a60be9d91d0298e91fb3d8ceb078 + pristine_git_object: b693c2afce9a56cbb6a20ecbbbee9767b3587a7b 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:cd9638de3de49175665b2003f028a6eb43e21a4c - pristine_git_object: ec54e31e364924c187ad8f81b426698caeae6b5c + last_write_checksum: sha1:eb8402504d769b38b41cf15c76b745ecca49ec8f + pristine_git_object: ba359b48f5abaf1acab242d78db51e31f65b7a82 docs/models/outputsumologicdataformat.md: id: ef00f7359efe last_write_checksum: sha1:46fa987bccb8555582b9d453b8f2bfb7b32c8329 @@ -12376,8 +12908,8 @@ trackedFiles: pristine_git_object: 4a172efcb464a7d6020be13236079563b8581fdc docs/models/outputsyslog.md: id: efc962179ec6 - last_write_checksum: sha1:1566606f876d27dd409dbcfc4e637c9831d4714f - pristine_git_object: 4699edcba1dbd3a4bfe84517d9ede3f12768f12b + last_write_checksum: sha1:354085ed0cf72a369f4fdd030485f7a7683c6fb6 + pristine_git_object: 8847ae0af78ca813431bafc4942bf5715510b90a docs/models/outputsyslogfacility.md: id: e87d45d48a13 last_write_checksum: sha1:374ec4c0d954873e2ef30cb78715dbbe404ab3fd @@ -12408,8 +12940,8 @@ trackedFiles: pristine_git_object: 049a27b514140951a90ea3b9e008b1c42545eac7 docs/models/outputtcpjson.md: id: c065e344e101 - last_write_checksum: sha1:902f2979f916f6c065a688dc37daf4968473e795 - pristine_git_object: 810e43c53c9141240179262f831fcff3e15b89ac + last_write_checksum: sha1:3a8865f0f38612434567c562fe3d265d1f5ac1a5 + pristine_git_object: e76be31558fdff1656f6ce7d8991d55fbe1dcb69 docs/models/outputtcpjsonpqcontrols.md: id: e58eeb861f60 last_write_checksum: sha1:811f10ad135e809380d6bd102ec9c2ff2a2f6005 @@ -12428,8 +12960,8 @@ trackedFiles: pristine_git_object: 6d4fe1f6548a8b9122e863daeb06d5dc255a7549 docs/models/outputwavefront.md: id: 73fa435fcd95 - last_write_checksum: sha1:7cc40b82cb8bbd58e410f94828e95b8f6a8a1a22 - pristine_git_object: 3ef8c5e9a85a574965eb084ef583a94094791fb6 + last_write_checksum: sha1:1e0e04a2ead071305d02548f6778522996732682 + pristine_git_object: 81a96a76a89bab13cfaef97be5a231842165fc87 docs/models/outputwavefrontpqcontrols.md: id: 8e7d762552e0 last_write_checksum: sha1:6cbd032bddb7c83e953ff8518e7fe6c9150fb731 @@ -12484,16 +13016,16 @@ trackedFiles: pristine_git_object: 40a0b92f7e646d10462f5673a27800ddc8c6dff4 docs/models/outputwebhookwebhook1.md: id: 4d526c93080a - last_write_checksum: sha1:0a6182662e51c0e59e0b0003ed731fd8939a1892 - pristine_git_object: b67c88a4e655ecba16369c5bed28db8526222a57 + last_write_checksum: sha1:5a38a7974c0e7f310291d7273f75379fe9cda8b1 + pristine_git_object: 8de168110dff671f1a1437ef7a3a40d981e7ebbc docs/models/outputwebhookwebhook2.md: id: 1eb64eccdabd - last_write_checksum: sha1:1a274c3644406bfb146cea917de786954e466700 - pristine_git_object: e1028d42c7d501d061c89b113d332b615f0a08f3 + last_write_checksum: sha1:b85326a772e3bf634eef031b0bc4ee7677956874 + pristine_git_object: 4a3bd07de119a17d195b638ac2460eb1c5d60787 docs/models/outputwizhec.md: id: 199fdc64c53d - last_write_checksum: sha1:b7ff62845cf5b85125df9defd79c05593a305c3d - pristine_git_object: e545f55cc197ac75eb48935f83588265c826d458 + last_write_checksum: sha1:38c51424b759ef5ce8236858adb8764644d6f697 + pristine_git_object: b70b15a8ef7af840fb344433d91d17a0c81afb9c docs/models/outputwizhecpqcontrols.md: id: bfac6a997922 last_write_checksum: sha1:e6f6a3aa150b57304c4a966836753c562b6fb9cd @@ -12504,8 +13036,8 @@ trackedFiles: pristine_git_object: 3662c3e0d3d4fca9f3c94cfa8b684b1a4381807b docs/models/outputxsiam.md: id: 9bad986249b3 - last_write_checksum: sha1:4e01b91b3a6f962fd9f28dfda1f4d1d822ab35d9 - pristine_git_object: 7bb711793ff09317fea1d9787a56fa6317005e8a + last_write_checksum: sha1:7f40f1f92c4f501a78becdc4ae72a2fb44188628 + pristine_git_object: cd7ffde995825f727e16bd2ae8f382068b0c9c56 docs/models/outputxsiamauthenticationmethod.md: id: b0bb0586f169 last_write_checksum: sha1:90d49619ff4903d4099d84b09f46f1fd7774858b @@ -12524,36 +13056,88 @@ trackedFiles: pristine_git_object: 4d76252f0332543af1dcadcf093ff082ca808040 docs/models/ownertypeheartbeatmetadatakube.md: id: 641011ef44c7 - last_write_checksum: sha1:f180352d0149001dc95f1bc5b520b2b952edf389 - pristine_git_object: 220b723b0199a05b16878fd18d1e43cf2ea23d9c + last_write_checksum: sha1:5ba7db6f621e6e4f28cad61523c3731c3752db26 + pristine_git_object: e49acc746d1a29d2a25dc704a676c02857d01478 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/paginatedconfiggroup.md: + id: 165ef25c4ff8 + last_write_checksum: sha1:3fcc07331ca57873dc49ecf1d59d4239b7d6cf49 + pristine_git_object: 3042bcb40f5f375df7011461e3ff2c5bc6cd1407 + docs/models/paginatedcribllakedataset.md: + id: 81e1518edea9 + last_write_checksum: sha1:b9f643be3912eea1cbf00b18588cd35523ac568d + pristine_git_object: 4a870fc21f8ccd9140108816065f3e3e203f838d + docs/models/paginateddistributedsummary.md: + id: b2877c8d1962 + last_write_checksum: sha1:4ab5684e659c730b99547e881d294c12a30fc3b9 + pristine_git_object: 6f052b56d4688d98617ec2e3ed149b80fd3174a4 + docs/models/paginatedfunctionresponse.md: + id: 8f91f4611f86 + last_write_checksum: sha1:7a6114859c8594aafae628b8588590d580af93a4 + pristine_git_object: 98dc9fd48683c35a4d1124ea6870fb9ccf4e9b0b + docs/models/paginatedgitlogresult.md: + id: e7e033f009b6 + last_write_checksum: sha1:568443ee58736febf31204c7a0bf4aa41abd8233 + pristine_git_object: 01442264893207aa20eb12180bfaf96b52953899 + docs/models/paginatedinputresponse.md: + id: 4132e741cc25 + last_write_checksum: sha1:965c31f99a1b339fe7d315070c2c0cb6eb698fb6 + pristine_git_object: 7681d700d199cab4031d987404aea4de3ebbb5ee + docs/models/paginatedinputstatus.md: + id: c426555c24c9 + last_write_checksum: sha1:f701e1446da233839c00f209350a2aab58bdef98 + pristine_git_object: b39e999e2bfa6c44081c2874c4db07a6a22e7a19 + docs/models/paginatedmasterworkerentry.md: + id: dbfa717ac716 + last_write_checksum: sha1:73794aeeceb44ab68c711b3974d54468d2ba6c23 + pristine_git_object: cf13bca1d2fd9e316cd605ef845f2d99860aef86 + docs/models/paginatedoutputresponse.md: + id: d7e5567852e2 + last_write_checksum: sha1:f99a0d9641a87cc333d7c22d865473771e02c51b + pristine_git_object: 7a8b4b52776f9a2d9d7fc47cb873a776e67f921f + docs/models/paginatedoutputstatus.md: + id: 880b98b9f49e + last_write_checksum: sha1:05cf21a277fb3a19b198a89e18a7d1f2e202e074 + pristine_git_object: e2b5041d21518419bca34812c13545e5afe2dd98 + docs/models/paginatedpackinfo.md: + id: b31737ccc1a9 + last_write_checksum: sha1:cb09e07122909d94132fd91dbb39e197b07ef2f1 + pristine_git_object: 5b6e941d5d9932c4eba72491240c16109c0f7ff6 + docs/models/paginatedpipeline.md: + id: ff9d9c5f9757 + last_write_checksum: sha1:95e234e8527ef3b360fe9643001f6f0e67502401 + pristine_git_object: eaa9dee4bb7ab4013913e38adaa761e1fc359d79 + docs/models/paginatedsavedjobresponse.md: + id: bea24207b665 + last_write_checksum: sha1:30b73a4769673aca96ff3e963c3570ee0dd6d04c + pristine_git_object: b9ede9bca038672bc1861fc07a8f74c86a09291a docs/models/paginationoptionsrestdiscoverydiscovertypehttppagination.md: id: 420712506cea last_write_checksum: sha1:01963f7f2bab8dc15b71806b294bfffed3307ede @@ -12576,108 +13160,108 @@ trackedFiles: pristine_git_object: 13912e69e5a1120b2166503acec64422a06e2bdb docs/models/piisettings.md: id: 01673de28df7 - last_write_checksum: sha1:ddb7473f079d5c0da585d07a588e15dd26e43427 - pristine_git_object: f8088c34b5854d87be562ea3e76991e5b6d094d0 + last_write_checksum: sha1:e62b2d8fa3084ce1384dfc85b68225ba6951a4be + pristine_git_object: d0109e9dd7e075ebe76da58a8b47f8aab6e371d7 docs/models/piisettingsunion.md: id: fddd76f7f5d7 last_write_checksum: sha1:abf7ae430dea158c110dedf0bcf9db811889c939 pristine_git_object: e5e6970183b89b60bb06dbc05ea6ec5fb8312260 docs/models/pipeline.md: id: 7bf10de52bd9 - last_write_checksum: sha1:c834410a2ef8735dd6f5f32347e9efe081e1c06a - pristine_git_object: f3f8ebe1bbc98fdd3f00b2d1eb40893f59a24ef9 + last_write_checksum: sha1:f2b3973861307a60c5adef416abebad91c7fc57c + pristine_git_object: 588f118c2cf79a41eb25c769c5efef3447a56377 docs/models/pipelineconf.md: id: e98782925cec - last_write_checksum: sha1:cffc2bbf933f34efeb2b2b037a7fc9fad58d65d5 - pristine_git_object: 43f2003a719bd0c5320f05d92ced6273f025e2f1 + last_write_checksum: sha1:3928d93c5d6d54b7b3712752ae48391be0caee7a + pristine_git_object: 81656530f97726790797d09497105770a0cd1a87 docs/models/pipelinefunctionaggregatemetrics.md: id: 480cec57b095 - last_write_checksum: sha1:5ca9bd11b453d95f034b696371214ff9000e9d9d - pristine_git_object: 117494a66550b52cb9153cc18fded1706b7bc3c8 + last_write_checksum: sha1:279e8006fcf704caf044c4695c44ced7cc566c05 + pristine_git_object: b783ea35cf322c8c8c0ded0bf5d15a19aef108d0 docs/models/pipelinefunctionaggregatemetricsadd.md: id: 980213890abd last_write_checksum: sha1:f8268e9a9c1f166ff7982d2d54ff9e2fc02ed0c6 pristine_git_object: 0adf41fb2ef6eaf5e72a8568da7160498ab90bf9 docs/models/pipelinefunctionaggregatemetricsconf.md: id: af8bd389bfd6 - last_write_checksum: sha1:4aa7861b156a751984d57671dde999c665fd2bde - pristine_git_object: 6456bcf868674cacb6079f09aaed14bd534dbf76 + last_write_checksum: sha1:7d99d8cca91540a9899feab9ae95dfcb95773e15 + pristine_git_object: b9d7e50ca0b8ce6b5aef41bc762da3e2436728e8 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:d445274d9aa1abd1ec8302d17f344fa6345640fe + pristine_git_object: 4ee39e87fa80af53ccac1e5b91a11f6917356b62 docs/models/pipelinefunctionaggregationconf.md: id: 980cba9c6ee0 - last_write_checksum: sha1:52d5d5adb460a060c363e41e9c52ac251d449b04 - pristine_git_object: 6da636294ea1dadd9b6e1bf061c95bc4b3e61b1c + last_write_checksum: sha1:227b9c06257af4cb52ece1bc152d0ab259454569 + pristine_git_object: b4e5f11415ee3ffaa446419501d66c17de2c2003 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:94d8c4ac6491db9a05e6def6d3a8a542f72520c5 + pristine_git_object: ec8c61e8d4da9b126bb97f23366a1fee66f361d6 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:21823a13b47086c124a92e859f9fc5b02dd8ed3a + pristine_git_object: 63f29e26205dac7c0528384da07447a00731f795 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:8c93762eba4d6cdbcbdf22fc2b88d73b13c2739a + pristine_git_object: ec425037df2fc61eccbb27c4fd7c35a2c0fddb49 docs/models/pipelinefunctionchain.md: id: 27fe0f0cf902 - last_write_checksum: sha1:ae8687de668e8aa6f41fc76cfe6d459826d3f67e - pristine_git_object: 71b7e940ec8b145be0f27da5352899cb2414ef15 + last_write_checksum: sha1:962aebc1a9bdbd653a02993872af114f188d8753 + pristine_git_object: 390047504d08d4deb0bd11e5c1d8c1e740e6f58c docs/models/pipelinefunctionchainconf.md: id: 7fbf22778306 - last_write_checksum: sha1:17f088ae42c2754268edfe0ef1fefde6c39131bf - pristine_git_object: 553c96d9a80562caab35f6a9d647333b25d8545d + last_write_checksum: sha1:53c60ecb4bbed39fd54086877315a610c7055b32 + pristine_git_object: 5e2c17b90537fa84658cdfa2b2ad92d024daf5c6 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:73859c04339c612969aeaedc07652c80a7e75eb8 + pristine_git_object: a1ba767524d6b9b622ac8162f10d0d7d080ddd01 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:633787dd1b7358760669e6f090fb75c8442adada + pristine_git_object: 2792d549478b33f091ca7e88a18afecfea39dbac 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:8db4a95c7926482527132d052a1a8e23fe4c6d91 + pristine_git_object: 293180b9556b5ff00fb457423fa9592b42edc57e 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 @@ -12688,616 +13272,616 @@ trackedFiles: pristine_git_object: 1b3b038fd6abbcbd2fd405aa4ae7a49664841425 docs/models/pipelinefunctiondistinct.md: id: ee40702875ea - last_write_checksum: sha1:ab81fd070baf3e70e0d97ed7c8df10191de3f773 - pristine_git_object: af19d0899e5d9dd274393c902c88eef93fd8b809 + last_write_checksum: sha1:c584c9f75562f27668a5db447ff3bd716876033c + pristine_git_object: dbd07a45838d24e9ad15799953a63fd67d9e013c 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:dbe33ec1ad2ada4ffcc9b816275ae7fd534dde93 + pristine_git_object: 2b867107a5eed561d816ce36e185d8d4b87fda66 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:e02f5517752c4904a6e2fcb134d6c19c1f41fe72 + pristine_git_object: 354b425640020fe74c56397f890d46bd244112a4 docs/models/pipelinefunctiondropdimensions.md: id: 2121b933a1a1 - last_write_checksum: sha1:652ac124b67baa535fa3435ff50fe8d239c91918 - pristine_git_object: 92db1aed471f4c81432e3810f5ee85f8760082ee + last_write_checksum: sha1:b06fd16242a4a1f065c7a575233b0e84fbe607f7 + pristine_git_object: b7f9eef2554b9bbba21cb3071f990c1568640f45 docs/models/pipelinefunctiondropdimensionsconf.md: id: 15451dc0166c - last_write_checksum: sha1:3e7aaeda0b2fa4a8298cfb53e959fdc4ea13974b - pristine_git_object: 55e90c339b42654f6ad3715ef88e15c428228b9d + last_write_checksum: sha1:bbcb60c6e44192219b6c7c437990c89a55754e4e + pristine_git_object: c96fb74bd0a95ca55df2dd5278a9dcc466fbae1b 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:93ee3906f3cd42b28a989bdf1664a4b4379e815a + pristine_git_object: af6899eab9a9d7658103764dafc3b1db8171e30d docs/models/pipelinefunctiondynamicsamplingconf.md: id: 7f5746143d46 - last_write_checksum: sha1:c34de629bc8a862461aeafa44d9904d48a81ccb0 - pristine_git_object: fd2b930c9d7c7251cd0b07f79e89838057195647 + last_write_checksum: sha1:7fd3997dc5665c6487f319c88bf8448dc82e7ff5 + pristine_git_object: 7b4ecdecfacfb1144837018fc1bc319f51735748 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:4377f8361386bcc8f406e74529d7634f1a130e90 + pristine_git_object: be286b6f1a4bc21abd00191ad9eae6e4d7bf4a45 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:e6c8627e0b9958da07d1085f864de34961d0d09d + pristine_git_object: 5281cb8c23816de4e6803a6f536357d04d3b4ba6 docs/models/pipelinefunctioneventbreakerconf.md: id: baff6dd99af3 - last_write_checksum: sha1:ed4b7921324a0ba5cb7f077d395b91e0218ca53e - pristine_git_object: 8cc9377b9c407a608aec870b7e84c03dce134ed8 + last_write_checksum: sha1:a8a839a0a03267d4f8d891ff359e796105123c4b + pristine_git_object: 43106077098c65c37fd9670a76d354953bb7c130 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:b3ec772420d30f86cd03356f92ca26f57f572727 + pristine_git_object: f38d3bbed8fc5e01b7d101d423327cb1b5114cb8 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:22e65474edfde775dcc6dccbc5e70035e1e62b56 + pristine_git_object: d63c6a15b7514ecef954ab15c09b26615175b8f8 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:a9b68bf3d63a24ee7815d64b406f5b5ad6737084 + pristine_git_object: 79f1f1f1b98f0fed5d78a039ccc7fb69a6f6cd23 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:e0410e876c816c1f5f0e77627bf2edeb59043913 + pristine_git_object: 2ced575abde207ca45cabd6d38f2216d070e2892 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:47580b11125b19c8c4c35ef33b2983a42ec05d72 + pristine_git_object: aca612f8ad8fd2dd5f6323489b06d40634f8ffa1 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:9d406e4e363664e0941cf83eb3d9888b4b6fb09c + pristine_git_object: d7ebe4cc1f66868cafdf4e660355320b9c15c535 docs/models/pipelinefunctiongeoipconf.md: id: 240dd83b06ad - last_write_checksum: sha1:b028c6fdb79e51e3ab1bc69ce430df60954b2753 - pristine_git_object: 7760084995179466250faf7a4d8a0665bfe83810 + last_write_checksum: sha1:b5c2b9d885ddde7fd0eb907e24e90b64d40687fa + pristine_git_object: 7c190200e730eecd9c05595fefb39b496047cce7 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:d4e7d99fbdc4e8e8c3c18e2ae4b9fb3e12c451ce + pristine_git_object: ecc99645542b29b9e165579204291942a8b893c7 docs/models/pipelinefunctiongrokconf.md: id: c2f672aa5bf2 - last_write_checksum: sha1:36c0a6dfb1948c9bed5fbdcae0e109ba5d17826f - pristine_git_object: 693119508f0d15b5a94e31ce2593a447bc30ad63 + last_write_checksum: sha1:8f4f8f413d0aff4e025815cb5e995c7165066561 + pristine_git_object: f3a89c3e0de13bb9964bc7b8fad97133a5b9f501 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:d81e77f00b604badc31b4320e8ff160a09fa1efc + pristine_git_object: 2a71256fc0dc76c1684731cbeef5d1d289ca8001 docs/models/pipelinefunctionhandlebarsconf.md: id: d415e91c7dd4 - last_write_checksum: sha1:67cd28997c5e63cd656bdf8bff01cc64bc1727f7 - pristine_git_object: 526363d04247993573b5916296085442fafd91b1 + last_write_checksum: sha1:f558f0b5ed0c348a979438a893b1b2f5efb31378 + pristine_git_object: 37fb9cff5d2c6bd8258ff5eb84f127eea83a1a6e 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:a10b7338885392e39b9c4296f077d646035d2845 + pristine_git_object: 3cd844df633d46d481909a452c72890e759c8b8c 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:872fed799d4baabbf872da20065641172c5ffe89 + pristine_git_object: 4600905dd35d6a1b78fa267f3e9644a06c694d18 docs/models/pipelinefunctionjsonunrollconf.md: id: 4903b8cd4ff3 - last_write_checksum: sha1:e41e2191b29354adc21aaa23b9cb618e09bc8fea - pristine_git_object: 469463f0f615287ee82d897c1a624ff09ecfd4fc + last_write_checksum: sha1:d842aa87f16854ffe94e19144a2bda059e2f1d0d + pristine_git_object: 436d0711fdce8f3344ddc9767fb57973fc4c9c69 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:dafe49f7354e1b8b0847c598c468fc1375bc331a + pristine_git_object: 78ec5c8921fb05d516dd4d5a379e11f10607f9f4 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:c29e05897a521b85e087dddce74e1a92eb38782a + pristine_git_object: 02da9bb0f9f82c44b5dc9e95a27d90d4546752f4 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:14bea7f891bef4603283edbad559290801071202 + pristine_git_object: 412260bd31beec369e30c2340991a1ad056f3d96 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:a52ba2199ba33754b3f232eefc14527ee7c9e609 + pristine_git_object: 3e37f066438a54e2afa56cff5198d6d9d9281edf 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:397f47c103c0cc1eea74ec89bb877f83c08fc6a6 + pristine_git_object: ed7ad86eb71004118f9f4565e2cfdef49c07620d 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:ef4a953f8fc014fac9592e04c955e2d99a5c550e + pristine_git_object: 8f2d146b240025cda9b914118592687e63da20ba 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:46d47e3bd6da7bc49d148d1a20052fd8a9ab7743 + pristine_git_object: bf50f92b5742d38ff78588f85df6291ca850cb0b 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:485b6f776d576b21335b021eb86f4af8e95ad70b + pristine_git_object: 329155f9485c17776a50b8301a3dfbc8aa0c2647 docs/models/pipelinefunctionlookupconf.md: id: 615a1bc9e3b4 - last_write_checksum: sha1:8aee695ee6f5a284c40d652709f9400e0101446d - pristine_git_object: 9f311b58eb0a9bbb796bbe30b0f99812522410fa + last_write_checksum: sha1:1d3bd51ad96d0578cddaf0e333ff8e96e6e5cb40 + pristine_git_object: dce4343f7baf975c32e0822dedc4818c42294815 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:0ceeedd57cc0c50ccf521a4bb3a943cccf92040f + pristine_git_object: 32a153aa2593b7f2f2113779d89cd0e0f103d34e docs/models/pipelinefunctionmaskconf.md: id: 849e01505e8c - last_write_checksum: sha1:ef134aec8ddb13db184daa367685714a3d96314e - pristine_git_object: d082fc24a75c11c767f3ad650f228030bd99d06f + last_write_checksum: sha1:6928c545bbf8a68a6a415aa705263e084d2ce98f + pristine_git_object: 04db7e50f5432ab4fcefec2343f78083556b4ee9 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:90f0fd32e5d28da960eee3d63d2dd52492ded8ee + pristine_git_object: 6d56dfca4a5823618c2a0fa9b0ca3ce7bd1b4576 docs/models/pipelinefunctionmvexpandconf.md: id: 7135b6a1c564 - last_write_checksum: sha1:3a567522fcabb0f236a2297068c7a82faf741744 - pristine_git_object: 07854980a6c3a2ba18eb74713d90ec04763b882a + last_write_checksum: sha1:1d3dc4fadb5fe3b4ded8ecc53a3d8cc4c51d64c6 + pristine_git_object: 013ebcfb2803cdb2a099893f362a06a8e10f4c73 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:7a361590f72d47d13a290dfcd1529ab9961484ca + pristine_git_object: a60f10aaa31a2b255e7df773ab66c757eb82271a docs/models/pipelinefunctionmvpullconf.md: id: af5ea0bc3b17 - last_write_checksum: sha1:610cda57586d526973f9ce36152af2d635a1fbb1 - pristine_git_object: 802a17956031f4979891d2e018a25c273b1de25f + last_write_checksum: sha1:634da7eeb32b6b78019d96c568a699de2f91f4a6 + pristine_git_object: fddb5a263c9cf89d718dd220f7b426619462accb 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:86145ffc44aca7f0f265f245e60b392ef27487df + pristine_git_object: fbe37d0d05176d08b8b8bec1b687163ccbc7b291 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:c07c9ff09c35421eb2fb026013d5b628131b4a5a + pristine_git_object: 1c15f338fd91762ee096ea58fb7d74481481d277 docs/models/pipelinefunctionnotificationsconf.md: id: 4c7727b35723 - last_write_checksum: sha1:e4141a3b69c53b33d79c16b3b6f6df20d4abf20b - pristine_git_object: 7e678678688815f2aeabd81f43486dfa85e370c5 + last_write_checksum: sha1:40b87f58311d1fef61a476715ee8e2fa3f08703a + pristine_git_object: d9e9b09ee0e3c67fba2169cbdd38755db7639e48 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:e8a7a534f9beb13e5f1f30cf331104daab064351 + pristine_git_object: a1ad3aef6e6ed59845fc9e40972d03ae7af0a624 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:bc33f558152a9cb2be5595032f460e99ce0a81c4 + pristine_git_object: d52cab570b9069d3fcfa13d9b7ec4ba27f33a520 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:f9e0ebf2bf6890d8a51e98e4f4207fdf837eb550 + pristine_git_object: 5a1df30b02ff158eefc5fc50ee999f31e9bf614f 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:ea08369d0b7bef7919155334d6be769211108c8c + pristine_git_object: 3bc49bc0f623d607a9fe82ca48d25624fd7bf98d 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:c1810be861aa8eb360e5328bed0af12be9ee441f + pristine_git_object: e8b2100837471483769761c2b3a81e444e7454d6 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:935430331baed84a455eef3b26fdfcc89a72018f + pristine_git_object: 91eab8f078947118ebaa3c69a65e647f303d3eaf docs/models/pipelinefunctionpackconf.md: id: 98b7c0451320 - last_write_checksum: sha1:25db36387d91032672b61db21f92ecc7ef05af80 - pristine_git_object: 96947063dfb50f5a0d90066e4ca1aec1c1f2d4bf + last_write_checksum: sha1:c1f9ff529f00261e3bff0ca5498d70b9a6750bcc + pristine_git_object: 9870ab7c3c705450dbc9a4b900446a2732b70993 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:a39e59bad32a26dcca0aba0847a5d101afc5f49e + pristine_git_object: 8407f53bd706c0e71e71ecdb0311d0538f18d42a 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:626006a051d00f20e6430e08516ce34984d14c29 + pristine_git_object: 69b9a26a585a1735d29a789c6909fa7afb81191d 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:9f8586f8ef213ce8bcfdcbb522d0b2d731f88b36 + pristine_git_object: 91deb728fb9622a6dadae3ca01e342b9153c37fe docs/models/pipelinefunctionredisconf.md: id: fae860c5725b - last_write_checksum: sha1:abab39e3c317333761d4dd905cc56a50efe7ea05 - pristine_git_object: bac12224bd41ce2fd65bbd4d95f0cd636c32d29a + last_write_checksum: sha1:99b5feaf65820aa01323cf1564154c1bf7d3104c + pristine_git_object: 19bb023dfc9d215a4b2c573d2ce0f7f357cb2e54 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:27153fd9abbaeded3c22b6fd7c4745c653a15f06 + pristine_git_object: fa0084c617ddab52bf46f09d4042e9c451f146c7 docs/models/pipelinefunctionregexextractconf.md: id: 7da847c446dc - last_write_checksum: sha1:554ab1235f14047ab2a859e0b218f0fae80639ee - pristine_git_object: eb7e3d1d14f05d44ced0d83e86497b74099f19e9 + last_write_checksum: sha1:5e9fe3cf3607467ef5532703759d6881905fa582 + pristine_git_object: 82d112a6d0c33d8e7c6075487e4b81b13cce21bb 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:aa4992256ef796e11dcbbc6399b180153b8b60c7 + pristine_git_object: 8eb4557b3abf58e6949e196d07b8de181a338962 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:bea40829365233d3221146333e946171ec2ae27b + pristine_git_object: 297a0087b2bb00fc21c41df143a49fb83700c64e 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:e7a5ff2a9e2ce2b11123097f92136cbf0e448cb1 + pristine_git_object: 3901f9b9961ec9ec5181ca47aee2f95af3b1602d 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:07a094e919a138fe59c9774c4f16dd89491f7926 + pristine_git_object: 6207eaff9807172802c7c4bd68300779aa28186e 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:ea7a12e7e4a986d06db10ca9a1254ea06e90b7c5 + pristine_git_object: eacd4f3314f4c85718e69c1087efa4c7221310ac 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:ee6cc3c98ff32d395d6a4ca0f978f9deb79a5aca + pristine_git_object: 69297697fc448b4c219a97e9aff9a613fc58efba 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:4f6c33cfe9ad2a05622d1eb99612e9b2533afb78 + pristine_git_object: 60b67348a5e2babfada35c0067e415dcfb1ca426 docs/models/pipelinefunctionsensitivedatascannerconf.md: id: d853a8ca53ec - last_write_checksum: sha1:fb8f7ecbf5248ca40073a060384fe7fd15c484b4 - pristine_git_object: 86af73cf1a1093d6e71513be8631b4b19535d9dc + last_write_checksum: sha1:729853143acd0cb5bc647dac4b6fcbf7d08d49d1 + pristine_git_object: d8d7f597aad605040df132693f1d248ddd9dfc73 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:87b78e81c3e3ee50432b73e243d94810f03d5bad + pristine_git_object: 02cf5dd7770a4e245ccba31cd1acbda7427fcb2e docs/models/pipelinefunctionserdeconf.md: id: 8d31b4d8950b - last_write_checksum: sha1:ebc2b444d06db2772b90bc6d7ec270b0c428f72d - pristine_git_object: b29cea1e7687e16c2a9a2f879c8ea2455933f204 + last_write_checksum: sha1:48867c52d7fd1b5b5fe82a91cf1cde34fa0224ad + pristine_git_object: 3b3691428f50a8bc3495898d3b358956b5f57d5a 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:a11fa4ed8a602d16757141b77fc02a479058450c + pristine_git_object: 41dbfc99a557d4a1de1ad914e6e226ccf567d796 docs/models/pipelinefunctionserializeconf.md: id: 79b161102ac1 - last_write_checksum: sha1:756c061402e763b6bb0a80dc82063f3d5ace3487 - pristine_git_object: b6f5703f308384219048bc2b628c719a5da5d56c + last_write_checksum: sha1:1f6cc59a241b8ca18555a6ad0c64c5e64e818ecc + pristine_git_object: 72adb398a8b359d20c646f639967c547d6675ede 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:29b70ca8601b25858a19df361c59e01c55297366 + pristine_git_object: 4c763effd8f2aa242e8eac7e05a9567e9880a8a9 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:c4da50227fa22ed929e54a50b7a81d259ff337d6 + pristine_git_object: 51aa5ef52c2bc566942a067642d687a98702da52 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:ddbf79f54480ae393e82baf460770a0398bc7393 + pristine_git_object: 9bba6720df03c8e6fe8c310cf7d9268e6f98e797 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:6d99764f1196c1b433422a1fe2844fa681c8b071 + pristine_git_object: 737fda3648697d1c31490070b63307785246687a 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:20627593ac6773a1ca8673cf1c91b99aec2d690d + pristine_git_object: 3f5f5f93c63e7832c55781b2b64ef4f1354c3b2f 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:72b515133a929a5a69075186b7b681e4ecbb3dd3 + pristine_git_object: 74d92ef7e1fb8d5e172221f5e4929803fb2c24a1 docs/models/pipelinefunctionsuppressconf.md: id: 06855ff9064e - last_write_checksum: sha1:e9041ae2ddb4b7f03c50ebadc586cf89c772a8d7 - pristine_git_object: 7fdd75fb282773c3f4a66348cdfe254c9b97f089 + last_write_checksum: sha1:ae37146118aaaf436a48bc63f7959f6431aa3e3a + pristine_git_object: fbbb8cc3aaaafc27a5bca237f8602b4c84575e98 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:a194e206399ad231149e2f000864392536fc58a9 + pristine_git_object: fff717bd7962df5ff8b95cfec205ae1122fb2f76 docs/models/pipelinefunctionteeconf.md: id: 20fcbe8db5c3 - last_write_checksum: sha1:e53887dc78ec7bb101382ed3ad6ad90865316b94 - pristine_git_object: 80c3cd273e58e7385e4e13676ec4773ce1339506 + last_write_checksum: sha1:379f74dc59b4389df944c06dd6c700e68c32c2dd + pristine_git_object: cd20fcfcc3068fa3c183275046d36bec497b6aaf 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:d23aab43308c77fb262365a9be35a3b0de506c7c + pristine_git_object: a7c061f58a678bd4e4568875a95b3f3f4626a470 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:54e76c77cfc559db4f45a13177981d2fde952609 + pristine_git_object: 2bdd73673ecf2b709653037e6f412f3a73f6a51d 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:398185b8229c48ddc2df2a2218ef245b5b7e73f9 + pristine_git_object: 0521fa93348985fff97d8538b6657f2e0bacbf07 docs/models/pipelinefunctionunrollconf.md: id: 9dc088be6626 - last_write_checksum: sha1:b41a1c88b4cc4bf5667967362d130a66396c8c9e - pristine_git_object: 21a41277041ec14c26343a21400c48e9a5be35b6 + last_write_checksum: sha1:85609d731c6d57b17335dbf903481366b6813a4b + pristine_git_object: 09142f36fa0657d2cb0e0e80bef868bf50afc2cf 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:2744078dedced0f0531d438f4a25410781e57605 + pristine_git_object: c994ef602eadb1601fbd9cb66d94032bc80d3f6e docs/models/pipelinefunctionwindowconf.md: id: 8d5edf69d862 - last_write_checksum: sha1:399632be753421797dfd28f295d84947e1faaa4f - pristine_git_object: 46c777823665eb080ed52020edef18572d1aea80 + last_write_checksum: sha1:6d9c6de9a06b8580c0b1ed3bb7c9732f4ca22088 + pristine_git_object: 0bb07923dc8477a11c68c3bdc3f4e5baa7c21d81 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:1e12cc9fe54513b112f9f49a66810b4a1f50d29d + pristine_git_object: f6ad066996cc1d33b60330901456b37a56832337 docs/models/pipelinefunctionxmlunrollconf.md: id: 1404e410f51e - last_write_checksum: sha1:3ab91caf45493dca22d8295019fb22e0020f3eaf - pristine_git_object: 8b8ac7fe4e62663b93baded2db74a7549b831c55 + last_write_checksum: sha1:72fe3758b9406c233724b370ff8ff6b1461c46a6 + pristine_git_object: 85f65bc69bf34943b895ab138bbc985db20ae8d6 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 - pristine_git_object: b425e424da711cec6a3d3785386f698655403015 + last_write_checksum: sha1:cdfdf948737a47bb45edac829bea64d81afb1583 + pristine_git_object: cfda9e6876099348c7e85dcad4858e734fc8e527 docs/models/pipelineinput.md: id: 53330660965e - last_write_checksum: sha1:e4cecbbaa1f772fe8a30ca5c95e499b55fa3872e - pristine_git_object: 268ac73bb6f0fb9e849f763bcd6f4052d84c7516 + last_write_checksum: sha1:15e11102fe653aa4dbeb710011b26adb354a82c0 + pristine_git_object: 04c1ba0d6c890291e373a3d2c6c0684e00173cd2 docs/models/policy.md: id: c32c4f30cd71 - last_write_checksum: sha1:926e378fd2c258b62e06d57b78b43b5d2edb4ac8 - pristine_git_object: d1f5463027b36f15efb0044a0399c1cc3f4ebd67 + last_write_checksum: sha1:5cec91f3b724e1d7690b87b479477e1c5f9f3b08 + pristine_git_object: 529d2cc00a9618e42a524e61911d8f850de34a23 docs/models/pqtype.md: id: 98c692583770 - last_write_checksum: sha1:9c87e57ba34c6f50e0a3f590921a8298300ebecc - pristine_git_object: 326dc05c2c034acd322603d4b788ff633544349c + 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 @@ -13340,8 +13924,8 @@ trackedFiles: pristine_git_object: 87a8f102e00a1da6bce4b5dd0b70f03e5af67345 docs/models/proxytypesystemsettingsconf.md: id: c014f53bf133 - last_write_checksum: sha1:dce83da13a158b6c31f7106635a93d741a356910 - pristine_git_object: 07423fbf7e90c32eb2b245a185af58f713a37c12 + last_write_checksum: sha1:85c97fc5f6cbb9fa19b0275947c2b2397a693a17 + pristine_git_object: 67e2bd57fea111cfb50a7e8083bd82039449a9a9 docs/models/queuefullbehavioroptions.md: id: 35a3b454c414 last_write_checksum: sha1:50a364c648c08e489f6286daf0bf5ead79e7dec4 @@ -13364,12 +13948,12 @@ trackedFiles: pristine_git_object: 193deb90a5d8867583d562a48d97181fd89d65c8 docs/models/redisauthtypecredentialssecret.md: id: 665660cd0f4f - last_write_checksum: sha1:d6354ccf219973ce2a15ad7bbf72e5cdbf04c032 - pristine_git_object: a8683fbd612a7d4c9105a78c40f43d25bf0b8854 + last_write_checksum: sha1:43e3452979e8cbee4f1f975146951e706423b531 + pristine_git_object: f91c678ec5cf59ff7f33ffd2fcfd2243516f516e docs/models/redisauthtypecredentialssecretauthenticationmethod.md: id: 5122660f0462 - last_write_checksum: sha1:b6d9f9d9e03a3e00b9d8ee710bd8db75cf5d4267 - pristine_git_object: f34f9459b05ddbcfd169c85d313e615d688b94bf + last_write_checksum: sha1:ae322f594b2265ab24d23f9ccf896f0f74517cc2 + pristine_git_object: f1c108936776f852bbcf568e82113f164f4ef673 docs/models/redisauthtypecredentialssecretcommand.md: id: 0059746919dc last_write_checksum: sha1:3e87dcb8076dc653730ae65213caf11f1790de97 @@ -13380,12 +13964,12 @@ trackedFiles: pristine_git_object: 48e35e82ef7a1f51aeb64adaa76992e04e96f269 docs/models/redisauthtypemanual.md: id: 0ff4094565c9 - last_write_checksum: sha1:8655e4c645fc4976bd429e7627e6332878d59023 - pristine_git_object: 13df8cf3e5feae2e36c8fa55ef042f9cb8945cf2 + last_write_checksum: sha1:25d89f8ced0c6e94e0bcf6296e2ee91dd0915e87 + pristine_git_object: 73c2d1848c18c7b6f45dd652fce9b38b8ef85b70 docs/models/redisauthtypemanualauthenticationmethod.md: id: a7c42fe1ae11 - last_write_checksum: sha1:ecbb52f1a839364ccb1ea1fdf873777b6fd65a39 - pristine_git_object: af13750db29ce59fed7a99097fcb8726baf435f6 + last_write_checksum: sha1:7c65eab144514ea8a57451c459a2e1c0eb622ad5 + pristine_git_object: 3165798e343eb3f9fe62139455450f83b3f0b509 docs/models/redisauthtypemanualcommand.md: id: 84265900e902 last_write_checksum: sha1:bdce66b9ebc77674563ccacba98a233d25b0627d @@ -13396,12 +13980,12 @@ trackedFiles: pristine_git_object: 0d845693884df976dff1221e46247245000d766c docs/models/redisauthtypenone.md: id: f692ac6fdaf3 - last_write_checksum: sha1:72566bdd017e71b763945791ca212d86b17255c1 - pristine_git_object: 76ff1a9adfa3cfd508d349bb7c7d4f25d80bf73c + last_write_checksum: sha1:c69a0e1dbf3255cb0e7df0ea9637e5c462a62395 + pristine_git_object: 5481b3a1f23c0940c7eeafa6a48e6f8a681085b9 docs/models/redisauthtypenoneauthenticationmethod.md: id: a7f5fc525be1 - last_write_checksum: sha1:8ee9981710d7590baab1131779d48135433d6877 - pristine_git_object: 8bca43d2d4bddd8e25283fa84d06ff8e2c733c60 + last_write_checksum: sha1:43998235db1157132a58fdf5cfb5eb161bc698d9 + pristine_git_object: 533738a705b9107a5e0c54acca7b63b306f90c47 docs/models/redisauthtypenonecommand.md: id: 44530e78d186 last_write_checksum: sha1:f9b44c1750864a79be47168adfb02cf2aa104e56 @@ -13412,12 +13996,12 @@ trackedFiles: pristine_git_object: 7f6a54e6f2a8021e0789a92f19bdf55d43bc8c30 docs/models/redisauthtypetextsecret.md: id: fd95d171a1b4 - last_write_checksum: sha1:627b3ed7dab615b9b984b3d69b6b7d0552dda8c4 - pristine_git_object: d905c3a41bc0c4437cee10ee01d796e37baca7cb + last_write_checksum: sha1:02783d4943e9cb61e8a944ed7b527fa2f96c996e + pristine_git_object: 8a63a284e67191a9ec5d650fbaca93c347412d5c docs/models/redisauthtypetextsecretauthenticationmethod.md: id: 6b49eb5a4416 - last_write_checksum: sha1:41b252de8feb903b4ab1124f680ec8c46c87294e - pristine_git_object: c6c7c9640dfecb2cf73bac16b43714e1d2a61e04 + last_write_checksum: sha1:523ef2ba0b7c6da7fdc4205975143cf6c0e192b7 + pristine_git_object: 77b5a37179604bf3181d993599aa02ddcb5b0f6e docs/models/redisauthtypetextsecretcommand.md: id: 1aa883f6efe4 last_write_checksum: sha1:dfc4a8cb7342dc27e2a101fd81cf43b66780ba5c @@ -13428,12 +14012,12 @@ trackedFiles: pristine_git_object: 16b0de80d7ea5380bdf6608828dc20582d6055ce docs/models/redisdeploymenttypecluster.md: id: b81ba9d461fe - last_write_checksum: sha1:7516a912d824cae41b84c82145ba25a39647da3d - pristine_git_object: 472f52016f568f486d3501e1db2395837cf1261f + last_write_checksum: sha1:544c43f2a19637e024f93ba9706c7d6e74dccebe + pristine_git_object: 2e343be0c17707b09da84f072b2516afbef2907a docs/models/redisdeploymenttypeclusterauthenticationmethod.md: id: 76a09f928b1c - last_write_checksum: sha1:a7275354702dd5046b26b15096d371fc207506c6 - pristine_git_object: eea27703f74b35ee83f08dc4839f29839cb7c560 + last_write_checksum: sha1:dcda6f025154ce29841c092420ba12aae0da15f8 + pristine_git_object: 541f4b7058a037b1f33fa598a49fe02888e78cbd docs/models/redisdeploymenttypeclustercommand.md: id: 142f5bcfb118 last_write_checksum: sha1:e393a1e476e4143f444cecb614240cb276b58de8 @@ -13444,12 +14028,12 @@ trackedFiles: pristine_git_object: 482959d0e6bccf3e80a634cd21683029267871b4 docs/models/redisdeploymenttypesentinel.md: id: ae049d0515b1 - last_write_checksum: sha1:98bbf5d284368453e06d65a8ba9e54b84eefac59 - pristine_git_object: ad2818e7206ddc7b27d3763c8936f6c2da049d8e + last_write_checksum: sha1:a52d959e9925c96589b1a302ca8d92868a0d0c58 + pristine_git_object: e9ee2bf6d511405d717b4d38942eccb33ad5bb61 docs/models/redisdeploymenttypesentinelauthenticationmethod.md: id: 324dd9e68a6f - last_write_checksum: sha1:57c15e597e9b45cdd0cc38a9d94c95dba110953c - pristine_git_object: a330d9007332cd768b442512877cd1025c9ecb64 + last_write_checksum: sha1:f1c3cccaf1dc7687131c55f97c40761f8b36bcb9 + pristine_git_object: bc495e535d69a4bad2ebdbdfa3e293f8396e0f62 docs/models/redisdeploymenttypesentinelcommand.md: id: fd8c47969bcc last_write_checksum: sha1:9068b2029901cca1731ddd0f6b3c546c69970ec8 @@ -13460,12 +14044,12 @@ trackedFiles: pristine_git_object: c92854cfe5ecec60fa51052eb63618d3f3855cff docs/models/redisdeploymenttypestandalone.md: id: b036f5eedf54 - last_write_checksum: sha1:1e0f742cfb14fb8b218d9a70655f1f5c8a874b03 - pristine_git_object: ac3d13b4566efc42200357cde7a0b396f859ac72 + last_write_checksum: sha1:535bb6d66ad0f2547f9fde0d5ecb17aa481847cf + pristine_git_object: d6addab543458057f800596e950c5c7218030c07 docs/models/redisdeploymenttypestandaloneauthenticationmethod.md: id: 207e1ec18d3d - last_write_checksum: sha1:c713a9d0062978ad0bb082ce20605b52f83132e7 - pristine_git_object: 1d8a46d3e44a6c76dc0adb86f84e2d22d0537270 + last_write_checksum: sha1:fabe94216b09d09a87f75be6bcadb7ad2095b374 + pristine_git_object: d5b4579007d72938b3486512db5b0d9f62d52e0f docs/models/redisdeploymenttypestandalonecommand.md: id: d80de8d4b1db last_write_checksum: sha1:8d869a563af501d9b84c8b86d62c6a13c20d9ebc @@ -13474,6 +14058,14 @@ trackedFiles: id: f4524096534a last_write_checksum: sha1:de3c938df0a6a7e26da06fc07ae3d5948e2caa17 pristine_git_object: 1d0da9225ac82fc63712ed878b4bb9ba5171c9cb + docs/models/refreshrequestparamconfhealthcheckauthenticationoauth.md: + id: 9be7fb82dc70 + last_write_checksum: sha1:db8e2b90655c8b2470055257c47c5d750b46057a + pristine_git_object: 2b7837a9eebf409fa8dca73c2d8548a3a5f5a99d + docs/models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.md: + id: 1cf800964eac + last_write_checksum: sha1:019f7a46149e1fa1f379faef3f5c53df0e050800 + pristine_git_object: fa8aa5d8fbcdb3e20a6c8d3a4156aba25c074556 docs/models/regexlist.md: id: d81b10ff4469 last_write_checksum: sha1:5e15763692953ac142e0fe9cb8bcd6a7f0e7c3cb @@ -13488,8 +14080,8 @@ trackedFiles: pristine_git_object: 80d6837406089534975117ea480f4bee1ccd7d86 docs/models/remote.md: id: 3e35ba907cd3 - last_write_checksum: sha1:e29a50bd462b1d349fb6e6c5d30f662db6da9f0e - pristine_git_object: 3f157ca9ae7225c64bd5c238b1c295ac7b94e174 + last_write_checksum: sha1:3f4035fc54777d7647450d91eb1cb8b79fea6902 + pristine_git_object: 5e03bf3c798ba84872afe3fef04c5c0b2299ea46 docs/models/remoteenum.md: id: d6698d7c496e last_write_checksum: sha1:85f5c8c9c14d575460cb57d1e06e869a4320a3a7 @@ -13500,16 +14092,12 @@ trackedFiles: pristine_git_object: a00733fd10ae0c18aff6033cf23c615498743e47 docs/models/renamed.md: id: df13419aa2ca - last_write_checksum: sha1:da05cc8fcc595c5597aaf819267e80f7b91c25ae - pristine_git_object: 7d3ba3c27e381dd84f8b77cc2f0728dca9c69206 + last_write_checksum: sha1:36d8e0b5e519ee3f048272a3744453dc1b020856 + pristine_git_object: d77cb55730c260d2a658dc94ab1827dea199fa9d docs/models/requestformatoptions.md: id: 08f770d46891 last_write_checksum: sha1:ca1dc3db38471905dca6a17b84ba87c9fe1eae4d pristine_git_object: 410b61427e3abdaa35fe686bf02c69a462f13c3b - docs/models/requestparamconfinputopenai.md: - id: 53e619ab9d40 - last_write_checksum: sha1:d82879dadd71dca32d76bb5651ffc71a1587759a - pristine_git_object: 8ac0da18fec6e7215d1a3f342aaaf9b3b9b322ee docs/models/resourcepolicy.md: id: ef42181f86ba last_write_checksum: sha1:1a2d0526c5fd81e770489156ac7231472b3f84b8 @@ -13536,8 +14124,8 @@ trackedFiles: pristine_git_object: a6e9b0742507c08a5c073217eb58b27b9549cba0 docs/models/restauthenticationbasic.md: id: 690f37760f5b - last_write_checksum: sha1:366c4ef8fc4605324dc487ebfe6ea1ad9b312804 - pristine_git_object: 35c40805779f0047c023eaa33dd9d3c8eb2cd453 + last_write_checksum: sha1:7bce44bc8fdc0d881cc9075c1ca4fbcec541e171 + pristine_git_object: 81c85cd503c485ca50af0788fbaf40d3ee20e5ea docs/models/restauthenticationbasicauthentication.md: id: 326b60565008 last_write_checksum: sha1:874c23e249a0fac20182ff3158a73927f8a6205b @@ -13672,8 +14260,8 @@ trackedFiles: pristine_git_object: bb374af51bc692983f2b59c03ccd2052178091cd docs/models/restauthenticationbasicsecret.md: id: 223b425be412 - last_write_checksum: sha1:04473000a9a0c9b910155ba67cffb8f9dfb994f4 - pristine_git_object: 30feda417f0106e1031dcbef056cf9713a251b12 + last_write_checksum: sha1:a8d4206ddd611d124a4fe4e629b49b415c802886 + pristine_git_object: 408720a3e2723b246c179c66747ae33a7d911787 docs/models/restauthenticationbasicsecretauthentication.md: id: 4211cbf9c9da last_write_checksum: sha1:30a7148e5091c6d427a4e81c8e4bc72f15fa7788 @@ -13816,8 +14404,8 @@ trackedFiles: pristine_git_object: eaeee7092bcd2b49701b4dfd8d3196199a3c5171 docs/models/restauthenticationgoogleoauth.md: id: 7b799abc3e21 - last_write_checksum: sha1:5d28bac5ff9e31c16be50e8ee1d3b6ec9b0a6865 - pristine_git_object: 17f02b7a4e756fe0df69018b90c1e8ebd1658673 + last_write_checksum: sha1:2c6dd4c08b12b5e2e796843155d5f770559a5e15 + pristine_git_object: 1add61eeae79b2980a8a31f7fa8a4a593669c5a5 docs/models/restauthenticationgoogleoauthauthentication.md: id: 947db7cac21c last_write_checksum: sha1:967b1c6f73d6c62089ad9e1b6e4a6e8d55d12216 @@ -13952,8 +14540,8 @@ trackedFiles: pristine_git_object: 5447011b460ae51f5c9ddb22c3cfd7d378b8e925 docs/models/restauthenticationgoogleoauthsecret.md: id: a23fcea7d64f - last_write_checksum: sha1:c27c02abbe1f219d47ee4336d827f70b2fe14326 - pristine_git_object: fb636c06758716b8e0b8dabe7284c06637242d98 + last_write_checksum: sha1:a1bc15c4a5bf9f3ea9658c9f93021df3382a984c + pristine_git_object: 3ff9a58498be3335d76c6d9cde452d1aa9ddec96 docs/models/restauthenticationgoogleoauthsecretauthentication.md: id: 584aad1721ce last_write_checksum: sha1:bfceacd25fdd0868effd4f95d3cadfea80db8a9a @@ -14096,8 +14684,8 @@ trackedFiles: pristine_git_object: 6649fc6a64838d2e05f4825d9a24d751be17af1c docs/models/restauthenticationhmac.md: id: 06d3c5ce283e - last_write_checksum: sha1:e35a8e243b72d1d83778c3017e705be7cfc09aef - pristine_git_object: bff24fe4cc30821ea9e9119d888bf990c989c325 + last_write_checksum: sha1:5d181d679960943ec6ebc11392729a1d1cfe147a + pristine_git_object: aa5cc47a4f82b319515dadaffbf47aeaa889924d docs/models/restauthenticationhmacauthentication.md: id: c6c6ed4ba57f last_write_checksum: sha1:8fec868ef84cd90f34ef93c902c8a2a40d8dc65e @@ -14236,8 +14824,8 @@ trackedFiles: pristine_git_object: 3c3aa0bfffb3194b9744f4d5885d6e659f249273 docs/models/restauthenticationlogin.md: id: b4f80092be2e - last_write_checksum: sha1:0324a85075d5f92e68005d1020b364adcc35a2cb - pristine_git_object: f473c0c0c35bb81a9f2801d946c970ea2d979785 + last_write_checksum: sha1:05f4a1547ce184cfc4968aa18f6b31a9f8ffe783 + pristine_git_object: 6652b71425ca0ae785d2ec2ba34f1d945060779d docs/models/restauthenticationloginauthentication.md: id: 22cff08be6d4 last_write_checksum: sha1:377863d8563cbb1b5c26a247ad805d6c94a6fe71 @@ -14372,8 +14960,8 @@ trackedFiles: pristine_git_object: c6e451857c4cd3c2ef6f04a83703bd8ce7fb057e docs/models/restauthenticationloginsecret.md: id: f5d1eed10ee1 - last_write_checksum: sha1:c62157b6abe88b49711d83f9349ac07fc6180166 - pristine_git_object: 68d2a0438cc00c6b74acebec267458e3106f44e9 + last_write_checksum: sha1:f6593137ca620b2372cf58e7ef7cbbe925b8cab8 + pristine_git_object: 1870cab00b60cf8f750e4bfaf5024cf1a2026b1f docs/models/restauthenticationloginsecretauthentication.md: id: 9afdc4a43e6d last_write_checksum: sha1:e50a65906e662f07dacad44a7f5ea073576bb636 @@ -14516,8 +15104,8 @@ trackedFiles: pristine_git_object: e22c20f6f592f7d489c939b1ded4569acb8d61ba docs/models/restauthenticationnone.md: id: 71410ecf04e2 - last_write_checksum: sha1:ce2746abb35806aacfc8b0a1422b605966b7d210 - pristine_git_object: 3c80d5d1f658c0a6ecb36ee070f9df03181f7572 + last_write_checksum: sha1:4036e2d44eb1325d862c35ff66b4588ce412c95c + pristine_git_object: 07f7b2e7d572f7fcac1b4115413ba7639161cd35 docs/models/restauthenticationnoneauthentication.md: id: 692d888142f1 last_write_checksum: sha1:17d134ccccc93f58ce5425b9e398b995d2d11410 @@ -14656,8 +15244,8 @@ trackedFiles: pristine_git_object: fe9a992a068bc09c64415e734892d3974898afa5 docs/models/restauthenticationoauth.md: id: 24a2e0a8017a - last_write_checksum: sha1:243c6ce5e47a467c5f9868af68f6da7c0f9fbcbd - pristine_git_object: 873c1ef6c233e4cfbbd701350cbfba00be487e50 + last_write_checksum: sha1:ade1b02ce5861045d1d087b62a5e6e9149172b55 + pristine_git_object: eb7ea853d4c560756c393e02113f983148b28844 docs/models/restauthenticationoauthauthentication.md: id: 5ed7407cb5d7 last_write_checksum: sha1:33022ada0b83b6404220fe1bb012ead32419118e @@ -14792,8 +15380,8 @@ trackedFiles: pristine_git_object: 98c690dcd902c7aa4ff392dca6c57f3045fbc143 docs/models/restauthenticationoauthsecret.md: id: 893ef9048c9c - last_write_checksum: sha1:51729d28eaa8cca4986474bb11491c6fe1c946a6 - pristine_git_object: d5dc2f9922c9f0884a5e5e3a1c23cd71ecc69c51 + last_write_checksum: sha1:7b038365749ec9c4c1b9f57e3ff12b6186367b96 + pristine_git_object: 2a34f5c5d3822c16f1c206c73ae7fa61698b5a07 docs/models/restauthenticationoauthsecretauthentication.md: id: 41309e495b6a last_write_checksum: sha1:bac5baaa2ffab0e6473f897c46bc947ab64dac75 @@ -14936,8 +15524,8 @@ trackedFiles: pristine_git_object: 51f7d5c3f9c7742b64c91498ed8dcf32afb04723 docs/models/restcollectmethodget.md: id: a10998d19652 - last_write_checksum: sha1:f35b60a0c5eab17f78d4d1137df607aeeed3e9be - pristine_git_object: e463193c51619ccd1ee20a0477ff123284cecee9 + last_write_checksum: sha1:eea8e946b15a51dc14ef01ece9317fd54863d1cf + pristine_git_object: 5232e44caaa82ab820e1e6abc4310f11573b3753 docs/models/restcollectmethodgetauthentication.md: id: 0d620b7488b0 last_write_checksum: sha1:d40aa84183fdbf397b88915b34bfb42655522715 @@ -15076,8 +15664,8 @@ trackedFiles: pristine_git_object: c734ded3939a861d46b95a9181c2870b60969c0a docs/models/restcollectmethodother.md: id: e1e3c93eee30 - last_write_checksum: sha1:ad062b8dd8d9e076c0cec8f2d02c4f4bebc3136b - pristine_git_object: aae06df033a0217fd02246a00bacd99b91af0645 + last_write_checksum: sha1:84fab817ba81ec3377661b3759cf0472dd440753 + pristine_git_object: 49184e3d6f25aaa6df1b10a142800d58d41c05ac docs/models/restcollectmethodotherauthentication.md: id: ac2fa5288640 last_write_checksum: sha1:6a220c3f2c24aa601df183e48e7a427084b02542 @@ -15216,8 +15804,8 @@ trackedFiles: pristine_git_object: cbb20b8c18ed40f4bea741488578ea85c015848c docs/models/restcollectmethodpost.md: id: d2a506070dd4 - last_write_checksum: sha1:c635707a031e5de39d64029e9dc4e51d69f315ef - pristine_git_object: bec34adc694f5bd174a07222891449dd082455cc + last_write_checksum: sha1:58fefff7a24b9004331a6dbc48afe6b61ac9792a + pristine_git_object: ecf05971802e6d98806ac250593682a7987fdb09 docs/models/restcollectmethodpostauthentication.md: id: 2e142548e0cd last_write_checksum: sha1:7403bc750f086492d4052e671785edf12f975346 @@ -15356,8 +15944,8 @@ trackedFiles: pristine_git_object: e7255becbde61516dfe4f90229a2debc45f4b377 docs/models/restcollectmethodpostwithbody.md: id: 84c5f274af90 - last_write_checksum: sha1:764f8bf397da0f9b139561625ba6cc73d87d0ff5 - pristine_git_object: ca005b0165320ad0fd0612bc3a656d64396d7e70 + last_write_checksum: sha1:9bdd2313c656385d4633d65fe741ee0c71602815 + pristine_git_object: c69abeee327907249131a3fcf2c3a30647c8c916 docs/models/restcollectmethodpostwithbodyauthentication.md: id: 0bbd6bea6cd3 last_write_checksum: sha1:d6c2ad5566592b9aa6706baef7b5eb1d82c5c656 @@ -15556,8 +16144,8 @@ trackedFiles: pristine_git_object: c8cd911c4389d6b4e3de7558401d2987476fd205 docs/models/rollbacksettings.md: id: e8b7137c0853 - last_write_checksum: sha1:771a6fa14780eadbdf29a74838eabcd701d4c22b - pristine_git_object: e097781d155cf5b767b3531f40a64bf1e26dfeb0 + last_write_checksum: sha1:9173f786c84698dfd6f6d1f2840fd937ae6c731a + pristine_git_object: 35add93421b906d1256d1deccdc9b0310975b63e docs/models/rollbacksettingsunion.md: id: c96fb7913756 last_write_checksum: sha1:a5488dcbc21873b29f22f5b0d7a90cd5f7198902 @@ -15592,16 +16180,16 @@ trackedFiles: pristine_git_object: 89aeb40a550a95426e43337928323b2a58a9e820 docs/models/rulesettype.md: id: da9997acb07e - last_write_checksum: sha1:eaad7b2559211580b4140d31fa8f1057512878fc - pristine_git_object: 05a3f5b5e5fc49da28b7ef1bbd6038f752002d0e + last_write_checksum: sha1:53afdd5f7c99caf1cae189241681de023d88247c + pristine_git_object: 8c1f62d9490b352fa22b76d4140988fb50babac2 docs/models/runnablejob.md: id: 52940bee4108 last_write_checksum: sha1:06f96613a9c8bbda79f42edac4232185975b541a pristine_git_object: 0e710f0067a16f19b5b562943e2707d7bd8a7eef docs/models/runnablejobcollection.md: id: 439fead8f8e5 - last_write_checksum: sha1:255197100aedb7a6bf173ce6dfdc4c54ba3708a8 - pristine_git_object: 8b9e7ca4823c0c82f90f890a117f6d2b491db6c8 + last_write_checksum: sha1:85dd7d0f695e415b1fd7553661d9028809e965d5 + pristine_git_object: 97bc50be61574577a2dfca006ff49e50c3d2e7c3 docs/models/runnablejobcollectionearliest.md: id: e7788aac5a0b last_write_checksum: sha1:a36c5dd9946db2a70ebad442a1e8859203a8bae7 @@ -15628,16 +16216,16 @@ trackedFiles: pristine_git_object: 3ea753853f11ae8b520240dab9d2cb214418d419 docs/models/runnablejobexecutor.md: id: a7dcc5bf5989 - last_write_checksum: sha1:d4ec519a00deb05eea6275a3cdd1c5f1c26c8dd7 - pristine_git_object: e12134549c8ca05d271f85920f67dbdf6e1625ee + last_write_checksum: sha1:9046dc54c68864ff844980c54a973975f75eb48a + pristine_git_object: 96eaa776eacef96d7e176416f0b74e44da7b5b5f docs/models/runnablejobexecutorrun.md: id: a3e22306ae02 last_write_checksum: sha1:9ff8e40536d2f03dccf52631d8f746603faf66b8 pristine_git_object: 916db1788f453a1e425a2e0a5fbdbb3fb7365d52 docs/models/runnablejobscheduledsearch.md: id: d56c635c9511 - last_write_checksum: sha1:04c6c7ae2f8661f224b3cd41d67f818eeb792c72 - pristine_git_object: 296640c30c9612f0289b827b71a9d70d5f9579cf + last_write_checksum: sha1:57103c0941c0ca1f514621c2e6f89dcbbc17740a + pristine_git_object: e7ba9f671c5b305ad0d957749c422b5abbb414cd docs/models/runsettingstyperunnablejobcollectionschedule.md: id: 7dc261db0928 last_write_checksum: sha1:8134c7bd882ba1e52cf895aea83c959532836023 @@ -15756,36 +16344,32 @@ trackedFiles: pristine_git_object: 24db0b79d925cc49edd8341601efc4394d9baf88 docs/models/savedjobcollection.md: id: 83f6452c4c07 - last_write_checksum: sha1:133bd7dfaa73fe09ee3dc8b962b1c1550454d366 - pristine_git_object: cb704472392ea58457117cd10f5c4942bba84750 + last_write_checksum: sha1:67da6ef2b90f01bcf2023aa942a7fdb5a42bd5a5 + pristine_git_object: 583e90ace11efc4b1b0ada932bac26bc236cd123 docs/models/savedjobexecutor.md: id: 05f484fbe4b8 - last_write_checksum: sha1:eac8b6b28797c924d360cb749f1840c909c06896 - pristine_git_object: 747b6d7d5853dc4ce0f2eb059806889fdd88c40e + last_write_checksum: sha1:d778c2bd783260dc3af81c855d84c21a79b05e82 + pristine_git_object: 047b8d6ab49e958a8167aeceb6a124bfc788b08a docs/models/savedjobresponse.md: id: d578d0c53c19 last_write_checksum: sha1:257645a372c10606ea530721a700b3dd2ed651a3 pristine_git_object: d992e4b6e34302a2c3083aeb0f910e85bbbcdc40 docs/models/savedjobresponsecollection.md: id: e5b8680009d0 - last_write_checksum: sha1:ced810a538daa579c2b55e86df12ffaf34ad26a5 - pristine_git_object: 8b7f3dc40a07af99e154649d5297416908664162 + last_write_checksum: sha1:e0fee44efcfda1c19755d7433d2d5977f52a2ce4 + pristine_git_object: 223941bc8bae91197d4761c6fe9aa51eae43e0ed docs/models/savedjobresponseexecutor.md: id: e9e56e334b36 - last_write_checksum: sha1:9d1b6a9656f8cc98b043c4c8c430a34fff52fba0 - pristine_git_object: 57588f88292bd2494a2bb04a1bdc61a164f8d513 + last_write_checksum: sha1:8f7dfdf9abda8b3d04d001d3666f78b4ff1f98ec + pristine_git_object: a4c0d6540fb1a53cc36d09ae64f0a914887dcd6e docs/models/savedjobresponsescheduledsearch.md: id: 4cc4075b3a12 - last_write_checksum: sha1:b54b88f753ba67355596b8d744db67aa56f1336d - pristine_git_object: ff1142ef8aadfec33ed3e403ec98295ccd39498f + last_write_checksum: sha1:87e09a53073585f1e0df1b9d6096908f91f8c7c2 + pristine_git_object: af541f6d0dcf53cc31cdf67350840d63c5a5d9ec docs/models/savedjobscheduledsearch.md: id: 8bc3062ea3db - last_write_checksum: sha1:b5193a16f1bf9b4d7279237f4c74aae6be466e58 - pristine_git_object: de25acdb0fb90588cab6fc06f19ffd26468e93bf - docs/models/scalarorarray.md: - id: 0788b265136a - last_write_checksum: sha1:15400c81d7994e0c4f516be5558c9851f2589513 - pristine_git_object: 0b269f9cc66c3dcfdc7b58d6f929a85d3a9e0585 + last_write_checksum: sha1:cf2ac8f53dd44927b1ffe74c44a079194cf64f7c + pristine_git_object: 429181e935927a8831c3d89ec1737a8582e9da0c docs/models/scalereadsoptionsredisdeploymenttypecluster.md: id: 1c241597c6df last_write_checksum: sha1:e1d6144eb09be5486b49c05430b995ba49946989 @@ -15816,8 +16400,8 @@ trackedFiles: pristine_git_object: 4a94b09a228b9d3a1d29d08a811bf8aefe296c94 docs/models/searchengineexportconfiguration.md: id: dff807bb4c0e - last_write_checksum: sha1:4bc68cd0600063a160fb408a84da09194a01b780 - pristine_git_object: 406c6f443d6f057f6511e2bf04af2355aedf653d + last_write_checksum: sha1:96906867e3e9b267554a7277bbe60636823bc109 + pristine_git_object: dea75eb79a0cb1bd4b7bf100e23e794bc6ff72a3 docs/models/searchfilterconfinputprometheus.md: id: dfd44abd55c4 last_write_checksum: sha1:366b69e914bd242dd70d821bc73bdff459294481 @@ -15826,62 +16410,102 @@ trackedFiles: id: 8c07b9f35c77 last_write_checksum: sha1:40b895beaca44b0289bf6f3056eed7a9b189aaca pristine_git_object: 8da0a3649137ad70a735b534b3f147c55a769065 + docs/models/secureversion.md: + id: 84196855627c + last_write_checksum: sha1:98f3a15af67bda76342665b71ade81ab4e51d5d9 + pristine_git_object: 26af14c9085a0dbeb2110f8be375c0acc5ac81de docs/models/security.md: id: 452e4d4eb67a last_write_checksum: sha1:c2fcee32c5728f39bc337d990b149dfe19ddb580 pristine_git_object: 2e6fece9268a797703c69f09c33365fd756108b7 docs/models/sendconfiguration.md: id: 7264c5ca693b - last_write_checksum: sha1:db132ce187ab48daf18a779f264df538e62e0c66 - pristine_git_object: 9ef258890bb356a27348e0d5bcca682736dfe879 + last_write_checksum: sha1:020770bffa8870e2360ebc9c2a54e461f8fdeaca + pristine_git_object: ff0d8675a1894e54ec5acfeb6cf9b78cb2cecd6f + docs/models/serdetypeauto.md: + id: e6f649d6de6f + last_write_checksum: sha1:8c67bfb7aa0ba8058070b3b00e14531a9bc79ae6 + pristine_git_object: 5c01918e6c8ba0956495a15ddda4a9ddf66d484e + docs/models/serdetypeautooperationmode.md: + id: 8ea4762ebdbe + last_write_checksum: sha1:41fea68fb3377ea040580d0273e814116231a620 + pristine_git_object: fff4d0cc76e94d838209bf2a0eb855e67c52db2e + docs/models/serdetypeautotype.md: + id: 0c473467df8a + last_write_checksum: sha1:9903ca6182be8a846d53ad688d446836bb3d2dd8 + pristine_git_object: fc8976379f7f5dc50ddd556ff16d93bf1feb4289 docs/models/serdetypecsv.md: id: 9fa26a8df976 - last_write_checksum: sha1:ebb80affa9c4df8ca145a61744c50112f164cc15 - pristine_git_object: 308bcd0b5bd66675c5cadad41c9a93673489ccfb + last_write_checksum: sha1:fba41042f98d43fb2fc644d471947deda3b7c539 + pristine_git_object: 581ec0f3f0563e2e7f42186bf07f8210cc5fce8f docs/models/serdetypecsvoperationmode.md: id: 30f10bf0fe73 last_write_checksum: sha1:d1f6667ef937995b55987133362d601480cd2f79 pristine_git_object: 8bfa459d1954bd94860dc900a75ab00c40a01459 + docs/models/serdetypecsvtype.md: + id: 173511ca3250 + last_write_checksum: sha1:7e58a7a12add434b6cd222ef42ae9aa2f5e84cff + pristine_git_object: 19a9e2cf370deaff0f530c4d8e4485911fcbe792 docs/models/serdetypedelim.md: id: 5632dbe761a0 - last_write_checksum: sha1:4059c70c642fe8c60ebf5b46fd60d772319edc88 - pristine_git_object: 6c5eab0f46b95a8d0fafa5223ba637a58432ad2d + last_write_checksum: sha1:cd61fc92a1a0b431155b7663df8f89a1059c9127 + pristine_git_object: 07ab8a7227f81c2a76f32069c0191d7e40791889 docs/models/serdetypedelimoperationmode.md: id: 4f09f0a7e23b last_write_checksum: sha1:cccf4e6d76d8c63dbd92108b0d87ad56552e25ac pristine_git_object: 4e8eae3756d23221044cc07c92d7aa19adc17c58 + docs/models/serdetypedelimtype.md: + id: 7ff119fdd4df + last_write_checksum: sha1:8e8dbe4c6a022959485ef0a32e2e2ef1f1a5a358 + pristine_git_object: 8985b48475a5ca61978b2fb48b2e85f753c93aa3 docs/models/serdetypegrok.md: id: 4d4c83a54b18 - last_write_checksum: sha1:88705b62926fe405aef02f04c7810e5bf88fffe8 - pristine_git_object: c3e4b5da1b04fb5627bb29af7224a8361998f9d1 + last_write_checksum: sha1:701b8f6617e29ef4e0bbc81123865d487c3dc64b + pristine_git_object: d2a59ce6fcaad020e941ea23201409b16b534db0 docs/models/serdetypegrokoperationmode.md: id: 2dce5ff484a2 last_write_checksum: sha1:2a0c8d4abd89a115d94913b2c0ebc95f6f6e4367 pristine_git_object: 210b93127456ab9f11ea5c858f618168fca0292e + docs/models/serdetypegroktype.md: + id: 085d2b61afc7 + last_write_checksum: sha1:4d3da028a08e09a4d650d3217702f4ba81d91137 + pristine_git_object: f8a6bc68f33bfb4110c70e29b3d30667258a42b0 docs/models/serdetypejson.md: id: 6a1fc7129128 - last_write_checksum: sha1:0b5eecdfed90fdd320e3a87fc5d42a68274850ea - pristine_git_object: faa2b1f6f753eec04cf6dae195b9b475c35c6363 + last_write_checksum: sha1:ca102e258115f68cb4e158ca01c4e6310643bb4e + pristine_git_object: 2249c0ba70784a927713a3b339e84ac2e60b342b docs/models/serdetypejsonoperationmode.md: id: 67ec3a3b2101 last_write_checksum: sha1:094c9e4effb753fea860bc23eb717ea9ca06808a pristine_git_object: 02932470726b5ebc3bbefc665e614d5f16fddcd1 + docs/models/serdetypejsontype.md: + id: 8ac50a7fd67d + last_write_checksum: sha1:256f06fb7bbd894e41222d1fd374792167de530c + pristine_git_object: c1d5f60cfe9b05a904bb8dcd5760d2039730417f docs/models/serdetypekvp.md: id: 6717c6215a93 - last_write_checksum: sha1:959e5c19675fbe9fbb918ff5db990ecc7d7a0f7d - pristine_git_object: 77c1309d97775e8b57b18894b68fb3c92a08b931 + last_write_checksum: sha1:47995618be5914c48f8cf2501530bc6ab5ab1986 + pristine_git_object: f56a80db3cd8d41bf2e7efd3505a1b5d46957832 docs/models/serdetypekvpoperationmode.md: id: 5fc4454b9fb3 last_write_checksum: sha1:0011671fdf932b2605adec4379d6b186990fe9ac pristine_git_object: f0ccfb5a1fa586b8f77aaf141771d6426165d158 + docs/models/serdetypekvptype.md: + id: 087364704ba3 + last_write_checksum: sha1:25a33d622e2d512d169fae1eed0122324ba47161 + pristine_git_object: 98eeffe873b1c987aceb5ef4cb611cce90fa008d docs/models/serdetyperegex.md: id: 73320658cab9 - last_write_checksum: sha1:4856892c394c61233e81e54c76a1997e2835da4a - pristine_git_object: d902250fecbbd7134ae50976daea12b8f7622ecd + last_write_checksum: sha1:3e59a49e0fb55166121491585959ddc577050884 + pristine_git_object: 34509b883acef8b4ddfd964026877d9f83b791e7 docs/models/serdetyperegexoperationmode.md: id: f0e12938138e last_write_checksum: sha1:acf9ec1b697b8dc78b26114afdb9a75eee94777a pristine_git_object: f7ee365294d4d392dcdf9aff184da8a5cb0647bd + docs/models/serdetyperegextype.md: + id: 1c4efdf5680d + last_write_checksum: sha1:97ef4b6ecd2932c3169c8af9393dcf7dd38df1be + pristine_git_object: 64ba21925288a69baa53de41f7e494062959113e docs/models/serializetypecsv.md: id: 2d12b7d8e93c last_write_checksum: sha1:31f3a5bb2a3581e1a8ca961ed644b0135218c901 @@ -15920,16 +16544,16 @@ trackedFiles: pristine_git_object: e1c011913ddb91bccf78506fef8bb46ac7288916 docs/models/shutdowntypesystemsettingsconf.md: id: 0388fc2e8df7 - last_write_checksum: sha1:86b09c7c5f2a07487a4f008c106e1d768fbfb8c8 - pristine_git_object: 0efb209d38f127e890322153be0b9fcda872b8ca + last_write_checksum: sha1:b583073657a80536ff236de8ff27a28127ab4c08 + pristine_git_object: aa6e8d08635439df81bd842d33ad9f8ec8bec60b docs/models/simplepivotconfiguration.md: id: 6e00db45c74a - last_write_checksum: sha1:6c5441f8134e57dd82a45933cae5c1d48cabddd5 - pristine_git_object: 2e4a24ef8a45cdbc1fede86de1d5f10294175a42 + last_write_checksum: sha1:d28f3aa74d7f760484c5dea5b2fb7b6cf4d4d77d + pristine_git_object: d39d9e89583dfb8bd0e69cac40b89341da6e064f docs/models/snisettings.md: id: 439fec517fd1 - last_write_checksum: sha1:6a75cdb82de84d4be468bad8a7e9cbdbc1b361a8 - pristine_git_object: 370277669c2cf02159375f5079bfd94c4c8aec4b + last_write_checksum: sha1:0eefdd9cf9aab0a7ede8fee9208bf24613d47879 + pristine_git_object: be94623e4087890370272e381f2c47a535073199 docs/models/snisettingsunion.md: id: 84a1928bf242 last_write_checksum: sha1:2f69dbad8337827d72b421b41eebbdb37ee43bb9 @@ -15952,12 +16576,12 @@ trackedFiles: pristine_git_object: 6bc3a2990ff02239c0eeb8c580adffe07a0d265a docs/models/socketstypesystemsettingsconf.md: id: 4978256fb68c - last_write_checksum: sha1:867bacba147db52bae19f131b2dc7cfdc81fc65e - pristine_git_object: 3f5f63652245b809bfd7b287b0448b1354e6ef45 + last_write_checksum: sha1:78104db6d689470b934871222764137b02c00992 + pristine_git_object: 5db0a81764ca0ecc9ee90cc390f3be0a72299857 docs/models/sortconfiguration.md: id: 1705a9a1d39d - last_write_checksum: sha1:b16785841f1047946748f36540cea38af4cca454 - pristine_git_object: ec4484e177bba8dd91b2ce446da100f36c605dba + last_write_checksum: sha1:1fe44b0da88732be6b041fcfa7ad70401aab663e + pristine_git_object: ef5ca5630a5130ed8b1d7dce17e78c13cb491438 docs/models/splunkauthenticationbasic.md: id: 1584c208b219 last_write_checksum: sha1:193a738c863e06f8a6e343026be95e03993a5ed1 @@ -16122,10 +16746,14 @@ trackedFiles: id: bdfaf4a65cbc last_write_checksum: sha1:90e25ae9a3aa468126bfc7ffc3030246c01503d6 pristine_git_object: 47058736d1ee77546397a5d7d69a3cedc3b05123 + docs/models/sqsauthenticationmethodoptions.md: + id: 3aa4d56028e0 + last_write_checksum: sha1:5a97a234758192bcd7b1efb5bc7ee07d18792436 + pristine_git_object: 2107976725f946533889c40cdd848df8dca2537c docs/models/ssltypesystemsettingsconfapi.md: id: 8e17f20d2cd5 - last_write_checksum: sha1:2dd6cb7fc08abd1799ffe83d3126b87c6c2a9a68 - pristine_git_object: 51986a3bb3dd8abfbe6e00cddc5cc18adaf61081 + last_write_checksum: sha1:c62d6da91a098815ebba17466e74e993d3092fe7 + pristine_git_object: e8df7e642cbea4dd4b06b780b293ece5774384d6 docs/models/state.md: id: e560b4e72643 last_write_checksum: sha1:36047915fd0b341ff412b9e08bdee5568582f3b7 @@ -16136,8 +16764,8 @@ trackedFiles: pristine_git_object: a0747179b0dd3c99f492ad02dd09b48db2b5add4 docs/models/statustype.md: id: baaec92cd14a - last_write_checksum: sha1:33fa916271ab081bb683d2117e6ef73b9b939856 - pristine_git_object: f0eb8e71c6e3f4f41630678c6e3dc2a02cf2b001 + last_write_checksum: sha1:8e15fb01378eaabef8be40102f9e9be1669f9f1f + pristine_git_object: d011c0c039d896d10d03798fec777c3aa5b2e9df docs/models/storageclassoptions.md: id: 36f0721cdd69 last_write_checksum: sha1:0adbc721065129cde7f5174946e4f4784f8558c0 @@ -16148,60 +16776,68 @@ trackedFiles: pristine_git_object: 5e887088f63880c25864ce166dc4d2d4afe3bd8c docs/models/storageclassoptionscribllakedataset.md: id: a1bcc6e014e0 - last_write_checksum: sha1:77afab90e9d3f8c1378b740e8f523458fb25bedb - pristine_git_object: b832db2b56675156d8fe1637bbca3f8eb53f83f7 + last_write_checksum: sha1:a3be74aa171fcb273f8a58a238e8987e05358097 + pristine_git_object: ee664cb72c97022ed73e12af9e9019cbc5ccaf5b docs/models/storageclassoptionsreducedredundancystandard.md: id: 9f032242c977 last_write_checksum: sha1:15e3677f1850aec3fa3f52c3b08fe3e7a7de11d5 pristine_git_object: fa3f90daa6841834161a3790392b00a7f9ed8e94 docs/models/storefunctionconfiguration.md: id: ed6c0a3fb35b - last_write_checksum: sha1:172ff2b211f52a9456e195adf5d12a03025e8751 - pristine_git_object: d151dbeef762d66e41da6a8256cf978cb231bba0 + last_write_checksum: sha1:5c98392b5a063c7a018989a983634bee12e01cb3 + pristine_git_object: f00bb56bafbe054440c0e851a414aab7c73e5851 docs/models/subscriptionplanoptions.md: id: 89932bfa4383 last_write_checksum: sha1:f3196784e38831165302f2d5bc117d56112b7b76 pristine_git_object: 7274fa37c7e3b1e40d692a4e121ae874c6a4cdb2 docs/models/summary.md: id: 7683f2898f85 - last_write_checksum: sha1:4392cbcd5c53436276f6e5ec6505c610cbfb0791 - pristine_git_object: c27e33abf76c27e7e44da22f8c1065001d4a48ec + last_write_checksum: sha1:0eae6cd99e3df74f17a59f23e1767156771a4206 + pristine_git_object: f84b3cab8ae5e76ebfb477ed079a18227d2394b3 docs/models/supporttypesystemsettingsconf.md: id: b0205cd3b4c5 - last_write_checksum: sha1:824dc44b4525f0b5301ca0926fb7682d26136849 - pristine_git_object: 716158d25a550a75369b8fc479423ad69ab0e77b + last_write_checksum: sha1:b2d42b1060c3b5dd3455e0c1c6616b2f62b6563c + pristine_git_object: 59d399c700ac6b72d10fb36aea35a0805b92b503 docs/models/systemrestartresponse.md: id: 11050162adf9 last_write_checksum: sha1:c90ae7dc8d080cc77ae68bb18e4fbc595f5753a6 pristine_git_object: 27dbd72506781384ec23a921a0cdae38a22d5086 docs/models/systemsettingsconf.md: id: 58b4506ab365 - last_write_checksum: sha1:6eb88602063d660ca0ea3071966a704f6e2eeb64 - pristine_git_object: 77da2a96e82a9a18ac7aecb4ae94823791549cae + last_write_checksum: sha1:3e92a43a971df1b0d427690efbdbde18cf98d4c0 + pristine_git_object: f650276bc3c5c18ae86850d80752350ecf47d738 docs/models/systemtypesystemsettingsconf.md: id: 84d74245ced0 - last_write_checksum: sha1:1b201f14ea1cdd8567e8845c788fafebfb064f1e - pristine_git_object: f7ad8e68647237084954927c475db0613b8177b6 + last_write_checksum: sha1:6f5c822853a6fd1e39a97beae3dda653ba7979a5 + pristine_git_object: dbeba301134ad24733d6e69c650ae29dbc112821 docs/models/tagafterprocessingoptions.md: 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:4de7449ec8d758e8dab1bdae28a29a65e0ea8089 - pristine_git_object: 3b870919277d66451b40f98802d332499196e3de + last_write_checksum: sha1:741421960d01e87d275938cba3e25aae79c31edc + pristine_git_object: a05f1cd418f8625b4aafd34894e919bdf87909a0 docs/models/targetconfig2.md: id: abfb9ba373bb - last_write_checksum: sha1:70edf7c51d4316e4dcf3d8d3bcb3d085b304af3a - pristine_git_object: 23a8e96b03d15174e46d606732447165a5cc3dc4 + last_write_checksum: sha1:ef229702a5df5abab6ea577d3ba47089b6b0bc67 + pristine_git_object: 115b9820251ebc0691dbc6b2a9bd204dad3d461b docs/models/targetconfig3.md: id: fea09c91be86 - last_write_checksum: sha1:42bfd036a4c1d1df780ec00adc52014cfb25c217 - pristine_git_object: d9401e906d0f1d2925675fe6182c74bb65e88203 + last_write_checksum: sha1:765f82a857edc75de202ee7c48c80b7eb8758900 + pristine_git_object: 19cb0597f8880ee28f336be7b118e3fe57453e5e docs/models/targetconfigunion1.md: id: a101a632d08f last_write_checksum: sha1:253e755b5b7fa9416895b817a7a90fc99c28a9ab @@ -16258,6 +16894,10 @@ trackedFiles: id: 60c9fd7a9f6c last_write_checksum: sha1:306afb80b1fc414916e6d97e77a095148683d384 pristine_git_object: d9f3d71ef5b77f58f9a134ac5a7ce0d9f36bdf2a + docs/models/tlsclientparams.md: + id: 8574bc79c3b0 + last_write_checksum: sha1:ec71af3f6e345580dad8f001262e404cc3e302d3 + pristine_git_object: 169aa78a76605eef4386b8b6101736777dc25d7b docs/models/tlsoptionshostsitems.md: id: 5760cdc7759e last_write_checksum: sha1:7edfd267b9f8bd31100a8660ae8be105fbac29c2 @@ -16268,8 +16908,8 @@ trackedFiles: pristine_git_object: 5c8e56cb9b7bf71f1c9b36765c795d5da99b9e09 docs/models/tlssettings.md: id: 6608ef65974e - last_write_checksum: sha1:031d0ac85adeba8e967d89ea8fabf7027fab43e4 - pristine_git_object: 3d1b726fccb2571aeb870d508f6125e13e4aff9c + last_write_checksum: sha1:110d6adf4eb74cac2e924047609a778e4889c485 + pristine_git_object: 130e066e88117183480a2c89a90cf263c8a95aec docs/models/tlssettingsclientsidetype.md: id: 68f91eb4241e last_write_checksum: sha1:fddbada14cafec84ebf91bf3ea5f914d6c7a20b3 @@ -16288,8 +16928,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 @@ -16298,26 +16938,14 @@ trackedFiles: id: faa6f8601e65 last_write_checksum: sha1:1e2a2bdfbff76e933afa97b9af774da183e65344 pristine_git_object: 415254e1879a687590955ac255a0f9c9e018c455 - docs/models/typeoptions.md: - id: d2780e454059 - last_write_checksum: sha1:deb5df77d7e952c058ada07e7b082308d439601c - pristine_git_object: 2662f780eaadb5517cf44fba33bf73a4b4d75bdf docs/models/typeoptionsconfiggroup.md: id: 0f51d1882119 last_write_checksum: sha1:dc67b090141255856efbdfd0ed896d226af8f1ec pristine_git_object: a4b58b470d80091a8e1761f409cf8f5ba02c0a59 docs/models/unionconfiguration.md: id: ec57afb4110d - last_write_checksum: sha1:f21ab56fbecaf09ca834af356f3c3c0104056b9d - pristine_git_object: 1d340b666cbd6df0efb85cd88c75d130bbd62e7e - docs/models/updateconfiggroupbyproductandidrequest.md: - id: 0d9d994aceb3 - last_write_checksum: sha1:26889f95431bc92495986467d321d3540fb88d5d - pristine_git_object: 9601498d2b1ee1375a8841fb04adee17658482bc - docs/models/updateconfiggroupdeploybyproductandidrequest.md: - id: 860d676c4016 - last_write_checksum: sha1:7628e32851d8f5149fd0288b192d1c57aa35c982 - pristine_git_object: 92107dca9fb0bc1f9c9fa87cfd05ca1d08895a6d + last_write_checksum: sha1:b206edbda288a942286fbb0d4b6e3669b0c8f84b + pristine_git_object: f14dccfa902bdab49fe3d19069627ebb980583ea docs/models/updatecribllakedatasetbylakeidandidrequest.md: id: 1913cc55ccf5 last_write_checksum: sha1:ee5e9961af0db11286483490c9edc0c2736dea11 @@ -16328,24 +16956,24 @@ trackedFiles: pristine_git_object: dc1deeb8eb2c974cc29bfd7dafb100da32e33060 docs/models/updatehectokenrequest.md: id: 67e5f25a434a - last_write_checksum: sha1:52e57c6b2fea2b0c0b7a51eb200e3b21789ce7a6 - pristine_git_object: 56f5b0de83ce1cad1cfde3c38934b8c47c75ef5b + last_write_checksum: sha1:e001dfaa62fd957dc730c86d2805e3e2a93eb093 + pristine_git_object: 13324a9638c40419ef9bf1f567235d8668adecdb docs/models/updateinputbyidrequest.md: id: 207cae1a01b1 last_write_checksum: sha1:be27ac2846ec8440bb80ed704c9d0ad360a51c44 pristine_git_object: fc6deadcc0778f15aa45b756e0c78660bf894562 docs/models/updateinputhectokenbyidandtokenrequest.md: id: 50fa9c8506cc - last_write_checksum: sha1:c0ecbc202bc486537d789634325ce311c88efc9b - pristine_git_object: 9ad7ac5e53a3aa2d6bd1e325939d5fd965f2bbf3 + last_write_checksum: sha1:76eceb8a86504816e24f0ebd78d140c36b97e396 + pristine_git_object: 7a367eed98dff640e50c5023e8fdb4a6da8cda34 docs/models/updateinputsystembypackandidrequest.md: id: 84a27bc7706f last_write_checksum: sha1:19253099e7f107119952c1c9ac86229d090504d4 pristine_git_object: ad1cbafd6718313befe350195222e77591f57c43 docs/models/updateinputsystemhectokenbypackandidandtokenrequest.md: id: 69305a7023e2 - last_write_checksum: sha1:3411145e20e3a8064186245dd503ecfb22f13d82 - pristine_git_object: 1afa4ca45b910e647888872a93d1b1da42f6e790 + last_write_checksum: sha1:5578b3970346d7d58c5c2f7045a62159797b0b74 + pristine_git_object: 56af09dbe9f7bb55ee3fa48125f8dea86ec4f449 docs/models/updateoutputbyidrequest.md: id: 56b0c0b89fd3 last_write_checksum: sha1:9587a3bc373341474f07bb52179677e48c601089 @@ -16356,12 +16984,12 @@ 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:aa162eb5d6ccb84ec08b013aa2360cd803d4845e - pristine_git_object: d2fa4ad9e36cca1be99d8b42868f8f59f35a820c + last_write_checksum: sha1:a1a3b00f18171470fd9d423c73d4374e46172e06 + pristine_git_object: 525525cf05ec81010afcc04f5326e9d85dd4df7c docs/models/updatepipelinesbyidrequest.md: id: 397f21319a79 last_write_checksum: sha1:3a17cf87fa71e032be037b849cf30d7ea40f756c @@ -16370,42 +16998,50 @@ trackedFiles: id: 5ba1e9677103 last_write_checksum: sha1:33cf90446a52fa8f321b80b11b217dd4547fc43f pristine_git_object: e9b93b851a10e58411046b76170a352ff26089ef + docs/models/updateproductsgroupsbyproductandidrequest.md: + id: a8bbc81a9df1 + last_write_checksum: sha1:4f7624d48331d3dd532e3a3307b1e5980d8853a0 + pristine_git_object: 8e7983d9df1188b4e90b14d2c1138f534df29e43 + docs/models/updateproductsgroupsdeploybyproductandidrequest.md: + id: ce1ccccd1e91 + last_write_checksum: sha1:7974d8208eff1e1cdb527de937c47ea738ec0f74 + pristine_git_object: bda9c11b01d6abb979d81842c4e8e8e3d4f8e7cc docs/models/updateproductsworkersrestartbyproductrequest.md: id: 7448c8f388e2 last_write_checksum: sha1:c7d4137f18f5ec45791366345c356cc0c998251d 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 pristine_git_object: 9bd8d7dbe110f29cb51926256e9144a8621df827 docs/models/upgradegroupsettings.md: id: cad6e2c32dfb - last_write_checksum: sha1:93210acbb84c8ff2850c244c2e4373756ffb608d - pristine_git_object: 4369c85938614dda17200c6fd321ea27e9dbc4c4 + last_write_checksum: sha1:8d6433ac5749aa27b6fa6da0ad7673da34b1bfa3 + pristine_git_object: 2250209cca73e933ab1eb0a3650899c9e8a26762 docs/models/upgradeoptionssystemsettingsconfsystem.md: id: 92b23203eb6a - last_write_checksum: sha1:633982f082e79898e4024e2e56b80bae6816bc03 - pristine_git_object: 9425e5272b251cf62079b5b9fac27a6d4bc73d6c + last_write_checksum: sha1:b5f9c9689c2834bc20bd8234f2a8632649800a6c + pristine_git_object: efd59669a975e740239b6b36cd355637559cebfd docs/models/upgradepackageurls.md: id: 9e379cff9336 - last_write_checksum: sha1:71d2b93cfd79267b2d81a1a35a68063008349185 - pristine_git_object: 57332c3279b46215faa1954bf4ce4a7fed539d1f + last_write_checksum: sha1:45075791c6efaf56d84a903ed9b3f920c694e498 + pristine_git_object: 3d94f89fe96dc44a8e55e2c80927dcf7b6c844aa docs/models/upgradesettings.md: id: 67c7c7f0fecc - last_write_checksum: sha1:c20435394b727be8ee0d9935fe662c211588c471 - pristine_git_object: 1e54fbd159adfb1de787fc57f4a3b10f336757a9 + last_write_checksum: sha1:f559df51aea8857f9485cf043f37d08528e6b5ce + pristine_git_object: a1a8de4a5b31ae229556ecd0074eb4f143015db3 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 @@ -16420,8 +17056,8 @@ trackedFiles: pristine_git_object: 69dd549ec7f5f885101d08dd502e25748183aebf docs/models/v3user.md: id: 4cdd27be1111 - last_write_checksum: sha1:1ffc47e85d24d166767b5adec0ff2a32f4a4f33f - pristine_git_object: fa751b51519521342dc1c3b94c3788fdfaf2a200 + last_write_checksum: sha1:791545e9921214bdf54e3e7041c4d558960919b5 + pristine_git_object: 4924804676a62b31ecd581e74a0260df8c9ff995 docs/models/value.md: id: 1d69c8103b96 last_write_checksum: sha1:bef880c9273f2aa087e0936f593ab8594010d5b6 @@ -16434,174 +17070,178 @@ trackedFiles: id: 40730322a116 last_write_checksum: sha1:9257086c9a2489a2f93d50def521743adf031788 pristine_git_object: 1aa6bd2cfd45e9bfc9b1d5f2251235eb116edaf3 + docs/models/workers.md: + id: e1c419105efc + last_write_checksum: sha1:61aade78d0a42ec10f8b64cba79c91f3aa5b37cb + pristine_git_object: 7eaedce494787e1801252037b163a87f300a18d1 docs/models/workerstypesystemsettingsconf.md: id: e9937575941f - last_write_checksum: sha1:f8638c0babd9ca078bbc3121a561819064f523ae - pristine_git_object: 2f8e10d1cea53f7bd6ff772afda6821d90909fd7 + last_write_checksum: sha1:cd87268605ca80495a780ab18ea548a9a8d85b06 + pristine_git_object: 09abcfe89c0d8cb76b7d5bd69f4b45129acf5080 docs/sdks/acl/README.md: id: fb7bfe4fa08b - last_write_checksum: sha1:f63d5198debd9606611d90949e96b80505bbdf31 - pristine_git_object: 9bcfffa08e3f52ea06a1652c3461d85fd119ec59 + last_write_checksum: sha1:5a3bfa8197d30b6d7da09f0239adef5b5dcf5ba4 + pristine_git_object: 82c699622cfe745600e00924a29fb32e1ef556df docs/sdks/branches/README.md: id: 26feb5fd088f - last_write_checksum: sha1:ec3b4b5f3e58148c87c774ac9b0f9fb3f3e6538c - pristine_git_object: 847be3b803b5ff4dbfb77520314952da86466177 + last_write_checksum: sha1:6e64726ea365fce33f2deb8679130891ebb36127 + pristine_git_object: 6b82ec5f57ec15b4f7f2b55643a53934cc2f38fa docs/sdks/captures/README.md: id: 7598191d8c6a - last_write_checksum: sha1:4d13b8aac9f8c439aecec9b870eabbb1dde37810 - pristine_git_object: c009dd6d341b4fc2827d8a6786360aa7a925b6fc + last_write_checksum: sha1:c909022d9693279523c6a341c95f65b25b366026 + pristine_git_object: 3705c01434c3563c066893f7c9403116461ed4ff docs/sdks/collectorssdk/README.md: id: fb156921e8e5 - last_write_checksum: sha1:89919c365ca11df971691097496fa0b422f42bba - pristine_git_object: 951a0687c13c806d6dc2c1d5b6ab45875f3bdb8e + last_write_checksum: sha1:8f4148416684c8fdc3354b593dee3b33faf50257 + pristine_git_object: 9fc388b251e569aa29f00f795aae324ad8ffa118 docs/sdks/commits/README.md: id: ae81a8318c17 - last_write_checksum: sha1:383c0b2327083071c0620f9584245a9f4d0c1c80 - pristine_git_object: 2a3f907e9b828810610df0b9606c81c09324b851 + last_write_checksum: sha1:dbb2f6f6320f4961cc7a942076aa8d4cf4f7d6b1 + pristine_git_object: 63f03207d2c4926e37acf179ab4945193a4c91b1 + docs/sdks/commitsfiles/README.md: + id: 8f0e121acdc7 + last_write_checksum: sha1:6d6c23cc5c881d13c6e37584eb99d3186b5784ae + pristine_git_object: 68f96e31354824ac6843d87ea4b4b9fc08e897f3 docs/sdks/configsversions/README.md: id: ac0c3c5ebd05 - last_write_checksum: sha1:5856e3d18f1e0f04357bbbe25ce124b570580fdf - pristine_git_object: 06f1ee80018e0a22940439deed7e779518de15e4 + last_write_checksum: sha1:c81e972fe301c0604775b36c98321dfdcce640c2 + pristine_git_object: 28245d0abeacd91a30f185fc511ee06c5fc85e0e docs/sdks/cribl/README.md: id: 18ac8b824441 - last_write_checksum: sha1:41a67497989bbdf4227cb5ea07d4a93644ed0dbe - pristine_git_object: c3b23522dabfafe04a8e6760580fae139f1afe0b + last_write_checksum: sha1:6af67d0676d35d9c51179afdb049cfdc52a24c3c + pristine_git_object: 2c662f1ee580dc43de6d7f6f79efac07b82e4485 docs/sdks/databaseconnections/README.md: id: ef33daf326f1 - last_write_checksum: sha1:59272e71e60df83e36fdb465b20c5897ec304a4a - pristine_git_object: b8786c04e2728aca09ef316c2927ed1046ab7fbc + last_write_checksum: sha1:09e877e42bd07b69f128d54882e4e40e92c8dc7d + pristine_git_object: 781d2e8361f63690271d83d449ba96c5e5232b9f docs/sdks/datasets/README.md: id: deb5d90f4faf - last_write_checksum: sha1:2f6df553a40d03b590a21c7b1034c2af98e14f48 - pristine_git_object: 47ef73a4b1a5e089fcfd03576326d41e5397013e + last_write_checksum: sha1:adbe052aa71d78a135d3891a7dd562618920542d + pristine_git_object: 9b1dd5f19de852d0f29bd8b1314c6b63a1ca5289 docs/sdks/destinations/README.md: id: e83d288899aa - last_write_checksum: sha1:076e836beea7be5cb2deb321c58bd958a1571187 - pristine_git_object: b2dfeb76d603a89ba29ce75f40d90033b3755964 + last_write_checksum: sha1:232a7b0b65309226cde4d20a3491e50937127d61 + pristine_git_object: 3d6d68c7ed6f43e22bc6962e47e2f436595c3dc6 docs/sdks/destinationspq/README.md: id: 4e89748a1821 - last_write_checksum: sha1:cf9b0caeb13183aa9c37c51af858d7933f63fe07 - pristine_git_object: dc362cd3b8dd1667d88bbc136dd35e2290924728 + last_write_checksum: sha1:a6fe1bedf0718263bfe54ba35a4e136d09fec975 + pristine_git_object: b5198c43ae6bba01b314a387d9b2c4343db9918a docs/sdks/destinationsstatuses/README.md: id: 68cf1a676863 - last_write_checksum: sha1:8738f59ce09e8de8ec3ac4d9fa39e78d1976aec5 - pristine_git_object: 76c5021f6e4385cfd1bd924559b42edd2d258256 - docs/sdks/files/README.md: - id: e576d7a117f0 - last_write_checksum: sha1:3f3260be82b21079710d2df4693cbb7bfb940614 - pristine_git_object: bf67473f87e805c59fcc584661eafe6d4d8c2b3b + last_write_checksum: sha1:91bf66a2e5a1f514a7ef6f98ce0ad087a86fab4b + pristine_git_object: 95211d70cc250e2085f51d37de7bfe903dea7c56 docs/sdks/functions/README.md: id: 5c831af22db5 - last_write_checksum: sha1:56f424e67545b10185909d23e4f555ad2a4be968 - pristine_git_object: 37aa77833b9fff9a330e76d3b0e00239e87cd14b + last_write_checksum: sha1:f5e4ae9351c641d72390805ed5ab95196b1fe6a2 + pristine_git_object: cbfe68c6860db788f4381752cfe0d0c23fe1f258 docs/sdks/groupssdk/README.md: id: e1199079357d - last_write_checksum: sha1:8076a3ff7538bbaba17d9fee68f98de3e5cb2ee2 - pristine_git_object: 6b1f6bec28e5b19e64b2b257f8ff9e149b54b897 - docs/sdks/health/README.md: - id: 5082c50d5e82 + last_write_checksum: sha1:27b6467cb0f1719e7b955c42dd435a35da31835a + pristine_git_object: 7b10beea83b720448e92ae5879cd69c1aa4d2edf + docs/sdks/healthsdk/README.md: + id: 79a4ac3e35ad last_write_checksum: sha1:21f5d400999da1910d0830d5e13c87c65d837bb9 pristine_git_object: c600ef5435b4dd8eb97e3279b0fc43cf55777138 docs/sdks/hectokens/README.md: id: 341daeeec3d1 - last_write_checksum: sha1:b6a06d3f9c4d857c421ac17c8fa21cf6aaf03625 - pristine_git_object: 0284fc471dd3ea9226ba764d3dcfc9c950fe76a2 + last_write_checksum: sha1:0bfb0b8f112b1ff8a228be369424a8f0db8aafe5 + pristine_git_object: 25749dade29735ae99c1b1316fc1ad6801a368d4 docs/sdks/nodes/README.md: id: caae80e86772 - last_write_checksum: sha1:3d6e9f848300c73f87d278961dddea6e9469ec97 - pristine_git_object: a4579d1cc6733f0836d0a3659d81b8d942eac89e + last_write_checksum: sha1:b85c63e8dedf3e61f71d998334827db69d9ddd7d + pristine_git_object: 7c09a082d9b88ec41634fefea6784b37a242580a docs/sdks/packs/README.md: id: aea0b099af37 - last_write_checksum: sha1:a01bd76903e54369edfbcb35f0abca4f8ff5ecb8 - pristine_git_object: e5dd88df06f4ad208284f715c7b05cd767a81232 + last_write_checksum: sha1:272e2391345e5f179ae2181fbf44fb3390a7ce62 + pristine_git_object: 96aad48fba23afa8d7cd0a50c7758f541cf0b492 docs/sdks/packsdestinations/README.md: id: 895ef2236167 - last_write_checksum: sha1:42b3bf94ce3da1cd979d7b5778d13e88653bc90f - pristine_git_object: 8737771a6c7f18394a0c27629a17a844c9651cb9 + last_write_checksum: sha1:bc8021a634a745de95e32196827e140f24d1f293 + pristine_git_object: f75ac911d1d4faf56ebd72524fd16490c7cd4173 docs/sdks/packsdestinationspq/README.md: id: 12a1d2d7f4c4 - last_write_checksum: sha1:59f774129e343c5d5e9ee5de52e29c88586cc6e3 - pristine_git_object: 49ac0c613c4cbd8601f5c0d7a2ffb2edd06104ba + last_write_checksum: sha1:5c190fc3bd392e15e50e7a74992ace1a9690b683 + pristine_git_object: f4060647f7c6ae522b22de2a17d9d468bf4e0413 docs/sdks/packsdestinationsstatuses/README.md: id: b196484951a5 - last_write_checksum: sha1:49ff0b0684cad92e6c3b0fb56f2302e33ff8ddf5 - pristine_git_object: f21a8a222fda5a1d31c7377636450df6e8a0fdc1 + last_write_checksum: sha1:74466212c1ecccacf03d58b3cfe4cbc49d1e530e + pristine_git_object: 6ee945218f282d9f51384446f7333084a1886046 docs/sdks/packshectokens/README.md: id: 7c22dc9d7d8c - last_write_checksum: sha1:60ae8f8d9048f49f7e6a4662b6b32ceec2ea8bb7 - pristine_git_object: e95294c24d3a36379494a29fd0e3b820fb40e363 + last_write_checksum: sha1:cb79c3e57291627a7c312099a2a8479c5487665c + pristine_git_object: 29ad974515d0473044df2fddf12732e479560e3e docs/sdks/packspipelines/README.md: id: b0262a36d64a - last_write_checksum: sha1:571856fbe1ec31573aae6310b56be53b6b610ce1 - pristine_git_object: d7c3ed86bf9a1bf44b24b7d9bc10bdab4edc71c0 + last_write_checksum: sha1:393514944bd93baedc1d3d308dedc1c92f8b84fd + pristine_git_object: 233804318f7efa6058031e88450243084c6b988d docs/sdks/packsroutes/README.md: id: a1fb73e27b09 - last_write_checksum: sha1:915b8b32280584469eca447c0412adfb9112fce3 - pristine_git_object: 15c6c1e70de560b90f42dd13d499ceb904acfa54 + last_write_checksum: sha1:3e8dbd04a6b1eb9d463d7b43705e4797481ac5a9 + pristine_git_object: 55eb17157d3494ff9961ee5155103a8ca249c1da docs/sdks/packssamples/README.md: id: d2c04868bca4 - last_write_checksum: sha1:a20aebfdc2295d75be66fda9645cdb8964a815c2 - pristine_git_object: bd6b29a4254b0bdc7095089ae8e52a3d67ca21cf + last_write_checksum: sha1:89dcf9977bade85e014cc4b41522212b185c8d25 + pristine_git_object: d8189e506c7c7019d47c16555436d6bafb5fbb3a docs/sdks/packssources/README.md: id: 91cf5c639969 - last_write_checksum: sha1:7c3a84ef28796684a30a416083add70e04ab4e13 - pristine_git_object: 4ee7768421badfa96d40d1dbf556836289abebbc + last_write_checksum: sha1:d20cd23f2c347efafd1b3668ef27c50bd878cee0 + pristine_git_object: 406aefadc311b82ceb06416de866b8cbedb290f7 docs/sdks/packssourcespq/README.md: id: cbbc4cefed4b - last_write_checksum: sha1:2b679517ba7ac17426b0aa11fa43a73540672d3b - pristine_git_object: c77d3279db2e31fed14737e8bb53b470ae172f2b + last_write_checksum: sha1:0a44958854c01a3768a3c4e86fccfa8d3c30255b + pristine_git_object: a768f19d3e54e9be1ef02b3c10d37312f5043367 docs/sdks/packssourcesstatuses/README.md: id: 8a23b6878d48 - last_write_checksum: sha1:a017059d2e3cecca08d07256c4302efabfe0ad7c - pristine_git_object: 94ed120c5f7ad4075f5fd547b009c266161e8b9e + last_write_checksum: sha1:05772c7b1a6f8b4f6c77eaa213f68238080ce736 + pristine_git_object: 1a1ea9e86603338f2a12e121204ec13367f9d8a6 docs/sdks/pipelines/README.md: id: 96306a4a5f5a - last_write_checksum: sha1:cffe518b7d9692494265b19242e467c3f988ca15 - pristine_git_object: ada74d7b5c4c7e32bcdd597b4f9c3143f3ae9881 + last_write_checksum: sha1:2b4f64542616164760535f806b1c8b5dfd62f0c6 + pristine_git_object: ed4e500e8d57a45261d814a740dcbfee200e2c54 docs/sdks/routessdk/README.md: id: 7c151891b0a4 - last_write_checksum: sha1:23453ee0fb6407b94fa7b2aed2c92208563ea026 - pristine_git_object: 05bf85eb61e692aaf06fb6ca387c33d6f8986864 + last_write_checksum: sha1:26ef1f9f4a1b47b42e35b119f77a36220330bc51 + pristine_git_object: f40958c235f1b0797019bd392256b8ece0dac316 docs/sdks/samples/README.md: id: 2b3e67e9f9a5 - last_write_checksum: sha1:b49079d6bdd44cbf3dc4eebdc7e2be0fc99f5c3f - pristine_git_object: d38eef3519d38ec36983acf298c3289bd00b0a24 + last_write_checksum: sha1:0ef1c6fb7d18c9502d1521eb4b9cc04775d7b14f + pristine_git_object: ed35d97809aaad387192762a4c1d3ba437936069 docs/sdks/settings/README.md: id: ffd4dbcfc0ce - last_write_checksum: sha1:f30e2178376540d7e51da86dfbb9cf6a38bdbb71 - pristine_git_object: e1c4fdb92fbc75d35d68934e2bff954d45cfdd66 + last_write_checksum: sha1:2182891a1def1145ce3ae518b22a307c24f4511b + pristine_git_object: 9789d0b8414f93b2d7d06b593352880ba2c7ba7a docs/sdks/sources/README.md: id: c1396b2a57d9 - last_write_checksum: sha1:480e3e3a4aaae30b0ca94d5d00642c5bc456cb21 - pristine_git_object: 69c9497bdc675888dc8cc2eec1d61fbf87529ddd + last_write_checksum: sha1:9be0b26155e6266197d3697d8e1ab17766305533 + pristine_git_object: 3052b4c8f5d1cd3162d00747ff7c182b3f86313a docs/sdks/sourcespq/README.md: id: 08e24f4817a2 - last_write_checksum: sha1:377faaa55698bba01bcd187ef7a0eb161fde6795 - pristine_git_object: 587205c0379f7dd6a0b124baeb240270d2411169 + last_write_checksum: sha1:21462691d0e4886606dda730f955b1f44bb8db92 + pristine_git_object: 70db4200cba7143c10bdee94a0accba4a86c8e3f docs/sdks/sourcesstatuses/README.md: id: c9e00b04b7da - last_write_checksum: sha1:258409edc74f36092992a01db491028f3a52beb6 - pristine_git_object: 74feecb738c61f13827e9ea6cb388772d7972764 + last_write_checksum: sha1:72937039660e6e690fb7fc6fc04d654166d8ee30 + pristine_git_object: 5e4700c950594df05a7b617c6d5be664b224bb4d docs/sdks/summaries/README.md: id: 0cdf4b0d3508 - last_write_checksum: sha1:feb5d06f10a860f23a13d89ca826b01fe78808eb - pristine_git_object: 02a1a3cbc6f9f256fab6dc1e9bfd920a3d900720 + last_write_checksum: sha1:47944aa268d86820fa4d0e93881ad459120a269c + pristine_git_object: 5e88e78c6d3202af4851e04d90ee2ef8e7600a9f docs/sdks/teams/README.md: id: aad657749b4d - last_write_checksum: sha1:1227846ec84b2eb7e2916c439a9a2df01efe522f - pristine_git_object: f62f7813f52d3f8cb0ce9578e52a3c0ff7106cf8 + last_write_checksum: sha1:088779e60ec5ce477690daacaa900a7b105de622 + pristine_git_object: bfa2dd7d11c5c1b67ebd2facce6a8e2723b4d1cf docs/sdks/tokens/README.md: id: ca61030eb3e5 - last_write_checksum: sha1:9232c328a1de37328d5fde5eb6d40c9ecdfc50a6 - pristine_git_object: 8d46e0ef3916d22778a6a51d3029e1e055e5dba3 + last_write_checksum: sha1:c4aa4037ae1b91267288ecdf9c6e1560da8d9a16 + pristine_git_object: ed323a472b896c8693cb9e613322d34aa970aa80 docs/sdks/versionsconfigs/README.md: id: 5019616c9cac - last_write_checksum: sha1:d778a1aa3f451a71badd845ac1dacb697e386e02 - pristine_git_object: d2eb9de7d44ef0ca8b8f745ecd1fac41521f8417 + last_write_checksum: sha1:66d96bba7205a1105eae4beeb96cf1f4df6bc340 + pristine_git_object: 4088e9228c83482079b34cb02db602d89fadd7b2 docs/sdks/versionsstatuses/README.md: id: 998ce07cd39b - last_write_checksum: sha1:a43fe50dfca37954b89155be6f33c617b85cdfa3 - pristine_git_object: 166c908273310133a91178d551e2be089caa5828 + last_write_checksum: sha1:5e1fab73ef810928ff42a9bca5ec986c206fe91e + pristine_git_object: 1d18515e5dc3da3d42054984f7b3e6f64a075833 poetry.toml: id: a81ade82122a last_write_checksum: sha1:2242305e29dc6921bdf5b200aea5d4bf67830230 @@ -16616,8 +17256,8 @@ trackedFiles: pristine_git_object: 1b74b5fc91dcf2b9df16949b77bcec9b03c49e2b pyproject.toml: id: 5d07e7d72637 - last_write_checksum: sha1:cb23087d247846c2770a6095d94753888f34dbc3 - pristine_git_object: 530c3853a89d72c219e51778c2db9c5bfe84ff30 + last_write_checksum: sha1:762cae5cb267a97cfb6c3711a5a29e66ab2173f0 + pristine_git_object: ea39201b47cb6c63da9c8ae52d8ac9e2192900dd scripts/prepare_readme.py: id: e0c5957a6035 last_write_checksum: sha1:a2e0d08bb2b147a5bab939d676620d1686f3b024 @@ -16644,16 +17284,16 @@ trackedFiles: pristine_git_object: 64ba5cba37a4ba178c9f856deffc18c5e2e17b90 src/cribl_control_plane/_hooks/types.py: id: ad01742fd0ea - last_write_checksum: sha1:891fb4052a8f9352f20f59f3fad941d5e0245156 - pristine_git_object: b4fad0525f29a586b91348c6d7c51c642d1e9790 + last_write_checksum: sha1:7ddb5ff015046483a83e82b470ecccca7fda6fc3 + pristine_git_object: faaf4fb816e5dcaf59ae8e6927e853aa7218a3df src/cribl_control_plane/_version.py: id: 9c8e5f14504b - last_write_checksum: sha1:859a108869d21456c79b6df05d073cdb8013b2a0 - pristine_git_object: fbc59c3ad40a34debdae36078aeeb5c1aa92d79c + last_write_checksum: sha1:8d13ea6283c385f179ec8f29e7beed5deb437480 + pristine_git_object: c48713643cc58d98f407fa8c64bc86a1ac4c1a9e src/cribl_control_plane/acl.py: id: 0e865a719763 - last_write_checksum: sha1:946b9e00ff4cd9f5c57d0b198caa87ccbeb13bea - pristine_git_object: 725e51986cca329128cce4da43a3b23f5c9f79c5 + last_write_checksum: sha1:559cbdc9c628dd800f56dedbf8dbf593abf532d5 + pristine_git_object: 3533e260d0b917763a84fd56dcd88a5db229fd8d src/cribl_control_plane/auth_sdk.py: id: 11512c31e613 last_write_checksum: sha1:2fbca3c93c2549e3f4c30ac39b6bbb79f74bef3a @@ -16664,52 +17304,56 @@ trackedFiles: pristine_git_object: 1b1af8173ed7b6eef43d701ad7749c210ef466a9 src/cribl_control_plane/branches.py: id: be549eef9f0b - last_write_checksum: sha1:aecea76d66309189519027a8c139c5571cae7e66 - pristine_git_object: f4a1f0fb5d8369ea6b48f4723183179d01a536f3 + last_write_checksum: sha1:f87294ad71d2528fa4c29b484af326f2701a0157 + pristine_git_object: 89f86421d7cad43d7493d7633ae19862cc5dc18b src/cribl_control_plane/captures.py: id: 459fd1010156 - last_write_checksum: sha1:ce3d4175fd7bd82730fac2ce3105324ac9862316 - pristine_git_object: 95c95cc33987e9040ba0707a2655dff0393202ad + last_write_checksum: sha1:9e618a04feb0566b6f1096179d8b9c57ff79b41b + pristine_git_object: b4f2c0cf8388e758c40769d8c0174c1c6b8d0b10 src/cribl_control_plane/collectors_sdk.py: id: f84df60bc0f1 - last_write_checksum: sha1:2f25064b3a3d389d6375d758931fbe657501985d - pristine_git_object: b949c92b8d28b7699fed0e97973f73cecd3c98a7 + last_write_checksum: sha1:6e505a50bdc29f9ab66cf99439c2a4471af2d57b + pristine_git_object: 0b8a044f722dbf36add06fa4027da9d47f1ccee6 src/cribl_control_plane/commits.py: id: 77b962b3c68c - last_write_checksum: sha1:b4b3406bac1a8c7e8567202a17c4ad3f095d806d - pristine_git_object: 9b8fa61bb5f5bc3fec2aabc34e0664967d05f9b1 + last_write_checksum: sha1:1964250e83ed1d64bc4d739f08093637bb189376 + pristine_git_object: a890612e9832b5b324d9bc7b8620101c857d5cc8 + src/cribl_control_plane/commits_files.py: + id: 8998c80033e9 + last_write_checksum: sha1:26c1b239e34f2aa528687b5fe77333eae890e16c + pristine_git_object: 5918c2423a4a83c0887622b5b93e480894e9cfd2 src/cribl_control_plane/configs_versions.py: id: 412313ca833a - last_write_checksum: sha1:a550e3d6dc65955c4229de0d1b7764e559b4e568 - pristine_git_object: 7ac4f1b4a64fc3dffba578aac6bd4c674032c701 + last_write_checksum: sha1:39ded171254fb1fd5ea0cd9f8088a1373fdc1bb6 + pristine_git_object: 26a75646861fa42ed35ae54ba819912831cc7c5b src/cribl_control_plane/cribl.py: id: e77153ef9ff7 - last_write_checksum: sha1:9c1baec7273280023123934b98cdb4a58069774f - pristine_git_object: 7038625a7ad3dc2bb67bf96e31f150dbe6d466ed + last_write_checksum: sha1:f2558dc1fdbb763e32980c0543856a7fa7897d8b + pristine_git_object: 4a44dd04293f4e81f21b5dd92664f810f6bf70df src/cribl_control_plane/databaseconnections.py: id: 96bb56ae9234 - last_write_checksum: sha1:68aaff1bf3167687b78c865ed7ab794178640427 - pristine_git_object: 6afebea41dfc631cc54f267764b415068d77746f + last_write_checksum: sha1:d243c986a318fb9f80f0aadb4f7cd114bdec07ba + pristine_git_object: 7c7bc76a224a66ce5e2e42a20673c3a608b1623a src/cribl_control_plane/datasets.py: id: ed509c41c7d5 - last_write_checksum: sha1:867faec5cec410bbcebc24e852ef4383c3b7444d - pristine_git_object: 191a6bc4fc8eeab5664efed38240f1c043ef0981 + last_write_checksum: sha1:4a79e33f2783e66063ceb3f2988b8cb111048e9a + pristine_git_object: 4ef731ed84ec137b69fd08fe1e7adbf21204ea76 src/cribl_control_plane/destinations.py: id: 36ffc53f2f7d - last_write_checksum: sha1:323154501c22e7420a4be80a73dc65c27b4490bd - pristine_git_object: d90e2878020a86f4896d83e39dc79c4797d5f0be + last_write_checksum: sha1:b55f9ae0332bd06132060a4398ca8bbd69fdbf40 + pristine_git_object: c7e828adf230f42c3eea44c59f6f452b2a89ff70 src/cribl_control_plane/destinations_pq.py: id: 30ac4b7a9e97 - last_write_checksum: sha1:1dcc97414412e3e7931780dbc16cd7106a660235 - pristine_git_object: 7c6936a2beaa85cabc0a6288028b37e9dac3b8e7 + last_write_checksum: sha1:d43a18097a23fa98bdfec6437bfc794f37378870 + pristine_git_object: 32f17c31c9a0b101d2b9a49660e1f02972b4d3e1 src/cribl_control_plane/destinations_statuses.py: id: 69c348d86773 - last_write_checksum: sha1:b04c303d06dea39515e93cc7dc385b817cd71265 - pristine_git_object: 5489ae77f39fa7b50cb98470265b591ff566e000 + last_write_checksum: sha1:8d75dd257cf340bcce6ba60ef84ea10b26632777 + pristine_git_object: fe3491af9fb8f6720dee8ba5e681205dfe08289f src/cribl_control_plane/errors/__init__.py: id: d372d9a85443 - last_write_checksum: sha1:47a692ba6a453661e7095c757c430eedfaf79799 - pristine_git_object: 729ad6942445bbde0a155fe86f9a563c7989215e + last_write_checksum: sha1:2ab83a2b4a5d3e797708f7e5add8a062417db364 + pristine_git_object: 576eccf73a5bc6047423392956f72d20c24aac59 src/cribl_control_plane/errors/apierror.py: id: 656b75c4d933 last_write_checksum: sha1:6a9e6daa98df817d5e97a3865db043a630d91061 @@ -16720,12 +17364,12 @@ trackedFiles: pristine_git_object: 549f6b8070dc7d6854cbb3391185f91dabdf74f2 src/cribl_control_plane/errors/error.py: id: f6cc585ac4cd - last_write_checksum: sha1:1856f1884415772621b123bccf9c095a6ae2c250 - pristine_git_object: 758a2ebe712692fb95878b4bd87a97bb63b4cae7 + last_write_checksum: sha1:3a303edab8da1256bddb4d1716e85a55c810ff0d + 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 @@ -16734,30 +17378,30 @@ trackedFiles: id: 2774ae2b0a62 last_write_checksum: sha1:7dcd22bd255cc4ba18b858078158ff8912abf0af pristine_git_object: c56add3e8b6db1fb39b93f9c3ba6191064d2dace - src/cribl_control_plane/files.py: - id: 212ad4a06dd7 - last_write_checksum: sha1:2225275fda22d440b86290ee926d7d2294c1da99 - pristine_git_object: 7fa2640e788d7c443674354e5957c28054d1609f + src/cribl_control_plane/errors/restapijsonerror.py: + id: 276b18eb05d4 + last_write_checksum: sha1:11a1475cd8062bbc231939b69854a91df091b6ee + pristine_git_object: b7368b51e53e8f73b5d9466a671cb37fc693db92 src/cribl_control_plane/functions.py: id: 48f6a1397f02 - last_write_checksum: sha1:39994abb37033c95a325181a1b1fde14fc66fd8c - pristine_git_object: b39e208eb0107c62037e37e628e19824ccf02363 + last_write_checksum: sha1:fb7b7eb7e4360a5be749e3926d0ff79542a4667d + pristine_git_object: 0282c4dac9e0000b67dc16d6a67edc0f1fc38ae2 src/cribl_control_plane/groups_configs.py: id: 5e1a710f5459 last_write_checksum: sha1:42bf74770fe3045659b77bb258867b6c735e2c1c pristine_git_object: fe59e5a3f3f5dcc3e4d037dc66712008545534c2 src/cribl_control_plane/groups_sdk.py: id: 7f1c5a4615e6 - last_write_checksum: sha1:a5377be54e21461b91f1591272cfb9d22940603c - pristine_git_object: c6a749dfff3fcffe14a89bf27727fb57df32e9db - src/cribl_control_plane/health.py: - id: 511124a6fd49 - last_write_checksum: sha1:f2a4fdcbc335a66cbacd6bb9f7f8fe44b7e096b7 - pristine_git_object: 39519032aa8800d816f5c16fabf422780c93f685 + last_write_checksum: sha1:ae0c2c82ced0e83e95e28c10fdcb336efad0702c + pristine_git_object: fb38ed8993de850371c8e00f24d71a7fe1c389fa + src/cribl_control_plane/health_sdk.py: + id: 680b30c149e3 + last_write_checksum: sha1:63d1dce5127b3961c61b908d94900f0dbae8d738 + pristine_git_object: 1e2ca7656df6c465bd905bcac1252d55337a6604 src/cribl_control_plane/hectokens.py: id: d43fa881e02c - last_write_checksum: sha1:cd8ecae5ff6f5fd58f77fbfe8a3111df43d435c5 - pristine_git_object: a08f558acd7dd08fc2a37cc8afc02e90021362c1 + last_write_checksum: sha1:2acfd370bfb5256c1ab97ca9550647532c6a903a + pristine_git_object: 62e82dc61f1dbfee0e19bb07103cd219507123ad src/cribl_control_plane/httpclient.py: id: fc5018fe7f2e last_write_checksum: sha1:5e55338d6ee9f01ab648cad4380201a8a3da7dd7 @@ -16768,8 +17412,8 @@ trackedFiles: pristine_git_object: 63af9cb836903c89e3db0d04bb4f44141014de8b src/cribl_control_plane/models/__init__.py: id: 558fbe1bf6ca - last_write_checksum: sha1:c7fb8343bd0b9291e561d3d3ca0aef38d1e04633 - pristine_git_object: 1fc80e56585f83613baf6a8c71e46caa2fcafaca + last_write_checksum: sha1:887446d8dad7dcd82392b623d2666a111764fdb8 + pristine_git_object: cc91bfd0edd64b6f0c03fae80ec0f70ebc8ad920 src/cribl_control_plane/models/acknowledgmentsoptions.py: id: 2537877f09eb last_write_checksum: sha1:610fd67330eee25b0afc942d175a52130576ed7d @@ -16778,14 +17422,18 @@ 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 pristine_git_object: 1c2c86f53c1979233eb6064b917370f95dcc2b27 src/cribl_control_plane/models/addhectokenrequest.py: id: 31f0eda39c4f - last_write_checksum: sha1:0af6fad38cb59cb61291ad7483a04bad1508f74f - pristine_git_object: c01d0a094ba80a70c57512fc59a2bf66a971b62d + last_write_checksum: sha1:2871a1b3f477c0c714ea4ecab2d488bacdc8829b + pristine_git_object: 70c7f4ba5b73aa5a4bae9d20ef9c3c900701edbf src/cribl_control_plane/models/additionalpropertiestypeenrichedfieldssavedstate.py: id: 5a0f097ceb2c last_write_checksum: sha1:0b4a009b53c463ce7300cbc27032e791e181ddd9 @@ -16800,24 +17448,24 @@ trackedFiles: pristine_git_object: 292d68f8bc205ba92f71ab0fc4093867d218dd87 src/cribl_control_plane/models/aggregatedinputoutputstatusbody.py: id: 5519ff835fb9 - last_write_checksum: sha1:222eaecd26e2c82728fefc11c2b689999977d6ac - pristine_git_object: c561cc66bff1990588fd6fdfe6f069555f3dd409 + last_write_checksum: sha1:4318a36271b2671c5e9120099b628c451ebba217 + pristine_git_object: b85692a31c93426997e35407f75625cd10292d20 src/cribl_control_plane/models/aggregatedpqstatus.py: id: 2b252ccfd4e7 - last_write_checksum: sha1:d30ce85a38a00bca8a4db45aa7660dc4b94e3b2e - pristine_git_object: dcb8db9e810c0f3edb6ab340c0de695f81caec6b + last_write_checksum: sha1:9fbe9e1e2be7a38aa2e4abb4aa7ab42eda9a4aaa + pristine_git_object: dce0f7b6a4a8941756d2f5fe43bb0e9acb482b93 src/cribl_control_plane/models/apischeme.py: id: ab3c8b221a43 last_write_checksum: sha1:f661abd07c43e368cae8fd131b94160338d504df pristine_git_object: 2958d9deab830076d75c6d65fc27c96fe6f8ab68 src/cribl_control_plane/models/apitypesystemsettingsconf.py: id: 66d3ae43fb8d - last_write_checksum: sha1:06d7a1c0b1548ff859f39d8c92ecbac0276d5032 - pristine_git_object: 718f96384483c32734ddd2dc3460461ef4971a9f + last_write_checksum: sha1:582a8825f5f8ec8314d159680dbb760558414122 + pristine_git_object: ce87351d86b435ffa32be2f2ecb937dd1e89644c src/cribl_control_plane/models/appstypesystemsettingsconf.py: id: 44322e4a0b04 - last_write_checksum: sha1:6e5f5da68c42a4c82558a4854b6a588f0a6c0f33 - pristine_git_object: 38318a97b98de85edfef543576d11381191a795f + last_write_checksum: sha1:6f857dca05b720bb118f35ded7c30c14bc9dc4fa + pristine_git_object: c0baa8b6af1fca1205e2a9688c2baf11685d9345 src/cribl_control_plane/models/authenticationmethodoptions.py: id: 11e87ecebe77 last_write_checksum: sha1:ff63a787f6afcef0d0acb0fa6232eb921ea50c5a @@ -16838,6 +17486,14 @@ trackedFiles: id: a0584d1bfe40 last_write_checksum: sha1:0e327e55b462ea4d85ad32286673a779fbca35d2 pristine_git_object: 8b047531eae5b55e1fb0f633b0ff1b691cd58f30 + src/cribl_control_plane/models/authenticationmethodoptionsauthtokensitemssecret.py: + id: cbe1499ac698 + last_write_checksum: sha1:a7fb92ee6bbbe0ad1e2721d9edcf6b6892a3cd7b + pristine_git_object: 9567338ca297830a18cf42118ecef0ae1e0749d6 + src/cribl_control_plane/models/authenticationmethodoptionsautosecret.py: + id: 59cc2f99104e + last_write_checksum: sha1:c02ac43199f5ca34aeb7b3b53a51e38c144c4b32 + pristine_git_object: 9358d3c8952530a710b7b300d5c2e6df8c5585c5 src/cribl_control_plane/models/authenticationmethodoptionsmanualsecret.py: id: 09b6f25ef801 last_write_checksum: sha1:db1499e210558c7b5f7dc2e93fdfc9683a71d06d @@ -16902,6 +17558,10 @@ trackedFiles: id: 11414ef8024e last_write_checksum: sha1:63f80693931cdbc44cfceeb22e6e81a7bb992153 pristine_git_object: 354cb79a74b1e211eca23abc243b053a41cd1787 + src/cribl_control_plane/models/authtokenconfinputcloudflarehec.py: + id: 1f7eb8296892 + last_write_checksum: sha1:af54872df60c8e50292e7582e71da90103bd23cf + pristine_git_object: c3a41cffd39516d547aea49baeeb56cedd8056f4 src/cribl_control_plane/models/authtokenconfinputcribltcp.py: id: c25e4fc467e8 last_write_checksum: sha1:eb8f5a2485980d70070672689c49e8c25b17d877 @@ -16924,16 +17584,16 @@ trackedFiles: pristine_git_object: 9a620bfbb89b482350903e13fba913dc9ca119ac src/cribl_control_plane/models/awstypeheartbeatmetadata.py: id: 6d5f124a155a - last_write_checksum: sha1:c33b0e2ac85bda7fa475afef670cedf66cf69136 - pristine_git_object: 63f90b36eba9ddc3fe18c23fd2293287da574d8d + last_write_checksum: sha1:f619819b296c4cf6afc3b36b7f3fa9ba5d997d56 + pristine_git_object: 60f7f2ac248e1ee60439bb107974845e43189aba src/cribl_control_plane/models/azureblobcollectorconf.py: id: a8075973ccab - last_write_checksum: sha1:422ffe07695c8c8947f98605716d30e4ecc67931 - pristine_git_object: 3dd87ce757b3ac205a2b149a7f1e925a9db13cd8 + last_write_checksum: sha1:bb95eddeccbe576b52439bb6a1ea885408dd358d + pristine_git_object: c7c0dd4f7261c9c01ade2aec00e99e3b8dabf509 src/cribl_control_plane/models/azuretypeheartbeatmetadata.py: id: 8369aafe4182 - last_write_checksum: sha1:e3cb922187777c7eac9a87244bd19168e904bb91 - pristine_git_object: 281a1a7ee913d6c1e4aa59e707f10884532aa5bd + last_write_checksum: sha1:ee5747f7dd8a72b888192eb917beaabc85a32b57 + pristine_git_object: a320993440ed4fe8541f1e9a0028f76cc503d94f src/cribl_control_plane/models/backpressurebehavioroptions.py: id: afd1d4cdbdd0 last_write_checksum: sha1:81839b37efff57ca0c78b3a22b79be658fd16d08 @@ -16944,8 +17604,8 @@ trackedFiles: pristine_git_object: ba5a5b1c29e2c18eaf4f767a01d7e75d638e2208 src/cribl_control_plane/models/backupssettings_union.py: id: e7566f2d2e5b - last_write_checksum: sha1:4c75134e7f6cb5d072f4b499404c69e9df6054f2 - pristine_git_object: 46de880d4999edfe24fb6d9282ae5e4803959071 + last_write_checksum: sha1:4db8cf77497b79a5494566195d33ab0feb23f648 + pristine_git_object: 87e614b920aba2ef81b9029aa163ae8a08cfc78f src/cribl_control_plane/models/branchinfo.py: id: a11fd1a87f87 last_write_checksum: sha1:4a0e043a20afb341291e9ace677854373f0ed3b5 @@ -16956,8 +17616,8 @@ trackedFiles: pristine_git_object: 78f661f047932f87b34eac3737d6da89b174becb src/cribl_control_plane/models/cacheconnection.py: id: 653c3c5fd5e5 - last_write_checksum: sha1:458c99650cff744ff7ca1f37b0b65d4158176b5b - pristine_git_object: 7f487b5a25f55135e894f33fd10a8cc4ebff7158 + last_write_checksum: sha1:5509be4f5df557864d00980be76f688b00cef5b5 + pristine_git_object: 76364a173af6982ae98c138ddef48eb00a793cea src/cribl_control_plane/models/cacheconnectionbackfillstatus.py: id: 1b17ba247d1d last_write_checksum: sha1:c3d05ace0dd021b0b4ff45f17dc638246b810585 @@ -17042,6 +17702,10 @@ trackedFiles: id: 250fa13063ab last_write_checksum: sha1:8a7fc462a65f945a82d39e00f01389f4741810ce pristine_git_object: c2c49c336ea07609922fe5dfda5740179da02bf7 + src/cribl_control_plane/models/columnmappingconfoutputclickhouse.py: + id: 94494e9905aa + last_write_checksum: sha1:6660b7b695683ee14ef7f8b7f6af95ce05871e74 + pristine_git_object: 75bef2bdf25705fe6c5c088ed66ea69c53b18365 src/cribl_control_plane/models/commit.py: id: 331f5e356427 last_write_checksum: sha1:4a81e41c5bca1c450ab57a52d5cef07309cb4c45 @@ -17084,8 +17748,8 @@ trackedFiles: pristine_git_object: 9d143a7c25ae8cccb3b9a299d29222cc53fb3cfb src/cribl_control_plane/models/configgroup.py: id: 5b60884e2a58 - last_write_checksum: sha1:691a3c75bbfc8f021a9840dcbc8ef244fdc5b71b - pristine_git_object: e32281d14c54d674082621660da7b990a5c0c0b6 + last_write_checksum: sha1:876a40f8302f1eb6a0fde467fcd9334c6f42faa8 + pristine_git_object: ba8a5fee683c6b3e6bcc7350844ea6ec03683daf src/cribl_control_plane/models/configgroupcloud.py: id: 3f53a654cacb last_write_checksum: sha1:daf8ec45c9e7a1f776fabc6756aa1effd6dc0baa @@ -17096,8 +17760,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 @@ -17118,10 +17782,6 @@ trackedFiles: id: 50d88c37bc12 last_write_checksum: sha1:862bd30fd56d381cce9f26fc22ed9fcd2fca56da pristine_git_object: dd9aff9715018dd61cd95dee9f1d14cc0b9dc72f - src/cribl_control_plane/models/counteddatabaseconnectionconfig.py: - id: 61f7367beb04 - last_write_checksum: sha1:c9ea99ffc17e114ae67c142fafaad92e90c0919e - pristine_git_object: ed95193e99f7a1f1c8fdb63785b572bb3db2eb9d src/cribl_control_plane/models/counteddistributedsummary.py: id: 43000533afde last_write_checksum: sha1:f9986ee8d34c1d78517fa059e262a97e8f528ca6 @@ -17258,54 +17918,58 @@ trackedFiles: id: 00d898e86c94 last_write_checksum: sha1:251765e987a79d904b0bdf90182d325daac5a09d pristine_git_object: 06bb97fc58198a64073ad62e746cd213bfffb216 - src/cribl_control_plane/models/createconfiggroupbyproductop.py: - id: cab5bd0f6e24 - last_write_checksum: sha1:86d1474657c8efa21b45e323c7a7c5017c993238 - pristine_git_object: cf1cd3a397a8681733d439c70edf4adfbc5e8bc4 src/cribl_control_plane/models/createcribllakedatasetbylakeidop.py: id: 2a8423f8f77c last_write_checksum: sha1:044626fb0ea8bdb7ddeefe9d607042fac3dc2040 pristine_git_object: 7dfe7cee25e0723decf70192966daa935a210420 - src/cribl_control_plane/models/createinput_logged_in_users.py: - id: 470e1a13290e - last_write_checksum: sha1:7d479d712b24bccb96ee196418b26ce8baa05000 - pristine_git_object: 9bcc6c4c0d4ce338f3c81dfaa12c380f2abbf3a7 src/cribl_control_plane/models/createinput_request.py: id: c2056b755125 - last_write_checksum: sha1:d4cade63339fcfbc551fadeec0df7d90760e5b90 - pristine_git_object: 660ec86bc6631a0a20fb984ce4322bc1bd04247e + last_write_checksum: sha1:cf3f3d6642bc9538c3ffe32f3361e4abbb9cc952 + pristine_git_object: bfb583a54ca44e18afabf53333873675d3be505d + src/cribl_control_plane/models/createinput_users_and_groups.py: + id: 6c3493d980df + last_write_checksum: sha1:12e2bfcfd932d5e8db83df55c32e6472b2168f96 + pristine_git_object: 5838c318f023920409a5a20285d0ede8de120f68 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:7c22f370d9bb705440bd4d8f91211548ebbc9083 - pristine_git_object: 97f627bdaed651a15f0fa76bd2dbcff868890fad src/cribl_control_plane/models/createinputsystembypack_request.py: id: 9a05ed789849 - last_write_checksum: sha1:e65acad11068034957888cfa46cf6879eb866ddd - pristine_git_object: 834c6353868217edaf30f6ffae86851f830cf101 + last_write_checksum: sha1:a8ef25f27249ba6b5b3c3873ab2c8de509acd187 + pristine_git_object: 323c3067fc759b232491c89e52513189f7117705 + src/cribl_control_plane/models/createinputsystembypack_users_and_groups.py: + id: d67de230e41c + last_write_checksum: sha1:7dbdace6d95f7ca5976e55884dc86062556f5e6f + pristine_git_object: c70b1371054d6afda5d4865d674a195422e93154 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_format_2.py: + id: "692590027130" + last_write_checksum: sha1:7156cf6d0a3529e43ab71f8c498fae26a537a054 + pristine_git_object: 5663881f138facd404477e43cb64e44b6950d8b2 + src/cribl_control_plane/models/createoutput_pqcontrols_graphite.py: + id: fe40bb59265a + last_write_checksum: sha1:46fde261bb3b1f954a7b056c7bfb701ab5fcc709 + pristine_git_object: 6edde6c05283e8cb5935dc9a4e13ca00b39fc3b3 src/cribl_control_plane/models/createoutput_request.py: id: a8665c8bc75f - last_write_checksum: sha1:50b93fa780da4b9ec9e0268fc68a33347457bf40 - pristine_git_object: c279773e196b49500e9d362c2f296d0de0c46b3f - src/cribl_control_plane/models/createoutput_type_statsd.py: - id: 3f6011d31a6b - last_write_checksum: sha1:2f06045cab6cbcedbbc65d81733e9c18ad451092 - pristine_git_object: 476c157a63366ce080527f703946560fe6c01f8d + last_write_checksum: sha1:b11c56582730a1e1378f9847e1a239d782cb7b7a + pristine_git_object: b02868ca3202f921e3064eb5019e466012ca18e2 + src/cribl_control_plane/models/createoutputsystembypack_outputwebhook_format_2.py: + id: a6d07ec411ea + last_write_checksum: sha1:73eb4d31738dc8a1cdd54ff7336f3075638c5c7a + pristine_git_object: 4c6adb36012db73bedd42016bd1b04b11e8d3ab6 + src/cribl_control_plane/models/createoutputsystembypack_pqcontrols_graphite.py: + id: b1959b99151e + last_write_checksum: sha1:a1628423a425bb15ae5e854076fffc881535b4bc + pristine_git_object: 5f333a3a170c750bd20a9b3bd89017f9a067b754 src/cribl_control_plane/models/createoutputsystembypack_request.py: id: b47a50bc9cb8 - last_write_checksum: sha1:3e33f18cc291c2c835693d462897e5587dcafd96 - pristine_git_object: eef72f50a293972c65e2abc425abdf08f56cf56a - src/cribl_control_plane/models/createoutputsystembypack_type_statsd.py: - id: f3df7248b42c - last_write_checksum: sha1:9bc81a885575a386931f2370de98d5b7516f844f - pristine_git_object: 4204b5dd5e487b52fd0f33aadea83a3bd9612c05 + last_write_checksum: sha1:da5c1b86e95c459447ac5a73920f52819884d8b6 + pristine_git_object: 74424bc01698baa9c90cf02cedca68dea7e20cd0 src/cribl_control_plane/models/createoutputsystemtestbypackandidop.py: id: d061fc4b3fff last_write_checksum: sha1:5f591b9f2193252a9d83e9fe29734906f95b6c5b @@ -17318,6 +17982,10 @@ trackedFiles: id: 6fbe57e0aa46 last_write_checksum: sha1:f374a9b4ee835daa8aefc059acc0800a2aa0e426 pristine_git_object: 9e9f41f9ce2bfc1f9e024ddf02236ae53e9d9729 + src/cribl_control_plane/models/createproductsgroupsbyproductop.py: + id: 18842a8d0c6c + last_write_checksum: sha1:5c41801afb2774b7ba26e28e600d2c61ff47f38e + pristine_git_object: 8e1a331510604c6893555ee08127988214aa9be5 src/cribl_control_plane/models/createroutesappendbyidop.py: id: 1f6b3ac06943 last_write_checksum: sha1:e58425a50867a5a6d2b1f37423767f5bee5921bb @@ -17332,28 +18000,36 @@ trackedFiles: pristine_git_object: 34785c89c05d3dd548db05ce55c229b07b0dbfde src/cribl_control_plane/models/cribllakedataset.py: id: f65290fae1ee - last_write_checksum: sha1:006c4965051007978cd5dabe78511d3ef781bd0d - pristine_git_object: a68255b420cd6e46eef1809b2e1ecbda29fc686f + last_write_checksum: sha1:16b128393bd9da84055955504dc03d1212e35b90 + pristine_git_object: beb2ce4dc43b651475e886ab477978e3ff6f7484 src/cribl_control_plane/models/cribllakedatasetupdate.py: id: 030ec8ded8ae - last_write_checksum: sha1:3c866e6cdfa2d11388fe7e4295b87dd24fd701e3 - pristine_git_object: f766329aea536f9fd8659ea2f208097b2385c13f + last_write_checksum: sha1:ad19316300d30fb0d00c6dec828e77050c80cc27 + pristine_git_object: 8e59cee86b0092f2b5914ff11b7673f0723e3bdf src/cribl_control_plane/models/currentbranchresult.py: id: b03cd82b5d52 - last_write_checksum: sha1:8b481290a97872c095e7ed949808851c76a1b09a - pristine_git_object: 7f3ad2d7e68428adda9d93a69cabc3ba6fa9629c + last_write_checksum: sha1:61df2a3a2721171db6994baddf4268e3995837e8 + pristine_git_object: 384b3f0eef6491606608cbd5be93d95bc202b96f src/cribl_control_plane/models/customlogotypesystemsettingsconf.py: id: 1dab934d6726 - last_write_checksum: sha1:b2eb7787dddc3cb81c33647e24d5fa0aa5fa6d83 - pristine_git_object: a4bcee3f12fca631be1cd6fadb338e5fc7945479 + last_write_checksum: sha1:23b639fa53608772becd7cadd68803f862ef733a + pristine_git_object: c64416cd866bcaa6d9bda6b42f1a9df0d94c5d62 src/cribl_control_plane/models/databasecollectorconf.py: id: 456d20a6b723 last_write_checksum: sha1:488528518e86c8b91321b4a8969f0bfffda4c409 pristine_git_object: 1d42469102e1b57dff53ab001647e35086459fd2 + src/cribl_control_plane/models/databaseconnectionauthtype.py: + id: d2acef638b5d + last_write_checksum: sha1:f538576e7805b17f1a21fe6d3c895f13ed7c3907 + pristine_git_object: d5932ce374d1d5f307bace1f9a2d8ae1a3c752c2 src/cribl_control_plane/models/databaseconnectionconfig.py: id: 648e0cece0e2 - last_write_checksum: sha1:5cf99bd4f5a8487cf173a15fe3b9a3c52184cff1 - pristine_git_object: 18fe5d343a990cad502ea77153eb652f414e0a51 + last_write_checksum: sha1:f2487a267d15a85df9c2d1f1afa16e41da8a4493 + pristine_git_object: aa9bf46995ad4627fe496f265c09ffd7732b6949 + src/cribl_control_plane/models/databaseconnectionresponseenvelope.py: + id: cefeb2502d6c + last_write_checksum: sha1:38b92e061ef85c5c663a4d3125140bfca521da4f + pristine_git_object: 236428841befbfcd8aac9cab9cd87306b7aaf064 src/cribl_control_plane/models/databaseconnectiontype.py: id: b01c5eca12e8 last_write_checksum: sha1:479f7056aa95bf7475aacb42636405df63887a3a @@ -17372,16 +18048,12 @@ trackedFiles: pristine_git_object: 8cabef90785df56d6214c1985324109c20100b00 src/cribl_control_plane/models/datasetmetadata.py: id: 41f9523c8ccd - last_write_checksum: sha1:30ca596229d00889fc24285a7b5978d8492c4681 - pristine_git_object: cba351fd42de722d50eb83548a17e2ba591bbc07 + last_write_checksum: sha1:18f91b78ed4f74d9b6b60348b126db13b2464981 + pristine_git_object: a82cab6a6050444de79f83b3d2f4e883611b9a77 src/cribl_control_plane/models/datasetmetadataruninfo.py: id: 43d70d8a6465 last_write_checksum: sha1:3e1204bfdc1326a4233e876d47dcceba5af4723f pristine_git_object: 006f5d8fd52f5d478e5b292b034457c4e2d3d55c - src/cribl_control_plane/models/deleteconfiggroupbyproductandidop.py: - id: 94b8acea3c52 - last_write_checksum: sha1:518b4f78be4b4b39726910234660107e4e50829f - pristine_git_object: 9e50e728cf00db8f126b3b90daee799008f1648e src/cribl_control_plane/models/deletecribllakedatasetbylakeidandidop.py: id: 1fafa2ed1bb8 last_write_checksum: sha1:ce9cc5df4ff079a50544d37e82ddb09d7398fe5f @@ -17424,8 +18096,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 @@ -17434,6 +18106,10 @@ trackedFiles: id: f067f0e0b7f0 last_write_checksum: sha1:c790165fbc3bc17f2e616a353ac3e3d72b049297 pristine_git_object: ebb7aec4e77b217eeb423241915c37e6c3359d9f + src/cribl_control_plane/models/deleteproductsgroupsbyproductandidop.py: + id: 37f2038a67a6 + last_write_checksum: sha1:2e57f1eb4ad11a74ffeb86425b9e4ab6890217a7 + pristine_git_object: 71e1d844aa0d2c9db84a7e30742e98101822e827 src/cribl_control_plane/models/deletesavedjobbyidop.py: id: ac185d17ee84 last_write_checksum: sha1:63173473dc057a28dffd0d36ed2f1a3ec7d6257b @@ -17452,28 +18128,24 @@ trackedFiles: pristine_git_object: 85580e06b41b2873db670966df086d770eaae242 src/cribl_control_plane/models/destinationtype.py: id: 3bac940576a3 - last_write_checksum: sha1:e18c319b7531c2074e2c107cc805bc14e1458e95 - pristine_git_object: 622950d80f1184b0860108214824f8d23f031fec + last_write_checksum: sha1:32d7b1311a3033f3e0945e731eedd83fd8bea8d2 + pristine_git_object: 54acfe5c49d9513d7b41fd71a02fc824d68f0bdd src/cribl_control_plane/models/difffiles.py: id: 76d032a8c166 - last_write_checksum: sha1:7b58ec48715cdeacbbf81d562d61c50b0d99a287 - pristine_git_object: d8963a72917703ce512099fe04e753a0b811a1eb - src/cribl_control_plane/models/diffline.py: - id: 8c8bc5d9f81f - last_write_checksum: sha1:a41e6c366519e10c558db2e779a6d4c2ea2c74cd - pristine_git_object: f17d3919c17814e50115ea8b38b915ea580a5502 + last_write_checksum: sha1:a263491a3384e2304a558da25fa31ae156dc0736 + pristine_git_object: bb870dec73b1e4a68955407e8e2e0f71718c5c4b src/cribl_control_plane/models/difflinecontext.py: id: ad5d33bb398f - last_write_checksum: sha1:24e6a15f8d2b31e3530dd7dc115f637ddcf7dcae - pristine_git_object: 4b30a030f79bca989ed24f55eec4a83313a507cb + last_write_checksum: sha1:a4bd3020dbcdcb1cf95c70bd2b7eee0d87602a75 + pristine_git_object: b8a14ddc97f93336048f59a3bc3ebb44b073f2e6 src/cribl_control_plane/models/difflinedelete.py: id: 7730e47dacfb - last_write_checksum: sha1:7f7739ffe65b1764b9e3ba9a74c7b34e7d38fcc9 - pristine_git_object: ff80f9d6c2b06d50368598bfba7cd06d5a47ac48 + last_write_checksum: sha1:1c8090a8f8c53058d46a33d39beb4be2252895ec + pristine_git_object: 2390f9b9eb7ab3d7eff4cefde6ae854a10b3aba2 src/cribl_control_plane/models/difflineinsert.py: id: 3c3082b1c2bc - last_write_checksum: sha1:d4afaea620310ac136de4ce0cfeaeaa192408be0 - pristine_git_object: c3567bd88cbae10cf13888c304bca1318560b3be + last_write_checksum: sha1:81c71bd1a91b5ae31169297ae7c1a0215e4cd70a + pristine_git_object: f739bdd03a25be04cdb8379a16fb9d2f272c7f0a src/cribl_control_plane/models/discovermethodoptionshealthcheckdiscoverydiscovertypehttp.py: id: 6ad4eb7ff67e last_write_checksum: sha1:bf9ce9eed75e9be67db52e24366342073799fffc @@ -17492,20 +18164,16 @@ trackedFiles: pristine_git_object: e575500b9731dd208aa1e4909ba16dbc6331f9ee src/cribl_control_plane/models/distributedsummary.py: id: 2c0ec687856c - last_write_checksum: sha1:6fe1bb29049c3ab4cb227817db97325ffd26d048 - pristine_git_object: a0c10d62291fea43a6d28b719e97c45d7ec79d70 + last_write_checksum: sha1:7703a55b8e7c4faaf987cee5d3668740db6b7f80 + pristine_git_object: ec97edef35558dc184991ef8433443bd11b74a19 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 pristine_git_object: 0514c321c726800b7ee43cd4c05e65c6dcbc5300 - src/cribl_control_plane/models/eventbreakerrulefields.py: - id: ac2a5cea1d88 - last_write_checksum: sha1:e9980a36f8218cd640022f0705a0ab1a2d5bb750 - pristine_git_object: cba9883e70f7801867ee8c49ff1187c3c1b53cc0 src/cribl_control_plane/models/eventbreakertypeoptionseventbreakerexistingornewnew.py: id: 15764f435d58 last_write_checksum: sha1:85b423fef439613f200ca11ff243e0f92de253d3 @@ -17528,56 +18196,56 @@ trackedFiles: pristine_git_object: 6f7706b9cb952c9fa455c77c4d9078c4fd1b9c97 src/cribl_control_plane/models/featureflagoverrideconfsystemsettingsconf.py: id: 24722b3733b3 - last_write_checksum: sha1:1814346be4d54d6946139867f8a38f6b04a1b5d9 - pristine_git_object: c1f58d44c1a5e6be72d0e9feeca8e9ecf14c5bbf - src/cribl_control_plane/models/filestypegitcommitsummary.py: - id: d955252c4fa2 - last_write_checksum: sha1:08802fb32634ce82422087aac486eea785e21812 - pristine_git_object: d4c80324aaceb7227c22529a92ce758a3b3a8e5a + last_write_checksum: sha1:305af84dffd26b962e8377dc8991ab7f6522a97a + pristine_git_object: 33691294f12a9fdc0537f91aa123d89c83395d70 src/cribl_control_plane/models/filesystemcollectorconf.py: id: 35d2e86f3410 last_write_checksum: sha1:260c48e7faa6374a767d121ccb70ede54480bc39 pristine_git_object: 0459af7f4e8b8d31dc5be9d295ca102561f474de + src/cribl_control_plane/models/formatoptions.py: + id: 529057ca14f0 + last_write_checksum: sha1:eca740a4b7ba0bbac1aa3206c8431157b0678221 + pristine_git_object: b5490d9316f6bded1838b94f1553774afa7d5016 src/cribl_control_plane/models/formatoptionscribllakedataset.py: id: c65d200f56bb last_write_checksum: sha1:c936f6b05d92bc990d3268fd31a221bd60ebdd9b 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 - pristine_git_object: 50b987e4e55e99a6b8f1f6702403878ea6216cb6 + last_write_checksum: sha1:e429de3e96a7c681a10792f115ffea7a4d429d21 + pristine_git_object: c65da72cacf929c1ff1716ac1f6f56b330fbfcac src/cribl_control_plane/models/functionconfschemacef.py: id: 80a0299630f2 last_write_checksum: sha1:6e5fcc050d7b446def4fa22d7e2534443bfcfea2 @@ -17596,8 +18264,8 @@ trackedFiles: pristine_git_object: 24d3f4e827be97885f90c4fe62607de95748e54d src/cribl_control_plane/models/functionconfschemadnslookup.py: id: d1ca2f8ffaf8 - last_write_checksum: sha1:8812ce56047d58eef55c65ab9acb887e8b06641c - pristine_git_object: 66b2aa0b4adf0e18d8a0add3082e88bda0313d3f + last_write_checksum: sha1:4b8bc0e48ecc72dc2b4cf7e1b12c2826c1d09749 + pristine_git_object: 788e85d0b245be4abe3b2203058d5f13faa3a6b1 src/cribl_control_plane/models/functionconfschemadrop.py: id: b8dcb0239152 last_write_checksum: sha1:4088a450b4bcab3f5b581f52d145b3ad2a3a23ef @@ -17620,8 +18288,8 @@ trackedFiles: pristine_git_object: c2dac72df4df599389e381286d7edf5305e6bcaf src/cribl_control_plane/models/functionconfschemagenstats.py: id: a653423b2939 - last_write_checksum: sha1:0d1fca804909282859cc674999657ec92faa4921 - pristine_git_object: 3f212cc98c02286a6612b6f494291b7a1327fe19 + last_write_checksum: sha1:60c230b4002fa5ba405a6d563071f27447544a66 + pristine_git_object: 6b5dba4844567a744362ae461d74518e05e2636d src/cribl_control_plane/models/functionconfschemalimit.py: id: 8cb859311c8c last_write_checksum: sha1:16facbca950a31160a2a4e39997cc1448e0f531b @@ -17632,8 +18300,8 @@ trackedFiles: pristine_git_object: 3b52329a3e95458a5ebbab76dd352c91df2e921a src/cribl_control_plane/models/functionconfschemalocalsearchrulesetrunner.py: id: cdda95ba5867 - last_write_checksum: sha1:67a27148c88f2ef0225bec69f92a3b7ea81acbe7 - pristine_git_object: acfc7e650c6b819330222652b278906ed7942888 + last_write_checksum: sha1:3f14f5b9416c7fe77543212fad19923382dd11b8 + pristine_git_object: 2949296bd01125e36f32d3632a04ea4e307094c9 src/cribl_control_plane/models/functionconfschemalocalsearchschemamapper.py: id: eaa3785ad846 last_write_checksum: sha1:618bfad19fb807af726e076fa976cf49de4801ee @@ -17648,32 +18316,32 @@ trackedFiles: pristine_git_object: 10367406b3a5d332bceb3091c1a311ae64cba18c src/cribl_control_plane/models/functionconfschemanotificationpolicies.py: id: 79384005643e - last_write_checksum: sha1:631de212dedd1c88b20dc7d514cf0be1a1f004b7 - pristine_git_object: d0e267683397399ef30acbf12451139d3ca62146 + last_write_checksum: sha1:edbf7730ef41a4cf81555e65e4628c4d97fb2f5f + pristine_git_object: 8246b13a6c8ba0c7994395a0d8abe9368dd8ffee src/cribl_control_plane/models/functionconfschemanumerify.py: id: f01c1f1be4f6 - last_write_checksum: sha1:d52be0c4b7949982733b5205e41dc15d4a8d71e4 - pristine_git_object: 0d384d1128fc1eecaf8a1d682c9460750b1359bc + last_write_checksum: sha1:cdda4ac2aced16180590b62fec3cfa75f285a920 + pristine_git_object: 77a271e23e4d2e418148963ee33e1aed8b59faad src/cribl_control_plane/models/functionconfschemaotlplogs.py: id: 8c39f0870a2b - last_write_checksum: sha1:61150202e81591093fe6d0f518f96d4c337576f4 - pristine_git_object: 952c97cb6c3062074fd450e45c033dbd636a16a0 + last_write_checksum: sha1:aa5be69f3128d40175361a439f4b3c7a0166097f + pristine_git_object: a20b4badf618e1885da25e1c05d177dd799eb26d src/cribl_control_plane/models/functionconfschemaotlpmetrics.py: id: 16c94bb464d9 - last_write_checksum: sha1:32b38b92a2313b9b49c230d1446887a936763d5e - pristine_git_object: 6e5f77a855ac05b8461ce504fb0f033bec808c92 + last_write_checksum: sha1:47c23bc831b1afdc384958b2e1189cf2cbb1b9b4 + pristine_git_object: 8879d29a99f41b8e299ad03187e1e533e43b108d src/cribl_control_plane/models/functionconfschemaotlptraces.py: id: fb63ae27f35a - last_write_checksum: sha1:9715fb5efa71464d97a9ac88cc264575f8f0fdb3 - pristine_git_object: 6f61d8f4db0106dcceb0fd051dad9444c91ff104 + last_write_checksum: sha1:9b2837395031aeb234735ccedb79e85a6f8bd68d + pristine_git_object: eeaa85b3886d12ad59e0c8daf73590ccbc346da5 src/cribl_control_plane/models/functionconfschemapublishmetrics.py: id: c98ef8f77264 last_write_checksum: sha1:f09f969d0d8de67e1378b802de24976b846ab274 pristine_git_object: f175a23eeb7aa12c5db2959e462f47638754ed30 src/cribl_control_plane/models/functionconfschemaregexfilter.py: id: 1246059b74e2 - last_write_checksum: sha1:463fb7005a82d4a081e40834bd1b0fd081fd1255 - pristine_git_object: 87df279cef05c5e5136ffe41cf3aa50a987a8c15 + last_write_checksum: sha1:5f79954d8067bb025462962d79ab5c81dfaf069e + pristine_git_object: bcf8ad24b0ded9725f683e63972e789371ae2717 src/cribl_control_plane/models/functionconfschemarename.py: id: 851e28a19307 last_write_checksum: sha1:b81f86011c68371e3ebd2efa64fd9ff1da72b229 @@ -17696,296 +18364,284 @@ trackedFiles: pristine_git_object: 18e59c80cd7805b13463519432500b595d9cc98e src/cribl_control_plane/models/functionconfschemasnmptrapserialize.py: id: 2ec2a6ac12ae - last_write_checksum: sha1:57e0927364dcca85639340772bf41223794bec3f - pristine_git_object: 8344ec246c465ea5208e4993e3306a46cfa54b69 + last_write_checksum: sha1:e570df75a69bcd241e1d376a244b5ea6555c738a + pristine_git_object: 126e4ce0424876985d6df83ea0428ec1cc328799 src/cribl_control_plane/models/functionconfschematrimtimestamp.py: id: 2be781a5b0a9 last_write_checksum: sha1:ea59b02316d54dbba81340c20402927763e4d3e6 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 - src/cribl_control_plane/models/getconfiggroupaclbyproductandidop.py: - id: 094182bde03a - last_write_checksum: sha1:eff83f8aeb8fb9b792bf6c58e47cf896f3bc2b8a - pristine_git_object: 60565068503207eeb06f2a7fd2b3f819d4c63d16 - src/cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py: - id: 26929e0fbc50 - last_write_checksum: sha1:1f17c12e5bb2bcceea98cba079d0e9f3fc223941 - pristine_git_object: 3daf12e3b024ae35ba1423566bd18d94118ea11b - src/cribl_control_plane/models/getconfiggroupbyproductandidop.py: - id: 81da05b4eeaf - last_write_checksum: sha1:2fcd9ae1efedded027cbeb726d4aec80daf12932 - pristine_git_object: deefb12b8c3a6eaffbddec3146993de0e4f5e0a6 - src/cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py: - id: 950d4a39de6f - last_write_checksum: sha1:b9a67fec415960f51cc6192da85a007d10aa0698 - pristine_git_object: e13142cb7e4dd26c863326d893a1c8149973e827 + last_write_checksum: sha1:cb6493dd86b76a511b8590f02e5b74fb52465cb2 + pristine_git_object: 091a5d547fe435788a1fc899c55e5431a9aa94a9 src/cribl_control_plane/models/getcribllakedatasetbylakeidandidop.py: id: 1d70d2ac9aac last_write_checksum: sha1:d9d7f5ec2d260af2a35971884b7efd9e2f9b1847 pristine_git_object: 9c14b9986a21138c74f9e49760577e8eb97fe23f src/cribl_control_plane/models/getcribllakedatasetbylakeidop.py: id: 2bf0d8c8f207 - last_write_checksum: sha1:0acd947fea1efe02684e4931e1b832e6051f36f9 - pristine_git_object: 025caa8ca7ca3218ce8fc9513c4d9d9b5531c86d + last_write_checksum: sha1:9ac969c68e1ed6caae3adcf98e0ecc6b40bd5579 + pristine_git_object: b99f2fb43a0ca3abb1be1b93785d89778ab78bef src/cribl_control_plane/models/getdatabaseconnectionconfigbyidop.py: id: c28fe8c2f294 last_write_checksum: sha1:54a5079215e8cf1bd2d3e62f98e43a54bcf72348 pristine_git_object: 3b99e8f4a5c89626bef5483e02e98b455ad08154 src/cribl_control_plane/models/getdatabaseconnectionconfigop.py: id: b73978213c4f - last_write_checksum: sha1:100ce222867ed79d85553f3923efb06a8eae78a9 - pristine_git_object: bc3290f2545c9d33ad3aaf733071f91b01cb1d02 + last_write_checksum: sha1:807c3ae76bdab71b27188f1dd74074f762d51a1b + pristine_git_object: fb8110d1a9684e81f325ca518afe63b935e1ed2e src/cribl_control_plane/models/getfunctionsbyidop.py: id: bc51786995a6 last_write_checksum: sha1:ec77c173500e97ba7114d898fb2fd69f523fad3f pristine_git_object: 9a28cf3034e3a52255b49bcbcfc6d218c8313c51 + src/cribl_control_plane/models/getfunctionsop.py: + id: 4c6aad94d6f7 + last_write_checksum: sha1:07db8f0d062ec6f332f4851696f83f6c48438680 + pristine_git_object: 3780472ac53119507a8759fb13ada14ef32a46b8 src/cribl_control_plane/models/getinputbyidop.py: id: f044b9ef810a last_write_checksum: sha1:a8642beffb6a825ad24068ef535eb89c64004932 @@ -18000,24 +18656,24 @@ trackedFiles: pristine_git_object: 028d5ce6af1d6ac6801feff12c0c77fa97f5ceb8 src/cribl_control_plane/models/getinputstatusop.py: id: 053dc066d275 - last_write_checksum: sha1:d4775a1c05ef60d3c0a73cd277ea47be23f8e579 - pristine_git_object: 6bc9a013017ca82ff72a2f4805309b5e7276edb8 + last_write_checksum: sha1:ae009be0412e0da60ae29fd21a80f9c3cbea6a49 + pristine_git_object: 7dff7d034ab411057171715859de5565aa22c83f src/cribl_control_plane/models/getinputstatussysteminputsbypackandidop.py: id: fad1b40cfea3 last_write_checksum: sha1:72899f70fd64fd988fc4c5e80e5822e820287e81 pristine_git_object: 99394b97ae58c00572c79aeef3d1536a88ca0c02 src/cribl_control_plane/models/getinputstatussysteminputsbypackop.py: id: a0452c5c73d7 - last_write_checksum: sha1:6b0f5b8d58dfe9634ad75f31da55829d695284d2 - pristine_git_object: 8058d5351ae7660a9b8530194882f947d2afe929 + last_write_checksum: sha1:9cdb18aa62958f0bbe46194ed9280ecd7067cd4e + pristine_git_object: 010eeec3d880e3643f433469dc234e277616b073 src/cribl_control_plane/models/getinputsystembypackandidop.py: id: 6b63d2e571f4 last_write_checksum: sha1:6f18ae3233b1851d585cf5c2628d3320d3a197a8 pristine_git_object: 46fa1b273ad3d0e6da92e6b4f88b407b96245eb5 src/cribl_control_plane/models/getinputsystembypackop.py: id: 52af6a2d0fd9 - last_write_checksum: sha1:dae55e92c5f2f01a839567c2b9fea50179784e82 - pristine_git_object: b2a7c9a48d97b4a5736874bc25ad9279def75830 + last_write_checksum: sha1:f736a3f4176d8f59d1e515cc28b768d1646fa560 + pristine_git_object: 87d780a432926addce342b7a7f8bf8531056ded5 src/cribl_control_plane/models/getinputsystempqbypackandidop.py: id: 418c5b4af9f8 last_write_checksum: sha1:518a1346908487fd6a2d1d917fb75ec9a60fdc7a @@ -18040,24 +18696,24 @@ trackedFiles: pristine_git_object: 373f2de74b62812bd71f0f8ba73c4ac672c9f855 src/cribl_control_plane/models/getoutputstatusop.py: id: 791adbe5321d - last_write_checksum: sha1:76ff7b719aca7d18ffdd6dd171585c03986789eb - pristine_git_object: ebc8313fbefd9ff8a97e3bc3e8efc179fe15f724 + last_write_checksum: sha1:5bc99417b3bbfee45e7ec101584bb4ef13029675 + pristine_git_object: f7d2e2a00b10bd87f46e079de97004d35260ec61 src/cribl_control_plane/models/getoutputstatussystemoutputsbypackandidop.py: id: 0d21077f3482 last_write_checksum: sha1:93fa00f33ae190c333850419cbe4e88dc4ca94ae pristine_git_object: 68e98264e7f64ac7f8ea4c11dba8cf7f355ea7b8 src/cribl_control_plane/models/getoutputstatussystemoutputsbypackop.py: id: e09934767510 - last_write_checksum: sha1:bcec50a215b87c18875f2de69a198849f8d1cac4 - pristine_git_object: 0793628d58d61dd0253133a9c41f1c3497e2e17f + last_write_checksum: sha1:02a6b71651dfd6b0a0291a5ce750b615522b7917 + pristine_git_object: 6cb19543c5622fc9428b383512bb8664ad9a862f src/cribl_control_plane/models/getoutputsystembypackandidop.py: id: 6e8a2cd913e1 last_write_checksum: sha1:8f0953d8367e081ead70a08dc38c6bc29f5f88d7 pristine_git_object: 3d91ddff6683614ba4545274afade409ceba2ebc src/cribl_control_plane/models/getoutputsystembypackop.py: id: a2094e740c8e - last_write_checksum: sha1:18e6a67c8632c1c8f931990121085b4bbfcfb8b8 - pristine_git_object: fc16e2990c733b81a96556d7b0351c78a4171f3a + last_write_checksum: sha1:885c195010ebaed63eeda95e58b27802a08f4f3f + pristine_git_object: 9b8903ab506f25698de7d93d8e223ffaf905e9d5 src/cribl_control_plane/models/getoutputsystempqbypackandidop.py: id: ff248b56f8e3 last_write_checksum: sha1:f9734b05dcdb1acc2d66c29c2f45022fe3a9cc0a @@ -18068,12 +18724,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:b70a182e49237193dd6633d9deac118b1bdc25d3 + pristine_git_object: 856891b6fd8eebb24a9b7f3695e5a042c613ac5a src/cribl_control_plane/models/getpipelinesbyidop.py: id: 1f425f39c604 last_write_checksum: sha1:ba19e1d962844d6a2ff7f6eb78e6273462ef7e17 @@ -18084,12 +18740,36 @@ trackedFiles: pristine_git_object: 812273b9400da5b1b601a7d945dc574a7c9a3aed src/cribl_control_plane/models/getpipelinesbypackop.py: id: 8c01a558f5b4 - last_write_checksum: sha1:dc5211e4ae763e57fe2a664d0d3885e204a4e35a - pristine_git_object: 4f0ec6b6e6ea1dd46841ceb3c49ecd3ef329eb4a + last_write_checksum: sha1:7f56a92517710ab3b2b223f6e2bc95e4edd7a46c + pristine_git_object: 036cb9ed7607c1dca12dc610776295238f2dda27 + src/cribl_control_plane/models/getpipelinesop.py: + id: 461c53138fb3 + last_write_checksum: sha1:c5ae8fd96552a02e627c1a7681af8fb5219a2ec5 + pristine_git_object: ccfec44883ccb5a0280bae8c8c118f19857da861 + src/cribl_control_plane/models/getproductsgroupsaclbyproductandidop.py: + id: 1c82341ab98a + last_write_checksum: sha1:b572aaa37641f06422f11b3efe7a79ca509ddd26 + pristine_git_object: 0cb9593bb9cc62ae4fd3fa15e3f8be15ab26beac + src/cribl_control_plane/models/getproductsgroupsaclteamsbyproductandidop.py: + id: b22924742403 + last_write_checksum: sha1:866a84c3cc0282de21f2afb3d5cf8d36fc499732 + pristine_git_object: faa79d553499a82ad35b49fe11ae9070e8d05238 + src/cribl_control_plane/models/getproductsgroupsbyproductandidop.py: + id: 44d3ffba81f2 + last_write_checksum: sha1:e1dc03a3e90c503a714ae5a5939764db47c8e3e4 + pristine_git_object: df117b106c190eb29ecafdf77f61336f84809ba9 + src/cribl_control_plane/models/getproductsgroupsbyproductop.py: + id: 984d291bb055 + last_write_checksum: sha1:e69041840138a4359e33dfc6e50d4038f39bbc96 + pristine_git_object: 1a6ec5f55fc1274997d60fd0321f81f3ff672adb + src/cribl_control_plane/models/getproductsgroupsconfigversionbyproductandidop.py: + id: dedc0c13148e + last_write_checksum: sha1:34f19340186f21765d42d3ade4df60a99e45cb4b + pristine_git_object: e8a4c3e7ad62b6fb491372707473354c13f23375 src/cribl_control_plane/models/getproductssummarybyproductop.py: id: 4d00460c4865 - last_write_checksum: sha1:75abee5652f70d2b624fb8da0e42341b07dc1a4a - pristine_git_object: fb90a83c6822db4150427679f58610aa04524bd2 + last_write_checksum: sha1:56cfc88d1e57e6583571460a8fe00ca8fe5a8915 + pristine_git_object: f7abc252f6038ad2355adb0e077079082ed7fb59 src/cribl_control_plane/models/getproductssummaryworkersbyproductop.py: id: b714a5c584ca last_write_checksum: sha1:cf29d1518d62ec2980d6fc887e5d30dedb5262e3 @@ -18100,8 +18780,8 @@ trackedFiles: pristine_git_object: afdc7a9748de7b14c486650c4cadcddbebfbd55c src/cribl_control_plane/models/getproductsworkersbyproductop.py: id: 3f6533088fe6 - last_write_checksum: sha1:eeff76f048028393761c5c7af2e9b3f46187866c - pristine_git_object: 2c522d828042315faec1515db8e8446baaa314c8 + last_write_checksum: sha1:6fda2b2dd56bcf4cfd3d9b5003399b9387bda52b + pristine_git_object: 91ce956f4d86e352c7bf955d9111667beb3b5149 src/cribl_control_plane/models/getroutesbyidop.py: id: 377dc68333db last_write_checksum: sha1:0a422835990a4ceaaadb8017eb8de06f31a6f44e @@ -18120,8 +18800,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:66aa39a845785b9e9b80b4017dc9e2d7a08a45ae + pristine_git_object: c3ee6391463a7b9c060e9a45d6b5a0af8e56f89d src/cribl_control_plane/models/getversioncountop.py: id: f403544af82f last_write_checksum: sha1:93cfbfe402d8d872a48e22d9ab67863d31f404eb @@ -18136,64 +18816,68 @@ trackedFiles: pristine_git_object: 0712d8efec6bc3f5f5275c30bad40e15f82091b5 src/cribl_control_plane/models/getversionop.py: id: dd3cc790e487 - last_write_checksum: sha1:ed540ce44980e801d2a4c623a390dc9d56ad8655 - pristine_git_object: 6660e241494b376e6afc4110c47d599cd25055e9 + last_write_checksum: sha1:d79a2ca125e81e6b3560be10f35f7cddb47f88cb + pristine_git_object: 85b74d8a9a30e53c8ab8ab81ab3fbaa616f4d3ea src/cribl_control_plane/models/getversionshowop.py: id: 0b917d8e5ad6 last_write_checksum: sha1:e85d7e6108f345dcba700ebf59a29e0ce98c38ac pristine_git_object: fb15b136c03b39b047fbd4c054f207ef535c8e35 src/cribl_control_plane/models/gitcommitbody.py: id: dbb8988d158f - last_write_checksum: sha1:a22cce7b087d7e37fd5dbb4a30b1198a4b6c3581 - pristine_git_object: 8b3adb95c65f130ce6e28077c5db2a795311d8c0 + last_write_checksum: sha1:817c55963a0aa61e736d26d848971a4239578ec5 + pristine_git_object: bfeb5036082e742c6f88e6056240533dce6304dd src/cribl_control_plane/models/gitcommitsummary.py: id: 00a90ffb5da4 - last_write_checksum: sha1:5c3296d993bd6bed75af99b35f0c438c6a1050d8 - pristine_git_object: 88010c1d2e1f88992b38e1977743aa4344fef0b1 + last_write_checksum: sha1:8c616679028172453fee885dc06c21461588346e + pristine_git_object: 78b5eb5af3c5e5fcfe451b4eb00e233f13ee7d6d src/cribl_control_plane/models/gitcountresult.py: id: f154d2e73e30 - last_write_checksum: sha1:2b69e0df8baf4d4fcad10d8d7bf1c0fc4393afd4 - pristine_git_object: d1079c0c2cc50094b12cf1c8352fa8f8b0fa9ec4 + last_write_checksum: sha1:48d571fde4c468eb322b78f45d261f06a27dc019 + pristine_git_object: 85981770a89bebe9aad858c42541b0f724e93eaa + src/cribl_control_plane/models/gitdifflines.py: + id: 839f947c1f0f + last_write_checksum: sha1:73af6b33d2b3bd86d4aca2ce0b18196c871c1c8f + pristine_git_object: 1f4c62d9d6d8627e4ece036a75162ffb406050dc src/cribl_control_plane/models/gitdiffresult.py: id: 164d563ec10e last_write_checksum: sha1:4d5e263c10efea8b23a3258c7405f27ab991f2d8 pristine_git_object: 73d7480b4c4896337012b87fb74c75994dd78e96 src/cribl_control_plane/models/gitfile.py: id: 38065b641304 - last_write_checksum: sha1:f10ebf09646906a27568f6bf0539c4cd259b3d65 - pristine_git_object: 8a03a59fc01e075dae40e43db2357a53d45b6ec9 + last_write_checksum: sha1:1caae5f0724d27e27ec80ad180392579eefe2e93 + pristine_git_object: e266b4c54efa678285565072affb4bd9b784a0d2 src/cribl_control_plane/models/gitfilerename.py: id: bd7fcfce4ccf last_write_checksum: sha1:8567544061afc20084855acce0914149095f0d3f pristine_git_object: 487e959c1898fbb6870e1702d81d97fdfa9effbe src/cribl_control_plane/models/gitfilesresponse.py: id: 821b5a408b29 - last_write_checksum: sha1:618191e693b6e05b56730579c8f22944a91c33d6 - pristine_git_object: 8fcad5794a5dd5c61b23e20d85c544de64441869 + last_write_checksum: sha1:66ba031251bd32fb19713732e5b2274a1b5dd37c + pristine_git_object: 1b2b46018b7d4bb3c7b8d4dde16ddb1408bd4774 src/cribl_control_plane/models/gitinfo.py: id: 0cbf8adca822 - last_write_checksum: sha1:800b786981f93ef60ed0786586ae25e9974582da - pristine_git_object: 55b36fba2f90fab549c7bdf65f1e8d87b3d6eb6b + last_write_checksum: sha1:eceb4494e4f5e065b865c45d14705fddff947150 + pristine_git_object: 84759ed1fb7bb5c2c4db959538bc579576bdbd6e src/cribl_control_plane/models/gitlogresult.py: id: 66e4be6dade4 - last_write_checksum: sha1:d387c093a0be6dc768affc320fc8039487264f76 - pristine_git_object: 1c5255600df42bf3f717aa8bcfb336ba89ab65b4 + last_write_checksum: sha1:400760de449c842aefebce5acf75dfef375de939 + pristine_git_object: 2b8d473fa34d37f9553eed5a97f104a05b309bbd src/cribl_control_plane/models/gitrevertparams.py: id: cbb27d3d02d1 - last_write_checksum: sha1:b509a0f217310d1bdf29c3dac0bd26b53e1f302e - pristine_git_object: d90ec99715a1a2319195810affb066242efe561e + last_write_checksum: sha1:8258da4f8e0ae9e0be77985ed6255d3b4e6a0328 + pristine_git_object: 600fc24252a2047eb1974f60d9930366b495f604 src/cribl_control_plane/models/gitrevertresult.py: id: 6a8053a31f9b - last_write_checksum: sha1:70026e38dca05a51050e81c7ac5484bcee42bbe0 - pristine_git_object: 8fbfa89b280b658e5afb7509805ee6d7d9b34ccc + last_write_checksum: sha1:e30b08af8194fa7975f3c7f043db834acd985a1a + pristine_git_object: ff65b1260da2fdb7e9c2d54892851762c94d8fcd src/cribl_control_plane/models/gitshowresult.py: id: d10fe27c59e6 - last_write_checksum: sha1:86457af23c0e20cb51b0dea499829f1a418e6fc3 - pristine_git_object: 45bc4e9adbe38e198034c10518d3f0e566b4f62a + last_write_checksum: sha1:3c695bb4c5c8d6a45157c92dcf6742ea9ec96eae + pristine_git_object: d8b8a60ea71e7bc9b98a357920ed8b3966293da0 src/cribl_control_plane/models/gitstatusresult.py: id: dc2d6c78dd6e - last_write_checksum: sha1:6dcad99ce874354eb5281d975e4d94274c46fb2f - pristine_git_object: b86a3d6c30e285fa9794c29f7df2a51068cccadf + last_write_checksum: sha1:fc75ede4c9ab75795a52348bfa3fd8bdd8503e00 + pristine_git_object: 5950517e371897c8ae6fec602b35277b05335582 src/cribl_control_plane/models/googleauthenticationmethodoptions.py: id: f24ab1733603 last_write_checksum: sha1:afa2994450cdecd1b10de9734abd9514373555ab @@ -18208,40 +18892,44 @@ trackedFiles: pristine_git_object: 9b9dc9652ee25d79f0eacf2149e3f68ed876ec72 src/cribl_control_plane/models/groupcreaterequest.py: id: 2993a38accbd - last_write_checksum: sha1:838767cac7463be5436e388de6c50a228c968ed1 - pristine_git_object: f3842f4a3d7bde9e2fb6a6f5a359161226cfafe8 + last_write_checksum: sha1:717c70c1d80bd14ea49dc70150036521fadae802 + pristine_git_object: 6adf10fc6b5421da201d372b19d1487ba8ef109d src/cribl_control_plane/models/hbcriblinfo.py: id: d1662d5e9727 - last_write_checksum: sha1:8190978a5533dc2b3e67139ca41c8af60891a087 - pristine_git_object: 3a2882e5b56493353d37b8c5fb8eb67523a7ace2 + last_write_checksum: sha1:29ea44b7d1f4708c48f9e07b33daf8e499a60bba + pristine_git_object: c6dde4bb9f187d0e2a87e0decccd8ae879c83344 src/cribl_control_plane/models/hbleaderinfo.py: id: 76db1d8ca963 last_write_checksum: sha1:d7cf3649b324bacfe324b0918b0227282b0c6e25 pristine_git_object: be9b10b8d060d10ca092e00c0f885e8ffe617e2a src/cribl_control_plane/models/healthcheckauthenticationnone_healthcheckretryrulestypebackoff.py: id: 7f6678eced57 - last_write_checksum: sha1:5a4ffc7bb5959b8e8dc7953ef7186f86d944c097 - pristine_git_object: c2ba4fcfd2a0749613c5511a7b2027fba350cdeb + last_write_checksum: sha1:5a843c8843b8742bb9ae36ee052e80c59a6408d3 + pristine_git_object: 11cb20346e5fdaeaa10548fa8bea68fe6f72148a src/cribl_control_plane/models/healthcheckcollectorconf.py: id: cebeff19b6d8 - last_write_checksum: sha1:ded56c6cf08174017a49d1d049fda174249edfec - pristine_git_object: ba5b62f18f70413b12c9a9b2e3f23ee62dcdd10e + last_write_checksum: sha1:e15b691a1a39d1cd59bedcfe5c1627c0ab032132 + pristine_git_object: 7bc59e2ee0c79f58240504c1dd6ae4b2c0649f54 src/cribl_control_plane/models/healthcounttype.py: id: e05460975fbb - last_write_checksum: sha1:866af2fcb4e23ca51a5a2aa87b1847c2a5c40a2f - pristine_git_object: 23ed7c5bbdb02aa0453f5a1cabd0174bf9ce87c7 + last_write_checksum: sha1:76fa5420f56f2a8d0d5185fd7a1e3311da32f93b + pristine_git_object: edc41adc5526152fff1941aa08c1d36aced844a4 + src/cribl_control_plane/models/healthoptionsstatus.py: + id: 2ac31b0b0881 + last_write_checksum: sha1:4180461427e2923022cf880c25a9f19febe64779 + pristine_git_object: 62097cc2cd9e2a668364492952256686c3ed9012 + 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 - src/cribl_control_plane/models/healthstringtype.py: - id: 43b988cdf018 - last_write_checksum: sha1:8a8ec4a07846816d49d6b86e6ecefc7817f397c9 - pristine_git_object: 6bf5e745a3e89a986f3998df5f10ab4c0c770d67 + last_write_checksum: sha1:6b18ccd58256be6ced902d1ef9c9e45c6930ff08 + pristine_git_object: a3a2527567fb0c863a2dfae6397fc5a8fc48cc18 src/cribl_control_plane/models/heartbeatmetadata.py: id: 3e15176f4d96 - last_write_checksum: sha1:20d3d1655946acad3419bedbf31e5506f5ae42ed - pristine_git_object: b5d9a361402ece3a399f5bb484d27e147ea45f86 + last_write_checksum: sha1:30dcf6bb7d188af59c7d4439710d3b57c36901de + pristine_git_object: ac4023603568237e257b9fff72b8d313ce2af74a src/cribl_control_plane/models/hiddendefaultbreakersoptionsdatabasecollectorconf.py: id: ae0e7f38b3cc last_write_checksum: sha1:0fb2528374418d48ff0ea5e7a94b1f702e34976e @@ -18252,304 +18940,312 @@ trackedFiles: pristine_git_object: 49f750a1f7240e44355db7daed07ff9f237f9d51 src/cribl_control_plane/models/hostostypeheartbeatmetadata.py: id: fb685a62a1e7 - last_write_checksum: sha1:ccacbf132868516e39a74b019f57ccd4f1f87e53 - pristine_git_object: 8c46b169583cab4fa7c1b946158e63a2adfdf33c + last_write_checksum: sha1:9d79f1b8b46a6f041933831cbe6e9f7b2065096a + pristine_git_object: 38caaeb14bbe63cd1b829c6be803a2be37797dfe src/cribl_control_plane/models/input.py: id: 6830a15033b0 - last_write_checksum: sha1:963bca22cecd7e1ae231beb418edd8891e7e5ed2 - pristine_git_object: 7ab2c19789eb02e01066b793d4021205b7c4e567 + last_write_checksum: sha1:1e2873650198b9b10c815f39e7dad87dcb9c466c + pristine_git_object: 59d64bc7bce96b9324511d8ebb3f4f75b7e51eaa src/cribl_control_plane/models/inputanthropiccompliance_input.py: id: 22cda9eccc16 - last_write_checksum: sha1:a15ee157793047073b0236b97da5b3f7e846e31f - pristine_git_object: 428fb1f5e3edcb531da3e8c30600976ec4ecb62e + last_write_checksum: sha1:a50cb4bb668756d6575f5fd6036d7582e4edc94c + pristine_git_object: 9d2fd36b781736b178d134478092f2f867a2b525 src/cribl_control_plane/models/inputappleunifiedlogs_input.py: id: 16b3b9edb704 - last_write_checksum: sha1:14661f9d40b055014103845355c0e1729d0d4532 - pristine_git_object: 88d8ff1e45f00b9f0421f833bdcbffde524730c5 + last_write_checksum: sha1:b1ae99b6cbbb9c5f94e873b08326145a296d9581 + pristine_git_object: 62e569975d4ab8eeb9350cfd75c438d29b3387aa src/cribl_control_plane/models/inputappscope_input.py: id: cd5957422daf - last_write_checksum: sha1:c2891de7826d84b089ffc5c15bfc03c28f4d6992 - pristine_git_object: ee6a22f768388ec64c8ca814719d9e49cc61d917 + last_write_checksum: sha1:e84eef3b4457be6a68557a8ec5fa03cb0c7a77cb + pristine_git_object: df1b7811cb3224313e7fb5d6222f54df4609c5fe src/cribl_control_plane/models/inputazureblob_input.py: id: b5d314666164 - last_write_checksum: sha1:f2cfb2141f230281e6db200862a00ba500bc9e78 - pristine_git_object: 79b8fb0e23677f142f8fdeea7c773788f7b0732e + last_write_checksum: sha1:d2711d23504e0842c7fb796637e88517389da7c4 + pristine_git_object: 83568fee2621e890cae67274cffc306464bf4124 src/cribl_control_plane/models/inputcloudflarehec_input.py: id: e4377eaf2ef5 - last_write_checksum: sha1:58bf552330413da6c948af47a9ed83e476c91a9c - pristine_git_object: 6758d95b7bfc2676120a69b0f816980dba3a9f64 + last_write_checksum: sha1:ab098f263bae8da3b767a6358f5619e88651ed42 + pristine_git_object: 07f4dfe0e24034aac701702fdc224273be80713f src/cribl_control_plane/models/inputcollection_input.py: id: 5751d6cbe10c - last_write_checksum: sha1:6974342adf82122b622a26544a80d2a0640080a8 - pristine_git_object: ba98408cc9c5fa8c72fe522788b28c6f7932625e + last_write_checksum: sha1:e404984c259e91ae6a2e187bd695610051e5f0d7 + pristine_git_object: b1b911fe4fa6ab702a2e4670cba690409c9883dc 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:a7607ef512cae5f0e5981a96d506340bbdff7933 + pristine_git_object: beb1d36e1f4ce3387b78624abbb7c692c3c533f9 src/cribl_control_plane/models/inputcribl_input.py: id: 9357b3e36726 - last_write_checksum: sha1:032dc4290aead3137b2fe727c62a0704079a9b3a - pristine_git_object: 174f86b45647e851b349d6d8d1c76ec883956d58 + last_write_checksum: sha1:74c84b09433a8798c7131de7aa1e7fefaf2eb7de + pristine_git_object: 6f9fab0b779ef2eb48e931afadd90b1932bcf677 src/cribl_control_plane/models/inputcriblhttp_input.py: id: ee1775e34d52 - last_write_checksum: sha1:68efe1f145ebd2c6df8b6e5a650d84a0fcb80784 - pristine_git_object: cb0d981ceec310009aa5885ce6b090b983a5c0a0 + last_write_checksum: sha1:280e33b507fb6b3f4585c7e2ceec9da1fdcefb29 + pristine_git_object: fccfa5383618e2cba08fabab9649c55e26f32c16 src/cribl_control_plane/models/inputcribllakehttp_input.py: id: 0b9adb9c2ffb - last_write_checksum: sha1:8b700364775d3f2b7102c1aca5739ec6d9a8bf3e - pristine_git_object: c2bb69904ad6004058c139a56139f22d4f562b67 + last_write_checksum: sha1:2083dd0ea007e3a11c15cf83b66584c6712b4b7b + pristine_git_object: a3b9a6dde438db4e5f5e442d70962909fa25fc79 src/cribl_control_plane/models/inputcriblmetrics_input.py: id: b9b29c6bac9e - last_write_checksum: sha1:4d0ed64b5c6a9930952d7912c7046676dfc0982d - pristine_git_object: a010edd3fa83a48e7179a744e554464de7ad01e8 + last_write_checksum: sha1:d4866809de947c9630def6d085d1ff3c58224485 + pristine_git_object: 08f5993f9a0c853d5ecd0a0c76cc9ba7d788cca1 src/cribl_control_plane/models/inputcribltcp_input.py: id: 9e42416daf35 - last_write_checksum: sha1:e8779dc33bee85cf0fe5d58046d1d589313c1baa - pristine_git_object: 3fa6905920d664a8ac77c305a7a143e11eaa40a4 + last_write_checksum: sha1:a6c5e6316849eb15b659341ef6315c94938d334c + pristine_git_object: 6142321e94b4a6996f5c669fccfc96777a44cad1 src/cribl_control_plane/models/inputcrowdstrike_input.py: id: 2833966ef915 - last_write_checksum: sha1:324eb22621fc2c090a1e6d6fc3f8c9c1f45a8749 - pristine_git_object: fb986505a2e85dd628bebd664670d83fcf343f72 + last_write_checksum: sha1:1d534c362ee0ce82eae150070f9a391c8a28ce98 + pristine_git_object: 84af40dd84c7046da1c2deae2bc0af865d30384a src/cribl_control_plane/models/inputdatadogagent_input.py: id: a0d5075f2a16 - last_write_checksum: sha1:dd8ea0183f178e588bccfd1df0c4dd7b4c8b75ae - pristine_git_object: a3d315babf0e94cb99bcaee47d390497c553cd6d + last_write_checksum: sha1:7f492afb8a5861e7ad29412751ea3c114d324dd9 + pristine_git_object: 2989cbbb907831dd1030053072897716b30df7ac src/cribl_control_plane/models/inputdatagen_input.py: id: f1881e9590f9 - last_write_checksum: sha1:e118ad36a6bb042395c88a760b2b0732252703ec - pristine_git_object: 720ed98a5f861ff1b9e9d4a3d003b65ebba4d135 + last_write_checksum: sha1:d5079fa14b466ed8805f3600037396e71bb8ff9a + pristine_git_object: 274944a9003dbadb230b218ab7af1b81b3232e22 src/cribl_control_plane/models/inputedgeprometheus_input.py: id: a67a10be3603 - last_write_checksum: sha1:a7b65281c2b45c23a47afc68cae92b713f9faa33 - pristine_git_object: c805314924ca782e81a1b8a15243bf9f99c974fb + last_write_checksum: sha1:234c067745925527c1ae5291ee2dc58c6480038b + pristine_git_object: 91648e400a77bf417b4b7f70ae614c1f6b6ee2a4 src/cribl_control_plane/models/inputelastic_input.py: id: 064748980c9b - last_write_checksum: sha1:1f0941fa42d46cbf73520e04eca96ad88928227a - pristine_git_object: 8a71f55ab6d80e2d80efaae4f1ae44bc96a9bcf2 + last_write_checksum: sha1:671796d07714740acdc3b39ec8197843eb988395 + pristine_git_object: 46417c3c13b0c319f7d9eb14e0c23f50f376bbb9 src/cribl_control_plane/models/inputeventhub_input.py: id: 2a7a44074d87 - last_write_checksum: sha1:da805e2840ce3ffb3cd7da28e3898d7c6f25c3cf - pristine_git_object: b1132bcbfd40292a606cd6de0f387d327f8283d3 + last_write_checksum: sha1:9ca3bf2f3df0dfac96f696499fba372a8878a411 + pristine_git_object: cf901dad384bbe3194a25a60842393ea02d4a68f src/cribl_control_plane/models/inputeventhubamqp_input.py: id: c9d97d144e1d - last_write_checksum: sha1:3a1a76553bd43eb95fe5ac2509e77574ef36d69f - pristine_git_object: 0429e97e1f94e803ea1ff61fb29022ffec82cb90 + last_write_checksum: sha1:46d236f55ed3925c63f12d768b17bcc351c70c82 + pristine_git_object: a103c3b8c38ea24eadf9e9d4fc7f05227df56a1a src/cribl_control_plane/models/inputexec_input.py: id: 83de10786a42 - last_write_checksum: sha1:527591cec39a032ea057dadede85194685b0c612 - pristine_git_object: 1fdc885ebabf48710c63912ee10950cc53b3b607 + last_write_checksum: sha1:8e87c0a721914c3cdef37175356957541862b055 + pristine_git_object: 9e53dc60f07097c0ce33ad025ae81f383a9aa0cf src/cribl_control_plane/models/inputfile_input.py: id: 2f2ece3f4da7 - last_write_checksum: sha1:a2316500cf87d545227a93343f404a5900e029e8 - pristine_git_object: 78315b3f4e9bb022db173e9181b7399b2ecc8cff + last_write_checksum: sha1:930b773f5a2065735fa599e8744e45c3d5298879 + pristine_git_object: fe3cad357d2b127c3af2f8bb0e34a64fc08b9e10 src/cribl_control_plane/models/inputfirehose_input.py: id: 7982aee54e23 - last_write_checksum: sha1:76052313908864d38b2595e48e9d5568f27d2e20 - pristine_git_object: be91c1eba817019eb58a837cc268603265a30687 + last_write_checksum: sha1:fc6afe407b02ec0ca588a69ef4e430691f759abf + pristine_git_object: 28576429c7eed471da2fbe67d6f0d62dfa15de90 src/cribl_control_plane/models/inputgooglepubsub_input.py: id: 66ec03ee28a7 - last_write_checksum: sha1:e6b2024319559e609813411f709585842a6c3190 - pristine_git_object: 58f7e8c41ae126d860d09b377ff32eafa0920260 + last_write_checksum: sha1:a8cd29b2fe2a668232724122f2bde3ae7215669e + pristine_git_object: 1fb3290a4fb9994b0781c9ab328a1cd7fc4697b4 src/cribl_control_plane/models/inputgrafana_input_union.py: id: 281b44790f77 - last_write_checksum: sha1:8195285182a7d7c8ac49cc29c61c30b1085b5186 - pristine_git_object: 83298cd488a244d5b1067ce0a8967d5a4dfd9654 + last_write_checksum: sha1:f0cbb9a9d63d9053f4b09cce564f7485b98536f5 + pristine_git_object: 1385081f38e0a0af049a2daa2a1950a2750d6ffb src/cribl_control_plane/models/inputhttp_input.py: id: 659ac8226e04 - last_write_checksum: sha1:e8fa8a1c11fb677e8c162c6e59eec025f069dc80 - pristine_git_object: 1330bf2e09c9e0e51a86f3d82d8922651f7a37f3 + last_write_checksum: sha1:2470d8b4463acc0edf7ce46b281d6f310be8971e + pristine_git_object: 30881a045027942789ac622d72fc479d6844675a src/cribl_control_plane/models/inputhttpraw_input.py: id: 1b38ee0e9424 - last_write_checksum: sha1:b0bfc78427f7e5b6386f95ab58c89e8046eb51ed - pristine_git_object: 287c9bf9e098d60c76b04c5707856bfbdcaedd4a + last_write_checksum: sha1:73ad5adba74108783f263830c26787d342170f75 + pristine_git_object: e584af1edd3cb6a02864f6b617a7e17d93100337 src/cribl_control_plane/models/inputjournalfiles_input.py: id: 7653532158ec - last_write_checksum: sha1:819bc7ebbda98fb3aca467ca8866232d34d8d72b - pristine_git_object: 3367a2e5038431c5b7382450a2312d39c60e1096 + last_write_checksum: sha1:4328b966a25c41680d427ce3af9c33a52228b5d1 + pristine_git_object: e99139abb5274b8b6b70ff6f94289b0363b58380 src/cribl_control_plane/models/inputkafka_input.py: id: f845de6defe7 - last_write_checksum: sha1:52d4a2a5239c254a6fae9bc0ec7bd5ffd60a83f7 - pristine_git_object: 5f3b9242174abfb681fe251386f372e2bf285eca + last_write_checksum: sha1:8cd12353f278b95ab54c537862b9fa0a0e2d2de6 + pristine_git_object: a58ab99f12933b2fa89a79a7c6be9e737c65335c src/cribl_control_plane/models/inputkinesis_input.py: id: 0d81fe4d8717 - last_write_checksum: sha1:10e517453e42abba98982e965ca08f68ed78b76e - pristine_git_object: 367b14c96f3c8f5b03b4d35257db328228ced6bd + last_write_checksum: sha1:9704776a6f221e11480ca7fb28d4dd185f84cb28 + pristine_git_object: 5e95df4dcfcae7e343ff07e275596c21917eba1a src/cribl_control_plane/models/inputkubeevents_input.py: id: 5405b600cc45 - last_write_checksum: sha1:94e1727b6f6b077f3b67da4d1b22b8e99897fbc0 - pristine_git_object: 3126a8f57f9e2d263700feea2c92362e0e325889 + last_write_checksum: sha1:f73b8d0cb0fc9c7dcc6260149c68bbef61a99c8e + pristine_git_object: 82ad970711358cf0a1d583322f3056d922460c90 src/cribl_control_plane/models/inputkubelogs_input.py: id: f76b8190c904 - last_write_checksum: sha1:da429617e5fe98623407d0d70f0cada12f5f0821 - pristine_git_object: 59dcce432b7ce60e9f54886343ce32f1aa9e695f + last_write_checksum: sha1:b747c8143206a66eef553140e82b469d922b49ed + pristine_git_object: 16c7909df82b85789013a6c357e3ad328fd59800 src/cribl_control_plane/models/inputkubemetrics_input.py: id: bc9d6b7e92ab - last_write_checksum: sha1:6da01aad356ec64205d0ba91c89c918ccbc022b7 - pristine_git_object: b577570798b3e82f40505dd4d0973b7041e4cab6 + last_write_checksum: sha1:b43b29351a57f3346cb78cbe6831577501cafb3b + pristine_git_object: 3cf8e312288572142be45d7d479d16280673828d src/cribl_control_plane/models/inputloki_input.py: id: 4f4eb42425d9 - last_write_checksum: sha1:17a499d61c0e9c4daec2b9e6d4fb8e95daeeba7c - pristine_git_object: d0b0eef9e734e0a586c3bf028ac638bd15849320 + last_write_checksum: sha1:8be2bc574f103e94f67d2495f81a8e54139cc441 + pristine_git_object: 7b9611b239e3a11e86eb7f7b19721b6520ab4d20 src/cribl_control_plane/models/inputmetrics_input.py: id: 5ffe6870f9eb - last_write_checksum: sha1:140ffc78c5fe72b49e78bd7e24ee4b69bb04d12c - pristine_git_object: 85de890cb7125f406b581b1363ca47ec341d2959 + last_write_checksum: sha1:c8db1d7dd03c2cba7923f61a190d7471bdea9fdb + pristine_git_object: 22659203493e6c1aa8f31676301bc9c4e706701e src/cribl_control_plane/models/inputmicrosoftgraph_input.py: id: fcc7fffc7383 - last_write_checksum: sha1:fab595fde6f48394e1695d07d8347bc8636fc0b4 - pristine_git_object: f72025d2fcdda833c4246235cef2d0f0f7e7a3ec + last_write_checksum: sha1:bca89779020ac97c28316c3e452073b6ad938712 + pristine_git_object: 2a889653640d7854e09d744652b9cfd095d97cdf src/cribl_control_plane/models/inputmodeldriventelemetry_input.py: id: 13d70bdeba62 - last_write_checksum: sha1:7222e6716fb3ad6b7c3be6144f3d804cd759f10b - pristine_git_object: e08178318d65541b9a30c2552147a340fe04024f + last_write_checksum: sha1:861695f91ed91f483c2754c146a9bad10e330387 + pristine_git_object: 6c4ef5f9dfcf2c66f3b0a2644b966f4ef64db2d5 src/cribl_control_plane/models/inputmsk_input.py: id: 13f3a5c8a003 - last_write_checksum: sha1:8b03a3aead8abc4673ffa7c84c46de5f7c1ca1a6 - pristine_git_object: 29d6a947c02f32d1889c01ca12b713c7cb8b190b + last_write_checksum: sha1:67fb6c1dd4822f3722b23d9809b626c57f836288 + pristine_git_object: 474e9e752385619af937283bf1a8eac7e22f54eb src/cribl_control_plane/models/inputnetflow_input.py: id: 5e4cb9ff9920 - last_write_checksum: sha1:804e3d2a2422e53166363f5dbff0d2e9f3a07ab7 - pristine_git_object: 81d7397dc46e69a029b4f96277928925a0b905a7 + last_write_checksum: sha1:cbd87107c62a075647a963cfa54c639b2c9a7f3a + pristine_git_object: 94e4cff1dd63cec3c9ea151b8b1d4f5e10342788 src/cribl_control_plane/models/inputoffice365mgmt_input.py: id: edae18eb5227 - last_write_checksum: sha1:e2dd6d5f1576ad047a93b6b8eaca3f3f9ab2ca32 - pristine_git_object: 4df0ef452216a68d1180d2eac0e15918c473dba7 + last_write_checksum: sha1:32770bbca8f275ebd4bf71abd171f416e2805e7c + pristine_git_object: 65d8d7cb19b2ee85068d321e95597846216f4d7c src/cribl_control_plane/models/inputoffice365msgtrace_input.py: id: 91c570f26873 - last_write_checksum: sha1:f51e295c04f04739faf03929d91e3e976eb51e8f - pristine_git_object: 49cb3693d56ee6e13f76f678d36b388b03795036 + last_write_checksum: sha1:d4108c2a10c1e2ae6ca63b90fe2d37dd6f2b0868 + pristine_git_object: e08da8c72db0f67e00f620de9f9dab134eb99ffa src/cribl_control_plane/models/inputoffice365service_input.py: id: 4d61311f1672 - last_write_checksum: sha1:55f34821f00811208fd70cd02af20e2e0b78cfb3 - pristine_git_object: 674bfd7aeca7170ee63e40dc4b5351decb1885aa + last_write_checksum: sha1:45dfb90f94f83bd36ab9b29ae9e826b38575b413 + pristine_git_object: 5734182b7fef086dbf297078e555d9cc8b3cc922 src/cribl_control_plane/models/inputokta_input.py: id: 6efc6d8a82f0 - last_write_checksum: sha1:8172ff372ffca882a365fa852a93435589b26543 - pristine_git_object: 63f4fcb58a0ed6670b41a9f6a25a6278a3adc763 + last_write_checksum: sha1:5e2fd6528816c25874c43b55e61debba191140ee + pristine_git_object: d64bacdc116dcacba0ff4692d0fd848b086f4783 src/cribl_control_plane/models/inputopenai_input.py: id: 37fc53912818 - last_write_checksum: sha1:8088058f024ba8cc5b175b42fa6185b7c15ec02e - pristine_git_object: 46653f569edf17b3424353d0da79abe5529793ec + last_write_checksum: sha1:e19ed729874e87b97f283d6d182413daf064e8ab + pristine_git_object: d3309d81544f7778516ecd75f5c94ddd8d7305fb src/cribl_control_plane/models/inputopenaicompliancelogs_input.py: id: 523c96ec8fb0 - last_write_checksum: sha1:ed1f6b514f15e8b277d1a73bd202d21cc52d449e - pristine_git_object: 9079c3c58cb6e369164383bc6e1cf8179b039220 + last_write_checksum: sha1:cfe1be4f692f87a286d780f8d5dda715868312b1 + pristine_git_object: d7f7121fbe5ad95de6863f4aaed973b914b11909 src/cribl_control_plane/models/inputopentelemetry_input.py: id: ac9a785f02cc - last_write_checksum: sha1:da8070d715004594cfc0482b3de33ac5350ac91e - pristine_git_object: eaa31682dfc57c321d9058fcef8f6cfc46050b42 + last_write_checksum: sha1:dfebb2eaf65dadcb1c68c5114c01f90307703e09 + pristine_git_object: 23acf23825d46199859370847089adbff596d7c2 src/cribl_control_plane/models/inputprometheus_input.py: id: 6b2c7b2165a7 - last_write_checksum: sha1:2f4a8e7fe08da8cb0a188a370889ea150747c869 - pristine_git_object: 3db7b70062faa8f8d1ef7ce40109cc244cf5b49d + last_write_checksum: sha1:c8571a596706c742b2b38ae7db21c9baec6fa59a + pristine_git_object: ee930ca624932742d0be0f7075942a3853cc9352 src/cribl_control_plane/models/inputprometheusrw_input.py: id: d908fea575c0 - last_write_checksum: sha1:49b62e4c66b53c058b554588b211da7ab9e2450e - pristine_git_object: 2606b2d088bd5c48208f574a8e6551d940aa758e + last_write_checksum: sha1:5b8a8cb71e975a4937d6308fbbe0898256af5e54 + pristine_git_object: f900ec0d02e81687b3feba74d238e34725f2108b src/cribl_control_plane/models/inputrawudp_input.py: id: 841e631fe324 - last_write_checksum: sha1:e9ed37de53c5146a0efe845ef71a648a33625b31 - pristine_git_object: 4b55ba9050f070da726494b2a5b631773b9f7980 + last_write_checksum: sha1:b61ddf5b8fe056e0ef6e02aa88bbf09bb3f691e1 + pristine_git_object: 5aa5a186584e533a90afa0ce6ac5a22aad2b60b1 src/cribl_control_plane/models/inputresponse.py: id: 767730d04919 - last_write_checksum: sha1:cf7782d86803094c71553738eab153eaedaaea09 - pristine_git_object: 13f8379c28ac4044c1b549597034e36ee46f98c6 - src/cribl_control_plane/models/inputresponse_logged_in_users.py: - id: f086c6ede533 - last_write_checksum: sha1:99590dbc91ec3bd93866579890a1618cf56d0452 - pristine_git_object: 9436317b1a4886fffebea9de4c5b6cce357bb858 + last_write_checksum: sha1:5ebb79575a0715c3315e61e9c557fbe23b6594a1 + pristine_git_object: 92dcb43c0289118778c4ec2a9f73901378d4edd8 + src/cribl_control_plane/models/inputresponse_users_and_groups.py: + id: e3709ad80da3 + last_write_checksum: sha1:a69072edc6f95cfe336e9a1ca61255645d68ec15 + pristine_git_object: 97f6298d7143429a479df3de687a1081e9b9c499 src/cribl_control_plane/models/inputs3_input.py: id: f30537f12b20 - last_write_checksum: sha1:a2575e73af46f9fdf2e58f5c6372ffb9b800918b - pristine_git_object: f7b35ff2e541be860ace8395e7ef1001c6d76b1f + last_write_checksum: sha1:ad228cdfbe28d6bc1f3f51dfde81324d08aef38d + pristine_git_object: 66f2ec6cb9f7f9b8e80d04522fed99877b9294e2 src/cribl_control_plane/models/inputs3inventory_input.py: id: d0e47c198788 - last_write_checksum: sha1:378d17309d6867ae0220642374f7ed90c837bbdb - pristine_git_object: ae452c10c6c3de91c8b377918968d905b322ab06 + last_write_checksum: sha1:9260e897e5ba89eefc5ca69a70ebba6eb5d4aa89 + pristine_git_object: e492564c6d86f7013acf1766ea68ba2200886095 src/cribl_control_plane/models/inputsecuritylake_input.py: id: 722391f6e3ef - last_write_checksum: sha1:29624420d2e7a2586bd83d5423a5e8458645431b - pristine_git_object: 7083ec3986c8b8590484453fbf198882a59fda3e + last_write_checksum: sha1:dc75ca2ecb603c4590e6bce5a607b1c9fab9fe12 + pristine_git_object: 5859965f9c68a7513494523fcfd1cabf2056f323 src/cribl_control_plane/models/inputservicenowtable_input.py: id: 6d5dcd6000f5 - last_write_checksum: sha1:b6c74306fd97e7e6bcc8415557330568a329102c - pristine_git_object: e33ce680ae404b97e86c6f1f8701d2fcc0d34406 + last_write_checksum: sha1:b052b020244fbc67c800e0f0083ca988a4b9ac4a + pristine_git_object: 1683687ee8baa77596eedadf9493e10bc93897ca src/cribl_control_plane/models/inputsnmp_input.py: id: e636e09f3b4b - last_write_checksum: sha1:98bda8145afb81a575b5f5105f3770411ac259aa - pristine_git_object: e7eb61f89c6b9c9656eb46969029aeff8d6c7f2b + last_write_checksum: sha1:454d0c9af3a98d7f9fc7bdaae5938c2579b8a88c + pristine_git_object: 1b72c9b69defdb2a0123afa7ef1e28eba7719d65 src/cribl_control_plane/models/inputsplunk_input.py: id: 337f36087cad - last_write_checksum: sha1:9499acd8e3b74be0f1656aa6656531c33f4671df - pristine_git_object: 1253954247232b5cc3723cb48afc35ba3879a906 + last_write_checksum: sha1:a656aefee8cc70163c8ed6fc5ca6df65e0e01d15 + pristine_git_object: 56410b5a4ac41f0a902cc90a2117e276ee344eac src/cribl_control_plane/models/inputsplunkhec_input.py: id: abbfbb795039 - last_write_checksum: sha1:5f419bcb5b9b4898a37fb1ddfd96c67dfb9d6267 - pristine_git_object: 9556bd397ad6d2d27dd2a98a5777ed52b1877e3a + last_write_checksum: sha1:e6aab9803d787e262fb5447d73979466fdd11831 + pristine_git_object: 24e308c8020c9ee12aac7bbcfa0c77382c15e635 src/cribl_control_plane/models/inputsplunksearch_input.py: id: b5791b40b3eb - last_write_checksum: sha1:ecc7e053c4cc53a555c167cd9f2e7f2ae66c4466 - pristine_git_object: 2b32a87966b4b5fc67b27736d2981b3b64760055 + last_write_checksum: sha1:b468860348cbb8ef1d3b304056a49cae3ff3cf8e + pristine_git_object: 05e5d12e022c96cf421562e925a0e40bba8f6e9f src/cribl_control_plane/models/inputsqs_input.py: id: f509d691b890 - last_write_checksum: sha1:95f83f22b88ad59b2a2b52d04bcdb085f4020981 - pristine_git_object: d8a61b1c0a90aa9060fbab2fb7f42aefe78b9ba5 + last_write_checksum: sha1:b0810e6e832dea29a7f71cd7a8ec1716747586d4 + pristine_git_object: d4b71b9b505a9d0049418cdff9208d046bedf317 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:d45ebc79e51715aeac4449d903ae6eaa8cedc84e + pristine_git_object: bf4146525729f50c0570f59f639be52063678b0c src/cribl_control_plane/models/inputsyslog_input_union.py: id: 84122df38308 - last_write_checksum: sha1:6dc4c1321e6f3d3d0cd3672e530fc75dad748b86 - pristine_git_object: 7b29b2ec7987038dc10e7893628cab05e12dda19 + last_write_checksum: sha1:77a53b2a65287e67350e87cd0ef3caab4e762a2c + pristine_git_object: 7ab7c5785d643f5077d30b5f46c516f90fc1eee5 src/cribl_control_plane/models/inputsystemmetrics_input.py: id: b338e7d5c2b5 - last_write_checksum: sha1:18b0676d4e7388e4057399ddfc60c0a32599d034 - pristine_git_object: 80c78f27555a76fddbeaca23d3d09777596d7cb0 + last_write_checksum: sha1:a8f54a5edc0f58a5c4ff12ff2b1d153084f19a49 + pristine_git_object: 82ff29ba5074ba1d01fd8a6f8a61882a39810ba7 src/cribl_control_plane/models/inputsystemstate_input.py: id: bd726aaf3461 - last_write_checksum: sha1:e8d5b43ce9e3965dbbf2d71075b57dda92e722f1 - pristine_git_object: 73929afe380c50d0e9c60a0f69aeecb9eaafcb20 + last_write_checksum: sha1:319bba23e51079ec85fa753856cdef4c58db7809 + pristine_git_object: 1bdaa348757d5e049e5274025ae97fa5074fe122 src/cribl_control_plane/models/inputtcp_input.py: id: cb428eab3452 - last_write_checksum: sha1:16c19dc2cb7cfb3a84688a9ee4e7c5a5a3cde692 - pristine_git_object: e6ac0e45af8a2e69fd59fb68512450e5b866c3db + last_write_checksum: sha1:ab74598e3e447fd050b5c78adf16d6b8bf790a74 + pristine_git_object: 1f4fadc78f99bf504f2c1d058f924eee779088cf src/cribl_control_plane/models/inputtcpjson_input.py: id: f18a7bae408b - last_write_checksum: sha1:d37ac195e257c478e2c7fea2afcd8fa5768ee264 - pristine_git_object: 16c0e7e8f0fb9a1fd9fc97231515caf64e776119 + last_write_checksum: sha1:55c544665679bf9cd138ac39ce960244e200df2c + pristine_git_object: ca343fc609eb7b71c2b0be18ba9fcef6e28af4ba + src/cribl_control_plane/models/inputupwindhec_input.py: + id: 2a9ae60cee61 + last_write_checksum: sha1:8da38164fc37465453c47420a435a6ee3368adda + pristine_git_object: 1b9686ea4c3aa37bce695d43f5dd5eb15d21c938 src/cribl_control_plane/models/inputwef_input.py: id: 9ab97557b19a - last_write_checksum: sha1:857b2e9d5a6cf61f1857b85c9cfda21da77fff19 - pristine_git_object: 28db70acf4c2f75ef27cd69a60d9b1a929aa5921 + last_write_checksum: sha1:d77e7cddadb5fe2f46317ccb53936b88cc815598 + pristine_git_object: ce15bd7177ada907a605bea9c46398c4646a50b8 src/cribl_control_plane/models/inputwindowsmetrics_input.py: id: 650b252da015 - last_write_checksum: sha1:7132f3dbdb54b9366a4fe2c9da7ca3a50e478923 - pristine_git_object: 2d2a79af5d4cef584e74496e89c4df13eefea2d9 + last_write_checksum: sha1:e84f8fef71fe3cf2fc11a15d13b3491c6f819c7b + pristine_git_object: 6bb92c36163a003f2d10c23afb787686cdf2a573 src/cribl_control_plane/models/inputwineventlogs_input.py: id: b9b01a216032 - last_write_checksum: sha1:08cbb99b0e093f48040995d6bffcab74d9dc472b - pristine_git_object: 00a5713328f441bcde70c038300a995ef50340f7 + last_write_checksum: sha1:f25dcea2c20456eb3b21dad45fd75dfb68f068c2 + pristine_git_object: 5bb2e5f54e19443787ad1e28c47f12df3fc44a0d src/cribl_control_plane/models/inputwiz_input.py: id: 6afb94fa60e0 - last_write_checksum: sha1:738b2303cdda005843fbd4236432b698824f7308 - pristine_git_object: a0e0d477fa7c500ba80a8450eaacd22653293e48 + last_write_checksum: sha1:9769a9705249d9f998e28e97beb33a21358c6700 + pristine_git_object: 7875234bb3033171e2cc2ec6dd0bcda928a852d5 src/cribl_control_plane/models/inputwizwebhook_input.py: id: ee13ab6a9378 - last_write_checksum: sha1:2b5f23dd7bb961ff14a49b035c7414558123c7e0 - pristine_git_object: 531baac72e9e17842484d7bf3dad3b0dd112863d + last_write_checksum: sha1:2cd0f4e21b5a7cc447c31e40fd2d0da3d9bb5cb0 + pristine_git_object: 21c973550c239c0558ae6e48b95407aa935b47d9 src/cribl_control_plane/models/inputzscalerhec_input.py: id: 26ad49916acc - last_write_checksum: sha1:dd3b6ea3585bde12db7188664dab605b81c26c1f - pristine_git_object: 9c1d20672c110ff97989f25224ad7efdb65f8d7b + last_write_checksum: sha1:8c537e49fc1ea27409f441ff348a2df31d836f15 + pristine_git_object: 4e5e1b518312e607fd3913b2e47ec3bb3372db10 src/cribl_control_plane/models/jobinfo.py: id: 5b0f0dc0bf44 - last_write_checksum: sha1:1be66e3068153cb46318c1de0f4631193efbc2d2 - pristine_git_object: a7d737e50c8b76efefa7dd5a675bfac30ec30e5f + last_write_checksum: sha1:7db95c95e26df0903254e19cae5abe776bc36e28 + pristine_git_object: 00a88ed6314d1b6e3cad9a4fb57dc9c931efeb4c src/cribl_control_plane/models/jobstatus.py: id: 0f337e4b51fe last_write_checksum: sha1:443eb1a3e7ce5d952c0100c3d82e1b830434b01e @@ -18572,32 +19268,28 @@ trackedFiles: pristine_git_object: 06a181e1988acb31ec7a65e648e0dd9ce965ee3d src/cribl_control_plane/models/kubetypeheartbeatmetadata.py: id: f8a1ab67b808 - last_write_checksum: sha1:250d6236526f919999cf87e9ad476ca97efbc0e9 - pristine_git_object: 935b989c6057f15f6e6ce16438df251b63494868 + last_write_checksum: sha1:1fd35ade9c70c98f62d1c64a06c1fb4148252639 + pristine_git_object: 275fde578f9d39195801cd225be286028dde343a src/cribl_control_plane/models/lakedatasetmetrics.py: id: 12c3717a6be3 - last_write_checksum: sha1:0b07283745956cf2326c1e800d60b6f36c4144e4 - pristine_git_object: 51cbd713ab6d7231272ae48cb9a3d24d4a5eece1 + last_write_checksum: sha1:caaa6d0e1eaf7ed620f9d330908611e49593a952 + pristine_git_object: f1a85ae1a2f4f5b196330616583627c2a6b812d1 src/cribl_control_plane/models/lakedatasetsearchconfig.py: id: 131b11361cf6 - last_write_checksum: sha1:df192d4ebec89ed78ed97a411ad5bfd31f15acfb - pristine_git_object: ea17481adfe7fcf40e5511aae82015858cb61e98 + last_write_checksum: sha1:f85282a3e100c190c70a00a29d135e25a53e81c4 + pristine_git_object: bb3816b66fb9a7fe7ca92a169884ac6e83aef841 src/cribl_control_plane/models/lakehouseconnectiontype.py: id: cf5a974e7e9f last_write_checksum: sha1:3f0dc547ed94674c0a6a7a51311d1ad5dcd96ca3 pristine_git_object: 1adfef5c0924e2bb6028b5cbe5f66f7c5d9b4f11 - src/cribl_control_plane/models/listconfiggroupbyproductop.py: - id: bba611881e55 - last_write_checksum: sha1:acea3c33343ee5f53100b7d4b04ac26dc961115b - pristine_git_object: 23dcff0a681375539e6402c37f62e084430d81b0 src/cribl_control_plane/models/listinputop.py: id: 47d60ed569d7 - last_write_checksum: sha1:c68ad3a39797c29edd49e7888fbcde63ad2f5189 - pristine_git_object: 33b07e5e31f170513a7c52fce05feec90a7b83b8 + last_write_checksum: sha1:a98080acd819e9cb024eaf0790449994462fff4e + pristine_git_object: 20238b7d3b89ee14ef6820b8700f8be319213230 src/cribl_control_plane/models/listoutputop.py: id: 07539c4589a9 - last_write_checksum: sha1:11d93047001e7dfff9884e309384dd3fa7fe7d91 - pristine_git_object: b4712990027881db5b7c3071b321c970f8f5614e + last_write_checksum: sha1:eb2567f45c052fec058fbf5193fb9c0056f7601c + pristine_git_object: 98d4401748c452ccd41a4fc34a93a12f2a5d6c55 src/cribl_control_plane/models/logininfo.py: id: 939fb33c0092 last_write_checksum: sha1:e1a5c9910fcb7885210fb71dedfad9a1df100ab3 @@ -18626,10 +19318,18 @@ trackedFiles: id: 5d3a45e52545 last_write_checksum: sha1:5ff1f01a59d40782caaef17b5d41cacafd849eb3 pristine_git_object: 9ebdb37417e1c40bfc18b97406b1cedeb95eca5c + src/cribl_control_plane/models/mappingtypeoptions.py: + id: 37d517d2ab11 + last_write_checksum: sha1:37bc2b472594253bbd42ec3d9068e997c613e519 + pristine_git_object: 16ff69a66ad1dc29237e32f694ee6d4df57ca4d1 src/cribl_control_plane/models/masterworkerentry.py: id: b434a991ec0f - last_write_checksum: sha1:78e0f621cfb4b9bee86010aae52570997f5de8ca - pristine_git_object: a489a062da714c50c795aaa9896b5c4e165fb597 + last_write_checksum: sha1:17b1f90eba6bf91064caf635223f0e5503b01b6d + pristine_git_object: 527a31a9cb4b92d1707fb69eb6d765510b79bb9c + src/cribl_control_plane/models/masterworkerprocesses.py: + id: f527e7f47995 + last_write_checksum: sha1:c5a9e88e4dfdd766b9208b4a1aa62ecf7758d559 + pristine_git_object: 01fdafe1236b43d3d50dbbcd68e793cd96e6ee2d src/cribl_control_plane/models/maximumtlsversionoptionsredisdeploymenttypestandalonetlsoptions.py: id: f05d508e1cb6 last_write_checksum: sha1:358553f4511aa10c61ac068d49f582efe416cd85 @@ -18646,10 +19346,14 @@ trackedFiles: id: efe29309d6e8 last_write_checksum: sha1:eb74c66d5e9e626544ddfcde5dad2b4d7104e5fa pristine_git_object: 8ccd4cfeb344142ed456ae69e6cf4d26fb64a77c + src/cribl_control_plane/models/metadataconfaddhectokenrequest.py: + id: 4edfd835146d + last_write_checksum: sha1:61326b9bbcdc0ac1c4d4ea94caec19f9f7e81a55 + pristine_git_object: a00d6e6bfa50a3cac0b293c84d836322cdc02dca src/cribl_control_plane/models/metadataconfinputcollection.py: id: 915fae1bdc9e - last_write_checksum: sha1:381e3e595385062651ea7105d88ff0fc7bfbd621 - pristine_git_object: fbc69efa34fe1417a69b3aa91d852b9ba1fb6381 + last_write_checksum: sha1:7b9ce2d919904cbbe34b76f29db56ec372bb60f7 + pristine_git_object: 2f0425c21b4c3fd7cee16b29cd856d9ace1f44aa src/cribl_control_plane/models/methodoptions.py: id: e11001be3a6f last_write_checksum: sha1:8126ca53daed8ee2bf5ae992d326ebae0cd75f29 @@ -18686,6 +19390,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 @@ -18694,10 +19402,14 @@ trackedFiles: id: cb2255df7f05 last_write_checksum: sha1:451651013b8385995c96bfea050e77babf084fb9 pristine_git_object: d2657b949a899b11491b229503b947650cae8983 + src/cribl_control_plane/models/nodeosinfo.py: + id: 25dd9dfc52a4 + last_write_checksum: sha1:d2236adafa5237ee220ee888b009786f02c4317f + pristine_git_object: 8adb318c37a156a0982c011b4380c33a7f184b02 src/cribl_control_plane/models/nodeprovidedinfo.py: id: 4e5d5fcb73d2 - last_write_checksum: sha1:d0aa20f80f496867640e384d2ed63a804fe13c71 - pristine_git_object: b29bc08371082a8eae79a6c591db299c76ced1de + last_write_checksum: sha1:808c4c0e6fb0e5b677044cbf53347f65d876bda0 + pristine_git_object: 415df5e954d381fb8aa7ef977b9b6d18a464517b src/cribl_control_plane/models/nodeskippedupgradestatus.py: id: 2ead0ef981fc last_write_checksum: sha1:16b694f33500ebf7c449a526f00ccda16381dea7 @@ -18708,12 +19420,12 @@ trackedFiles: pristine_git_object: ba153af0e12e8f608c28ed3be7757dc528e21269 src/cribl_control_plane/models/nodeupgradestatus.py: id: 0dd58456d128 - last_write_checksum: sha1:54cb466efaaddcf271b51d29c20c65fce75ba37e - pristine_git_object: 308c4d78e56c29b472fa6648b4d92229c5c4018a + last_write_checksum: sha1:0ea1f6465a0c29073f464afef651d8f1d65061d5 + pristine_git_object: 2bbb9253ac32122efb8fac8caf542b211aa3952c src/cribl_control_plane/models/notification_union.py: id: 6500f6ea5250 - last_write_checksum: sha1:b78148330277d6cc07e111c1adb1736289024f71 - pristine_git_object: c698961a0d4dc67b8c71416ebd63fda01cdcfa7d + last_write_checksum: sha1:9e605ee84a88addc505d6b240a368ff1c2b15bb2 + pristine_git_object: f7e9629a9a56a6c5c900df3dc3c4c13ac2e04ae7 src/cribl_control_plane/models/oauthheaderconfinputservicenowtable.py: id: df6f8f52d447 last_write_checksum: sha1:6564d9f9841648678cd1303676a5c63515bcaff0 @@ -18736,12 +19448,16 @@ trackedFiles: pristine_git_object: d9e1913f158f723e4bbfde87a7227db84ca5c14f src/cribl_control_plane/models/objectstoragefilter.py: id: 9b6c303cda50 - last_write_checksum: sha1:bea78814e6f99f10ba75b50536440a714a428d02 - pristine_git_object: b77d3475b40e36e580662d124140ea99edd8a614 + last_write_checksum: sha1:596b8be3e773e8e48ad5032ed16df0a69d9fe6ee + pristine_git_object: cbd502442f00fdd12e2a1ccdcedb5fb8951b58e2 src/cribl_control_plane/models/orphanfilerecoverytype.py: id: 0f0e38e92701 last_write_checksum: sha1:9295bd88505218f547dee2bd90f829ef9dc36728 pristine_git_object: 4e8c4b9a8334b6f955ff7e516552b0166e6ec864 + src/cribl_control_plane/models/ostypeheartbeatmetadata.py: + id: 2e5ea47929eb + last_write_checksum: sha1:4a3598110f39e205a5cf1cc54c061d98ce548bbd + pristine_git_object: d11c34aad47fab823ffc0e2ba711458393e5eaae src/cribl_control_plane/models/otlpversionoptions.py: id: bdf8801e73c9 last_write_checksum: sha1:b02567472376cb2b77a45caee09a5a8e11b2c9f4 @@ -18752,328 +19468,352 @@ trackedFiles: pristine_git_object: 05935b4b62d6eeac1926f7ad22d0bf3de9a82ce1 src/cribl_control_plane/models/outpostnodeinfo.py: id: 73437464b054 - last_write_checksum: sha1:55d07a42243c5102883539a0b9d9c7cf8bb25d9b - pristine_git_object: 4b0fb970d23dafe3793749d3c47e7fbf8f514ef0 + last_write_checksum: sha1:500a8f07f0765076f1d48afb5fad09ea8f1d3e82 + pristine_git_object: 6fc9aa963ecd8cd1fb52d22f4d9ed43f3f5b6b54 src/cribl_control_plane/models/output.py: id: f4d9666b7d9f - last_write_checksum: sha1:b91466daf17d61ea205d2a4b1d659e7464bcdddb - pristine_git_object: ab449124795fb78309578f5e157c85c7e503af67 + last_write_checksum: sha1:259b2cd98a18576ca02bd9628a570343c8ff64c8 + pristine_git_object: e08ebab8fb222c3e582875dca642dc90abb78354 src/cribl_control_plane/models/outputalibabaclouds3.py: id: 731fd1ec1a1e - last_write_checksum: sha1:ab0f6b480aac6c42f868a7c226a9a32892a613b6 - pristine_git_object: a336ec26303fb616e007e8cd276ededb432f82a8 + last_write_checksum: sha1:392dddea0d80efd71a7def2d0764c44222189742 + pristine_git_object: fa17f8cad4c46648f7d7d6bc6d20f97d5f5ae73e src/cribl_control_plane/models/outputalphasocs3.py: id: 3e9b0cab279e - last_write_checksum: sha1:7d1e65f38dcd8a34386ea5d634aee7a83fb365f9 - pristine_git_object: 47aa8133e1c2c25a23d9874e4644624326c11b2c + last_write_checksum: sha1:5412d31870065562802d5ae229d44c2f7788ce28 + pristine_git_object: 60b2ce2056528ba4db38428bb75d0dc831844c21 + src/cribl_control_plane/models/outputamazonmanagedprometheus.py: + id: f1698e0614f0 + last_write_checksum: sha1:e698953027fffa0a30082c559574ad5250a207aa + pristine_git_object: 2de83b7b0f5e20e51f6bbc7aa78cb8e7d5879d87 src/cribl_control_plane/models/outputazureblob.py: id: 11d57ae340d9 - last_write_checksum: sha1:71138b1bf45288808c7d3fd8c87dcde95cf6c524 - pristine_git_object: 162ab68a1942f7e215e3342bc9f48f4c40f30434 + last_write_checksum: sha1:1e681fbfd84b9d60a36076268e8875c834da5f0c + pristine_git_object: 281760a678a470065cfd2d8d2a8fce85068b2338 src/cribl_control_plane/models/outputazuredataexplorer.py: id: 31dcf73b7d97 - last_write_checksum: sha1:127416ffadc9c8d80200fc3ff213697778628fef - pristine_git_object: b2c6a926b238e6cc30d083963cdab3411f8c070d + last_write_checksum: sha1:e377a83bbf2034d46f477217b20d4c00f83123cd + pristine_git_object: 7dfcbe7cd3f2891464431856a4dca7f211038aad src/cribl_control_plane/models/outputazureeventhub.py: id: 98ee05460527 - last_write_checksum: sha1:77942d0ea3f9fc584ebf8051904b8cc7d1ad6a6b - pristine_git_object: a3b34de892fafc0a9dc7d74296421c5a0aeaf286 + last_write_checksum: sha1:e870e623b5135a493be2bda3835a14d2b7971e13 + pristine_git_object: 0408e4cad9692573cab246e2ef18dc4ee15d73e7 src/cribl_control_plane/models/outputazurelogs.py: id: e4021e78db06 - last_write_checksum: sha1:7caa38653a06230701fc9dbfe6af4281c1e05a47 - pristine_git_object: 97ccca2c78f625ebe3e644867f2fc366ee69d1f8 + last_write_checksum: sha1:2675fccc94d1db9804d019c3c7b2182bc1ae9750 + pristine_git_object: a0ee2bc319c8f589add0a93fa176427cfd11e7dd src/cribl_control_plane/models/outputchronicle.py: id: c85d2f94c191 - last_write_checksum: sha1:a410214fee52792a9de56cdeeb25f696c7e1a1a4 - pristine_git_object: 301f48d3f2754afa94c85647953173c20a66074c + last_write_checksum: sha1:2eac16e7ab8ba2a4a2235c1d9e8f6101e4144c1e + pristine_git_object: d065b2b88c8361d3b44d22ec176cb961941489c0 src/cribl_control_plane/models/outputclickhouse.py: id: e761b8dd45b4 - last_write_checksum: sha1:75ce198a902c4816b628b2d2140c657f9b3c38e0 - pristine_git_object: 9c2c73e814caba670caf6bc403c506b3317c9ff1 + last_write_checksum: sha1:51edb68fded195777f3b2eed09ecec7c13cf6d6d + pristine_git_object: c40eef2d5811575dcae7bf42a4f3226d67d3ff58 src/cribl_control_plane/models/outputcloudflarer2.py: id: 97ff5be2be1a - last_write_checksum: sha1:eb535575645dd333cb00b7cb7e5e90760d5219e9 - pristine_git_object: ff68eb21a572f71812aa924ef69d18a25e9b665b + last_write_checksum: sha1:b889105cbce2df54d61ec946cf08ecff77c46140 + pristine_git_object: 190ec9879d8c0d3d93c3b9782b8682f433a4807f src/cribl_control_plane/models/outputcloudians3.py: id: 5a58437c9adf - last_write_checksum: sha1:2e03408b996ce41a33b4517ef4a4711d7acb1a18 - pristine_git_object: 531cbfa934401cda63c6e5365794bb4d54dca012 + last_write_checksum: sha1:5d5eb2da57fe8c2a0a8302526c475f485286e403 + pristine_git_object: 1bcb1e2b39e00880340f2fc15923275ec6888351 src/cribl_control_plane/models/outputcloudwatch.py: id: "325994702096" - last_write_checksum: sha1:791b570f3d58b28ef3922284f216f38f39612e23 - pristine_git_object: 0377ee5625ac5e74e5b0067b2f5b982f255207a1 + last_write_checksum: sha1:ba17de82ae8d5ed5d5dbd3fb309fd9c12655f824 + pristine_git_object: d7b19cbd0d93e57657c552c218b684b4de62d6a2 src/cribl_control_plane/models/outputconfluentcloud.py: id: e633c53adc27 - last_write_checksum: sha1:2fa7e81ff20e0986d6171c88d597c6c4b57f43a9 - pristine_git_object: 041d1cc132d54f7c4681d6b9f8e7d22f1146b688 + last_write_checksum: sha1:d4aa88a820fe14f584fed5b0677b77a333b25e4c + pristine_git_object: 56224f177fc1f784565b2a1130f30b5b9076cb13 src/cribl_control_plane/models/outputcriblhttp.py: id: 64352590a54d - last_write_checksum: sha1:9b68a55866dd23699224aa88c4fbd5d08b8cc2a9 - pristine_git_object: 46932d417ae31b982bb74876c49eb9ab25e7a4e6 + last_write_checksum: sha1:b425b8c8cf0dae5721e4d87880c87edd338728a0 + pristine_git_object: 8b48ebe3a581c2ad971fbabe2a503825a15e9226 src/cribl_control_plane/models/outputcribllake.py: id: 88401324e633 - last_write_checksum: sha1:59020b3629c53fc2ff3dd7866ff9d47229c655f2 - pristine_git_object: 931827a19828f31b43a844c6d6db14cd2a4b6c7e + last_write_checksum: sha1:2c123535570bde0fd1dc21a78dfc048402bdf851 + pristine_git_object: cead085fd157d77b4d17f2071a061f3cea93f0c9 src/cribl_control_plane/models/outputcriblsearchengine.py: id: 0f5362f5f409 - last_write_checksum: sha1:90c1ebfa32c76eda59dec58c467f8ef2225c8220 - pristine_git_object: 6894f43275a07e15098d0fb40b66b14fbd356104 + last_write_checksum: sha1:4a9aa2d40b63de4926ceb29a83db51a3c58fa9d9 + pristine_git_object: a8b0bcf39b2c54f7f080c8569ce488ecf4dddb97 src/cribl_control_plane/models/outputcribltcp.py: id: 9a2c64817df7 - last_write_checksum: sha1:e40d4d2cd5f52cca241e578b4bdffeeeec156dcf - pristine_git_object: 227a829a7d3eb3ccf2613fd4ca2f12846011674a + last_write_checksum: sha1:e43961fcd8965da204d07f8403a235a9c8e908b0 + pristine_git_object: 2c033162be11b54595243d9a649a117c67981ec0 src/cribl_control_plane/models/outputcrowdstrikenextgensiem.py: id: a2494a240e4a - last_write_checksum: sha1:cb1c3bc0ed7f5edd5e0b2f1d91d5335fd42cf2cb - pristine_git_object: a8e1c536e85932503bbe57d6f31d1a799a96a28c + last_write_checksum: sha1:479673283d3975a382a37f702722ec88d7f4cd4a + pristine_git_object: b6ad207528462496126e172071d45ad66e577545 + src/cribl_control_plane/models/outputcustomermetricsstorage.py: + id: fa844bfbc77c + last_write_checksum: sha1:995c829f5d6c52b2bd58a8eff90cdb954b76d1f3 + pristine_git_object: fa3358b81086f3509134e44fb494e246b4cb15a5 src/cribl_control_plane/models/outputdatabricks.py: id: 4a8494d5d320 - last_write_checksum: sha1:b126629291737513ef2c1954a8a60180e3e26729 - pristine_git_object: e931bc3721cf292d5eaa1275c1bf9a56d32689ba + last_write_checksum: sha1:ce5a22743185a6731679c0cf09a3d8b5a21e4885 + pristine_git_object: d475998397138b98624e4ddb1c08da11e7325533 src/cribl_control_plane/models/outputdatadog.py: id: abb9afed6881 - last_write_checksum: sha1:938a25e2b4e42be8264b4b5d85459a7908c2c31f - pristine_git_object: 2455b5d6180591ce2e55c11dae58e441f507b4c5 + last_write_checksum: sha1:be023059fdae0e0e94a3013d6b018db47523c55d + pristine_git_object: e955d980ebb7220e7f5d3514422a68ade95bf77d src/cribl_control_plane/models/outputdataset.py: id: 685bd2bcad50 - last_write_checksum: sha1:55a9b2d6f6c2f8f6b2dfc9fe324b437490cc74dc - pristine_git_object: a5cb7815373e6dedc5b2c5bfb53ef2320b66e8b7 + last_write_checksum: sha1:217c0697670e8a5a653201d728da96197b94c6ae + pristine_git_object: 6593d9f150f424e92d67da9a2b7b1b436f70f3be src/cribl_control_plane/models/outputdefault.py: id: 9646763573c7 - last_write_checksum: sha1:185c6dd0cba546376231910c575858f9b430e226 - pristine_git_object: a775bafe39553680bf4b586d873117f60f5a9a61 + last_write_checksum: sha1:942ddf73e3b2697aebec62544dcbf515c6dde22f + pristine_git_object: 1e2abcc1e2badd657c0d1084b03519280ab3e83f src/cribl_control_plane/models/outputdells3.py: id: f4d10f79b7e4 - last_write_checksum: sha1:f6e3acbcb1024d939779d0e3252a21b53ee25d38 - pristine_git_object: 9a0c2e2d7712903b6b901dbbb6af925cffdc6a30 + last_write_checksum: sha1:bc23aa29cc04a5e37c98e0a535c87affaa820c26 + pristine_git_object: 469e2059666e7eddd44b3948fc04ff77db6f97e9 src/cribl_control_plane/models/outputdevnull.py: id: fe817fa361c2 - last_write_checksum: sha1:429206b885cdaf1e891c720a7ff9c9c0c29aba88 - pristine_git_object: 8f523240bb364705fa7779a894acdaf24399030a + last_write_checksum: sha1:2d50060923a8fba1de5ef5b5b29ca0e3a643efb2 + pristine_git_object: d360b0b42270448a9cecf5709bf66f58d8a8c095 src/cribl_control_plane/models/outputdiskspool.py: id: 8a3d3503d381 - last_write_checksum: sha1:e04104a9bb313ee84aebbb0fc64f2cbc4ba52d26 - pristine_git_object: d4dec1fbd94b939803d349dcca22bd986c293a32 + last_write_checksum: sha1:e3028eece7d26c14e18386c8ba6d334aee8b3658 + pristine_git_object: 27ba089fc83c3700e994740bd22095cee6f70947 src/cribl_control_plane/models/outputdls3.py: id: 86ec6e6c3349 - last_write_checksum: sha1:46c981674877994d04cda0d21f393d8a1f264ae6 - pristine_git_object: 56863a3641b5fafe515dc99f24700eb5883ae5ef + last_write_checksum: sha1:29f2360d87b1d0cced2e81754c9e77a5a685f4f7 + pristine_git_object: 0c2bfc051125fd9e28edf329994dd4812f664af8 src/cribl_control_plane/models/outputdynatracehttp.py: id: 9ef0c87a3c8a - last_write_checksum: sha1:522b554b4488b7212cc632cfafe8a6b4697707c9 - pristine_git_object: d3765a40efbb4deda92ddc8c6c4325f1570176f5 + last_write_checksum: sha1:e054f6a00473d14a11e750df747c7176d516c905 + pristine_git_object: cb5d33b015cc321446ce52bf1f4863b2c86f9258 src/cribl_control_plane/models/outputdynatraceotlp.py: id: 7d91d0663838 - last_write_checksum: sha1:1c61e189750eea7f2d473ecba3e7ad59f4deb906 - pristine_git_object: 94bc774252c89571d8539a1db545a1a75838a66c + last_write_checksum: sha1:264cc83ee2121de3e52a48c7eff10fb7c02ff13e + pristine_git_object: 4213f4d715e88f8c668b64a49d213fa65568f282 src/cribl_control_plane/models/outputelastic.py: id: d478b50f9198 - last_write_checksum: sha1:cb052cbdd7071a52691ebc8b36e83e8d00933a27 - pristine_git_object: b412ec7e503c285a4a4e12b7fae8e69007413aad + last_write_checksum: sha1:e8e6d18f2da0d5401a8338877ad3a9e36fbeff9b + pristine_git_object: 9c7e348ef1f025f6268d18ed557fb61f888f3ed4 src/cribl_control_plane/models/outputelasticcloud.py: id: 9401e27437e5 - last_write_checksum: sha1:152f78b73f4aa49341525e4946c426c29a109e2c - pristine_git_object: 35c816a60790d98f39b06aebffa49d08ab23ac97 + last_write_checksum: sha1:9c7e6fe681c6bc5a053da19ea0ced4d4b2ec23e7 + pristine_git_object: 776c8ce0236d9d7edb10566a89d84d9b5e0f4c73 src/cribl_control_plane/models/outputexabeam.py: id: 9b6db8800eed - last_write_checksum: sha1:894274fe4c7131a1ebe3716cebc06415358fb2af - pristine_git_object: dde40348b024ecfaf9165a1612d4df072e3fe685 + last_write_checksum: sha1:5ccd8810d4c5f4846f1940828059dfd17ae9ae07 + pristine_git_object: 0d364740bb580af4a8c5483dd6b362d2756e92b1 src/cribl_control_plane/models/outputfilesystem.py: id: 745f091a33eb - last_write_checksum: sha1:86c40cc0f90068ed06d08ad307115b813bda88f4 - pristine_git_object: d009b4654579ae37f8761bed9bd0ee9461c8ab75 + last_write_checksum: sha1:37d34bda9b633d636fca1dc9ebb3610cdd58289b + pristine_git_object: 6e8c9b7bb1ead3cd16871c800fe3847fe1435d40 + src/cribl_control_plane/models/outputgooglebigquery.py: + id: 45a21b6c211c + last_write_checksum: sha1:0bc3bd6e3f46f03e42f63ede7716e45ebc3b1216 + pristine_git_object: d539e31040913806d14992e6fbdc05598c4aa1ac src/cribl_control_plane/models/outputgooglechronicle.py: id: 717f58fbff8f - last_write_checksum: sha1:97d6dd3b90adfdca9f72ea97f03d7a52719107d5 - pristine_git_object: c824adba7c73935e6e47b85df2dfaf7e1db61156 + last_write_checksum: sha1:f1a696b40df581a6c5e19dae9458ca24dafd3ba4 + pristine_git_object: 49789f333aa64632f410e9236181050ef35c6454 src/cribl_control_plane/models/outputgooglecloudlogging.py: id: d3df2bbac13a - last_write_checksum: sha1:8433d1d90a595ed95dedaa55e806d569cc405d5c - pristine_git_object: 73cc151c7bc7f2a3fd027daf130389c45b5e0ba2 + last_write_checksum: sha1:f9a2fe130bdc459a11666c6cffc73acb16881c35 + pristine_git_object: 4d015da2d3a7c24fdda00407b769926ed5016386 + src/cribl_control_plane/models/outputgooglecloudobservability.py: + id: f11fd96444ab + last_write_checksum: sha1:04694d08f249b9ef52ddee1c0d72b0128255bc6b + pristine_git_object: 8ef846cd2329d60ce26f035d9ad052d797efad4d src/cribl_control_plane/models/outputgooglecloudstorage.py: id: 126a516f320f - last_write_checksum: sha1:f3183aedb3b735bc12e585a25380f43f3d9f9ee2 - pristine_git_object: 2f24308c6203416230ca4f1060ef1bb2138a131c + last_write_checksum: sha1:69bbfd061c95d56eb441f6e4b377cadf19e1a52e + pristine_git_object: cb967aa0df9b04803c42d3ffc43356e8fdb0af79 src/cribl_control_plane/models/outputgooglepubsub.py: id: 30d9ea9a5b6a - last_write_checksum: sha1:43532b2336a8536c06f6feaecff2fa2a864cca3c - pristine_git_object: bf6544438c1d14c67614c65a22db5317e56dd26c + last_write_checksum: sha1:1383fb5b665d991ebea6ce7cd0641f62944f259a + pristine_git_object: 9f3ffd87ed1f50c80d67932b011ae409fdca782c src/cribl_control_plane/models/outputgrafanacloud_union.py: id: eae7011f596a - last_write_checksum: sha1:f014060789e3e7ef052c741ff50edb4ac1518912 - pristine_git_object: 65f34fce939ac7029c65ff7c9a3ab6186a50c0bc + last_write_checksum: sha1:497987ca9096f79c676dfe32d928ccc4deafee82 + pristine_git_object: f82cc244926a69854fe655dcf8bb7d4d4597271a src/cribl_control_plane/models/outputgraphite.py: id: 5e58ae16f2df - last_write_checksum: sha1:323f4578115ab7abe6fb1b8f2c6874e2e2892025 - pristine_git_object: e8f2274ed7fe660952466004a2262ea13f16b1e6 + last_write_checksum: sha1:518d442165404b0c8e8b1b8cda8ac10d6e35c785 + pristine_git_object: 60e0145e8b7a6b50902a7a46286cc4f64d37c44d src/cribl_control_plane/models/outputhoneycomb.py: id: 822387de284b - last_write_checksum: sha1:d5da45fb3967458121b653fab383f4f6421eb1a8 - pristine_git_object: 05ed423cb6dd94a542502cbd9443ee6fa0d8319d + last_write_checksum: sha1:86185867c74e56f3bf1839d03bdfd67837f8f5d4 + pristine_git_object: d4ae3db0499bc2dffcac98ca7806e15078ed4816 src/cribl_control_plane/models/outputhumiohec.py: id: 1c01655b0ac2 - last_write_checksum: sha1:b88b6cf73ef12051acde098a926f40fb38f8f9b5 - pristine_git_object: 356de57d82da7da050556f1ebf1044eb84fbb120 + last_write_checksum: sha1:42c55b49093030cc180fd95954dd163da949bbfb + pristine_git_object: 1f3c4912291e94518fee19730df915aad5b1679a + src/cribl_control_plane/models/outputibmclouds3.py: + id: 6b76400c2c3f + last_write_checksum: sha1:30424a775b4f11c9ee6ad0297fb5a9ac0068cdcf + pristine_git_object: 642dfbc4024fbb32d6c619f8fc2b0ec6da9e1aa0 src/cribl_control_plane/models/outputinfluxdb.py: id: 8308228928ed - last_write_checksum: sha1:084bc1c48098883a85d0bf234b21f4b353b1378c - pristine_git_object: 93a5a93c3121db2503dbfea7a2719b7765efafbe + last_write_checksum: sha1:d0fbf2014280a795e3d38bed8fdef30bd7e63e03 + pristine_git_object: 83558d8b472a18ef510f11ddddb472cf73be9950 src/cribl_control_plane/models/outputkafka.py: id: 202570254d42 - last_write_checksum: sha1:4bb28421747d2086a457b574db5304571e4620c8 - pristine_git_object: 78f528224783bf737e13a04e523612fb98fd68f0 + last_write_checksum: sha1:e53ae91576769627ec168a409344a14771a1adf6 + pristine_git_object: b053be40fe8cc5b47db602a46b6cf020bdfdc519 src/cribl_control_plane/models/outputkinesis.py: id: 6900942bed68 - last_write_checksum: sha1:13a2f6bf2de4f659415decfa86c3a2ef80939fcc - pristine_git_object: 4e4959a3488eaa78e9b3a25d98426c35e962e232 + last_write_checksum: sha1:1053e3420d985b47162bb79182110a5aed682fb0 + pristine_git_object: 179d254739997344b7c66c0f0889816592103665 src/cribl_control_plane/models/outputlocalsearchstorage.py: id: 3df06edb3e67 - last_write_checksum: sha1:31ce79bd03097a090dbee60e983b4e4a34972639 - pristine_git_object: 655a090eec8254feea198fbecc88ef6338c76f17 + last_write_checksum: sha1:96b992978b17c68b70b0e02fc1e14e5b194f28f0 + pristine_git_object: 099c6e99cf7066b16b19b91196d90b61c7357264 src/cribl_control_plane/models/outputloki.py: id: f7d3deb1d817 - last_write_checksum: sha1:22daf44f4e710c57ab36953f690f2b4476426759 - pristine_git_object: eecfd75b60f1c2e5abc641fe6a3aa841b3a810f7 + last_write_checksum: sha1:b5dfd3809e650bff580151ff35bc5a93166001fb + pristine_git_object: ecbc5a69b1f4fe186012e4fd7e45828b165e6104 src/cribl_control_plane/models/outputmicrosoftfabric.py: id: 326d51d445aa - last_write_checksum: sha1:e58d3be371bd43c557d854a1e99e681fec24b2e7 - pristine_git_object: fb0621dc41ec7c196ef3929b5cf2e86ba9c02de2 + last_write_checksum: sha1:2b091f953a12f99a3984632447701a42827a070e + pristine_git_object: 5355b0009e82124170e39b70018412e705c6e729 src/cribl_control_plane/models/outputminio.py: id: e191c9723ed4 - last_write_checksum: sha1:35f04c754ffea7ed0f616d23805c597076b6bcab - pristine_git_object: 8e383b49af1409c6ef3a2b1995d71ebfc6bf6113 + last_write_checksum: sha1:5f28b6a29afca73eb787b85e3c97ef7dcd20b35f + pristine_git_object: 64702d4d7d5ea3d79f166f8f9391d79e9258dc88 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:baa922a3725d94fbe35908573837dfc2e7714388 - pristine_git_object: 7f3512a08afa4c39e6beda13780b6ec7f597f84f + last_write_checksum: sha1:6dbbef37ed7c661764350210667d5ecafbe6413b + pristine_git_object: c62fbd0b686a251fbad4fee0bf6d0e7b4221f689 src/cribl_control_plane/models/outputnetflow.py: id: 782b5754668c - last_write_checksum: sha1:78be1753d42c505d77a22eacdb04823d776d414f - pristine_git_object: eec09453a8f4ec879606043db018fcd1b72ba567 + last_write_checksum: sha1:0f836e984e8de22a7fc66632e5301177d5bddb2a + pristine_git_object: 7496e2f28c323bd9298180ceb53e38b99c13acf2 src/cribl_control_plane/models/outputnewrelic.py: id: e2b66e23cfc4 - last_write_checksum: sha1:6b118548bc083da02c589237ececda44f2239d6a - pristine_git_object: 053c07b914d2de56b4b9955455707f94573833dc + last_write_checksum: sha1:c40a6d0fc457a708b82c24238b05c370437174fe + pristine_git_object: e8e3a868b1dc0092a9b38485ad724fb01ebfe8a1 src/cribl_control_plane/models/outputnewrelicevents.py: id: 22677112b0f4 - last_write_checksum: sha1:ebeb779c88c6217ccd43ca532119d5faef001fbf - pristine_git_object: f7872761a9c0b80e07234704eb6b084a623cb5f9 + last_write_checksum: sha1:2f9b682ff898a8165631944666005057256a7bfd + pristine_git_object: b33bed84045e38d51ca7170b9c72b851d09e13bd src/cribl_control_plane/models/outputnutanixobjects.py: id: 06e928e8d424 - last_write_checksum: sha1:9118e5febefb7774af8ecc810b8370fcb3a951c2 - pristine_git_object: 58f7135cfe053ac08b4034acf52e73d3f5de6263 + last_write_checksum: sha1:65a3b8212a16adda8ed5879f682cb57db6432bdb + pristine_git_object: 6cf4cd3aa9272003a776aad87d1f64eb6b1f40fa src/cribl_control_plane/models/outputopentelemetry.py: id: bab5ab95ae20 - last_write_checksum: sha1:64a61c2c001b822a0a77f443a1d075eaf51a2a40 - pristine_git_object: fe62a5bd182495dc27a453a479b7aee376c591b7 + last_write_checksum: sha1:fd420a68ee16af499c5de53904da9f12261b0efa + pristine_git_object: 782d723f8e1558e5b27e18706f4196ba1981e57e src/cribl_control_plane/models/outputprometheus.py: id: 72d2d569cf4a - last_write_checksum: sha1:0974d10131b8329d111758c5bc3711f64f676aa2 - pristine_git_object: 139f6d172f85a61e7e51fae4eb64418e50cbaf5f + last_write_checksum: sha1:259b248e09860353473a549f0b4f1de72d7b0fd1 + pristine_git_object: 3600bafa839c19ccd968ebf63807a3656ee26664 src/cribl_control_plane/models/outputresponse.py: id: 57d67aee671b - last_write_checksum: sha1:750ee2b530163a530d1038f89d96afb8501106f3 - pristine_git_object: 50a1fef7e09eca8bec4be64e6ea617304671d8ca - src/cribl_control_plane/models/outputresponse_type_statsd.py: - id: 5ac183c1d0cd - last_write_checksum: sha1:6c8cf2caee6b6c1d7b6f2ea12c171e9fa5dddcba - pristine_git_object: 5937b3abceb713daa53d40431fc309c8bdb2dbea + last_write_checksum: sha1:5b040d898d3a9664de463527c21878d8490126c8 + pristine_git_object: 4f253cbf48487bf72789da56ef9b779dcae43e82 + src/cribl_control_plane/models/outputresponse_outputwebhook_format_2.py: + id: 11d90679ce79 + last_write_checksum: sha1:cfbe3b2663e4e83c77e6a0afdf809e72f52b4e74 + pristine_git_object: f01e61cc21827502c3914b85d66d46c3e8af4718 + src/cribl_control_plane/models/outputresponse_pqcontrols_graphite.py: + id: a0207e693297 + last_write_checksum: sha1:612ef4ee7336b76fc913642aa70c7c49dc16237e + pristine_git_object: 2e1c83772156b264512cf9f498bf75c6dffe6963 src/cribl_control_plane/models/outputring.py: id: 38852fbbc850 - last_write_checksum: sha1:7a6b9b46456b7afcf38e64fc3d11b004a91eb49b - pristine_git_object: 419a1eae4d557e461267950f55e779f89f179eff + last_write_checksum: sha1:f2382d03be3515d97df3ccc09c99870e890d2232 + pristine_git_object: 7159c454d5995b44c339c68cd740e4c0684d4035 src/cribl_control_plane/models/outputrouter.py: id: 18dbd05c4d41 - last_write_checksum: sha1:df18a97788f17850dd959b7b5c817ef2001adbf1 - pristine_git_object: 22fd879077ad6774c9fab5c0147d6fdbdc4342f7 + last_write_checksum: sha1:6d7f689e1ff530505ba27470be8156d1d96ea470 + pristine_git_object: fb2e10cfae8d018e0c6706a80ccbea190ec55c3f src/cribl_control_plane/models/outputs3.py: id: 928b5c4d8c0f - last_write_checksum: sha1:2533f07cf3cc742c2face66b83f029e90f077152 - pristine_git_object: 31c03f8cf469022ac47ea9fb1e109d92e54b0051 + last_write_checksum: sha1:6af208f72a95d953bbcc629df64dce23925d872e + pristine_git_object: 8787d471b7c0dc008f8ca4c8305517704938bb35 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:bfd8de981025b536aac60d35b521ac3c168a0c16 + pristine_git_object: 15584f9c779f058b112806b5a7a96cc6ed271fa4 src/cribl_control_plane/models/outputsecuritylake.py: id: 0d22757eb1e1 - last_write_checksum: sha1:36358856188e2d0e4dca32af650002f95e2c4d36 - pristine_git_object: ff859148152c34091166f133e9bcf526b36625b4 + last_write_checksum: sha1:235d8e31f6b96f54c7531b958e8026832d85a3eb + pristine_git_object: 471082eaba7194c8c1154d2b7cd976e8065d5077 src/cribl_control_plane/models/outputsentinel.py: id: 77df0de0dedb - last_write_checksum: sha1:2cdf61d97605049a706428cac12606450c379b94 - pristine_git_object: 942ec539970fca71738de8a48238f89b201cb912 + last_write_checksum: sha1:5d991d38ab2ad55ff1a3037e5664c4d383305d9b + pristine_git_object: 6240abfbb27e239c3e060ae51b5a0d87e727f105 src/cribl_control_plane/models/outputsentineloneaisiem.py: id: b7fa883b72d0 - last_write_checksum: sha1:7cf52c63355b2f48665d1be585b9b2f006239c3f - pristine_git_object: c4afeb41a961a2133cb2e24941dbe5749c2a636b + last_write_checksum: sha1:2955153585340c04eba21f95f4c0bf00e1ccc247 + pristine_git_object: 6abe26b46fc5924171f761ec008fa13804f54e11 src/cribl_control_plane/models/outputservicenow.py: id: aec9a128d45c - last_write_checksum: sha1:a9649d14d9a2c166db2d9b6b2d61f9bf60544f12 - pristine_git_object: b462315b6d39d82c458b6b0e4a29745f27dae823 + last_write_checksum: sha1:b23778a0b4bce3c8037c0bacf0ff806e28bba7fd + pristine_git_object: 5437f82e1148122d2054751be3caa1d5376bad2a src/cribl_control_plane/models/outputsignalfx.py: id: dff4acd82968 - last_write_checksum: sha1:c4f978f6e341777b946a33885d8b6b2fbe409815 - pristine_git_object: 7a1a315b7d94d11e8f0f6f1ea993cca50c9c6fc6 + last_write_checksum: sha1:84d3286329dfb79eb154ae9f3f0d584cfa6a4317 + pristine_git_object: 8849c121eed8a4f313b1745f41b39635a45f8566 src/cribl_control_plane/models/outputsnmp.py: id: 9559bffb693c - last_write_checksum: sha1:c22e5342521c31402b6476ed77801ded8792359c - pristine_git_object: 433f389ce3724b4ec37e952a6050a031b3a4ebea + last_write_checksum: sha1:a535e560d1835bc44dc3acd1f4749fd087d11515 + pristine_git_object: f698d68c35718bb2f1804746be9dd01a5d613a27 src/cribl_control_plane/models/outputsns.py: id: 84468bbd28eb - last_write_checksum: sha1:572828bda7aeb873caed8c29c7a09079084d9740 - pristine_git_object: fdfde4d44aaa2248c9105504e645f3348dd71d17 + last_write_checksum: sha1:d93fba20c52ba4bfd6ec6a6c994a4ab7b9709864 + pristine_git_object: 74ce7d6c92761142acfc70c1e56deb389dc720d1 src/cribl_control_plane/models/outputsplunk.py: id: 1a1157ebdbe2 - last_write_checksum: sha1:15f16bfd51be98970f25702fd4dd9d9753b3182e - pristine_git_object: 987f8ad7bf34c87e566c25122acec9ee448b6426 + last_write_checksum: sha1:f72d519a7b5ef7f2fed2ce31be8e22eff736d2c5 + pristine_git_object: 861854b814574491f6dd6b85b057251da6c91320 src/cribl_control_plane/models/outputsplunkhec.py: id: c90f358b1e4f - last_write_checksum: sha1:fba9c6064f93f7217525b0186a5f9107671a7b2f - pristine_git_object: 35cccba54c4b684998f1d8b056154c84b9f94d96 + last_write_checksum: sha1:388dc5cffb834bd92ba9186fc4eb33f353f518a9 + pristine_git_object: ca28c0d20ea2df2664e5d3d17220482bc1e953bd src/cribl_control_plane/models/outputsplunklb.py: id: 612f573663e5 - last_write_checksum: sha1:a0b94998657a30c83a2039106342d327d3ae5597 - pristine_git_object: d87d9c05985e0526592bc2d6acd6cddff3d8dd56 + last_write_checksum: sha1:176bc37cdb6c976506b5f1768f16ed18d787f1c0 + pristine_git_object: 75ee440706e3d711f7607f4f69c73a23c90c8f19 src/cribl_control_plane/models/outputsqs.py: id: c2a5a299ea30 - last_write_checksum: sha1:3100e54f4c3d2b2605ec8d406c2a38637e6dcc9e - pristine_git_object: 5d73e9a497036516f7510bc14c0b601c5bbf641e + last_write_checksum: sha1:081fddd918c5bc2e69bf11a2ad741a9282906ee7 + pristine_git_object: eef38b600aa2fe4444167a22dc74f52b6195abd3 src/cribl_control_plane/models/outputstatsd.py: id: 8ede6538e264 - last_write_checksum: sha1:df15a03e752ad6d7b7121532cdac08677cf9b66a - pristine_git_object: eb2172285a4dd8b0c4e41749b6fd033a478f099d + last_write_checksum: sha1:e0a1124ba885a5270366b2a0ba4b49c55237117a + pristine_git_object: b7365b347fe9708843008553e1c0bedbc60073f7 src/cribl_control_plane/models/outputstatsdext.py: id: 5251bf08f571 - last_write_checksum: sha1:52842da299ec791f0603502fc40e7a7523cb297a - pristine_git_object: c5f996ef6b9523cbb444ee133960b46b4d4131f0 + last_write_checksum: sha1:dfa26f35332690ab6840dc2d5bb529d963ed1c3e + pristine_git_object: 22912c3947a2f83484ebe0fb54e3f6d7221272cf 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:274c8198728ad3a6c6e2fd4d87f37df70a803ff7 + pristine_git_object: bbd6501c6b28ac0373213d03606ac89b9f3c2196 src/cribl_control_plane/models/outputsumologic.py: id: 88423b91eec1 - last_write_checksum: sha1:e5c2c6a41b5fe275cc1cdd14a24a0e99fcbd071d - pristine_git_object: 28de0dcb3e6c4cd5baa79660a6f88b83b4406ef4 + last_write_checksum: sha1:8f9d0c0477dadb918f0384c933a3e6c6a938b94a + pristine_git_object: 8920f74313c8a1a900ea038531aaf0e7b7525707 src/cribl_control_plane/models/outputsyslog.py: id: ad0b252b64f8 - last_write_checksum: sha1:9975ac4f70ccc3a8232193cd3f2f57982f0f9c94 - pristine_git_object: 3f8ac1bd517f790bfa819a4651a1a10b6c8a5d8a + last_write_checksum: sha1:5f0220b0b3cc1977b429c84ec0dd2e45b428350b + pristine_git_object: a3e5eb268d9f3eb70b454e02e8ef6ccfc643b1de src/cribl_control_plane/models/outputtcpjson.py: id: d66a4d365e68 - last_write_checksum: sha1:87e5721fa534659eed42c713f1a36a3f3967608c - pristine_git_object: ffbe846f92ad493d6a25ddb310666c49d88757a3 + last_write_checksum: sha1:014fd9844812f4ff65edd080afdeccb35b54f450 + pristine_git_object: f2f4ca40de0a06bbb69fd675fe4ac20c74aaf616 src/cribl_control_plane/models/outputtestrequest.py: id: 81e1b2c93c61 last_write_checksum: sha1:c19fbd6e6adfbef769fc89ee3870b58e5a074b61 @@ -19084,44 +19824,96 @@ trackedFiles: pristine_git_object: 5c19dd53957aaaf5f69693e7eeebf327a2baa870 src/cribl_control_plane/models/outputwavefront.py: id: 0898984eb08a - last_write_checksum: sha1:ddb6dcc653abf7709e3149c26c9571e214f390b8 - pristine_git_object: 3085af07c52709903ad660f6b86b02fc35cce5a5 + last_write_checksum: sha1:6e588e9e01255305bc0adb4046127680814ec360 + pristine_git_object: 542b50090ca848b9c60dd6f91e566bf9d22f3be7 src/cribl_control_plane/models/outputwebhook_union.py: id: 478b65a93371 - last_write_checksum: sha1:ccb16ead98b4a7877df6a7bb0955192421ca38e3 - pristine_git_object: 23a12af72cb603d8296499e0804363503e90fe46 + last_write_checksum: sha1:91f6e3c4e03c6d1b787adcfd578e0106e2a04635 + pristine_git_object: 060189137df215bc94e1b055f0525eee6c318510 src/cribl_control_plane/models/outputwizhec.py: id: f0a40a7a4458 - last_write_checksum: sha1:51726418b11cf9875d05614138ab3958d4c02e76 - pristine_git_object: 2f5f44512026ddb0963d398be0a4433acf021f9b + last_write_checksum: sha1:1599b1c0e538510d8dc5c8f71cf27626a92aad2c + pristine_git_object: 6bef782fcbd388ac288790bb5bb998122b46d7b0 src/cribl_control_plane/models/outputxsiam.py: id: 6c1c39431130 - last_write_checksum: sha1:86cbbba5e4fa48cdb3b75ad816cf45360532beb9 - pristine_git_object: c8e97aae5aa2ed1da2af4fce8e2e217312947f94 + last_write_checksum: sha1:1b0495c0c5eaba7d2033c62bc79a2aa994c73fff + pristine_git_object: 12d08ee15354d107ce5c8cfd8537fa9ee6023638 src/cribl_control_plane/models/ownertypeheartbeatmetadatakube.py: id: 1a56c5e0e328 - last_write_checksum: sha1:2d81b9b549005329e082a62b2417a2025aeecea3 - pristine_git_object: 04386ef3d59a704de9644520b0caf824b0f20f0b + last_write_checksum: sha1:71487e0290d75f6d75a370218d026d8b0341e0b0 + pristine_git_object: deef56e8853e8292231dc5691c190d81b57e64a1 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/paginatedconfiggroup.py: + id: 90b4e76a7815 + last_write_checksum: sha1:fcecc33641e5478144aa77a17e6716e0de269172 + pristine_git_object: 47e7233dfbe65289ac68ca193fd3387039de12ec + src/cribl_control_plane/models/paginatedcribllakedataset.py: + id: bcf6ea3c932e + last_write_checksum: sha1:43f29149dac4f99a36b2ead200e4ce3edb492761 + pristine_git_object: af163f8d8fbcde45a0e3eee8da9507b2aaa89d3a + src/cribl_control_plane/models/paginateddistributedsummary.py: + id: 623466ff0c26 + last_write_checksum: sha1:486e7ce672dc6d2425035014d73e914364f6a9d3 + pristine_git_object: 7ef365be58c4a353b656ced07a3f18877464776e + src/cribl_control_plane/models/paginatedfunctionresponse.py: + id: d234ff659214 + last_write_checksum: sha1:f81e3680f08880cf84492943ec3bcd6ebfb842d8 + pristine_git_object: a5e07ca4eeaa6ee22841987242c88c8a9ab340bd + src/cribl_control_plane/models/paginatedgitlogresult.py: + id: ca67ccfe9b75 + last_write_checksum: sha1:e3c3aae199a8f0afcb8c531526c5a48a52047cf3 + pristine_git_object: 3dfffc9a2b7702a2bf08a8474da7d5f83d5d239b + src/cribl_control_plane/models/paginatedinputresponse.py: + id: 987af2ae12cb + last_write_checksum: sha1:cbd22ad8d14c765c71b08e91ebc64890674bb8d4 + pristine_git_object: 7b14aacc1bf5ace15194f5183daba2a89c928c62 + src/cribl_control_plane/models/paginatedinputstatus.py: + id: b73167285d48 + last_write_checksum: sha1:d0569e73388d5ddb2f6fbdd0faa9b6b74f89c855 + pristine_git_object: 6b3fe1cd7887cc1f30c66689f412402c5fe704f2 + src/cribl_control_plane/models/paginatedmasterworkerentry.py: + id: 11e7a01e916b + last_write_checksum: sha1:2c86ebf1e1528deb35fd73e7e25942c548549464 + pristine_git_object: b1a17194121aba2b757fefd547ebe2a1fd2a0900 + src/cribl_control_plane/models/paginatedoutputresponse.py: + id: 7842997be02a + last_write_checksum: sha1:34779401a501c939eb8b6245e678d97b71a77b9c + pristine_git_object: 1ff9df56ec9eb3272d020efb2bfdca0547c24eee + src/cribl_control_plane/models/paginatedoutputstatus.py: + id: 07b6114b3832 + last_write_checksum: sha1:845e9a106cad9d0dcb97d87437e6edc2440a91e6 + pristine_git_object: b8988385b4b9b9f915db0624f508bedc18015dee + src/cribl_control_plane/models/paginatedpackinfo.py: + id: cfa3bbb7a2a2 + last_write_checksum: sha1:95e38d28c422ce49533ab5c79264d68b8d3fcc0e + pristine_git_object: e185298f9ec5f26a255be4589f00884726df6af4 + src/cribl_control_plane/models/paginatedpipeline.py: + id: cbeac884de21 + last_write_checksum: sha1:1fa68c80276e1e32ec3198245d4e2e34d2afc60f + pristine_git_object: 75bbb7702e829f1f8ee1aea259bbbf326256c15e + src/cribl_control_plane/models/paginatedsavedjobresponse.py: + id: 0572f13e2cde + last_write_checksum: sha1:8f81977c22fc665fbaa817fbc4247576ed07e095 + pristine_git_object: 143906a3042d0455dd657dd86987eef397c2f9b7 src/cribl_control_plane/models/paginationoptionsrestdiscoverydiscovertypehttppagination.py: id: 7144e446a176 last_write_checksum: sha1:37cab1bad18d6ba169b12a1c96d125a6e378cc40 @@ -19144,44 +19936,44 @@ trackedFiles: pristine_git_object: 08860984c9c6692feaff3be1c9c50eeaf5ec9857 src/cribl_control_plane/models/piisettings_union.py: id: bc17ef0030f5 - last_write_checksum: sha1:2d6b22bf4dd1e77dffa7ce2f236c7d5b393d1c5a - pristine_git_object: 78218e596595b282b00cf1a098c3dbefcc6f567c + last_write_checksum: sha1:5a8b70dc07773ed4f771ed1d290ec8ec0d428279 + pristine_git_object: 142a92e3f3d0c153e0f5b57af329bbebe0fd0200 src/cribl_control_plane/models/pipeline.py: id: e7fc0082d01c - last_write_checksum: sha1:6431ac46527c514684f914a85174a72d37d8eb93 - pristine_git_object: e6654c0114d7515e01f4b49be001854e6653a254 + last_write_checksum: sha1:b5e01fea8f747997040f9d348035966a2270d27c + pristine_git_object: 44146355061bc3a8eca71bcdb32c332ae3b5ca66 src/cribl_control_plane/models/pipelinefunctionaggregatemetrics.py: id: d01c836897e3 - last_write_checksum: sha1:e83385db7bb05e1cefc4066b8d8bd9bb89d1d15c - pristine_git_object: 7f27fd331cdd6e1ea05da41f3e485ef91c8ce592 + last_write_checksum: sha1:f7e7265b3fac6d33c0f13588ee49ce9272779408 + pristine_git_object: b44488995969d0ad895fd0179fa51992078264ca src/cribl_control_plane/models/pipelinefunctionaggregation.py: id: adf42c4532d8 - last_write_checksum: sha1:18d87937807b526d79f85f417474821db67372d4 - pristine_git_object: d15de16b438fca83f4eb4a0e20ebedb0f0508ecd + last_write_checksum: sha1:59753dda54cb085a7ebc564e54c5810820a9e716 + pristine_git_object: 2256f745e2d6edd001943b919ccef910420a82f0 src/cribl_control_plane/models/pipelinefunctionautotimestamp.py: id: 96fbadbf586b - last_write_checksum: sha1:7bd0fe0875332c632561f7d8b36ac8cb50be1717 - pristine_git_object: 59ac7161e3cc7860e4034d025301f02e3ae82c83 + last_write_checksum: sha1:fb2383a5b8cc415ad2e56f454caf14b980ff450a + pristine_git_object: 25e747578ea83f85a3b1457d5873661ef55a6973 src/cribl_control_plane/models/pipelinefunctioncef.py: id: 5524c10dd5bb - last_write_checksum: sha1:14ca7dcd6303a652bbf3b7466ffd8ccd58dec56b - pristine_git_object: 0e070df33658266e739387a9391fa625fa0abb04 + last_write_checksum: sha1:6f1ba4e51ac24c2447ef06c7855838250ce591b0 + pristine_git_object: ae20c662efdfe1a6d8f344ebbdc04f5cba9d4495 src/cribl_control_plane/models/pipelinefunctionchain.py: id: 01552bc12a34 - last_write_checksum: sha1:8ce0ed869e06f272a140c7271b8ab2df13d85b35 - pristine_git_object: affe285ee0325b236a34a51024a77b9b9548cff4 + last_write_checksum: sha1:f3a7cb9c68af704e9da2c20d5472842862b4fb14 + pristine_git_object: e9d70433f3ebed222f1eece817f7c79fed446b6f src/cribl_control_plane/models/pipelinefunctionclone.py: id: 3b631700de6a - last_write_checksum: sha1:c51e71c8d01b740bad6f864ccb81cad676318c54 - pristine_git_object: 21a146155513a179a8c667d6421235f46b15d233 + last_write_checksum: sha1:d6ee5d808157e38d79c31c236cf99a3a4e5ee51b + pristine_git_object: 931f358ec9652e6e6c9fccdc4a25227cb7c1c5d5 src/cribl_control_plane/models/pipelinefunctioncode.py: id: 8164f8fd0df5 - last_write_checksum: sha1:d8453968a5e7232d8288e456587f3b52d8c7ea01 - pristine_git_object: acbef7beebeb5a2ae1df56549f85b8d014fb7c3b + last_write_checksum: sha1:691d24a6c559a35064ba562ed7ca838944709f41 + pristine_git_object: bc8bbcd803890362715215bcd78f17f14ef9d245 src/cribl_control_plane/models/pipelinefunctioncomment.py: id: 505892931c96 - last_write_checksum: sha1:788c126d3c7a5a1d8c6da2b0d7b222b800f80182 - pristine_git_object: 1e869e3e4a7b1a21964430605e2b5049cea1cea2 + last_write_checksum: sha1:bafea75529a96e2c5ad917421777d0cc593b25e3 + pristine_git_object: 096f52f9c15ccc3ba36725ae73a12ef0be5ce48d src/cribl_control_plane/models/pipelinefunctionconf.py: id: ad399d52be46 last_write_checksum: sha1:fbf5d7cd6378f41173573ecf73ce6053df5cb18e @@ -19192,252 +19984,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:ade7012b9f80c46a31eb25a74a31ff8b89effe7b + pristine_git_object: e429b710d60756bd9e129f05d01832778cd9cbfe src/cribl_control_plane/models/pipelinefunctiondnslookup.py: id: 241599ab0d53 - last_write_checksum: sha1:9fc86a008c20aa69f1627c04823d9a6fafdc3b99 - pristine_git_object: 705d3581c593f2c5da1b9dae19bec051932632f4 + last_write_checksum: sha1:0d3e2fb25fa370095bb38877a07b7b3e53871506 + pristine_git_object: c596b85c00f75ebf658be0be27fa638161b94d08 src/cribl_control_plane/models/pipelinefunctiondrop.py: id: cd9e5c5808cf - last_write_checksum: sha1:cb3f218491225e2721490c3a2b7ac9528c8f9922 - pristine_git_object: 3300c4f854e0efe04a9dcc63d786a5db42aecfb0 + last_write_checksum: sha1:2be464290fa5d1901a7b0217c78f205af28a7f12 + pristine_git_object: c93a8fec2fdab7d1879dd87db07ed333d3002f6a src/cribl_control_plane/models/pipelinefunctiondropdimensions.py: id: 12e2d69c5132 - last_write_checksum: sha1:3c5c316d304d5ecbfcee385998990c476e09ec46 - pristine_git_object: 804a26994d6b4e65f65c8ce39132f476978c0093 + last_write_checksum: sha1:88d5be18e16801cff22bcf40cf48e9e49a5f46c8 + pristine_git_object: e046e258b0369469fe806b1b0dfe0e8dddf9d128 src/cribl_control_plane/models/pipelinefunctiondynamicsampling.py: id: adc8d539c92c - last_write_checksum: sha1:e11fb39c2dd986686c61290b244368a7a8c41bd2 - pristine_git_object: ca0006e79b814a77745b49b74f98327d98343014 + last_write_checksum: sha1:6f1d626a9ccf89e9ccd28944c353bc693b0e01c5 + pristine_git_object: adfc8c6bf14b896a548bd70e43f6dee514820383 src/cribl_control_plane/models/pipelinefunctioneval.py: id: 7805c3e49451 - last_write_checksum: sha1:c7676aa477f4d615354a92d0a304575aa9ec1631 - pristine_git_object: 427975fd83d2b8bf02964ef53727b6907151c96c + last_write_checksum: sha1:e75e3674d3f36a3708d9763856f88bfe25defacb + pristine_git_object: b3d93ef3089e655ae367e39896cf53c3c635e252 src/cribl_control_plane/models/pipelinefunctioneventbreaker.py: id: 6394281c8801 - last_write_checksum: sha1:662b4e7d7fba868137acbf16fb62a6b7406f8c5f - pristine_git_object: 3ad1352edba58f27c1cd45f0b6d0d2da6a616826 + last_write_checksum: sha1:86724b1ee71be5184181449cced5b7916a008a04 + pristine_git_object: 696c727c7bdc6d7aadb2a9226bdcfc6e9fc0696d src/cribl_control_plane/models/pipelinefunctioneventstats.py: id: 22ab0971c75f - last_write_checksum: sha1:aa5bf4332a3ceb67a1682f8717d6b189d4c2ee78 - pristine_git_object: 86dd116776abe44fb7cd1177fa6326366bb37901 + last_write_checksum: sha1:d9a5fe83be9fc1efdf7a45b41c033976b93aefd9 + pristine_git_object: 297c44a67f6f56a2b46e2c6d8bc20dff33968e15 src/cribl_control_plane/models/pipelinefunctionexternaldata.py: id: 11d136365c76 - last_write_checksum: sha1:e5a7e38338d8a88d0d1044b5eaf3f043f407797a - pristine_git_object: 7b90dc586431a002a13bd5745860f4d04530abd4 + last_write_checksum: sha1:12ad798eca5cf26f4f3a773804f1089e25f4476d + pristine_git_object: 5c9840820c5bc084dca81840ca2b05fa5a3443e2 src/cribl_control_plane/models/pipelinefunctionflatten.py: id: 4a7d0a817356 - last_write_checksum: sha1:aea43392a5a86b902868d006de6cf502cbf17880 - pristine_git_object: 0619f11c014cf752ecce71e24d1c78b8b891b474 + last_write_checksum: sha1:1bf33f77ee2a578047b6a173654828bd0507228d + pristine_git_object: 631a1ebecbb17ecd2e00d2305dea009d4a0eeb62 src/cribl_control_plane/models/pipelinefunctionfoldkeys.py: id: 100bcce6cb87 - last_write_checksum: sha1:1103a88debdecb23f5adc6ea1680f3e963103c5a - pristine_git_object: 28e7137a3411498b3e876dc654e77f9a9bb76541 + last_write_checksum: sha1:81352f1cc7d93606fdf5dd0e7501df7bc0c30739 + pristine_git_object: e93376ad280050382ac168b24f24a523b97cb645 src/cribl_control_plane/models/pipelinefunctiongenstats.py: id: a3f0a215fbaa - last_write_checksum: sha1:7beb092aff71d72a00690ab36ef9ddaa2d6581b0 - pristine_git_object: 14defcd2bcbde78dd5e4666bd06d2c30739b96ab + last_write_checksum: sha1:df8806738e6248621051a42cc51e61c35599218e + pristine_git_object: 586f46246c707fb50e42ae77c0937946c95b8594 src/cribl_control_plane/models/pipelinefunctiongeoip.py: id: 917471f1f2d0 - last_write_checksum: sha1:2d97afa6d8463f0af5e30aa4caaf87d26efd860b - pristine_git_object: ff87d18c7fa3e3ea33f468e1a54384aab13a35ad + last_write_checksum: sha1:3ad2e5d1fd70d9f9f23d930f40074a610feb64ae + pristine_git_object: 54277557883b10e1adb0f9103683e13d67f4ff44 src/cribl_control_plane/models/pipelinefunctiongrok.py: id: 5931223bb4ec - last_write_checksum: sha1:c2ceed9c26cf7f690353f9a8ed04ab4a12326db7 - pristine_git_object: 65e6923258c9f71e4e94fa65f4496f7304316bcb + last_write_checksum: sha1:8794c181c81cda9b25bc80c3bee6a037afcd6ec8 + pristine_git_object: 76c0887a406101766b0d646029e47cde2b710c1a src/cribl_control_plane/models/pipelinefunctionhandlebars.py: id: c0ee13b00506 - last_write_checksum: sha1:e2b633830ff2e4d21f6282c35234111df93117fc - pristine_git_object: 86cc189754c1b6f09c3c64e7790b7fd490f10c55 + last_write_checksum: sha1:ed64fd05b05fc7d8cd5186c0e2f0b78e647bd893 + pristine_git_object: 66cef6b279f9ae93eda48e4b277f6b86d46730f7 src/cribl_control_plane/models/pipelinefunctionjoin.py: id: 8c92b9592ff9 - last_write_checksum: sha1:8929a28de46be905f0e65f7dccae3f4a29936da3 - pristine_git_object: 92aa71e0b4205a97e26f76fba90ee4ec5d4b4b8d + last_write_checksum: sha1:e2520989e8118a6ed9a2624afff9c5c5d284368c + pristine_git_object: 66957078d9a024892c0fe8bcd6258a55f805ae3e src/cribl_control_plane/models/pipelinefunctionjsonunroll.py: id: 14222da5db91 - last_write_checksum: sha1:22eaf883ef9dba697b6731ff817a557101252220 - pristine_git_object: 54ab0a2805402ca047ed84b7ffb4d1c740f8ef0a + last_write_checksum: sha1:ff55893a897d482a2bcf2f2a7b1e826055a4d4ef + pristine_git_object: 82428937c574a77d7c16ba222d2c0fb4269c512c src/cribl_control_plane/models/pipelinefunctionlakeexport.py: id: d79cb7f88104 - last_write_checksum: sha1:a4801fe98e6a17d9bd83c4a699463257e38b3672 - pristine_git_object: 9dbf30596b95df350461289f45a0fa0c85920ffd + last_write_checksum: sha1:7abdb22676018a1234b43e48c9c5a4eb322a70a0 + pristine_git_object: 5789f58384a170027adc66cdd9b527609a088dfd src/cribl_control_plane/models/pipelinefunctionlimit.py: id: f2ad728f585e - last_write_checksum: sha1:6c14725afd5d10c222fb01618563d70ee65eebb2 - pristine_git_object: b2d242a27a88ca9bb090da3cbefa2d7d7ac5a025 + last_write_checksum: sha1:eb5a5baa6ebacbb07858ee90aa91b05f240ad388 + pristine_git_object: 4bf3e61bda78092d6530f0e5960e74e751f23e2b src/cribl_control_plane/models/pipelinefunctionlocalsearchdatatypeparser.py: id: 55b0c39a5254 - last_write_checksum: sha1:a6fd39f02083b9431dc9115f1b61ad37ae8c98d7 - pristine_git_object: e3e33aadfcc00f665666fb17f9a25a7372e3ed9c + last_write_checksum: sha1:6b316f2102a65b670312587562565bf598f506cd + pristine_git_object: 749983f93ec60b2d8def6a1269bf4ab23049710f src/cribl_control_plane/models/pipelinefunctionlocalsearchrulesetrunner.py: id: 3bb492102436 - last_write_checksum: sha1:2cb583eec8797919cc8e2283a8aedaa7c999667a - pristine_git_object: 19b168dbe29a111ed6d982f38cacb00b23516ea1 + last_write_checksum: sha1:29c91b49886e232d50a74cb21557c655ab68a173 + pristine_git_object: 69bf7c7e6c62bfaa0ea10c1525b55dc197084ec7 src/cribl_control_plane/models/pipelinefunctionlocalsearchschemamapper.py: id: 7461c1d97cb0 - last_write_checksum: sha1:8967bee861a3bbf6843e9e14af1895d52dea99e8 - pristine_git_object: 014332224339942ec5d416fe9f22da1143bb0b2c + last_write_checksum: sha1:b9ecd1f77693bb646c25c6a274405138f300fb36 + pristine_git_object: 2d4322dbade47b253924fe2e2a7540f071af3c82 src/cribl_control_plane/models/pipelinefunctionlocalsearchtimerangenormalizer.py: id: d1d45467bf17 - last_write_checksum: sha1:3e456ec94bc3dadc8484c56b0782a56dda489b4e - pristine_git_object: d469c0dd1f510a0cf36a853186ba16f85a790b50 + last_write_checksum: sha1:2342159543127ad7811da81008edd625019e97f4 + pristine_git_object: 0989ecb8da70ab823c351cc8fae539adfbd33257 src/cribl_control_plane/models/pipelinefunctionlocalsearchtransformer.py: id: f0e012acfd49 - last_write_checksum: sha1:21976c3c745a734390739d7da0ca1afeea1e1aed - pristine_git_object: 2ea8f5a9322a1e05b48c95620a26afb6234bd810 + last_write_checksum: sha1:7113b0cbf328f4a642ca4e6ccc0a3da533c8ff3d + pristine_git_object: 7b98bca4a3bff8ed2140a152e19b5f3c5cd06cfa src/cribl_control_plane/models/pipelinefunctionlookup.py: id: 143755cb1cff - last_write_checksum: sha1:d6037a3ddbff0f3d1b5d9d136252586ad1e38600 - pristine_git_object: 19d3b2aa3513e90c183364fe9766b13a5b19dbac + last_write_checksum: sha1:90fbf7f64f849ee3a10834fa8e4123a587de4b25 + pristine_git_object: eaa5d92624e206048b6664200ad6170a634e9a24 src/cribl_control_plane/models/pipelinefunctionmask.py: id: e87736849af7 - last_write_checksum: sha1:493f68d4b47637ed33f2515b5c625c0315790728 - pristine_git_object: 60fddcb9f83fba8a29deebf0bcaa94cdd50599dc + last_write_checksum: sha1:8fa854b38296009ca40b764fe1d7df6c15c15e80 + pristine_git_object: 1c8bd65ac716d48d07dbe81ec4e07d437ecb6997 src/cribl_control_plane/models/pipelinefunctionmvexpand.py: id: 822e7c9897bd - last_write_checksum: sha1:8cc48a7ddfd5a123ba8bd9c242fa86d289f6a5b2 - pristine_git_object: 9f9e4dd99da6d7926ba9acb37fc65d9d570c6266 + last_write_checksum: sha1:913f3ed7b734a5be02a7502cbde36fd7e63fc409 + pristine_git_object: 9a8b1c74d1feec494db6504fbf7193db22923b9a src/cribl_control_plane/models/pipelinefunctionmvpull.py: id: 55cbf019c22d - last_write_checksum: sha1:35d2b047e23936bca2b30a98786606eeefe32bd0 - pristine_git_object: 62f33b1bab64bb9e0ac683ca6d2d805b935aac71 + last_write_checksum: sha1:697e4d1b8a0bb3bfa895dd78745b27bcef3252b5 + pristine_git_object: 8f8f971ddbbb44e5795b450a76b81728f1518f7e src/cribl_control_plane/models/pipelinefunctionnotificationpolicies.py: id: 4db6404f762d - last_write_checksum: sha1:2ac631b7fc6c7df01e28567cdf3bb46ac0056038 - pristine_git_object: 4d8b556b9456bfb64887072e228610ae995d957c + last_write_checksum: sha1:7e3814db59250a6dd2ccb50a31f968df4704d8ec + pristine_git_object: 87908c76e169d1b8655c6cdde557adadd2ff7b60 src/cribl_control_plane/models/pipelinefunctionnotifications.py: id: fd9e7af78756 - last_write_checksum: sha1:fdd9e14a7965033c97d97ac12076ee88e09d97d5 - pristine_git_object: 5740fe2a3d3c73802e8b554e6f0fe8d7e4a91efe + last_write_checksum: sha1:162bed8076c94b09b0255c73c955c620ef01d040 + pristine_git_object: 2868e5f9c537b94aa26e00c6eba9360e02c53f7d src/cribl_control_plane/models/pipelinefunctionnotify.py: id: a9e95f6e63b5 - last_write_checksum: sha1:918dc59745043ac0d1f73c461f57c942ae09817d - pristine_git_object: ff64c2618a1576b6ebf37ae542165ee79cc077d2 + last_write_checksum: sha1:73541371e22df0f8ac3e6e7ab9f1c3d017686583 + pristine_git_object: b85354c5d649cc5d7851598fb859c72cb451b516 src/cribl_control_plane/models/pipelinefunctionnumerify.py: id: 0770696eafcc - last_write_checksum: sha1:503546600f55bf58e28d30830e745750402ee6c1 - pristine_git_object: befab00b940b95e951cc479695a98f2750c47efc + last_write_checksum: sha1:446e881a4093ca91a13eaf29cf51c46c7db302e3 + pristine_git_object: f5118d67e4f1bd7f167b8ec0b9ce52880de1e823 src/cribl_control_plane/models/pipelinefunctionotlplogs.py: id: 7014d185f4dd - last_write_checksum: sha1:8256f00f5777a9b450896f1ac742e186484e29ca - pristine_git_object: 5417933df2f0a6150768f0fd10323f798d09187b + last_write_checksum: sha1:5295ad78fc545798cf99158e8d5558f5b367a6ed + pristine_git_object: f2b6aefa5dbe286a7ebfe7889dd7d381aa9ff686 src/cribl_control_plane/models/pipelinefunctionotlpmetrics.py: id: 0c76c2d22447 - last_write_checksum: sha1:db8e79b7bfd7dfd64803afffcb2f67aa950c6089 - pristine_git_object: 97cfd0cdbb2fa8ca8748509f299ad1f357a9fc63 + last_write_checksum: sha1:00f69897509fab2ab704f7ae675baaff3eb69460 + pristine_git_object: 08c36331deef0ab0819a23a451200f280378ef66 src/cribl_control_plane/models/pipelinefunctionotlptraces.py: id: 6d1e69d689e9 - last_write_checksum: sha1:287752ebe9ab7e9bbdbe7496b23bd07550a7aadc - pristine_git_object: cecd8af4df8230f0452467c97e2ae852ee1373d4 + last_write_checksum: sha1:71159664356197bfb6050df9117790851ef2afa0 + pristine_git_object: 20bfbfd1a1e9f63cea84aa45d15085711869d0ba src/cribl_control_plane/models/pipelinefunctionpack.py: id: 84a287ad7a49 - last_write_checksum: sha1:65a838fd33054db3ae2de12ae2be3e2ec379ccc9 - pristine_git_object: 4e285ae5ae8ba4aaa84101eaf319bbfea68e66cb + last_write_checksum: sha1:fb7c118e40596de73e6172462d5c463f864ab821 + pristine_git_object: ba785a7ebb7b9242d07229ce1e5fd7f1a0b24b15 src/cribl_control_plane/models/pipelinefunctionpivot.py: id: 2c8c0fb95e27 - last_write_checksum: sha1:5ed21209c470c3d3a962783d8092b08a02369315 - pristine_git_object: 41d4cc716ab7bc89170dc4c96fef8202de3a68ff + last_write_checksum: sha1:692d0ec4cbbfbff1a93c8edcad1323c084a83d09 + pristine_git_object: e9833320fa6f45a2469d0faa8d0bdb4482c7ea34 src/cribl_control_plane/models/pipelinefunctionpublishmetrics.py: id: 6ca37f0b51f5 - last_write_checksum: sha1:2220819e96721d7028ee8be4f998be7aa16913f5 - pristine_git_object: e229c9f8b589e29d88e3d8e630689309755c69b7 + last_write_checksum: sha1:eeeb88e7ef54725757575cfe5553d1a62736d39e + pristine_git_object: abfa538494ca79a3ba6395b35b3d3b6fb181b916 src/cribl_control_plane/models/pipelinefunctionredis.py: id: b2958a41d50d - last_write_checksum: sha1:365a02197c14140f9b6661187408c4bf13f65d02 - pristine_git_object: 11d36412ee96051ef7bace4d48e09726a918d7c9 + last_write_checksum: sha1:8a5f641df176bd0593ddeae7c14f9b9805d78fde + pristine_git_object: 50a6fa01795f65cf9645568799e303f5f438bf0a src/cribl_control_plane/models/pipelinefunctionregexextract.py: id: 959f758592c0 - last_write_checksum: sha1:d1e5adad0c1e26d28f594a1bf66e83bace2d801d - pristine_git_object: f2357775150b51db9ae9bccecdbeed8ccddaccb1 + last_write_checksum: sha1:eda54a7c8495141376572e44a21b491eefc0cc98 + pristine_git_object: 087c2a2b05fcd45389db76cddeab8ed3728af400 src/cribl_control_plane/models/pipelinefunctionregexfilter.py: id: a56bee11e3d4 - last_write_checksum: sha1:599050370b06348ffedc3ce337a3ba2a7ad80b5b - pristine_git_object: ef89a2d3f1d6561771c5fe41c8f6a0b58786610b + last_write_checksum: sha1:b0e08752ed3af591c53d4fc16697fe0aad4215ee + pristine_git_object: 42fbe9db7f1b17b0230e985610fbd9bd49b2ecf7 src/cribl_control_plane/models/pipelinefunctionrename.py: id: 956e42901af6 - last_write_checksum: sha1:cf0d3c2faa979ae926c9d285768a6d35dd96a9da - pristine_git_object: fdc172494a4d7799799544f86be4caae1228e606 + last_write_checksum: sha1:0dea10b31ccbf936ef3120457b807749ee6dc759 + pristine_git_object: 348f5de35e4cfb7a9efdb53887335134acdf38b1 src/cribl_control_plane/models/pipelinefunctionrollupmetrics.py: id: 7ae49003cf85 - last_write_checksum: sha1:6c26a7db5694325bcf68a682aeab0b8944d74edb - pristine_git_object: 70fa991469c8063409694f3f51c7dfd4258bf10f + last_write_checksum: sha1:8a39fd6f57948739c7acf1fc2a300d73b659fedd + pristine_git_object: fc50a05b48a8c7a6ad28b3d92595719b5bda362d src/cribl_control_plane/models/pipelinefunctionsampling.py: id: b87f24912cb9 - last_write_checksum: sha1:3c4bb7d8868f9bf7465709ff65a793fb163d6ec9 - pristine_git_object: 28603c2b3508547b65511e6d39abd26d68fc6887 + last_write_checksum: sha1:78728590cb468815e69a7fee6e30bfb99b2ae787 + pristine_git_object: ac2fac0984793815d1404bcba6c06abdb901747b src/cribl_control_plane/models/pipelinefunctionsearchengineexport.py: id: d8d1e299ad32 - last_write_checksum: sha1:9bafe72eec3c3614466ff1b06f839756fcc65f7d - pristine_git_object: 2820cb443296ba9e94fd3b693020ba04cf68ad77 + last_write_checksum: sha1:e2abc8426911720fe6e640fcbd270cef6d64538c + pristine_git_object: 4d57ed18b80570d8fc48b90ba5b15e4e6c6dc822 src/cribl_control_plane/models/pipelinefunctionsend.py: id: 38b78364c6b9 - last_write_checksum: sha1:dba198258c7a5896a4d47b09cd5b361ee3163fea - pristine_git_object: f5888db732ebdbd208c28e925201174e5187afb2 + last_write_checksum: sha1:6db4c6fccdb0701accdc7efb9ad9bb4021bb2c8e + pristine_git_object: 06b5df09d5e96b28d5db863bb4f5f5666862693b src/cribl_control_plane/models/pipelinefunctionsensitivedatascanner.py: id: 5b27fd834cd4 - last_write_checksum: sha1:c9f5411f59d2c4eda2ae25c9d754149fd680c8f5 - pristine_git_object: 6eadf233644b6f917e7ada077f178f4ea6903154 + last_write_checksum: sha1:af8130a9b38f619c38022f80ad288c10e7847b07 + pristine_git_object: 2dad1c4938d993415655f56df3b5cd0473138701 src/cribl_control_plane/models/pipelinefunctionserde.py: id: dfec9a4e2e48 - last_write_checksum: sha1:67552d5830eb5af045f884ecc1f626ae555f8b8a - pristine_git_object: 56b2dc7ae9d2106f2288558b49c002996a2c52e2 + last_write_checksum: sha1:9af76bacaf0e6fa17233fdc574a172e37dd7e26a + pristine_git_object: d6a02e6d57b0d18109c5fa493d59c52487301c20 src/cribl_control_plane/models/pipelinefunctionserialize.py: id: 2a32d73034c2 - last_write_checksum: sha1:2c7085c0910c4a38ccfbd6f01eeff93e5ac9a117 - pristine_git_object: 0db5d95cd21718fd626de9ea8250ed994781daf1 + last_write_checksum: sha1:6dfb238e5242183f6d341d46b4c0f84c2333e475 + pristine_git_object: ba99b5be7dca2bebf68bef90bc1ea3c6e7824ba7 src/cribl_control_plane/models/pipelinefunctionsidlookup.py: id: b397803e1837 - last_write_checksum: sha1:1df079cc6ab47e397a8dcb60c1d70d474e423766 - pristine_git_object: 1d8ddf70ec1c1bfce617837c03f0913a97df5e9b + last_write_checksum: sha1:2e30e490fee03a38d620190ca89fcc32eb565c39 + pristine_git_object: 49e7d6c61478299614246774a55ffa8f24e16422 src/cribl_control_plane/models/pipelinefunctionsignalfilter.py: id: 1f3da32feacd - last_write_checksum: sha1:cffdda14ef46d06b39914ac2bddf0cc616ced0ef - pristine_git_object: 727dd3018fcfb483586af1bc2354e91eb1070b46 + last_write_checksum: sha1:85e69af0491fe3c7e9a71b47e9457d9f159a27a4 + pristine_git_object: 54b3aed5bdd99202fa3aeecc87c1307da1f3e00f src/cribl_control_plane/models/pipelinefunctionsnmptrapserialize.py: id: 57733556d5e6 - last_write_checksum: sha1:a47dd8e319906fa93fd0d4bf8a757ed9390d3e7c - pristine_git_object: 19005a162650fd5d96c2792b15c71e896d486fbe + last_write_checksum: sha1:413dd6f1947abbacce9d08fbcb9e5a4153210ce0 + pristine_git_object: c2a66ed591f5af900f6072920ab90e1dd7e57700 src/cribl_control_plane/models/pipelinefunctionsort.py: id: 193e97ac9fd5 - last_write_checksum: sha1:5c95769d26d19b15d33cad02d46cd8b712be7032 - pristine_git_object: 0eccf8353841c744bbbf3c557f6e4ed14e0d003e + last_write_checksum: sha1:4a7da33ea2f7f82a448b689cccd01221dc1f11e3 + pristine_git_object: 8e1f2fca1c8dced4ff45b58052360dc78613bfa3 src/cribl_control_plane/models/pipelinefunctionstore.py: id: 7370e8642d01 - last_write_checksum: sha1:998e53c62796ff22a6122fae1713099a415005af - pristine_git_object: 5e8ea48de40e5d0b373bb14b088520269ffa5e37 + last_write_checksum: sha1:5c9b430d7e051613a16e24388f673fbdbe5185ca + pristine_git_object: 5ce35ed26b583ecd33a41fca474d7c5fed963123 src/cribl_control_plane/models/pipelinefunctionsuppress.py: id: a07dc4c5c9e7 - last_write_checksum: sha1:f747dffb3eec18d420ddb2791db45b600e8e5971 - pristine_git_object: 8786688319730c5c683bf4bc84b6e50c5794b64a + last_write_checksum: sha1:e25c08d88afc5be4cd4fe68d61acb00a845ac894 + pristine_git_object: 728cde5e85f988a6a7d539a1132df7bc5e8757ec src/cribl_control_plane/models/pipelinefunctiontee.py: id: f9c4ea0522f6 - last_write_checksum: sha1:ca361099546fe1e8b8db5f1a8fda4f3616bedb9a - pristine_git_object: 49d1abcdbd0797027992ff19ae6afc608cbf5277 + last_write_checksum: sha1:2c79fa3434e48c41ba096021b23bb82c361520d9 + pristine_git_object: 5bfd332e80aaecd3cd8ed65f7bcd781418741fe1 src/cribl_control_plane/models/pipelinefunctiontrimtimestamp.py: id: 9531a70c58a5 - last_write_checksum: sha1:27ca5731489eb938f6e274b2bf68c03387137f1e - pristine_git_object: d77c0130d8da20f09307b564791e3971ddcdcac7 + last_write_checksum: sha1:26a665963f9f164a4a019d8c9fe0c0ef31b8d52b + pristine_git_object: 3237f27dc659c4ec5974533d34b04e0a00c648ef src/cribl_control_plane/models/pipelinefunctionunion.py: id: 7f7f965adbb2 - last_write_checksum: sha1:f8601d0781ecc3847635aa478570297e963e6914 - pristine_git_object: fcf3bed80b9a5bf70223c92f8448a249cfb0a961 + last_write_checksum: sha1:5b4a720c1a29f6c1b126bfe2326b43c0ff43e79b + pristine_git_object: f17631386de76e5d923f1843d623eff1a3ee49e2 src/cribl_control_plane/models/pipelinefunctionunroll.py: id: 9a7fd579eeba - last_write_checksum: sha1:77300f490c47faff8bcfb744ac0412c91fd58c8f - pristine_git_object: d895f83c49e515812242a129b1d142b14e48f613 + last_write_checksum: sha1:22fb3c41a452ec41c27e92f6580b24210f6b1dc1 + pristine_git_object: 8f16f9518b6f0e1d52ab79978cfb227dff8ff131 src/cribl_control_plane/models/pipelinefunctionwindow.py: id: a3b3f908955b - last_write_checksum: sha1:9ccfa1953a7ffd26e05339eb217942c4025c611f - pristine_git_object: 4108c232a1a04904db93c9031faf46cd4a653bd9 + last_write_checksum: sha1:6ac526e143e66b1a8a966fba52832f1787b9029c + pristine_git_object: ff617f1a1ff819f0d3996feefa13ba68dd49a505 src/cribl_control_plane/models/pipelinefunctionxmlunroll.py: id: dc7d73ccfc74 - last_write_checksum: sha1:35cc8f9aa4c21450c8da07d30bc5ab38bbf0367c - pristine_git_object: 4b23ebce5804216d7ff8d45f1fbe8a395165a29a + last_write_checksum: sha1:fb15921262740e4dda9e7c986fa50e39f1f703bb + pristine_git_object: b474e8652588ae31e85dd77759cd849ee6186f1f src/cribl_control_plane/models/pqtype.py: id: 20c891c56168 - last_write_checksum: sha1:366e03cfbfda0788f94d5f15efc9b01841530581 - pristine_git_object: c48e730355d4b0ca21b96ff1020d18baa7077222 + last_write_checksum: sha1:dbf7169ea3b81b2c4246cfdd10087812be1a71d5 + pristine_git_object: 4e92cd7d82af94e564cff3ddc7d01f9c03370837 src/cribl_control_plane/models/preprocesstype.py: id: 81b715137f24 last_write_checksum: sha1:017c57fff5b89f4b8f9bf9bed772ac84abb0fdaa @@ -19472,8 +20264,8 @@ trackedFiles: pristine_git_object: d98e4de6659af33bbfcf250d4104393089b35b69 src/cribl_control_plane/models/proxytypesystemsettingsconf.py: id: 22492dfdfd2b - last_write_checksum: sha1:6217f7e5cb9ee97f2799a0178931e9882fe47e29 - pristine_git_object: 6cf21de1fa0338836af959fc4ae0152df122d82e + last_write_checksum: sha1:475f98fc3cfe2dc14facc362fcf8f0868e9bbf72 + pristine_git_object: bc9e2aed620fc12338a8ec34526dadc4e913141c src/cribl_control_plane/models/queuefullbehavioroptions.py: id: 0dfab6d9bcf0 last_write_checksum: sha1:e8d2c0a58f9d04863559311c0d91a66fa379d08d @@ -19494,6 +20286,14 @@ trackedFiles: id: 5a0ad281a3f9 last_write_checksum: sha1:498315187fc8ede18ebfa71d296fc2afbe3a23a2 pristine_git_object: 185b383844d629b19d01742d190813e7884b5ef0 + src/cribl_control_plane/models/refreshrequestparamconfhealthcheckauthenticationoauth.py: + id: f8b8848153b4 + last_write_checksum: sha1:26a73107d167a01d19141b97381959267f86bc0d + pristine_git_object: 4db94e98e6ca06df29b35ac8726acacd702350a3 + src/cribl_control_plane/models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.py: + id: 700d9f00cce5 + last_write_checksum: sha1:6cf9d03f87a5b9121f9ae90e0c1b1954701e2f9b + pristine_git_object: 0d779b8d6dcafcd632f53f38c7a14e1b0baad28d src/cribl_control_plane/models/regexlistconfserdetyperegex.py: id: f8a37eac3331 last_write_checksum: sha1:dfd1a7b63900461ddd6b3eb3cca8b805f2a393d9 @@ -19506,10 +20306,6 @@ trackedFiles: id: beb4243a4439 last_write_checksum: sha1:fa548c293a08c8637a41cf9430ef85feaa13de23 pristine_git_object: a9060b97b587d3ef58794207af13ea33e88c9c54 - src/cribl_control_plane/models/requestparamconfinputopenai.py: - id: e313e3fe1fd5 - last_write_checksum: sha1:d62fe42762d0959b04dd713918f79966ccba71f0 - pristine_git_object: deab3a1f6ea519131afcf19c1a5c506fd0c630f0 src/cribl_control_plane/models/resourcepolicy.py: id: 8938dd0ef803 last_write_checksum: sha1:5432d9854b89196c635bd5c40918af81663a71d7 @@ -19528,20 +20324,20 @@ trackedFiles: pristine_git_object: 44b7263b662197b876528fe8e27e58afb7aa9fda src/cribl_control_plane/models/restauthenticationbasic_restpaginationtyperequestoffset.py: id: 6547fbaef4e4 - last_write_checksum: sha1:c45aa6c5b8a7ef18b407df35fa59040afc5d49a5 - pristine_git_object: e448d6d41b2e12774b00fab262f96f58f7393747 + last_write_checksum: sha1:b3dd87e172a0d052d55710d96b0d83092e89f553 + pristine_git_object: 91623a6cdd126c37cdd13e57ac1ba82494a4879d src/cribl_control_plane/models/restauthenticationoauth_restdiscoverydiscovertypehttpdiscovermethodpostwithbody_discover_type.py: id: c36ede766867 - last_write_checksum: sha1:9b0758064e752a3b971ce35d034b8738040a8a67 - pristine_git_object: 752778b4d125c20035b43bdcb157d4278b06498b + last_write_checksum: sha1:b554d45df706c6c1db8c80e1f35c53041b7cdbc8 + pristine_git_object: ae216fabda6081f6783f27ac3df7f1f8aaf7ea2a src/cribl_control_plane/models/restcollectmethodpost_restretryrulestypenone.py: id: e30db047228a - last_write_checksum: sha1:59232b259b82cdbdd9371b7c50c2f371f211057e - pristine_git_object: ccf8d54969d71035782fcb2600536a83c1e62a82 + last_write_checksum: sha1:d1f5bdbb3ca97f39fd268eb93fe31eb908ab699c + pristine_git_object: e41e0ad44f533d9e713ebdbe167caa4f5ce80403 src/cribl_control_plane/models/restcollectorconf.py: id: 2fc48d1a6f95 - last_write_checksum: sha1:3561bb5d3299936801b2d4797978cfc2ef2ecbd9 - pristine_git_object: 4f3b98f0d46da878ff06afc87ef7653a94a7c715 + last_write_checksum: sha1:e243c840e5c48c519eb6ee78724dec11e385fe30 + pristine_git_object: eac09347b5e062284dd8c82f7b2b627d8d690734 src/cribl_control_plane/models/retryrulestype.py: id: 8be2ca6f94f8 last_write_checksum: sha1:a14ff75ebdd47bd3422e46266c83efc5c96cc3d7 @@ -19560,8 +20356,8 @@ trackedFiles: pristine_git_object: 358306fa74b2c89c7e7d21de2078c7e1f639dd39 src/cribl_control_plane/models/rollbacksettings_union.py: id: 1c80d4325db7 - last_write_checksum: sha1:9631b4336767534c69f52cf928623a469b197c8f - pristine_git_object: 2598c7d16e1d17b2b00fc16f334f8e4115548b88 + last_write_checksum: sha1:239167b938fef98fd1989c39c88281b51a7fe89d + pristine_git_object: 1e3cb2d478d9b63477b2858a01ca4e4a55181779 src/cribl_control_plane/models/rootnodeconfredisdeploymenttypecluster.py: id: 790229faf139 last_write_checksum: sha1:f156e5dc14d384fc272e5698f7c9d57c5b7f714a @@ -19596,20 +20392,20 @@ trackedFiles: pristine_git_object: d8fe401a75c1bee9d57fdae67013063bc3933c24 src/cribl_control_plane/models/runnablejobcollection.py: id: e13f247d077d - last_write_checksum: sha1:6211c86f12231f463f00baa27ecdff75726f982f - pristine_git_object: 0ea88c86404a7c93a493443e999c50306750376b + last_write_checksum: sha1:82cb3d48341e2519825cc18f50c7630df8350743 + pristine_git_object: ce0a3186b333d27bb84eca2ac21e80349bf19545 src/cribl_control_plane/models/runnablejobcollectiontypecollectionwithbreakerrulesetsconstraint.py: id: 1a2551a89ab2 last_write_checksum: sha1:360542d2aa5b9f635b6b5af2cc537c9410e5454c pristine_git_object: a7ecc58ab36a5dce3664a2e8a3dc841edc8765d1 src/cribl_control_plane/models/runnablejobexecutor.py: id: 49e90f6ba83d - last_write_checksum: sha1:39fc52186608c930361053443e5e5af4c0131258 - pristine_git_object: 678e98c6ed7a11dddc684107a44ee3ce7ebf3d57 + last_write_checksum: sha1:2ad913eded314fb2a28cfe056dce362844510eed + pristine_git_object: 2b0f6ec6c1dde02028e40666877cdaa2e3c58933 src/cribl_control_plane/models/runnablejobscheduledsearch.py: id: 035785737aee - last_write_checksum: sha1:20f73f954e2bfe1b23a7b1c2bd029a57ebd511c9 - pristine_git_object: 326a735c153841b9f44916c0541bbf1eb6909916 + last_write_checksum: sha1:2ade0af319969b3751e8e9444629aa0cd587f8c0 + pristine_git_object: d4930580e494377d12360f2fc0e40ab97f8f56fa src/cribl_control_plane/models/runsettingstyperunnablejobcollectionschedule.py: id: d69e51fa951c last_write_checksum: sha1:d2b15238c0a0e21e80c24c6497dbd3a3b66e0f51 @@ -19640,24 +20436,20 @@ trackedFiles: pristine_git_object: ed654fc2c96abb4be99daaa869244b73633d82e4 src/cribl_control_plane/models/savedjobcollection.py: id: 8acf5f84f8e5 - last_write_checksum: sha1:f311e424fb870f8728f2c2f0a0f7165973fa0bfc - pristine_git_object: 5fc871aeabf16d596c5707c45dad91cf6991c448 + last_write_checksum: sha1:b9e2c905d931cb7cca5839e4480518b2cf33fb73 + pristine_git_object: f637bd75da02733d0dcbb151775c0fbeb5a9cabd src/cribl_control_plane/models/savedjobexecutor.py: id: 1b7fb9775cdb - last_write_checksum: sha1:ca99cc8eff08b595e48e792c5f0c08ce0af89239 - pristine_git_object: fb9dba7413771c756532e69dad5839ba7a2a33f4 + last_write_checksum: sha1:b464caaa9e0d97fa85b1c9eb7745df099dfc1ffe + pristine_git_object: 5097c50d30b837c3c2ee0d8a7877be5303d96e7f src/cribl_control_plane/models/savedjobresponse.py: id: 83a9fbbe1f6f - last_write_checksum: sha1:7fba715b379c81f2065b50d778c2472ad18215dd - pristine_git_object: ecd184be168584471907501cbb7921ad549d4817 + last_write_checksum: sha1:c0f8830c4a69396e336ae00dff80cc980da2059e + pristine_git_object: 3d78c76aab6f11e10bee2295fff6991200e0a261 src/cribl_control_plane/models/savedjobscheduledsearch.py: id: 7dcfacfd4540 - last_write_checksum: sha1:90b6f17ba52080a9400605111599ef15a5668676 - pristine_git_object: 5ffe861f3cd44282781949369dbb718166dc9273 - src/cribl_control_plane/models/scalarorarray.py: - id: cee1a3d9b0d1 - last_write_checksum: sha1:f2386d3993ae3ce71523cc75b0e6fe37ed8e8794 - pristine_git_object: 1428543b258658f13b52fa6b914077171777cf2e + last_write_checksum: sha1:ce3a6baabccb463076e19e9d9f7de75621427b81 + pristine_git_object: 9b142611bda15c55164a6afef8260452c886f2be src/cribl_control_plane/models/scalereadsoptionsredisdeploymenttypecluster.py: id: b5971b06a05b last_write_checksum: sha1:1fd3c7e0d4dfe5b1b31639e1ad28831fa1e448ba @@ -19686,6 +20478,10 @@ trackedFiles: id: 26650c3dcc46 last_write_checksum: sha1:32953c26a1d8a67a14051618319e8b7ff67a7ff8 pristine_git_object: c3fc4cc80badb8b8c0e07130dee44f96d78ea578 + src/cribl_control_plane/models/secureversion.py: + id: 60ba4959eb41 + last_write_checksum: sha1:6e84e79c537b667665837a7b12e72f8af71f2723 + pristine_git_object: 06dcab078e9d4091331f7c9de5acba903ee29162 src/cribl_control_plane/models/security.py: id: d0eeb9ff91a7 last_write_checksum: sha1:9f552b792a955fec0d1c9b8a0cf3497fb2e2b6ea @@ -19704,32 +20500,36 @@ trackedFiles: pristine_git_object: 1773dceef2eeea7c050a18b5014c70450c045598 src/cribl_control_plane/models/shutdowntypesystemsettingsconf.py: id: d7179c8ede9c - last_write_checksum: sha1:26acbe83ac0491490765d1bae1746d993d420d58 - pristine_git_object: a7942d263a22caef289afa84235dbea3afe58522 + last_write_checksum: sha1:9e91f687d127dc362c8ef0ea707efd71450ae362 + pristine_git_object: e6804e0500c2f424a2e2b7afc356d824e61d6532 src/cribl_control_plane/models/snisettings_union.py: id: ccabd2df2863 - last_write_checksum: sha1:da806d7154330929702b827b2b8713155039c938 - pristine_git_object: 2ba89a1af4abc99619ca9cec7ea0276c0800f7cb + last_write_checksum: sha1:76a4523056935be615bbc165d2a8296849af0a4c + pristine_git_object: 0cf7ee94386c0721e7717fd4ada17215bb8ff884 src/cribl_control_plane/models/socketstypesystemsettingsconf.py: id: 93744a5677fd - last_write_checksum: sha1:c2d39f3aeb1c9ad5116dd29a46dafa41e8b32000 - pristine_git_object: 03094d1fa06d5c978e9514913083db17248b6095 + last_write_checksum: sha1:85b6b037624cb5ea59f158b6c4b446f16f104281 + pristine_git_object: d2b65c2ec65f3af47e9b512d9530c37cc32d784f src/cribl_control_plane/models/splunkcollectorconf.py: id: 7525a4c741b5 last_write_checksum: sha1:ab3094e42076e9a7983fb4bb4163096e2d0e6b83 pristine_git_object: 18a3cce91933f4eb265613914518af7e37987a28 + src/cribl_control_plane/models/sqsauthenticationmethodoptions.py: + id: 0829340cab03 + last_write_checksum: sha1:aae095b0f78d8d6ef29fbfe474a6391e721b05da + pristine_git_object: 99f333647bd9a699af26ed053986af949e245bef src/cribl_control_plane/models/ssltypesystemsettingsconfapi.py: id: 7cb4b7040f29 - last_write_checksum: sha1:5ce82deb786087f0d55fdfcff8115e6a136ae9b6 - pristine_git_object: 47f19be914a904c4c34e6096349fcb985acda648 + last_write_checksum: sha1:443119069bc72c811453af18f7192c77f98b9d97 + pristine_git_object: df804aca440eb41a06ff6a7e7c4ff364b50ebbec src/cribl_control_plane/models/statuserror.py: id: ba0fc3f8601b last_write_checksum: sha1:1b6205e2537d45d75630aa9a24cc150878c96a4a pristine_git_object: 1ee565345948bf531795c59a94add4acb9e31f73 src/cribl_control_plane/models/statustype.py: id: 023ac0992084 - last_write_checksum: sha1:717366d491d95d6f8d5710be1ee08b91410a4917 - pristine_git_object: d753ea309b9fc75d6964a3d4e576a6e9d655152f + last_write_checksum: sha1:a254e0c7a95a52df227acb17725aa2dab6535603 + pristine_git_object: 40b58b7fa7d344d99c7a34971ec8f47ba3ce741e src/cribl_control_plane/models/storageclassoptions.py: id: "638180140651" last_write_checksum: sha1:2805c6816e2bf3fd96541627efefd57cd0c5d373 @@ -19740,8 +20540,8 @@ trackedFiles: pristine_git_object: b329576a93c199ef7561f35bfb2a4a4b20a7874e src/cribl_control_plane/models/storageclassoptionscribllakedataset.py: id: c8da6212a5da - last_write_checksum: sha1:f5df6a55a376da5cdfcd590cbeaad636be036470 - pristine_git_object: ed153555b95fcdfac4d352fdbd13ecdb95d1ebdd + last_write_checksum: sha1:e8a219d55ea01e2234d6024ee7d8526cff32ea65 + pristine_git_object: cce1967f402265bfd87cd46a7e79dd0a374a7c8b src/cribl_control_plane/models/storageclassoptionsreducedredundancystandard.py: id: 6df626c20891 last_write_checksum: sha1:4b8af046db00328c6d9b3288502d4993b5a122ff @@ -19752,28 +20552,28 @@ trackedFiles: pristine_git_object: 3659b0deb9eb0360883d015531c024ab192862b8 src/cribl_control_plane/models/supporttypesystemsettingsconf.py: id: db50dc10d913 - last_write_checksum: sha1:7ded825f4b85e11a826f5e557337039a667e8635 - pristine_git_object: e81756bf45205c62ef6a32abaf5118d2c3f596c5 + last_write_checksum: sha1:b695a7c822bdd321e432354ca71fbd986a7b3368 + pristine_git_object: 27d246239c32384932fd780001875231029680e2 src/cribl_control_plane/models/systemrestartresponse.py: id: 443d962e715f last_write_checksum: sha1:bdbe5992f0dd6d31e9c72e6c011319a1c4ade264 pristine_git_object: b5d34b6d82805e868aa4bed3e1a11e3c256a0aeb src/cribl_control_plane/models/systemsettingsconf.py: id: 16dc1f9e00cf - last_write_checksum: sha1:d6d712e9ee41ad4136f34b9a3a3ab53a87093074 - pristine_git_object: 1a4b1956202d9afee0f584ce4122dd7b2f7b9225 + last_write_checksum: sha1:02e71dd782ec5b2ebdcba6a31ab156ae5bd9392b + pristine_git_object: b3911098ad7e8a0726c3ffde57479a4949047cf0 src/cribl_control_plane/models/systemtypesystemsettingsconf.py: id: 2a279644220d - last_write_checksum: sha1:a98b022e960483eac2b83a79a76d233f4f6c100f - pristine_git_object: e696d212e50be5662a3aac9af38cbca8bad2f4af + last_write_checksum: sha1:8d060059092c56a1f56c52f586a6f3cad1b6058a + pristine_git_object: 2b602f627ecc310567f5120a670f2795424a77ab src/cribl_control_plane/models/tagafterprocessingoptions.py: id: 93e17670dbb8 last_write_checksum: sha1:b29779a620c0d4b6566ad2003d1221f9326fdc4f 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 @@ -19806,6 +20606,10 @@ trackedFiles: id: f9618e83bc1f last_write_checksum: sha1:226e4bddeaaa0eb70002a57f460d42c5e8183fae pristine_git_object: f950ce0134b11bafe20cf93429b4a5d95b6fe0bd + src/cribl_control_plane/models/tlsclientparams.py: + id: 80f1cd8343d0 + last_write_checksum: sha1:d87c45fe0ea6d29d947113e521218d4e163e06e1 + pristine_git_object: 5c9b657e9a38b73c46930c64ebbd891c69bd6aab src/cribl_control_plane/models/tlsoptionshostsitems.py: id: 138c93fb3cdc last_write_checksum: sha1:82e8e2ef96b89ee2ce93966a4497fda09b949653 @@ -19816,8 +20620,8 @@ trackedFiles: pristine_git_object: 07a4e56d35fa2e8e1b8a19774dc08fbc283ab265 src/cribl_control_plane/models/tlssettings_union.py: id: 1166b93d81ac - last_write_checksum: sha1:c41c38ff7d6b01f6b24bfb776ab86e2d8a614b76 - pristine_git_object: 3f7a736341af4d0ff2a696e8f4109df617840211 + last_write_checksum: sha1:9cacb69ebd57582250de3c13a6e20bedcf991fa0 + pristine_git_object: b1b9f7afef188e4d502ff97f3c22c3b64b153ff4 src/cribl_control_plane/models/tlssettingsclientsidetype.py: id: 3f51ad6d9169 last_write_checksum: sha1:d08279d309daeb77de2f017beeb5fccbd8c0b971 @@ -19836,24 +20640,12 @@ trackedFiles: pristine_git_object: bdb3346c3d1f39ce13ad4a47bd72a1a5f6e0933a src/cribl_control_plane/models/tlssettingsserversidetype.py: id: 812bd0e9776f - last_write_checksum: sha1:8c2691b315b3eee825e485aa0a44e5a8e9a6c75d - pristine_git_object: 45fb67c997d176896189d8cae8e4b75d977c5bd4 - src/cribl_control_plane/models/typeoptions.py: - id: 57c40538e449 - last_write_checksum: sha1:d0dc31c97081762e63379969e75410d77732fe92 - pristine_git_object: 70d122e87e71f40903efce99c885b3c073f87724 + last_write_checksum: sha1:a3c21d94e002b5a249a9a94acf2d444fca7d0275 + pristine_git_object: 99f87f94e5038f60599dc2deaf9d15c6910d361b src/cribl_control_plane/models/typeoptionsconfiggroup.py: id: dd3340946d29 last_write_checksum: sha1:26e35c74bcf2acc4c477f6e443193668870e18fd pristine_git_object: 816d8366c306fd5a31857f42f8c807404b8c3476 - src/cribl_control_plane/models/updateconfiggroupbyproductandidop.py: - id: 85e304a8b31e - last_write_checksum: sha1:e0fca019412f51dd2668238f1457dee41c093021 - pristine_git_object: ebd326372075d25f882a4c76a098c1fca0477f3b - src/cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py: - id: 824f7fe5542b - last_write_checksum: sha1:b6098a000d66ac3bfd9c2e79ffb406a390a382e1 - pristine_git_object: b7f8a91707b63dbd7a6c65195ce78fc7a3cdb277 src/cribl_control_plane/models/updatecribllakedatasetbylakeidandidop.py: id: 67f1c4445d6d last_write_checksum: sha1:52510f9d5c8b571384a7d51ac0328bcd78ea7c18 @@ -19864,24 +20656,24 @@ trackedFiles: pristine_git_object: 3f0886be680e61011c601ca6fa71a303b3b275ba src/cribl_control_plane/models/updatehectokenrequest.py: id: 74b0801e5d2f - last_write_checksum: sha1:d267f9194e3daebaa13accf1f5aa3df25bf494b6 - pristine_git_object: 934d856351e47b1d8da48858b8bf3a703615a9dc + last_write_checksum: sha1:1151ac3ef551156b82f98d309f2de9344c10da75 + pristine_git_object: 26cdd13f28a671599ad20653644184e004bdf84c src/cribl_control_plane/models/updateinputbyidop.py: id: 43771c848dea last_write_checksum: sha1:813f5b0359d2821eb41e983c5a7a3a299abde4a2 pristine_git_object: d4191c7fe15fba110436f049345f31f8e021c1c9 src/cribl_control_plane/models/updateinputhectokenbyidandtokenop.py: id: 9855e9c2c13d - last_write_checksum: sha1:c9fb2dec0efac7cc0712231168efe7709cfb39af - pristine_git_object: 9d7eb2fa2e3e7392fb19ebca696c7a99f1fd68c9 + last_write_checksum: sha1:e8f19d8fb4b9821e03a0a6e6ff315fe542abaee0 + pristine_git_object: 83852a3fac19e58c4a0de2f9e30a760c1b71f010 src/cribl_control_plane/models/updateinputsystembypackandidop.py: id: 63d915d61ecd last_write_checksum: sha1:c783f8e88f10cd35d9f523e44e4a6c23d44f76e9 pristine_git_object: 3a3b254e00f99ffd9abbd5134fe30ca7e4886561 src/cribl_control_plane/models/updateinputsystemhectokenbypackandidandtokenop.py: id: 6a20e3bfeca0 - last_write_checksum: sha1:aa775e2b0ab1dfbf0e6391cbf05b519203aab589 - pristine_git_object: da6f2752f1934c46d45cfe0efa7a7cf509cff062 + last_write_checksum: sha1:f05c9b7486d05deeba2c214d966e56a4fd586866 + pristine_git_object: f9217474c9f27034af692c0be2131c8c5f6dd877 src/cribl_control_plane/models/updateoutputbyidop.py: id: 71b2f6cc6bcc last_write_checksum: sha1:bf23e65bba9fc1fec148a446a13956d03319de0d @@ -19892,12 +20684,12 @@ 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:5c33ffe28769be8f962ee725e31868d2b304054e - pristine_git_object: 966b1e0fea856b823886a93cfd1d6c63adcdd9ce + last_write_checksum: sha1:70cf2e68176508e4b29b14105d5a2a195fb01158 + pristine_git_object: e4a2ca5293150d2ea74088b0e83fc98ff298baee src/cribl_control_plane/models/updatepipelinesbyidop.py: id: 9f10e2cff08f last_write_checksum: sha1:ba8f074e3bc8f142a158fde32c7e20a62a8fc5ec @@ -19906,42 +20698,50 @@ trackedFiles: id: d5b2132d2672 last_write_checksum: sha1:37302016d0771e7bb0b68e4623a86f4fd5b4111c pristine_git_object: 12ada180041eb0de952287f0f06c3207927e779d + src/cribl_control_plane/models/updateproductsgroupsbyproductandidop.py: + id: 81031448d938 + last_write_checksum: sha1:0ede2ee9edc5dab7bfdb6bbba746e88c3085038f + pristine_git_object: 1a4150baf944bb16c70a135b70afd53f681b1a53 + src/cribl_control_plane/models/updateproductsgroupsdeploybyproductandidop.py: + id: ae02f095e53e + last_write_checksum: sha1:2d89eb35bea1736bb69ffc8ca2c075e6b22dafd8 + pristine_git_object: 8be99f1649d45bfa637124378d15c02fa9984b1a src/cribl_control_plane/models/updateproductsworkersrestartbyproductop.py: id: 0f5efb0aa695 last_write_checksum: sha1:059a01dab9c9d4fe57c9bdb365ecfd3440345c0f 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 pristine_git_object: b6b4e0aa773fb202c60c0421b6cb9747271b6364 src/cribl_control_plane/models/upgradegroupsettings.py: id: 9a33ba5af5a4 - last_write_checksum: sha1:b877128b6a603ddcbc2a781db9d5ece30ea63dac - pristine_git_object: 61a708bcbdb92551817e7e1270131e0f59f50b16 + last_write_checksum: sha1:ad23b2a5e866742001ed6f9a285a95cb55f13fcb + pristine_git_object: 07e5e2c5f930eaa8da11394aca199a3da60976cc src/cribl_control_plane/models/upgradeoptionssystemsettingsconfsystem.py: id: c40de33c8adf - last_write_checksum: sha1:e91ad93313722b5604212d7d2025910c17555700 - pristine_git_object: 71a4167240da5db0f4133d19db8aaf806e2f2362 + last_write_checksum: sha1:3b86bb0945c0ba573dcff93732deb58d0f33b430 + pristine_git_object: ec7ffb1e6ab33e28d250512b537240f4cdedc286 src/cribl_control_plane/models/upgradepackageurls.py: id: 383298fa5bb6 - last_write_checksum: sha1:1683b16c704456dee68c67a38506e4230f3ee9dd - pristine_git_object: 31594886953c0f48d7c8d770d4955180c58b0d54 + last_write_checksum: sha1:b7593498c683530020e31466f1e3753af00a5c40 + pristine_git_object: 18c770270394347608844754f773d240a5ff9b09 src/cribl_control_plane/models/upgradesettings.py: id: 3963d25a75c2 - last_write_checksum: sha1:adfcf8b5c22390bfd03e635a39c888299a603cf9 - pristine_git_object: bf7a323566c29fae1547afd39b36fe2922cd17a0 + last_write_checksum: sha1:f3e40cc61cb03b4b0554ba493d137a8c48fd5cd3 + pristine_git_object: 5700b4fcc649a2eca6b47ddcc391effc417625e4 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 @@ -19956,120 +20756,120 @@ trackedFiles: pristine_git_object: b0519d95e6a11d30d999b9173eccf9d71eb88b60 src/cribl_control_plane/models/workerstypesystemsettingsconf.py: id: 3763852e9a22 - last_write_checksum: sha1:f2a37fbe878b5fc5ce3c1b27cc8689de11751007 - pristine_git_object: 490bada76cbc3b6992f5b213795ababa0133b3ed + last_write_checksum: sha1:3cb9b7925468684a8a9bbf32084d1168bb90ebba + pristine_git_object: f75525660641692c6a5e3e2a5adab6871ccc096a src/cribl_control_plane/nodes.py: id: 75dce3f48fe0 - last_write_checksum: sha1:b828139f1303938ae58c97f3778c0b0f375a9131 - pristine_git_object: 4146e13784041607e0116f47bfed35fc7a28c224 + last_write_checksum: sha1:53d4b29ddc3cb96fa044f30e0fa7c54473150daa + pristine_git_object: 172606156ca30e5ffb3419b8b3d67bf177d9064c src/cribl_control_plane/packs.py: id: c77b21eb4262 - last_write_checksum: sha1:cfb46dc89809136848646a5351d062ec42029288 - pristine_git_object: 25f1283eeb729d3fe27bf2a404d82ebb245c8ad8 + last_write_checksum: sha1:77cff6eacf91708cbc20bc30aa822c297a3afa1a + pristine_git_object: 3bd95048ce161a1fd084ad034f832028c9e85a1b src/cribl_control_plane/packs_destinations.py: id: c450853c5ba6 - last_write_checksum: sha1:58c081ed0bc3123ecc902f4969ccb8cb4c74cbb8 - pristine_git_object: 589a624a074bc23316281b916f7b60f3ce72511a + last_write_checksum: sha1:7257babf669e3d7f5d2c775336935282b3028d9c + pristine_git_object: e68dadb7c3f5ff2f61d1c724259211809aa688ee src/cribl_control_plane/packs_destinations_pq.py: id: f732f776c1e8 - last_write_checksum: sha1:bd68382f150e41f2f1b109778667b10eb6a7c006 - pristine_git_object: 92d7f2ad4fc6d2bd050c53cfbf9ab1b03944dfbb + last_write_checksum: sha1:af68ddada1327da051bb0e79f6665a38503f974a + pristine_git_object: 4b68149e35acb709fa4393574988c612a224b77e src/cribl_control_plane/packs_destinations_statuses.py: id: cd43b6b72fd5 - last_write_checksum: sha1:6fdc2d6bd5b947edeca5c66fd23aa75850483338 - pristine_git_object: b25f4e0ac94e245a857476dea84ebf9be780fb1c + last_write_checksum: sha1:0b71b169b29285a84e9eb731f8c845791415563d + pristine_git_object: 3951ffda3b76a61ff83abfd3196266545a4b5701 src/cribl_control_plane/packs_hectokens.py: id: 9cf63557bac9 - last_write_checksum: sha1:aa8040a8e29b62318f995b18ae8d722775462ecc - pristine_git_object: cf126021492f47b9067efac0c64b94d23b8a720c + last_write_checksum: sha1:902eecb54b3b0101731687b494e886a68ebc7013 + pristine_git_object: 6318bd0a02095c74ba5885cde548be46147e7080 src/cribl_control_plane/packs_pipelines.py: id: 674c9511ec91 - last_write_checksum: sha1:0aeaa54bee976db8e99d42efe61eb470cbab11de - pristine_git_object: a6b1ba721828c23fe8e6b046081535e23d3065a1 + last_write_checksum: sha1:39613ca2e76dc63bbbc5ddd48d7b15bf761f7373 + pristine_git_object: 5882b5ebbcdeac294c7a94efe0b59ec385cbcf20 src/cribl_control_plane/packs_routes.py: id: 6f322a6e1e21 - last_write_checksum: sha1:fac374f395fe078ab43406ffa9b27c3ffd90d72c - pristine_git_object: 55f0b9b98ef40220322b88a633bb81498007610b + last_write_checksum: sha1:89bcefe70b2e69e53f8a3d35ad01ff458e481e97 + pristine_git_object: 8b1570092af9d73a7930cf8643e91993d962159d src/cribl_control_plane/packs_samples.py: id: 5d0ef82251bf - last_write_checksum: sha1:1eff3645dc50985da7d926059fd1c6cb832291d4 - pristine_git_object: 7240d15801b9149266ddba797f9fbbeec7768033 + last_write_checksum: sha1:77bdf26c299ce4f049de6571771ca23208636b21 + pristine_git_object: 12e75aac2f4f0af371409ab5146e672b3a545ea5 src/cribl_control_plane/packs_sources.py: id: 501249caef46 - last_write_checksum: sha1:04f3bf246782750d0a521a9d3043462a3c5f91ba - pristine_git_object: e946712f0c7ae4cb52490524983ded347ddd9b6a + last_write_checksum: sha1:af6185be1170f87fbc3b6e7559f0fc233183980a + pristine_git_object: a4f74300315d145d63e582a00f1ac8b513208fa1 src/cribl_control_plane/packs_sources_pq.py: id: 4bee3b051119 - last_write_checksum: sha1:f4690b0846d6639e2a33a8799aea056f7a8badb3 - pristine_git_object: 97afc6a9860e90f54e1d25499f3cc4d75cb8b7f0 + last_write_checksum: sha1:c51e6ba7dfa568bdd8e77fb117c99097ece1dacd + pristine_git_object: bd12910d49d4f135134e730cd73bc9dbb5b8dc5a src/cribl_control_plane/packs_sources_statuses.py: id: 8af1e98f4cb6 - last_write_checksum: sha1:2f490d1d86c8b70c0a546d5323c88242e193237f - pristine_git_object: c254147be373ebef019f00b70d47b851e4c5f3b9 + last_write_checksum: sha1:f5959ed23547bb09fdf21b0cfc65086b93992300 + pristine_git_object: f8449e9da83c9553ebe19a60f0943c2745c37a0a src/cribl_control_plane/pipelines.py: id: dc1a703eab78 - last_write_checksum: sha1:a810977c2bc7a2c28b15dfef88d6238ef8f20320 - pristine_git_object: 4dced206457320946114e91d40340be98ebff7c5 + last_write_checksum: sha1:902d7496f80983225f79c20e1026719f986e262b + pristine_git_object: 478462868bc7e14b65199ce6a7dade1b102a99b3 src/cribl_control_plane/py.typed: id: d1e7cfa63a0b last_write_checksum: sha1:8efc425ffe830805ffcc0f3055871bdcdc542c60 pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544 src/cribl_control_plane/routes_sdk.py: id: d47e5614f00e - last_write_checksum: sha1:5a802b53a13db32b0c69cd1cdec7629dde111681 - pristine_git_object: 6fa1ef19b4465d24a29b35a55aba66769a783619 + last_write_checksum: sha1:8bd78bcb3243e013bbec8e7fb1b58d3021246465 + pristine_git_object: 78f9b61bd9e2767554e1ae5a5f3fccd99c72672a src/cribl_control_plane/samples.py: id: 18147abe7c06 - last_write_checksum: sha1:19376e821796f2d21912dcdbac70fda903bb766e - pristine_git_object: 147b8d8a6236e309497b178cf3e74d59fe1b4981 + last_write_checksum: sha1:17acf0b64afd8785c4a07cb5280e322ab6ed44f9 + pristine_git_object: ee781c26a0134f8aa5d978303a9b9ab3aab8f32e src/cribl_control_plane/sdk.py: id: ee02d2b5889e - last_write_checksum: sha1:bbe94831d3f126bd8ff257742e9eddf042f9a5ab - pristine_git_object: 7cd8f6fed944cb3e72c0afdf14a8290dfd1cabc8 + last_write_checksum: sha1:82fa9fdd11f6f7429c8e654c965c1da0f9613a99 + pristine_git_object: 926d8aeecd15898b78551d7a29c2d5f36fd5175d src/cribl_control_plane/sdkconfiguration.py: id: bfdcc08a1a6c last_write_checksum: sha1:f87d743f3634a7876872f45919e6f48538fa72c4 pristine_git_object: 2ac8c7744309f06fbb3faefa3cd708346f3dc406 src/cribl_control_plane/settings.py: id: 346a076742dd - last_write_checksum: sha1:2acb0959cf9288aa4467ec004846863d65516c4b - pristine_git_object: ebc2e5f28649cafee03a22b39a8af2b7c2de1f93 + last_write_checksum: sha1:3501534324a75e28d24ec91227f418a64053d078 + pristine_git_object: 02a02987c753f6746e5be64251b7917cdb47fee8 src/cribl_control_plane/sources.py: id: 51c4b88fc5fb - last_write_checksum: sha1:b47cdedf9fd45cf83d330218eb4fa19cb82b51b2 - pristine_git_object: 950c867974ed49e4f4cdb6e1aaccde272d4b9bc5 + last_write_checksum: sha1:5cd3587c010cde5606d634322020b23f55a13050 + pristine_git_object: 0329093678b3af2def164535a727b7e74007e3b3 src/cribl_control_plane/sources_pq.py: id: f83af0610b37 - last_write_checksum: sha1:45d9dbd14463918fc6a7e4552bfc33d709f67d81 - pristine_git_object: acecc6b70cdbae0a5d1181d3abd019e526569a86 + last_write_checksum: sha1:4bbc1687efc3d8bfce7b578a0e956cf3f5883675 + pristine_git_object: 09e63bfce6fb66c0ea5d65d28c221c233b7e1409 src/cribl_control_plane/sources_statuses.py: id: b33d5c30a8f7 - last_write_checksum: sha1:cd1906a31a45622b66e19cb45fb52c9b14f5956e - pristine_git_object: 3e5c86476a1e5f2e0217eaf28bd4e0de7d5c3666 + last_write_checksum: sha1:66235d25760db57e232039f3adaa60c34a238dc5 + pristine_git_object: 787defc2db88f9bac9f0606ce4b5976067f6567a src/cribl_control_plane/summaries.py: id: 7a0e86f2b16e - last_write_checksum: sha1:e812ccb6f704f197b64ff5ac52aec31aa681a48f - pristine_git_object: 9f2c5dd894d310e3bd8de3b8ca50d99e6da2c992 + last_write_checksum: sha1:ba86604c8a7f24de198715b3bdeed9d39c842ecc + pristine_git_object: 9bbc0cb4b4c69b8826d2dbc35a9c63d57e4e7ea5 src/cribl_control_plane/system_sdk.py: id: 8bb841f702c6 last_write_checksum: sha1:f89e447ea59d7fd83c4a6c77eed7f2aaf8a5fcc4 pristine_git_object: 7fd49d2282433ef09451afc89e1ed81dd76bd6cd src/cribl_control_plane/teams.py: id: 42e7a113cca7 - last_write_checksum: sha1:c4d2bcf7b544c4f1f2933d0c6400f1707ef67e97 - pristine_git_object: 4b59c72e08dfa79ddcca758bf46befdafd828203 + last_write_checksum: sha1:d1edfc4528bcef813f9657356972085b747dcbfd + pristine_git_object: 01ae36b6e04ede869fe08319adeeb9e740cdf101 src/cribl_control_plane/tokens.py: id: "286841425817" - last_write_checksum: sha1:225e8d58c41ca5172b0b52369a9eb5ff1b793eed - pristine_git_object: 268fe919bd6579ba21e867d2c549d9f20d97d848 + last_write_checksum: sha1:000c9319c9f04d116f20b56271ebe968d2afef51 + pristine_git_object: d2c6b4c142e098158d16497d70ecb3306defc12d src/cribl_control_plane/types/__init__.py: id: 4b9154594b49 last_write_checksum: sha1:f9ad14217f832e74f594285960125add50324be9 pristine_git_object: faa268137bc01c9d08cfadc4797017db48747a96 src/cribl_control_plane/types/base64fileinput.py: id: 870bde8c30da - last_write_checksum: sha1:4780e893d3853b5a6e28d9a6ca3ee102ce0f502d - pristine_git_object: 25fc53989ed497649363f983219fc58705c8bf87 + last_write_checksum: sha1:1522687ae3398374c35710cad993a6e82b5ab99d + pristine_git_object: 862566fe2b1db830276b390e136e65090e5963d2 src/cribl_control_plane/types/basemodel.py: id: 77c4cfb7e722 last_write_checksum: sha1:10d84aedeb9d35edfdadf2c3020caa1d24d8b584 @@ -20096,12 +20896,12 @@ trackedFiles: pristine_git_object: 3324e1bc2668c54c4d5f5a1a845675319757a828 src/cribl_control_plane/utils/eventstreaming.py: id: 321b65452a6c - last_write_checksum: sha1:620d78a8b4e3b854e08d136e02e40a01a786bd70 - pristine_git_object: 3bdcd6d3d4fc772cb7f5fca8685dcdc8c85e13e8 + last_write_checksum: sha1:7d1dc68f8b48486ab646653aa05cc38752e1f912 + pristine_git_object: a8d4fe5cc88d3c7337339e1b36a61bbf7ca8c4eb src/cribl_control_plane/utils/forms.py: id: fc51b8eb462b - last_write_checksum: sha1:15fa7e9ab1611e062a9984cf06cb20969713d295 - pristine_git_object: f961e76beaf0a8b1fe0dda44754a74eebd3608e7 + last_write_checksum: sha1:a971cdb120ad3d416d296d5d0ad89e4808350a7f + pristine_git_object: fdf0dc9b2a67bca773eefe6b471498cccaa83424 src/cribl_control_plane/utils/headers.py: id: ee5b772f3aec last_write_checksum: sha1:7c6df233ee006332b566a8afa9ce9a245941d935 @@ -20128,20 +20928,20 @@ 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 pristine_git_object: 8c49f72f4c3ec30286f1dd2a15506b9d72ffe610 src/cribl_control_plane/utils/serializers.py: id: 1fd5c84e2b79 - last_write_checksum: sha1:61009f2e4ef6613a1a5af813fe020373dae5a492 - pristine_git_object: d2149f8b909cb96628db140ac3cddb1b1e981367 + last_write_checksum: sha1:7485f1425b0661fd84836186570df90207eec6af + pristine_git_object: 1031ed930bad5ece220cf7416a56c29f40f0588b src/cribl_control_plane/utils/unions.py: id: 24d13b85b9c8 - last_write_checksum: sha1:6e38049f323e0b5fb4bd0e88ab51ec447197ccb0 - pristine_git_object: a227f4e87be22fce682fcae5813b71835199ec5e + last_write_checksum: sha1:cd6201e6f43c51545a32f5bd4ac9f508e1ba0c29 + pristine_git_object: 2434640235f9607bd894361dcba872ceb5b26533 src/cribl_control_plane/utils/unmarshal_json_response.py: id: cb2f8bf22326 last_write_checksum: sha1:4febf7bb9e45b52fbdb13726f3bdcfa18cf5360f @@ -20160,12 +20960,12 @@ trackedFiles: pristine_git_object: 030038d11c357c6fa0aecf920c7476f4d5d825b1 src/cribl_control_plane/versions_configs.py: id: de8dfbc9fdbe - last_write_checksum: sha1:489450f3e6e5327f0cff0e4722f1e3e23e733a3e - pristine_git_object: b73f19753ebb0326251667cbdfd43a17032d03ec + last_write_checksum: sha1:487aeeda71733bce16baae6337bab9f0a3dd0a7d + pristine_git_object: af835b469c2b378e6f45802794970714a5f0924c src/cribl_control_plane/versions_statuses.py: id: c6b0a8378410 - last_write_checksum: sha1:6afcc462882dbdcb6311b2263eb4310e392e8dd9 - pristine_git_object: eb0bca13967116a6417f8164b625618d59ebf733 + last_write_checksum: sha1:152be362d1e004e08784afb25cac4572bf35d286 + pristine_git_object: a04f305ea7393e47412de75e128825df943d0981 examples: getHealthInfo: speakeasy-default-get-health-info: @@ -20189,7 +20989,21 @@ examples: "200": application/json: {} "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + InputResponseExamplesSyslogSource: + responses: + "200": + application/json: {} + InputResponseExamplesSplunkHecSource: + responses: + "200": application/json: {} + InputResponseExamplesHttpSource: + responses: + "200": + application/json: {"items": [{"type": "cribl"}], "count": 340841, "offset": 941796, "limit": 324000} createInput: speakeasy-default-create-input: requestBody: @@ -20198,7 +21012,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesAppscope: requestBody: application/json: {"id": "appscope-source", "type": "appscope", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 9109} @@ -20206,7 +21022,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesAzureBlob: requestBody: application/json: {"id": "azure-blob-source", "type": "azure_blob", "sendToRoutes": true, "pqEnabled": false, "queueName": "azure-blob-queue"} @@ -20214,7 +21032,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesCloudflareHec: requestBody: application/json: {"id": "cloudflare-hec-source", "type": "cloudflare_hec", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 8088, "hecAPI": "/services/collector"} @@ -20222,7 +21042,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesConfluentCloud: requestBody: application/json: {"id": "confluent-cloud-source", "type": "confluent_cloud", "sendToRoutes": true, "pqEnabled": false, "brokers": ["pkc-xxxxx.us-east-1.aws.confluent.cloud:9092"], "topics": ["logs"]} @@ -20230,7 +21052,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesCollection: requestBody: application/json: {"id": "collection-source", "type": "collection", "sendToRoutes": true, "pqEnabled": false} @@ -20238,7 +21062,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesCriblHttp: requestBody: application/json: {"id": "cribl-http-source", "type": "cribl_http", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 10080} @@ -20246,7 +21072,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesCriblLakeHttp: requestBody: application/json: {"id": "cribl-lake-http-source", "type": "cribl_lake_http", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 10080} @@ -20254,7 +21082,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesCriblTcp: requestBody: application/json: {"id": "cribl-tcp-source", "type": "cribl_tcp", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 10090} @@ -20262,7 +21092,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesCrowdstrike: requestBody: application/json: {"id": "crowdstrike-source", "type": "crowdstrike", "sendToRoutes": true, "pqEnabled": false, "queueName": "crowdstrike-queue", "region": "us-east-1"} @@ -20270,7 +21102,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesDatadogAgent: requestBody: application/json: {"id": "datadog-agent-source", "type": "datadog_agent", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 8126} @@ -20278,7 +21112,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesDatagen: requestBody: application/json: {"id": "datagen-source", "type": "datagen", "sendToRoutes": true, "pqEnabled": false, "samples": [{"sample": "sample.json", "eventsPerSec": 10}]} @@ -20286,7 +21122,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesEdgePrometheus: requestBody: application/json: {"id": "edge-prometheus-source", "type": "edge_prometheus", "sendToRoutes": true, "pqEnabled": false, "discoveryType": "static", "interval": 60, "targets": [{"host": "localhost"}]} @@ -20294,7 +21132,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesElastic: requestBody: application/json: {"id": "elastic-source", "type": "elastic", "sendToRoutes": true, "pqEnabled": false, "host": "localhost", "port": 9200, "elasticAPI": "/"} @@ -20302,7 +21142,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesEventhub: requestBody: application/json: {"id": "eventhub-source", "type": "eventhub", "sendToRoutes": true, "pqEnabled": false, "brokers": ["myeventhub.servicebus.windows.net:9093"], "topics": ["logs"]} @@ -20310,7 +21152,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesExec: requestBody: application/json: {"id": "exec-source", "type": "exec", "sendToRoutes": true, "pqEnabled": false, "command": "echo \"Hello World\"", "interval": 60} @@ -20318,7 +21162,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesFile: requestBody: application/json: {"id": "file-source", "type": "file", "sendToRoutes": true, "pqEnabled": false, "mode": "manual"} @@ -20326,7 +21172,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesFirehose: requestBody: application/json: {"id": "firehose-source", "type": "firehose", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 10080} @@ -20334,7 +21182,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesGrafana: requestBody: application/json: {"id": "grafana-source", "type": "grafana", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 10080, "prometheusAPI": "/api/prom/push"} @@ -20342,7 +21192,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesGooglePubsub: requestBody: application/json: {"id": "google-pubsub-source", "type": "google_pubsub", "sendToRoutes": true, "pqEnabled": false, "topicName": "my-topic", "subscriptionName": "my-subscription"} @@ -20350,7 +21202,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesHttp: requestBody: application/json: {"id": "http-source", "type": "http", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 10080} @@ -20358,7 +21212,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesHttpRaw: requestBody: application/json: {"id": "http-raw-source", "type": "http_raw", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 10080} @@ -20366,7 +21222,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesJournalFiles: requestBody: application/json: {"id": "journal-files-source", "type": "journal_files", "sendToRoutes": true, "pqEnabled": false, "path": "/var/log/journal", "journals": ["system"]} @@ -20374,7 +21232,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesKafka: requestBody: application/json: {"id": "kafka-source", "type": "kafka", "sendToRoutes": true, "pqEnabled": false, "brokers": ["localhost:9092"], "topics": ["logs"]} @@ -20382,7 +21242,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesKinesis: requestBody: application/json: {"id": "kinesis-source", "type": "kinesis", "sendToRoutes": true, "pqEnabled": false, "streamName": "my-stream", "region": "us-east-1"} @@ -20390,7 +21252,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesKubeEvents: requestBody: application/json: {"id": "kube-events-source", "type": "kube_events", "sendToRoutes": true, "pqEnabled": false} @@ -20398,7 +21262,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesKubeLogs: requestBody: application/json: {"id": "kube-logs-source", "type": "kube_logs", "sendToRoutes": true, "pqEnabled": false} @@ -20406,7 +21272,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesKubeMetrics: requestBody: application/json: {"id": "kube-metrics-source", "type": "kube_metrics", "sendToRoutes": true, "pqEnabled": false} @@ -20414,7 +21282,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesLoki: requestBody: application/json: {"id": "loki-source", "type": "loki", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 10080, "lokiAPI": "/loki/api/v1/push"} @@ -20422,7 +21292,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesMetrics: requestBody: application/json: {"id": "metrics-source", "type": "metrics", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "udpPort": 8125} @@ -20430,7 +21302,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesModelDrivenTelemetry: requestBody: application/json: {"id": "mdt-source", "type": "model_driven_telemetry", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 57000} @@ -20438,7 +21312,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesMsk: requestBody: application/json: {"id": "msk-source", "type": "msk", "sendToRoutes": true, "pqEnabled": false, "brokers": ["b-1.example.xxxxx.c2.kafka.us-east-1.amazonaws.com:9092"], "topics": ["logs"], "awsAuthenticationMethod": "auto", "region": "us-east-1"} @@ -20446,7 +21322,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesNetflow: requestBody: application/json: {"id": "netflow-source", "type": "netflow", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 2055} @@ -20454,7 +21332,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesOffice365Mgmt: requestBody: application/json: {"id": "office365-mgmt-source", "type": "office365_mgmt", "sendToRoutes": true, "pqEnabled": false, "planType": "enterprise_gcc", "tenantId": "tenant-id", "appId": "app-id"} @@ -20462,7 +21342,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesOffice365MsgTrace: requestBody: application/json: {"id": "office365-msg-trace-source", "type": "office365_msg_trace", "sendToRoutes": true, "pqEnabled": false, "url": "https://reports.office365.com/ecp/reportingwebservice/reporting.svc/MessageTrace", "interval": 15} @@ -20470,7 +21352,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesOffice365Service: requestBody: application/json: {"id": "office365-service-source", "type": "office365_service", "sendToRoutes": true, "pqEnabled": false, "tenantId": "tenant-id", "appId": "app-id"} @@ -20478,7 +21362,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesOpenTelemetry: requestBody: application/json: {"id": "otel-source", "type": "open_telemetry", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 4317} @@ -20486,7 +21372,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesPrometheus: requestBody: application/json: {"id": "prometheus-source", "type": "prometheus", "sendToRoutes": true, "pqEnabled": false, "discoveryType": "static", "interval": 60, "logLevel": "info", "targetList": ["http://localhost:9090/metrics"]} @@ -20494,7 +21382,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesPrometheusRw: requestBody: application/json: {"id": "prometheus-rw-source", "type": "prometheus_rw", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 10080, "prometheusAPI": "/write"} @@ -20502,7 +21392,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesRawUdp: requestBody: application/json: {"id": "raw-udp-source", "type": "raw_udp", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 514} @@ -20510,7 +21402,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesS3: requestBody: application/json: {"id": "s3-source", "type": "s3", "sendToRoutes": true, "pqEnabled": false, "queueName": "s3-notifications-queue", "region": "us-east-1"} @@ -20518,7 +21412,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesS3Inventory: requestBody: application/json: {"id": "s3-inventory-source", "type": "s3_inventory", "sendToRoutes": true, "pqEnabled": false, "queueName": "s3-inventory-queue", "region": "us-east-1"} @@ -20526,7 +21422,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesSecurityLake: requestBody: application/json: {"id": "security-lake-source", "type": "security_lake", "sendToRoutes": true, "pqEnabled": false, "queueName": "security-lake-queue", "region": "us-east-1"} @@ -20534,7 +21432,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesSnmp: requestBody: application/json: {"id": "snmp-source", "type": "snmp", "sendToRoutes": true, "pqEnabled": false, "host": "192.168.1.1", "port": 161} @@ -20542,7 +21442,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesSplunk: requestBody: application/json: {"id": "splunk-source", "type": "splunk", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 9997} @@ -20550,7 +21452,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesSplunkHec: requestBody: application/json: {"id": "splunk-hec-source", "type": "splunk_hec", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 8088, "splunkHecAPI": "/services/collector"} @@ -20558,7 +21462,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesSplunkSearch: requestBody: application/json: {"id": "splunk-search-source", "type": "splunk_search", "sendToRoutes": true, "pqEnabled": false, "searchHead": "https://localhost:8089", "search": "index=main", "cronSchedule": "*/15 * * * *", "endpoint": "/services/search/v2/jobs/export", "outputMode": "json", "authType": "basic"} @@ -20566,7 +21472,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesSqs: requestBody: application/json: {"id": "sqs-source", "type": "sqs", "sendToRoutes": true, "pqEnabled": false, "queueName": "my-queue", "queueType": "standard", "region": "us-east-1"} @@ -20574,7 +21482,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesSyslog: requestBody: application/json: {"id": "syslog-source", "type": "syslog", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "udpPort": 514} @@ -20582,7 +21492,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesSystemMetrics: requestBody: application/json: {"id": "system-metrics-source", "type": "system_metrics", "sendToRoutes": true, "pqEnabled": false} @@ -20590,7 +21502,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesSystemState: requestBody: application/json: {"id": "system-state-source", "type": "system_state", "sendToRoutes": true, "pqEnabled": false} @@ -20598,7 +21512,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesTcp: requestBody: application/json: {"id": "tcp-source", "type": "tcp", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 10090} @@ -20606,7 +21522,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesTcpjson: requestBody: application/json: {"id": "tcpjson-source", "type": "tcpjson", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 10090} @@ -20614,7 +21532,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesWef: requestBody: application/json: {"id": "wef-source", "type": "wef", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 5985, "subscriptions": [{"subscriptionName": "subscription-1", "contentFormat": "RenderedText", "heartbeatInterval": 60, "batchTimeout": 5, "targets": []}]} @@ -20622,7 +21542,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesWinEventLogs: requestBody: application/json: {"id": "win-event-logs-source", "type": "win_event_logs", "sendToRoutes": true, "pqEnabled": false, "logNames": ["Application", "System"]} @@ -20630,7 +21552,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesWindowsMetrics: requestBody: application/json: {"id": "windows-metrics-source", "type": "windows_metrics", "sendToRoutes": true, "pqEnabled": false} @@ -20638,7 +21562,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesWiz: requestBody: application/json: {"id": "wiz-source", "type": "wiz", "sendToRoutes": true, "pqEnabled": false, "endpoint": "https://api.wiz.io", "authUrl": "https://auth.wiz.io/oauth/token", "clientId": "client-id", "contentConfig": []} @@ -20646,7 +21572,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesWizWebhook: requestBody: application/json: {"id": "wiz-webhook-source", "type": "wiz_webhook", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 10080} @@ -20654,7 +21582,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesZscalerHec: requestBody: application/json: {"id": "zscaler-hec-source", "type": "zscaler_hec", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 8088, "hecAPI": "/services/collector"} @@ -20662,7 +21592,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesOpenAI: requestBody: application/json: {"id": "openai-source", "type": "openai", "sendToRoutes": true, "pqEnabled": false, "contentConfig": [{"disabled": false, "requestParams": [{"name": "effective_at[gt]", "value": "`${Math.round(Date.now()/1000 - 3600)}`"}, {"name": "limit", "value": "100"}], "paginationType": "response_body", "paginationAttribute": ["last_id"], "paginationLastPageExpr": "has_more === false", "cronSchedule": "0 * * * *", "earliest": "-1h", "latest": "now"}], "textSecret": "openai-api-key-secret"} @@ -20670,7 +21602,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesMicrosoftGraph: requestBody: application/json: {"id": "microsoft-graph-source", "type": "microsoft_graph", "sendToRoutes": true, "pqEnabled": false, "url": "https://graph.microsoft.com/v1.0/admin/exchange/tracing/messageTraces", "interval": 15} @@ -20678,7 +21612,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesServiceNowTable: requestBody: application/json: {"id": "servicenow-table-source", "type": "servicenow_table", "sendToRoutes": true, "pqEnabled": false, "instance": "https://example.service-now.com", "tableName": "incident", "fields": ["sys_id", "number", "short_description"], "pageSize": 10000, "cronSchedule": "0 * * * *", "earliest": "-1d", "latest": "now"} @@ -20686,7 +21622,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesEventhubAmqp: requestBody: application/json: {"id": "eventhub-amqp-source", "type": "eventhub_amqp", "sendToRoutes": true, "pqEnabled": false, "eventHubName": "my-event-hub", "consumerGroup": "$Default", "checkpointing": {"blobStore": {"containerName": "my-container"}}} @@ -20694,7 +21632,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesOpenAIComplianceLogs: requestBody: application/json: {"id": "openai-compliance-logs-source", "type": "openai_compliance_logs", "sendToRoutes": true, "pqEnabled": false, "textSecret": "openai-api-key-secret", "accountType": "workspace", "cronSchedule": "*/15 * * * *", "earliest": "-1h", "latest": "now", "workspaceId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "workspaceEventTypes": ["AUDIT_LOG", "AUTH_LOG"]} @@ -20702,15 +21642,19 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesAnthropicCompliance: requestBody: - application/json: {"id": "anthropic-compliance-source", "type": "anthropic_compliance", "sendToRoutes": true, "pqEnabled": false, "textSecret": "anthropic-api-key-secret", "contentConfig": [{"contentType": "activities", "contentDescription": "Compliance Activities", "enabled": true, "stateTracking": true, "stateUpdateExpression": "__timestampExtracted !== false && {latestTime: (state.latestTime || 0) > _time ? state.latestTime : _time}", "stateMergeExpression": "prevState.latestTime > newState.latestTime ? prevState : newState", "cronSchedule": "*/5 * * * *", "earliest": "-7d@d", "latest": "now", "jobTimeout": "300"}]} + application/json: {"id": "anthropic-compliance-source", "type": "anthropic_compliance", "sendToRoutes": true, "pqEnabled": false, "textSecret": "anthropic-api-key-secret", "contentConfig": [{"contentType": "activities", "contentDescription": "Compliance Activities", "enabled": true, "stateTracking": true, "stateUpdateExpression": "__timestampExtracted !== false && {latestTime: (state.latestTime || 0) > _time ? state.latestTime : _time}", "stateMergeExpression": "prevState.latestTime > newState.latestTime ? prevState : newState", "earliest": "-7d@d", "latest": "now", "cronSchedule": "*/5 * * * *", "jobTimeout": "300"}]} responses: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesAppleUnifiedLogs: requestBody: application/json: {"id": "apple-unified-logs-source", "type": "apple_unified_logs", "sendToRoutes": true, "pqEnabled": false, "predicate": "subsystem == \"com.apple.security\""} @@ -20718,7 +21662,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesOkta: requestBody: application/json: {"id": "okta-source", "type": "okta", "sendToRoutes": true, "pqEnabled": false, "oktaDomain": "your-org", "textSecret": "okta-api-token-secret", "cronSchedule": "*/5 * * * *", "earliest": "-7d@d", "latest": "now"} @@ -20726,6 +21672,46 @@ examples: "200": application/json: {} "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + InputCreateExamplesSysdigHec: + requestBody: + application/json: {"id": "sysdig-hec-source", "type": "sysdig_hec", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 8088, "hecAPI": "/services/collector"} + responses: + "200": + application/json: {} + "401": + application/json: {"status": "error", "message": ""} + "500": + application/json: {"status": "error", "message": ""} + InputCreateExamplesUpwindHec: + requestBody: + application/json: {"id": "upwind-hec-source", "type": "upwind_hec", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 8088, "hecAPI": "/services/collector"} + responses: + "200": + application/json: {} + "401": + application/json: {"status": "error", "message": ""} + "500": + application/json: {"status": "error", "message": ""} + InputResponseExamplesSyslogSource: + requestBody: + application/json: {"id": "", "type": "openai", "contentConfig": [], "textSecret": ""} + responses: + "200": + application/json: {} + InputResponseExamplesSplunkHecSource: + requestBody: + application/json: {"id": "", "type": "cribl_http", "host": "drab-scrap.info", "port": 7995.63} + responses: + "200": + application/json: {} + InputResponseExamplesHttpSource: + requestBody: + application/json: {"id": "", "type": "windows_metrics"} + responses: + "200": application/json: {} getInputById: speakeasy-default-get-input-by-id: @@ -20736,6 +21722,29 @@ examples: "200": application/json: {} "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + InputResponseExamplesSyslogSource: + parameters: + path: + id: "" + responses: + "200": + application/json: {} + InputResponseExamplesSplunkHecSource: + parameters: + path: + id: "" + responses: + "200": + application/json: {} + InputResponseExamplesHttpSource: + parameters: + path: + id: "" + responses: + "200": application/json: {} updateInputById: speakeasy-default-update-input-by-id: @@ -20748,7 +21757,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesAppscope: parameters: path: @@ -21502,12 +22513,14 @@ examples: path: id: "" requestBody: - application/json: {"id": "anthropic-compliance-source", "type": "anthropic_compliance", "sendToRoutes": true, "pqEnabled": false, "textSecret": "anthropic-api-key-secret", "contentConfig": [{"contentType": "activities", "contentDescription": "Compliance Activities", "enabled": true, "stateTracking": true, "stateUpdateExpression": "__timestampExtracted !== false && {latestTime: (state.latestTime || 0) > _time ? state.latestTime : _time}", "stateMergeExpression": "prevState.latestTime > newState.latestTime ? prevState : newState", "cronSchedule": "*/5 * * * *", "earliest": "-7d@d", "latest": "now", "jobTimeout": "300"}]} + application/json: {"id": "anthropic-compliance-source", "type": "anthropic_compliance", "sendToRoutes": true, "pqEnabled": false, "textSecret": "anthropic-api-key-secret", "contentConfig": [{"contentType": "activities", "contentDescription": "Compliance Activities", "enabled": true, "stateTracking": true, "stateUpdateExpression": "__timestampExtracted !== false && {latestTime: (state.latestTime || 0) > _time ? state.latestTime : _time}", "stateMergeExpression": "prevState.latestTime > newState.latestTime ? prevState : newState", "earliest": "-7d@d", "latest": "now", "cronSchedule": "*/5 * * * *", "jobTimeout": "300"}]} responses: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesAppleUnifiedLogs: parameters: path: @@ -21518,7 +22531,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesAppscope: parameters: path: @@ -21529,7 +22544,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesAzureBlob: parameters: path: @@ -21540,7 +22557,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesCloudflareHec: parameters: path: @@ -21551,7 +22570,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesConfluentCloud: parameters: path: @@ -21562,7 +22583,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesCollection: parameters: path: @@ -21573,7 +22596,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesCribl: parameters: path: @@ -21584,7 +22609,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesCriblHttp: parameters: path: @@ -21595,7 +22622,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesCriblLakeHttp: parameters: path: @@ -21606,7 +22635,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesCriblMetrics: parameters: path: @@ -21617,7 +22648,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesCriblTcp: parameters: path: @@ -21628,7 +22661,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesCrowdstrike: parameters: path: @@ -21639,7 +22674,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesDatadogAgent: parameters: path: @@ -21650,7 +22687,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesDatagen: parameters: path: @@ -21661,7 +22700,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesEdgePrometheus: parameters: path: @@ -21672,7 +22713,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesElastic: parameters: path: @@ -21683,7 +22726,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesEventhub: parameters: path: @@ -21694,7 +22739,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesEventhubAmqp: parameters: path: @@ -21705,7 +22752,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesExec: parameters: path: @@ -21716,7 +22765,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesFile: parameters: path: @@ -21727,7 +22778,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesFirehose: parameters: path: @@ -21738,7 +22791,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesGrafana: parameters: path: @@ -21749,7 +22804,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesGooglePubsub: parameters: path: @@ -21760,7 +22817,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesHttp: parameters: path: @@ -21771,7 +22830,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesHttpRaw: parameters: path: @@ -21782,7 +22843,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesJournalFiles: parameters: path: @@ -21793,7 +22856,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesKafka: parameters: path: @@ -21804,7 +22869,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesKinesis: parameters: path: @@ -21815,7 +22882,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesKubeEvents: parameters: path: @@ -21826,7 +22895,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesKubeLogs: parameters: path: @@ -21837,7 +22908,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesKubeMetrics: parameters: path: @@ -21848,7 +22921,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesLoki: parameters: path: @@ -21859,7 +22934,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesMetrics: parameters: path: @@ -21870,7 +22947,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesModelDrivenTelemetry: parameters: path: @@ -21881,7 +22960,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesMsk: parameters: path: @@ -21892,7 +22973,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesNetflow: parameters: path: @@ -21903,7 +22986,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesOffice365Mgmt: parameters: path: @@ -21914,7 +22999,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesMicrosoftGraph: parameters: path: @@ -21925,7 +23012,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesOffice365MsgTrace: parameters: path: @@ -21936,7 +23025,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesOffice365Service: parameters: path: @@ -21947,7 +23038,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesOkta: parameters: path: @@ -21958,7 +23051,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesOpenAI: parameters: path: @@ -21969,7 +23064,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesOpenAIComplianceLogs: parameters: path: @@ -21980,7 +23077,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesOpenTelemetry: parameters: path: @@ -21991,7 +23090,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesPrometheus: parameters: path: @@ -22002,7 +23103,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesPrometheusRw: parameters: path: @@ -22013,7 +23116,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesRawUdp: parameters: path: @@ -22024,7 +23129,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesS3: parameters: path: @@ -22035,7 +23142,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesS3Inventory: parameters: path: @@ -22046,7 +23155,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesSecurityLake: parameters: path: @@ -22057,7 +23168,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesServiceNowTable: parameters: path: @@ -22068,7 +23181,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesSnmp: parameters: path: @@ -22079,7 +23194,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesSplunk: parameters: path: @@ -22090,7 +23207,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesSplunkHec: parameters: path: @@ -22101,7 +23220,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesSplunkSearch: parameters: path: @@ -22112,7 +23233,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesSqs: parameters: path: @@ -22123,7 +23246,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesSyslog: parameters: path: @@ -22134,7 +23259,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesSystemMetrics: parameters: path: @@ -22145,7 +23272,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesSystemState: parameters: path: @@ -22156,7 +23285,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesTcp: parameters: path: @@ -22167,7 +23298,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesTcpjson: parameters: path: @@ -22178,7 +23311,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesWef: parameters: path: @@ -22189,7 +23324,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesWinEventLogs: parameters: path: @@ -22200,7 +23337,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesWindowsMetrics: parameters: path: @@ -22211,7 +23350,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesWiz: parameters: path: @@ -22222,7 +23363,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesWizWebhook: parameters: path: @@ -22233,7 +23376,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesZscalerHec: parameters: path: @@ -22244,6 +23389,61 @@ examples: "200": application/json: {} "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + UpdateInputExamplesSysdigHec: + parameters: + path: + id: "" + requestBody: + application/json: {"id": "sysdig-hec-source", "type": "sysdig_hec", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 8088, "hecAPI": "/services/collector"} + responses: + "200": + application/json: {} + "401": + application/json: {"status": "error", "message": ""} + "500": + application/json: {"status": "error", "message": ""} + UpdateInputExamplesUpwindHec: + parameters: + path: + id: "" + requestBody: + application/json: {"id": "upwind-hec-source", "type": "upwind_hec", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 8088, "hecAPI": "/services/collector"} + responses: + "200": + application/json: {} + "401": + application/json: {"status": "error", "message": ""} + "500": + application/json: {"status": "error", "message": ""} + InputResponseExamplesSyslogSource: + parameters: + path: + id: "" + requestBody: + application/json: {"type": "datagen", "samples": []} + responses: + "200": + application/json: {} + InputResponseExamplesSplunkHecSource: + parameters: + path: + id: "" + requestBody: + application/json: {"type": "kube_events"} + responses: + "200": + application/json: {} + InputResponseExamplesHttpSource: + parameters: + path: + id: "" + requestBody: + application/json: {"type": "okta", "oktaDomain": "", "textSecret": ""} + responses: + "200": application/json: {} deleteInputById: speakeasy-default-delete-input-by-id: @@ -22254,6 +23454,29 @@ examples: "200": application/json: {} "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + InputResponseExamplesSyslogSource: + parameters: + path: + id: "" + responses: + "200": + application/json: {} + InputResponseExamplesSplunkHecSource: + parameters: + path: + id: "" + responses: + "200": + application/json: {} + InputResponseExamplesHttpSource: + parameters: + path: + id: "" + responses: + "200": application/json: {} createInputHecTokenById: speakeasy-default-create-input-hec-token-by-id: @@ -22266,7 +23489,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} HecTokenExamplesHecToken: parameters: path: @@ -22277,7 +23502,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} HecTokenExamplesHecTokenWithIndexAccess: parameters: path: @@ -22288,7 +23515,18 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + HecTokenResponseExamplesSplunkHecSource: + parameters: + path: + id: "" + requestBody: + application/json: {"token": ""} + responses: + "200": + application/json: {"count": 1, "items": [{"id": "splunk-hec-source", "type": "splunk_hec", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 8088, "authTokens": [{"token": "12345678901", "enabled": true, "metadata": [{"name": "fieldX", "value": "valueX"}]}], "splunkHecAPI": "/services/collector"}]} updateInputHecTokenByIdAndToken: speakeasy-default-update-input-hec-token-by-id-and-token: parameters: @@ -22301,7 +23539,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} HecTokenExamplesHecToken: parameters: path: @@ -22313,7 +23553,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} HecTokenExamplesHecTokenWithIndexAccess: parameters: path: @@ -22325,14 +23567,40 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + HecTokenResponseExamplesSplunkHecSource: + parameters: + path: + id: "" + token: "" + requestBody: + application/json: {} + responses: + "200": + application/json: {"count": 1, "items": [{"id": "splunk-hec-source", "type": "splunk_hec", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 8088, "authTokens": [{"token": "12345678901", "enabled": true, "metadata": [{"name": "fieldX", "value": "valueX"}]}], "splunkHecAPI": "/services/collector"}]} listOutput: speakeasy-default-list-output: responses: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + OutputResponseExamplesSplunkHecDestination: + responses: + "200": + application/json: {} + OutputResponseExamplesS3Destination: + responses: + "200": + application/json: {"items": [{"type": "ring"}], "count": 387141, "offset": 63336, "limit": 707895} + OutputResponseExamplesSyslogDestination: + responses: + "200": + application/json: {} createOutput: speakeasy-default-create-output: requestBody: @@ -22341,7 +23609,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesTcpjson: requestBody: application/json: {"id": "tcpjson-output", "type": "tcpjson", "host": "localhost", "port": 10090} @@ -22349,7 +23619,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesSplunk: requestBody: application/json: {"id": "splunk-output", "type": "splunk", "host": "localhost", "port": 9997} @@ -22357,7 +23629,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesSplunkLb: requestBody: application/json: {"id": "splunk-lb-output", "type": "splunk_lb", "hosts": [{"host": "localhost", "port": 9997}]} @@ -22365,7 +23639,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesSplunkHec: requestBody: application/json: {"id": "splunk-hec-output", "type": "splunk_hec"} @@ -22373,7 +23649,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesSyslog: requestBody: application/json: {"id": "syslog-output", "type": "syslog", "host": "localhost", "port": 514} @@ -22381,7 +23659,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesFilesystem: requestBody: application/json: {"id": "filesystem-output", "type": "filesystem", "destPath": "/var/log/output"} @@ -22389,7 +23669,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesS3: requestBody: application/json: {"id": "s3-output", "type": "s3", "bucket": "my-bucket", "region": "us-east-1", "stagePath": "/tmp/staging"} @@ -22397,7 +23679,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesAzureBlob: requestBody: application/json: {"id": "azure-blob-output", "type": "azure_blob", "containerName": "my-container", "stagePath": "/tmp/staging"} @@ -22405,7 +23689,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesAzureDataExplorer: requestBody: application/json: {"id": "azure-data-explorer-output", "type": "azure_data_explorer", "clusterUrl": "https://mycluster.kusto.windows.net", "database": "mydatabase", "table": "mytable", "ingestMode": "streaming", "oauthEndpoint": "https://login.microsoftonline.com", "tenantId": "tenant-id", "clientId": "client-id", "scope": "https://mycluster.kusto.windows.net/.default", "oauthType": "clientSecret", "clientSecret": "client-secret", "format": "json", "compress": "gzip"} @@ -22413,7 +23699,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesSentinel: requestBody: application/json: {"id": "sentinel-output", "type": "sentinel", "loginUrl": "https://login.microsoftonline.com", "secret": "client-secret", "client_id": "client-id", "endpointURLConfiguration": "url", "url": "https://your-workspace.ingest.monitor.azure.com"} @@ -22421,7 +23709,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesAzureLogs: requestBody: application/json: {"id": "azure-logs-output", "type": "azure_logs", "logType": "Cribl", "authType": "manual", "workspaceId": "workspace-id", "workspaceKey": "workspace-key"} @@ -22429,7 +23719,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesKafka: requestBody: application/json: {"id": "kafka-output", "type": "kafka", "brokers": ["localhost:9092"], "topic": "logs"} @@ -22437,7 +23729,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesConfluentCloud: requestBody: application/json: {"id": "confluent-cloud-output", "type": "confluent_cloud", "brokers": ["pkc-xxxxx.us-east-1.aws.confluent.cloud:9092"], "topic": "logs"} @@ -22445,7 +23739,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesMsk: requestBody: application/json: {"id": "msk-output", "type": "msk", "brokers": ["b-1.example.xxxxx.c2.kafka.us-east-1.amazonaws.com:9092"], "topic": "logs", "awsAuthenticationMethod": "auto", "region": "us-east-1"} @@ -22453,7 +23749,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesKinesis: requestBody: application/json: {"id": "kinesis-output", "type": "kinesis", "streamName": "my-stream", "region": "us-east-1"} @@ -22461,7 +23759,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesElastic: requestBody: application/json: {"id": "elastic-output", "type": "elastic", "index": "logs"} @@ -22469,7 +23769,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesElasticCloud: requestBody: application/json: {"id": "elastic-cloud-output", "type": "elastic_cloud", "url": "my-cloud-id", "index": "logs"} @@ -22477,7 +23779,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesMicrosoftFabric: requestBody: application/json: {"id": "microsoft-fabric-output", "type": "microsoft_fabric", "topic": "logs", "bootstrap_server": "myeventstream.servicebus.windows.net:9093"} @@ -22485,7 +23789,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesCloudflareR2: requestBody: application/json: {"id": "cloudflare-r2-output", "type": "cloudflare_r2", "bucket": "my-bucket", "stagePath": "/tmp/staging", "endpoint": "https://account-id.r2.cloudflarestorage.com"} @@ -22493,7 +23799,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesHoneycomb: requestBody: application/json: {"id": "honeycomb-output", "type": "honeycomb", "dataset": "my-dataset"} @@ -22501,7 +23809,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesNewrelic: requestBody: application/json: {"id": "newrelic-output", "type": "newrelic", "apiKey": "your-api-key"} @@ -22509,7 +23819,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesNewrelicEvents: requestBody: application/json: {"id": "newrelic-events-output", "type": "newrelic_events", "accountId": "123456", "eventType": "CriblEvent", "apiKey": "your-api-key"} @@ -22517,7 +23829,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesSnmp: requestBody: application/json: {"id": "snmp-output", "type": "snmp", "hosts": [{"host": "192.168.1.1", "port": 161}]} @@ -22525,7 +23839,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesInfluxdb: requestBody: application/json: {"id": "influxdb-output", "type": "influxdb", "url": "http://localhost:8086", "database": "mydb"} @@ -22533,7 +23849,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesMinio: requestBody: application/json: {"id": "minio-output", "type": "minio", "bucket": "my-bucket", "stagePath": "/tmp/staging", "endpoint": "http://localhost:9000"} @@ -22541,7 +23859,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesCloudwatch: requestBody: application/json: {"id": "cloudwatch-output", "type": "cloudwatch", "logGroupName": "my-log-group", "logStreamName": "my-log-stream", "region": "us-east-1"} @@ -22549,7 +23869,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesAzureEventhub: requestBody: application/json: {"id": "azure-eventhub-output", "type": "azure_eventhub", "brokers": ["myeventhub.servicebus.windows.net:9093"], "topic": "logs"} @@ -22557,7 +23879,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesStatsd: requestBody: application/json: {"id": "statsd-output", "type": "statsd", "protocol": "udp", "host": "localhost", "port": 8125} @@ -22565,7 +23889,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesStatsdExt: requestBody: application/json: {"id": "statsd-ext-output", "type": "statsd_ext", "protocol": "udp", "host": "localhost", "port": 8125} @@ -22573,7 +23899,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesGraphite: requestBody: application/json: {"id": "graphite-output", "type": "graphite", "protocol": "tcp", "host": "localhost", "port": 2003} @@ -22581,7 +23909,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesWavefront: requestBody: application/json: {"id": "wavefront-output", "type": "wavefront", "domain": "longboard", "token": "your-token"} @@ -22589,7 +23919,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesSignalfx: requestBody: application/json: {"id": "signalfx-output", "type": "signalfx", "realm": "us0", "token": "your-token"} @@ -22597,7 +23929,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesSqs: requestBody: application/json: {"id": "sqs-output", "type": "sqs", "queueName": "my-queue", "queueType": "standard", "region": "us-east-1"} @@ -22605,7 +23939,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesGoogleCloudStorage: requestBody: application/json: {"id": "google-cloud-storage-output", "type": "google_cloud_storage", "bucket": "my-bucket", "region": "us-east1", "endpoint": "https://storage.googleapis.com", "stagePath": "/tmp/staging"} @@ -22613,7 +23949,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesSumoLogic: requestBody: application/json: {"id": "sumo-logic-output", "type": "sumo_logic", "url": "https://endpoint1.collection.us2.sumologic.com"} @@ -22621,7 +23959,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesDatadog: requestBody: application/json: {"id": "datadog-output", "type": "datadog", "apiKey": "your-api-key"} @@ -22629,7 +23969,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesWebhook: requestBody: application/json: {"id": "webhook-output", "type": "webhook", "url": "https://example.com/webhook"} @@ -22637,7 +23979,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesPrometheus: requestBody: application/json: {"id": "prometheus-output", "type": "prometheus", "url": "http://localhost:9091/api/v1/write"} @@ -22645,7 +23989,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesGooglePubsub: requestBody: application/json: {"id": "google-pubsub-output", "type": "google_pubsub", "topicName": "my-topic"} @@ -22653,7 +23999,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesGoogleChronicle: requestBody: application/json: {"id": "google-chronicle-output", "type": "google_chronicle", "logFormatType": "unstructured", "region": "us", "customerId": "customer-id"} @@ -22661,7 +24009,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesChronicle: requestBody: application/json: {"id": "chronicle-output", "type": "chronicle", "region": "us", "logType": "UNKNOWN", "gcpProjectId": "my-project", "gcpInstance": "customer-id"} @@ -22669,7 +24019,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesGrafanaCloud: requestBody: application/json: {"id": "grafana-cloud-output", "type": "grafana_cloud", "lokiUrl": "https://logs-prod-us-central1.grafana.net"} @@ -22677,7 +24029,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesLoki: requestBody: application/json: {"id": "loki-output", "type": "loki", "url": "http://localhost:3100/loki/api/v1/push"} @@ -22685,7 +24039,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesOpenTelemetry: requestBody: application/json: {"id": "opentelemetry-output", "type": "open_telemetry", "endpoint": "http://localhost:4317"} @@ -22693,7 +24049,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesServiceNow: requestBody: application/json: {"id": "servicenow-output", "type": "service_now", "endpoint": "ingest.lightstep.com:443", "tokenSecret": "your-token-secret", "otlpVersion": "1.3.1", "protocol": "http"} @@ -22701,7 +24059,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesDynatraceOtlp: requestBody: application/json: {"id": "dynatrace-otlp-output", "type": "dynatrace_otlp", "protocol": "http", "endpoint": "https://your-environment.live.dynatrace.com/api/v2/otlp", "otlpVersion": "1.3.1", "endpointType": "saas", "tokenSecret": "your-token-secret"} @@ -22709,7 +24069,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesSentinelOneAiSiem: requestBody: application/json: {"id": "sentinel-one-ai-siem-output", "type": "sentinel_one_ai_siem", "region": "US", "endpoint": "/services/collector/event"} @@ -22717,7 +24079,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesDataset: requestBody: application/json: {"id": "dataset-output", "type": "dataset"} @@ -22725,7 +24089,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesRing: requestBody: application/json: {"id": "ring-output", "type": "ring"} @@ -22733,7 +24099,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesRouter: requestBody: application/json: {"id": "router-output", "type": "router", "rules": [{"filter": "true", "output": "my-output"}]} @@ -22741,7 +24109,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesHumioHec: requestBody: application/json: {"id": "humio-hec-output", "type": "humio_hec", "url": "https://cloud.us.humio.com/api/v1/ingest/hec", "format": "JSON", "authType": "manual", "token": "your-token"} @@ -22749,7 +24119,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesCrowdstrikeNextGenSiem: requestBody: application/json: {"id": "crowdstrike-next-gen-siem-output", "type": "crowdstrike_next_gen_siem", "url": "https://ingest.us.crowdstrike.com/api/ingest/hec/connection-id/v1/services/collector", "format": "JSON", "authType": "manual", "token": "your-token"} @@ -22757,7 +24129,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesCriblHttp: requestBody: application/json: {"id": "cribl-http-output", "type": "cribl_http"} @@ -22765,7 +24139,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesCriblTcp: requestBody: application/json: {"id": "cribl-tcp-output", "type": "cribl_tcp", "host": "localhost", "port": 10090} @@ -22773,7 +24149,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesGoogleCloudLogging: requestBody: application/json: {"id": "google-cloud-logging-output", "type": "google_cloud_logging", "logLocationType": "project", "logNameExpression": "my-log", "logLocationExpression": "my-project"} @@ -22781,7 +24159,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesSns: requestBody: application/json: {"id": "sns-output", "type": "sns", "topicArn": "arn:aws:sns:us-east-1:123456789012:my-topic", "messageGroupId": "my-message-group", "region": "us-east-1"} @@ -22789,7 +24169,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesDlS3: requestBody: application/json: {"id": "dl-s3-output", "type": "dl_s3", "bucket": "my-bucket", "region": "us-east-1", "stagePath": "/tmp/staging"} @@ -22797,7 +24179,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesSecurityLake: requestBody: application/json: {"id": "security-lake-output", "type": "security_lake", "assumeRoleArn": "arn:aws:iam::123456789012:role/my-role", "bucket": "my-bucket", "region": "us-east-1", "stagePath": "/tmp/staging", "accountId": "123456789012", "customSource": "my-custom-source"} @@ -22805,7 +24189,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesCriblLake: requestBody: application/json: {"id": "cribl-lake-output", "type": "cribl_lake"} @@ -22813,7 +24199,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesExabeam: requestBody: application/json: {"id": "exabeam-output", "type": "exabeam", "bucket": "my-bucket", "region": "us-east1", "stagePath": "/tmp/staging", "endpoint": "https://storage.googleapis.com", "collectorInstanceId": "11112222-3333-4444-5555-666677778888"} @@ -22821,7 +24209,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesDiskSpool: requestBody: application/json: {"id": "disk-spool-output", "type": "disk_spool"} @@ -22829,7 +24219,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesClickHouse: requestBody: application/json: {"id": "clickhouse-output", "type": "click_house", "url": "http://localhost:8123/", "database": "mydb", "tableName": "mytable"} @@ -22837,7 +24229,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesXsiam: requestBody: application/json: {"id": "xsiam-output", "type": "xsiam"} @@ -22845,7 +24239,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesNetflow: requestBody: application/json: {"id": "netflow-output", "type": "netflow", "hosts": [{"host": "localhost", "port": 2055}]} @@ -22853,7 +24249,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesDynatraceHttp: requestBody: application/json: {"id": "dynatrace-http-output", "type": "dynatrace_http", "authType": "token", "format": "json_array", "endpoint": "cloud", "telemetryType": "logs", "token": "your-api-key"} @@ -22861,7 +24259,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesDatabricks: requestBody: application/json: {"id": "databricks-output", "type": "databricks", "workspaceId": "your-workspace-id", "scope": "all-apis", "clientId": "your-client-id", "catalog": "main", "schema": "external", "eventsVolumeName": "events", "clientTextSecret": "your-client-secret"} @@ -22869,7 +24269,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesCriblSearchEngine: requestBody: application/json: {"id": "cribl-search-engine-output", "type": "cribl_search_engine", "systemFields": ["cribl_pipe"], "streamtags": [], "loadBalanced": false, "tls": {"disabled": true}, "tokenTTLMinutes": 60, "excludeFields": ["__kube_*", "__metadata", "__winEvent"], "compression": "gzip", "concurrency": 5, "maxPayloadSizeKB": 4096, "maxPayloadEvents": 0, "rejectUnauthorized": true, "timeoutSec": 30, "flushPeriodSec": 1, "failedRequestLoggingMode": "none", "safeHeaders": [], "throttleRatePerSec": "0", "responseRetrySettings": [{"httpStatus": 401, "initialBackoff": 1000, "backoffRate": 2, "maxBackoff": 20000}, {"httpStatus": 403, "initialBackoff": 1000, "backoffRate": 2, "maxBackoff": 20000}, {"httpStatus": 408, "initialBackoff": 250, "backoffRate": 2, "maxBackoff": 10000}, {"httpStatus": 429, "initialBackoff": 1000, "backoffRate": 2, "maxBackoff": 10000}, {"httpStatus": 500, "initialBackoff": 250, "backoffRate": 2, "maxBackoff": 10000}, {"httpStatus": 502, "initialBackoff": 250, "backoffRate": 2, "maxBackoff": 10000}, {"httpStatus": 503, "initialBackoff": 250, "backoffRate": 2, "maxBackoff": 10000}, {"httpStatus": 504, "initialBackoff": 250, "backoffRate": 2, "maxBackoff": 10000}, {"httpStatus": 509, "initialBackoff": 250, "backoffRate": 2, "maxBackoff": 10000}], "timeoutRetrySettings": {"timeoutRetry": false}, "responseHonorRetryAfterHeader": true, "onBackpressure": "block", "useRoundRobinDns": true, "url": "https://0.0.0.0:10200"} @@ -22877,7 +24279,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesWizHec: requestBody: application/json: {"id": "wiz-hec-output", "type": "wiz_hec", "authType": "manual", "wiz_connector_id": "00000000-0000-0000-0000-000000000000", "wiz_environment": "test", "data_center": "us1", "wiz_sourcetype": "placeholder"} @@ -22885,7 +24289,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesLocalSearchStorage: requestBody: application/json: {"id": "local-search-storage-output", "type": "local_search_storage", "url": "http://localhost:8123/", "database": "default", "tableName": "mytable"} @@ -22893,7 +24299,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesNutanixObjects: requestBody: application/json: {"id": "nutanix-objects-output", "type": "nutanix_objects", "bucket": "my-bucket", "stagePath": "/tmp/staging", "endpoint": "https://nutanix-objects.example.com"} @@ -22901,7 +24309,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesStorjS3: requestBody: application/json: {"id": "storj-s3-output", "type": "storj_s3", "bucket": "my-bucket", "stagePath": "/tmp/staging", "endpoint": "https://gateway.storjshare.io"} @@ -22909,7 +24319,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesAlphasocS3: requestBody: application/json: {"id": "alphasoc-s3-output", "type": "alphasoc_s3", "bucket": "events", "stagePath": "/tmp/staging", "endpoint": "https://s3.alphasoc.net"} @@ -22917,7 +24329,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesdellS3: requestBody: application/json: {"id": "dell-s3-output", "type": "dell_s3", "bucket": "my-bucket", "stagePath": "/tmp/staging", "endpoint": "https://powerscale.example.com:9021"} @@ -22925,7 +24339,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplescloudianS3: requestBody: application/json: {"id": "cloudian-s3-output", "type": "cloudian_s3", "endpoint": "https://s3.hyperstore.example.com", "bucket": "my-bucket", "stagePath": "/tmp/staging"} @@ -22933,7 +24349,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesscalityS3: requestBody: application/json: {"id": "scality-s3-output", "type": "scality_s3", "bucket": "my-bucket", "stagePath": "/tmp/staging", "endpoint": "https://s3.scality.example.com"} @@ -22941,7 +24359,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesalibabaCloudS3: requestBody: application/json: {"id": "alibaba-oss-output", "type": "alibaba_cloud_s3", "bucket": "my-bucket", "stagePath": "/tmp/staging", "endpoint": "https://s3.oss-cn-hangzhou.aliyuncs.com"} @@ -22949,6 +24369,76 @@ examples: "200": application/json: {} "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + 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": ""} + OutputCreateExamplesAmazonManagedPrometheus: + requestBody: + application/json: {"id": "amazon-managed-prometheus-output", "type": "amazon_managed_prometheus", "url": "https://aps-workspaces.us-east-1.amazonaws.com/workspaces/ws-example/api/v1/remote_write", "awsAuthenticationMethod": "auto", "region": "us-east-1"} + responses: + "200": + application/json: {} + "401": + application/json: {"status": "error", "message": ""} + "500": + application/json: {"status": "error", "message": ""} + OutputCreateExamplesGoogleBigQuery: + requestBody: + application/json: {"id": "google-bigquery-output", "type": "google_bigquery", "projectId": "my-project", "datasetId": "my-dataset", "tableId": "my-table", "googleAuthMethod": "auto"} + responses: + "200": + application/json: {} + "401": + application/json: {"status": "error", "message": ""} + "500": + application/json: {"status": "error", "message": ""} + OutputCreateExamplesGoogleCloudObservability: + requestBody: + application/json: {"id": "google-cloud-observability-output", "type": "google_cloud_observability", "googleAuthMethod": "auto"} + responses: + "200": + application/json: {} + "401": + application/json: {"status": "error", "message": ""} + "500": + application/json: {"status": "error", "message": ""} + OutputCreateExamplesCustomerMetricsStorage: + requestBody: + application/json: {"id": "customer-metrics-storage-output", "type": "customer_metrics_storage", "url": "http://localhost:8123/", "database": "default", "tableName": "mytable"} + responses: + "200": + application/json: {} + "401": + application/json: {"status": "error", "message": ""} + "500": + application/json: {"status": "error", "message": ""} + OutputResponseExamplesSplunkHecDestination: + requestBody: + application/json: {"id": "", "type": "minio", "bucket": "", "stagePath": "", "endpoint": ""} + responses: + "200": + application/json: {} + OutputResponseExamplesS3Destination: + requestBody: + application/json: {"id": "", "type": "google_chronicle", "logFormatType": "udm"} + responses: + "200": + application/json: {} + OutputResponseExamplesSyslogDestination: + requestBody: + application/json: {"id": "", "type": "security_lake", "assumeRoleArn": "", "bucket": "", "region": "", "stagePath": "", "accountId": "", "customSource": ""} + responses: + "200": application/json: {} getOutputById: speakeasy-default-get-output-by-id: @@ -22959,6 +24449,29 @@ examples: "200": application/json: {} "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + OutputResponseExamplesSplunkHecDestination: + parameters: + path: + id: "" + responses: + "200": + application/json: {} + OutputResponseExamplesS3Destination: + parameters: + path: + id: "" + responses: + "200": + application/json: {} + OutputResponseExamplesSyslogDestination: + parameters: + path: + id: "" + responses: + "200": application/json: {} updateOutputById: speakeasy-default-update-output-by-id: @@ -22971,7 +24484,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputExamplesDefault: parameters: path: @@ -23829,7 +25344,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesTcpjson: parameters: path: @@ -23840,7 +25357,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesSplunk: parameters: path: @@ -23851,7 +25370,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesSplunkLb: parameters: path: @@ -23862,7 +25383,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesSplunkHec: parameters: path: @@ -23873,7 +25396,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesSyslog: parameters: path: @@ -23884,7 +25409,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesFilesystem: parameters: path: @@ -23895,7 +25422,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesS3: parameters: path: @@ -23906,7 +25435,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesNutanixObjects: parameters: path: @@ -23917,7 +25448,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesStorjS3: parameters: path: @@ -23928,7 +25461,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesAlphasocS3: parameters: path: @@ -23939,7 +25474,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesdellS3: parameters: path: @@ -23950,7 +25487,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplescloudianS3: parameters: path: @@ -23961,7 +25500,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesscalityS3: parameters: path: @@ -23972,7 +25513,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesalibabaCloudS3: parameters: path: @@ -23983,7 +25526,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesAzureBlob: parameters: path: @@ -23994,7 +25539,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesAzureDataExplorer: parameters: path: @@ -24005,7 +25552,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesSentinel: parameters: path: @@ -24016,7 +25565,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesAzureLogs: parameters: path: @@ -24027,7 +25578,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesKafka: parameters: path: @@ -24038,7 +25591,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesConfluentCloud: parameters: path: @@ -24049,7 +25604,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesMsk: parameters: path: @@ -24060,7 +25617,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesKinesis: parameters: path: @@ -24071,7 +25630,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesElastic: parameters: path: @@ -24082,7 +25643,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesElasticCloud: parameters: path: @@ -24093,7 +25656,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesMicrosoftFabric: parameters: path: @@ -24104,7 +25669,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesCloudflareR2: parameters: path: @@ -24115,7 +25682,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesHoneycomb: parameters: path: @@ -24126,7 +25695,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesNewrelic: parameters: path: @@ -24137,7 +25708,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesNewrelicEvents: parameters: path: @@ -24148,7 +25721,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesSnmp: parameters: path: @@ -24159,7 +25734,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesInfluxdb: parameters: path: @@ -24170,7 +25747,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesMinio: parameters: path: @@ -24181,7 +25760,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesCloudwatch: parameters: path: @@ -24192,7 +25773,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesAzureEventhub: parameters: path: @@ -24203,7 +25786,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesStatsd: parameters: path: @@ -24214,7 +25799,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesStatsdExt: parameters: path: @@ -24225,7 +25812,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesGraphite: parameters: path: @@ -24236,7 +25825,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesWavefront: parameters: path: @@ -24247,7 +25838,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesSignalfx: parameters: path: @@ -24258,7 +25851,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesSqs: parameters: path: @@ -24269,7 +25864,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesGoogleCloudStorage: parameters: path: @@ -24280,7 +25877,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesSumoLogic: parameters: path: @@ -24291,7 +25890,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesDatadog: parameters: path: @@ -24302,7 +25903,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesWebhook: parameters: path: @@ -24313,7 +25916,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesPrometheus: parameters: path: @@ -24324,7 +25929,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesGooglePubsub: parameters: path: @@ -24335,7 +25942,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesGoogleChronicle: parameters: path: @@ -24346,7 +25955,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesChronicle: parameters: path: @@ -24357,7 +25968,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesGrafanaCloud: parameters: path: @@ -24368,7 +25981,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesLoki: parameters: path: @@ -24379,7 +25994,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesOpenTelemetry: parameters: path: @@ -24390,7 +26007,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesServiceNow: parameters: path: @@ -24401,7 +26020,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesDynatraceOtlp: parameters: path: @@ -24412,7 +26033,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesSentinelOneAiSiem: parameters: path: @@ -24423,7 +26046,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesDataset: parameters: path: @@ -24434,7 +26059,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesRing: parameters: path: @@ -24445,7 +26072,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesRouter: parameters: path: @@ -24456,7 +26085,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesWizHec: parameters: path: @@ -24467,7 +26098,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesHumioHec: parameters: path: @@ -24478,7 +26111,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesCrowdstrikeNextGenSiem: parameters: path: @@ -24489,7 +26124,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesCriblHttp: parameters: path: @@ -24500,7 +26137,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesCriblTcp: parameters: path: @@ -24511,7 +26150,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesCriblSearchEngine: parameters: path: @@ -24522,7 +26163,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesGoogleCloudLogging: parameters: path: @@ -24533,7 +26176,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesSns: parameters: path: @@ -24544,7 +26189,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesDlS3: parameters: path: @@ -24555,7 +26202,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesSecurityLake: parameters: path: @@ -24566,7 +26215,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesCriblLake: parameters: path: @@ -24577,7 +26228,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesExabeam: parameters: path: @@ -24588,7 +26241,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesDiskSpool: parameters: path: @@ -24599,7 +26254,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesClickHouse: parameters: path: @@ -24610,7 +26267,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesLocalSearchStorage: parameters: path: @@ -24621,7 +26280,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesXsiam: parameters: path: @@ -24632,7 +26293,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesNetflow: parameters: path: @@ -24643,7 +26306,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesDynatraceHttp: parameters: path: @@ -24654,7 +26319,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesDatabricks: parameters: path: @@ -24665,100 +26332,277 @@ examples: "200": application/json: {} "500": - application/json: {} - deleteOutputById: - speakeasy-default-delete-output-by-id: + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + 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: {} - deleteOutputPqById: - speakeasy-default-delete-output-pq-by-id: + application/json: {"status": "error", "message": ""} + UpdateOutputExamplesAmazonManagedPrometheus: parameters: path: id: "" + requestBody: + application/json: {"id": "amazon-managed-prometheus-output", "type": "amazon_managed_prometheus", "url": "https://aps-workspaces.us-east-1.amazonaws.com/workspaces/ws-example/api/v1/remote_write", "awsAuthenticationMethod": "auto", "region": "us-east-1"} responses: "200": - application/json: {"count": 37997, "items": [{"key": ""}, {"key": "", "key1": ""}]} - "500": application/json: {} - "201": - application/json: {} - getOutputPqById: - speakeasy-default-get-output-pq-by-id: + "401": + application/json: {"status": "error", "message": ""} + "500": + application/json: {"status": "error", "message": ""} + UpdateOutputExamplesGoogleBigQuery: parameters: path: id: "" + requestBody: + application/json: {"id": "google-bigquery-output", "type": "google_bigquery", "projectId": "my-project", "datasetId": "my-dataset", "tableId": "my-table", "googleAuthMethod": "auto"} responses: "200": application/json: {} + "401": + application/json: {"status": "error", "message": ""} "500": - application/json: {} - getOutputSamplesById: - speakeasy-default-get-output-samples-by-id: + application/json: {"status": "error", "message": ""} + UpdateOutputExamplesGoogleCloudObservability: parameters: path: id: "" + requestBody: + application/json: {"id": "google-cloud-observability-output", "type": "google_cloud_observability", "googleAuthMethod": "auto"} responses: "200": application/json: {} + "401": + application/json: {"status": "error", "message": ""} "500": - application/json: {} - createOutputTestById: - speakeasy-default-create-output-test-by-id: + application/json: {"status": "error", "message": ""} + UpdateOutputExamplesCustomerMetricsStorage: parameters: path: id: "" requestBody: - application/json: {"events": [{"_raw": ""}]} + application/json: {"id": "customer-metrics-storage-output", "type": "customer_metrics_storage", "url": "http://localhost:8123/", "database": "default", "tableName": "mytable"} responses: "200": application/json: {} + "401": + application/json: {"status": "error", "message": ""} "500": - application/json: {} - OutputTestExamplesSingleEvent: + application/json: {"status": "error", "message": ""} + OutputResponseExamplesSplunkHecDestination: parameters: path: id: "" requestBody: - application/json: {"events": [{"_raw": "This is a test event", "source": "test", "sourcetype": "manual"}]} + application/json: {"type": "azure_blob", "containerName": "", "stagePath": ""} responses: "200": application/json: {} - "500": - application/json: {} - OutputTestExamplesMultipleEvents: + OutputResponseExamplesS3Destination: parameters: path: id: "" requestBody: - application/json: {"events": [{"_raw": "Test event 1", "source": "test", "sourcetype": "manual"}, {"_raw": "Test event 2", "source": "test", "sourcetype": "manual"}]} + application/json: {"type": "dataset"} responses: "200": application/json: {} - "500": - application/json: {} - listRoutes: - speakeasy-default-list-routes: - responses: - "200": - application/json: {"count": 397064, "items": [{"id": "", "routes": [], "groups": {"key": {"name": "", "description": "proceed provided off nor why pasta wry youthfully amongst which", "disabled": true}}, "comments": [{"comment": "Andy shoes are designed to keeping in mind durability as well as trends, the most stylish range of shoes & sandals"}]}]} - "500": - application/json: {"message": ""} - getRoutesById: - speakeasy-default-get-routes-by-id: + OutputResponseExamplesSyslogDestination: parameters: path: id: "" + requestBody: + application/json: {"type": "splunk_hec"} responses: "200": application/json: {} + deleteOutputById: + speakeasy-default-delete-output-by-id: + parameters: + path: + id: "" + responses: + "200": + application/json: {} + "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + OutputResponseExamplesSplunkHecDestination: + parameters: + path: + id: "" + responses: + "200": + application/json: {} + OutputResponseExamplesS3Destination: + parameters: + path: + id: "" + responses: + "200": + application/json: {} + OutputResponseExamplesSyslogDestination: + parameters: + path: + id: "" + responses: + "200": + application/json: {} + deleteOutputPqById: + speakeasy-default-delete-output-pq-by-id: + parameters: + path: + id: "" + responses: + "200": + application/json: {"count": 37997, "items": [{"key": ""}, {"key": "", "key1": ""}]} + "500": + application/json: {"status": "error", "message": ""} + "201": + application/json: {} + "401": + application/json: {"status": "error", "message": ""} + OutputClearPQResponseExamplesClearPQJobId: + parameters: + path: + id: "" + responses: + "201": + application/json: {"count": 1, "items": ["ceb17a42-f785-4f5e-b52a-7f0e1b2c3d4e"]} + getOutputPqById: + speakeasy-default-get-output-pq-by-id: + parameters: + path: + id: "" + responses: + "200": + application/json: {} + "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + getOutputSamplesById: + speakeasy-default-get-output-samples-by-id: + parameters: + path: + id: "" + responses: + "200": + application/json: {} + "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + OutputSamplesResponseExamplesSampleEvents: + parameters: + path: + id: "" + responses: + "200": + application/json: {"count": 1, "items": [{"events": [{"_raw": "Sample event for Destination", "source": "test", "sourcetype": "manual"}]}]} + createOutputTestById: + speakeasy-default-create-output-test-by-id: + parameters: + path: + id: "" + requestBody: + application/json: {"events": [{}, {}]} + responses: + "200": + application/json: {} + "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + OutputTestExamplesSingleEvent: + parameters: + path: + id: "" + requestBody: + application/json: {"events": [{"_raw": "This is a test event", "source": "test", "sourcetype": "manual"}]} + responses: + "200": + application/json: {} + "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + OutputTestExamplesMultipleEvents: + parameters: + path: + id: "" + requestBody: + application/json: {"events": [{"_raw": "Test event 1", "source": "test", "sourcetype": "manual"}, {"_raw": "Test event 2", "source": "test", "sourcetype": "manual"}]} + responses: + "200": + application/json: {} + "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + OutputTestResponseExamplesSuccessfulTest: + parameters: + path: + id: "" + requestBody: + application/json: {"events": [{}, {}]} + responses: + "200": + application/json: {"count": 1, "items": [{"outputId": "splunk-hec-output", "success": true, "successDetail": "Successfully sent 1 event(s) to the Destination."}]} + OutputTestResponseExamplesFailedTest: + parameters: + path: + id: "" + requestBody: + application/json: {"events": [{}, {}]} + responses: + "200": + application/json: {"count": 1, "items": [{"error": "Connection timed out after 30000ms", "outputId": "s3-output", "success": false}]} + listRoutes: + speakeasy-default-list-routes: + responses: + "200": + application/json: {"count": 397064, "items": [{"id": "", "routes": [], "groups": {"key": {"name": "", "description": "proceed provided off nor why pasta wry youthfully amongst which", "disabled": true}}, "comments": [{"comment": "Andy shoes are designed to keeping in mind durability as well as trends, the most stylish range of shoes & sandals"}]}]} "500": + application/json: {"message": ""} + getRoutesById: + speakeasy-default-get-routes-by-id: + parameters: + path: + id: "" + responses: + "200": application/json: {} + "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + RoutesResponseExamplesDefaultRoutingTable: + parameters: + path: + id: "" + responses: + "200": + 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: {"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: @@ -24770,7 +26614,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} RoutesUpdateExamplesBasicRoute: parameters: path: @@ -24781,7 +26627,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} RoutesUpdateExamplesMultipleRoutes: parameters: path: @@ -24792,7 +26640,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} RoutesUpdateExamplesRouteWithOutputExpression: parameters: path: @@ -24803,7 +26653,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} RoutesUpdateExamplesRouteWithDefaults: parameters: path: @@ -24814,7 +26666,27 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + RoutesResponseExamplesDefaultRoutingTable: + parameters: + path: + id: "" + requestBody: + application/json: {"id": "", "routes": []} + responses: + "200": + 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: "" + requestBody: + application/json: {"id": "", "routes": []} + responses: + "200": + 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: @@ -24826,7 +26698,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} RoutesAppendExamplesSingleRoute: parameters: path: @@ -24837,7 +26711,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} RoutesAppendExamplesMultipleRoutes: parameters: path: @@ -24848,7 +26724,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} RoutesAppendExamplesRouteWithOutputExpression: parameters: path: @@ -24859,7 +26737,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} RoutesAppendExamplesRouteWithDefaults: parameters: path: @@ -24870,7 +26750,27 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + RoutesResponseExamplesDefaultRoutingTable: + parameters: + path: + id: "" + requestBody: + application/json: [] + responses: + "200": + 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: "" + requestBody: + application/json: [] + responses: + "200": + 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: @@ -25685,7 +27585,13 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + VersionBranchResponseExamplesListBranches: + responses: + "200": + application/json: {"count": 2, "items": [{"id": "main"}, {"id": "feature/new-pipeline"}]} createVersionCommit: speakeasy-default-create-version-commit: parameters: @@ -25697,7 +27603,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} VersionCommitExamplesCommitAll: requestBody: application/json: {"message": "Updated pipeline configuration for syslog parsing"} @@ -25705,7 +27613,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} VersionCommitExamplesCommitSpecificFiles: requestBody: application/json: {"effective": true, "files": ["groups/default/local/cribl/pipelines/http_input/conf.yml", "groups/default/local/cribl/routes.yml"], "message": "Update Route and Pipeline for HTTP Sources"} @@ -25713,7 +27623,15 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + VersionCommitResponseExamplesCommitCreated: + requestBody: + application/json: {"message": ""} + responses: + "200": + application/json: {"count": 1, "items": [{"author": {"email": "admin@example.com", "name": "Admin User"}, "branch": "main", "commit": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2", "files": {"modified": ["groups/default/local/cribl/pipelines/http_input/conf.yml"]}, "summary": {"changes": 1, "deletions": 2, "insertions": 5}}]} getVersionCount: speakeasy-default-get-version-count: parameters: @@ -25726,14 +27644,26 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + VersionCountResponseExamplesFileCount: + responses: + "200": + application/json: {"count": 1, "items": [{"count": 3}]} getVersionCurrentBranch: speakeasy-default-get-version-current-branch: responses: "200": application/json: {"branch": ""} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + VersionCurrentBranchResponseExamplesCurrentBranch: + responses: + "200": + application/json: {"branch": "main"} getVersionDiff: speakeasy-default-get-version-diff: parameters: @@ -25745,9 +27675,15 @@ examples: groupId: "" responses: "200": - application/json: {} + application/json: {"items": [{"diffJson": [{"addedLines": 236125, "blocks": [{"header": "@@ -1,5 +1,8 @@", "lines": [], "newStartLine": 672670, "oldStartLine": 64587}], "deletedLines": 582143, "isCombined": false, "isGitDiff": true, "language": "", "newMode": "100644", "newName": "", "oldMode": "100644", "oldName": ""}]}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + VersionDiffResponseExamplesDiffResult: + responses: + "200": + application/json: {"count": 1, "items": [{"diffJson": [{"addedLines": 5, "blocks": [], "deletedLines": 2, "isCombined": false, "isGitDiff": true, "language": "yml", "newName": "groups/default/local/cribl/pipelines/http_input/conf.yml", "oldName": "groups/default/local/cribl/pipelines/http_input/conf.yml"}]}]} getVersionFiles: speakeasy-default-get-version-files: parameters: @@ -25760,21 +27696,39 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + VersionFilesResponseExamplesChangedFiles: + responses: + "200": + application/json: {"count": 1, "items": [{"commitMessage": "Updated pipeline configuration", "count": 2, "items": [{"name": "groups/default/local/cribl/pipelines/http_input/conf.yml", "state": "M"}, {"name": "groups/default/local/cribl/routes.yml", "state": "A"}]}]} getVersionInfo: speakeasy-default-get-version-info: responses: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + VersionInfoResponseExamplesGitInfo: + responses: + "200": + application/json: {"count": 1, "items": [{"remote": "https://github.com/example/cribl-config.git", "versioning": true}]} createVersionPush: speakeasy-default-create-version-push: responses: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + VersionPushResponseExamplesPushResult: + responses: + "200": + application/json: {"count": 1, "items": ["To https://github.com/example/cribl-config.git\n a1b2c3d..b2c3d4e main -> main"]} createVersionRevert: speakeasy-default-create-version-revert: parameters: @@ -25787,7 +27741,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} VersionRevertExamplesRevertCommit: requestBody: application/json: {"commit": "a1b2c3d4e5f6"} @@ -25795,7 +27751,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} VersionRevertExamplesForceRevertWithMessage: requestBody: application/json: {"commit": "a1b2c3d4e5f6", "force": true, "message": "Revert commit due to misconfiguration in Pipeline settings"} @@ -25803,7 +27761,15 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + VersionRevertResponseExamplesRevertResult: + requestBody: + application/json: {"commit": ""} + responses: + "200": + application/json: {"count": 1, "items": [{"audit": {"files": {"modified": ["groups/default/local/cribl/pipelines/http_input/conf.yml"]}, "id": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2"}, "reverted": true}]} getVersionShow: speakeasy-default-get-version-show: parameters: @@ -25815,9 +27781,15 @@ examples: groupId: "" responses: "200": - application/json: {} + application/json: {"items": [{"commitMessage": "", "diffJson": [{"addedLines": 969040, "blocks": [{"header": "@@ -1,5 +1,8 @@", "lines": [{"type": "delete", "oldNumber": 388781, "content": ""}], "newStartLine": 7645, "oldStartLine": 937901}], "deletedLines": 551101, "isCombined": true, "isGitDiff": true, "language": "", "newMode": "100644", "newName": "", "oldMode": "100644", "oldName": ""}]}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + VersionShowResponseExamplesShowCommit: + responses: + "200": + application/json: {"count": 1, "items": [{"commitMessage": "Updated syslog pipeline configuration", "diffJson": [{"addedLines": 3, "blocks": [], "deletedLines": 1, "isCombined": false, "isGitDiff": true, "language": "yml", "newName": "groups/default/local/cribl/pipelines/syslog/conf.yml", "oldName": "groups/default/local/cribl/pipelines/syslog/conf.yml"}]}]} getVersionStatus: speakeasy-default-get-version-status: parameters: @@ -25828,7 +27800,13 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + VersionStatusResponseExamplesWorkingTreeStatus: + responses: + "200": + application/json: {"count": 1, "items": [{"ahead": 0, "behind": 0, "conflicted": [], "created": [], "current": "main", "deleted": [], "files": [{"index": "M", "path": "groups/default/local/cribl/pipelines/http_input/conf.yml", "working_dir": " "}], "modified": ["groups/default/local/cribl/pipelines/http_input/conf.yml"], "not_added": [], "renamed": [], "staged": []}]} createVersionSync: speakeasy-default-create-version-sync: responses: @@ -25846,7 +27824,13 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + VersionUndoResponseExamplesUndoResult: + responses: + "200": + application/json: {"count": 1, "items": [true]} createCriblLakeDatasetByLakeId: speakeasy-default-create-cribl-lake-dataset-by-lake-id: parameters: @@ -25858,7 +27842,9 @@ examples: "200": application/json: {"items": [{"id": "", "searchConfig": {"metadata": {"earliest": "-30d", "enableAcceleration": false, "fieldList": ["", ""], "scanMode": "detailed"}}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} LakeDatasetCreateExamplesJsonDataset: parameters: path: @@ -25869,7 +27855,9 @@ examples: "200": application/json: {"items": [{"id": "", "searchConfig": {"metadata": {"earliest": "-30d", "enableAcceleration": false, "fieldList": ["", ""], "scanMode": "detailed"}}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} LakeDatasetCreateExamplesParquetDataset: parameters: path: @@ -25880,7 +27868,9 @@ examples: "200": application/json: {"items": [{"id": "", "searchConfig": {"metadata": {"earliest": "-30d", "enableAcceleration": false, "fieldList": ["", ""], "scanMode": "detailed"}}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} LakeDatasetCreateExamplesMinimalDataset: parameters: path: @@ -25891,7 +27881,9 @@ examples: "200": application/json: {"items": [{"id": "", "searchConfig": {"metadata": {"earliest": "-30d", "enableAcceleration": false, "fieldList": ["", ""], "scanMode": "detailed"}}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} getCriblLakeDatasetByLakeId: speakeasy-default-get-cribl-lake-dataset-by-lake-id: parameters: @@ -25908,7 +27900,9 @@ examples: "200": application/json: {"items": [{"id": "", "searchConfig": {"metadata": {"earliest": "-30d", "enableAcceleration": true, "fieldList": [""], "scanMode": "quick"}}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} getSummaryWorkers: speakeasy-default-get-summary-workers: parameters: @@ -25954,52 +27948,70 @@ examples: createPacks: speakeasy-default-create-packs: requestBody: - application/json: {"id": "", "spec": "", "version": "", "minLogStreamVersion": "", "displayName": "Myah14", "author": "", "description": "premeditation coincide although", "source": "", "tags": {"dataType": [], "domain": [], "streamtags": ["", ""], "technology": [""]}, "allowCustomFunctions": false, "force": false} + application/json: {"id": "", "spec": "", "version": "", "minLogStreamVersion": "", "displayName": "Myah14", "author": "", "description": "premeditation coincide although", "source": "", "tags": {"dataType": [], "domain": [], "technology": [""], "streamtags": ["", ""]}, "allowCustomFunctions": false, "force": false} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "source": "", "tags": {"domain": ["security", "observability"], "technology": ["aws", "splunk"]}, "version": "1.0.0"}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PackInstallExamplesPackDispensary: requestBody: 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: {} + 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: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PackInstallExamplesUploadedFile: requestBody: 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: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PackInstallExamplesURL: requestBody: 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: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PackInstallExamplesGitRepository: requestBody: 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: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + PackInstallResponseExamplesInstalledFromURL: + requestBody: + application/json: {"version": "1.0.0", "source": "", "tags": {"domain": ["security", "observability"], "technology": ["aws", "splunk"]}} + responses: + "200": + application/json: {"count": 1, "items": [{"author": "Cribl", "description": "Packs for processing Palo Alto Networks firewall logs.", "displayName": "Palo Alto Networks", "exports": ["pipelines", "inputs"], "id": "cribl-palo-alto-networks", "source": "https://github.com/criblpacks/cribl-palo-alto-networks/releases/download/1.1.4/cribl-palo-alto-networks-a3e5a19d-1.1.4.crbl", "version": "1.1.4", "warnings": []}]} getPacks: speakeasy-default-get-packs: parameters: @@ -26009,7 +28021,13 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + PackListResponseExamplesPackList: + responses: + "200": + application/json: {"count": 2, "items": [{"author": "Cribl", "description": "Packs for processing Palo Alto Networks firewall logs.", "displayName": "Palo Alto Networks", "exports": ["pipelines", "inputs"], "id": "cribl-palo-alto-networks", "source": "https://github.com/criblpacks/cribl-palo-alto-networks/releases/download/1.1.4/cribl-palo-alto-networks-a3e5a19d-1.1.4.crbl", "version": "1.1.4"}, {"author": "", "description": "", "displayName": "testPackFoo", "exports": [], "id": "testPackFoo", "source": "", "version": "0.0.1"}]} updatePacks: speakeasy-default-update-packs: parameters: @@ -26021,7 +28039,18 @@ examples: "200": application/json: {"source": ""} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + PackUploadResponseExamplesUploadedPack: + parameters: + query: + filename: "example.file" + requestBody: + application/octet-stream: "x-file: example.file" + responses: + "200": + application/json: {"source": "cribl-palo-alto-networks-1.1.4.AbCdEfGh.crbl"} getGroupsConfigVersionById: speakeasy-default-get-groups-config-version-by-id: parameters: @@ -26038,24 +28067,80 @@ examples: path: product: "stream" requestBody: - application/json: {"cloud": {"provider": "aws", "region": ""}, "configVersion": "", "deployingWorkerCount": 1848.32, "description": "director um why forgery apud once er though off", "estimatedIngestRate": 6663.53, "git": {"commit": "", "localChanges": 2079.21, "log": [{"author_email": "", "author_name": "", "date": "2024-08-24", "hash": "", "message": "", "short": ""}]}, "id": "", "incompatibleWorkerCount": 5487.26, "inherits": "", "isFleet": false, "isSearch": false, "lookupDeployments": [{"context": "", "lookups": [{"deployedVersion": "", "file": "", "version": ""}]}], "maxWorkerAge": "", "name": "", "onPrem": true, "provisioned": true, "streamtags": ["", "", ""], "tags": "", "type": "lake_access", "upgradeVersion": "", "workerCount": 851.73, "workerRemoteAccess": false} + application/json: {"estimatedIngestRate": 15360, "id": ""} responses: "200": - application/json: {"count": 339650, "items": [{"cloud": {"provider": "aws", "region": ""}, "configVersion": "", "deployingWorkerCount": 5282.89, "description": "seriously mountain gadzooks illiterate from better whose", "estimatedIngestRate": 8520.18, "git": {"commit": "", "localChanges": 2079.21, "log": [{"author_email": "", "author_name": "", "date": "2024-08-24", "hash": "", "message": "", "short": ""}]}, "id": "", "incompatibleWorkerCount": 4907.06, "inherits": "", "isFleet": false, "isSearch": true, "lookupDeployments": [{"context": "", "lookups": [{"deployedVersion": "", "file": "", "version": ""}]}], "maxWorkerAge": "", "name": "", "onPrem": true, "provisioned": false, "streamtags": ["", ""], "tags": "", "type": "lake_access", "upgradeVersion": "", "workerCount": 2620.95, "workerRemoteAccess": true}]} + application/json: {"items": [{"estimatedIngestRate": 4096, "id": ""}]} "500": - application/json: {"message": ""} - getProductsGroupsByProduct: - speakeasy-default-get-products-groups-by-product: + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + CreateGroupExamplesCloudWg: parameters: path: product: "stream" - query: - fields: "" + requestBody: + application/json: {"cloud": {"provider": "aws", "region": "us-west-2"}, "estimatedIngestRate": 2048, "id": "goatCloudIanWg", "name": "goatcloudianwg", "onPrem": false, "provisioned": true, "type": "stream", "workerRemoteAccess": true} responses: "200": - application/json: {"count": 139413, "items": [{"cloud": {"provider": null, "region": ""}, "configVersion": "", "deployingWorkerCount": 2422.36, "description": "finally huff within whereas per indeed among sarong almighty swordfish", "estimatedIngestRate": 9946.32, "git": {"commit": "", "localChanges": 7149.9, "log": [{"author_email": "", "author_name": "", "date": "2024-09-01", "hash": "", "message": "", "short": ""}]}, "id": "", "incompatibleWorkerCount": 3041.33, "inherits": "", "isFleet": true, "isSearch": false, "lookupDeployments": [{"context": "", "lookups": [{"deployedVersion": "", "file": "", "version": ""}]}], "maxWorkerAge": "", "name": "", "onPrem": true, "provisioned": false, "streamtags": [""], "tags": "", "type": "lake_access", "upgradeVersion": "", "workerCount": 7295.87, "workerRemoteAccess": false}]} + application/json: {"items": [{"estimatedIngestRate": 4096, "id": ""}]} + "401": + application/json: {"status": "error", "message": ""} "500": - application/json: {"message": ""} + application/json: {"status": "error", "message": ""} + CreateGroupExamplesOnPremWg: + parameters: + path: + product: "stream" + requestBody: + application/json: {"description": "Worker group in customer-managed deployment", "id": "goatOnPremIanWg", "name": "goatonpremianwg", "onPrem": true, "type": "stream", "workerRemoteAccess": true} + responses: + "200": + application/json: {"items": [{"estimatedIngestRate": 4096, "id": ""}]} + "401": + application/json: {"status": "error", "message": ""} + "500": + application/json: {"status": "error", "message": ""} + CreateGroupExamplesCloneWg: + parameters: + path: + product: "stream" + requestBody: + application/json: {"description": "Worker Group cloned from goatOnPremIanWg with identical configuration", "id": "goatOnPremDollyWg", "name": "goatonpremdollywg", "onPrem": true, "sourceGroupId": "goatOnPremIanWg", "type": "stream", "workerRemoteAccess": true} + responses: + "200": + application/json: {"items": [{"estimatedIngestRate": 4096, "id": ""}]} + "401": + application/json: {"status": "error", "message": ""} + "500": + application/json: {"status": "error", "message": ""} + CreateGroupExamplesEdgeFleet: + parameters: + path: + product: "outpost" + requestBody: + application/json: {"description": "Create a new Edge Fleet", "id": "goatIanEdgeFleet", "name": "goatianedgefleet", "onPrem": true, "type": "edge", "workerRemoteAccess": true} + responses: + "200": + application/json: {"items": [{"estimatedIngestRate": 4096, "id": ""}]} + "401": + application/json: {"status": "error", "message": ""} + "500": + application/json: {"status": "error", "message": ""} + getProductsGroupsByProduct: + speakeasy-default-get-products-groups-by-product: + parameters: + path: + product: "stream" + query: + fields: "" + responses: + "200": + application/json: {"items": [{"cloud": {"provider": null, "region": ""}, "configVersion": "", "deployingWorkerCount": 2422.36, "description": "finally huff within whereas per indeed among sarong almighty swordfish", "estimatedIngestRate": 1024, "git": {"commit": "", "localChanges": 7149.9, "log": [{"author_email": "", "author_name": "", "date": "2024-09-01", "hash": "", "message": "", "short": ""}]}, "id": "", "incompatibleWorkerCount": 3041.33, "inherits": "", "isFleet": true, "isSearch": false, "lookupDeployments": [{"context": "", "lookups": [{"deployedVersion": "", "file": "", "version": ""}]}], "maxWorkerAge": "", "name": "", "onPrem": true, "provisioned": false, "streamtags": [""], "tags": "", "type": "lake_access", "upgradeVersion": "", "workerCount": 7295.87, "workerRemoteAccess": false}]} + "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} updateGroupsDeployById: speakeasy-default-update-groups-deploy-by-id: parameters: @@ -26102,9 +28187,11 @@ examples: type: "datasets" responses: "200": - application/json: {"count": 751174, "items": [{"perms": [{"gid": "", "id": "", "policy": "", "type": "dashboards"}], "team": ""}]} + application/json: {} "500": - application/json: {"message": ""} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} deleteCriblLakeDatasetByLakeIdAndId: speakeasy-default-delete-cribl-lake-dataset-by-lake-id-and-id: parameters: @@ -26115,7 +28202,9 @@ examples: "200": application/json: {"items": [{"id": "", "searchConfig": {"metadata": {"earliest": "-30d", "enableAcceleration": false, "fieldList": [""], "scanMode": "quick"}}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} getCriblLakeDatasetByLakeIdAndId: speakeasy-default-get-cribl-lake-dataset-by-lake-id-and-id: parameters: @@ -26126,7 +28215,9 @@ examples: "200": application/json: {"items": [{"id": "", "searchConfig": {"metadata": {"earliest": "-30d", "enableAcceleration": true, "fieldList": ["", "", ""], "scanMode": "detailed"}}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} updateCriblLakeDatasetByLakeIdAndId: speakeasy-default-update-cribl-lake-dataset-by-lake-id-and-id: parameters: @@ -26139,7 +28230,9 @@ examples: "200": application/json: {"items": [{"id": "", "searchConfig": {"metadata": {"earliest": "-30d", "enableAcceleration": false, "fieldList": ["", ""], "scanMode": "quick"}}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} LakeDatasetUpdateExamplesUpdateRetention: parameters: path: @@ -26151,7 +28244,9 @@ examples: "200": application/json: {"items": [{"id": "", "searchConfig": {"metadata": {"earliest": "-30d", "enableAcceleration": false, "fieldList": ["", ""], "scanMode": "quick"}}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} LakeDatasetUpdateExamplesUpdateDescription: parameters: path: @@ -26163,7 +28258,9 @@ examples: "200": application/json: {"items": [{"id": "", "searchConfig": {"metadata": {"earliest": "-30d", "enableAcceleration": false, "fieldList": ["", ""], "scanMode": "quick"}}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} deletePacksById: speakeasy-default-delete-packs-by-id: parameters: @@ -26173,7 +28270,16 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + PackDeleteResponseExamplesUninstalled: + parameters: + path: + id: "" + responses: + "200": + application/json: {"count": 1, "items": [{"id": "cribl-palo-alto-networks", "source": "https://github.com/criblpacks/cribl-palo-alto-networks/releases/download/1.1.4/cribl-palo-alto-networks-a3e5a19d-1.1.4.crbl"}]} updatePacksById: speakeasy-default-update-packs-by-id: parameters: @@ -26187,9 +28293,11 @@ examples: application/json: {"source": ""} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "source": "", "tags": {"domain": ["security", "observability"], "technology": ["aws", "splunk"]}, "version": "1.0.0"}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PackUpgradeExamplesUpgradeFromURL: parameters: path: @@ -26198,9 +28306,20 @@ 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: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + PackUpgradeResponseExamplesUpgraded: + parameters: + path: + id: "" + requestBody: + application/json: {"source": ""} + responses: + "200": + application/json: {"count": 1, "items": [{"author": "Cribl", "description": "Packs for processing Palo Alto Networks firewall logs.", "displayName": "Palo Alto Networks", "exports": ["pipelines", "inputs"], "id": "cribl-palo-alto-networks", "source": "https://github.com/criblpacks/cribl-palo-alto-networks/releases/download/1.1.5/cribl-palo-alto-networks-a3e5a19d-1.1.5.crbl", "version": "1.1.5"}]} deleteGroupsById: speakeasy-default-delete-groups-by-id: parameters: @@ -26438,7 +28557,13 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + VersionListResponseExamplesListCommitHistory: + responses: + "200": + application/json: {"count": 2, "items": [{"author_email": "admin@example.com", "author_name": "Admin User", "body": "", "date": "2024-01-15 10:30:00 +0000", "hash": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2", "message": "Updated syslog pipeline configuration", "refs": "HEAD -> main"}, {"author_email": "admin@example.com", "author_name": "Admin User", "body": "", "date": "2024-01-14 09:15:00 +0000", "hash": "b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3", "message": "Added new HTTP Source", "refs": ""}]} getSystemSettingsAuth: speakeasy-default-get-system-settings-auth: responses: @@ -26457,26 +28582,42 @@ examples: speakeasy-default-get-system-settings-conf: responses: "200": - application/json: {} + application/json: {"items": [{"api": {"disabled": true, "host": "hateful-joy.com", "port": 747726}, "backups": {}, "pii": {}, "proxy": {"useEnvVars": true}, "rollback": {}, "shutdown": {"drainTimeout": 356512}, "sni": {}, "system": {"intercom": false, "upgrade": "false"}, "tls": {}, "upgradeGroupSettings": {}, "upgradeSettings": {}, "workers": {"count": 973937, "memory": 76041, "minimum": 605376}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + GetSystemSettingsConfExamplesDefault: + responses: + "200": + application/json: {"count": 1, "items": [{"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"}}, "apps": {"enabled": true}, "backups": {}, "pii": {}, "proxy": {"useEnvVars": false}, "rollback": {}, "shutdown": {"drainTimeout": 10000}, "sni": {}, "system": {"intercom": true, "upgrade": "api"}, "tls": {"defaultCipherList": "DEFAULT", "defaultEcdhCurve": "auto", "maxVersion": "TLSv1.3", "minVersion": "TLSv1.2", "rejectUnauthorized": true}, "upgradeGroupSettings": {}, "upgradeSettings": {}, "workers": {"count": 0, "memory": 0, "minimum": 1}}]} 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": 379506}, "backups": {}, "pii": {}, "proxy": {"useEnvVars": false}, "rollback": {}, "shutdown": {"drainTimeout": 506758}, "sni": {}, "system": {"intercom": false, "upgrade": "api"}, "tls": {}, "upgradeGroupSettings": {}, "upgradeSettings": {}, "workers": {"count": 8927, "memory": 142072, "minimum": 242438}} responses: "200": - application/json: {} + application/json: {"items": [{"api": {"disabled": true, "host": "both-draw.com", "port": 379506}, "backups": {}, "pii": {}, "proxy": {"useEnvVars": false}, "rollback": {}, "shutdown": {"drainTimeout": 506758}, "sni": {}, "system": {"intercom": false, "upgrade": "api"}, "tls": {}, "upgradeGroupSettings": {}, "upgradeSettings": {}, "workers": {"count": 8927, "memory": 142072, "minimum": 242438}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateSystemSettingsExamplesUpdateApiSettings: requestBody: 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": 379506}, "backups": {}, "pii": {}, "proxy": {"useEnvVars": false}, "rollback": {}, "shutdown": {"drainTimeout": 506758}, "sni": {}, "system": {"intercom": false, "upgrade": "api"}, "tls": {}, "upgradeGroupSettings": {}, "upgradeSettings": {}, "workers": {"count": 8927, "memory": 142072, "minimum": 242438}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + UpdateSystemSettingsResponseExamplesUpdateApiSettings: + requestBody: + application/json: {"api": {"disabled": true, "host": "both-draw.com", "port": 379506}, "backups": {}, "pii": {}, "proxy": {"useEnvVars": false}, "rollback": {}, "shutdown": {"drainTimeout": 506758}, "sni": {}, "system": {"intercom": false, "upgrade": "api"}, "tls": {}, "upgradeGroupSettings": {}, "upgradeSettings": {}, "workers": {"count": 8927, "memory": 142072, "minimum": 242438}} + responses: + "200": + application/json: {"count": 1, "items": [{"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"}}, "apps": {"enabled": true}, "backups": {}, "pii": {}, "proxy": {"useEnvVars": false}, "rollback": {}, "shutdown": {"drainTimeout": 10000}, "sni": {}, "system": {"intercom": true, "upgrade": "api"}, "tls": {"defaultCipherList": "DEFAULT", "defaultEcdhCurve": "auto", "maxVersion": "TLSv1.3", "minVersion": "TLSv1.2", "rejectUnauthorized": true}, "upgradeGroupSettings": {}, "upgradeSettings": {}, "workers": {"count": 0, "memory": 0, "minimum": 1}}]} getSystemSettingsGitSettings: speakeasy-default-get-system-settings-git-settings: responses: @@ -26498,9 +28639,25 @@ examples: id: "" responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "source": "", "tags": {"domain": ["security", "observability"], "technology": ["aws", "splunk"]}, "version": "1.0.0"}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + PackGetResponseExamplesInstalledPack: + parameters: + path: + id: "" + responses: + "200": + application/json: {"count": 1, "items": [{"author": "Cribl", "description": "Packs for processing Palo Alto Networks firewall logs.", "displayName": "Palo Alto Networks", "exports": ["pipelines", "inputs"], "id": "cribl-palo-alto-networks", "source": "https://github.com/criblpacks/cribl-palo-alto-networks/releases/download/1.1.4/cribl-palo-alto-networks-a3e5a19d-1.1.4.crbl", "version": "1.1.4"}]} + PackGetResponseExamplesEmptyPack: + parameters: + path: + id: "" + responses: + "200": + application/json: {"count": 1, "items": [{"author": "", "description": "", "displayName": "testPackFoo", "exports": [], "id": "testPackFoo", "source": "", "version": "0.0.1"}]} createAuthLogin: speakeasy-default-create-auth-login: requestBody: @@ -26509,7 +28666,9 @@ examples: "200": application/json: {"forcePasswordChange": true, "token": ""} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} getHealth: speakeasy-default-get-health: responses: @@ -26522,9 +28681,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"} createSavedJob: CollectorExamplesRest: parameters: @@ -26536,7 +28695,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} CollectorExamplesS3: parameters: query: @@ -26547,7 +28708,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} CollectorExamplesFilesystem: parameters: query: @@ -26558,7 +28721,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} CollectorExamplesAzureBlob: parameters: query: @@ -26569,7 +28734,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} CollectorExamplesGoogleCloudStorage: parameters: query: @@ -26580,7 +28747,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} CollectorExamplesDatabase: parameters: query: @@ -26591,7 +28760,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} CollectorExamplesSplunk: parameters: query: @@ -26602,7 +28773,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} CollectorExamplesScript: parameters: query: @@ -26613,7 +28786,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} CollectorExamplesCriblLake: parameters: query: @@ -26624,7 +28799,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} speakeasy-default-create-saved-job: parameters: query: @@ -26635,7 +28812,15 @@ examples: "200": application/json: {} "500": - application/json: {} + 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: @@ -26647,6 +28832,12 @@ examples: "200": application/json: {} "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + CollectorListResponseExamplesListed: + responses: + "200": application/json: {} deleteSavedJobById: speakeasy-default-delete-saved-job-by-id: @@ -26660,7 +28851,16 @@ examples: "200": application/json: {} "500": - application/json: {} + 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: @@ -26672,7 +28872,16 @@ examples: "200": application/json: {} "500": - application/json: {} + 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: @@ -26803,7 +29012,135 @@ examples: "200": application/json: {} "500": + 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": ""}}}]} getFunctionsById: speakeasy-default-get-functions-by-id: parameters: @@ -26813,21 +29150,45 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + FunctionResponseExamplesEvalFunction: + parameters: + path: + id: "" + responses: + "200": + application/json: {"count": 1, "items": [{"__filename": "eval/index.js", "group": "Standard", "id": "eval", "loadTime": 0, "modTime": 0, "name": "Eval", "uischema": {}, "version": "0.4"}]} + FunctionResponseExamplesDropFunction: + parameters: + path: + id: "" + responses: + "200": + application/json: {"count": 1, "items": [{"__filename": "drop/index.js", "group": "Standard", "id": "drop", "loadTime": 0, "modTime": 0, "name": "Drop", "uischema": {}, "version": "0.1"}]} getFunctions: speakeasy-default-get-functions: responses: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + FunctionListResponseExamplesFunctionList: + responses: + "200": + application/json: {"count": 2, "items": [{"__filename": "eval/index.js", "group": "Standard", "id": "eval", "loadTime": 0, "modTime": 0, "name": "Eval", "uischema": {}, "version": "0.4"}, {"__filename": "drop/index.js", "group": "Standard", "id": "drop", "loadTime": 0, "modTime": 0, "name": "Drop", "uischema": {}, "version": "0.1"}]} createSystemCapture: speakeasy-default-create-system-capture: requestBody: application/json: {} responses: "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} CaptureExamplesBasicCapture: requestBody: application/json: {"duration": 5, "filter": "true", "level": 0, "maxEvents": 100, "stepDuration": 571732, "workerId": "", "workerThreshold": 609412} @@ -26839,114 +29200,190 @@ examples: application/json: {"duration": 5, "filter": "sourcetype===\"pan:traffic\"", "level": 0, "maxEvents": 100} responses: "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} CaptureExamplesCompoundAndExpression: requestBody: application/json: {"duration": 5, "filter": "sourcetype===\"pan:traffic\" && src_zone===\"trusted\"", "level": 0, "maxEvents": 100} responses: "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} CaptureExamplesNestedFieldAccess: requestBody: application/json: {"duration": 5, "filter": "sourcetype===\"pan:traffic\" && dest_geoip.country.iso_code === \"US\"", "level": 0, "maxEvents": 100} responses: "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} CaptureExamplesComplexFilter: requestBody: application/json: {"duration": 15, "filter": "__inputId.startsWith(\"http:\") && status >= 400 && status < 500", "level": 1, "maxEvents": 500} responses: "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} createDatabaseConnectionConfig: DatabaseConnectionExamplesMySQLWithConnectionString: requestBody: - application/json: {"authType": "connectionString", "connectionString": "mysql://admin:password123@mysql.example.com:3306/production?ssl=true", "connectionTimeout": 10000, "databaseType": "mysql", "description": "Production MySQL database for customer data", "id": "mysql-prod-db", "tags": "production,mysql,customer-data"} + application/json: {"authType": "connectionString", "connectionString": "mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", "connectionTimeout": 10000, "databaseType": "mysql", "description": "Production MySQL database for customer data", "id": "mysql-prod-db", "tags": "production,mysql,customer-data"} responses: "200": - application/json: {} + application/json: {"count": 1, "items": [{"authType": "secrets", "configObj": "{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", "connectionString": "mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", "connectionTimeout": 10000, "credsSecrets": "oracle-production-credentials", "databaseType": "sqlserver", "description": "Production MySQL database for customer data", "id": "mysql-prod-db", "password": "yourPassword", "requestTimeout": 30000, "tags": "production,mysql,customer-data", "textSecret": "mysql-production-connection", "user": "yourUsername"}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "400": + application/json: {"message": "", "status": "error"} + "401": + application/json: {"status": "error", "message": ""} DatabaseConnectionExamplesMySQLWithSecret: requestBody: application/json: {"authType": "secret", "connectionTimeout": 15000, "databaseType": "mysql", "description": "Analytics MySQL database", "id": "mysql-analytics-db", "tags": "analytics,mysql", "textSecret": "mysql-analytics-connection"} responses: "200": - application/json: {} + application/json: {"count": 1, "items": [{"authType": "secrets", "configObj": "{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", "connectionString": "mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", "connectionTimeout": 10000, "credsSecrets": "oracle-production-credentials", "databaseType": "sqlserver", "description": "Production MySQL database for customer data", "id": "mysql-prod-db", "password": "yourPassword", "requestTimeout": 30000, "tags": "production,mysql,customer-data", "textSecret": "mysql-production-connection", "user": "yourUsername"}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "400": + application/json: {"message": "", "status": "error"} + "401": + application/json: {"status": "error", "message": ""} DatabaseConnectionExamplesPostgreSQLWithConnectionString: requestBody: - application/json: {"authType": "connectionString", "connectionString": "postgresql://warehouse_user:SecurePass456@postgres.example.com:5432/warehouse?sslmode=require", "connectionTimeout": 15000, "databaseType": "postgres", "description": "Data warehouse PostgreSQL database", "id": "postgres-warehouse", "tags": "warehouse,postgres,reporting"} + application/json: {"authType": "connectionString", "connectionString": "postgresql://yourUsername:yourPassword@postgres.example.com:5432/warehouse?sslmode=require", "connectionTimeout": 15000, "databaseType": "postgres", "description": "Data warehouse PostgreSQL database", "id": "postgres-warehouse", "tags": "warehouse,postgres,reporting"} responses: "200": - application/json: {} + application/json: {"count": 1, "items": [{"authType": "secrets", "configObj": "{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", "connectionString": "mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", "connectionTimeout": 10000, "credsSecrets": "oracle-production-credentials", "databaseType": "sqlserver", "description": "Production MySQL database for customer data", "id": "mysql-prod-db", "password": "yourPassword", "requestTimeout": 30000, "tags": "production,mysql,customer-data", "textSecret": "mysql-production-connection", "user": "yourUsername"}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "400": + application/json: {"message": "", "status": "error"} + "401": + application/json: {"status": "error", "message": ""} DatabaseConnectionExamplesPostgreSQLWithSecret: requestBody: application/json: {"authType": "secret", "connectionTimeout": 10000, "databaseType": "postgres", "description": "Logs PostgreSQL database", "id": "postgres-logs", "tags": "logs,postgres", "textSecret": "postgres-logs-connection"} responses: "200": - application/json: {} + application/json: {"count": 1, "items": [{"authType": "secrets", "configObj": "{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", "connectionString": "mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", "connectionTimeout": 10000, "credsSecrets": "oracle-production-credentials", "databaseType": "sqlserver", "description": "Production MySQL database for customer data", "id": "mysql-prod-db", "password": "yourPassword", "requestTimeout": 30000, "tags": "production,mysql,customer-data", "textSecret": "mysql-production-connection", "user": "yourUsername"}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "400": + application/json: {"message": "", "status": "error"} + "401": + application/json: {"status": "error", "message": ""} DatabaseConnectionExamplesSQLServerWithConnectionString: requestBody: - application/json: {"authType": "connectionString", "connectionString": "Server=sqlserver.example.com;Database=ERP;User Id=erp_admin;Password=ERP_Pass789!;Encrypt=true", "connectionTimeout": 15000, "databaseType": "sqlserver", "description": "ERP SQL Server database", "id": "sqlserver-erp", "requestTimeout": 30000, "tags": "erp,sqlserver,finance"} + application/json: {"authType": "connectionString", "connectionString": "Server=sqlserver.example.com;Database=ERP;User Id=yourUsername;Password=yourPassword;Encrypt=true", "connectionTimeout": 15000, "databaseType": "sqlserver", "description": "ERP SQL Server database", "id": "sqlserver-erp", "requestTimeout": 30000, "tags": "erp,sqlserver,finance"} responses: "200": - application/json: {} + application/json: {"count": 1, "items": [{"authType": "secrets", "configObj": "{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", "connectionString": "mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", "connectionTimeout": 10000, "credsSecrets": "oracle-production-credentials", "databaseType": "sqlserver", "description": "Production MySQL database for customer data", "id": "mysql-prod-db", "password": "yourPassword", "requestTimeout": 30000, "tags": "production,mysql,customer-data", "textSecret": "mysql-production-connection", "user": "yourUsername"}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "400": + application/json: {"message": "", "status": "error"} + "401": + application/json: {"status": "error", "message": ""} DatabaseConnectionExamplesSQLServerWithSecret: requestBody: application/json: {"authType": "secret", "connectionTimeout": 15000, "databaseType": "sqlserver", "description": "CRM SQL Server database", "id": "sqlserver-crm", "requestTimeout": 15000, "tags": "crm,sqlserver,sales", "textSecret": "sqlserver-crm-connection"} responses: "200": - application/json: {} + application/json: {"count": 1, "items": [{"authType": "secrets", "configObj": "{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", "connectionString": "mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", "connectionTimeout": 10000, "credsSecrets": "oracle-production-credentials", "databaseType": "sqlserver", "description": "Production MySQL database for customer data", "id": "mysql-prod-db", "password": "yourPassword", "requestTimeout": 30000, "tags": "production,mysql,customer-data", "textSecret": "mysql-production-connection", "user": "yourUsername"}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "400": + application/json: {"message": "", "status": "error"} + "401": + application/json: {"status": "error", "message": ""} DatabaseConnectionExamplesSQLServerWithConfigObject: requestBody: - application/json: {"authType": "configObj", "configObj": "{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"report_user\",\"password\":\"Report_Pass123!\",\"options\":{\"encrypt\":true,\"trustServerCertificate\":false,\"connectTimeout\":20000}}", "databaseType": "sqlserver", "description": "Reporting SQL Server database with custom config", "id": "sqlserver-reporting", "requestTimeout": 60000, "tags": "reporting,sqlserver,analytics"} + application/json: {"authType": "configObj", "configObj": "{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"encrypt\":true,\"trustServerCertificate\":false,\"connectTimeout\":20000}}", "databaseType": "sqlserver", "description": "Reporting SQL Server database with custom config", "id": "sqlserver-reporting", "requestTimeout": 60000, "tags": "reporting,sqlserver,analytics"} responses: "200": - application/json: {} + application/json: {"count": 1, "items": [{"authType": "secrets", "configObj": "{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", "connectionString": "mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", "connectionTimeout": 10000, "credsSecrets": "oracle-production-credentials", "databaseType": "sqlserver", "description": "Production MySQL database for customer data", "id": "mysql-prod-db", "password": "yourPassword", "requestTimeout": 30000, "tags": "production,mysql,customer-data", "textSecret": "mysql-production-connection", "user": "yourUsername"}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "400": + application/json: {"message": "", "status": "error"} + "401": + application/json: {"status": "error", "message": ""} DatabaseConnectionExamplesOracleWithConnectionString: requestBody: - application/json: {"authType": "connectionString", "connectionString": "oracle.example.com:1521/ORCL", "connectionTimeout": 15000, "databaseType": "oracle", "description": "Oracle ERP database", "id": "oracle-erp", "password": "Oracle_Pass456!", "tags": "erp,oracle,finance", "user": "erp_user"} + application/json: {"authType": "connectionString", "connectionString": "oracle.example.com:1521/ORCL", "connectionTimeout": 15000, "databaseType": "oracle", "description": "Oracle ERP database", "id": "oracle-erp", "password": "yourPassword", "tags": "erp,oracle,finance", "user": "yourUsername"} responses: "200": - application/json: {} + application/json: {"count": 1, "items": [{"authType": "secrets", "configObj": "{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", "connectionString": "mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", "connectionTimeout": 10000, "credsSecrets": "oracle-production-credentials", "databaseType": "sqlserver", "description": "Production MySQL database for customer data", "id": "mysql-prod-db", "password": "yourPassword", "requestTimeout": 30000, "tags": "production,mysql,customer-data", "textSecret": "mysql-production-connection", "user": "yourUsername"}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "400": + application/json: {"message": "", "status": "error"} + "401": + application/json: {"status": "error", "message": ""} DatabaseConnectionExamplesOracleWithSecret: requestBody: - application/json: {"authType": "secret", "connectionTimeout": 20000, "databaseType": "oracle", "description": "Oracle data warehouse", "id": "oracle-warehouse", "password": "Warehouse_Pass789!", "tags": "warehouse,oracle,reporting", "textSecret": "oracle-warehouse-connection", "user": "warehouse_user"} + application/json: {"authType": "secret", "connectionTimeout": 20000, "databaseType": "oracle", "description": "Oracle data warehouse", "id": "oracle-warehouse", "password": "yourPassword", "tags": "warehouse,oracle,reporting", "textSecret": "oracle-warehouse-connection", "user": "yourUsername"} responses: "200": - application/json: {} + application/json: {"count": 1, "items": [{"authType": "secrets", "configObj": "{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", "connectionString": "mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", "connectionTimeout": 10000, "credsSecrets": "oracle-production-credentials", "databaseType": "sqlserver", "description": "Production MySQL database for customer data", "id": "mysql-prod-db", "password": "yourPassword", "requestTimeout": 30000, "tags": "production,mysql,customer-data", "textSecret": "mysql-production-connection", "user": "yourUsername"}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "400": + application/json: {"message": "", "status": "error"} + "401": + application/json: {"status": "error", "message": ""} DatabaseConnectionExamplesOracleWithCredentialsSecrets: requestBody: application/json: {"authType": "secrets", "connectionTimeout": 15000, "credsSecrets": "oracle-secure-credentials", "databaseType": "oracle", "description": "High-security Oracle database with credential secrets", "id": "oracle-secure-db", "tags": "secure,oracle,sensitive-data", "textSecret": "oracle-secure-connection"} responses: "200": - application/json: {} + application/json: {"count": 1, "items": [{"authType": "secrets", "configObj": "{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", "connectionString": "mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", "connectionTimeout": 10000, "credsSecrets": "oracle-production-credentials", "databaseType": "sqlserver", "description": "Production MySQL database for customer data", "id": "mysql-prod-db", "password": "yourPassword", "requestTimeout": 30000, "tags": "production,mysql,customer-data", "textSecret": "mysql-production-connection", "user": "yourUsername"}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "400": + application/json: {"message": "", "status": "error"} + "401": + application/json: {"status": "error", "message": ""} speakeasy-default-create-database-connection-config: requestBody: - application/json: {"authType": "", "databaseType": "sqlserver", "description": "hypothesize petticoat derby amid oh calmly carnival boo ew yawningly", "id": ""} + application/json: {"authType": "connectionString", "configObj": "{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", "connectionString": "mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", "connectionTimeout": 10000, "credsSecrets": "oracle-production-credentials", "databaseType": "postgres", "description": "Production MySQL database for customer data", "id": "mysql-prod-db", "password": "yourPassword", "requestTimeout": 30000, "tags": "production,mysql,customer-data", "textSecret": "mysql-production-connection", "user": "yourUsername"} responses: "200": - application/json: {} + application/json: {"count": 1, "items": [{"authType": "secrets", "configObj": "{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", "connectionString": "mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", "connectionTimeout": 10000, "credsSecrets": "oracle-production-credentials", "databaseType": "sqlserver", "description": "Production MySQL database for customer data", "id": "mysql-prod-db", "password": "yourPassword", "requestTimeout": 30000, "tags": "production,mysql,customer-data", "textSecret": "mysql-production-connection", "user": "yourUsername"}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "400": + application/json: {"message": "", "status": "error"} + "401": + application/json: {"status": "error", "message": ""} + DatabaseConnectionExamplesOracleWithMutualTLS: + requestBody: + application/json: {"authType": "connectionString", "connectionString": "tcps://oracle.example.com:2484/ORCL", "connectionTimeout": 15000, "databaseType": "oracle", "description": "Oracle database reached over TCPS with mutual TLS", "id": "oracle-mtls-db", "password": "Oracle_Pass456!", "tags": "erp,oracle,mtls,production", "tls": {"disabled": false, "rejectUnauthorized": true}, "user": "erp_user"} + responses: + "200": + application/json: {"count": 1, "items": [{"authType": "secrets", "configObj": "{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", "connectionString": "mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", "connectionTimeout": 10000, "credsSecrets": "oracle-production-credentials", "databaseType": "sqlserver", "description": "Production MySQL database for customer data", "id": "mysql-prod-db", "password": "yourPassword", "requestTimeout": 30000, "tags": "production,mysql,customer-data", "textSecret": "mysql-production-connection", "user": "yourUsername"}]} + "400": + application/json: {"message": "", "status": "error"} + "401": + application/json: {"status": "error", "message": ""} + "500": + application/json: {"status": "error", "message": ""} + DatabaseConnectionResponseExamplesMySQLDatabaseConnection: + requestBody: + application/json: {"authType": "connectionString", "configObj": "{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", "connectionString": "mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", "connectionTimeout": 10000, "credsSecrets": "oracle-production-credentials", "databaseType": "postgres", "description": "Production MySQL database for customer data", "id": "mysql-prod-db", "password": "yourPassword", "requestTimeout": 30000, "tags": "production,mysql,customer-data", "textSecret": "mysql-production-connection", "user": "yourUsername"} + responses: + "200": + application/json: {"count": 1, "items": [{"authType": "connectionString", "connectionString": "*****", "connectionTimeout": 10000, "databaseType": "mysql", "description": "Production MySQL database for customer data", "id": "mysql-prod-db", "tags": "production,mysql,customer-data"}]} + DatabaseConnectionBadRequestResponseExamplesInvalidDatabaseConnectionRequest: + requestBody: + application/json: {"authType": "connectionString", "configObj": "{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", "connectionString": "mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", "connectionTimeout": 10000, "credsSecrets": "oracle-production-credentials", "databaseType": "postgres", "description": "Production MySQL database for customer data", "id": "mysql-prod-db", "password": "yourPassword", "requestTimeout": 30000, "tags": "production,mysql,customer-data", "textSecret": "mysql-production-connection", "user": "yourUsername"} + responses: + "400": + application/json: {"message": "must have required property 'id'", "status": "error"} deleteDatabaseConnectionConfigById: speakeasy-default-delete-database-connection-config-by-id: parameters: @@ -26954,19 +29391,55 @@ examples: id: "" responses: "200": - application/json: {} + application/json: {"count": 1, "items": [{"authType": "connectionString", "configObj": "{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", "connectionString": "mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", "connectionTimeout": 10000, "credsSecrets": "oracle-production-credentials", "databaseType": "mysql", "description": "Production MySQL database for customer data", "id": "mysql-prod-db", "password": "yourPassword", "requestTimeout": 30000, "tags": "production,mysql,customer-data", "textSecret": "mysql-production-connection", "user": "yourUsername"}]} "500": - application/json: {} - getDatabaseConnectionConfigById: - speakeasy-default-get-database-connection-config-by-id: + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + "404": + application/json: {"message": "", "status": "error"} + DatabaseConnectionResponseExamplesMySQLDatabaseConnection: parameters: path: id: "" responses: "200": - application/json: {} + application/json: {"count": 1, "items": [{"authType": "connectionString", "connectionString": "*****", "connectionTimeout": 10000, "databaseType": "mysql", "description": "Production MySQL database for customer data", "id": "mysql-prod-db", "tags": "production,mysql,customer-data"}]} + DatabaseConnectionNotFoundResponseExamplesDatabaseConnectionNotFound: + parameters: + path: + id: "" + responses: + "404": + application/json: {"message": "Database Connection not found", "status": "error"} + getDatabaseConnectionConfigById: + speakeasy-default-get-database-connection-config-by-id: + parameters: + path: + id: "" + responses: + "200": + application/json: {"count": 1, "items": [{"authType": "secrets", "configObj": "{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", "connectionString": "mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", "connectionTimeout": 10000, "credsSecrets": "oracle-production-credentials", "databaseType": "oracle", "description": "Production MySQL database for customer data", "id": "mysql-prod-db", "password": "yourPassword", "requestTimeout": 30000, "tags": "production,mysql,customer-data", "textSecret": "mysql-production-connection", "user": "yourUsername"}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + "404": + application/json: {"message": "", "status": "error"} + DatabaseConnectionResponseExamplesMySQLDatabaseConnection: + parameters: + path: + id: "" + responses: + "200": + application/json: {"count": 1, "items": [{"authType": "connectionString", "connectionString": "*****", "connectionTimeout": 10000, "databaseType": "mysql", "description": "Production MySQL database for customer data", "id": "mysql-prod-db", "tags": "production,mysql,customer-data"}]} + DatabaseConnectionNotFoundResponseExamplesDatabaseConnectionNotFound: + parameters: + path: + id: "" + responses: + "404": + application/json: {"message": "Database Connection not found", "status": "error"} updateDatabaseConnectionConfigById: DatabaseConnectionExamplesMySQLWithConnectionString: parameters: @@ -27083,12 +29556,16 @@ examples: path: id: "" requestBody: - application/json: {"authType": "", "databaseType": "mysql", "description": "while possible fondly violently more about even onto until for", "id": ""} + application/json: {"authType": "configObj", "configObj": "{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", "connectionString": "mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", "connectionTimeout": 10000, "credsSecrets": "oracle-production-credentials", "databaseType": "sqlserver", "description": "Production MySQL database for customer data", "id": "mysql-prod-db", "password": "yourPassword", "requestTimeout": 30000, "tags": "production,mysql,customer-data", "textSecret": "mysql-production-connection", "user": "yourUsername"} responses: "200": - application/json: {} + application/json: {"count": 1, "items": []} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + "400": + application/json: {"message": "", "status": "error"} UpdateDatabaseConnectionExamplesMySQLWithConnectionString: parameters: path: @@ -27199,334 +29676,596 @@ examples: application/json: {} "500": application/json: {} + UpdateDatabaseConnectionExamplesUpdateMySQLDatabaseConnectionWithConnectionString: + parameters: + path: + id: "" + requestBody: + application/json: {"authType": "connectionString", "connectionString": "mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", "connectionTimeout": 10000, "databaseType": "mysql", "description": "Production MySQL database for customer data", "id": "mysql-prod-db", "tags": "production,mysql,customer-data"} + responses: + "200": + application/json: {"count": 1, "items": []} + "401": + application/json: {"status": "error", "message": ""} + "400": + application/json: {"message": "", "status": "error"} + "500": + application/json: {"status": "error", "message": ""} + UpdateDatabaseConnectionExamplesUpdateMySQLDatabaseConnectionWithSecret: + parameters: + path: + id: "" + requestBody: + application/json: {"authType": "secret", "connectionTimeout": 15000, "databaseType": "mysql", "description": "Analytics MySQL database", "id": "mysql-analytics-db", "tags": "analytics,mysql", "textSecret": "mysql-analytics-connection"} + responses: + "200": + application/json: {"count": 1, "items": []} + "401": + application/json: {"status": "error", "message": ""} + "400": + application/json: {"message": "", "status": "error"} + "500": + application/json: {"status": "error", "message": ""} + UpdateDatabaseConnectionExamplesUpdatePostgreSQLDatabaseConnectionWithConnectionString: + parameters: + path: + id: "" + requestBody: + application/json: {"authType": "connectionString", "connectionString": "postgresql://yourUsername:yourPassword@postgres.example.com:5432/warehouse?sslmode=require", "connectionTimeout": 15000, "databaseType": "postgres", "description": "Data warehouse PostgreSQL database", "id": "postgres-warehouse", "tags": "warehouse,postgres,reporting"} + responses: + "200": + application/json: {"count": 1, "items": []} + "401": + application/json: {"status": "error", "message": ""} + "400": + application/json: {"message": "", "status": "error"} + "500": + application/json: {"status": "error", "message": ""} + UpdateDatabaseConnectionExamplesUpdatePostgreSQLDatabaseConnectionWithSecret: + parameters: + path: + id: "" + requestBody: + application/json: {"authType": "secret", "connectionTimeout": 10000, "databaseType": "postgres", "description": "Logs PostgreSQL database", "id": "postgres-logs", "tags": "logs,postgres", "textSecret": "postgres-logs-connection"} + responses: + "200": + application/json: {"count": 1, "items": []} + "401": + application/json: {"status": "error", "message": ""} + "400": + application/json: {"message": "", "status": "error"} + "500": + application/json: {"status": "error", "message": ""} + UpdateDatabaseConnectionExamplesUpdateSQLServerDatabaseConnectionWithConnectionString: + parameters: + path: + id: "" + requestBody: + application/json: {"authType": "connectionString", "connectionString": "Server=sqlserver.example.com;Database=ERP;User Id=yourUsername;Password=yourPassword;Encrypt=true", "connectionTimeout": 15000, "databaseType": "sqlserver", "description": "ERP SQL Server database", "id": "sqlserver-erp", "requestTimeout": 30000, "tags": "erp,sqlserver,finance"} + responses: + "200": + application/json: {"count": 1, "items": []} + "401": + application/json: {"status": "error", "message": ""} + "400": + application/json: {"message": "", "status": "error"} + "500": + application/json: {"status": "error", "message": ""} + UpdateDatabaseConnectionExamplesUpdateSQLServerDatabaseConnectionWithSecret: + parameters: + path: + id: "" + requestBody: + application/json: {"authType": "secret", "connectionTimeout": 15000, "databaseType": "sqlserver", "description": "CRM SQL Server database", "id": "sqlserver-crm", "requestTimeout": 15000, "tags": "crm,sqlserver,sales", "textSecret": "sqlserver-crm-connection"} + responses: + "200": + application/json: {"count": 1, "items": []} + "401": + application/json: {"status": "error", "message": ""} + "400": + application/json: {"message": "", "status": "error"} + "500": + application/json: {"status": "error", "message": ""} + UpdateDatabaseConnectionExamplesUpdateSQLServerDatabaseConnectionWithConfigObject: + parameters: + path: + id: "" + requestBody: + application/json: {"authType": "configObj", "configObj": "{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"encrypt\":true,\"trustServerCertificate\":false,\"connectTimeout\":20000}}", "databaseType": "sqlserver", "description": "Reporting SQL Server database with custom config", "id": "sqlserver-reporting", "requestTimeout": 60000, "tags": "reporting,sqlserver,analytics"} + responses: + "200": + application/json: {"count": 1, "items": []} + "401": + application/json: {"status": "error", "message": ""} + "400": + application/json: {"message": "", "status": "error"} + "500": + application/json: {"status": "error", "message": ""} + UpdateDatabaseConnectionExamplesUpdateOracleDatabaseConnectionWithConnectionString: + parameters: + path: + id: "" + requestBody: + application/json: {"authType": "connectionString", "connectionString": "oracle.example.com:1521/ORCL", "connectionTimeout": 15000, "databaseType": "oracle", "description": "Oracle ERP database", "id": "oracle-erp", "password": "yourPassword", "tags": "erp,oracle,finance", "user": "yourUsername"} + responses: + "200": + application/json: {"count": 1, "items": []} + "401": + application/json: {"status": "error", "message": ""} + "400": + application/json: {"message": "", "status": "error"} + "500": + application/json: {"status": "error", "message": ""} + UpdateDatabaseConnectionExamplesUpdateOracleDatabaseConnectionWithSecret: + parameters: + path: + id: "" + requestBody: + application/json: {"authType": "secret", "connectionTimeout": 20000, "databaseType": "oracle", "description": "Oracle data warehouse", "id": "oracle-warehouse", "password": "yourPassword", "tags": "warehouse,oracle,reporting", "textSecret": "oracle-warehouse-connection", "user": "yourUsername"} + responses: + "200": + application/json: {"count": 1, "items": []} + "401": + application/json: {"status": "error", "message": ""} + "400": + application/json: {"message": "", "status": "error"} + "500": + application/json: {"status": "error", "message": ""} + UpdateDatabaseConnectionExamplesUpdateOracleDatabaseConnectionWithCredentialsSecrets: + parameters: + path: + id: "" + requestBody: + application/json: {"authType": "secrets", "connectionTimeout": 15000, "credsSecrets": "oracle-secure-credentials", "databaseType": "oracle", "description": "High-security Oracle database with credential secrets", "id": "oracle-secure-db", "tags": "secure,oracle,sensitive-data", "textSecret": "oracle-secure-connection"} + responses: + "200": + application/json: {"count": 1, "items": []} + "401": + application/json: {"status": "error", "message": ""} + "400": + application/json: {"message": "", "status": "error"} + "500": + application/json: {"status": "error", "message": ""} + DatabaseConnectionResponseExamplesMySQLDatabaseConnection: + parameters: + path: + id: "" + requestBody: + application/json: {"authType": "configObj", "configObj": "{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", "connectionString": "mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", "connectionTimeout": 10000, "credsSecrets": "oracle-production-credentials", "databaseType": "sqlserver", "description": "Production MySQL database for customer data", "id": "mysql-prod-db", "password": "yourPassword", "requestTimeout": 30000, "tags": "production,mysql,customer-data", "textSecret": "mysql-production-connection", "user": "yourUsername"} + responses: + "200": + application/json: {"count": 1, "items": [{"authType": "connectionString", "connectionString": "*****", "connectionTimeout": 10000, "databaseType": "mysql", "description": "Production MySQL database for customer data", "id": "mysql-prod-db", "tags": "production,mysql,customer-data"}]} + DatabaseConnectionBadRequestResponseExamplesInvalidDatabaseConnectionRequest: + parameters: + path: + id: "" + requestBody: + application/json: {"authType": "configObj", "configObj": "{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", "connectionString": "mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", "connectionTimeout": 10000, "credsSecrets": "oracle-production-credentials", "databaseType": "sqlserver", "description": "Production MySQL database for customer data", "id": "mysql-prod-db", "password": "yourPassword", "requestTimeout": 30000, "tags": "production,mysql,customer-data", "textSecret": "mysql-production-connection", "user": "yourUsername"} + responses: + "400": + application/json: {"message": "must have required property 'id'", "status": "error"} createPipelines: PipelineExamplesEmpty: requestBody: application/json: {"id": "empty-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "", "streamtags": [], "functions": [], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesAggregations: requestBody: application/json: {"id": "aggregation-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that aggregates rejected bytes grouped by source address every 10 seconds", "streamtags": [], "functions": [{"filter": "true", "id": "aggregation", "conf": {"passthrough": false, "preserveGroupBys": false, "sufficientStatsOnly": false, "metricsMode": false, "timeWindow": "10s", "aggregations": ["sum(bytes).where(action==\"REJECT\").as(TotalBytes)"], "groupbys": ["srcaddr"], "cumulative": false, "shouldTreatDotsAsLiterals": false, "flushOnInputClose": true}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesAggregateMetrics: requestBody: application/json: {"id": "aggregate-metrics-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that aggregates process metrics: CPU, memory, and bytes over time windows", "streamtags": [], "functions": [{"filter": "(_metric == 'proc.cpu_perc' || __criblMetrics[0].nameExpr.includes(\"'proc.cpu_perc'\")) || (_metric == 'proc.mem_perc' || __criblMetrics[0].nameExpr.includes(\"'proc.mem_perc'\")) || (_metric == 'proc.bytes_in' || __criblMetrics[0].nameExpr.includes(\"'proc.bytes_in'\"))", "id": "aggregate_metrics", "conf": {"passthrough": false, "preserveGroupBys": false, "sufficientStatsOnly": false, "timeWindow": "10s", "aggregations": [{"metricType": "gauge", "agg": "avg(_value || proc.cpu_perc).as(proc.cpu_perc_avg)"}, {"metricType": "gauge", "agg": "sum(_value || proc.mem_perc).as(proc.mem_perc_sum)"}, {"metricType": "counter", "agg": "count(_value || proc.bytes_in).as(proc.bytes_in_count)"}], "groupbys": ["proc"], "cumulative": false, "shouldTreatDotsAsLiterals": true, "flushOnInputClose": true}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesAutoTimestamp: requestBody: application/json: {"id": "auto-timestamp-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that extracts timestamps from event data using auto timestamp function", "streamtags": [], "functions": [{"filter": "true", "id": "auto_timestamp", "conf": {"srcField": "_raw", "dstField": "_time", "defaultTimezone": "local", "timeExpression": "time.getTime() / 1000", "offset": 0, "maxLen": 150, "defaultTime": "now", "latestDateAllowed": "+1week", "earliestDateAllowed": "-420weeks", "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"}]}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesCEFSerializer: requestBody: application/json: {"id": "cef-serializer-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that formats events in CEF format with custom header and extension fields", "streamtags": [], "functions": [{"filter": "true", "id": "cef", "conf": {"outputField": "_raw", "header": [{"value": "'CEF:0'"}, {"value": "'Cribl'"}, {"value": "'Cribl'"}, {"value": "C.version"}, {"value": "420"}, {"value": "'Cribl Event'"}, {"value": "6"}], "extension": [{"name": "c6a1Label", "value": "'Colorado_Ext_Bldg7'"}]}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesChain: requestBody: application/json: {"id": "chain-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that chains to another pipeline for sequential data processing", "streamtags": [], "functions": [{"filter": "true", "id": "chain", "conf": {"processor": "prometheus_metrics"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesClone: requestBody: application/json: {"id": "clone-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that creates cloned events with additional fields for comparison or routing", "streamtags": [], "functions": [{"filter": "true", "id": "clone", "conf": {"clones": [{"env": "staging"}, {"index": "clones"}]}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesComment: requestBody: application/json: {"id": "comment-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline with comment function for documentation", "streamtags": [], "functions": [{"filter": "true", "id": "comment", "conf": {"comment": "This function processes security events and enriches them with DNS lookups"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesDNSLookup: requestBody: application/json: {"id": "dns-lookup-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that performs DNS lookups to resolve hostnames and IP addresses", "streamtags": [], "functions": [{"filter": "true", "id": "dns_lookup", "conf": {"dnsLookupFields": [{"inFieldName": "hostname", "resourceRecordType": "A", "outFieldName": "hostname_ip"}], "reverseLookupFields": [{"inFieldName": "src_ip", "outFieldName": "src_hostname"}], "cacheTTL": 30, "maxCacheSize": 5000, "useResolvConf": false, "lookupFallback": false, "lookupFailLogLevel": "error"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesDrop: requestBody: application/json: {"id": "drop-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that drops events containing success messages", "streamtags": [], "functions": [{"filter": "_raw.search(/success/i)>=0", "id": "drop", "conf": {}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesDropDimensions: requestBody: application/json: {"id": "drop-dimensions-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that drops specified dimensions from metrics to reduce cardinality", "streamtags": [], "functions": [{"filter": "(_metric == 'proc.cpu_perc' || __criblMetrics[0].nameExpr.includes(\"'proc.cpu_perc'\")) && (__criblMetrics[0].dims.includes(\"proc\"))", "id": "drop_dimensions", "conf": {"timeWindow": "10s", "dropDimensions": ["proc", "pie", "unit"], "flushOnInputClose": true}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesDynamicSampling: requestBody: application/json: {"id": "dynamic-sampling-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that dynamically samples events based on volume using square root mode", "streamtags": [], "functions": [{"filter": "true", "id": "dynamic_sampling", "conf": {"mode": "sqrt", "keyExpr": "`${domain}:${httpCode}`", "samplePeriod": 20, "minEvents": 3, "maxSampleRate": 3}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesEval: requestBody: application/json: {"id": "eval-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that evaluates JavaScript expressions to add, modify, and remove fields", "streamtags": [], "functions": [{"filter": "true", "id": "eval", "conf": {"add": [{"name": "action", "value": "login == 'error' ? 'blocked' : action"}, {"name": "myTags", "value": "login == 'error' ? [...myTags, 'error'] : myTags"}], "keep": ["host", "source", "action", "myTags"], "remove": ["identification"]}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesEventBreaker: requestBody: application/json: {"id": "event-breaker-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that breaks large event streams into discrete events using regex", "streamtags": [], "functions": [{"filter": "true", "id": "event_breaker", "conf": {"ruleType": "regex", "eventBreakerRegex": "/[\\n\\r]+(?!\\s)/", "existingOrNew": "new", "maxEventBytes": 51200, "timestampAnchorRegex": "/^/", "timestamp": {"type": "auto", "length": 150}, "timestampTimezone": "local", "timestampEarliest": "-420weeks", "timestampLatest": "+1week", "shouldMarkCriblBreaker": true}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesFlatten: requestBody: application/json: {"id": "flatten-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that flattens nested JSON structures into top-level fields", "streamtags": [], "functions": [{"filter": "true", "id": "flatten", "conf": {"fields": [], "prefix": "", "depth": 5, "delimiter": "_"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesFoldKeys: requestBody: application/json: {"id": "fold-keys-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that transforms flat field names with separators into nested structures", "streamtags": [], "functions": [{"filter": "true", "id": "foldkeys", "conf": {"deleteOriginal": true, "separator": "_", "selectionRegExp": "^data"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesGeoIP: requestBody: application/json: {"id": "geoip-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that enriches events with geolocation data from IP addresses", "streamtags": [], "functions": [{"filter": "true", "id": "geoip", "conf": {"file": "GeoLite2-City.mmdb", "inField": "ip", "outField": "geoip", "additionalFields": [{"extraInField": "src_ip", "extraOutField": "src_geoip"}]}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesGrok: requestBody: application/json: {"id": "grok-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that extracts structured fields from log data using Grok patterns", "streamtags": [], "functions": [{"filter": "true", "id": "grok", "conf": {"pattern": "%{TIMESTAMP_ISO8601:event_time} %{LOGLEVEL:log_level} %{GREEDYDATA:log_message}", "patternList": [], "source": "_raw"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesGuard: requestBody: application/json: {"id": "guard-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that scans for sensitive data and applies mitigation expressions", "streamtags": [], "functions": [{"filter": "true", "id": "sensitive_data_scanner", "conf": {"rules": [{"rulesetId": "Finance_Global", "replaceExpr": "'REDACTED'", "disabled": false}], "fields": ["_raw"], "excludeFields": [], "flags": [{"name": "_sensitive", "value": "true"}], "includeDetectedRules": true}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesJSONUnroll: requestBody: application/json: {"id": "json-unroll-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that unrolls JSON arrays into individual events while retaining parent fields", "streamtags": [], "functions": [{"filter": "true", "id": "json_unroll", "conf": {"path": "allCars", "name": "cars"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesLookup: requestBody: application/json: {"id": "lookup-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that enriches events with location data from IP address lookups", "streamtags": [], "functions": [{"filter": "true", "id": "lookup", "conf": {"file": "ip_locations.csv", "dbLookup": false, "matchMode": "exact", "reloadPeriodSec": -1, "inFields": [{"eventField": "destination_ip", "lookupField": "ip"}], "outFields": [{"lookupField": "location", "eventField": "location", "defaultValue": "Unknown"}], "addToEvent": false, "ignoreCase": false}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesMask: requestBody: application/json: {"id": "mask-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that masks Social Security numbers and other sensitive data", "streamtags": [], "functions": [{"filter": "true", "id": "mask", "conf": {"rules": [{"matchRegex": "/(social=)(\\d+)/", "replaceExpr": "`${g1}${C.Mask.md5(g2)}`", "disabled": false}], "fields": ["_raw"], "depth": 5}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesNumerify: requestBody: application/json: {"id": "numerify-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that converts string numbers to numeric type for mathematical operations", "streamtags": [], "functions": [{"filter": "true", "id": "numerify", "conf": {"format": "none", "depth": 5, "ignoreFields": [], "filterExpr": ""}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesOTLPLogs: requestBody: application/json: {"id": "otlp-logs-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that normalizes and batches OTLP log events from OpenTelemetry sources", "streamtags": [], "functions": [{"filter": "__inputId=='open_telemetry:open_telemetry'", "id": "otlp_logs", "conf": {"dropNonLogEvents": false, "batchOTLPLogs": true, "sendBatchSize": 8192, "timeout": 200, "sendBatchMaxSize": 0, "metadataKeys": [], "metadataCardinalityLimit": 1000}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesOTLPMetrics: requestBody: application/json: {"id": "otlp-metrics-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that converts dimensional metrics to OTLP format and batches them by resource attributes", "streamtags": [], "functions": [{"filter": "__inputId=='prometheus_rw:prom_rw_in'", "id": "otlp_metrics", "conf": {"resourceAttributePrefixes": ["service", "system", "telemetry", "k8s", "cloud", "host", "process"], "dropNonMetricEvents": false, "otlpVersion": "0.10.0", "batchOTLPMetrics": true, "sendBatchSize": 8192, "timeout": 200, "sendBatchMaxSize": 0, "metadataKeys": [], "metadataCardinalityLimit": 1000}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesOTLPTraces: requestBody: application/json: {"id": "otlp-traces-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that normalizes and batches OTLP trace events from OpenTelemetry sources", "streamtags": [], "functions": [{"filter": "__inputId=='open_telemetry:open_telemetry'", "id": "otlp_traces", "conf": {"dropNonTraceEvents": false, "otlpVersion": "0.10.0", "batchOTLPTraces": true, "sendBatchSize": 8192, "timeout": 200, "sendBatchMaxSize": 0, "metadataKeys": [], "metadataCardinalityLimit": 1000}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesParser: requestBody: - application/json: {"id": "parser-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that extracts fields from key-value pair formatted data", "streamtags": [], "functions": [{"filter": "true", "id": "serde", "conf": {"type": "kvp", "keep": ["a", "b", "c"], "remove": ["*"], "cleanFields": false, "mode": "extract", "srcField": "_raw"}}], "groups": {}}} + application/json: {"id": "parser-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that extracts fields from key-value pair formatted data", "streamtags": [], "functions": [{"filter": "true", "id": "serde", "conf": {"type": "kvp", "srcField": "_raw", "keep": ["a", "b", "c"], "remove": ["*"], "cleanFields": false, "mode": "extract"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesPublishMetrics: requestBody: application/json: {"id": "publish-metrics-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that extracts metrics from events and formats them for metrics aggregation platforms", "streamtags": [], "functions": [{"filter": "true", "id": "publish_metrics", "conf": {"fields": [{"inFieldName": "bytes", "outFieldExpr": "'metric_name.bytes'", "metricType": "gauge"}, {"inFieldName": "packets", "outFieldExpr": "'metric_name.packets'", "metricType": "gauge"}], "overwrite": false, "dimensions": ["action", "interface_id", "dstaddr"], "removeMetrics": [], "removeDimensions": []}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesRedis: requestBody: application/json: {"id": "redis-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that retrieves values from Redis using GET command", "streamtags": [], "functions": [{"filter": "true", "id": "redis", "conf": {"authType": "none", "commands": [{"outField": "cached_value", "command": "get", "keyExpr": "'user_session'", "argsExpr": ""}], "deploymentType": "standalone", "maxBlockSecs": 60, "url": "'redis://localhost:6379/0'"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesRegexExtract: requestBody: application/json: {"id": "regex-extract-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that extracts structured fields from log data using regex patterns with named capture groups", "streamtags": [], "functions": [{"filter": "true", "id": "regex_extract", "conf": {"regex": "/metric1=(?\\d+)/", "source": "_raw", "iterations": 100, "overwrite": false}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesRegexFilter: requestBody: application/json: {"id": "regex-filter-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that filters out events matching specific regex patterns", "streamtags": [], "functions": [{"filter": "true", "id": "regex_filter", "conf": {"regex": "/Opera/", "field": "_raw"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesRename: requestBody: application/json: {"id": "rename-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that renames fields using key-value pairs and expressions", "streamtags": [], "functions": [{"filter": "true", "id": "rename", "conf": {"baseFields": [], "rename": [{"currentName": "level", "newName": "LEVEL"}], "renameExpr": "name.startsWith('out') ? name.toUpperCase() : name", "wildcardDepth": 5}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesRollupMetrics: requestBody: application/json: {"id": "rollup-metrics-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that consolidates high-frequency metrics into manageable time windows", "streamtags": [], "functions": [{"filter": "true", "id": "rollup_metrics", "conf": {"dimensions": ["*"], "timeWindow": "30s", "gaugeRollup": "last"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesSampling: requestBody: application/json: {"id": "sampling-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that samples events at specified rates based on filter criteria", "streamtags": [], "functions": [{"filter": "true", "id": "sampling", "conf": {"rules": [{"filter": "__status == 200", "rate": 5}]}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesSerialize: requestBody: application/json: {"id": "serialize-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that serializes event fields into JSON format", "streamtags": [], "functions": [{"filter": "true", "id": "serialize", "conf": {"type": "kvp"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesSNMPTrapSerialize: requestBody: application/json: {"id": "snmp-trap-serialize-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that serializes events into SNMP trap format for SNMP trap destinations", "streamtags": [], "functions": [{"filter": "true", "id": "snmp_trap_serialize", "conf": {"strict": true, "dropFailedEvents": true}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesSuppress: requestBody: application/json: {"id": "suppress-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that suppresses duplicate events based on a key expression", "streamtags": [], "functions": [{"filter": "true", "id": "suppress", "conf": {"keyExpr": "`${ip}:${port}`", "allow": 1, "suppressPeriodSec": 30, "dropEventsMode": true, "maxCacheSize": 50000, "cacheIdleTimeoutPeriods": 2, "numEventsIdleTimeoutTrigger": 10000}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesTee: requestBody: application/json: {"id": "tee-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that sends events to a command via stdin for debugging purposes", "streamtags": [], "functions": [{"filter": "true", "id": "tee", "conf": {"command": "tee", "args": ["/opt/cribl/foo.log"], "restartOnExit": true, "env": {}}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesUnroll: requestBody: application/json: {"id": "unroll-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that unrolls array fields into separate events", "streamtags": [], "functions": [{"filter": "true", "id": "unroll", "conf": {"srcExpr": "_raw.split(/\\n/)", "dstField": "_raw"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesXMLUnroll: requestBody: application/json: {"id": "xml-unroll-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that unrolls XML elements into separate events", "streamtags": [], "functions": [{"filter": "true", "id": "xml_unroll", "conf": {"unroll": "^Parent\\.Child$", "inherit": "^Parent\\.(myID|branchLocation)$", "unrollIdxField": "unroll_idx", "pretty": false}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} speakeasy-default-create-pipelines: requestBody: - application/json: {"id": "", "conf": {}} + application/json: {"id": "", "conf": {"functions": [{"id": "limit", "conf": {}}]}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "clone", "conf": {}}]}}]} "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + PipelineResponseExamplesEmptyPipeline: + requestBody: + application/json: {"id": "", "conf": {"functions": [{"id": "limit", "conf": {}}]}} + responses: + "200": + application/json: {} + PipelineResponseExamplesEvalPipeline: + requestBody: + application/json: {"id": "", "conf": {"functions": [{"id": "limit", "conf": {}}]}} + responses: + "200": application/json: {} getPipelines: speakeasy-default-get-pipelines: @@ -27534,7 +30273,17 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + PipelineResponseExamplesEmptyPipeline: + responses: + "200": + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "gen_stats", "conf": {}}]}}], "count": 979006, "offset": 589012, "limit": 84828} + PipelineResponseExamplesEvalPipeline: + responses: + "200": + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "gen_stats", "conf": {}}]}}], "count": 979006, "offset": 589012, "limit": 84828} deletePipelinesById: speakeasy-default-delete-pipelines-by-id: parameters: @@ -27542,8 +30291,24 @@ examples: id: "" responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "grok", "conf": {"pattern": ""}}]}}]} "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + PipelineResponseExamplesEmptyPipeline: + parameters: + path: + id: "" + responses: + "200": + application/json: {} + PipelineResponseExamplesEvalPipeline: + parameters: + path: + id: "" + responses: + "200": application/json: {} getPipelinesById: speakeasy-default-get-pipelines-by-id: @@ -27552,8 +30317,24 @@ examples: id: "" responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "mv_pull", "conf": {"arrayPath": "", "relativeKeyPath": "", "relativeValuePath": ""}}]}}]} "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + PipelineResponseExamplesEmptyPipeline: + parameters: + path: + id: "" + responses: + "200": + application/json: {} + PipelineResponseExamplesEvalPipeline: + parameters: + path: + id: "" + responses: + "200": application/json: {} updatePipelinesById: PipelineExamplesEmpty: @@ -28001,12 +30782,14 @@ examples: path: id: "" requestBody: - application/json: {"id": "", "conf": {}} + application/json: {"id": "", "conf": {"functions": [{"id": "mask", "conf": {"rules": [{"matchRegex": "", "replaceExpr": ""}]}}]}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesEmpty: parameters: path: @@ -28015,9 +30798,11 @@ examples: application/json: {"id": "empty-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "", "streamtags": [], "functions": [], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesAggregations: parameters: path: @@ -28026,9 +30811,11 @@ examples: application/json: {"id": "aggregation-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that aggregates rejected bytes grouped by source address every 10 seconds", "streamtags": [], "functions": [{"filter": "true", "id": "aggregation", "conf": {"passthrough": false, "preserveGroupBys": false, "sufficientStatsOnly": false, "metricsMode": false, "timeWindow": "10s", "aggregations": ["sum(bytes).where(action==\"REJECT\").as(TotalBytes)"], "groupbys": ["srcaddr"], "cumulative": false, "shouldTreatDotsAsLiterals": false, "flushOnInputClose": true}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesAggregateMetrics: parameters: path: @@ -28037,9 +30824,11 @@ examples: application/json: {"id": "aggregate-metrics-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that aggregates process metrics: CPU, memory, and bytes over time windows", "streamtags": [], "functions": [{"filter": "(_metric == 'proc.cpu_perc' || __criblMetrics[0].nameExpr.includes(\"'proc.cpu_perc'\")) || (_metric == 'proc.mem_perc' || __criblMetrics[0].nameExpr.includes(\"'proc.mem_perc'\")) || (_metric == 'proc.bytes_in' || __criblMetrics[0].nameExpr.includes(\"'proc.bytes_in'\"))", "id": "aggregate_metrics", "conf": {"passthrough": false, "preserveGroupBys": false, "sufficientStatsOnly": false, "timeWindow": "10s", "aggregations": [{"metricType": "gauge", "agg": "avg(_value || proc.cpu_perc).as(proc.cpu_perc_avg)"}, {"metricType": "gauge", "agg": "sum(_value || proc.mem_perc).as(proc.mem_perc_sum)"}, {"metricType": "counter", "agg": "count(_value || proc.bytes_in).as(proc.bytes_in_count)"}], "groupbys": ["proc"], "cumulative": false, "shouldTreatDotsAsLiterals": true, "flushOnInputClose": true}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesAutoTimestamp: parameters: path: @@ -28048,9 +30837,11 @@ examples: application/json: {"id": "auto-timestamp-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that extracts timestamps from event data using auto timestamp function", "streamtags": [], "functions": [{"filter": "true", "id": "auto_timestamp", "conf": {"srcField": "_raw", "dstField": "_time", "defaultTimezone": "local", "timeExpression": "time.getTime() / 1000", "offset": 0, "maxLen": 150, "defaultTime": "now", "latestDateAllowed": "+1week", "earliestDateAllowed": "-420weeks", "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"}]}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesCEFSerializer: parameters: path: @@ -28059,9 +30850,11 @@ examples: application/json: {"id": "cef-serializer-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that formats events in CEF format with custom header and extension fields", "streamtags": [], "functions": [{"filter": "true", "id": "cef", "conf": {"outputField": "_raw", "header": [{"value": "'CEF:0'"}, {"value": "'Cribl'"}, {"value": "'Cribl'"}, {"value": "C.version"}, {"value": "420"}, {"value": "'Cribl Event'"}, {"value": "6"}], "extension": [{"name": "c6a1Label", "value": "'Colorado_Ext_Bldg7'"}]}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesChain: parameters: path: @@ -28070,9 +30863,11 @@ examples: application/json: {"id": "chain-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that chains to another pipeline for sequential data processing", "streamtags": [], "functions": [{"filter": "true", "id": "chain", "conf": {"processor": "prometheus_metrics"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesClone: parameters: path: @@ -28081,9 +30876,11 @@ examples: application/json: {"id": "clone-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that creates cloned events with additional fields for comparison or routing", "streamtags": [], "functions": [{"filter": "true", "id": "clone", "conf": {"clones": [{"env": "staging"}, {"index": "clones"}]}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesComment: parameters: path: @@ -28092,9 +30889,11 @@ examples: application/json: {"id": "comment-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline with comment function for documentation", "streamtags": [], "functions": [{"filter": "true", "id": "comment", "conf": {"comment": "This function processes security events and enriches them with DNS lookups"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesDNSLookup: parameters: path: @@ -28103,9 +30902,11 @@ examples: application/json: {"id": "dns-lookup-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that performs DNS lookups to resolve hostnames and IP addresses", "streamtags": [], "functions": [{"filter": "true", "id": "dns_lookup", "conf": {"dnsLookupFields": [{"inFieldName": "hostname", "resourceRecordType": "A", "outFieldName": "hostname_ip"}], "reverseLookupFields": [{"inFieldName": "src_ip", "outFieldName": "src_hostname"}], "cacheTTL": 30, "maxCacheSize": 5000, "useResolvConf": false, "lookupFallback": false, "lookupFailLogLevel": "error"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesDrop: parameters: path: @@ -28114,9 +30915,11 @@ examples: application/json: {"id": "drop-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that drops events containing success messages", "streamtags": [], "functions": [{"filter": "_raw.search(/success/i)>=0", "id": "drop", "conf": {}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesDropDimensions: parameters: path: @@ -28125,9 +30928,11 @@ examples: application/json: {"id": "drop-dimensions-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that drops specified dimensions from metrics to reduce cardinality", "streamtags": [], "functions": [{"filter": "(_metric == 'proc.cpu_perc' || __criblMetrics[0].nameExpr.includes(\"'proc.cpu_perc'\")) && (__criblMetrics[0].dims.includes(\"proc\"))", "id": "drop_dimensions", "conf": {"timeWindow": "10s", "dropDimensions": ["proc", "pie", "unit"], "flushOnInputClose": true}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesDynamicSampling: parameters: path: @@ -28136,9 +30941,11 @@ examples: application/json: {"id": "dynamic-sampling-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that dynamically samples events based on volume using square root mode", "streamtags": [], "functions": [{"filter": "true", "id": "dynamic_sampling", "conf": {"mode": "sqrt", "keyExpr": "`${domain}:${httpCode}`", "samplePeriod": 20, "minEvents": 3, "maxSampleRate": 3}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesEval: parameters: path: @@ -28147,9 +30954,11 @@ examples: application/json: {"id": "eval-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that evaluates JavaScript expressions to add, modify, and remove fields", "streamtags": [], "functions": [{"filter": "true", "id": "eval", "conf": {"add": [{"name": "action", "value": "login == 'error' ? 'blocked' : action"}, {"name": "myTags", "value": "login == 'error' ? [...myTags, 'error'] : myTags"}], "keep": ["host", "source", "action", "myTags"], "remove": ["identification"]}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesEventBreaker: parameters: path: @@ -28158,9 +30967,11 @@ examples: application/json: {"id": "event-breaker-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that breaks large event streams into discrete events using regex", "streamtags": [], "functions": [{"filter": "true", "id": "event_breaker", "conf": {"ruleType": "regex", "eventBreakerRegex": "/[\\n\\r]+(?!\\s)/", "existingOrNew": "new", "maxEventBytes": 51200, "timestampAnchorRegex": "/^/", "timestamp": {"type": "auto", "length": 150}, "timestampTimezone": "local", "timestampEarliest": "-420weeks", "timestampLatest": "+1week", "shouldMarkCriblBreaker": true}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesFlatten: parameters: path: @@ -28169,9 +30980,11 @@ examples: application/json: {"id": "flatten-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that flattens nested JSON structures into top-level fields", "streamtags": [], "functions": [{"filter": "true", "id": "flatten", "conf": {"fields": [], "prefix": "", "depth": 5, "delimiter": "_"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesFoldKeys: parameters: path: @@ -28180,9 +30993,11 @@ examples: application/json: {"id": "fold-keys-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that transforms flat field names with separators into nested structures", "streamtags": [], "functions": [{"filter": "true", "id": "foldkeys", "conf": {"deleteOriginal": true, "separator": "_", "selectionRegExp": "^data"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesGeoIP: parameters: path: @@ -28191,9 +31006,11 @@ examples: application/json: {"id": "geoip-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that enriches events with geolocation data from IP addresses", "streamtags": [], "functions": [{"filter": "true", "id": "geoip", "conf": {"file": "GeoLite2-City.mmdb", "inField": "ip", "outField": "geoip", "additionalFields": [{"extraInField": "src_ip", "extraOutField": "src_geoip"}]}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesGrok: parameters: path: @@ -28202,9 +31019,11 @@ examples: application/json: {"id": "grok-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that extracts structured fields from log data using Grok patterns", "streamtags": [], "functions": [{"filter": "true", "id": "grok", "conf": {"pattern": "%{TIMESTAMP_ISO8601:event_time} %{LOGLEVEL:log_level} %{GREEDYDATA:log_message}", "patternList": [], "source": "_raw"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesGuard: parameters: path: @@ -28213,9 +31032,11 @@ examples: application/json: {"id": "guard-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that scans for sensitive data and applies mitigation expressions", "streamtags": [], "functions": [{"filter": "true", "id": "sensitive_data_scanner", "conf": {"rules": [{"rulesetId": "Finance_Global", "replaceExpr": "'REDACTED'", "disabled": false}], "fields": ["_raw"], "excludeFields": [], "flags": [{"name": "_sensitive", "value": "true"}], "includeDetectedRules": true}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesJSONUnroll: parameters: path: @@ -28224,9 +31045,11 @@ examples: application/json: {"id": "json-unroll-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that unrolls JSON arrays into individual events while retaining parent fields", "streamtags": [], "functions": [{"filter": "true", "id": "json_unroll", "conf": {"path": "allCars", "name": "cars"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesLookup: parameters: path: @@ -28235,9 +31058,11 @@ examples: application/json: {"id": "lookup-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that enriches events with location data from IP address lookups", "streamtags": [], "functions": [{"filter": "true", "id": "lookup", "conf": {"file": "ip_locations.csv", "dbLookup": false, "matchMode": "exact", "reloadPeriodSec": -1, "inFields": [{"eventField": "destination_ip", "lookupField": "ip"}], "outFields": [{"lookupField": "location", "eventField": "location", "defaultValue": "Unknown"}], "addToEvent": false, "ignoreCase": false}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesMask: parameters: path: @@ -28246,9 +31071,11 @@ examples: application/json: {"id": "mask-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that masks Social Security numbers and other sensitive data", "streamtags": [], "functions": [{"filter": "true", "id": "mask", "conf": {"rules": [{"matchRegex": "/(social=)(\\d+)/", "replaceExpr": "`${g1}${C.Mask.md5(g2)}`", "disabled": false}], "fields": ["_raw"], "depth": 5}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesNumerify: parameters: path: @@ -28257,9 +31084,11 @@ examples: application/json: {"id": "numerify-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that converts string numbers to numeric type for mathematical operations", "streamtags": [], "functions": [{"filter": "true", "id": "numerify", "conf": {"format": "none", "depth": 5, "ignoreFields": [], "filterExpr": ""}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesOTLPLogs: parameters: path: @@ -28268,9 +31097,11 @@ examples: application/json: {"id": "otlp-logs-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that normalizes and batches OTLP log events from OpenTelemetry sources", "streamtags": [], "functions": [{"filter": "__inputId=='open_telemetry:open_telemetry'", "id": "otlp_logs", "conf": {"dropNonLogEvents": false, "batchOTLPLogs": true, "sendBatchSize": 8192, "timeout": 200, "sendBatchMaxSize": 0, "metadataKeys": [], "metadataCardinalityLimit": 1000}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesOTLPMetrics: parameters: path: @@ -28279,9 +31110,11 @@ examples: application/json: {"id": "otlp-metrics-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that converts dimensional metrics to OTLP format and batches them by resource attributes", "streamtags": [], "functions": [{"filter": "__inputId=='prometheus_rw:prom_rw_in'", "id": "otlp_metrics", "conf": {"resourceAttributePrefixes": ["service", "system", "telemetry", "k8s", "cloud", "host", "process"], "dropNonMetricEvents": false, "otlpVersion": "0.10.0", "batchOTLPMetrics": true, "sendBatchSize": 8192, "timeout": 200, "sendBatchMaxSize": 0, "metadataKeys": [], "metadataCardinalityLimit": 1000}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesOTLPTraces: parameters: path: @@ -28290,20 +31123,24 @@ examples: application/json: {"id": "otlp-traces-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that normalizes and batches OTLP trace events from OpenTelemetry sources", "streamtags": [], "functions": [{"filter": "__inputId=='open_telemetry:open_telemetry'", "id": "otlp_traces", "conf": {"dropNonTraceEvents": false, "otlpVersion": "0.10.0", "batchOTLPTraces": true, "sendBatchSize": 8192, "timeout": 200, "sendBatchMaxSize": 0, "metadataKeys": [], "metadataCardinalityLimit": 1000}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesParser: parameters: path: id: "" requestBody: - application/json: {"id": "parser-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that extracts fields from key-value pair formatted data", "streamtags": [], "functions": [{"filter": "true", "id": "serde", "conf": {"type": "kvp", "keep": ["a", "b", "c"], "remove": ["*"], "cleanFields": false, "mode": "extract", "srcField": "_raw"}}], "groups": {}}} + application/json: {"id": "parser-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that extracts fields from key-value pair formatted data", "streamtags": [], "functions": [{"filter": "true", "id": "serde", "conf": {"type": "kvp", "srcField": "_raw", "keep": ["a", "b", "c"], "remove": ["*"], "cleanFields": false, "mode": "extract"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesPublishMetrics: parameters: path: @@ -28312,9 +31149,11 @@ examples: application/json: {"id": "publish-metrics-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that extracts metrics from events and formats them for metrics aggregation platforms", "streamtags": [], "functions": [{"filter": "true", "id": "publish_metrics", "conf": {"fields": [{"inFieldName": "bytes", "outFieldExpr": "'metric_name.bytes'", "metricType": "gauge"}, {"inFieldName": "packets", "outFieldExpr": "'metric_name.packets'", "metricType": "gauge"}], "overwrite": false, "dimensions": ["action", "interface_id", "dstaddr"], "removeMetrics": [], "removeDimensions": []}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesRedis: parameters: path: @@ -28323,9 +31162,11 @@ examples: application/json: {"id": "redis-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that retrieves values from Redis using GET command", "streamtags": [], "functions": [{"filter": "true", "id": "redis", "conf": {"authType": "none", "commands": [{"outField": "cached_value", "command": "get", "keyExpr": "'user_session'", "argsExpr": ""}], "deploymentType": "standalone", "maxBlockSecs": 60, "url": "'redis://localhost:6379/0'"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesRegexExtract: parameters: path: @@ -28334,9 +31175,11 @@ examples: application/json: {"id": "regex-extract-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that extracts structured fields from log data using regex patterns with named capture groups", "streamtags": [], "functions": [{"filter": "true", "id": "regex_extract", "conf": {"regex": "/metric1=(?\\d+)/", "source": "_raw", "iterations": 100, "overwrite": false}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesRegexFilter: parameters: path: @@ -28345,9 +31188,11 @@ examples: application/json: {"id": "regex-filter-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that filters out events matching specific regex patterns", "streamtags": [], "functions": [{"filter": "true", "id": "regex_filter", "conf": {"regex": "/Opera/", "field": "_raw"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesRename: parameters: path: @@ -28356,9 +31201,11 @@ examples: application/json: {"id": "rename-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that renames fields using key-value pairs and expressions", "streamtags": [], "functions": [{"filter": "true", "id": "rename", "conf": {"baseFields": [], "rename": [{"currentName": "level", "newName": "LEVEL"}], "renameExpr": "name.startsWith('out') ? name.toUpperCase() : name", "wildcardDepth": 5}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesRollupMetrics: parameters: path: @@ -28367,9 +31214,11 @@ examples: application/json: {"id": "rollup-metrics-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that consolidates high-frequency metrics into manageable time windows", "streamtags": [], "functions": [{"filter": "true", "id": "rollup_metrics", "conf": {"dimensions": ["*"], "timeWindow": "30s", "gaugeRollup": "last"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesSampling: parameters: path: @@ -28378,9 +31227,11 @@ examples: application/json: {"id": "sampling-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that samples events at specified rates based on filter criteria", "streamtags": [], "functions": [{"filter": "true", "id": "sampling", "conf": {"rules": [{"filter": "__status == 200", "rate": 5}]}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesSerialize: parameters: path: @@ -28389,9 +31240,11 @@ examples: application/json: {"id": "serialize-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that serializes event fields into JSON format", "streamtags": [], "functions": [{"filter": "true", "id": "serialize", "conf": {"type": "kvp"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesSNMPTrapSerialize: parameters: path: @@ -28400,9 +31253,11 @@ examples: application/json: {"id": "snmp-trap-serialize-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that serializes events into SNMP trap format for SNMP trap destinations", "streamtags": [], "functions": [{"filter": "true", "id": "snmp_trap_serialize", "conf": {"strict": true, "dropFailedEvents": true}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesSuppress: parameters: path: @@ -28411,9 +31266,11 @@ examples: application/json: {"id": "suppress-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that suppresses duplicate events based on a key expression", "streamtags": [], "functions": [{"filter": "true", "id": "suppress", "conf": {"keyExpr": "`${ip}:${port}`", "allow": 1, "suppressPeriodSec": 30, "dropEventsMode": true, "maxCacheSize": 50000, "cacheIdleTimeoutPeriods": 2, "numEventsIdleTimeoutTrigger": 10000}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesTee: parameters: path: @@ -28422,9 +31279,11 @@ examples: application/json: {"id": "tee-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that sends events to a command via stdin for debugging purposes", "streamtags": [], "functions": [{"filter": "true", "id": "tee", "conf": {"command": "tee", "args": ["/opt/cribl/foo.log"], "restartOnExit": true, "env": {}}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesUnroll: parameters: path: @@ -28433,9 +31292,11 @@ examples: application/json: {"id": "unroll-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that unrolls array fields into separate events", "streamtags": [], "functions": [{"filter": "true", "id": "unroll", "conf": {"srcExpr": "_raw.split(/\\n/)", "dstField": "_raw"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesXMLUnroll: parameters: path: @@ -28444,8 +31305,28 @@ examples: application/json: {"id": "xml-unroll-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that unrolls XML elements into separate events", "streamtags": [], "functions": [{"filter": "true", "id": "xml_unroll", "conf": {"unroll": "^Parent\\.Child$", "inherit": "^Parent\\.(myID|branchLocation)$", "unrollIdxField": "unroll_idx", "pretty": false}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "geoip", "conf": {"file": ""}}]}}]} "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + PipelineResponseExamplesEmptyPipeline: + parameters: + path: + id: "" + requestBody: + application/json: {"id": "", "conf": {"functions": [{"id": "mask", "conf": {"rules": [{"matchRegex": "", "replaceExpr": ""}]}}]}} + responses: + "200": + application/json: {} + PipelineResponseExamplesEvalPipeline: + parameters: + path: + id: "" + requestBody: + application/json: {"id": "", "conf": {"functions": [{"id": "mask", "conf": {"rules": [{"matchRegex": "", "replaceExpr": ""}]}}]}} + responses: + "200": application/json: {} getRoutes: speakeasy-default-get-routes: @@ -28453,7 +31334,17 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + RoutesResponseExamplesDefaultRoutingTable: + responses: + "200": + 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: {"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: @@ -28463,6 +31354,29 @@ examples: "200": application/json: {} "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + InputResponseExamplesSyslogSource: + parameters: + path: + pack: "" + responses: + "200": + application/json: {} + InputResponseExamplesSplunkHecSource: + parameters: + path: + pack: "" + responses: + "200": + application/json: {} + InputResponseExamplesHttpSource: + parameters: + path: + pack: "" + responses: + "200": application/json: {} getInputSystemByPackAndId: speakeasy-default-get-input-system-by-pack-and-id: @@ -28474,6 +31388,32 @@ examples: "200": application/json: {} "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + InputResponseExamplesSyslogSource: + parameters: + path: + id: "" + pack: "" + responses: + "200": + application/json: {} + InputResponseExamplesSplunkHecSource: + parameters: + path: + id: "" + pack: "" + responses: + "200": + application/json: {} + InputResponseExamplesHttpSource: + parameters: + path: + id: "" + pack: "" + responses: + "200": application/json: {} updateInputSystemByPackAndId: InputCreateExamplesAppscope: @@ -29207,7 +32147,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesOpenAI: parameters: path: @@ -29310,12 +32252,14 @@ examples: id: "" pack: "" requestBody: - application/json: {"id": "anthropic-compliance-source", "type": "anthropic_compliance", "sendToRoutes": true, "pqEnabled": false, "textSecret": "anthropic-api-key-secret", "contentConfig": [{"contentType": "activities", "contentDescription": "Compliance Activities", "enabled": true, "stateTracking": true, "stateUpdateExpression": "__timestampExtracted !== false && {latestTime: (state.latestTime || 0) > _time ? state.latestTime : _time}", "stateMergeExpression": "prevState.latestTime > newState.latestTime ? prevState : newState", "cronSchedule": "*/5 * * * *", "earliest": "-7d@d", "latest": "now", "jobTimeout": "300"}]} + application/json: {"id": "anthropic-compliance-source", "type": "anthropic_compliance", "sendToRoutes": true, "pqEnabled": false, "textSecret": "anthropic-api-key-secret", "contentConfig": [{"contentType": "activities", "contentDescription": "Compliance Activities", "enabled": true, "stateTracking": true, "stateUpdateExpression": "__timestampExtracted !== false && {latestTime: (state.latestTime || 0) > _time ? state.latestTime : _time}", "stateMergeExpression": "prevState.latestTime > newState.latestTime ? prevState : newState", "earliest": "-7d@d", "latest": "now", "cronSchedule": "*/5 * * * *", "jobTimeout": "300"}]} responses: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesAppleUnifiedLogs: parameters: path: @@ -29327,7 +32271,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesAppscope: parameters: path: @@ -29339,7 +32285,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesAzureBlob: parameters: path: @@ -29351,7 +32299,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesCloudflareHec: parameters: path: @@ -29363,7 +32313,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesConfluentCloud: parameters: path: @@ -29375,7 +32327,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesCollection: parameters: path: @@ -29387,7 +32341,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesCribl: parameters: path: @@ -29399,7 +32355,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesCriblHttp: parameters: path: @@ -29411,7 +32369,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesCriblLakeHttp: parameters: path: @@ -29423,7 +32383,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesCriblMetrics: parameters: path: @@ -29435,7 +32397,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesCriblTcp: parameters: path: @@ -29447,7 +32411,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesCrowdstrike: parameters: path: @@ -29459,7 +32425,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesDatadogAgent: parameters: path: @@ -29471,7 +32439,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesDatagen: parameters: path: @@ -29483,7 +32453,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesEdgePrometheus: parameters: path: @@ -29495,7 +32467,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesElastic: parameters: path: @@ -29507,7 +32481,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesEventhub: parameters: path: @@ -29519,7 +32495,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesEventhubAmqp: parameters: path: @@ -29531,7 +32509,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesExec: parameters: path: @@ -29543,7 +32523,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesFile: parameters: path: @@ -29555,7 +32537,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesFirehose: parameters: path: @@ -29567,7 +32551,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesGrafana: parameters: path: @@ -29579,7 +32565,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesGooglePubsub: parameters: path: @@ -29591,7 +32579,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesHttp: parameters: path: @@ -29603,7 +32593,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesHttpRaw: parameters: path: @@ -29615,7 +32607,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesJournalFiles: parameters: path: @@ -29627,7 +32621,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesKafka: parameters: path: @@ -29639,7 +32635,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesKinesis: parameters: path: @@ -29651,7 +32649,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesKubeEvents: parameters: path: @@ -29663,7 +32663,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesKubeLogs: parameters: path: @@ -29675,7 +32677,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesKubeMetrics: parameters: path: @@ -29687,7 +32691,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesLoki: parameters: path: @@ -29699,7 +32705,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesMetrics: parameters: path: @@ -29711,7 +32719,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesModelDrivenTelemetry: parameters: path: @@ -29723,7 +32733,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesMsk: parameters: path: @@ -29735,7 +32747,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesNetflow: parameters: path: @@ -29747,7 +32761,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesOffice365Mgmt: parameters: path: @@ -29759,7 +32775,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesMicrosoftGraph: parameters: path: @@ -29771,7 +32789,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesOffice365MsgTrace: parameters: path: @@ -29783,7 +32803,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesOffice365Service: parameters: path: @@ -29795,7 +32817,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesOkta: parameters: path: @@ -29807,7 +32831,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesOpenAI: parameters: path: @@ -29819,7 +32845,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesOpenAIComplianceLogs: parameters: path: @@ -29831,7 +32859,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesOpenTelemetry: parameters: path: @@ -29843,7 +32873,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesPrometheus: parameters: path: @@ -29855,7 +32887,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesPrometheusRw: parameters: path: @@ -29867,7 +32901,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesRawUdp: parameters: path: @@ -29879,7 +32915,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesS3: parameters: path: @@ -29891,7 +32929,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesS3Inventory: parameters: path: @@ -29903,7 +32943,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesSecurityLake: parameters: path: @@ -29915,7 +32957,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesServiceNowTable: parameters: path: @@ -29927,7 +32971,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesSnmp: parameters: path: @@ -29939,7 +32985,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesSplunk: parameters: path: @@ -29951,7 +32999,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesSplunkHec: parameters: path: @@ -29963,7 +33013,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesSplunkSearch: parameters: path: @@ -29975,7 +33027,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesSqs: parameters: path: @@ -29987,7 +33041,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesSyslog: parameters: path: @@ -29999,7 +33055,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesSystemMetrics: parameters: path: @@ -30011,7 +33069,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesSystemState: parameters: path: @@ -30023,7 +33083,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesTcp: parameters: path: @@ -30035,7 +33097,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesTcpjson: parameters: path: @@ -30047,7 +33111,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesWef: parameters: path: @@ -30059,7 +33125,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesWinEventLogs: parameters: path: @@ -30071,7 +33139,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesWindowsMetrics: parameters: path: @@ -30083,7 +33153,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesWiz: parameters: path: @@ -30095,7 +33167,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesWizWebhook: parameters: path: @@ -30107,7 +33181,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateInputExamplesZscalerHec: parameters: path: @@ -30119,175 +33195,316 @@ examples: "200": application/json: {} "500": - application/json: {} - deleteInputSystemByPackAndId: - speakeasy-default-delete-input-system-by-pack-and-id: + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + UpdateInputExamplesSysdigHec: parameters: path: id: "" pack: "" + requestBody: + application/json: {"id": "sysdig-hec-source", "type": "sysdig_hec", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 8088, "hecAPI": "/services/collector"} responses: "200": application/json: {} + "401": + application/json: {"status": "error", "message": ""} "500": - application/json: {} - createInputSystemHecTokenByPackAndId: - HecTokenExamplesHecToken: + application/json: {"status": "error", "message": ""} + UpdateInputExamplesUpwindHec: parameters: path: id: "" pack: "" requestBody: - application/json: {"enabled": true, "metadata": [{"name": "fieldX", "value": "valueX"}], "token": "12345678901"} + application/json: {"id": "upwind-hec-source", "type": "upwind_hec", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 8088, "hecAPI": "/services/collector"} responses: "200": application/json: {} + "401": + application/json: {"status": "error", "message": ""} "500": - application/json: {} - HecTokenExamplesHecTokenWithIndexAccess: + application/json: {"status": "error", "message": ""} + InputResponseExamplesSyslogSource: parameters: path: id: "" pack: "" requestBody: - application/json: {"allowedIndexesAtToken": ["myIndex6"], "enabled": true, "token": "12345678901"} + application/json: {"type": "office365_mgmt", "planType": "dod", "tenantId": "", "appId": ""} responses: "200": application/json: {} - "500": - application/json: {} - speakeasy-default-create-input-system-hec-token-by-pack-and-id: + InputResponseExamplesSplunkHecSource: parameters: path: id: "" pack: "" requestBody: - application/json: {"token": ""} + application/json: {"type": "microsoft_graph", "url": "https://huge-hovel.net", "interval": 217787} responses: "200": application/json: {} - "500": - application/json: {} - updateInputSystemHecTokenByPackAndIdAndToken: - HecTokenExamplesHecToken: + InputResponseExamplesHttpSource: parameters: path: id: "" - token: "" pack: "" requestBody: - application/json: {"enabled": true, "metadata": [{"name": "fieldX", "value": "valueX"}]} + application/json: {"type": "azure_blob", "queueName": ""} responses: "200": application/json: {} - "500": - application/json: {} - HecTokenExamplesHecTokenWithIndexAccess: + deleteInputSystemByPackAndId: + speakeasy-default-delete-input-system-by-pack-and-id: parameters: path: id: "" - token: "" pack: "" - requestBody: - application/json: {"allowedIndexesAtToken": ["myIndex6"], "enabled": true} responses: "200": application/json: {} "500": - application/json: {} - speakeasy-default-update-input-system-hec-token-by-pack-and-id-and-token: + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + InputResponseExamplesSyslogSource: parameters: path: id: "" - token: "" pack: "" - requestBody: - application/json: {} responses: "200": application/json: {} - "500": - application/json: {} - deleteInputSystemPqByPackAndId: - speakeasy-default-delete-input-system-pq-by-pack-and-id: + InputResponseExamplesSplunkHecSource: parameters: path: id: "" pack: "" responses: "200": - application/json: {"count": 170626, "items": [{}, {}]} - "500": application/json: {} - "201": - application/json: {} - createInputSystemByPack: - InputCreateExamplesAppscope: + InputResponseExamplesHttpSource: parameters: path: + id: "" pack: "" - requestBody: - application/json: {"id": "appscope-source", "type": "appscope", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 9109} responses: "200": application/json: {} - "500": - application/json: {} - InputCreateExamplesAzureBlob: + createInputSystemHecTokenByPackAndId: + HecTokenExamplesHecToken: parameters: path: + id: "" pack: "" requestBody: - application/json: {"id": "azure-blob-source", "type": "azure_blob", "sendToRoutes": true, "pqEnabled": false, "queueName": "azure-blob-queue"} + application/json: {"enabled": true, "metadata": [{"name": "fieldX", "value": "valueX"}], "token": "12345678901"} responses: "200": application/json: {} "500": - application/json: {} - InputCreateExamplesCloudflareHec: + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + HecTokenExamplesHecTokenWithIndexAccess: parameters: path: + id: "" pack: "" requestBody: - application/json: {"id": "cloudflare-hec-source", "type": "cloudflare_hec", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 8088, "hecAPI": "/services/collector"} + application/json: {"allowedIndexesAtToken": ["myIndex6"], "enabled": true, "token": "12345678901"} responses: "200": application/json: {} "500": - application/json: {} - InputCreateExamplesConfluentCloud: + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + speakeasy-default-create-input-system-hec-token-by-pack-and-id: parameters: path: + id: "" pack: "" requestBody: - application/json: {"id": "confluent-cloud-source", "type": "confluent_cloud", "sendToRoutes": true, "pqEnabled": false, "brokers": ["pkc-xxxxx.us-east-1.aws.confluent.cloud:9092"], "topics": ["logs"]} + application/json: {"token": ""} responses: "200": application/json: {} "500": - application/json: {} - InputCreateExamplesCollection: + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + HecTokenResponseExamplesSplunkHecSource: parameters: path: + id: "" pack: "" requestBody: - application/json: {"id": "collection-source", "type": "collection", "sendToRoutes": true, "pqEnabled": false} + application/json: {"token": ""} responses: "200": - application/json: {} - "500": - application/json: {} - InputCreateExamplesCriblHttp: + application/json: {"count": 1, "items": [{"id": "splunk-hec-source", "type": "splunk_hec", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 8088, "authTokens": [{"token": "12345678901", "enabled": true, "metadata": [{"name": "fieldX", "value": "valueX"}]}], "splunkHecAPI": "/services/collector"}]} + updateInputSystemHecTokenByPackAndIdAndToken: + HecTokenExamplesHecToken: parameters: path: + id: "" + token: "" pack: "" requestBody: - application/json: {"id": "cribl-http-source", "type": "cribl_http", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 10080} + application/json: {"enabled": true, "metadata": [{"name": "fieldX", "value": "valueX"}]} + responses: + "200": + application/json: {} + "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + HecTokenExamplesHecTokenWithIndexAccess: + parameters: + path: + id: "" + token: "" + pack: "" + requestBody: + application/json: {"allowedIndexesAtToken": ["myIndex6"], "enabled": true} + responses: + "200": + application/json: {} + "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + speakeasy-default-update-input-system-hec-token-by-pack-and-id-and-token: + parameters: + path: + id: "" + token: "" + pack: "" + requestBody: + application/json: {} + responses: + "200": + application/json: {} + "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + HecTokenResponseExamplesSplunkHecSource: + parameters: + path: + id: "" + token: "" + pack: "" + requestBody: + application/json: {} + responses: + "200": + application/json: {"count": 1, "items": [{"id": "splunk-hec-source", "type": "splunk_hec", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 8088, "authTokens": [{"token": "12345678901", "enabled": true, "metadata": [{"name": "fieldX", "value": "valueX"}]}], "splunkHecAPI": "/services/collector"}]} + deleteInputSystemPqByPackAndId: + speakeasy-default-delete-input-system-pq-by-pack-and-id: + parameters: + path: + id: "" + pack: "" + responses: + "200": + application/json: {"count": 170626, "items": [{}, {}]} + "500": + application/json: {"status": "error", "message": ""} + "201": + application/json: {} + "401": + application/json: {"status": "error", "message": ""} + ClearPQResponseExamplesClearPQJob: + parameters: + path: + id: "" + pack: "" + responses: + "201": + application/json: {"count": 1, "items": ["1727123456.1234567890"]} + createInputSystemByPack: + InputCreateExamplesAppscope: + parameters: + path: + pack: "" + requestBody: + application/json: {"id": "appscope-source", "type": "appscope", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 9109} responses: "200": application/json: {} "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + InputCreateExamplesAzureBlob: + parameters: + path: + pack: "" + requestBody: + application/json: {"id": "azure-blob-source", "type": "azure_blob", "sendToRoutes": true, "pqEnabled": false, "queueName": "azure-blob-queue"} + responses: + "200": + application/json: {} + "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + InputCreateExamplesCloudflareHec: + parameters: + path: + pack: "" + requestBody: + application/json: {"id": "cloudflare-hec-source", "type": "cloudflare_hec", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 8088, "hecAPI": "/services/collector"} + responses: + "200": + application/json: {} + "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + InputCreateExamplesConfluentCloud: + parameters: + path: + pack: "" + requestBody: + application/json: {"id": "confluent-cloud-source", "type": "confluent_cloud", "sendToRoutes": true, "pqEnabled": false, "brokers": ["pkc-xxxxx.us-east-1.aws.confluent.cloud:9092"], "topics": ["logs"]} + responses: + "200": + application/json: {} + "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + InputCreateExamplesCollection: + parameters: + path: + pack: "" + requestBody: + application/json: {"id": "collection-source", "type": "collection", "sendToRoutes": true, "pqEnabled": false} + responses: + "200": + application/json: {} + "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + InputCreateExamplesCriblHttp: + parameters: + path: + pack: "" + requestBody: + application/json: {"id": "cribl-http-source", "type": "cribl_http", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 10080} + responses: + "200": application/json: {} + "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesCriblLakeHttp: parameters: path: @@ -30298,7 +33515,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesCriblTcp: parameters: path: @@ -30309,7 +33528,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesCrowdstrike: parameters: path: @@ -30320,7 +33541,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesDatadogAgent: parameters: path: @@ -30331,7 +33554,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesDatagen: parameters: path: @@ -30342,7 +33567,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesEdgePrometheus: parameters: path: @@ -30353,7 +33580,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesElastic: parameters: path: @@ -30364,7 +33593,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesEventhub: parameters: path: @@ -30375,7 +33606,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesExec: parameters: path: @@ -30386,7 +33619,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesFile: parameters: path: @@ -30397,7 +33632,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesFirehose: parameters: path: @@ -30408,7 +33645,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesGrafana: parameters: path: @@ -30419,7 +33658,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesGooglePubsub: parameters: path: @@ -30430,7 +33671,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesHttp: parameters: path: @@ -30441,7 +33684,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesHttpRaw: parameters: path: @@ -30452,7 +33697,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesJournalFiles: parameters: path: @@ -30463,7 +33710,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesKafka: parameters: path: @@ -30474,7 +33723,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesKinesis: parameters: path: @@ -30485,7 +33736,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesKubeEvents: parameters: path: @@ -30496,7 +33749,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesKubeLogs: parameters: path: @@ -30507,7 +33762,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesKubeMetrics: parameters: path: @@ -30518,7 +33775,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesLoki: parameters: path: @@ -30529,7 +33788,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesMetrics: parameters: path: @@ -30540,7 +33801,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesModelDrivenTelemetry: parameters: path: @@ -30551,7 +33814,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesMsk: parameters: path: @@ -30562,7 +33827,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesNetflow: parameters: path: @@ -30573,7 +33840,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesOffice365Mgmt: parameters: path: @@ -30584,7 +33853,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesOffice365MsgTrace: parameters: path: @@ -30595,7 +33866,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesOffice365Service: parameters: path: @@ -30606,7 +33879,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesOpenTelemetry: parameters: path: @@ -30617,7 +33892,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesPrometheus: parameters: path: @@ -30628,7 +33905,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesPrometheusRw: parameters: path: @@ -30639,7 +33918,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesRawUdp: parameters: path: @@ -30650,7 +33931,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesS3: parameters: path: @@ -30661,7 +33944,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesS3Inventory: parameters: path: @@ -30672,7 +33957,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesSecurityLake: parameters: path: @@ -30683,7 +33970,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesSnmp: parameters: path: @@ -30694,7 +33983,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesSplunk: parameters: path: @@ -30705,7 +33996,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesSplunkHec: parameters: path: @@ -30716,7 +34009,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesSplunkSearch: parameters: path: @@ -30727,7 +34022,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesSqs: parameters: path: @@ -30738,7 +34035,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesSyslog: parameters: path: @@ -30749,7 +34048,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesSystemMetrics: parameters: path: @@ -30760,7 +34061,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesSystemState: parameters: path: @@ -30771,7 +34074,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesTcp: parameters: path: @@ -30782,7 +34087,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesTcpjson: parameters: path: @@ -30793,7 +34100,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesWef: parameters: path: @@ -30804,7 +34113,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesWinEventLogs: parameters: path: @@ -30815,7 +34126,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesWindowsMetrics: parameters: path: @@ -30826,7 +34139,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesWiz: parameters: path: @@ -30837,7 +34152,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesWizWebhook: parameters: path: @@ -30848,7 +34165,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesZscalerHec: parameters: path: @@ -30859,7 +34178,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} speakeasy-default-create-input-system-by-pack: parameters: path: @@ -30870,7 +34191,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesOpenAI: parameters: path: @@ -30881,7 +34204,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesMicrosoftGraph: parameters: path: @@ -30892,7 +34217,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesServiceNowTable: parameters: path: @@ -30903,7 +34230,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesEventhubAmqp: parameters: path: @@ -30914,7 +34243,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesOpenAIComplianceLogs: parameters: path: @@ -30925,18 +34256,22 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesAnthropicCompliance: parameters: path: pack: "" requestBody: - application/json: {"id": "anthropic-compliance-source", "type": "anthropic_compliance", "sendToRoutes": true, "pqEnabled": false, "textSecret": "anthropic-api-key-secret", "contentConfig": [{"contentType": "activities", "contentDescription": "Compliance Activities", "enabled": true, "stateTracking": true, "stateUpdateExpression": "__timestampExtracted !== false && {latestTime: (state.latestTime || 0) > _time ? state.latestTime : _time}", "stateMergeExpression": "prevState.latestTime > newState.latestTime ? prevState : newState", "cronSchedule": "*/5 * * * *", "earliest": "-7d@d", "latest": "now", "jobTimeout": "300"}]} + application/json: {"id": "anthropic-compliance-source", "type": "anthropic_compliance", "sendToRoutes": true, "pqEnabled": false, "textSecret": "anthropic-api-key-secret", "contentConfig": [{"contentType": "activities", "contentDescription": "Compliance Activities", "enabled": true, "stateTracking": true, "stateUpdateExpression": "__timestampExtracted !== false && {latestTime: (state.latestTime || 0) > _time ? state.latestTime : _time}", "stateMergeExpression": "prevState.latestTime > newState.latestTime ? prevState : newState", "earliest": "-7d@d", "latest": "now", "cronSchedule": "*/5 * * * *", "jobTimeout": "300"}]} responses: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesAppleUnifiedLogs: parameters: path: @@ -30947,7 +34282,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} InputCreateExamplesOkta: parameters: path: @@ -30958,6 +34295,61 @@ examples: "200": application/json: {} "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + InputCreateExamplesSysdigHec: + parameters: + path: + pack: "" + requestBody: + application/json: {"id": "sysdig-hec-source", "type": "sysdig_hec", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 8088, "hecAPI": "/services/collector"} + responses: + "200": + application/json: {} + "401": + application/json: {"status": "error", "message": ""} + "500": + application/json: {"status": "error", "message": ""} + InputCreateExamplesUpwindHec: + parameters: + path: + pack: "" + requestBody: + application/json: {"id": "upwind-hec-source", "type": "upwind_hec", "sendToRoutes": true, "pqEnabled": false, "host": "0.0.0.0", "port": 8088, "hecAPI": "/services/collector"} + responses: + "200": + application/json: {} + "401": + application/json: {"status": "error", "message": ""} + "500": + application/json: {"status": "error", "message": ""} + InputResponseExamplesSyslogSource: + parameters: + path: + pack: "" + requestBody: + application/json: {"id": "", "type": "wef", "host": "tender-vanadyl.name", "port": 8788.99, "subscriptions": []} + responses: + "200": + application/json: {} + InputResponseExamplesSplunkHecSource: + parameters: + path: + pack: "" + requestBody: + application/json: {"id": "", "type": "wiz_webhook", "host": "improbable-championship.name", "port": 7426.73} + responses: + "200": + application/json: {} + InputResponseExamplesHttpSource: + parameters: + path: + pack: "" + requestBody: + application/json: {"id": "", "type": "cribl"} + responses: + "200": application/json: {} getInputSystemPqByPackAndId: speakeasy-default-get-input-system-pq-by-pack-and-id: @@ -30969,7 +34361,17 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + PQStatusResponseExamplesCompletedJob: + parameters: + path: + id: "" + pack: "" + responses: + "200": + application/json: {"count": 1, "items": [{"args": {"collector": {"type": "splunk", "conf": {"authentication": "basic", "username": "Betty.Williamson20", "password": "l4aFcBec8QubGWA", "searchHead": "", "search": "", "endpoint": "", "outputMode": "json"}}, "run": {"mode": "list"}}, "id": "1727123456.1234567890", "stats": {}, "status": {"state": 5}}]} getOutputSystemByPack: speakeasy-default-get-output-system-by-pack: parameters: @@ -30979,6 +34381,29 @@ examples: "200": application/json: {} "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + OutputResponseExamplesSplunkHecDestination: + parameters: + path: + pack: "" + responses: + "200": + application/json: {} + OutputResponseExamplesS3Destination: + parameters: + path: + pack: "" + responses: + "200": + application/json: {"items": [], "count": 989882, "offset": 940517, "limit": 745197} + OutputResponseExamplesSyslogDestination: + parameters: + path: + pack: "" + responses: + "200": application/json: {} createOutputSystemByPack: OutputCreateExamplesTcpjson: @@ -30991,7 +34416,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesSplunk: parameters: path: @@ -31002,7 +34429,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesSplunkLb: parameters: path: @@ -31013,7 +34442,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesSplunkHec: parameters: path: @@ -31024,7 +34455,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesSyslog: parameters: path: @@ -31035,7 +34468,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesFilesystem: parameters: path: @@ -31046,7 +34481,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesS3: parameters: path: @@ -31057,7 +34494,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesAzureBlob: parameters: path: @@ -31068,7 +34507,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesAzureDataExplorer: parameters: path: @@ -31079,7 +34520,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesSentinel: parameters: path: @@ -31090,7 +34533,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesAzureLogs: parameters: path: @@ -31101,7 +34546,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesKafka: parameters: path: @@ -31112,7 +34559,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesConfluentCloud: parameters: path: @@ -31123,7 +34572,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesMsk: parameters: path: @@ -31134,7 +34585,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesKinesis: parameters: path: @@ -31145,7 +34598,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesElastic: parameters: path: @@ -31156,7 +34611,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesElasticCloud: parameters: path: @@ -31167,7 +34624,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesMicrosoftFabric: parameters: path: @@ -31178,7 +34637,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesCloudflareR2: parameters: path: @@ -31189,7 +34650,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesHoneycomb: parameters: path: @@ -31200,7 +34663,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesNewrelic: parameters: path: @@ -31211,7 +34676,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesNewrelicEvents: parameters: path: @@ -31222,7 +34689,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesSnmp: parameters: path: @@ -31233,7 +34702,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesInfluxdb: parameters: path: @@ -31244,7 +34715,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesMinio: parameters: path: @@ -31255,7 +34728,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesCloudwatch: parameters: path: @@ -31266,7 +34741,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesAzureEventhub: parameters: path: @@ -31277,7 +34754,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesStatsd: parameters: path: @@ -31288,7 +34767,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesStatsdExt: parameters: path: @@ -31299,7 +34780,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesGraphite: parameters: path: @@ -31310,7 +34793,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesWavefront: parameters: path: @@ -31321,7 +34806,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesSignalfx: parameters: path: @@ -31332,7 +34819,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesSqs: parameters: path: @@ -31343,7 +34832,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesGoogleCloudStorage: parameters: path: @@ -31354,7 +34845,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesSumoLogic: parameters: path: @@ -31365,7 +34858,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesDatadog: parameters: path: @@ -31376,7 +34871,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesWebhook: parameters: path: @@ -31387,7 +34884,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesPrometheus: parameters: path: @@ -31398,7 +34897,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesGooglePubsub: parameters: path: @@ -31409,7 +34910,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesGoogleChronicle: parameters: path: @@ -31420,7 +34923,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesChronicle: parameters: path: @@ -31431,7 +34936,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesGrafanaCloud: parameters: path: @@ -31442,7 +34949,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesLoki: parameters: path: @@ -31453,7 +34962,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesOpenTelemetry: parameters: path: @@ -31464,7 +34975,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesServiceNow: parameters: path: @@ -31475,7 +34988,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesDynatraceOtlp: parameters: path: @@ -31486,7 +35001,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesSentinelOneAiSiem: parameters: path: @@ -31497,7 +35014,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesDataset: parameters: path: @@ -31508,7 +35027,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesRing: parameters: path: @@ -31519,7 +35040,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesRouter: parameters: path: @@ -31530,7 +35053,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesWizHec: parameters: path: @@ -31541,7 +35066,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesHumioHec: parameters: path: @@ -31552,7 +35079,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesCrowdstrikeNextGenSiem: parameters: path: @@ -31563,7 +35092,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesCriblHttp: parameters: path: @@ -31574,7 +35105,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesCriblTcp: parameters: path: @@ -31585,7 +35118,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesCriblSearchEngine: parameters: path: @@ -31596,7 +35131,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesGoogleCloudLogging: parameters: path: @@ -31607,7 +35144,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesSns: parameters: path: @@ -31618,7 +35157,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesDlS3: parameters: path: @@ -31629,7 +35170,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesSecurityLake: parameters: path: @@ -31640,7 +35183,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesCriblLake: parameters: path: @@ -31651,7 +35196,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesExabeam: parameters: path: @@ -31662,7 +35209,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesDiskSpool: parameters: path: @@ -31673,7 +35222,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesClickHouse: parameters: path: @@ -31684,7 +35235,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesXsiam: parameters: path: @@ -31695,7 +35248,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesNetflow: parameters: path: @@ -31706,7 +35261,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesDynatraceHttp: parameters: path: @@ -31717,7 +35274,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesDatabricks: parameters: path: @@ -31728,7 +35287,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} speakeasy-default-create-output-system-by-pack: parameters: path: @@ -31739,7 +35300,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesLocalSearchStorage: parameters: path: @@ -31750,7 +35313,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesNutanixObjects: parameters: path: @@ -31761,7 +35326,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesStorjS3: parameters: path: @@ -31772,7 +35339,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesAlphasocS3: parameters: path: @@ -31783,7 +35352,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesdellS3: parameters: path: @@ -31794,7 +35365,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplescloudianS3: parameters: path: @@ -31805,7 +35378,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesscalityS3: parameters: path: @@ -31816,7 +35391,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesalibabaCloudS3: parameters: path: @@ -31827,6 +35404,100 @@ examples: "200": application/json: {} "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + 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": ""} + OutputCreateExamplesAmazonManagedPrometheus: + parameters: + path: + pack: "" + requestBody: + application/json: {"id": "amazon-managed-prometheus-output", "type": "amazon_managed_prometheus", "url": "https://aps-workspaces.us-east-1.amazonaws.com/workspaces/ws-example/api/v1/remote_write", "awsAuthenticationMethod": "auto", "region": "us-east-1"} + responses: + "200": + application/json: {} + "401": + application/json: {"status": "error", "message": ""} + "500": + application/json: {"status": "error", "message": ""} + OutputCreateExamplesGoogleBigQuery: + parameters: + path: + pack: "" + requestBody: + application/json: {"id": "google-bigquery-output", "type": "google_bigquery", "projectId": "my-project", "datasetId": "my-dataset", "tableId": "my-table", "googleAuthMethod": "auto"} + responses: + "200": + application/json: {} + "401": + application/json: {"status": "error", "message": ""} + "500": + application/json: {"status": "error", "message": ""} + OutputCreateExamplesGoogleCloudObservability: + parameters: + path: + pack: "" + requestBody: + application/json: {"id": "google-cloud-observability-output", "type": "google_cloud_observability", "googleAuthMethod": "auto"} + responses: + "200": + application/json: {} + "401": + application/json: {"status": "error", "message": ""} + "500": + application/json: {"status": "error", "message": ""} + OutputCreateExamplesCustomerMetricsStorage: + parameters: + path: + pack: "" + requestBody: + application/json: {"id": "customer-metrics-storage-output", "type": "customer_metrics_storage", "url": "http://localhost:8123/", "database": "default", "tableName": "mytable"} + responses: + "200": + application/json: {} + "401": + application/json: {"status": "error", "message": ""} + "500": + application/json: {"status": "error", "message": ""} + OutputResponseExamplesSplunkHecDestination: + parameters: + path: + pack: "" + requestBody: + application/json: {"id": "", "type": "graphite", "protocol": "udp", "host": "enchanted-repeat.net", "port": 6959.4} + responses: + "200": + application/json: {} + OutputResponseExamplesS3Destination: + parameters: + path: + pack: "" + requestBody: + application/json: {"id": "", "type": "wiz_hec", "wiz_connector_id": "", "wiz_environment": "", "data_center": "", "wiz_sourcetype": ""} + responses: + "200": + application/json: {} + OutputResponseExamplesSyslogDestination: + parameters: + path: + pack: "" + requestBody: + application/json: {"id": "", "type": "cloudflare_r2", "bucket": "", "stagePath": "", "endpoint": ""} + responses: + "200": application/json: {} getOutputSystemByPackAndId: speakeasy-default-get-output-system-by-pack-and-id: @@ -31838,6 +35509,32 @@ examples: "200": application/json: {} "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + OutputResponseExamplesSplunkHecDestination: + parameters: + path: + id: "" + pack: "" + responses: + "200": + application/json: {} + OutputResponseExamplesS3Destination: + parameters: + path: + id: "" + pack: "" + responses: + "200": + application/json: {} + OutputResponseExamplesSyslogDestination: + parameters: + path: + id: "" + pack: "" + responses: + "200": application/json: {} updateOutputSystemByPackAndId: OutputExamplesDefault: @@ -32679,7 +36376,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} OutputCreateExamplesLocalSearchStorage: parameters: path: @@ -32787,7 +36486,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesTcpjson: parameters: path: @@ -32799,7 +36500,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesSplunk: parameters: path: @@ -32811,7 +36514,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesSplunkLb: parameters: path: @@ -32823,7 +36528,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesSplunkHec: parameters: path: @@ -32835,7 +36542,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesSyslog: parameters: path: @@ -32847,7 +36556,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesFilesystem: parameters: path: @@ -32859,7 +36570,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesS3: parameters: path: @@ -32871,7 +36584,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesNutanixObjects: parameters: path: @@ -32883,7 +36598,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesStorjS3: parameters: path: @@ -32895,7 +36612,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesAlphasocS3: parameters: path: @@ -32907,7 +36626,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesdellS3: parameters: path: @@ -32919,7 +36640,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplescloudianS3: parameters: path: @@ -32931,7 +36654,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesscalityS3: parameters: path: @@ -32943,7 +36668,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesalibabaCloudS3: parameters: path: @@ -32955,7 +36682,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesAzureBlob: parameters: path: @@ -32967,7 +36696,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesAzureDataExplorer: parameters: path: @@ -32979,7 +36710,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesSentinel: parameters: path: @@ -32991,7 +36724,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesAzureLogs: parameters: path: @@ -33003,7 +36738,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesKafka: parameters: path: @@ -33015,7 +36752,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesConfluentCloud: parameters: path: @@ -33027,7 +36766,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesMsk: parameters: path: @@ -33039,7 +36780,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesKinesis: parameters: path: @@ -33051,7 +36794,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesElastic: parameters: path: @@ -33063,7 +36808,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesElasticCloud: parameters: path: @@ -33075,7 +36822,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesMicrosoftFabric: parameters: path: @@ -33087,7 +36836,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesCloudflareR2: parameters: path: @@ -33099,7 +36850,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesHoneycomb: parameters: path: @@ -33111,7 +36864,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesNewrelic: parameters: path: @@ -33123,7 +36878,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesNewrelicEvents: parameters: path: @@ -33135,7 +36892,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesSnmp: parameters: path: @@ -33147,7 +36906,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesInfluxdb: parameters: path: @@ -33159,7 +36920,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesMinio: parameters: path: @@ -33171,7 +36934,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesCloudwatch: parameters: path: @@ -33183,7 +36948,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesAzureEventhub: parameters: path: @@ -33195,7 +36962,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesStatsd: parameters: path: @@ -33207,7 +36976,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesStatsdExt: parameters: path: @@ -33219,7 +36990,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesGraphite: parameters: path: @@ -33231,7 +37004,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesWavefront: parameters: path: @@ -33243,7 +37018,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesSignalfx: parameters: path: @@ -33255,7 +37032,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesSqs: parameters: path: @@ -33267,7 +37046,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesGoogleCloudStorage: parameters: path: @@ -33279,7 +37060,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesSumoLogic: parameters: path: @@ -33291,7 +37074,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesDatadog: parameters: path: @@ -33303,7 +37088,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesWebhook: parameters: path: @@ -33315,7 +37102,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesPrometheus: parameters: path: @@ -33327,7 +37116,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesGooglePubsub: parameters: path: @@ -33339,7 +37130,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesGoogleChronicle: parameters: path: @@ -33351,7 +37144,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesChronicle: parameters: path: @@ -33363,7 +37158,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesGrafanaCloud: parameters: path: @@ -33375,7 +37172,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesLoki: parameters: path: @@ -33387,7 +37186,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesOpenTelemetry: parameters: path: @@ -33399,7 +37200,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesServiceNow: parameters: path: @@ -33411,7 +37214,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesDynatraceOtlp: parameters: path: @@ -33423,7 +37228,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesSentinelOneAiSiem: parameters: path: @@ -33435,7 +37242,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesDataset: parameters: path: @@ -33447,7 +37256,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesRing: parameters: path: @@ -33459,7 +37270,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesRouter: parameters: path: @@ -33471,7 +37284,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesWizHec: parameters: path: @@ -33483,7 +37298,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesHumioHec: parameters: path: @@ -33495,7 +37312,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesCrowdstrikeNextGenSiem: parameters: path: @@ -33507,7 +37326,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesCriblHttp: parameters: path: @@ -33519,7 +37340,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesCriblTcp: parameters: path: @@ -33531,7 +37354,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesCriblSearchEngine: parameters: path: @@ -33543,7 +37368,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesGoogleCloudLogging: parameters: path: @@ -33555,7 +37382,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesSns: parameters: path: @@ -33567,7 +37396,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesDlS3: parameters: path: @@ -33579,7 +37410,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesSecurityLake: parameters: path: @@ -33591,7 +37424,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesCriblLake: parameters: path: @@ -33603,7 +37438,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesExabeam: parameters: path: @@ -33615,7 +37452,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesDiskSpool: parameters: path: @@ -33627,7 +37466,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesClickHouse: parameters: path: @@ -33639,7 +37480,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesLocalSearchStorage: parameters: path: @@ -33651,7 +37494,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesXsiam: parameters: path: @@ -33663,7 +37508,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesNetflow: parameters: path: @@ -33675,7 +37522,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesDynatraceHttp: parameters: path: @@ -33687,7 +37536,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdateOutputExamplesDatabricks: parameters: path: @@ -33699,109 +37550,303 @@ examples: "200": application/json: {} "500": - application/json: {} - deleteOutputSystemByPackAndId: - speakeasy-default-delete-output-system-by-pack-and-id: + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + 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: {} - deleteOutputSystemPqByPackAndId: - speakeasy-default-delete-output-system-pq-by-pack-and-id: + application/json: {"status": "error", "message": ""} + UpdateOutputExamplesAmazonManagedPrometheus: parameters: path: id: "" pack: "" + requestBody: + application/json: {"id": "amazon-managed-prometheus-output", "type": "amazon_managed_prometheus", "url": "https://aps-workspaces.us-east-1.amazonaws.com/workspaces/ws-example/api/v1/remote_write", "awsAuthenticationMethod": "auto", "region": "us-east-1"} responses: - "201": + "200": application/json: {} + "401": + application/json: {"status": "error", "message": ""} "500": - application/json: {} - getOutputSystemPqByPackAndId: - speakeasy-default-get-output-system-pq-by-pack-and-id: + application/json: {"status": "error", "message": ""} + UpdateOutputExamplesGoogleBigQuery: parameters: path: id: "" pack: "" + requestBody: + application/json: {"id": "google-bigquery-output", "type": "google_bigquery", "projectId": "my-project", "datasetId": "my-dataset", "tableId": "my-table", "googleAuthMethod": "auto"} responses: "200": application/json: {} + "401": + application/json: {"status": "error", "message": ""} "500": - application/json: {} - getOutputSystemSamplesByPackAndId: - speakeasy-default-get-output-system-samples-by-pack-and-id: + application/json: {"status": "error", "message": ""} + UpdateOutputExamplesGoogleCloudObservability: parameters: path: id: "" pack: "" + requestBody: + application/json: {"id": "google-cloud-observability-output", "type": "google_cloud_observability", "googleAuthMethod": "auto"} responses: "200": application/json: {} + "401": + application/json: {"status": "error", "message": ""} "500": - application/json: {} - createOutputSystemTestByPackAndId: - speakeasy-default-create-output-system-test-by-pack-and-id: + application/json: {"status": "error", "message": ""} + UpdateOutputExamplesCustomerMetricsStorage: parameters: path: id: "" pack: "" requestBody: - application/json: {"events": [{"key": "", "key1": "", "key2": ""}, {}]} + application/json: {"id": "customer-metrics-storage-output", "type": "customer_metrics_storage", "url": "http://localhost:8123/", "database": "default", "tableName": "mytable"} responses: "200": application/json: {} + "401": + application/json: {"status": "error", "message": ""} "500": - application/json: {} - OutputTestExamplesSingleEvent: + application/json: {"status": "error", "message": ""} + OutputResponseExamplesSplunkHecDestination: parameters: path: id: "" pack: "" requestBody: - application/json: {"events": [{"_raw": "This is a test event", "source": "test", "sourcetype": "manual"}]} + application/json: {"type": "honeycomb", "dataset": ""} responses: "200": application/json: {} - "500": - application/json: {} - OutputTestExamplesMultipleEvents: + OutputResponseExamplesS3Destination: parameters: path: id: "" pack: "" requestBody: - application/json: {"events": [{"_raw": "Test event 1", "source": "test", "sourcetype": "manual"}, {"_raw": "Test event 2", "source": "test", "sourcetype": "manual"}]} + application/json: {"type": "sqs", "queueName": "", "queueType": "fifo"} responses: "200": application/json: {} - "500": - application/json: {} - deleteInputPqById: - speakeasy-default-delete-input-pq-by-id: + OutputResponseExamplesSyslogDestination: parameters: path: id: "" + pack: "" + requestBody: + application/json: {"type": "netflow", "hosts": [{"host": "skeletal-skeleton.info", "port": 8813.34}]} responses: - "201": - application/json: {} - "500": + "200": application/json: {} - getInputPqById: - speakeasy-default-get-input-pq-by-id: + deleteOutputSystemByPackAndId: + speakeasy-default-delete-output-system-by-pack-and-id: parameters: path: id: "" + pack: "" responses: "200": application/json: {} "500": - application/json: {} - getProductsSummaryWorkersByProduct: + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + OutputResponseExamplesSplunkHecDestination: + parameters: + path: + id: "" + pack: "" + responses: + "200": + application/json: {} + OutputResponseExamplesS3Destination: + parameters: + path: + id: "" + pack: "" + responses: + "200": + application/json: {} + OutputResponseExamplesSyslogDestination: + parameters: + path: + id: "" + pack: "" + responses: + "200": + application/json: {} + deleteOutputSystemPqByPackAndId: + speakeasy-default-delete-output-system-pq-by-pack-and-id: + parameters: + path: + id: "" + pack: "" + responses: + "201": + application/json: {} + "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + OutputClearPQResponseExamplesClearPQJobId: + parameters: + path: + id: "" + pack: "" + responses: + "201": + application/json: {"count": 1, "items": ["ceb17a42-f785-4f5e-b52a-7f0e1b2c3d4e"]} + getOutputSystemPqByPackAndId: + speakeasy-default-get-output-system-pq-by-pack-and-id: + parameters: + path: + id: "" + pack: "" + responses: + "200": + application/json: {} + "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + getOutputSystemSamplesByPackAndId: + speakeasy-default-get-output-system-samples-by-pack-and-id: + parameters: + path: + id: "" + pack: "" + responses: + "200": + application/json: {} + "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + OutputSamplesResponseExamplesSampleEvents: + parameters: + path: + id: "" + pack: "" + responses: + "200": + application/json: {"count": 1, "items": [{"events": [{"_raw": "Sample event for Destination", "source": "test", "sourcetype": "manual"}]}]} + createOutputSystemTestByPackAndId: + speakeasy-default-create-output-system-test-by-pack-and-id: + parameters: + path: + id: "" + pack: "" + requestBody: + application/json: {"events": [{"key": "", "key1": "", "key2": ""}, {}]} + responses: + "200": + application/json: {} + "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + OutputTestExamplesSingleEvent: + parameters: + path: + id: "" + pack: "" + requestBody: + application/json: {"events": [{"_raw": "This is a test event", "source": "test", "sourcetype": "manual"}]} + responses: + "200": + application/json: {} + "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + OutputTestExamplesMultipleEvents: + parameters: + path: + id: "" + pack: "" + requestBody: + application/json: {"events": [{"_raw": "Test event 1", "source": "test", "sourcetype": "manual"}, {"_raw": "Test event 2", "source": "test", "sourcetype": "manual"}]} + responses: + "200": + application/json: {} + "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + OutputTestResponseExamplesSuccessfulTest: + parameters: + path: + id: "" + pack: "" + requestBody: + application/json: {"events": [{"key": "", "key1": "", "key2": ""}, {}]} + responses: + "200": + application/json: {"count": 1, "items": [{"outputId": "splunk-hec-output", "success": true, "successDetail": "Successfully sent 1 event(s) to the Destination."}]} + OutputTestResponseExamplesFailedTest: + parameters: + path: + id: "" + pack: "" + requestBody: + application/json: {"events": [{"key": "", "key1": "", "key2": ""}, {}]} + responses: + "200": + application/json: {"count": 1, "items": [{"error": "Connection timed out after 30000ms", "outputId": "s3-output", "success": false}]} + deleteInputPqById: + speakeasy-default-delete-input-pq-by-id: + parameters: + path: + id: "" + responses: + "201": + application/json: {} + "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + ClearPQResponseExamplesClearPQJob: + parameters: + path: + id: "" + responses: + "201": + application/json: {"count": 1, "items": ["1727123456.1234567890"]} + getInputPqById: + speakeasy-default-get-input-pq-by-id: + parameters: + path: + id: "" + responses: + "200": + application/json: {} + "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + PQStatusResponseExamplesCompletedJob: + parameters: + path: + id: "" + responses: + "200": + application/json: {"count": 1, "items": [{"args": {"executor": {"type": ""}, "run": {}}, "id": "1727123456.1234567890", "stats": {}, "status": {"state": 5}}]} + getProductsSummaryWorkersByProduct: speakeasy-default-get-products-summary-workers-by-product: parameters: path: @@ -33812,7 +37857,18 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + ProductWorkersCountResponseExamplesCountedWorkerNodes: + parameters: + path: + product: "outpost" + query: + filterExp: "group==\"default\"" + responses: + "200": + application/json: {"count": 1, "items": [42]} getProductsWorkersByProductAndId: speakeasy-default-get-products-workers-by-product-and-id: parameters: @@ -33823,7 +37879,9 @@ examples: "200": application/json: {"items": [{"firstMsgTime": 4701.12, "group": "", "id": "", "info": {"architecture": "", "cpus": 3360.52, "cribl": {"config": {}, "distMode": "worker", "group": "", "guid": "", "startTime": 166910}, "env": {"key": "", "key1": "", "key2": ""}, "hostname": "tense-merit.net", "node": "", "platform": "", "release": "", "totalmem": 2972.28}, "lastMsgTime": 1694.02, "workerProcesses": 2375.34}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} getProductsWorkersByProduct: speakeasy-default-get-products-workers-by-product: parameters: @@ -33838,9 +37896,21 @@ examples: offset: 990978 responses: "200": - application/json: {"items": [{"firstMsgTime": 1112.87, "group": "", "id": "", "info": {"architecture": "", "cpus": 8811.29, "cribl": {"config": {}, "distMode": "worker", "group": "", "guid": "", "startTime": 990978}, "env": {}, "hostname": "subdued-honesty.info", "node": "", "platform": "", "release": "", "totalmem": 7814.21}, "lastMsgTime": 704.56, "workerProcesses": 4105.99}]} + application/json: {"items": [{"firstMsgTime": 1112.87, "group": "", "id": "", "info": {"architecture": "", "cpus": 8811.29, "cribl": {"config": {}, "distMode": "worker", "group": "", "guid": "", "startTime": 990978}, "env": {}, "hostname": "subdued-honesty.info", "node": "", "platform": "", "release": "", "totalmem": 7814.21}, "lastMsgTime": 704.56, "workerProcesses": 4105.99}], "count": 990978, "offset": 138503, "limit": 814076} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + WorkersListResponseExamplesWorkerNode: + parameters: + path: + product: "stream" + query: + filterExp: "group==\"default\"" + filter: "%7B%22field%22%3A%22group%22%2C%22op%22%3A%22is%22%2C%22value%22%3A%22default%22%7D" + responses: + "200": + application/json: {"count": 1, "items": [{"firstMsgTime": 1717200000000, "group": "default", "id": "worker-guid-01", "info": {"architecture": "x64", "cpus": 8, "cribl": {"config": {}, "distMode": "worker", "group": "default", "guid": "worker-guid-01", "startTime": 1717200000000}, "env": {}, "hostname": "worker-01", "node": "v22.17.1", "platform": "linux", "release": "6.8.0", "totalmem": 34359738368}, "lastMsgTime": 1717200060000, "status": "healthy", "workerProcesses": 4}]} updateProductsWorkersRestartByProduct: RestartWorkersExamplesRestartWorkers: parameters: @@ -33852,7 +37922,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} speakeasy-default-update-products-workers-restart-by-product: parameters: path: @@ -33863,7 +37935,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} getRoutesByPackAndId: speakeasy-default-get-routes-by-pack-and-id: parameters: @@ -33874,7 +37948,25 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + RoutesResponseExamplesDefaultRoutingTable: + parameters: + path: + id: "" + pack: "" + responses: + "200": + 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: "" + pack: "" + responses: + "200": + 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: @@ -33887,7 +37979,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} RoutesUpdateExamplesMultipleRoutes: parameters: path: @@ -33899,7 +37993,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} RoutesUpdateExamplesRouteWithOutputExpression: parameters: path: @@ -33911,19 +38007,23 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} speakeasy-default-update-routes-by-pack-and-id: parameters: path: id: "" pack: "" requestBody: - application/json: {"id": "", "routes": [{"clones": [{"key": "", "key1": "", "key2": ""}, {}], "context": "", "description": "woot joyfully along", "disabled": true, "enableOutputExpression": false, "filter": "", "groupId": "", "name": "", "output": "", "outputExpression": "", "pipeline": "", "targetContext": "pack", "final": true, "id": ""}]} + application/json: {"id": "", "routes": []} responses: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} RoutesUpdateExamplesRouteWithDefaults: parameters: path: @@ -33935,7 +38035,29 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + RoutesResponseExamplesDefaultRoutingTable: + parameters: + path: + id: "" + pack: "" + requestBody: + application/json: {"id": "", "routes": []} + responses: + "200": + 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: "" + pack: "" + requestBody: + application/json: {"id": "", "routes": []} + responses: + "200": + 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: @@ -33945,7 +38067,23 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + RoutesResponseExamplesDefaultRoutingTable: + parameters: + path: + pack: "" + responses: + "200": + 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: {"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: @@ -33958,7 +38096,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} RoutesAppendExamplesMultipleRoutes: parameters: path: @@ -33970,7 +38110,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} RoutesAppendExamplesRouteWithOutputExpression: parameters: path: @@ -33982,7 +38124,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} speakeasy-default-create-routes-append-by-pack-and-id: parameters: path: @@ -33994,7 +38138,9 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} RoutesAppendExamplesRouteWithDefaults: parameters: path: @@ -34006,7 +38152,29 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + RoutesResponseExamplesDefaultRoutingTable: + parameters: + path: + id: "" + pack: "" + requestBody: + application/json: [{"name": "", "pipeline": ""}] + responses: + "200": + 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: "" + pack: "" + requestBody: + application/json: [] + responses: + "200": + 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: parameters: @@ -34016,7 +38184,13 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + RestartSystemExamplesDefault: + responses: + "200": + application/json: {"count": 1, "items": [{"restart": true}]} createPipelinesByPack: PipelineExamplesEmpty: parameters: @@ -34026,9 +38200,11 @@ examples: application/json: {"id": "empty-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "", "streamtags": [], "functions": [], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesAggregations: parameters: path: @@ -34037,9 +38213,11 @@ examples: application/json: {"id": "aggregation-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that aggregates rejected bytes grouped by source address every 10 seconds", "streamtags": [], "functions": [{"filter": "true", "id": "aggregation", "conf": {"passthrough": false, "preserveGroupBys": false, "sufficientStatsOnly": false, "metricsMode": false, "timeWindow": "10s", "aggregations": ["sum(bytes).where(action==\"REJECT\").as(TotalBytes)"], "groupbys": ["srcaddr"], "cumulative": false, "shouldTreatDotsAsLiterals": false, "flushOnInputClose": true}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesAggregateMetrics: parameters: path: @@ -34048,9 +38226,11 @@ examples: application/json: {"id": "aggregate-metrics-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that aggregates process metrics: CPU, memory, and bytes over time windows", "streamtags": [], "functions": [{"filter": "(_metric == 'proc.cpu_perc' || __criblMetrics[0].nameExpr.includes(\"'proc.cpu_perc'\")) || (_metric == 'proc.mem_perc' || __criblMetrics[0].nameExpr.includes(\"'proc.mem_perc'\")) || (_metric == 'proc.bytes_in' || __criblMetrics[0].nameExpr.includes(\"'proc.bytes_in'\"))", "id": "aggregate_metrics", "conf": {"passthrough": false, "preserveGroupBys": false, "sufficientStatsOnly": false, "timeWindow": "10s", "aggregations": [{"metricType": "gauge", "agg": "avg(_value || proc.cpu_perc).as(proc.cpu_perc_avg)"}, {"metricType": "gauge", "agg": "sum(_value || proc.mem_perc).as(proc.mem_perc_sum)"}, {"metricType": "counter", "agg": "count(_value || proc.bytes_in).as(proc.bytes_in_count)"}], "groupbys": ["proc"], "cumulative": false, "shouldTreatDotsAsLiterals": true, "flushOnInputClose": true}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesAutoTimestamp: parameters: path: @@ -34059,9 +38239,11 @@ examples: application/json: {"id": "auto-timestamp-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that extracts timestamps from event data using auto timestamp function", "streamtags": [], "functions": [{"filter": "true", "id": "auto_timestamp", "conf": {"srcField": "_raw", "dstField": "_time", "defaultTimezone": "local", "timeExpression": "time.getTime() / 1000", "offset": 0, "maxLen": 150, "defaultTime": "now", "latestDateAllowed": "+1week", "earliestDateAllowed": "-420weeks", "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"}]}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesCEFSerializer: parameters: path: @@ -34070,9 +38252,11 @@ examples: application/json: {"id": "cef-serializer-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that formats events in CEF format with custom header and extension fields", "streamtags": [], "functions": [{"filter": "true", "id": "cef", "conf": {"outputField": "_raw", "header": [{"value": "'CEF:0'"}, {"value": "'Cribl'"}, {"value": "'Cribl'"}, {"value": "C.version"}, {"value": "420"}, {"value": "'Cribl Event'"}, {"value": "6"}], "extension": [{"name": "c6a1Label", "value": "'Colorado_Ext_Bldg7'"}]}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesChain: parameters: path: @@ -34081,9 +38265,11 @@ examples: application/json: {"id": "chain-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that chains to another pipeline for sequential data processing", "streamtags": [], "functions": [{"filter": "true", "id": "chain", "conf": {"processor": "prometheus_metrics"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesClone: parameters: path: @@ -34092,9 +38278,11 @@ examples: application/json: {"id": "clone-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that creates cloned events with additional fields for comparison or routing", "streamtags": [], "functions": [{"filter": "true", "id": "clone", "conf": {"clones": [{"env": "staging"}, {"index": "clones"}]}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesComment: parameters: path: @@ -34103,9 +38291,11 @@ examples: application/json: {"id": "comment-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline with comment function for documentation", "streamtags": [], "functions": [{"filter": "true", "id": "comment", "conf": {"comment": "This function processes security events and enriches them with DNS lookups"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesDNSLookup: parameters: path: @@ -34114,9 +38304,11 @@ examples: application/json: {"id": "dns-lookup-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that performs DNS lookups to resolve hostnames and IP addresses", "streamtags": [], "functions": [{"filter": "true", "id": "dns_lookup", "conf": {"dnsLookupFields": [{"inFieldName": "hostname", "resourceRecordType": "A", "outFieldName": "hostname_ip"}], "reverseLookupFields": [{"inFieldName": "src_ip", "outFieldName": "src_hostname"}], "cacheTTL": 30, "maxCacheSize": 5000, "useResolvConf": false, "lookupFallback": false, "lookupFailLogLevel": "error"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesDrop: parameters: path: @@ -34125,9 +38317,11 @@ examples: application/json: {"id": "drop-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that drops events containing success messages", "streamtags": [], "functions": [{"filter": "_raw.search(/success/i)>=0", "id": "drop", "conf": {}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesDropDimensions: parameters: path: @@ -34136,9 +38330,11 @@ examples: application/json: {"id": "drop-dimensions-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that drops specified dimensions from metrics to reduce cardinality", "streamtags": [], "functions": [{"filter": "(_metric == 'proc.cpu_perc' || __criblMetrics[0].nameExpr.includes(\"'proc.cpu_perc'\")) && (__criblMetrics[0].dims.includes(\"proc\"))", "id": "drop_dimensions", "conf": {"timeWindow": "10s", "dropDimensions": ["proc", "pie", "unit"], "flushOnInputClose": true}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesDynamicSampling: parameters: path: @@ -34147,9 +38343,11 @@ examples: application/json: {"id": "dynamic-sampling-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that dynamically samples events based on volume using square root mode", "streamtags": [], "functions": [{"filter": "true", "id": "dynamic_sampling", "conf": {"mode": "sqrt", "keyExpr": "`${domain}:${httpCode}`", "samplePeriod": 20, "minEvents": 3, "maxSampleRate": 3}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesEval: parameters: path: @@ -34158,9 +38356,11 @@ examples: application/json: {"id": "eval-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that evaluates JavaScript expressions to add, modify, and remove fields", "streamtags": [], "functions": [{"filter": "true", "id": "eval", "conf": {"add": [{"name": "action", "value": "login == 'error' ? 'blocked' : action"}, {"name": "myTags", "value": "login == 'error' ? [...myTags, 'error'] : myTags"}], "keep": ["host", "source", "action", "myTags"], "remove": ["identification"]}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesEventBreaker: parameters: path: @@ -34169,9 +38369,11 @@ examples: application/json: {"id": "event-breaker-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that breaks large event streams into discrete events using regex", "streamtags": [], "functions": [{"filter": "true", "id": "event_breaker", "conf": {"ruleType": "regex", "eventBreakerRegex": "/[\\n\\r]+(?!\\s)/", "existingOrNew": "new", "maxEventBytes": 51200, "timestampAnchorRegex": "/^/", "timestamp": {"type": "auto", "length": 150}, "timestampTimezone": "local", "timestampEarliest": "-420weeks", "timestampLatest": "+1week", "shouldMarkCriblBreaker": true}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesFlatten: parameters: path: @@ -34180,9 +38382,11 @@ examples: application/json: {"id": "flatten-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that flattens nested JSON structures into top-level fields", "streamtags": [], "functions": [{"filter": "true", "id": "flatten", "conf": {"fields": [], "prefix": "", "depth": 5, "delimiter": "_"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesFoldKeys: parameters: path: @@ -34191,9 +38395,11 @@ examples: application/json: {"id": "fold-keys-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that transforms flat field names with separators into nested structures", "streamtags": [], "functions": [{"filter": "true", "id": "foldkeys", "conf": {"deleteOriginal": true, "separator": "_", "selectionRegExp": "^data"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesGeoIP: parameters: path: @@ -34202,9 +38408,11 @@ examples: application/json: {"id": "geoip-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that enriches events with geolocation data from IP addresses", "streamtags": [], "functions": [{"filter": "true", "id": "geoip", "conf": {"file": "GeoLite2-City.mmdb", "inField": "ip", "outField": "geoip", "additionalFields": [{"extraInField": "src_ip", "extraOutField": "src_geoip"}]}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesGrok: parameters: path: @@ -34213,9 +38421,11 @@ examples: application/json: {"id": "grok-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that extracts structured fields from log data using Grok patterns", "streamtags": [], "functions": [{"filter": "true", "id": "grok", "conf": {"pattern": "%{TIMESTAMP_ISO8601:event_time} %{LOGLEVEL:log_level} %{GREEDYDATA:log_message}", "patternList": [], "source": "_raw"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesGuard: parameters: path: @@ -34224,9 +38434,11 @@ examples: application/json: {"id": "guard-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that scans for sensitive data and applies mitigation expressions", "streamtags": [], "functions": [{"filter": "true", "id": "sensitive_data_scanner", "conf": {"rules": [{"rulesetId": "Finance_Global", "replaceExpr": "'REDACTED'", "disabled": false}], "fields": ["_raw"], "excludeFields": [], "flags": [{"name": "_sensitive", "value": "true"}], "includeDetectedRules": true}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesJSONUnroll: parameters: path: @@ -34235,9 +38447,11 @@ examples: application/json: {"id": "json-unroll-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that unrolls JSON arrays into individual events while retaining parent fields", "streamtags": [], "functions": [{"filter": "true", "id": "json_unroll", "conf": {"path": "allCars", "name": "cars"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesLookup: parameters: path: @@ -34246,9 +38460,11 @@ examples: application/json: {"id": "lookup-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that enriches events with location data from IP address lookups", "streamtags": [], "functions": [{"filter": "true", "id": "lookup", "conf": {"file": "ip_locations.csv", "dbLookup": false, "matchMode": "exact", "reloadPeriodSec": -1, "inFields": [{"eventField": "destination_ip", "lookupField": "ip"}], "outFields": [{"lookupField": "location", "eventField": "location", "defaultValue": "Unknown"}], "addToEvent": false, "ignoreCase": false}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesMask: parameters: path: @@ -34257,9 +38473,11 @@ examples: application/json: {"id": "mask-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that masks Social Security numbers and other sensitive data", "streamtags": [], "functions": [{"filter": "true", "id": "mask", "conf": {"rules": [{"matchRegex": "/(social=)(\\d+)/", "replaceExpr": "`${g1}${C.Mask.md5(g2)}`", "disabled": false}], "fields": ["_raw"], "depth": 5}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesNumerify: parameters: path: @@ -34268,9 +38486,11 @@ examples: application/json: {"id": "numerify-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that converts string numbers to numeric type for mathematical operations", "streamtags": [], "functions": [{"filter": "true", "id": "numerify", "conf": {"format": "none", "depth": 5, "ignoreFields": [], "filterExpr": ""}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesOTLPLogs: parameters: path: @@ -34279,9 +38499,11 @@ examples: application/json: {"id": "otlp-logs-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that normalizes and batches OTLP log events from OpenTelemetry sources", "streamtags": [], "functions": [{"filter": "__inputId=='open_telemetry:open_telemetry'", "id": "otlp_logs", "conf": {"dropNonLogEvents": false, "batchOTLPLogs": true, "sendBatchSize": 8192, "timeout": 200, "sendBatchMaxSize": 0, "metadataKeys": [], "metadataCardinalityLimit": 1000}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesOTLPMetrics: parameters: path: @@ -34290,9 +38512,11 @@ examples: application/json: {"id": "otlp-metrics-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that converts dimensional metrics to OTLP format and batches them by resource attributes", "streamtags": [], "functions": [{"filter": "__inputId=='prometheus_rw:prom_rw_in'", "id": "otlp_metrics", "conf": {"resourceAttributePrefixes": ["service", "system", "telemetry", "k8s", "cloud", "host", "process"], "dropNonMetricEvents": false, "otlpVersion": "0.10.0", "batchOTLPMetrics": true, "sendBatchSize": 8192, "timeout": 200, "sendBatchMaxSize": 0, "metadataKeys": [], "metadataCardinalityLimit": 1000}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesOTLPTraces: parameters: path: @@ -34301,20 +38525,24 @@ examples: application/json: {"id": "otlp-traces-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that normalizes and batches OTLP trace events from OpenTelemetry sources", "streamtags": [], "functions": [{"filter": "__inputId=='open_telemetry:open_telemetry'", "id": "otlp_traces", "conf": {"dropNonTraceEvents": false, "otlpVersion": "0.10.0", "batchOTLPTraces": true, "sendBatchSize": 8192, "timeout": 200, "sendBatchMaxSize": 0, "metadataKeys": [], "metadataCardinalityLimit": 1000}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesParser: parameters: path: pack: "" requestBody: - application/json: {"id": "parser-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that extracts fields from key-value pair formatted data", "streamtags": [], "functions": [{"filter": "true", "id": "serde", "conf": {"type": "kvp", "keep": ["a", "b", "c"], "remove": ["*"], "cleanFields": false, "mode": "extract", "srcField": "_raw"}}], "groups": {}}} + application/json: {"id": "parser-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that extracts fields from key-value pair formatted data", "streamtags": [], "functions": [{"filter": "true", "id": "serde", "conf": {"type": "kvp", "srcField": "_raw", "keep": ["a", "b", "c"], "remove": ["*"], "cleanFields": false, "mode": "extract"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesPublishMetrics: parameters: path: @@ -34323,9 +38551,11 @@ examples: application/json: {"id": "publish-metrics-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that extracts metrics from events and formats them for metrics aggregation platforms", "streamtags": [], "functions": [{"filter": "true", "id": "publish_metrics", "conf": {"fields": [{"inFieldName": "bytes", "outFieldExpr": "'metric_name.bytes'", "metricType": "gauge"}, {"inFieldName": "packets", "outFieldExpr": "'metric_name.packets'", "metricType": "gauge"}], "overwrite": false, "dimensions": ["action", "interface_id", "dstaddr"], "removeMetrics": [], "removeDimensions": []}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesRedis: parameters: path: @@ -34334,9 +38564,11 @@ examples: application/json: {"id": "redis-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that retrieves values from Redis using GET command", "streamtags": [], "functions": [{"filter": "true", "id": "redis", "conf": {"authType": "none", "commands": [{"outField": "cached_value", "command": "get", "keyExpr": "'user_session'", "argsExpr": ""}], "deploymentType": "standalone", "maxBlockSecs": 60, "url": "'redis://localhost:6379/0'"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesRegexExtract: parameters: path: @@ -34345,9 +38577,11 @@ examples: application/json: {"id": "regex-extract-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that extracts structured fields from log data using regex patterns with named capture groups", "streamtags": [], "functions": [{"filter": "true", "id": "regex_extract", "conf": {"regex": "/metric1=(?\\d+)/", "source": "_raw", "iterations": 100, "overwrite": false}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesRegexFilter: parameters: path: @@ -34356,9 +38590,11 @@ examples: application/json: {"id": "regex-filter-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that filters out events matching specific regex patterns", "streamtags": [], "functions": [{"filter": "true", "id": "regex_filter", "conf": {"regex": "/Opera/", "field": "_raw"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesRename: parameters: path: @@ -34367,9 +38603,11 @@ examples: application/json: {"id": "rename-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that renames fields using key-value pairs and expressions", "streamtags": [], "functions": [{"filter": "true", "id": "rename", "conf": {"baseFields": [], "rename": [{"currentName": "level", "newName": "LEVEL"}], "renameExpr": "name.startsWith('out') ? name.toUpperCase() : name", "wildcardDepth": 5}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesRollupMetrics: parameters: path: @@ -34378,9 +38616,11 @@ examples: application/json: {"id": "rollup-metrics-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that consolidates high-frequency metrics into manageable time windows", "streamtags": [], "functions": [{"filter": "true", "id": "rollup_metrics", "conf": {"dimensions": ["*"], "timeWindow": "30s", "gaugeRollup": "last"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesSampling: parameters: path: @@ -34389,9 +38629,11 @@ examples: application/json: {"id": "sampling-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that samples events at specified rates based on filter criteria", "streamtags": [], "functions": [{"filter": "true", "id": "sampling", "conf": {"rules": [{"filter": "__status == 200", "rate": 5}]}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesSerialize: parameters: path: @@ -34400,9 +38642,11 @@ examples: application/json: {"id": "serialize-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that serializes event fields into JSON format", "streamtags": [], "functions": [{"filter": "true", "id": "serialize", "conf": {"type": "csv"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesSNMPTrapSerialize: parameters: path: @@ -34411,9 +38655,11 @@ examples: application/json: {"id": "snmp-trap-serialize-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that serializes events into SNMP trap format for SNMP trap destinations", "streamtags": [], "functions": [{"filter": "true", "id": "snmp_trap_serialize", "conf": {"strict": true, "dropFailedEvents": true}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesSuppress: parameters: path: @@ -34422,9 +38668,11 @@ examples: application/json: {"id": "suppress-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that suppresses duplicate events based on a key expression", "streamtags": [], "functions": [{"filter": "true", "id": "suppress", "conf": {"keyExpr": "`${ip}:${port}`", "allow": 1, "suppressPeriodSec": 30, "dropEventsMode": true, "maxCacheSize": 50000, "cacheIdleTimeoutPeriods": 2, "numEventsIdleTimeoutTrigger": 10000}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesTee: parameters: path: @@ -34433,9 +38681,11 @@ examples: application/json: {"id": "tee-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that sends events to a command via stdin for debugging purposes", "streamtags": [], "functions": [{"filter": "true", "id": "tee", "conf": {"command": "tee", "args": ["/opt/cribl/foo.log"], "restartOnExit": true, "env": {}}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesUnroll: parameters: path: @@ -34444,9 +38694,11 @@ examples: application/json: {"id": "unroll-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that unrolls array fields into separate events", "streamtags": [], "functions": [{"filter": "true", "id": "unroll", "conf": {"srcExpr": "_raw.split(/\\n/)", "dstField": "_raw"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} PipelineExamplesXMLUnroll: parameters: path: @@ -34455,19 +38707,41 @@ examples: application/json: {"id": "xml-unroll-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that unrolls XML elements into separate events", "streamtags": [], "functions": [{"filter": "true", "id": "xml_unroll", "conf": {"unroll": "^Parent\\.Child$", "inherit": "^Parent\\.(myID|branchLocation)$", "unrollIdxField": "unroll_idx", "pretty": false}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} speakeasy-default-create-pipelines-by-pack: parameters: path: pack: "" requestBody: - application/json: {"id": "", "conf": {}} + application/json: {"id": "", "conf": {"functions": [{"id": "handlebars", "conf": {"templates": [{"id": "", "content": "", "type": ""}]}}]}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "rollup_metrics", "conf": {}}]}}]} "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + PipelineResponseExamplesEmptyPipeline: + parameters: + path: + pack: "" + requestBody: + application/json: {"id": "", "conf": {"functions": [{"id": "handlebars", "conf": {"templates": [{"id": "", "content": "", "type": ""}]}}]}} + responses: + "200": + application/json: {} + PipelineResponseExamplesEvalPipeline: + parameters: + path: + pack: "" + requestBody: + application/json: {"id": "", "conf": {"functions": [{"id": "handlebars", "conf": {"templates": [{"id": "", "content": "", "type": ""}]}}]}} + responses: + "200": application/json: {} getPipelinesByPack: speakeasy-default-get-pipelines-by-pack: @@ -34478,9 +38752,66 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + PipelineResponseExamplesEmptyPipeline: + parameters: + path: + pack: "" + responses: + "200": + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "otlp_traces", "conf": {}}]}}], "count": 48290, "offset": 583105, "limit": 438046} + PipelineResponseExamplesEvalPipeline: + parameters: + path: + pack: "" + responses: + "200": + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "otlp_traces", "conf": {}}]}}]} deletePipelinesByPackAndId: speakeasy-default-delete-pipelines-by-pack-and-id: + parameters: + path: + id: "" + pack: "" + responses: + "200": + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "local_search_time_range_normalizer", "conf": {}}]}}]} + "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + PipelineResponseExamplesEmptyPipeline: + parameters: + path: + id: "" + pack: "" + responses: + "200": + application/json: {} + PipelineResponseExamplesEvalPipeline: + parameters: + path: + id: "" + pack: "" + responses: + "200": + application/json: {} + getPipelinesByPackAndId: + speakeasy-default-get-pipelines-by-pack-and-id: + parameters: + path: + id: "" + pack: "" + responses: + "200": + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "lake_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} + "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + PipelineResponseExamplesEmptyPipeline: parameters: path: id: "" @@ -34488,10 +38819,7 @@ examples: responses: "200": application/json: {} - "500": - application/json: {} - getPipelinesByPackAndId: - speakeasy-default-get-pipelines-by-pack-and-id: + PipelineResponseExamplesEvalPipeline: parameters: path: id: "" @@ -34499,8 +38827,6 @@ examples: responses: "200": application/json: {} - "500": - application/json: {} updatePipelinesByPackAndId: PipelineExamplesEmpty: parameters: @@ -34988,12 +39314,14 @@ examples: id: "" pack: "" requestBody: - application/json: {"id": "", "conf": {}} + application/json: {"id": "", "conf": {"functions": [{"id": "eval", "conf": {}}]}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesEmpty: parameters: path: @@ -35003,9 +39331,11 @@ examples: application/json: {"id": "empty-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "", "streamtags": [], "functions": [], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesAggregations: parameters: path: @@ -35015,9 +39345,11 @@ examples: application/json: {"id": "aggregation-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that aggregates rejected bytes grouped by source address every 10 seconds", "streamtags": [], "functions": [{"filter": "true", "id": "aggregation", "conf": {"passthrough": false, "preserveGroupBys": false, "sufficientStatsOnly": false, "metricsMode": false, "timeWindow": "10s", "aggregations": ["sum(bytes).where(action==\"REJECT\").as(TotalBytes)"], "groupbys": ["srcaddr"], "cumulative": false, "shouldTreatDotsAsLiterals": false, "flushOnInputClose": true}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesAggregateMetrics: parameters: path: @@ -35027,9 +39359,11 @@ examples: application/json: {"id": "aggregate-metrics-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that aggregates process metrics: CPU, memory, and bytes over time windows", "streamtags": [], "functions": [{"filter": "(_metric == 'proc.cpu_perc' || __criblMetrics[0].nameExpr.includes(\"'proc.cpu_perc'\")) || (_metric == 'proc.mem_perc' || __criblMetrics[0].nameExpr.includes(\"'proc.mem_perc'\")) || (_metric == 'proc.bytes_in' || __criblMetrics[0].nameExpr.includes(\"'proc.bytes_in'\"))", "id": "aggregate_metrics", "conf": {"passthrough": false, "preserveGroupBys": false, "sufficientStatsOnly": false, "timeWindow": "10s", "aggregations": [{"metricType": "gauge", "agg": "avg(_value || proc.cpu_perc).as(proc.cpu_perc_avg)"}, {"metricType": "gauge", "agg": "sum(_value || proc.mem_perc).as(proc.mem_perc_sum)"}, {"metricType": "counter", "agg": "count(_value || proc.bytes_in).as(proc.bytes_in_count)"}], "groupbys": ["proc"], "cumulative": false, "shouldTreatDotsAsLiterals": true, "flushOnInputClose": true}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesAutoTimestamp: parameters: path: @@ -35039,9 +39373,11 @@ examples: application/json: {"id": "auto-timestamp-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that extracts timestamps from event data using auto timestamp function", "streamtags": [], "functions": [{"filter": "true", "id": "auto_timestamp", "conf": {"srcField": "_raw", "dstField": "_time", "defaultTimezone": "local", "timeExpression": "time.getTime() / 1000", "offset": 0, "maxLen": 150, "defaultTime": "now", "latestDateAllowed": "+1week", "earliestDateAllowed": "-420weeks", "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"}]}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesCEFSerializer: parameters: path: @@ -35051,9 +39387,11 @@ examples: application/json: {"id": "cef-serializer-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that formats events in CEF format with custom header and extension fields", "streamtags": [], "functions": [{"filter": "true", "id": "cef", "conf": {"outputField": "_raw", "header": [{"value": "'CEF:0'"}, {"value": "'Cribl'"}, {"value": "'Cribl'"}, {"value": "C.version"}, {"value": "420"}, {"value": "'Cribl Event'"}, {"value": "6"}], "extension": [{"name": "c6a1Label", "value": "'Colorado_Ext_Bldg7'"}]}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesChain: parameters: path: @@ -35063,9 +39401,11 @@ examples: application/json: {"id": "chain-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that chains to another pipeline for sequential data processing", "streamtags": [], "functions": [{"filter": "true", "id": "chain", "conf": {"processor": "prometheus_metrics"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesClone: parameters: path: @@ -35075,9 +39415,11 @@ examples: application/json: {"id": "clone-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that creates cloned events with additional fields for comparison or routing", "streamtags": [], "functions": [{"filter": "true", "id": "clone", "conf": {"clones": [{"env": "staging"}, {"index": "clones"}]}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesComment: parameters: path: @@ -35087,9 +39429,11 @@ examples: application/json: {"id": "comment-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline with comment function for documentation", "streamtags": [], "functions": [{"filter": "true", "id": "comment", "conf": {"comment": "This function processes security events and enriches them with DNS lookups"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesDNSLookup: parameters: path: @@ -35099,9 +39443,11 @@ examples: application/json: {"id": "dns-lookup-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that performs DNS lookups to resolve hostnames and IP addresses", "streamtags": [], "functions": [{"filter": "true", "id": "dns_lookup", "conf": {"dnsLookupFields": [{"inFieldName": "hostname", "resourceRecordType": "A", "outFieldName": "hostname_ip"}], "reverseLookupFields": [{"inFieldName": "src_ip", "outFieldName": "src_hostname"}], "cacheTTL": 30, "maxCacheSize": 5000, "useResolvConf": false, "lookupFallback": false, "lookupFailLogLevel": "error"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesDrop: parameters: path: @@ -35111,9 +39457,11 @@ examples: application/json: {"id": "drop-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that drops events containing success messages", "streamtags": [], "functions": [{"filter": "_raw.search(/success/i)>=0", "id": "drop", "conf": {}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesDropDimensions: parameters: path: @@ -35123,9 +39471,11 @@ examples: application/json: {"id": "drop-dimensions-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that drops specified dimensions from metrics to reduce cardinality", "streamtags": [], "functions": [{"filter": "(_metric == 'proc.cpu_perc' || __criblMetrics[0].nameExpr.includes(\"'proc.cpu_perc'\")) && (__criblMetrics[0].dims.includes(\"proc\"))", "id": "drop_dimensions", "conf": {"timeWindow": "10s", "dropDimensions": ["proc", "pie", "unit"], "flushOnInputClose": true}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesDynamicSampling: parameters: path: @@ -35135,9 +39485,11 @@ examples: application/json: {"id": "dynamic-sampling-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that dynamically samples events based on volume using square root mode", "streamtags": [], "functions": [{"filter": "true", "id": "dynamic_sampling", "conf": {"mode": "sqrt", "keyExpr": "`${domain}:${httpCode}`", "samplePeriod": 20, "minEvents": 3, "maxSampleRate": 3}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesEval: parameters: path: @@ -35147,9 +39499,11 @@ examples: application/json: {"id": "eval-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that evaluates JavaScript expressions to add, modify, and remove fields", "streamtags": [], "functions": [{"filter": "true", "id": "eval", "conf": {"add": [{"name": "action", "value": "login == 'error' ? 'blocked' : action"}, {"name": "myTags", "value": "login == 'error' ? [...myTags, 'error'] : myTags"}], "keep": ["host", "source", "action", "myTags"], "remove": ["identification"]}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesEventBreaker: parameters: path: @@ -35159,9 +39513,11 @@ examples: application/json: {"id": "event-breaker-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that breaks large event streams into discrete events using regex", "streamtags": [], "functions": [{"filter": "true", "id": "event_breaker", "conf": {"ruleType": "regex", "eventBreakerRegex": "/[\\n\\r]+(?!\\s)/", "existingOrNew": "new", "maxEventBytes": 51200, "timestampAnchorRegex": "/^/", "timestamp": {"type": "auto", "length": 150}, "timestampTimezone": "local", "timestampEarliest": "-420weeks", "timestampLatest": "+1week", "shouldMarkCriblBreaker": true}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesFlatten: parameters: path: @@ -35171,9 +39527,11 @@ examples: application/json: {"id": "flatten-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that flattens nested JSON structures into top-level fields", "streamtags": [], "functions": [{"filter": "true", "id": "flatten", "conf": {"fields": [], "prefix": "", "depth": 5, "delimiter": "_"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesFoldKeys: parameters: path: @@ -35183,9 +39541,11 @@ examples: application/json: {"id": "fold-keys-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that transforms flat field names with separators into nested structures", "streamtags": [], "functions": [{"filter": "true", "id": "foldkeys", "conf": {"deleteOriginal": true, "separator": "_", "selectionRegExp": "^data"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesGeoIP: parameters: path: @@ -35195,9 +39555,11 @@ examples: application/json: {"id": "geoip-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that enriches events with geolocation data from IP addresses", "streamtags": [], "functions": [{"filter": "true", "id": "geoip", "conf": {"file": "GeoLite2-City.mmdb", "inField": "ip", "outField": "geoip", "additionalFields": [{"extraInField": "src_ip", "extraOutField": "src_geoip"}]}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesGrok: parameters: path: @@ -35207,9 +39569,11 @@ examples: application/json: {"id": "grok-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that extracts structured fields from log data using Grok patterns", "streamtags": [], "functions": [{"filter": "true", "id": "grok", "conf": {"pattern": "%{TIMESTAMP_ISO8601:event_time} %{LOGLEVEL:log_level} %{GREEDYDATA:log_message}", "patternList": [], "source": "_raw"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesGuard: parameters: path: @@ -35219,9 +39583,11 @@ examples: application/json: {"id": "guard-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that scans for sensitive data and applies mitigation expressions", "streamtags": [], "functions": [{"filter": "true", "id": "sensitive_data_scanner", "conf": {"rules": [{"rulesetId": "Finance_Global", "replaceExpr": "'REDACTED'", "disabled": false}], "fields": ["_raw"], "excludeFields": [], "flags": [{"name": "_sensitive", "value": "true"}], "includeDetectedRules": true}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesJSONUnroll: parameters: path: @@ -35231,9 +39597,11 @@ examples: application/json: {"id": "json-unroll-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that unrolls JSON arrays into individual events while retaining parent fields", "streamtags": [], "functions": [{"filter": "true", "id": "json_unroll", "conf": {"path": "allCars", "name": "cars"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesLookup: parameters: path: @@ -35243,9 +39611,11 @@ examples: application/json: {"id": "lookup-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that enriches events with location data from IP address lookups", "streamtags": [], "functions": [{"filter": "true", "id": "lookup", "conf": {"file": "ip_locations.csv", "dbLookup": false, "matchMode": "exact", "reloadPeriodSec": -1, "inFields": [{"eventField": "destination_ip", "lookupField": "ip"}], "outFields": [{"lookupField": "location", "eventField": "location", "defaultValue": "Unknown"}], "addToEvent": false, "ignoreCase": false}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesMask: parameters: path: @@ -35255,9 +39625,11 @@ examples: application/json: {"id": "mask-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that masks Social Security numbers and other sensitive data", "streamtags": [], "functions": [{"filter": "true", "id": "mask", "conf": {"rules": [{"matchRegex": "/(social=)(\\d+)/", "replaceExpr": "`${g1}${C.Mask.md5(g2)}`", "disabled": false}], "fields": ["_raw"], "depth": 5}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesNumerify: parameters: path: @@ -35267,9 +39639,11 @@ examples: application/json: {"id": "numerify-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that converts string numbers to numeric type for mathematical operations", "streamtags": [], "functions": [{"filter": "true", "id": "numerify", "conf": {"format": "none", "depth": 5, "ignoreFields": [], "filterExpr": ""}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesOTLPLogs: parameters: path: @@ -35279,9 +39653,11 @@ examples: application/json: {"id": "otlp-logs-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that normalizes and batches OTLP log events from OpenTelemetry sources", "streamtags": [], "functions": [{"filter": "__inputId=='open_telemetry:open_telemetry'", "id": "otlp_logs", "conf": {"dropNonLogEvents": false, "batchOTLPLogs": true, "sendBatchSize": 8192, "timeout": 200, "sendBatchMaxSize": 0, "metadataKeys": [], "metadataCardinalityLimit": 1000}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesOTLPMetrics: parameters: path: @@ -35291,9 +39667,11 @@ examples: application/json: {"id": "otlp-metrics-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that converts dimensional metrics to OTLP format and batches them by resource attributes", "streamtags": [], "functions": [{"filter": "__inputId=='prometheus_rw:prom_rw_in'", "id": "otlp_metrics", "conf": {"resourceAttributePrefixes": ["service", "system", "telemetry", "k8s", "cloud", "host", "process"], "dropNonMetricEvents": false, "otlpVersion": "0.10.0", "batchOTLPMetrics": true, "sendBatchSize": 8192, "timeout": 200, "sendBatchMaxSize": 0, "metadataKeys": [], "metadataCardinalityLimit": 1000}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesOTLPTraces: parameters: path: @@ -35303,21 +39681,25 @@ examples: application/json: {"id": "otlp-traces-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that normalizes and batches OTLP trace events from OpenTelemetry sources", "streamtags": [], "functions": [{"filter": "__inputId=='open_telemetry:open_telemetry'", "id": "otlp_traces", "conf": {"dropNonTraceEvents": false, "otlpVersion": "0.10.0", "batchOTLPTraces": true, "sendBatchSize": 8192, "timeout": 200, "sendBatchMaxSize": 0, "metadataKeys": [], "metadataCardinalityLimit": 1000}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesParser: parameters: path: id: "" pack: "" requestBody: - application/json: {"id": "parser-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that extracts fields from key-value pair formatted data", "streamtags": [], "functions": [{"filter": "true", "id": "serde", "conf": {"type": "kvp", "keep": ["a", "b", "c"], "remove": ["*"], "cleanFields": false, "mode": "extract", "srcField": "_raw"}}], "groups": {}}} + application/json: {"id": "parser-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that extracts fields from key-value pair formatted data", "streamtags": [], "functions": [{"filter": "true", "id": "serde", "conf": {"type": "kvp", "srcField": "_raw", "keep": ["a", "b", "c"], "remove": ["*"], "cleanFields": false, "mode": "extract"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesPublishMetrics: parameters: path: @@ -35327,9 +39709,11 @@ examples: application/json: {"id": "publish-metrics-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that extracts metrics from events and formats them for metrics aggregation platforms", "streamtags": [], "functions": [{"filter": "true", "id": "publish_metrics", "conf": {"fields": [{"inFieldName": "bytes", "outFieldExpr": "'metric_name.bytes'", "metricType": "gauge"}, {"inFieldName": "packets", "outFieldExpr": "'metric_name.packets'", "metricType": "gauge"}], "overwrite": false, "dimensions": ["action", "interface_id", "dstaddr"], "removeMetrics": [], "removeDimensions": []}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesRedis: parameters: path: @@ -35339,9 +39723,11 @@ examples: application/json: {"id": "redis-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that retrieves values from Redis using GET command", "streamtags": [], "functions": [{"filter": "true", "id": "redis", "conf": {"authType": "none", "commands": [{"outField": "cached_value", "command": "get", "keyExpr": "'user_session'", "argsExpr": ""}], "deploymentType": "standalone", "maxBlockSecs": 60, "url": "'redis://localhost:6379/0'"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesRegexExtract: parameters: path: @@ -35351,9 +39737,11 @@ examples: application/json: {"id": "regex-extract-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that extracts structured fields from log data using regex patterns with named capture groups", "streamtags": [], "functions": [{"filter": "true", "id": "regex_extract", "conf": {"regex": "/metric1=(?\\d+)/", "source": "_raw", "iterations": 100, "overwrite": false}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesRegexFilter: parameters: path: @@ -35363,9 +39751,11 @@ examples: application/json: {"id": "regex-filter-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that filters out events matching specific regex patterns", "streamtags": [], "functions": [{"filter": "true", "id": "regex_filter", "conf": {"regex": "/Opera/", "field": "_raw"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesRename: parameters: path: @@ -35375,9 +39765,11 @@ examples: application/json: {"id": "rename-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that renames fields using key-value pairs and expressions", "streamtags": [], "functions": [{"filter": "true", "id": "rename", "conf": {"baseFields": [], "rename": [{"currentName": "level", "newName": "LEVEL"}], "renameExpr": "name.startsWith('out') ? name.toUpperCase() : name", "wildcardDepth": 5}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesRollupMetrics: parameters: path: @@ -35387,9 +39779,11 @@ examples: application/json: {"id": "rollup-metrics-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that consolidates high-frequency metrics into manageable time windows", "streamtags": [], "functions": [{"filter": "true", "id": "rollup_metrics", "conf": {"dimensions": ["*"], "timeWindow": "30s", "gaugeRollup": "last"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesSampling: parameters: path: @@ -35399,9 +39793,11 @@ examples: application/json: {"id": "sampling-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that samples events at specified rates based on filter criteria", "streamtags": [], "functions": [{"filter": "true", "id": "sampling", "conf": {"rules": [{"filter": "__status == 200", "rate": 5}]}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesSerialize: parameters: path: @@ -35411,9 +39807,11 @@ examples: application/json: {"id": "serialize-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that serializes event fields into JSON format", "streamtags": [], "functions": [{"filter": "true", "id": "serialize", "conf": {"type": "csv"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesSNMPTrapSerialize: parameters: path: @@ -35423,9 +39821,11 @@ examples: application/json: {"id": "snmp-trap-serialize-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that serializes events into SNMP trap format for SNMP trap destinations", "streamtags": [], "functions": [{"filter": "true", "id": "snmp_trap_serialize", "conf": {"strict": true, "dropFailedEvents": true}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesSuppress: parameters: path: @@ -35435,9 +39835,11 @@ examples: application/json: {"id": "suppress-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that suppresses duplicate events based on a key expression", "streamtags": [], "functions": [{"filter": "true", "id": "suppress", "conf": {"keyExpr": "`${ip}:${port}`", "allow": 1, "suppressPeriodSec": 30, "dropEventsMode": true, "maxCacheSize": 50000, "cacheIdleTimeoutPeriods": 2, "numEventsIdleTimeoutTrigger": 10000}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesTee: parameters: path: @@ -35447,9 +39849,11 @@ examples: application/json: {"id": "tee-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that sends events to a command via stdin for debugging purposes", "streamtags": [], "functions": [{"filter": "true", "id": "tee", "conf": {"command": "tee", "args": ["/opt/cribl/foo.log"], "restartOnExit": true, "env": {}}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesUnroll: parameters: path: @@ -35459,9 +39863,11 @@ examples: application/json: {"id": "unroll-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that unrolls array fields into separate events", "streamtags": [], "functions": [{"filter": "true", "id": "unroll", "conf": {"srcExpr": "_raw.split(/\\n/)", "dstField": "_raw"}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} UpdatePipelineExamplesXMLUnroll: parameters: path: @@ -35471,8 +39877,30 @@ examples: application/json: {"id": "xml-unroll-pipeline", "conf": {"asyncFuncTimeout": 1000, "output": "default", "description": "Pipeline that unrolls XML elements into separate events", "streamtags": [], "functions": [{"filter": "true", "id": "xml_unroll", "conf": {"unroll": "^Parent\\.Child$", "inherit": "^Parent\\.(myID|branchLocation)$", "unrollIdxField": "unroll_idx", "pretty": false}}], "groups": {}}} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "conf": {"functions": [{"id": "search_engine_export", "conf": {"searchJobId": "", "dataset": ""}}]}}]} "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + PipelineResponseExamplesEmptyPipeline: + parameters: + path: + id: "" + pack: "" + requestBody: + application/json: {"id": "", "conf": {"functions": [{"id": "eval", "conf": {}}]}} + responses: + "200": + application/json: {} + PipelineResponseExamplesEvalPipeline: + parameters: + path: + id: "" + pack: "" + requestBody: + application/json: {"id": "", "conf": {"functions": [{"id": "eval", "conf": {}}]}} + responses: + "200": application/json: {} getProductsSummaryByProduct: speakeasy-default-get-products-summary-by-product: @@ -35483,7 +39911,16 @@ examples: "200": application/json: {} "500": - application/json: {} + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + ProductSummaryResponseExamplesStreamDeploymentSummary: + parameters: + path: + product: "stream" + responses: + "200": + application/json: {"count": 1, "items": [{"groups": {"count": 1, "destinations": 2, "packs": 1, "pipelines": 2, "quickConnects": 1, "routes": 3, "sources": 4}, "workers": {"alive": 2, "confVersions": 1, "count": 2, "disconnectedCount": 0, "groups": 1, "softwareVersions": 1, "unhealthy": 0}}]} getInputStatusById: speakeasy-default-get-input-status-by-id: parameters: @@ -35496,6 +39933,22 @@ examples: "200": application/json: {} "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + InputStatusResponseExamplesGreenSource: + parameters: + path: + id: "" + responses: + "200": + application/json: {} + InputStatusResponseExamplesYellowSource: + parameters: + path: + id: "" + responses: + "200": application/json: {} getInputStatus: speakeasy-default-get-input-status: @@ -35507,7 +39960,17 @@ examples: "200": application/json: {} "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + InputStatusResponseExamplesGreenSource: + responses: + "200": application/json: {} + InputStatusResponseExamplesYellowSource: + responses: + "200": + application/json: {"items": [], "count": 134702, "offset": 759575, "limit": 613158} getInputStatusSystemInputsByPackAndId: speakeasy-default-get-input-status-system-inputs-by-pack-and-id: parameters: @@ -35521,6 +39984,24 @@ examples: "200": application/json: {} "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + InputStatusResponseExamplesGreenSource: + parameters: + path: + id: "" + pack: "" + responses: + "200": + application/json: {} + InputStatusResponseExamplesYellowSource: + parameters: + path: + id: "" + pack: "" + responses: + "200": application/json: {} getInputStatusSystemInputsByPack: speakeasy-default-get-input-status-system-inputs-by-pack: @@ -35534,7 +40015,23 @@ examples: "200": application/json: {} "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + InputStatusResponseExamplesGreenSource: + parameters: + path: + pack: "" + responses: + "200": application/json: {} + InputStatusResponseExamplesYellowSource: + parameters: + path: + pack: "" + responses: + "200": + application/json: {"items": [], "count": 800441, "offset": 776954, "limit": 470630} getOutputStatusSystemOutputsByPackAndId: speakeasy-default-get-output-status-system-outputs-by-pack-and-id: parameters: @@ -35548,6 +40045,24 @@ examples: "200": application/json: {} "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + OutputStatusResponseExamplesGreenDestination: + parameters: + path: + id: "" + pack: "" + responses: + "200": + application/json: {} + OutputStatusResponseExamplesYellowDestination: + parameters: + path: + id: "" + pack: "" + responses: + "200": application/json: {} getOutputStatusSystemOutputsByPack: speakeasy-default-get-output-status-system-outputs-by-pack: @@ -35561,6 +40076,22 @@ examples: "200": application/json: {} "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + OutputStatusResponseExamplesGreenDestination: + parameters: + path: + pack: "" + responses: + "200": + application/json: {} + OutputStatusResponseExamplesYellowDestination: + parameters: + path: + pack: "" + responses: + "200": application/json: {} getOutputStatusById: speakeasy-default-get-output-status-by-id: @@ -35574,6 +40105,22 @@ examples: "200": application/json: {} "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + OutputStatusResponseExamplesGreenDestination: + parameters: + path: + id: "" + responses: + "200": + application/json: {} + OutputStatusResponseExamplesYellowDestination: + parameters: + path: + id: "" + responses: + "200": application/json: {} getOutputStatus: speakeasy-default-get-output-status: @@ -35585,6 +40132,16 @@ examples: "200": application/json: {} "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + OutputStatusResponseExamplesGreenDestination: + responses: + "200": + application/json: {"items": [], "count": 576666, "offset": 170648, "limit": 951201} + OutputStatusResponseExamplesYellowDestination: + responses: + "200": application/json: {} createPreview: speakeasy-default-create-preview: @@ -35778,11 +40335,127 @@ examples: application/json: {} getDatabaseConnectionConfig: speakeasy-default-get-database-connection-config: + responses: + "200": + application/json: {"count": 1, "items": [{"authType": "connectionString", "configObj": "{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", "connectionString": "mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", "connectionTimeout": 10000, "credsSecrets": "oracle-production-credentials", "databaseType": "oracle", "description": "Production MySQL database for customer data", "id": "mysql-prod-db", "password": "yourPassword", "requestTimeout": 30000, "tags": "production,mysql,customer-data", "textSecret": "mysql-production-connection", "user": "yourUsername"}]} + "500": + application/json: {"status": "error", "message": ""} + "401": + application/json: {"status": "error", "message": ""} + DatabaseConnectionListResponseExamplesDatabaseConnectionList: + responses: + "200": + application/json: {"count": 2, "items": [{"authType": "connectionString", "connectionString": "*****", "connectionTimeout": 10000, "databaseType": "mysql", "description": "Production MySQL database for customer data", "id": "mysql-prod-db", "tags": "production,mysql,customer-data"}, {"authType": "secret", "connectionTimeout": 15000, "databaseType": "postgres", "description": "Data warehouse PostgreSQL database", "id": "postgres-warehouse", "tags": "warehouse,postgres,reporting", "textSecret": "postgres-warehouse-connection"}]} + getProductsGroupsByProductAndId: + speakeasy-default-get-products-groups-by-product-and-id: + parameters: + path: + product: "edge" + id: "" + responses: + "200": + application/json: {"items": [{"estimatedIngestRate": 4096, "id": ""}]} + "401": + application/json: {"status": "error", "message": ""} + "500": + application/json: {"status": "error", "message": ""} + updateProductsGroupsByProductAndId: + UpdateGroupExamplesScaleCloudWorkerGroup: + parameters: + path: + product: "stream" + id: "" + requestBody: + application/json: {"cloud": {"provider": "aws", "region": "us-west-2"}, "configVersion": "abc1234", "deployingWorkerCount": 0, "description": "Scaled Worker Group with estimated ingest rate of 4096 (48 MB/s, 21 Worker Processes) for increased capacity", "estimatedIngestRate": 4096, "id": "goatCloudIanWg", "incompatibleWorkerCount": 0, "lookupDeployments": [], "name": "goatcloudianwg", "onPrem": false, "provisioned": true, "type": "stream", "workerCount": 3, "workerRemoteAccess": true} + responses: + "200": + application/json: {"items": [{"estimatedIngestRate": 4096, "id": ""}]} + "401": + application/json: {"status": "error", "message": ""} + "500": + application/json: {"status": "error", "message": ""} + UpdateGroupExamplesUpdateOnPremWorkerGroup: + parameters: + path: + product: "outpost" + id: "" + requestBody: + application/json: {"configVersion": "abc1234", "deployingWorkerCount": 0, "description": "Updated customer-managed Worker Group with remote access enabled", "id": "goatOnPremIanWg", "incompatibleWorkerCount": 0, "lookupDeployments": [], "name": "goatonpremianwg", "onPrem": true, "type": "stream", "workerCount": 5, "workerRemoteAccess": true} + responses: + "200": + application/json: {"items": [{"estimatedIngestRate": 4096, "id": ""}]} + "401": + application/json: {"status": "error", "message": ""} + "500": + application/json: {"status": "error", "message": ""} + speakeasy-default-update-products-groups-by-product-and-id: + parameters: + path: + product: "edge" + id: "" + requestBody: + application/json: {"estimatedIngestRate": 4096, "id": ""} + responses: + "200": + application/json: {"items": [{"estimatedIngestRate": 4096, "id": ""}]} + "401": + application/json: {"status": "error", "message": ""} + "500": + application/json: {"status": "error", "message": ""} + deleteProductsGroupsByProductAndId: + speakeasy-default-delete-products-groups-by-product-and-id: + parameters: + path: + product: "edge" + id: "" + responses: + "200": + application/json: {"items": [{"estimatedIngestRate": 4096, "id": ""}]} + "401": + application/json: {"status": "error", "message": ""} + "500": + application/json: {"status": "error", "message": ""} + updateProductsGroupsDeployByProductAndId: + speakeasy-default-update-products-groups-deploy-by-product-and-id: + parameters: + path: + product: "edge" + id: "" + requestBody: + application/json: {"version": ""} + responses: + "200": + application/json: {"items": [{"estimatedIngestRate": 4096, "id": ""}]} + "401": + application/json: {"status": "error", "message": ""} + "500": + application/json: {"status": "error", "message": ""} + getProductsGroupsAclByProductAndId: + speakeasy-default-get-products-groups-acl-by-product-and-id: + parameters: + path: + product: "outpost" + id: "" responses: "200": application/json: {} + "401": + application/json: {"status": "error", "message": ""} "500": + application/json: {"status": "error", "message": ""} + getProductsGroupsConfigVersionByProductAndId: + speakeasy-default-get-products-groups-config-version-by-product-and-id: + parameters: + path: + product: "stream" + id: "" + responses: + "200": application/json: {} + "401": + application/json: {"status": "error", "message": ""} + "500": + application/json: {"status": "error", "message": ""} examplesVersion: 1.0.2 generatedTests: getHealthInfo: "2025-07-02T19:12:56+02:00" @@ -35848,7 +40521,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.packs.sources.list()`: `response.items[].union(cloudflare_hec).auth_tokens[].token` **Added**\n* `cribl_control_plane.packs.sources.create()`: \n * `request_body.union(cloudflare_hec).auth_tokens[].token` **Added**\n * `response.items[].union(cloudflare_hec).auth_tokens[].token` **Added**\n* `cribl_control_plane.packs.sources.get()`: `response.items[].union(cloudflare_hec).auth_tokens[].token` **Added**\n* `cribl_control_plane.packs.sources.update()`: \n * `request.input.union(cloudflare_hec).auth_tokens[].token` **Added**\n * `response.items[].union(cloudflare_hec).auth_tokens[].token` **Added**\n* `cribl_control_plane.packs.sources.delete()`: `response.items[].union(cloudflare_hec).auth_tokens[].token` **Added**\n* `cribl_control_plane.sources.list()`: `response.items[].union(cloudflare_hec).auth_tokens[].token` **Added**\n* `cribl_control_plane.sources.create()`: \n * `request.union(cloudflare_hec).auth_tokens[].token` **Added**\n * `response.items[].union(cloudflare_hec).auth_tokens[].token` **Added**\n* `cribl_control_plane.sources.get()`: `response.items[].union(cloudflare_hec).auth_tokens[].token` **Added**\n* `cribl_control_plane.sources.update()`: \n * `request.input.union(cloudflare_hec).auth_tokens[].token` **Added**\n * `response.items[].union(cloudflare_hec).auth_tokens[].token` **Added**\n* `cribl_control_plane.sources.delete()`: `response.items[].union(cloudflare_hec).auth_tokens[].token` **Added**\n" +releaseNotes: "## Python SDK Changes:\n* `cribl_control_plane.sources.delete()`: \n * `response.items[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.collectors.list()`: \n * `request` **Changed**\n * `response` **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.database_connections.list()`: \n * `request` **Changed**\n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.database_connections.create()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.database_connections.get()`: \n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.database_connections.update()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.database_connections.delete()`: \n * `response` **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.versions.commits.list()`: \n * `request` **Changed**\n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.destinations.statuses.get()`: \n * `response.items[].status` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.packs.list()`: \n * `request` **Changed**\n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.destinations.statuses.list()`: \n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.destinations.delete()`: \n * `response.items[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.packs.update()`: \n * `request.minor` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.destinations.update()`: \n * `request.output` **Changed** (Breaking ⚠️)\n * `response.items[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.packs.pipelines.list()`: \n * `request` **Changed**\n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.packs.pipelines.create()`: \n * `request.conf.functions[]` **Changed** (Breaking ⚠️)\n * `response.items[].conf.functions[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.packs.pipelines.get()`: \n * `response.items[].conf.functions[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.packs.pipelines.update()`: \n * `request.conf.functions[]` **Changed** (Breaking ⚠️)\n * `response.items[].conf.functions[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.packs.pipelines.delete()`: \n * `response.items[].conf.functions[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.destinations.get()`: \n * `response.items[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.destinations.create()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.items[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.destinations.list()`: \n * `request` **Changed**\n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.sources.statuses.get()`: \n * `response.items[].status` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.packs.sources.list()`: \n * `request` **Changed**\n * `response` **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.sources.get()`: \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.delete()`: \n * `response.items[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.sources.statuses.list()`: \n * `response` **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.packs.sources.statuses.list()`: \n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.packs.sources.statuses.get()`: \n * `response.items[].status` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.packs.destinations.list()`: \n * `request` **Changed**\n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.packs.destinations.create()`: \n * `request_body` **Changed** (Breaking ⚠️)\n * `response.items[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.packs.destinations.get()`: \n * `response.items[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.packs.destinations.update()`: \n * `request.output` **Changed** (Breaking ⚠️)\n * `response.items[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.packs.destinations.delete()`: \n * `response.items[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.sources.list()`: \n * `request` **Changed**\n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.system.settings.cribl.update()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.items[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.system.settings.cribl.list()`: \n * `response.items[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.lakes.datasets.list()`: \n * `request` **Changed**\n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.packs.destinations.statuses.list()`: \n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.packs.destinations.statuses.get()`: \n * `response.items[].status` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.pipelines.list()`: \n * `request` **Changed**\n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.pipelines.create()`: \n * `request.conf.functions[]` **Changed** (Breaking ⚠️)\n * `response.items[].conf.functions[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.pipelines.delete()`: \n * `response.items[].conf.functions[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.nodes.summaries.get()`: \n * `request` **Changed**\n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.pipelines.update()`: \n * `request.conf.functions[]` **Changed** (Breaking ⚠️)\n * `response.items[].conf.functions[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.groups.list()`: \n * `request` **Changed**\n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.nodes.get()`: \n * `response.items[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.pipelines.get()`: \n * `response.items[].conf.functions[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.nodes.list()`: \n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.functions.list()`: \n * `request` **Changed**\n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.packs.get()`: `error` **Changed**\n* `cribl_control_plane.sources.hec_tokens.update()`: `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.packs.upload()`: `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.nodes.restart()`: `error` **Changed**\n* `cribl_control_plane.groups.get()`: \n * `response.items[].collectors_ha_enabled` **Added**\n * `error` **Changed**\n* `cribl_control_plane.packs.destinations.samples.create()`: `error` **Changed**\n* `cribl_control_plane.lakes.datasets.create()`: \n * `request` **Changed**\n * `response.items[]` **Changed**\n * `error` **Changed**\n* `cribl_control_plane.lakes.datasets.get()`: \n * `response.items[]` **Changed**\n * `error` **Changed**\n* `cribl_control_plane.lakes.datasets.update()`: \n * `request` **Changed**\n * `response.items[]` **Changed**\n * `error` **Changed**\n* `cribl_control_plane.lakes.datasets.delete()`: \n * `response.items[]` **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.sources.pq.get()`: \n * `response.items[]` **Changed**\n * `error` **Changed**\n* `cribl_control_plane.system.captures.create()`: `error` **Changed**\n* `cribl_control_plane.system.settings.restart()`: `error` **Changed**\n* `cribl_control_plane.packs.destinations.samples.get()`: `error` **Changed**\n* `cribl_control_plane.packs.destinations.pq.get()`: \n * `response.items[]` **Changed**\n * `error` **Changed**\n* `cribl_control_plane.packs.destinations.pq.clear()`: `error` **Changed**\n* `cribl_control_plane.packs.sources.pq.get()`: \n * `response.items[]` **Changed**\n * `error` **Changed**\n* `cribl_control_plane.packs.sources.pq.clear()`: `error` **Changed**\n* `cribl_control_plane.packs.sources.hec_tokens.update()`: `error` **Changed**\n* `cribl_control_plane.auth.tokens.get()`: `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.sources.pq.clear()`: `error` **Changed**\n* `cribl_control_plane.sources.hec_tokens.create()`: `error` **Changed**\n* `cribl_control_plane.packs.sources.hec_tokens.create()`: `error` **Changed**\n* `cribl_control_plane.packs.routes.append()`: `error` **Changed**\n* `cribl_control_plane.packs.routes.update()`: `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.routes.append()`: `error` **Changed**\n* `cribl_control_plane.destinations.pq.clear()`: `error` **Changed**\n* `cribl_control_plane.destinations.pq.get()`: \n * `response.items[]` **Changed**\n * `error` **Changed**\n* `cribl_control_plane.destinations.samples.get()`: `error` **Changed**\n* `cribl_control_plane.destinations.samples.create()`: `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.install()`: `error` **Changed**\n* `cribl_control_plane.collectors.delete()`: \n * `response.items[].union(SavedJobResponseCollection).collector` **Changed**\n * `error` **Changed**\n* `cribl_control_plane.collectors.update()`: \n * `request.saved_job.union(SavedJobCollection).collector` **Changed**\n * `response.items[].union(SavedJobResponseCollection).collector` **Changed**\n * `error` **Changed**\n* `cribl_control_plane.collectors.get()`: \n * `response.items[].union(SavedJobResponseCollection).collector` **Changed**\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.collectors.create()`: \n * `request.union(SavedJobCollection).collector` **Changed**\n * `response.items[].union(SavedJobResponseCollection).collector` **Changed**\n * `error` **Changed**\n* `cribl_control_plane.versions.commits.undo()`: `error` **Changed**\n* `cribl_control_plane.groups.delete()`: \n * `response.items[].collectors_ha_enabled` **Added**\n * `error` **Changed**\n* `cribl_control_plane.health.get()`: \n * `response.overlay` **Added**\n * `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" generatedFiles: - .devcontainer/README.md - .devcontainer/devcontainer.json diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index ff86b63fb..2e47b529c 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -34,7 +34,7 @@ generation: generateNewTests: false skipResponseBodyAssertions: false python: - version: 0.9.0rc4 + version: 0.10.0rc1 additionalDependencies: dev: {} main: {} @@ -53,6 +53,10 @@ python: enableCustomCodeRegions: false enumFormat: enum envVarPrefix: CRIBLCONTROLPLANE + errorSchemaValidation: true + eventStreamClassNames: + async: EventStreamAsync + sync: EventStream fixFlags: asyncPaginationSep2025: true conflictResistantModelImportsFeb2026: true @@ -72,6 +76,7 @@ python: webhooks: "" inferUnionDiscriminators: true inputModelSuffix: input + inputTypedDictSuffix: TypedDict legacyPyright: true license: "" maxMethodParams: 999 @@ -89,6 +94,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 417188496..2aa3bd68e 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.18.2-alpha.1780495409912-b2cc4b4f + version: 4.19.0-alpha.1782982389482-669ec7f1 contact: name: Support url: https://portal.support.cribl.io @@ -47,60 +47,83 @@ components: schemas: Error: type: object + required: + - status + - message properties: + status: + type: string + description: Always "error" for API error responses. + const: error message: type: string - description: Error message + description: Human-readable message describing the error. + details: + description: Optional structured details about the error (e.g. validation + failures). DiffLineDelete: type: object + description: Deleted line in a Git diff hunk. properties: type: type: string enum: - delete + description: Line change type. Always delete for deleted lines. oldNumber: - type: number + type: integer + description: Line number in the original file. content: type: string + description: Full content of the line, including the diff prefix character. required: - type - oldNumber - content DiffLineInsert: type: object + description: Inserted line in a Git diff hunk. properties: type: type: string enum: - insert + description: Line change type. Always insert for inserted lines. newNumber: - type: number + type: integer + description: Line number in the new file. content: type: string + description: Full content of the line, including the diff prefix character. required: - type - newNumber - content DiffLineContext: type: object + description: Unchanged context line in a Git diff hunk. properties: type: type: string enum: - context + description: Line change type. Always context for unchanged lines. newNumber: - type: number + type: integer + description: Line number in the new file. oldNumber: - type: number + type: integer + description: Line number in the original file. content: type: string + description: Full content of the line, including the diff prefix character. required: - type - newNumber - oldNumber - content DiffLine: - description: Diff Line + description: Array of lines in a Git diff hunk. type: array items: oneOf: @@ -338,6 +361,7 @@ components: existingRule: type: string title: Existing ruleset + description: ID of an existing event breaker ruleset to apply. minLength: 1 NumerifyFormatFix: type: object @@ -418,6 +442,7 @@ components: type: string masterName: title: Master group name + description: Name of the Redis Sentinel master group to connect to. type: string rootNodes: title: Sentinels @@ -465,9 +490,11 @@ components: type: string username: title: Username + description: Username for Redis authentication. type: string password: title: Password + description: Password for Redis authentication. type: string __template_username: type: string @@ -514,6 +541,14 @@ components: enum: - kvp type: string + srcField: + title: Source field + description: Field containing text to be parsed + type: string + dstField: + title: Destination field + description: Name of the field to add fields to. Extract mode only. + type: string keep: title: Fields to keep description: List of fields to keep. Supports wildcards (*). Takes precedence @@ -558,6 +593,14 @@ components: enum: - delim type: string + srcField: + title: Source field + description: Field containing text to be parsed + type: string + dstField: + title: Destination field + description: Name of the field to add fields to. Extract mode only. + type: string fields: title: List of fields description: The fields to be extracted, listed in order. Will auto-generate if @@ -612,6 +655,14 @@ components: - elff - clf type: string + srcField: + title: Source field + description: Field containing text to be parsed + type: string + dstField: + title: Destination field + description: Name of the field to add fields to. Extract mode only. + type: string fields: title: List of fields description: The fields to be extracted, listed in order. Will auto-generate if @@ -645,6 +696,14 @@ components: enum: - json type: string + srcField: + title: Source field + description: Field containing text to be parsed + type: string + dstField: + title: Destination field + description: Name of the field to add fields to. Extract mode only. + type: string keep: title: Fields to keep description: List of fields to keep. Supports wildcards (*). Takes precedence @@ -671,6 +730,14 @@ components: enum: - regex type: string + srcField: + title: Source field + description: Field containing text to be parsed + type: string + dstField: + title: Destination field + description: Name of the field to add fields to. Extract mode only. + type: string regex: type: string title: Regex @@ -680,6 +747,7 @@ components: regexList: type: array title: Additional regex + description: Additional regex patterns to apply for field extraction. items: $ref: "#/components/schemas/RegexListConfSerdeTypeRegex" iterations: @@ -705,6 +773,19 @@ components: existing fields will be converted to an array. required: - regex + SerdeTypeAuto: + type: object + properties: + type: + enum: + - auto + type: string + tagDatatype: + type: boolean + title: Tag events with datatype and isParsed + description: Keep the detected datatype field and set isParsed to true on each + event. Enable this when events are bound for downstream Cribl Search + processing. SerdeTypeGrok: type: object properties: @@ -712,6 +793,14 @@ components: enum: - grok type: string + srcField: + title: Source field + description: Field containing text to be parsed + type: string + dstField: + title: Destination field + description: Name of the field to add fields to. Extract mode only. + type: string pattern: type: string title: Pattern @@ -720,6 +809,7 @@ components: patternList: type: array title: Additional Grok patterns + description: Additional Grok patterns to apply to the source field. items: $ref: "#/components/schemas/PatternListConfSerdeTypeGrok" required: @@ -1002,36 +1092,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 @@ -1156,36 +1268,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 @@ -1248,6 +1382,7 @@ components: type: string spacer: type: string + description: UI layout spacer; no effect on event processing. earliestDateAllowed: title: Earliest timestamp allowed description: The earliest timestamp value allowed relative to now, such as @@ -1277,36 +1412,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 @@ -1364,36 +1521,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 @@ -1415,36 +1594,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 @@ -1473,36 +1674,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 @@ -1548,36 +1771,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 @@ -1601,36 +1846,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 @@ -1670,36 +1937,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 @@ -1814,6 +2103,7 @@ components: title: fallback lookupFailLogLevel: title: Log level for failed lookups + description: Log level to use when a DNS lookup fails. type: string enum: - silly @@ -1833,36 +2123,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 @@ -1879,36 +2191,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 @@ -1946,36 +2280,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 @@ -2029,36 +2385,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 @@ -2117,36 +2495,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 @@ -2161,6 +2561,8 @@ components: properties: existingOrNew: title: Existing or new? + description: Whether to use an existing event breaker ruleset or create a new + one inline. type: string enum: - existing @@ -2207,6 +2609,7 @@ components: existingRule: type: string title: Existing ruleset + description: ID of an existing event breaker ruleset to apply. minLength: 1 allOf: - oneOf: @@ -2222,36 +2625,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 @@ -2295,36 +2720,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 @@ -2341,36 +2788,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 @@ -2411,36 +2880,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 @@ -2479,36 +2970,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 @@ -2525,6 +3038,7 @@ components: properties: fields: type: array + description: List of field names from which to generate statistics. items: type: string FunctionGenStats: @@ -2532,36 +3046,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 @@ -2592,6 +3128,7 @@ components: additionalFields: type: array title: Additional fields + description: Additional IP fields on which to perform GeoIP lookups. items: type: object required: @@ -2615,36 +3152,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 @@ -2665,6 +3224,7 @@ components: patternList: type: array title: Additional Grok patterns + description: Additional Grok patterns to apply to the source field. items: $ref: "#/components/schemas/PatternListConfSerdeTypeGrok" source: @@ -2676,36 +3236,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 @@ -2769,36 +3351,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 @@ -2856,36 +3460,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 @@ -2912,36 +3538,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 @@ -2987,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: - 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 @@ -3040,36 +3710,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 @@ -3086,36 +3778,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 @@ -3135,14 +3850,17 @@ components: - dataset - datatype title: Ruleset Type + description: "Type of ruleset to apply: dataset or datatype." x-speakeasy-unknown-values: allow rulesetId: type: string title: Ruleset ID + description: ID of the ruleset to apply. ruleset: type: object - title: Full ruleset, i.e. for use with live data capture, which uses - draft/unsaved rulesets + title: Full ruleset + description: Full ruleset definition, used with live data capture for draft or + unsaved rulesets. markAndIncludeDroppedEvents: type: boolean title: Mark and include dropped events @@ -3153,36 +3871,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 @@ -3199,36 +3940,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 @@ -3245,36 +4009,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 @@ -3291,36 +4078,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 @@ -3435,36 +4245,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 @@ -3480,6 +4312,8 @@ components: rules: type: array title: Masking rules + description: List of masking rules, each specifying a regex to match and an + expression to replace matched content. minItems: 1 items: type: object @@ -3525,36 +4359,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 @@ -3606,36 +4462,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 @@ -3679,36 +4557,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 @@ -3743,7 +4643,7 @@ components: title: Disabled description: If true, this policy will be skipped during evaluation waitToGroup: - type: number + type: integer title: Wait to Group (Minutes) description: Time to wait (in minutes) to group similar alerts before sending minimum: 0 @@ -3809,7 +4709,7 @@ components: title: Final description: If true, stop evaluating further policies after this one matches order: - type: number + type: integer title: Order description: Evaluation order of this policy (lower numbers evaluated first) minimum: 0 @@ -3818,36 +4718,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 @@ -3878,36 +4800,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 @@ -4009,36 +4953,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 @@ -4080,6 +5046,7 @@ components: type: string format: title: Format + description: Numeric format to apply after type conversion. type: string enum: - none @@ -4113,36 +5080,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 @@ -4158,6 +5147,7 @@ components: dropNonLogEvents: type: boolean title: Drop non-log events + description: Drop events that are not OTLP log records. batchOTLPLogs: type: boolean title: Batch OTLP logs @@ -4180,6 +5170,8 @@ components: title: Batch log metadata keys description: When set, this processor will create one batcher instance per distinct combination of values in the metadata + items: + type: string metadataCardinalityLimit: type: number title: Metadata cardinality limit @@ -4192,36 +5184,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 @@ -4246,6 +5260,7 @@ components: dropNonMetricEvents: type: boolean title: Drop non-metric events + description: Drop events that are not OTLP metric data points. otlpVersion: $ref: "#/components/schemas/OtlpVersionOptions" batchOTLPMetrics: @@ -4270,6 +5285,8 @@ components: title: Batch metrics metadata keys description: When set, this processor will create one batcher instance per distinct combination of values in the metadata + items: + type: string metadataCardinalityLimit: type: number title: Metadata cardinality limit @@ -4282,36 +5299,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 @@ -4327,6 +5366,7 @@ components: dropNonTraceEvents: type: boolean title: Drop non-trace events + description: Drop events that are not OTLP trace spans. otlpVersion: $ref: "#/components/schemas/OtlpVersionOptions" batchOTLPTraces: @@ -4351,6 +5391,8 @@ components: title: Batch traces metadata keys description: When set, this processor will create one batcher instance per distinct combination of values in the metadata + items: + type: string metadataCardinalityLimit: type: number title: Metadata cardinality limit @@ -4363,36 +5405,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 @@ -4420,36 +5484,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 @@ -4487,36 +5573,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 @@ -4603,36 +5711,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 @@ -4649,6 +5779,7 @@ components: type: array minItems: 1 title: Commands + description: List of Redis commands to execute against the specified keys. items: type: object required: @@ -4691,6 +5822,7 @@ components: authType: type: string title: Authentication method + description: Authentication method to use when connecting to Redis. enum: - none - manual @@ -4744,9 +5876,11 @@ components: $ref: "#/components/schemas/ScaleReadsOptionsRedisDeploymentTypeCluster" masterName: title: Master group name + description: Name of the Redis Sentinel master group to connect to. type: string username: title: Username + description: Username for Redis authentication. type: string __template_username: type: string @@ -4755,6 +5889,7 @@ components: (group-scoped). Variable value overrides 'username' at runtime. password: title: Password + description: Password for Redis authentication. type: string __template_password: type: string @@ -4797,36 +5932,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 @@ -4848,6 +6005,7 @@ components: regexList: type: array title: Additional regex + description: Additional regex patterns to apply for field extraction. items: $ref: "#/components/schemas/RegexListConfSerdeTypeRegex" source: @@ -4880,36 +6038,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 @@ -4929,6 +6109,7 @@ components: regexList: type: array title: Additional regex + description: Additional regex patterns to test against the field. items: type: object required: @@ -4948,36 +6129,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 @@ -5040,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: - 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 @@ -5115,36 +6340,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 @@ -5182,36 +6429,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 @@ -5253,36 +6522,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 @@ -5346,36 +6637,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 @@ -5391,6 +6704,8 @@ components: rules: type: array title: Scanning Rulesets + description: List of scanning rulesets to apply, each with a ruleset ID and a + mitigation expression. minItems: 1 items: type: object @@ -5448,41 +6763,65 @@ components: backgroundDetection: type: boolean title: Background detection + description: Run detection in the background without blocking event processing. FunctionSensitiveDataScanner: type: object 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 @@ -5508,15 +6847,30 @@ components: - Reserialize x-speakeasy-unknown-values: allow type: - $ref: "#/components/schemas/TypeOptions" - srcField: - title: Source field - description: Field containing text to be parsed - type: string - dstField: - title: Destination field - description: Name of the field to add fields to. Extract mode only. + title: Type + description: Parser or formatter type to use type: string + enum: + - csv + - elff + - clf + - kvp + - json + - delim + - regex + - grok + - auto + x-speakeasy-enum-descriptions: + - CSV + - Extended Log File Format + - Common Log Format + - Key=Value Pairs + - JSON Object + - Delimited values + - Regular Expression + - Grok + - Auto + x-speakeasy-unknown-values: allow keep: title: Fields to keep description: List of fields to keep. Supports wildcards (*). Takes precedence @@ -5566,6 +6920,7 @@ components: regexList: type: array title: Additional regex + description: Additional regex patterns to apply for field extraction. items: $ref: "#/components/schemas/RegexListConfSerdeTypeRegex" iterations: @@ -5589,6 +6944,12 @@ components: title: Overwrite existing fields description: Overwrite existing event fields with extracted values. If disabled, existing fields will be converted to an array. + tagDatatype: + type: boolean + title: Tag events with datatype and isParsed + description: Keep the detected datatype field and set isParsed to true on each + event. Enable this when events are bound for downstream Cribl Search + processing. pattern: type: string title: Pattern @@ -5597,6 +6958,7 @@ components: patternList: type: array title: Additional Grok patterns + description: Additional Grok patterns to apply to the source field. items: $ref: "#/components/schemas/PatternListConfSerdeTypeGrok" allOf: @@ -5606,6 +6968,7 @@ components: - $ref: "#/components/schemas/SerdeTypeCsv" - $ref: "#/components/schemas/SerdeTypeJson" - $ref: "#/components/schemas/SerdeTypeRegex" + - $ref: "#/components/schemas/SerdeTypeAuto" - $ref: "#/components/schemas/SerdeTypeGrok" discriminator: propertyName: type @@ -5615,42 +6978,65 @@ components: csv: "#/components/schemas/SerdeTypeCsv" json: "#/components/schemas/SerdeTypeJson" regex: "#/components/schemas/SerdeTypeRegex" + auto: "#/components/schemas/SerdeTypeAuto" grok: "#/components/schemas/SerdeTypeGrok" FunctionSerde: type: object 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 @@ -5732,36 +7118,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 @@ -5798,36 +7206,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 @@ -5853,36 +7283,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 @@ -5910,6 +7362,8 @@ components: sending the event from the SNMP Trap Destination v3User: type: object + description: SNMPv3 user configuration, including authentication and privacy + protocol settings. properties: name: title: Username @@ -5938,36 +7392,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 @@ -6009,36 +7485,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 @@ -6101,36 +7599,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 @@ -6188,36 +7708,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 @@ -6238,6 +7780,7 @@ components: args: type: array title: Command arguments + description: Command-line arguments to pass to the command. items: type: string restartOnExit: @@ -6255,36 +7798,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 @@ -6307,36 +7872,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 @@ -6367,36 +7954,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 @@ -6423,36 +8032,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 @@ -6490,36 +8121,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 @@ -6555,36 +8208,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 @@ -6746,26 +8421,29 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always aggregate_metrics type: string enum: - aggregate_metrics + example: aggregate_metrics description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: allOf: @@ -6773,9 +8451,10 @@ components: required: - timeWindow - aggregations + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionAggregation: type: object @@ -6786,26 +8465,29 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always aggregation type: string enum: - aggregation + example: aggregation description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: allOf: @@ -6813,9 +8495,10 @@ components: required: - timeWindow - aggregations + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionAutoTimestamp: type: object @@ -6826,32 +8509,36 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always auto_timestamp type: string enum: - auto_timestamp + example: auto_timestamp description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: $ref: "#/components/schemas/FunctionConfSchemaAutoTimestamp" + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionCef: type: object @@ -6862,32 +8549,36 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always cef type: string enum: - cef + example: cef description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: $ref: "#/components/schemas/FunctionConfSchemaCef" + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionChain: type: object @@ -6898,35 +8589,39 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always chain type: string enum: - chain + example: chain description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: allOf: - $ref: "#/components/schemas/FunctionConfSchemaChain" required: - processor + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionClone: type: object @@ -6937,32 +8632,36 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always clone type: string enum: - clone + example: clone description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: $ref: "#/components/schemas/FunctionConfSchemaClone" + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionCode: type: object @@ -6973,32 +8672,36 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always code type: string enum: - code + example: code description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: $ref: "#/components/schemas/FunctionConfSchemaCode" + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionComment: type: object @@ -7009,32 +8712,36 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always comment type: string enum: - comment + example: comment description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: $ref: "#/components/schemas/FunctionConfSchemaComment" + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionDistinct: type: object @@ -7045,35 +8752,39 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always distinct type: string enum: - distinct + example: distinct description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: allOf: - $ref: "#/components/schemas/FunctionConfSchemaDistinct" required: - groupBy + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionDnsLookup: type: object @@ -7084,32 +8795,36 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always dns_lookup type: string enum: - dns_lookup + example: dns_lookup description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: $ref: "#/components/schemas/FunctionConfSchemaDnsLookup" + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionDrop: type: object @@ -7120,32 +8835,36 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always drop type: string enum: - drop + example: drop description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: $ref: "#/components/schemas/FunctionConfSchemaDrop" + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionDropDimensions: type: object @@ -7156,26 +8875,29 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always drop_dimensions type: string enum: - drop_dimensions + example: drop_dimensions description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: allOf: @@ -7183,9 +8905,10 @@ components: required: - timeWindow - dropDimensions + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionDynamicSampling: type: object @@ -7196,26 +8919,29 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always dynamic_sampling type: string enum: - dynamic_sampling + example: dynamic_sampling description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: allOf: @@ -7223,9 +8949,10 @@ components: required: - mode - keyExpr + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionEval: type: object @@ -7236,32 +8963,36 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always eval type: string enum: - eval + example: eval description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: $ref: "#/components/schemas/FunctionConfSchemaEval" + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionEventBreaker: type: object @@ -7272,35 +9003,39 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always event_breaker type: string enum: - event_breaker + example: event_breaker description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: allOf: - $ref: "#/components/schemas/FunctionConfSchemaEventBreaker" required: - existingOrNew + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionEventstats: type: object @@ -7311,35 +9046,39 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always eventstats type: string enum: - eventstats + example: eventstats description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: allOf: - $ref: "#/components/schemas/FunctionConfSchemaEventstats" required: - aggregations + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionExternaldata: type: object @@ -7350,32 +9089,36 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always externaldata type: string enum: - externaldata + example: externaldata description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: $ref: "#/components/schemas/FunctionConfSchemaExternaldata" + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionFlatten: type: object @@ -7386,32 +9129,36 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always flatten type: string enum: - flatten + example: flatten description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: $ref: "#/components/schemas/FunctionConfSchemaFlatten" + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionFoldkeys: type: object @@ -7422,32 +9169,36 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always foldkeys type: string enum: - foldkeys + example: foldkeys description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: $ref: "#/components/schemas/FunctionConfSchemaFoldkeys" + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionGenStats: type: object @@ -7458,32 +9209,36 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always gen_stats type: string enum: - gen_stats + example: gen_stats description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: $ref: "#/components/schemas/FunctionConfSchemaGenStats" + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionGeoip: type: object @@ -7494,35 +9249,39 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always geoip type: string enum: - geoip + example: geoip description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: allOf: - $ref: "#/components/schemas/FunctionConfSchemaGeoip" required: - file + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionGrok: type: object @@ -7533,35 +9292,39 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always grok type: string enum: - grok + example: grok description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: allOf: - $ref: "#/components/schemas/FunctionConfSchemaGrok" required: - pattern + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionHandlebars: type: object @@ -7572,35 +9335,39 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always handlebars type: string enum: - handlebars + example: handlebars description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: allOf: - $ref: "#/components/schemas/FunctionConfSchemaHandlebars" required: - templates + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionJoin: type: object @@ -7611,35 +9378,39 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always join type: string enum: - join + example: join description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: allOf: - $ref: "#/components/schemas/FunctionConfSchemaJoin" required: - fieldConditions + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionJsonUnroll: type: object @@ -7650,35 +9421,39 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always json_unroll type: string enum: - json_unroll + example: json_unroll description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: allOf: - $ref: "#/components/schemas/FunctionConfSchemaJsonUnroll" required: - path + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionLakeExport: type: object @@ -7689,26 +9464,29 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always lake_export type: string enum: - lake_export + example: lake_export description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: allOf: @@ -7716,9 +9494,10 @@ components: required: - dataset - searchJobId + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionLimit: type: object @@ -7729,32 +9508,36 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always limit type: string enum: - limit + example: limit description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: $ref: "#/components/schemas/FunctionConfSchemaLimit" + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionLocalSearchDatatypeParser: type: object @@ -7765,32 +9548,37 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. 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 + example: local_search_datatype_parser description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: $ref: "#/components/schemas/FunctionConfSchemaLocalSearchDatatypeParser" + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionLocalSearchRulesetRunner: type: object @@ -7801,32 +9589,37 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. 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 + example: local_search_ruleset_runner description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: $ref: "#/components/schemas/FunctionConfSchemaLocalSearchRulesetRunner" + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionLocalSearchSchemaMapper: type: object @@ -7837,32 +9630,37 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. 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 + example: local_search_schema_mapper description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: $ref: "#/components/schemas/FunctionConfSchemaLocalSearchSchemaMapper" + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionLocalSearchTimeRangeNormalizer: type: object @@ -7873,32 +9671,37 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. 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 + example: local_search_time_range_normalizer description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: $ref: "#/components/schemas/FunctionConfSchemaLocalSearchTimeRangeNormalizer" + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionLocalSearchTransformer: type: object @@ -7909,32 +9712,37 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always + local_search_transformer type: string enum: - local_search_transformer + example: local_search_transformer description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: $ref: "#/components/schemas/FunctionConfSchemaLocalSearchTransformer" + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionLookup: type: object @@ -7945,35 +9753,39 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always lookup type: string enum: - lookup + example: lookup description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: allOf: - $ref: "#/components/schemas/FunctionConfSchemaLookup" required: - file + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionMask: type: object @@ -7984,35 +9796,39 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always mask type: string enum: - mask + example: mask description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: allOf: - $ref: "#/components/schemas/FunctionConfSchemaMask" required: - rules + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionMvExpand: type: object @@ -8023,35 +9839,39 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always mv_expand type: string enum: - mv_expand + example: mv_expand description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: allOf: - $ref: "#/components/schemas/FunctionConfSchemaMvExpand" required: - sourceFields + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionMvPull: type: object @@ -8062,26 +9882,29 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always mv_pull type: string enum: - mv_pull + example: mv_pull description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: allOf: @@ -8090,9 +9913,10 @@ components: - arrayPath - relativeKeyPath - relativeValuePath + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionNotificationPolicies: type: object @@ -8103,32 +9927,36 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always notification_policies type: string enum: - notification_policies + example: notification_policies description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: $ref: "#/components/schemas/FunctionConfSchemaNotificationPolicies" + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionNotifications: type: object @@ -8139,26 +9967,29 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always notifications type: string enum: - notifications + example: notifications description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: allOf: @@ -8167,9 +9998,10 @@ components: - id - field - deduplicate + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionNotify: type: object @@ -8180,26 +10012,29 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always notify type: string enum: - notify + example: notify description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: allOf: @@ -8212,9 +10047,10 @@ components: - searchUrl - messagesEndpoint - authToken + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionNumerify: type: object @@ -8225,32 +10061,36 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always numerify type: string enum: - numerify + example: numerify description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: $ref: "#/components/schemas/FunctionConfSchemaNumerify" + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionOtlpLogs: type: object @@ -8261,32 +10101,36 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always otlp_logs type: string enum: - otlp_logs + example: otlp_logs description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: $ref: "#/components/schemas/FunctionConfSchemaOtlpLogs" + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionOtlpMetrics: type: object @@ -8297,32 +10141,36 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always otlp_metrics type: string enum: - otlp_metrics + example: otlp_metrics description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: $ref: "#/components/schemas/FunctionConfSchemaOtlpMetrics" + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionOtlpTraces: type: object @@ -8333,32 +10181,36 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always otlp_traces type: string enum: - otlp_traces + example: otlp_traces description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: $ref: "#/components/schemas/FunctionConfSchemaOtlpTraces" + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionPack: type: object @@ -8369,35 +10221,39 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always pack type: string enum: - pack + example: pack description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: allOf: - $ref: "#/components/schemas/FunctionConfSchemaPack" required: - unpackedFields + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionPivot: type: object @@ -8408,26 +10264,29 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always pivot type: string enum: - pivot + example: pivot description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: allOf: @@ -8436,9 +10295,10 @@ components: - labelField - dataFields - qualifierFields + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionPublishMetrics: type: object @@ -8449,32 +10309,36 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always publish_metrics type: string enum: - publish_metrics + example: publish_metrics description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: $ref: "#/components/schemas/FunctionConfSchemaPublishMetrics" + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionRedis: type: object @@ -8485,35 +10349,39 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always redis type: string enum: - redis + example: redis description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: allOf: - $ref: "#/components/schemas/FunctionConfSchemaRedis" required: - commands + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionRegexExtract: type: object @@ -8524,35 +10392,39 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always regex_extract type: string enum: - regex_extract + example: regex_extract description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: allOf: - $ref: "#/components/schemas/FunctionConfSchemaRegexExtract" required: - regex + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionRegexFilter: type: object @@ -8563,32 +10435,36 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always regex_filter type: string enum: - regex_filter + example: regex_filter description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: $ref: "#/components/schemas/FunctionConfSchemaRegexFilter" + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionRename: type: object @@ -8599,32 +10475,36 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always rename type: string enum: - rename + example: rename description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: $ref: "#/components/schemas/FunctionConfSchemaRename" + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionRollupMetrics: type: object @@ -8635,32 +10515,36 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always rollup_metrics type: string enum: - rollup_metrics + example: rollup_metrics description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: $ref: "#/components/schemas/FunctionConfSchemaRollupMetrics" + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionSampling: type: object @@ -8671,32 +10555,36 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always sampling type: string enum: - sampling + example: sampling description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: $ref: "#/components/schemas/FunctionConfSchemaSampling" + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionSearchEngineExport: type: object @@ -8707,26 +10595,29 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always search_engine_export type: string enum: - search_engine_export + example: search_engine_export description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: allOf: @@ -8734,9 +10625,10 @@ components: required: - dataset - searchJobId + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionSend: type: object @@ -8747,35 +10639,39 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always send type: string enum: - send + example: send description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: allOf: - $ref: "#/components/schemas/FunctionConfSchemaSend" required: - searchId + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionSensitiveDataScanner: type: object @@ -8786,35 +10682,40 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always + sensitive_data_scanner type: string enum: - sensitive_data_scanner + example: sensitive_data_scanner description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: allOf: - $ref: "#/components/schemas/FunctionConfSchemaSensitiveDataScanner" required: - rules + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionSerde: type: object @@ -8825,26 +10726,29 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always serde type: string enum: - serde + example: serde description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: allOf: @@ -8852,9 +10756,10 @@ components: required: - mode - type + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionSerialize: type: object @@ -8865,35 +10770,39 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always serialize type: string enum: - serialize + example: serialize description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: allOf: - $ref: "#/components/schemas/FunctionConfSchemaSerialize" required: - type + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionSidlookup: type: object @@ -8904,32 +10813,36 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always sidlookup type: string enum: - sidlookup + example: sidlookup description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: $ref: "#/components/schemas/FunctionConfSchemaSidlookup" + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionSignalFilter: type: object @@ -8940,32 +10853,36 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always signal_filter type: string enum: - signal_filter + example: signal_filter description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: $ref: "#/components/schemas/FunctionConfSchemaSignalFilter" + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionSnmpTrapSerialize: type: object @@ -8976,32 +10893,36 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always snmp_trap_serialize type: string enum: - snmp_trap_serialize + example: snmp_trap_serialize description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: $ref: "#/components/schemas/FunctionConfSchemaSnmpTrapSerialize" + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionSort: type: object @@ -9012,35 +10933,39 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always sort type: string enum: - sort + example: sort description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: allOf: - $ref: "#/components/schemas/FunctionConfSchemaSort" required: - comparisonExpression + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionStore: type: object @@ -9051,35 +10976,39 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always store type: string enum: - store + example: store description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: allOf: - $ref: "#/components/schemas/FunctionConfSchemaStore" required: - type + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionSuppress: type: object @@ -9090,26 +11019,29 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always suppress type: string enum: - suppress + example: suppress description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: allOf: @@ -9118,9 +11050,10 @@ components: - keyExpr - allow - suppressPeriodSec + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionTee: type: object @@ -9131,35 +11064,39 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always tee type: string enum: - tee + example: tee description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: allOf: - $ref: "#/components/schemas/FunctionConfSchemaTee" required: - command + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionTrimTimestamp: type: object @@ -9170,32 +11107,36 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always trim_timestamp type: string enum: - trim_timestamp + example: trim_timestamp description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: $ref: "#/components/schemas/FunctionConfSchemaTrimTimestamp" + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionUnion: type: object @@ -9206,26 +11147,29 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always union type: string enum: - union + example: union description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: allOf: @@ -9233,9 +11177,10 @@ components: required: - searchJobId - stageIds + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionUnroll: type: object @@ -9246,26 +11191,29 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always unroll type: string enum: - unroll + example: unroll description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: allOf: @@ -9273,9 +11221,10 @@ components: required: - srcExpr - dstField + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionWindow: type: object @@ -9286,26 +11235,29 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always window type: string enum: - window + example: window description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: allOf: @@ -9313,9 +11265,10 @@ components: required: - eventWindowId - registeredFunctions + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionXmlUnroll: type: object @@ -9326,35 +11279,39 @@ components: properties: filter: title: Filter - description: Filter that selects data to be fed through this Function + description: JavaScript expression that selects data to pass through the Function. type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always xml_unroll type: string enum: - xml_unroll + example: xml_unroll description: title: Description - description: Simple description of this step + description: Brief description of the Pipeline function. type: string disabled: title: Disabled - description: If true, data will not be pushed through this function + description: If true, disable the Pipeline function so that events + are not passed through it. Otherwise, false. type: boolean final: title: Final - description: If enabled, stops the results of this Function from being passed to - the downstream Functions + description: If true, stop passing events to downstream Pipeline + Functions after the Function executes. Otherwise, + false. type: boolean conf: allOf: - $ref: "#/components/schemas/FunctionConfSchemaXmlUnroll" required: - unroll + description: Configuration specific to the Pipeline Function. groupId: title: Group ID - description: Group ID + description: Unique identifier of the group that contains the Pipeline Function. type: string PipelineFunctionConf: oneOf: @@ -9733,6 +11690,10 @@ components: description: Maximum number of metadata objects to batch before recording as results minimum: 1 + disableTimeFilter: + type: boolean + title: Disable time filter + description: Disable Collector event time filtering when a date range is specified parquetChunkSizeMB: type: number title: Parquet chunk size limit @@ -10474,6 +12435,32 @@ components: type: array items: $ref: "#/components/schemas/AuthRequestHeaderConfHealthCheckAuthenticationOauth" + refreshTokenField: + type: string + title: Refresh token field + description: "Field name in the token response that contains a refresh token + (example: 'refresh_token'). When set, the Collector uses the refresh + token to obtain new access tokens without re-sending credentials." + rotateRefreshToken: + type: boolean + title: Rotate refresh token + description: The Collector will update its stored value on each successful + refresh. Enable if the server issues a new refresh token on every + use. + refreshUrl: + type: string + title: Refresh URL + description: Override the refresh endpoint URL if it differs from the Login URL. + Defaults to Login URL. + refreshRequestParams: + type: array + title: Refresh grant parameters + description: Parameters to include in the refresh token request body. Most + servers require 'client_id' here. If not set, the Collector sends + only grant_type, refresh_token, and client_secret. + items: + $ref: "#/components/schemas/RefreshRequestParamConfHealthCheckAuthenticationOau\ + th" __template_loginUrl: type: string description: Binds 'loginUrl' to a variable for dynamic value resolution. Set to @@ -10485,6 +12472,11 @@ components: resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tokenRespAttribute' at runtime. + __template_refreshUrl: + type: string + description: Binds 'refreshUrl' to a variable for dynamic value resolution. Set + to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID + (group-scoped). Variable value overrides 'refreshUrl' at runtime. required: - loginUrl - clientSecretParamName @@ -10539,6 +12531,32 @@ components: type: array items: $ref: "#/components/schemas/AuthRequestHeaderConfHealthCheckAuthenticationOauth" + refreshTokenField: + type: string + title: Refresh token field + description: "Field name in the token response that contains a refresh token + (example: 'refresh_token'). When set, the Collector uses the refresh + token to obtain new access tokens without re-sending credentials." + rotateRefreshToken: + type: boolean + title: Rotate refresh token + description: The Collector will update its stored value on each successful + refresh. Enable if the server issues a new refresh token on every + use. + refreshUrl: + type: string + title: Refresh URL + description: Override the refresh endpoint URL if it differs from the Login URL. + Defaults to Login URL. + refreshRequestParams: + type: array + title: Refresh grant parameters + description: Parameters to include in the refresh token request body. Most + servers require 'client_id' here. If not set, the Collector sends + only grant_type, refresh_token, and client_secret. + items: + $ref: "#/components/schemas/RefreshRequestParamConfHealthCheckAuthenticationOau\ + thSecret" __template_loginUrl: type: string description: Binds 'loginUrl' to a variable for dynamic value resolution. Set to @@ -10550,6 +12568,11 @@ components: resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tokenRespAttribute' at runtime. + __template_refreshUrl: + type: string + description: Binds 'refreshUrl' to a variable for dynamic value resolution. Set + to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID + (group-scoped). Variable value overrides 'refreshUrl' at runtime. required: - loginUrl - clientSecretParamName @@ -11052,6 +13075,37 @@ components: type: array items: $ref: "#/components/schemas/AuthRequestParamConfHealthCheckAuthenticationOauth" + refreshTokenField: + type: string + title: Refresh token field + description: "Field name in the token response that contains a refresh token + (example: 'refresh_token'). When set, the Collector uses the refresh + token to obtain new access tokens without re-sending credentials." + rotateRefreshToken: + type: boolean + title: Rotate refresh token + description: The Collector will update its stored value on each successful + refresh. Enable if the server issues a new refresh token on every + use. + refreshUrl: + type: string + title: Refresh URL + description: Override the refresh endpoint URL if it differs from the Login URL. + Defaults to Login URL. + __template_refreshUrl: + type: string + description: Binds 'refreshUrl' to a variable for dynamic value resolution. Set + to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID + (group-scoped). Variable value overrides 'refreshUrl' at runtime. + refreshRequestParams: + type: array + title: Refresh grant parameters + description: Parameters to include in the refresh token request body. Most + servers require 'client_id' here. If not set, the Collector sends + only grant_type, refresh_token, and client_secret. + items: + $ref: "#/components/schemas/RefreshRequestParamConfHealthCheckAuthenticationOau\ + th" textSecret: type: string title: Client secret value (text secret) @@ -11392,6 +13446,32 @@ components: type: array items: $ref: "#/components/schemas/CollectRequestParamConfRestCollectMethodGet" + refreshTokenField: + type: string + title: Refresh token field + description: "Field name in the token response that contains a refresh token + (example: 'refresh_token'). When set, the Collector uses the refresh + token to obtain new access tokens without re-sending credentials." + rotateRefreshToken: + type: boolean + title: Rotate refresh token + description: The Collector will update its stored value on each successful + refresh. Enable if the server issues a new refresh token on every + use. + refreshUrl: + type: string + title: Refresh URL + description: Override the refresh endpoint URL if it differs from the Login URL. + Defaults to Login URL. + refreshRequestParams: + type: array + title: Refresh grant parameters + description: Parameters to include in the refresh token request body. Most + servers require 'client_id' here. If not set, the Collector sends + only grant_type, refresh_token, and client_secret. + items: + $ref: "#/components/schemas/RefreshRequestParamConfHealthCheckAuthenticationOau\ + th" __template_loginUrl: type: string description: Binds 'loginUrl' to a variable for dynamic value resolution. Set to @@ -11403,6 +13483,11 @@ components: resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientSecretParamValue' at runtime. + __template_refreshUrl: + type: string + description: Binds 'refreshUrl' to a variable for dynamic value resolution. Set + to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID + (group-scoped). Variable value overrides 'refreshUrl' at runtime. required: - loginUrl - clientSecretParamName @@ -11461,6 +13546,37 @@ components: type: array items: $ref: "#/components/schemas/CollectRequestParamConfRestCollectMethodGet" + refreshTokenField: + type: string + title: Refresh token field + description: "Field name in the token response that contains a refresh token + (example: 'refresh_token'). When set, the Collector uses the refresh + token to obtain new access tokens without re-sending credentials." + rotateRefreshToken: + type: boolean + title: Rotate refresh token + description: The Collector will update its stored value on each successful + refresh. Enable if the server issues a new refresh token on every + use. + refreshUrl: + type: string + title: Refresh URL + description: Override the refresh endpoint URL if it differs from the Login URL. + Defaults to Login URL. + refreshRequestParams: + type: array + title: Refresh grant parameters + description: Parameters to include in the refresh token request body. Most + servers require 'client_id' here. If not set, the Collector sends + only grant_type, refresh_token, and client_secret. + items: + $ref: "#/components/schemas/RefreshRequestParamConfHealthCheckAuthenticationOau\ + thSecret" + __template_refreshUrl: + type: string + description: Binds 'refreshUrl' to a variable for dynamic value resolution. Set + to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID + (group-scoped). Variable value overrides 'refreshUrl' at runtime. required: - loginUrl - clientSecretParamName @@ -12660,6 +14776,37 @@ components: type: array items: $ref: "#/components/schemas/CollectRequestParamConfRestCollectMethodGet" + refreshTokenField: + type: string + title: Refresh token field + description: "Field name in the token response that contains a refresh token + (example: 'refresh_token'). When set, the Collector uses the refresh + token to obtain new access tokens without re-sending credentials." + rotateRefreshToken: + type: boolean + title: Rotate refresh token + description: The Collector will update its stored value on each successful + refresh. Enable if the server issues a new refresh token on every + use. + refreshUrl: + type: string + title: Refresh URL + description: Override the refresh endpoint URL if it differs from the Login URL. + Defaults to Login URL. + __template_refreshUrl: + type: string + description: Binds 'refreshUrl' to a variable for dynamic value resolution. Set + to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID + (group-scoped). Variable value overrides 'refreshUrl' at runtime. + refreshRequestParams: + type: array + title: Refresh grant parameters + description: Parameters to include in the refresh token request body. Most + servers require 'client_id' here. If not set, the Collector sends + only grant_type, refresh_token, and client_secret. + items: + $ref: "#/components/schemas/RefreshRequestParamConfHealthCheckAuthenticationOau\ + th" textSecret: type: string title: Client secret value (text secret) @@ -13567,17 +15714,14 @@ components: description: List of items in this response. items: $ref: "#/components/schemas/UserAccessControlList" - CountedDatabaseConnectionConfig: - type: object - properties: - count: - type: integer - description: number of items present in the items array - items: - type: array - description: List of items in this response. - items: - $ref: "#/components/schemas/DatabaseConnectionConfig" + DatabaseConnectionAuthType: + type: string + enum: + - configObj + - connectionString + - secret + - secrets + x-speakeasy-unknown-values: allow DatabaseConnectionType: type: string enum: @@ -13586,40 +15730,166 @@ components: - postgres - sqlserver x-speakeasy-unknown-values: allow + SecureVersion: + type: string + enum: + - TLSv1.3 + - TLSv1.2 + - TLSv1.1 + - TLSv1 + x-speakeasy-unknown-values: allow + TLSClientParams: + type: object + properties: + caPath: + type: string + description: Path to the Certificate Authority (CA) certificate file in PEM + format. + certPath: + type: string + description: Path to the client certificate file in PEM format. + disabled: + type: boolean + description: If true, TLS is disabled for the connection. + maxVersion: + $ref: "#/components/schemas/SecureVersion" + description: Maximum TLS version to allow for the connection. + minVersion: + $ref: "#/components/schemas/SecureVersion" + description: Minimum TLS version to allow for the connection. + passphrase: + type: string + description: Passphrase for the private key. + privKeyPath: + type: string + description: Path to the private key file in PEM format. + rejectUnauthorized: + type: boolean + description: If true, reject connections to servers with unverified + TLS certificates. + servername: + type: string + description: Server name for TLS Server Name Indication (SNI) extension. + required: + - disabled + description: TLS client connection settings. DatabaseConnectionConfig: type: object properties: authType: - type: string + $ref: "#/components/schemas/DatabaseConnectionAuthType" + description: Authentication method for the Database Connection. Determines how + credentials are provided. + example: connectionString configObj: type: string + description: JSON configuration object for advanced SQL Server connection + settings. + example: + server: sqlserver.example.com + database: Reporting + user: yourUsername + password: yourPassword + options: + trustServerCertificate: false + connectTimeout: 20000 connectionString: type: string + description: Database connection string with embedded credentials or server + information. + example: mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true connectionTimeout: - type: number + type: integer + description: Maximum time (in milliseconds) to wait when establishing the + database connection. + minimum: 1000 + maximum: 60000 + example: 10000 credsSecrets: type: string + description: Name of the stored credentials secret containing username and + password. Used with Oracle connections. + example: oracle-production-credentials databaseType: $ref: "#/components/schemas/DatabaseConnectionType" + description: Type of database engine for the connection. + example: mysql description: type: string + description: Brief description of the Database Connection. + example: Production MySQL database for customer data id: type: string + description: Unique identifier for the Database Connection. + pattern: ^[a-zA-Z0-9_\\-]+$ + example: mysql-prod-db password: type: string + description: Database password for authentication. Used with Oracle connections. + example: yourPassword requestTimeout: - type: number + type: integer + description: Maximum time (in milliseconds) to wait for a database query to + complete. Applies to SQL Server connections only. + minimum: 1000 + example: 30000 tags: type: string + description: Comma-separated list of tags for categorizing and filtering + Database Connections. + example: production,mysql,customer-data textSecret: type: string + description: Name of the stored text secret containing the connection string. + example: mysql-production-connection + tls: + $ref: "#/components/schemas/TLSClientParams" user: type: string + description: Database username for authentication. Used with Oracle connections. + example: yourUsername required: - authType - databaseType - description - id + DatabaseConnectionResponseEnvelope: + type: object + properties: + count: + type: integer + description: Number of Database Connections returned in the response envelope. + minimum: 0 + example: 1 + items: + type: array + items: + $ref: "#/components/schemas/DatabaseConnectionConfig" + description: Database Connections returned in the response envelope. + required: + - count + - items + RestApiJsonError: + type: object + properties: + details: + type: object + additionalProperties: true + description: Optional structured details about the error (e.g. validation + failures). + message: + type: string + description: Human-readable message or serialized validation details for the + error. + status: + type: string + const: error + description: Always error for API error responses. + required: + - message + - status + description: JSON body returned for many REST failures that use + RESTEndpoint.sendError (and similar handlers). CountedFunctionResponse: type: object properties: @@ -13631,6 +15901,31 @@ components: description: List of items in this response. items: $ref: "#/components/schemas/FunctionResponse" + PaginatedFunctionResponse: + type: object + required: + - items + - count + - offset + - limit + properties: + items: + type: array + description: the pre-limited items in the list of results + items: + $ref: "#/components/schemas/FunctionResponse" + count: + type: integer + description: number of items present in the items array + offset: + type: integer + description: pagination offset + limit: + type: integer + description: pagination limit + totalCount: + type: integer + description: total number of items available (present when limit is set) InputCollection: type: object properties: @@ -13645,6 +15940,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -13670,7 +15966,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -13749,6 +16045,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -13773,7 +16070,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -13963,6 +16260,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 @@ -14008,6 +16306,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -14032,7 +16331,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -14266,6 +16565,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. awsApiKey: type: string title: Access key @@ -14344,11 +16644,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 @@ -14373,7 +16675,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -14510,6 +16812,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 @@ -14568,6 +16871,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -14592,7 +16896,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -14711,6 +17015,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. useFwdTimezone: type: boolean title: Use Universal Forwarder time zone @@ -14793,6 +17098,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -14817,7 +17123,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -15008,6 +17314,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. username: type: string title: Username @@ -15080,11 +17387,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 @@ -15109,7 +17418,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -15157,6 +17466,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 @@ -15327,6 +17637,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 @@ -15369,6 +17680,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -15393,7 +17705,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -15495,6 +17807,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. connectionString: type: string title: Connection string @@ -15587,11 +17900,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 @@ -15616,7 +17931,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -15821,6 +18136,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. username: type: string title: Username @@ -15889,6 +18205,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -15913,7 +18230,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -16102,6 +18419,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 @@ -16140,11 +18458,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 @@ -16169,7 +18489,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -16335,6 +18655,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 @@ -16384,11 +18705,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 @@ -16413,7 +18736,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -16522,6 +18845,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. username: type: string title: Username @@ -16579,11 +18903,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 @@ -16608,7 +18934,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -16717,6 +19043,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. username: type: string title: Username @@ -16783,6 +19110,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -16807,7 +19135,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -16843,10 +19171,12 @@ components: - static - dns - ec2 + - http_sd x-speakeasy-enum-descriptions: - Static - DNS - AWS EC2 + - HTTP SD description: Target discovery mechanism. Use static to manually enter a list of targets. x-speakeasy-unknown-values: allow @@ -16911,6 +19241,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. targetList: type: array title: Targets @@ -17012,6 +19343,28 @@ components: hours). minimum: 900 maximum: 43200 + httpDiscoveryUrl: + type: string + title: Discovery URL + description: URL to fetch target groups from (must be http or https) + pattern: ^https?:// + httpDiscoveryHeaders: + type: array + title: HTTP headers + description: Extra headers to send with the discovery request + items: + $ref: "#/components/schemas/RefreshRequestParamConfHealthCheckAuthenticationOau\ + thSecret" + httpDiscoveryRejectUnauthorized: + type: boolean + title: Reject unauthorized certificates + description: Reject TLS certificates that cannot be verified for the discovery + endpoint. Falls back to the source-level setting if not specified. + maxResponseBodySize: + type: string + title: Max response body size + description: Maximum size of the HTTP SD response body. Responses exceeding this + limit will be rejected. Defaults to 20 MB. username: type: string title: Username @@ -17118,6 +19471,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -17142,7 +19496,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -17181,6 +19535,7 @@ components: - k8s-node - k8s-pods - k8s-service-monitor + - http_sd x-speakeasy-enum-descriptions: - Static - DNS @@ -17188,6 +19543,7 @@ components: - Kubernetes Node - Kubernetes Pods - Kubernetes Service Monitor (v4.18+) + - HTTP SD description: Target discovery mechanism. Use static to manually enter a list of targets. x-speakeasy-unknown-values: allow @@ -17223,6 +19579,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. targets: type: array title: Targets @@ -17379,6 +19736,28 @@ components: type: string title: Description description: Optional description of this rule's purpose + httpDiscoveryUrl: + type: string + title: Discovery URL + description: URL to fetch target groups from (must be http or https) + pattern: ^https?:// + httpDiscoveryHeaders: + type: array + title: HTTP headers + description: Extra headers to send with the discovery request + items: + $ref: "#/components/schemas/RefreshRequestParamConfHealthCheckAuthenticationOau\ + thSecret" + httpDiscoveryRejectUnauthorized: + type: boolean + title: Reject unauthorized certificates + description: Reject TLS certificates that cannot be verified for the discovery + endpoint. Falls back to the source-level setting if not specified. + maxResponseBodySize: + type: string + title: Max response body size + description: Maximum size of the HTTP SD response body. Responses exceeding this + limit will be rejected. Defaults to 20 MB. username: type: string title: Username @@ -17461,6 +19840,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -17485,7 +19865,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -17603,6 +19983,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. clientSecret: type: string title: Client secret @@ -17665,6 +20046,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -17689,7 +20071,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -17793,6 +20175,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. clientSecret: type: string title: Client secret @@ -17849,6 +20232,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -17873,7 +20257,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -17986,6 +20370,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. username: type: string title: Username @@ -18076,6 +20461,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -18100,7 +20486,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -18218,6 +20604,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. clientSecret: type: string title: Client secret @@ -18312,6 +20699,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -18336,7 +20724,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -18526,6 +20914,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 @@ -18569,6 +20958,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -18593,7 +20983,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -18644,7 +21034,31 @@ components: title: Client Secret (text secret) description: Select or create a stored text secret certificate: - $ref: "#/components/schemas/CertificateTypeAzureBlobAuthTypeClientCert" + type: object + required: + - certificateName + - certPath + - privKeyPath + properties: + certificateName: + type: string + title: Certificate + description: The certificate you registered as credentials for your app in the + Azure portal + certPath: + type: string + title: Certificate path + description: Path on server containing certificates to use. PEM format. Can + reference $ENV_VARS. + privKeyPath: + type: string + title: Private key path + description: Path on server containing the private key to use. PEM format. Can + reference $ENV_VARS. + passphrase: + type: string + title: Passphrase + description: Passphrase to use to decrypt private key oauthEndpoint: $ref: "#/components/schemas/MicrosoftEntraIdAuthenticationEndpointOptionsSasl" clientId: @@ -18832,6 +21246,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 @@ -18882,7 +21297,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -18944,6 +21359,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. interval: type: number title: Interval @@ -18976,11 +21392,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 @@ -19005,7 +21423,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -19112,6 +21530,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 @@ -19155,6 +21574,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -19179,7 +21599,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -19267,6 +21687,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. orderedDelivery: type: boolean title: Ordered delivery @@ -19312,6 +21733,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -19336,7 +21758,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -19362,6 +21784,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 @@ -19392,6 +21815,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -19416,7 +21840,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -19498,6 +21922,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 @@ -19531,11 +21956,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 @@ -19560,7 +21987,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -19668,6 +22095,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 @@ -19701,11 +22129,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 @@ -19730,7 +22160,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -19901,6 +22331,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 @@ -19959,6 +22390,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -19983,7 +22415,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -20064,6 +22496,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. authToken: type: string title: Auth token @@ -20107,6 +22540,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -20131,7 +22565,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -20420,6 +22854,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 @@ -20446,6 +22881,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -20470,7 +22906,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -20635,6 +23071,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 @@ -20661,6 +23098,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -20685,7 +23123,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -20765,6 +23203,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 @@ -20791,6 +23230,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -20815,7 +23255,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -20864,6 +23304,16 @@ components: the Kubernetes Logs Event Breaker and the kubernetes_logs Pre-processing Pipeline to remove them from the events after the timestamps are extracted. + lineBufferLimit: + type: number + minimum: 1024 + title: Line buffer limit + description: Maximum bytes to buffer while reassembling a single log line. A + line that exceeds this size is flushed as-is, either whole or + partially. The default is 1048576 (1 MB). + __LBDisableAssembly: + type: boolean + description: Internal flag to disable LB worker payload reassembly. metadata: type: array title: Fields @@ -20894,6 +23344,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 @@ -20920,6 +23371,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -20944,7 +23396,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -20974,6 +23426,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 @@ -21000,6 +23453,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -21024,7 +23478,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -21244,6 +23698,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 @@ -21273,6 +23728,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -21297,7 +23753,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -21437,6 +23893,14 @@ components: type: boolean title: Enable for Amazon SQS description: Use Assume Role credentials when accessing Amazon SQS + sharedCredentials: + type: boolean + title: Share credentials for SQS and S3 + description: Use the same credential settings for S3 and SQS + sharedAssumeRoleArn: + type: boolean + title: Share AssumeRole ARN settings + description: Use the same settings for S3 and SQS preprocess: $ref: "#/components/schemas/PreprocessType" metadata: @@ -21465,6 +23929,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. awsApiKey: type: string title: Access key @@ -21474,6 +23939,34 @@ components: title: Secret key pair description: Select or create a stored secret that references your access key and secret key + SQSAssumeRoleArn: + type: string + title: SQS AssumeRole ARN + description: Amazon Resource Name (ARN) of the role to assume + pattern: "^arn:" + minLength: 20 + SQSAssumeRoleExternalId: + type: string + title: SQS External ID + description: External ID to use when assuming role + SQSDurationSeconds: + type: number + title: SQS duration (seconds) + description: 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). + minimum: 900 + maximum: 43200 + SQSAwsAuthenticationMethod: + $ref: "#/components/schemas/SqsAuthenticationMethodOptions" + SQSAwsSecret: + type: string + title: SQS secret key pair + description: Select or create a stored secret that references your access key + and secret key + SQSAwsSecretKey: + type: string + title: SQS secret key tagAfterProcessing: $ref: "#/components/schemas/TagAfterProcessingOptions" processedTagKey: @@ -21537,6 +24030,24 @@ components: description: 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_SQSAssumeRoleArn: + type: string + description: Binds 'SQSAssumeRoleArn' to a variable for dynamic value + resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' + prefixed ID (group-scoped). Variable value overrides + 'SQSAssumeRoleArn' at runtime. + __template_SQSAssumeRoleExternalId: + type: string + description: Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value + resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' + prefixed ID (group-scoped). Variable value overrides + 'SQSAssumeRoleExternalId' at runtime. + __template_SQSAwsSecretKey: + type: string + description: Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. + Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID + (group-scoped). Variable value overrides 'SQSAwsSecretKey' at + runtime. InputDatadogAgent: type: object required: @@ -21550,11 +24061,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 @@ -21579,7 +24092,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -21673,11 +24186,49 @@ components: extractMetrics: type: boolean title: Extract metrics - description: 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). + description: Extract each incoming metric to multiple events, one per data + point. Recommended when sending metrics to a statsd-type output. If + sending metrics to DatadogHQ or any destination that accepts + arbitrary JSON, leave disabled. + samplingRate: + type: number + title: Global sampling rate + description: The rate_by_service hint sent to connected tracers as the catch-all + sampling rate. Applies to any service/environment not explicitly + listed in Per-Service Sampling Rules. 1.0 = keep all traces + (default); 0.0 = suggest dropping all. + minimum: 0 + maximum: 1 + samplingRules: + type: array + title: Per-service sampling rules + description: Per-service sampling rate hints. Each row maps to a + "service:,env:" key in the rate_by_service response sent to + tracers. + minItems: 0 + items: + type: object + required: + - service + - environment + - rate + properties: + service: + type: string + title: Service + description: Datadog service name + minLength: 1 + environment: + type: string + title: Environment + description: "Datadog environment name (example: prod, staging)" + minLength: 1 + rate: + type: number + title: Rate + description: Sampling rate for this service/environment combination (0.0–1.0) + minimum: 0 + maximum: 1 metadata: type: array title: Fields @@ -21693,18 +24244,18 @@ components: enabled: type: boolean title: Forward API key validation requests - description: Toggle to Yes to send key validation requests from Datadog Agent to - the Datadog API. If toggled to No (the default), Stream handles - key validation requests by always responding that the key is - valid. + description: Forward key validation requests from the Datadog Agent to the + Datadog API. If disabled, Stream handles key validation requests + locally by always responding that the key is valid. rejectUnauthorized: type: boolean title: Reject unauthorized certificates description: Whether to reject certificates that cannot be verified against a - valid CA (e.g., self-signed certificates). + valid CA (such as self-signed certificates) 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 @@ -21742,6 +24293,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -21766,7 +24318,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -21809,6 +24361,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 @@ -21832,11 +24385,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 @@ -21861,7 +24416,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -22006,6 +24561,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 @@ -22054,6 +24610,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -22078,7 +24635,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -22226,6 +24783,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. awsApiKey: type: string title: Access key @@ -22306,6 +24864,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -22330,7 +24889,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -22368,6 +24927,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 @@ -22397,6 +24957,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -22421,7 +24982,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -22488,6 +25049,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 @@ -22530,6 +25092,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -22554,7 +25117,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -22694,6 +25257,14 @@ components: type: boolean title: Enable for Amazon SQS description: Use Assume Role credentials when accessing Amazon SQS + sharedCredentials: + type: boolean + title: Share credentials for SQS and S3 + description: Use the same credential settings for S3 and SQS + sharedAssumeRoleArn: + type: boolean + title: Share AssumeRole ARN settings + description: Use the same settings for S3 and SQS preprocess: $ref: "#/components/schemas/PreprocessType" metadata: @@ -22741,6 +25312,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. awsApiKey: type: string title: Access key @@ -22750,6 +25322,34 @@ components: title: Secret key pair description: Select or create a stored secret that references your access key and secret key + SQSAssumeRoleArn: + type: string + title: SQS AssumeRole ARN + description: Amazon Resource Name (ARN) of the role to assume + pattern: "^arn:" + minLength: 20 + SQSAssumeRoleExternalId: + type: string + title: SQS External ID + description: External ID to use when assuming role + SQSDurationSeconds: + type: number + title: SQS duration (seconds) + description: 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). + minimum: 900 + maximum: 43200 + SQSAwsAuthenticationMethod: + $ref: "#/components/schemas/SqsAuthenticationMethodOptions" + SQSAwsSecret: + type: string + title: SQS secret key pair + description: Select or create a stored secret that references your access key + and secret key + SQSAwsSecretKey: + type: string + title: SQS secret key processedTagKey: type: string title: Tag key @@ -22811,6 +25411,24 @@ components: description: 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_SQSAssumeRoleArn: + type: string + description: Binds 'SQSAssumeRoleArn' to a variable for dynamic value + resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' + prefixed ID (group-scoped). Variable value overrides + 'SQSAssumeRoleArn' at runtime. + __template_SQSAssumeRoleExternalId: + type: string + description: Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value + resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' + prefixed ID (group-scoped). Variable value overrides + 'SQSAssumeRoleExternalId' at runtime. + __template_SQSAwsSecretKey: + type: string + description: Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. + Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID + (group-scoped). Variable value overrides 'SQSAwsSecretKey' at + runtime. InputS3Inventory: type: object required: @@ -22828,6 +25446,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -22852,7 +25471,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -22992,6 +25611,14 @@ components: type: boolean title: Enable for Amazon SQS description: Use Assume Role credentials when accessing Amazon SQS + sharedCredentials: + type: boolean + title: Share credentials for SQS and S3 + description: Use the same credential settings for S3 and SQS + sharedAssumeRoleArn: + type: boolean + title: Share AssumeRole ARN settings + description: Use the same settings for S3 and SQS preprocess: $ref: "#/components/schemas/PreprocessType" metadata: @@ -23047,6 +25674,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. awsApiKey: type: string title: Access key @@ -23056,6 +25684,34 @@ components: title: Secret key pair description: Select or create a stored secret that references your access key and secret key + SQSAssumeRoleArn: + type: string + title: SQS AssumeRole ARN + description: Amazon Resource Name (ARN) of the role to assume + pattern: "^arn:" + minLength: 20 + SQSAssumeRoleExternalId: + type: string + title: SQS External ID + description: External ID to use when assuming role + SQSDurationSeconds: + type: number + title: SQS duration (seconds) + description: 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). + minimum: 900 + maximum: 43200 + SQSAwsAuthenticationMethod: + $ref: "#/components/schemas/SqsAuthenticationMethodOptions" + SQSAwsSecret: + type: string + title: SQS secret key pair + description: Select or create a stored secret that references your access key + and secret key + SQSAwsSecretKey: + type: string + title: SQS secret key tagAfterProcessing: $ref: "#/components/schemas/TagAfterProcessingOptions" processedTagKey: @@ -23119,6 +25775,24 @@ components: description: 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_SQSAssumeRoleArn: + type: string + description: Binds 'SQSAssumeRoleArn' to a variable for dynamic value + resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' + prefixed ID (group-scoped). Variable value overrides + 'SQSAssumeRoleArn' at runtime. + __template_SQSAssumeRoleExternalId: + type: string + description: Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value + resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' + prefixed ID (group-scoped). Variable value overrides + 'SQSAssumeRoleExternalId' at runtime. + __template_SQSAwsSecretKey: + type: string + description: Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. + Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID + (group-scoped). Variable value overrides 'SQSAwsSecretKey' at + runtime. InputSnmp: type: object required: @@ -23137,6 +25811,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -23161,7 +25836,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -23266,6 +25941,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 @@ -23299,11 +25975,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 @@ -23328,7 +26006,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -23530,6 +26208,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. username: type: string title: Username @@ -23600,6 +26279,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -23624,7 +26304,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -23671,6 +26351,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 @@ -23709,6 +26390,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -23733,7 +26415,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -23859,6 +26541,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. awsApiKey: type: string title: Access key @@ -23948,6 +26631,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -23972,7 +26656,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -24109,6 +26793,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. enableEnhancedProxyHeaderParsing: type: boolean title: Enable enhanced TLS handshake for proxy protocol @@ -24165,6 +26850,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -24189,7 +26875,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -24299,6 +26985,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. path: type: string title: Search path @@ -24367,6 +27054,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -24391,7 +27079,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -24492,6 +27180,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. authToken: type: string title: Auth token @@ -24539,6 +27228,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -24563,7 +27253,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -24713,6 +27403,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. host: type: string title: Address @@ -24783,6 +27474,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -24807,7 +27499,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -25095,6 +27787,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. logFingerprintMismatch: type: boolean title: Log CA fingerprint mismatch warning @@ -25148,6 +27841,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -25172,7 +27866,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -25246,7 +27940,7 @@ components: items: $ref: "#/components/schemas/MetadataConfInputCollection" maxEventBytes: - type: number + type: integer title: Event byte limit description: The maximum number of bytes in an event before it is flushed to the pipelines @@ -25255,6 +27949,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. disableJsonRendering: type: boolean title: Render event message strings @@ -25292,6 +27987,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -25316,7 +28012,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -25336,8 +28032,8 @@ components: title: Predicate description: String to filter log entries, in NSPredicate format (e.g., subsystem == "com.apple.security" or process == "kernel"). See - [Predicate format - reference](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/Predicates/AdditionalChapters/Introduction.html) + [Common Log Types and + Predicates](https://docs.cribl.io/edge/sources-apple-unified-logs/#examples) for more information. minLength: 1 readMode: @@ -25361,6 +28057,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 @@ -25389,6 +28086,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -25413,7 +28111,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -25478,6 +28176,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 @@ -25515,6 +28214,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -25539,7 +28239,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -25612,6 +28312,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 @@ -25642,6 +28343,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -25666,7 +28368,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -25839,6 +28541,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. clientSecret: type: string title: Client secret @@ -25890,6 +28593,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -25914,7 +28618,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -25994,7 +28698,8 @@ components: title: Query parameters description: Query-string parameters to send with this endpoint items: - $ref: "#/components/schemas/RequestParamConfInputOpenai" + $ref: "#/components/schemas/RefreshRequestParamConfHealthCheckAuthenticationOau\ + thSecret" paginationType: type: string title: Pagination type @@ -26117,6 +28822,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 @@ -26151,11 +28857,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 @@ -26180,7 +28888,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -26325,6 +29033,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 @@ -26373,6 +29082,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -26397,7 +29107,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -26479,6 +29189,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 @@ -26516,6 +29227,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -26540,7 +29252,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -26680,6 +29392,14 @@ components: type: boolean title: Enable for Amazon SQS description: Use Assume Role credentials when accessing Amazon SQS + sharedCredentials: + type: boolean + title: Share credentials for SQS and S3 + description: Use the same credential settings for S3 and SQS + sharedAssumeRoleArn: + type: boolean + title: Share AssumeRole ARN settings + description: Use the same settings for S3 and SQS preprocess: $ref: "#/components/schemas/PreprocessType" metadata: @@ -26722,6 +29442,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. awsApiKey: type: string title: Access key @@ -26731,6 +29452,34 @@ components: title: Secret key pair description: Select or create a stored secret that references your access key and secret key + SQSAssumeRoleArn: + type: string + title: SQS AssumeRole ARN + description: Amazon Resource Name (ARN) of the role to assume + pattern: "^arn:" + minLength: 20 + SQSAssumeRoleExternalId: + type: string + title: SQS External ID + description: External ID to use when assuming role + SQSDurationSeconds: + type: number + title: SQS duration (seconds) + description: 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). + minimum: 900 + maximum: 43200 + SQSAwsAuthenticationMethod: + $ref: "#/components/schemas/SqsAuthenticationMethodOptions" + SQSAwsSecret: + type: string + title: SQS secret key pair + description: Select or create a stored secret that references your access key + and secret key + SQSAwsSecretKey: + type: string + title: SQS secret key tagAfterProcessing: $ref: "#/components/schemas/TagAfterProcessingOptions" processedTagKey: @@ -26794,6 +29543,24 @@ components: description: 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_SQSAssumeRoleArn: + type: string + description: Binds 'SQSAssumeRoleArn' to a variable for dynamic value + resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' + prefixed ID (group-scoped). Variable value overrides + 'SQSAssumeRoleArn' at runtime. + __template_SQSAssumeRoleExternalId: + type: string + description: Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value + resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' + prefixed ID (group-scoped). Variable value overrides + 'SQSAssumeRoleExternalId' at runtime. + __template_SQSAwsSecretKey: + type: string + description: Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. + Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID + (group-scoped). Variable value overrides 'SQSAwsSecretKey' at + runtime. InputServicenowTable: type: object required: @@ -26815,6 +29582,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -26839,7 +29607,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -27005,6 +29773,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. credentialsSecret: type: string title: Credentials secret @@ -27131,11 +29900,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 @@ -27160,7 +29931,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -27312,16 +30083,12 @@ components: items: type: string minLength: 1 - hecAcks: - type: boolean - title: Zscaler HEC Acks - description: Whether to enable Zscaler HEC acknowledgements accessControlAllowOrigin: title: CORS allowed origins type: array - description: Optionally, list HTTP origins to which @{product} should send CORS - (cross-origin resource sharing) Access-Control-Allow-* headers. - Supports wildcards. + description: HTTP origins to which @{product} should send CORS (cross-origin + resource sharing) Access-Control-Allow-* headers. Supports + wildcards. minItems: 0 items: type: string @@ -27329,9 +30096,9 @@ components: accessControlAllowHeaders: title: CORS allowed headers type: array - description: 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. + description: HTTP headers that @{product} will send to allowed origins as + "Access-Control-Allow-Headers" in a CORS preflight response. Use "*" + to allow all headers. minItems: 0 items: type: string @@ -27339,11 +30106,16 @@ components: emitTokenMetrics: type: boolean title: Emit per-token request metrics - description: Enable to emit per-token (.http.perToken) and summary + description: Emit per-token (.http.perToken) and summary (.http.summary) request metrics + hecAcks: + type: boolean + title: Zscaler HEC Acks + description: Whether to enable Zscaler HEC acknowledgements 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 @@ -27369,6 +30141,24 @@ components: description: Binds 'hecAPI' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'hecAPI' at runtime. + __template_allowedIndexes: + type: string + description: Binds 'allowedIndexes' to a variable for dynamic value resolution. + Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID + (group-scoped). Variable value overrides 'allowedIndexes' at + runtime. + __template_accessControlAllowOrigin: + type: string + description: Binds 'accessControlAllowOrigin' to a variable for dynamic value + resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' + prefixed ID (group-scoped). Variable value overrides + 'accessControlAllowOrigin' at runtime. + __template_accessControlAllowHeaders: + type: string + description: Binds 'accessControlAllowHeaders' to a variable for dynamic value + resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' + prefixed ID (group-scoped). Variable value overrides + 'accessControlAllowHeaders' at runtime. InputCloudflareHec: type: object required: @@ -27383,11 +30173,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 @@ -27412,7 +30204,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -27442,46 +30234,7 @@ components: description: "Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted." items: - type: object - properties: - authType: - title: Authentication method - type: string - enum: - - secret - description: Select Secret to use a text secret to authenticate - x-speakeasy-unknown-values: allow - tokenSecret: - type: string - title: Token secret (text secret) - description: Select or create a stored text secret - token: - type: string - title: Token - description: "Shared secret to be provided by any client (Authorization: - )" - enabled: - type: boolean - title: Enable token - description: - type: string - title: Description - allowedIndexesAtToken: - type: array - title: Allowed indexes - description: Enter the values you want to allow in the HEC event index field at - the token level. Supports wildcards. To skip validation, leave - blank. - minItems: 0 - items: - type: string - minLength: 1 - metadata: - type: array - title: Fields - description: Fields to add to events referencing this token - items: - $ref: "#/components/schemas/MetadataConfInputCollection" + $ref: "#/components/schemas/AuthTokenConfInputCloudflareHec" tls: type: object title: TLS settings (server side) @@ -27617,6 +30370,31 @@ components: items: type: string minLength: 1 + accessControlAllowOrigin: + title: CORS allowed origins + type: array + description: HTTP origins to which @{product} should send CORS (cross-origin + resource sharing) Access-Control-Allow-* headers. Supports + wildcards. + minItems: 0 + items: + type: string + minLength: 1 + accessControlAllowHeaders: + title: CORS allowed headers + type: array + description: HTTP headers that @{product} will send to allowed origins as + "Access-Control-Allow-Headers" in a CORS preflight response. Use "*" + to allow all headers. + minItems: 0 + items: + type: string + minLength: 1 + emitTokenMetrics: + type: boolean + title: Emit per-token request metrics + description: Emit per-token (.http.perToken) and summary + (.http.summary) request metrics breakerRulesets: type: array title: Event Breaker rulesets @@ -27632,6 +30410,448 @@ components: out, as is, to the Pipelines minimum: 10 maximum: 43200000 + 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 + to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID + (group-scoped). Variable value overrides 'environment' at runtime. + __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_host: + type: string + description: 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: + type: string + description: 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_hecAPI: + type: string + description: Binds 'hecAPI' to a variable for dynamic value resolution. Set to + variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID + (group-scoped). Variable value overrides 'hecAPI' at runtime. + __template_allowedIndexes: + type: string + description: Binds 'allowedIndexes' to a variable for dynamic value resolution. + Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID + (group-scoped). Variable value overrides 'allowedIndexes' at + runtime. + __template_accessControlAllowOrigin: + type: string + description: Binds 'accessControlAllowOrigin' to a variable for dynamic value + resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' + prefixed ID (group-scoped). Variable value overrides + 'accessControlAllowOrigin' at runtime. + __template_accessControlAllowHeaders: + type: string + description: Binds 'accessControlAllowHeaders' to a variable for dynamic value + resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' + prefixed ID (group-scoped). Variable value overrides + 'accessControlAllowHeaders' at runtime. + InputSysdigHec: + type: object + required: + - type + - host + - port + - hecAPI + properties: + id: + type: string + title: Input ID + 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 + description: Pipeline to process data from this Source before sending it through + the Routes + sendToRoutes: + type: boolean + description: Select whether to send data to Routes, or directly to Destinations. + environment: + type: string + title: Environment + description: Optionally, enable this config only on a specified Git branch. If + empty, will be enabled everywhere. + pqEnabled: + type: boolean + title: Enable persistent queue + description: Use a disk queue to minimize data loss when connected services + block. See [Cribl + Docs](https://docs.cribl.io/stream/persistent-queues) for PQ + defaults (Cribl-managed Cloud Workers) and configuration options + (on-prem and hybrid Workers). + streamtags: + type: array + title: Tags + description: Metadata tags used for categorization and filtering. + items: + type: string + criblSourceProvenance: + $ref: "#/components/schemas/InputCollectionOriginDataSourceDiscoveryWithDestina\ + tionArnConstraint" + connections: + type: array + title: Use QuickConnect + description: Direct connections to Destinations, and optionally via a Pipeline + or a Pack + items: + $ref: "#/components/schemas/ConnectionConfInputCollection" + pq: + $ref: "#/components/schemas/PqType" + host: + type: string + title: Address + description: Address to bind on. Defaults to 0.0.0.0 (all addresses). + port: + type: number + title: Port + maximum: 65535 + description: Port to listen on + authTokens: + type: array + title: Auth tokens + description: "Shared secrets to be provided by any client (Authorization: + ). If empty, unauthorized access is permitted." + items: + $ref: "#/components/schemas/AuthTokenConfInputCloudflareHec" + tls: + $ref: "#/components/schemas/TlsSettingsServerSideType" + maxActiveReq: + type: number + title: Active request limit + description: "Maximum number of active requests allowed per Worker Process. Set + to 0 for unlimited. Caution: Increasing the limit above the default + value, or setting it to unlimited, may degrade performance and + reduce throughput." + minimum: 0 + maxRequestsPerSocket: + type: integer + title: Requests-per-socket limit + description: Maximum number of requests per socket before @{product} instructs + the client to close the connection. Default is 0 (unlimited). + minimum: 0 + enableProxyHeader: + type: boolean + title: Show originating IP + description: Extract the client IP and port from PROXY protocol v1/v2. When + enabled, the X-Forwarded-For header is ignored. Disable to use the + X-Forwarded-For header for client IP extraction. + captureHeaders: + type: boolean + title: Capture request headers + description: Add request headers to events, in the __headers field + activityLogSampleRate: + type: number + title: Activity log sample rate + description: How often request activity is logged at the `info` level. A value + of 1 would log every request, 10 every 10th request, etc. + minimum: 1 + requestTimeout: + type: number + title: Request timeout (seconds) + description: How long to wait for an incoming request to complete before + aborting it. Use 0 to disable. + minimum: 0 + socketTimeout: + type: number + title: Socket timeout (seconds) + description: How long @{product} should wait before assuming that an inactive + socket has timed out. To wait forever, set to 0. + minimum: 0 + keepAliveTimeout: + type: number + title: Keep-alive timeout (seconds) + description: After the last response is sent, @{product} will wait this long for + additional data before closing the socket connection. Minimum 1 + second, maximum 600 seconds (10 minutes). + minimum: 1 + maximum: 600 + ipAllowlistRegex: + type: string + title: IP allowlist regex + description: Messages from matched IP addresses will be processed, unless also + matched by the denylist + ipDenylistRegex: + type: string + title: IP denylist regex + description: Messages from matched IP addresses will be ignored. This takes + precedence over the allowlist. + hecAPI: + type: string + title: HEC endpoint + description: Absolute path on which to listen for the Sysdig HTTP Event + Collector API requests. This input supports the /event and /raw + endpoints. + pattern: ^/ + metadata: + type: array + title: Fields + description: Fields to add to every event. May be overridden by fields added at + the token or request level. + items: + $ref: "#/components/schemas/MetadataConfInputCollection" + allowedIndexes: + type: array + title: Allowed indexes + description: List values allowed in HEC event index field. Leave blank to skip + validation. Supports wildcards. The values here can expand index + validation at the token level. + minItems: 0 + items: + type: string + minLength: 1 + accessControlAllowOrigin: + title: CORS allowed origins + type: array + description: HTTP origins to which @{product} should send CORS (cross-origin + resource sharing) Access-Control-Allow-* headers. Supports + wildcards. + minItems: 0 + items: + type: string + minLength: 1 + accessControlAllowHeaders: + title: CORS allowed headers + type: array + description: HTTP headers that @{product} will send to allowed origins as + "Access-Control-Allow-Headers" in a CORS preflight response. Use "*" + to allow all headers. + minItems: 0 + items: + type: string + minLength: 1 + emitTokenMetrics: + type: boolean + title: Emit per-token request metrics + description: Emit per-token (.http.perToken) and summary + (.http.summary) request metrics + 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 + to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID + (group-scoped). Variable value overrides 'environment' at runtime. + __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_host: + type: string + description: 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: + type: string + description: 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_hecAPI: + type: string + description: Binds 'hecAPI' to a variable for dynamic value resolution. Set to + variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID + (group-scoped). Variable value overrides 'hecAPI' at runtime. + __template_allowedIndexes: + type: string + description: Binds 'allowedIndexes' to a variable for dynamic value resolution. + Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID + (group-scoped). Variable value overrides 'allowedIndexes' at + runtime. + __template_accessControlAllowOrigin: + type: string + description: Binds 'accessControlAllowOrigin' to a variable for dynamic value + resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' + prefixed ID (group-scoped). Variable value overrides + 'accessControlAllowOrigin' at runtime. + __template_accessControlAllowHeaders: + type: string + description: Binds 'accessControlAllowHeaders' to a variable for dynamic value + resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' + prefixed ID (group-scoped). Variable value overrides + 'accessControlAllowHeaders' at runtime. + InputUpwindHec: + type: object + required: + - type + - host + - port + - hecAPI + properties: + id: + type: string + title: Input ID + description: Unique ID for this input + type: + type: string + description: Source type identifier. + enum: + - upwind_hec + disabled: + type: boolean + title: Disabled + description: If true, the Source is disabled and will not collect data. + pipeline: + type: string + title: Pipeline + description: Pipeline to process data from this Source before sending it through + the Routes + sendToRoutes: + type: boolean + description: Select whether to send data to Routes, or directly to Destinations. + environment: + type: string + title: Environment + description: Optionally, enable this config only on a specified Git branch. If + empty, will be enabled everywhere. + pqEnabled: + type: boolean + title: Enable persistent queue + description: Use a disk queue to minimize data loss when connected services + block. See [Cribl + Docs](https://docs.cribl.io/stream/persistent-queues) for PQ + defaults (Cribl-managed Cloud Workers) and configuration options + (on-prem and hybrid Workers). + streamtags: + type: array + title: Tags + description: Metadata tags used for categorization and filtering. + items: + type: string + criblSourceProvenance: + $ref: "#/components/schemas/InputCollectionOriginDataSourceDiscoveryWithDestina\ + tionArnConstraint" + connections: + type: array + title: Use QuickConnect + description: Direct connections to Destinations, and optionally via a Pipeline + or a Pack + items: + $ref: "#/components/schemas/ConnectionConfInputCollection" + pq: + $ref: "#/components/schemas/PqType" + host: + type: string + title: Address + description: Address to bind on. Defaults to 0.0.0.0 (all addresses). + port: + type: number + title: Port + maximum: 65535 + description: Port to listen on + authTokens: + type: array + title: Auth tokens + description: "Shared secrets to be provided by any client (Authorization: + ). If empty, unauthorized access is permitted." + items: + $ref: "#/components/schemas/AuthTokenConfInputCloudflareHec" + tls: + $ref: "#/components/schemas/TlsSettingsServerSideType" + maxActiveReq: + type: number + title: Active request limit + description: "Maximum number of active requests allowed per Worker Process. Set + to 0 for unlimited. Caution: Increasing the limit above the default + value, or setting it to unlimited, may degrade performance and + reduce throughput." + minimum: 0 + maxRequestsPerSocket: + type: integer + title: Requests-per-socket limit + description: Maximum number of requests per socket before @{product} instructs + the client to close the connection. Default is 0 (unlimited). + minimum: 0 + enableProxyHeader: + type: boolean + title: Show originating IP + description: Extract the client IP and port from PROXY protocol v1/v2. When + enabled, the X-Forwarded-For header is ignored. Disable to use the + X-Forwarded-For header for client IP extraction. + captureHeaders: + type: boolean + title: Capture request headers + description: Add request headers to events, in the __headers field + activityLogSampleRate: + type: number + title: Activity log sample rate + description: How often request activity is logged at the `info` level. A value + of 1 would log every request, 10 every 10th request, etc. + minimum: 1 + requestTimeout: + type: number + title: Request timeout (seconds) + description: How long to wait for an incoming request to complete before + aborting it. Use 0 to disable. + minimum: 0 + socketTimeout: + type: number + title: Socket timeout (seconds) + description: How long @{product} should wait before assuming that an inactive + socket has timed out. To wait forever, set to 0. + minimum: 0 + keepAliveTimeout: + type: number + title: Keep-alive timeout (seconds) + description: After the last response is sent, @{product} will wait this long for + additional data before closing the socket connection. Minimum 1 + second, maximum 600 seconds (10 minutes). + minimum: 1 + maximum: 600 + ipAllowlistRegex: + type: string + title: IP allowlist regex + description: Messages from matched IP addresses will be processed, unless also + matched by the denylist + ipDenylistRegex: + type: string + title: IP denylist regex + description: Messages from matched IP addresses will be ignored. This takes + precedence over the allowlist. + hecAPI: + type: string + title: HEC endpoint + description: Absolute path on which to listen for the Upwind HTTP Event + Collector API requests. This input supports the /event endpoint. + pattern: ^/ + metadata: + type: array + title: Fields + description: Fields to add to every event. May be overridden by fields added at + the token or request level. + items: + $ref: "#/components/schemas/MetadataConfInputCollection" + allowedIndexes: + type: array + title: Allowed indexes + description: List values allowed in HEC event index field. Leave blank to skip + validation. Supports wildcards. The values here can expand index + validation at the token level. + minItems: 0 + items: + type: string + minLength: 1 accessControlAllowOrigin: title: CORS allowed origins type: array @@ -27660,6 +30880,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 @@ -27722,6 +30943,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -27746,7 +30968,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -27865,6 +31087,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. workspaceId: type: string title: Workspace ID @@ -27944,6 +31167,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -27968,7 +31192,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -27998,13 +31222,18 @@ components: required: - contentType - cronSchedule - - earliest - - latest properties: contentType: type: string title: Endpoint name pattern: ^[a-zA-Z0-9_-\s]+$ + enum: + - activities + - chats + - projects + - groups + - organizations + x-speakeasy-unknown-values: allow contentDescription: type: string title: Description @@ -28027,10 +31256,6 @@ components: task state manageState: type: object - cronSchedule: - type: string - title: Cron schedule - description: Schedule on which to run this collection job earliest: type: string title: Earliest @@ -28039,6 +31264,10 @@ components: type: string title: Latest description: Latest time for data collection, relative to now + cronSchedule: + type: string + title: Cron schedule + description: Schedule on which to run this collection job jobTimeout: title: Job timeout type: string @@ -28086,6 +31315,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 @@ -28114,6 +31344,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -28138,7 +31369,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string criblSourceProvenance: @@ -28225,6 +31456,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 @@ -28307,6 +31539,8 @@ components: - $ref: "#/components/schemas/InputServicenowTable" - $ref: "#/components/schemas/InputZscalerHec" - $ref: "#/components/schemas/InputCloudflareHec" + - $ref: "#/components/schemas/InputSysdigHec" + - $ref: "#/components/schemas/InputUpwindHec" - $ref: "#/components/schemas/InputOpenaiComplianceLogs" - $ref: "#/components/schemas/InputAnthropicCompliance" - $ref: "#/components/schemas/InputOkta" @@ -28378,6 +31612,8 @@ components: servicenow_table: "#/components/schemas/InputServicenowTable" zscaler_hec: "#/components/schemas/InputZscalerHec" cloudflare_hec: "#/components/schemas/InputCloudflareHec" + sysdig_hec: "#/components/schemas/InputSysdigHec" + upwind_hec: "#/components/schemas/InputUpwindHec" openai_compliance_logs: "#/components/schemas/InputOpenaiComplianceLogs" anthropic_compliance: "#/components/schemas/InputAnthropicCompliance" okta: "#/components/schemas/InputOkta" @@ -28410,7 +31646,7 @@ components: metadata: type: array items: - $ref: "#/components/schemas/EventBreakerRuleFields" + $ref: "#/components/schemas/MetadataConfAddHecTokenRequest" description: Array of key-value pairs to associate with the HEC token for tagging, categorization, or providing additional context. Each item in the array is an object with a name and a @@ -28496,7 +31732,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string workerAffinity: @@ -28689,7 +31925,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string executor: @@ -28775,7 +32011,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string savedQueryId: @@ -28889,6 +32125,12 @@ components: status: $ref: "#/components/schemas/JobStatus" description: Status of the job. + workerOwner: + type: string + description: The GUID of the worker node that owns this artifact, set when the + job ran on a Captain while the leader was offline. When present, the + leader proxies read access to the artifact; mutating actions + (replay, delete, stop) are not supported. required: - args - id @@ -28946,6 +32188,7 @@ components: id: type: string title: Notification target ID + description: The id of the Notification target. pattern: ^[a-zA-Z0-9_-]+$ anyOf: - properties: @@ -28978,6 +32221,9 @@ components: type: string title: Bcc description: "Bcc: Recipients' email addresses" + description: Email recipient settings for the Notification target. + description: Simple Mail Transfer Protocol (SMTP) configuration for the + Notification target. conf: type: object title: Condition-specific configurations @@ -29017,16 +32263,22 @@ components: - properties: mode: const: direct + description: Delivery mode for Notifications. templateTargetPairs: + type: array minItems: 1 + description: Template and target pairs for direct Notification delivery. required: - mode - templateTargetPairs - properties: mode: const: policy + description: Delivery mode for Notifications. templateTargetPairs: + type: array maxItems: 0 + description: Template and target pairs for direct Notification delivery. required: - mode - properties: @@ -29043,14 +32295,6 @@ components: description: Human-readable message that describes the error. required: - message - HealthStringType: - type: string - enum: - - Green - - Yellow - - Red - - Unknown - x-speakeasy-unknown-values: allow WorkerPQStatus: type: object properties: @@ -29084,6 +32328,31 @@ components: type: array items: type: string + PaginatedInputResponse: + type: object + required: + - items + - count + - offset + - limit + properties: + items: + type: array + description: the pre-limited items in the list of results + items: + $ref: "#/components/schemas/InputResponse" + count: + type: integer + description: number of items present in the items array + offset: + type: integer + description: pagination offset + limit: + type: integer + description: pagination limit + totalCount: + type: integer + description: total number of items available (present when limit is set) UpdateHecTokenRequest: type: object properties: @@ -29102,7 +32371,7 @@ components: metadata: type: array items: - $ref: "#/components/schemas/EventBreakerRuleFields" + $ref: "#/components/schemas/MetadataConfAddHecTokenRequest" description: Array of key-value pairs to associate with the HEC token for tagging, categorization, or providing additional context. Each item in the array is an object with a name and a @@ -29140,7 +32409,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string defaultId: @@ -29187,7 +32456,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string method: @@ -29334,6 +32603,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. customSourceExpression: type: string title: Source expression @@ -29440,7 +32710,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -29513,6 +32783,34 @@ components: 'application/x-www-form-urlencoded' when sending this request. items: $ref: "#/components/schemas/OauthHeaderConfInputServicenowTable" + refreshTokenField: + type: string + title: Refresh token field + description: "Field name in the token response that contains a refresh token + (example: 'refresh_token'). When set, @{product} will use the + refresh token to obtain new access tokens without re-sending + credentials." + rotateRefreshToken: + type: boolean + title: Rotate refresh token + description: "@{product} will update the stored value on each successful + refresh. Enable if the server issues a new refresh token on every + use." + refreshUrl: + type: string + title: Refresh URL + description: Override the refresh endpoint URL if it differs from the Login URL. + Defaults to Login URL. + pattern: ^https?://.* + refreshRequestParams: + type: array + title: Refresh grant parameters + description: Parameters to include in the refresh token request body. Most + servers require 'client_id' here. If not set, @{product} sends only + grant_type, refresh_token, and client_secret. + items: + $ref: "#/components/schemas/RefreshRequestParamConfHealthCheckAuthenticationOau\ + thSecret" url: type: string title: Webhook URL @@ -29591,6 +32889,11 @@ components: description: 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_refreshUrl: + type: string + description: Binds 'refreshUrl' to a variable for dynamic value resolution. Set + to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID + (group-scoped). Variable value overrides 'refreshUrl' at runtime. __template_url: type: string description: Binds 'url' to a variable for dynamic value resolution. Set to @@ -29637,7 +32940,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string keepAlive: @@ -29744,6 +33047,34 @@ components: type: string title: OAuth secret description: Secret parameter value to pass in request body + refreshTokenField: + type: string + title: Refresh token field + description: "Field name in the token response that contains a refresh token + (example: 'refresh_token'). When set, @{product} will use the + refresh token to obtain new access tokens without re-sending + credentials." + rotateRefreshToken: + type: boolean + title: Rotate refresh token + description: "@{product} will update the stored value on each successful + refresh. Enable if the server issues a new refresh token on every + use." + refreshUrl: + type: string + title: Refresh URL + description: Override the refresh endpoint URL if it differs from the Login URL. + Defaults to Login URL. + pattern: ^https?://.* + refreshRequestParams: + type: array + title: Refresh grant parameters + description: Parameters to include in the refresh token request body. Most + servers require 'client_id' here. If not set, @{product} sends only + grant_type, refresh_token, and client_secret. + items: + $ref: "#/components/schemas/RefreshRequestParamConfHealthCheckAuthenticationOau\ + thSecret" client_id: title: Client ID type: string @@ -29774,6 +33105,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. format: enum: - ndjson @@ -29887,7 +33219,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -29939,6 +33271,11 @@ components: description: 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_refreshUrl: + type: string + description: Binds 'refreshUrl' to a variable for dynamic value resolution. Set + to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID + (group-scoped). Variable value overrides 'refreshUrl' at runtime. __template_client_id: type: string description: Binds 'client_id' to a variable for dynamic value resolution. Set @@ -29999,7 +33336,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string __template_streamtags: @@ -30039,7 +33376,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string protocol: @@ -30208,6 +33545,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. loadBalanced: type: boolean title: Load balancing @@ -30345,7 +33683,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -30407,7 +33745,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string host: @@ -30463,6 +33801,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. maxFailedHealthChecks: type: number title: Failed health check limit @@ -30526,7 +33865,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -30609,7 +33948,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string dnsResolvePeriodSec: @@ -30688,6 +34027,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. maxFailedHealthChecks: type: number title: Failed health check limit @@ -30828,7 +34168,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -30898,7 +34238,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string loadBalanced: @@ -30907,16 +34247,6 @@ components: description: Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS. - nextQueue: - type: string - title: Next Processing Queue - description: In the Splunk app, define which Splunk processing queue to send the - events after HEC processing. - tcpRouting: - type: string - title: Default _TCP_ROUTING - description: In the Splunk app, set the value of _TCP_ROUTING for events that do - not have _ctrl._TCP_ROUTING set. tls: $ref: "#/components/schemas/TlsSettingsClientSideTypeCaPathCertPathExtended" concurrency: @@ -31000,11 +34330,22 @@ components: the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. + nextQueue: + type: string + title: Next Processing Queue + description: In the Splunk app, define which Splunk processing queue to send the + events after HEC processing. + tcpRouting: + type: string + title: Default _TCP_ROUTING + description: In the Splunk app, set the value of _TCP_ROUTING for events that do + not have _ctrl._TCP_ROUTING set. onBackpressure: $ref: "#/components/schemas/BackpressureBehaviorOptions" description: type: string title: Description + description: Optional description for this configuration. url: type: string title: Splunk HEC Endpoint @@ -31125,7 +34466,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -31156,6 +34497,12 @@ components: - type OutputWizHec: type: object + required: + - type + - wiz_connector_id + - wiz_environment + - data_center + - wiz_sourcetype properties: id: type: string @@ -31184,19 +34531,9 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string - nextQueue: - type: string - title: Next Processing Queue - description: In the Splunk app, define which Splunk processing queue to send the - events after HEC processing. - tcpRouting: - type: string - title: Default _TCP_ROUTING - description: In the Splunk app, set the value of _TCP_ROUTING for events that do - not have _ctrl._TCP_ROUTING set. tls: $ref: "#/components/schemas/TlsSettingsClientSideTypeCaPathCertPathExtended" concurrency: @@ -31275,8 +34612,6 @@ components: the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. - onBackpressure: - $ref: "#/components/schemas/BackpressureBehaviorOptions" wiz_connector_id: type: string title: Wiz Connector ID @@ -31297,9 +34632,20 @@ components: type: string title: Wiz Defend Source Type description: "" + onBackpressure: + $ref: "#/components/schemas/BackpressureBehaviorOptions" description: type: string title: Description + description: Optional description for this configuration. + token: + type: string + title: Authentication token + description: Wiz Defend Auth token + textSecret: + type: string + title: Authentication token (text secret) + description: Select or create a stored text secret pqStrictOrdering: title: Strict ordering description: Use FIFO (first in, first out) processing. Disable to forward new @@ -31354,19 +34700,11 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object title: "" - token: - type: string - title: Authentication token - description: Wiz Defend Auth token - textSecret: - type: string - title: Authentication token (text secret) - description: Select or create a stored text secret __template_streamtags: type: string description: Binds 'streamtags' to a variable for dynamic value resolution. Set @@ -31378,12 +34716,6 @@ components: resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' 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_wiz_environment: type: string description: Binds 'wiz_environment' to a variable for dynamic value resolution. @@ -31401,12 +34733,12 @@ components: Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'wiz_sourcetype' at runtime. - required: - - type - - wiz_connector_id - - wiz_environment - - data_center - - wiz_sourcetype + __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. OutputTcpjson: type: object properties: @@ -31437,7 +34769,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string loadBalanced: @@ -31489,6 +34821,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. host: type: string title: Address @@ -31584,7 +34917,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -31654,7 +34987,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string authType: @@ -31749,6 +35082,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. token: type: string title: Auth token @@ -31812,7 +35146,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -31867,7 +35201,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string authType: @@ -31964,6 +35298,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. token: type: string title: Auth token @@ -32027,7 +35362,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -32082,7 +35417,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string destPath: @@ -32186,6 +35521,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. compress: $ref: "#/components/schemas/CompressionOptionsHttp" compressionLevel: @@ -32347,7 +35683,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string endpoint: @@ -32537,6 +35873,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. awsApiKey: type: string title: Access key @@ -32770,7 +36107,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string containerName: @@ -32916,6 +36253,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. compress: $ref: "#/components/schemas/CompressionOptionsHttp" compressionLevel: @@ -33157,7 +36495,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string clusterUrl: @@ -33225,6 +36563,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. clientSecret: type: string title: Client secret @@ -33628,7 +36967,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -33748,7 +37087,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string logType: @@ -33870,6 +37209,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 @@ -33924,7 +37264,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -34005,7 +37345,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string streamName: @@ -34104,6 +37444,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. awsApiKey: type: string title: Access key @@ -34173,7 +37514,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -34258,7 +37599,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string dataset: @@ -34353,6 +37694,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 @@ -34407,7 +37749,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -34471,7 +37813,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string brokers: @@ -34581,6 +37923,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 @@ -34635,7 +37978,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -34666,6 +38009,194 @@ components: Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime. + OutputGoogleBigquery: + type: object + required: + - type + - projectId + - datasetId + - tableId + - googleAuthMethod + properties: + id: + type: string + title: Output ID + description: Unique ID for this output + type: + type: string + enum: + - google_bigquery + 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: Metadata tags used for categorization and filtering. + items: + type: string + projectId: + type: string + title: Project ID + description: Google Cloud project ID that contains the BigQuery dataset + datasetId: + type: string + title: Dataset ID + description: BigQuery dataset ID + tableId: + type: string + title: Table ID + description: BigQuery table ID + timestampColumn: + type: string + title: Timestamp column + description: Column name to write event time (`_time`) as a BigQuery TIMESTAMP. + Used for time partitioning + googleAuthMethod: + type: string + title: Google authentication method + description: Choose Auto to use Google Application Default Credentials (ADC), or + Secret to select or create a stored secret that references Google + service account credentials + enum: + - auto + - secret + x-speakeasy-enum-descriptions: + - Auto + - Secret + x-speakeasy-unknown-values: allow + secret: + type: string + title: Service account credentials (text secret) + description: Select or create a stored text secret + flushPeriod: + title: Flush period (sec) + description: Maximum time to wait before sending a batch (when batch size limit + is not reached) + type: number + minimum: 1 + maxQueueSize: + type: number + title: Queue size limit + description: Maximum number of queued batches before blocking + minimum: 1 + maxRecordSizeKB: + type: number + title: Batch size limit (KB) + description: Maximum size (KB) of a single append request. BigQuery limit is 10 MB + minimum: 1 + maximum: 10240 + maxInProgress: + type: number + title: Concurrent request limit + description: The maximum number of in-progress API requests before backpressure + is applied + minimum: 1 + maximum: 100 + onBackpressure: + $ref: "#/components/schemas/BackpressureBehaviorOptions" + 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 + events to receivers before queue is flushed. + type: boolean + pqRatePerSec: + type: number + title: Drain rate limit (EPS) + description: Throttling rate (in events per second) to impose while writing to + Destinations from PQ. Defaults to 0, which disables throttling. + minimum: 0 + pqMode: + $ref: "#/components/schemas/ModeOptions" + pqMaxBufferSize: + type: number + title: Buffer size limit (events - deprecated) + description: 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. + minimum: 42 + maximum: 1000 + pqMaxBackpressureSec: + type: number + title: Backpressure duration limit + description: How long (in seconds) to wait for backpressure to resolve before + engaging the queue + minimum: 0 + pqMaxFileSize: + type: string + title: File size limit + description: The maximum size to store in each queue file before closing and + optionally compressing (KB, MB, etc.) + pattern: ^\d+\s*(?:\w{2})?$ + pqMaxSize: + type: string + title: Queue size limit + description: 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. + pattern: ^\d+\s*(?:\w{2})?$ + pqPath: + type: string + title: Queue file path + description: "The location for the persistent queue files. To this field's + value, the system will append: //." + pqCompress: + $ref: "#/components/schemas/CompressionOptionsPq" + pqOnBackpressure: + $ref: "#/components/schemas/QueueFullBehaviorOptions" + pqMaxBufferSizeBytes: + type: string + title: Buffer size limit (bytes) + description: The maximum size to hold in memory before writing events to disk. + Enter a numeral with units of KB, MB, etc. The minimum value is 64KB + and the maximum value is 10MB. + pattern: ^\d+\s*(?:\w{2})?$ + pqControls: + type: object + title: "" + __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_projectId: + type: string + description: Binds 'projectId' to a variable for dynamic value resolution. Set + to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID + (group-scoped). Variable value overrides 'projectId' at runtime. + __template_datasetId: + type: string + description: Binds 'datasetId' to a variable for dynamic value resolution. Set + to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID + (group-scoped). Variable value overrides 'datasetId' at runtime. + __template_tableId: + type: string + description: Binds 'tableId' to a variable for dynamic value resolution. Set to + variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID + (group-scoped). Variable value overrides 'tableId' 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. OutputGoogleChronicle: type: object required: @@ -34699,7 +38230,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string apiVersion: @@ -34832,6 +38363,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. extraLogTypes: type: array title: Custom log types @@ -34960,7 +38492,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -35033,7 +38565,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string bucket: @@ -35186,6 +38718,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. compress: $ref: "#/components/schemas/CompressionOptionsHttp" compressionLevel: @@ -35403,7 +38936,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string logLocationType: @@ -35736,6 +39269,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 @@ -35805,7 +39339,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -35886,6 +39420,226 @@ components: resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'payloadExpression' at runtime. + OutputGoogleCloudObservability: + type: object + required: + - type + - googleAuthMethod + properties: + id: + type: string + title: Output ID + description: Unique ID for this output + type: + type: string + enum: + - google_cloud_observability + 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: Metadata tags used for categorization and filtering. + items: + type: string + protocol: + type: string + enum: + - grpc + x-speakeasy-unknown-values: allow + otlpVersion: + type: string + enum: + - 1.3.1 + x-speakeasy-unknown-values: allow + endpoint: + type: string + title: Endpoint + description: 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. + enum: + - telemetry.googleapis.com:443 + x-speakeasy-unknown-values: allow + googleAuthMethod: + type: string + title: Google authentication method + description: Choose Auto to use Google Application Default Credentials (ADC). + Choose Secret to select or create a stored secret that references + Google service account credentials. + enum: + - auto + - secret + x-speakeasy-enum-descriptions: + - Auto + - Secret + x-speakeasy-unknown-values: allow + metadata: + type: array + title: Metadata + description: 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'. + minItems: 0 + items: + $ref: "#/components/schemas/KeyValueMetadataConfOutputFilesystem" + dynamicHeadersEnabled: + type: boolean + title: Use dynamic metadata + description: Batch event data upon dynamic metadata (whether presented or not) + dynamicHeadersField: + type: string + title: Dynamic metadata field + description: When presented, this field which contains metadata, will be + injected into the Destination metadata and used to batch events. + concurrency: + type: number + title: Request concurrency + description: Maximum number of ongoing requests before blocking + minimum: 1 + maximum: 32 + maxPayloadSizeKB: + type: number + title: Body size limit (KB) + description: Maximum size, in KB, of the request body sent to Google Cloud + Observability + minimum: 1024 + maximum: 10240 + timeoutSec: + type: number + minimum: 1 + maximum: 9007199254740991 + title: Request timeout + description: Amount of time, in seconds, to wait for a request to complete + before canceling it + flushPeriodSec: + type: number + title: Flush period (sec) + description: Maximum time between requests. Small values could cause the payload + size to be smaller than the configured Body size limit. + failedRequestLoggingMode: + $ref: "#/components/schemas/FailedRequestLoggingModeOptions" + connectionTimeout: + type: number + title: Connection timeout + description: Amount of time (milliseconds) to wait for the connection to + establish before retrying + keepAliveTime: + type: number + title: Keep alive time (seconds) + description: How often the sender should ping the peer to keep the connection open + minimum: 1 + tls: + $ref: "#/components/schemas/TlsSettingsClientSideTypeExtended" + maxPayloadEvents: + type: number + title: Events-per-request limit + description: 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. + 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) + description: Select or create a stored text secret + pqStrictOrdering: + title: Strict ordering + description: Use FIFO (first in, first out) processing. Disable to forward new + events to receivers before queue is flushed. + type: boolean + pqRatePerSec: + type: number + title: Drain rate limit (EPS) + description: Throttling rate (in events per second) to impose while writing to + Destinations from PQ. Defaults to 0, which disables throttling. + minimum: 0 + pqMode: + $ref: "#/components/schemas/ModeOptions" + pqMaxBufferSize: + type: number + title: Buffer size limit (events - deprecated) + description: 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. + minimum: 42 + maximum: 1000 + pqMaxBackpressureSec: + type: number + title: Backpressure duration limit + description: How long (in seconds) to wait for backpressure to resolve before + engaging the queue + minimum: 0 + pqMaxFileSize: + type: string + title: File size limit + description: The maximum size to store in each queue file before closing and + optionally compressing (KB, MB, etc.) + pattern: ^\d+\s*(?:\w{2})?$ + pqMaxSize: + type: string + title: Queue size limit + description: 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. + pattern: ^\d+\s*(?:\w{2})?$ + pqPath: + type: string + title: Queue file path + description: "The location for the persistent queue files. To this field's + value, the system will append: //." + pqCompress: + $ref: "#/components/schemas/CompressionOptionsPq" + pqOnBackpressure: + $ref: "#/components/schemas/QueueFullBehaviorOptions" + pqMaxBufferSizeBytes: + type: string + title: Buffer size limit (bytes) + description: The maximum size to hold in memory before writing events to disk. + Enter a numeral with units of KB, MB, etc. The minimum value is 64KB + and the maximum value is 10MB. + pattern: ^\d+\s*(?:\w{2})?$ + pqControls: + type: object + title: "" + __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_failedRequestLoggingMode: + type: string + description: 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_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. OutputGooglePubsub: type: object required: @@ -35919,7 +39673,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string topicName: @@ -35996,6 +39750,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 @@ -36050,7 +39805,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -36113,7 +39868,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string bucket: @@ -36238,6 +39993,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. emptyDirCleanupSec: type: number title: Staging cleanup period @@ -36326,7 +40082,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string brokers: @@ -36442,6 +40198,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. protobufLibraryId: type: string title: Definition set @@ -36505,7 +40262,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -36570,7 +40327,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string brokers: @@ -36685,6 +40442,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. protobufLibraryId: type: string title: Definition set @@ -36748,7 +40506,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -36820,7 +40578,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string brokers: @@ -36980,6 +40738,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. awsApiKey: type: string title: Access key @@ -37052,7 +40811,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -37147,7 +40906,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string loadBalanced: @@ -37294,6 +41053,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. url: type: string title: Bulk API URL or Cloud ID @@ -37404,7 +41164,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -37481,7 +41241,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string url: @@ -37590,6 +41350,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 @@ -37644,7 +41405,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -37712,7 +41473,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string region: @@ -37742,6 +41503,7 @@ components: name: type: string title: Field Name + description: Name of the metadata field. enum: - service - hostname @@ -37848,6 +41610,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. customUrl: type: string pattern: ^https?://.* @@ -37905,7 +41668,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -37982,7 +41745,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string region: @@ -38085,6 +41848,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. customUrl: type: string pattern: ^https?://.* @@ -38142,7 +41906,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -38229,7 +41993,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string url: @@ -38377,6 +42141,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. database: type: string title: Database @@ -38443,7 +42208,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -38533,7 +42298,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string logGroupName: @@ -38615,6 +42380,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. awsApiKey: type: string title: Access key @@ -38678,7 +42444,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -38770,7 +42536,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string awsAuthenticationMethod: @@ -38934,6 +42700,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. awsApiKey: type: string title: Access key @@ -39147,7 +42914,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string protocol: @@ -39186,6 +42953,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. throttleRatePerSec: type: string title: Throttling @@ -39259,7 +43027,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -39310,7 +43078,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string protocol: @@ -39349,6 +43117,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. throttleRatePerSec: type: string title: Throttling @@ -39422,7 +43191,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -39473,7 +43242,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string protocol: @@ -39512,6 +43281,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. throttleRatePerSec: type: string title: Throttling @@ -39585,7 +43355,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -39634,7 +43404,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string rules: @@ -39668,6 +43438,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 @@ -39707,7 +43478,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string topicArn: @@ -39784,6 +43555,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. awsApiKey: type: string title: Access key @@ -39847,7 +43619,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -39939,7 +43711,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string queueName: @@ -40054,6 +43826,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. awsApiKey: type: string title: Access key @@ -40117,7 +43890,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -40218,7 +43991,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string hosts: @@ -40259,9 +44032,24 @@ components: description: 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. + enableIpSpoofing: + title: Enable Source IP spoofing + description: 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. + type: boolean description: type: string title: Description + description: Optional description for this configuration. + maxRecordSize: + type: number + title: Maximum transmission unit (MTU) + minimum: 1 + description: 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: type: string description: Binds 'streamtags' to a variable for dynamic value resolution. Set @@ -40300,7 +44088,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string url: @@ -40424,6 +44212,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 @@ -40478,7 +44267,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -40535,7 +44324,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string contentType: @@ -40736,6 +44525,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. customUrl: type: string pqStrictOrdering: @@ -40792,7 +44582,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -40860,7 +44650,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string lokiUrl: @@ -40891,7 +44681,8 @@ components: field. Example: '__labels: {host: \"cribl.io\", level: \"error\"}'" minItems: 0 items: - $ref: "#/components/schemas/RequestParamConfInputOpenai" + $ref: "#/components/schemas/RefreshRequestParamConfHealthCheckAuthenticationOau\ + thSecret" metricRenameExpr: type: string title: Metrics renaming expression @@ -41000,6 +44791,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. compress: type: boolean title: Compress @@ -41060,7 +44852,298 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. + pattern: ^\d+\s*(?:\w{2})?$ + pqControls: + type: object + title: "" + __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_lokiUrl: + type: string + description: 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_prometheusUrl: + type: string + description: 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_failedRequestLoggingMode: + type: string + description: 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_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. + anyOf: + - required: + - lokiUrl + - required: + - prometheusUrl + required: + - type + OutputLoki: + type: object + required: + - type + - url + properties: + id: + type: string + title: Output ID + description: Unique ID for this output + type: + type: string + enum: + - loki + 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. These fields are added as labels to generated logs. + 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: Metadata tags used for categorization and filtering. + items: + type: string + url: + type: string + title: Loki URL + description: The endpoint to send logs to + pattern: ^https?://.* + message: + type: string + title: Logs message field + description: Name of the event field that contains the message to send. If not + specified, Stream sends a JSON representation of the whole event. + messageFormat: + $ref: "#/components/schemas/MessageFormatOptions" + labels: + type: array + title: Logs labels + description: "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\"}'" + minItems: 0 + items: + $ref: "#/components/schemas/RefreshRequestParamConfHealthCheckAuthenticationOau\ + thSecret" + authType: + $ref: "#/components/schemas/AuthenticationTypeOptionsPrometheusAuthBasicCredent\ + ialsSecret" + concurrency: + type: number + title: Request concurrency + description: "Maximum number of ongoing requests before blocking. Warning: + Setting this value > 1 can cause Loki to complain about entries + being delivered out of order." + minimum: 1 + maximum: 32 + maxPayloadSizeKB: + type: number + title: Body size limit (KB) + description: "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." + minimum: 1024 + maximum: 10240 + maxPayloadEvents: + type: number + title: Events-per-request limit + description: "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." + minimum: 0 + rejectUnauthorized: + type: boolean + title: Validate server certs + description: >- + 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. + timeoutSec: + type: number + minimum: 1 + maximum: 9007199254740991 + title: Request timeout + description: Amount of time, in seconds, to wait for a request to complete + before canceling it + flushPeriodSec: + type: number + title: Flush period (sec) + description: "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." + extraHttpHeaders: + type: array + title: Extra HTTP headers + description: Headers to add to all events + items: + $ref: "#/components/schemas/ExtraHttpHeaderConfInputElastic" + useRoundRobinDns: + type: boolean + title: Round-robin DNS + description: 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. + failedRequestLoggingMode: + $ref: "#/components/schemas/FailedRequestLoggingModeOptions" + safeHeaders: + type: array + title: Safe headers + description: List of headers that are safe to log in plain text + items: + type: string + responseRetrySettings: + type: array + title: Settings for failed HTTP requests + description: Automatically retry after unsuccessful response status codes, such + as 429 (Too Many Requests) or 503 (Service Unavailable) + minItems: 0 + items: + $ref: "#/components/schemas/ResponseRetrySettingConfOutputWebhook" + timeoutRetrySettings: + $ref: "#/components/schemas/TimeoutRetrySettingsType" + responseHonorRetryAfterHeader: + type: boolean + title: Honor Retry-After header + description: Honor any Retry-After header that specifies a delay (in seconds) no + longer than 180 seconds after the retry request. @{product} limits + the delay to 180 seconds, even if the Retry-After header specifies a + longer delay. When enabled, takes precedence over user-configured + retry options. When disabled, all Retry-After headers are ignored. + enableDynamicHeaders: + type: boolean + title: Enable dynamic headers + description: Add per-event HTTP headers from the __headers field to outgoing + requests. Events with different headers are batched and sent + separately. + onBackpressure: + $ref: "#/components/schemas/BackpressureBehaviorOptions" + totalMemoryLimitKB: + type: number + title: Buffer memory limit (KB) + description: 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. + minimum: 0 + description: + type: string + title: Description + description: Optional description for this configuration. + compress: + type: boolean + title: Compress + description: Compress the payload body before sending + token: + type: string + title: Auth token + description: "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: + :" + textSecret: + type: string + title: Auth token (text secret) + description: Select or create a stored text secret + username: + type: string + title: Username + description: Username for authentication + password: + type: string + title: Password + description: Password (API key in Grafana Cloud domain) for authentication + credentialsSecret: + type: string + title: Credentials secret + description: Select or create a secret that references your credentials + pqStrictOrdering: + title: Strict ordering + description: Use FIFO (first in, first out) processing. Disable to forward new + events to receivers before queue is flushed. + type: boolean + pqRatePerSec: + type: number + title: Drain rate limit (EPS) + description: Throttling rate (in events per second) to impose while writing to + Destinations from PQ. Defaults to 0, which disables throttling. + minimum: 0 + pqMode: + $ref: "#/components/schemas/ModeOptions" + pqMaxBufferSize: + type: number + title: Buffer size limit (events - deprecated) + description: 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. + minimum: 42 + maximum: 1000 + pqMaxBackpressureSec: + type: number + title: Backpressure duration limit + description: How long (in seconds) to wait for backpressure to resolve before + engaging the queue + minimum: 0 + pqMaxFileSize: + type: string + title: File size limit + description: The maximum size to store in each queue file before closing and + optionally compressing (KB, MB, etc.) + pattern: ^\d+\s*(?:\w{2})?$ + pqMaxSize: + type: string + title: Queue size limit + description: 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. + pattern: ^\d+\s*(?:\w{2})?$ + pqPath: + type: string + title: Queue file path + description: "The location for the persistent queue files. To this field's + value, the system will append: //." + pqCompress: + $ref: "#/components/schemas/CompressionOptionsPq" + pqOnBackpressure: + $ref: "#/components/schemas/QueueFullBehaviorOptions" + pqMaxBufferSizeBytes: + type: string + title: Buffer size limit (bytes) + description: The maximum size to hold in memory before writing events to disk. + Enter a numeral with units of KB, MB, etc. The minimum value is 64KB + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -41070,16 +45153,6 @@ 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_lokiUrl: - type: string - description: 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_prometheusUrl: - type: string - description: 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_failedRequestLoggingMode: type: string description: Binds 'failedRequestLoggingMode' to a variable for dynamic value @@ -41092,18 +45165,13 @@ components: Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime. - anyOf: - - required: - - lokiUrl - - required: - - prometheusUrl - required: - - type - OutputLoki: + OutputAmazonManagedPrometheus: type: object required: - type - url + - region + - awsAuthenticationMethod properties: id: type: string @@ -41112,7 +45180,7 @@ components: type: type: string enum: - - loki + - amazon_managed_prometheus pipeline: type: string title: Pipeline @@ -41121,7 +45189,8 @@ components: type: array title: System fields description: Fields to automatically add to events, such as cribl_pipe. Supports - wildcards. These fields are added as labels to generated logs. + wildcards. These fields are added as dimensions to generated + metrics. items: type: string environment: @@ -41132,68 +45201,90 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string url: type: string - title: Loki URL - description: The endpoint to send logs to - pattern: ^https?://.* - message: + title: Remote Write URL + description: The Amazon Managed Service for Prometheus remote_write endpoint + pattern: ^https://aps-workspaces(?:-fips)?\.([a-z0-9]+(?:-[a-z0-9]+)*)\.(?:amazonaws\.com|api\.aws)/workspaces/ws-[A-Za-z0-9-]+/api/v1/remote_write$ + awsAuthenticationMethod: + $ref: "#/components/schemas/AuthenticationMethodOptionsAutoSecret" + awsSecretKey: type: string - title: Logs message field - description: Name of the event field that contains the message to send. If not - specified, Stream sends a JSON representation of the whole event. - messageFormat: - $ref: "#/components/schemas/MessageFormatOptions" - labels: - type: array - title: Logs labels - description: "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\"}'" - minItems: 0 - items: - $ref: "#/components/schemas/RequestParamConfInputOpenai" - authType: - $ref: "#/components/schemas/AuthenticationTypeOptionsPrometheusAuthBasicCredent\ - ialsSecret" + title: Secret key + region: + type: string + title: Region + description: Region where the AMSP is located + rejectUnauthorized: + type: boolean + title: Validate server certs + description: >- + 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. + enableAssumeRole: + type: boolean + title: Enable for AMSP + description: Use Assume Role credentials to access AMSP + assumeRoleArn: + type: string + title: AssumeRole ARN + description: Amazon Resource Name (ARN) of the role to assume + pattern: "^arn:" + minLength: 20 + assumeRoleExternalId: + type: string + title: External ID + description: External ID to use when assuming role + durationSeconds: + type: number + title: Duration (seconds) + description: 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). + minimum: 900 + maximum: 43200 + metricRenameExpr: + type: string + title: Metric renaming expression + description: 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.. + sendMetadata: + type: boolean + title: Send metadata + description: Generate and send metadata (`type` and `metricFamilyName`) requests + usePrometheusHistogramBucketSuffix: + type: boolean + title: Use `_bucket` suffix for histogram buckets + description: Serialize histogram bucket series as `_bucket` to match + Prometheus histogram naming convention concurrency: type: number title: Request concurrency - description: "Maximum number of ongoing requests before blocking. Warning: - Setting this value > 1 can cause Loki to complain about entries - being delivered out of order." + description: Maximum number of ongoing requests before blocking minimum: 1 maximum: 32 maxPayloadSizeKB: type: number title: Body size limit (KB) - description: "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." - minimum: 1024 - maximum: 10240 + description: Maximum uncompressed size, in KB, of the request body. The 1 MB cap + is intentional and protects against data that compresses poorly, + since oversized requests fail with a non-retryable 413. + minimum: 1 + maximum: 1024 maxPayloadEvents: type: number title: Events-per-request limit - description: "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." + description: Maximum number of events to include in the request body. Default is + 0 (unlimited). minimum: 0 - rejectUnauthorized: - type: boolean - title: Validate server certs - description: >- - 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. timeoutSec: type: number minimum: 1 @@ -41204,17 +45295,14 @@ components: flushPeriodSec: type: number title: Flush period (sec) - description: "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." + description: Maximum time between requests. Small values could cause the payload + size to be smaller than the configured Body size limit. extraHttpHeaders: type: array title: Extra HTTP headers - description: Headers to add to all events + description: Headers to add to all events. SigV4-managed headers and the + Prometheus remote-write protocol version header are generated by + this Destination and cannot be configured here. items: $ref: "#/components/schemas/ExtraHttpHeaderConfInputElastic" useRoundRobinDns: @@ -41250,51 +45338,22 @@ components: the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. - enableDynamicHeaders: - type: boolean - title: Enable dynamic headers - description: Add per-event HTTP headers from the __headers field to outgoing - requests. Events with different headers are batched and sent - separately. onBackpressure: $ref: "#/components/schemas/BackpressureBehaviorOptions" - totalMemoryLimitKB: - type: number - title: Buffer memory limit (KB) - description: 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. - minimum: 0 description: type: string title: Description - compress: - type: boolean - title: Compress - description: Compress the payload body before sending - token: - type: string - title: Auth token - description: "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: - :" - textSecret: - type: string - title: Auth token (text secret) - description: Select or create a stored text secret - username: - type: string - title: Username - description: Username for authentication - password: - type: string - title: Password - description: Password (API key in Grafana Cloud domain) for authentication - credentialsSecret: + description: Optional description for this configuration. + awsSecret: type: string - title: Credentials secret - description: Select or create a secret that references your credentials + title: Secret key pair + description: Select or create a stored secret that references your access key + and secret key + metricsFlushPeriodSec: + type: number + title: Metadata flush period (sec) + description: How frequently metrics metadata is sent out. Value cannot be + smaller than the base Flush period set above. pqStrictOrdering: title: Strict ordering description: Use FIFO (first in, first out) processing. Disable to forward new @@ -41349,7 +45408,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -41359,6 +45418,32 @@ 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_url: + type: string + description: 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_awsSecretKey: + type: string + description: 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: + 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_assumeRoleArn: + type: string + description: 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_assumeRoleExternalId: + type: string + description: 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_failedRequestLoggingMode: type: string description: Binds 'failedRequestLoggingMode' to a variable for dynamic value @@ -41405,7 +45490,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string url: @@ -41510,10 +45595,28 @@ components: onBackpressure: $ref: "#/components/schemas/BackpressureBehaviorOptions" authType: - $ref: "#/components/schemas/AuthenticationTypeOptionsPrometheusAuth" + type: string + title: Authentication type + description: Remote Write authentication type + enum: + - none + - basic + - credentialsSecret + - token + - textSecret + - aws_sigv4 + x-speakeasy-enum-descriptions: + - None + - Basic + - Basic (credentials secret) + - Token + - Token (text secret) + - AWS Signature v4 + x-speakeasy-unknown-values: allow description: type: string title: Description + description: Optional description for this configuration. metricsFlushPeriodSec: type: number title: Metadata flush period (sec) @@ -41573,7 +45676,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -41596,6 +45699,45 @@ components: type: string title: Token (text secret) description: Select or create a stored text secret + awsAuthenticationMethod: + $ref: "#/components/schemas/AuthenticationMethodOptionsAutoSecret" + awsSecret: + type: string + title: Secret key pair + description: Select or create a stored secret that references your access key + and secret key + region: + type: string + title: Region + description: AWS region used to sign Remote Write requests + awsService: + type: string + title: AWS service ID + description: ID used to sign Remote Write requests (for example, `aps` for + Amazon Managed Service for Prometheus) + pattern: ^[a-z][a-z0-9]*(-[a-z0-9]+)*$ + enableAssumeRole: + type: boolean + title: Enable for Prometheus + description: Use Assume Role credentials to access Prometheus + assumeRoleArn: + type: string + title: AssumeRole ARN + description: Amazon Resource Name (ARN) of the role to assume + pattern: "^arn:" + minLength: 20 + assumeRoleExternalId: + type: string + title: External ID + description: External ID to use when assuming role + durationSeconds: + type: number + title: Duration (seconds) + description: 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). + minimum: 900 + maximum: 43200 __template_streamtags: type: string description: Binds 'streamtags' to a variable for dynamic value resolution. Set @@ -41618,6 +45760,27 @@ components: Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' 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_awsService: + type: string + description: 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_assumeRoleArn: + type: string + description: 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_assumeRoleExternalId: + type: string + description: 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. OutputRing: type: object properties: @@ -41648,7 +45811,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string format: @@ -41687,6 +45850,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 @@ -41733,7 +45897,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string protocol: @@ -41863,6 +46027,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. username: type: string title: Username @@ -42033,7 +46198,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -42096,7 +46261,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string endpoint: @@ -42203,6 +46368,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. rejectUnauthorized: type: boolean title: Validate server certs @@ -42304,7 +46470,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -42356,7 +46522,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string messageField: @@ -42515,6 +46681,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. customUrl: type: string pattern: ^https?://.* @@ -42572,7 +46739,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -42639,7 +46806,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string loadBalanced: @@ -42699,6 +46866,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. host: type: string title: Address @@ -42794,7 +46962,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -42852,7 +47020,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string loadBalanced: @@ -42970,6 +47138,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. url: type: string title: Cribl endpoint @@ -43062,7 +47231,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -43121,7 +47290,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string loadBalanced: @@ -43246,6 +47415,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. url: type: string title: Cribl endpoint @@ -43331,7 +47501,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -43394,7 +47564,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string url: @@ -43494,6 +47664,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. token: type: string title: LogScale auth token @@ -43556,7 +47727,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -43617,7 +47788,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string url: @@ -43717,6 +47888,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. token: type: string title: Next-Gen SIEM authentication token @@ -43778,7 +47950,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -43839,7 +48011,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string endpoint: @@ -44030,6 +48202,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. awsApiKey: type: string title: Access key @@ -44269,7 +48442,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string endpoint: @@ -44497,6 +48670,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. awsApiKey: type: string title: Access key @@ -44654,72 +48828,9 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string - endpoint: - type: string - title: Endpoint - description: S3 service endpoint. If empty, defaults to the AWS Region-specific - endpoint. Otherwise, it must point to S3-compatible endpoint. - enableAssumeRole: - type: boolean - title: Enable for S3 - description: Use Assume Role credentials to access S3 - assumeRoleArn: - type: string - title: AssumeRole ARN - description: Amazon Resource Name (ARN) of the role to assume - pattern: "^arn:" - minLength: 20 - assumeRoleExternalId: - type: string - title: External ID - description: External ID to use when assuming role - durationSeconds: - type: number - title: Duration (seconds) - description: 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). - minimum: 900 - maximum: 43200 - 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: S3 bucket name - description: "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: - type: string - title: Region - description: Region where the S3 bucket is located - destPath: - type: string - title: Lake dataset - description: Lake dataset to send the data to. - 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 @@ -44805,46 +48916,93 @@ components: $ref: "#/components/schemas/RetrySettingsType" orphans: $ref: "#/components/schemas/OrphanFileRecoveryType" - awsSecretKey: - type: string - title: Secret key - description: "Secret key. This value can be a constant or a JavaScript - expression. Example: `${C.env.SOME_SECRET}`)" - objectACL: - $ref: "#/components/schemas/ObjectAclOptions" - storageClass: - $ref: "#/components/schemas/StorageClassOptions" - serverSideEncryption: - $ref: "#/components/schemas/ServerSideEncryptionForUploadedObjectsOptions" - kmsKeyId: - type: string - title: KMS key ID - description: ID or ARN of the KMS customer-managed key to use for encryption - awsAuthenticationMethod: + destPath: type: string - enum: - - auto - - auto_rpc - - manual - x-speakeasy-unknown-values: allow + title: Lake dataset + description: Lake dataset to send the data to. format: type: string enum: - json - parquet - - ddss - - netskope + - raw x-speakeasy-unknown-values: allow + dynamicDataset: + type: boolean + maxClosingFilesToBackpressure: + type: number + minimum: 10 + maximum: 1000 maxConcurrentFileParts: type: number - title: Concurrent file parts limit - description: Maximum number of parts to upload in parallel per file. Minimum - part size is 5MB. minimum: 1 maximum: 10 description: type: string title: Description + description: Optional description for this configuration. + 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 @@ -44873,37 +49031,6 @@ 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_assumeRoleArn: - type: string - description: 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_assumeRoleExternalId: - type: string - description: 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: - 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_baseFileName: type: string description: Binds 'baseFileName' to a variable for dynamic value resolution. @@ -44921,32 +49048,21 @@ components: Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime. - __template_awsSecretKey: + __template_destPath: type: string - description: 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_objectACL: + 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_compress: 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_storageClass: + 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 'storageClass' to a variable for dynamic value resolution. + 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 'storageClass' at runtime. - __template_serverSideEncryption: - type: string - description: 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_kmsKeyId: - type: string - description: 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. + (group-scoped). Variable value overrides 'parquetSchema' at runtime. required: - type OutputDiskSpool: @@ -44979,45 +49095,343 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. + items: + type: string + timeWindow: + type: string + title: Bucket time span + description: Time period for grouping spooled events. Default is 10m. + maxDataSize: + type: string + title: Data size limit + description: "Maximum disk space that can be consumed before older buckets are + deleted. Examples: 420MB, 4GB. Default is 1GB." + pattern: ^\d+(\.\d+)?\s*(?:[kmgKMG](b|B))?$ + maxDataTime: + title: Data age limit + type: string + description: "Maximum amount of time to retain data before older buckets are + deleted. Examples: 2h, 4d. Default is 24h." + pattern: \d+[smhd]$ + compress: + $ref: "#/components/schemas/CompressionOptionsPersistence" + partitionExpr: + type: string + title: Partitioning expression + description: 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: + 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 + to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID + (group-scoped). Variable value overrides 'streamtags' at runtime. + required: + - type + OutputClickHouse: + type: object + required: + - type + - database + - tableName + - url + properties: + id: + type: string + title: Output ID + description: Unique ID for this output + type: + type: string + enum: + - click_house + 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: Metadata tags used for categorization and filtering. items: type: string - timeWindow: + url: type: string - title: Bucket time span - description: Time period for grouping spooled events. Default is 10m. - maxDataSize: + title: URL + description: "URL of the ClickHouse instance. Example: http://localhost:8123/" + authType: + $ref: "#/components/schemas/AuthenticationTypeOptions" + database: type: string - title: Data size limit - description: "Maximum disk space that can be consumed before older buckets are - deleted. Examples: 420MB, 4GB. Default is 1GB." - pattern: ^\d+(\.\d+)?\s*(?:[kmgKMG](b|B))?$ - maxDataTime: - title: Data age limit + title: ClickHouse database + tableName: type: string - description: "Maximum amount of time to retain data before older buckets are - deleted. Examples: 2h, 4d. Default is 24h." - pattern: \d+[smhd]$ + title: ClickHouse table + description: 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 "_". + pattern: ^[a-zA-Z_][0-9a-zA-Z_]*$ + format: + $ref: "#/components/schemas/FormatOptions" + mappingType: + $ref: "#/components/schemas/MappingTypeOptions" + asyncInserts: + type: boolean + title: Async inserts + description: 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: + $ref: "#/components/schemas/TlsSettingsClientSideTypeCaPathCertPathExtended" + concurrency: + type: number + title: Request concurrency + description: Maximum number of ongoing requests before blocking + minimum: 1 + maximum: 32 + maxPayloadSizeKB: + type: number + title: Body size limit (KB) + description: Maximum size, in KB, of the request body + minimum: 1024 + maximum: 25600 + maxPayloadEvents: + type: number + title: Events-per-request limit + description: Maximum number of events to include in the request body. Default is + 0 (unlimited). + minimum: 0 compress: - $ref: "#/components/schemas/CompressionOptionsPersistence" - partitionExpr: + type: boolean + title: Compress + description: Compress the payload body before sending + rejectUnauthorized: + type: boolean + title: Validate server certs + description: >- + 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. + timeoutSec: + type: number + minimum: 1 + maximum: 9007199254740991 + title: Request timeout + description: Amount of time, in seconds, to wait for a request to complete + before canceling it + flushPeriodSec: + type: number + title: Flush period (sec) + description: Maximum time between requests. Small values could cause the payload + size to be smaller than the configured Body size limit. + extraHttpHeaders: + type: array + title: Extra HTTP headers + description: Headers to add to all events + items: + $ref: "#/components/schemas/ExtraHttpHeaderConfInputElastic" + useRoundRobinDns: + type: boolean + title: Round-robin DNS + description: 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. + failedRequestLoggingMode: + $ref: "#/components/schemas/FailedRequestLoggingModeOptions" + safeHeaders: + type: array + title: Safe headers + description: List of headers that are safe to log in plain text + items: + type: string + responseRetrySettings: + type: array + title: Settings for failed HTTP requests + description: Automatically retry after unsuccessful response status codes, such + as 429 (Too Many Requests) or 503 (Service Unavailable) + minItems: 0 + items: + $ref: "#/components/schemas/ResponseRetrySettingConfOutputWebhook" + timeoutRetrySettings: + $ref: "#/components/schemas/TimeoutRetrySettingsType" + responseHonorRetryAfterHeader: + type: boolean + title: Honor Retry-After header + description: Honor any Retry-After header that specifies a delay (in seconds) no + longer than 180 seconds after the retry request. @{product} limits + the delay to 180 seconds, even if the 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: type: string - title: Partitioning expression - description: 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. + title: Workload + description: Optional ClickHouse workload name to append as a SETTINGS clause on + INSERT queries. Used for workload scheduling classification. + dumpFormatErrorsToDisk: + type: boolean + title: Log last schema mismatch + description: Log the most recent event that fails to match the table schema + onBackpressure: + $ref: "#/components/schemas/BackpressureBehaviorOptions" description: type: string title: Description + description: Optional description for this configuration. + username: + type: string + title: Username + password: + type: string + title: Password + credentialsSecret: + type: string + title: Credentials secret + description: Select or create a secret that references your credentials + sqlUsername: + type: string + title: Username + description: Username for certificate authentication + waitForAsyncInserts: + type: boolean + title: Wait for async inserts + description: 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. + excludeMappingFields: + type: array + title: Exclude fields + description: Fields to exclude from sending to ClickHouse + minItems: 0 + items: + type: string + minLength: 0 + describeTable: + type: string + title: Retrieve table columns + description: Retrieves the table schema from ClickHouse and populates the Column + Mapping table + columnMappings: + type: array + title: Column Mapping + description: "" + items: + $ref: "#/components/schemas/ColumnMappingConfOutputClickHouse" + pqStrictOrdering: + title: Strict ordering + description: Use FIFO (first in, first out) processing. Disable to forward new + events to receivers before queue is flushed. + type: boolean + pqRatePerSec: + type: number + title: Drain rate limit (EPS) + description: Throttling rate (in events per second) to impose while writing to + Destinations from PQ. Defaults to 0, which disables throttling. + minimum: 0 + pqMode: + $ref: "#/components/schemas/ModeOptions" + pqMaxBufferSize: + type: number + title: Buffer size limit (events - deprecated) + description: 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. + minimum: 42 + maximum: 1000 + pqMaxBackpressureSec: + type: number + title: Backpressure duration limit + description: How long (in seconds) to wait for backpressure to resolve before + engaging the queue + minimum: 0 + pqMaxFileSize: + type: string + title: File size limit + description: The maximum size to store in each queue file before closing and + optionally compressing (KB, MB, etc.) + pattern: ^\d+\s*(?:\w{2})?$ + pqMaxSize: + type: string + title: Queue size limit + description: 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. + pattern: ^\d+\s*(?:\w{2})?$ + pqPath: + type: string + title: Queue file path + description: "The location for the persistent queue files. To this field's + value, the system will append: //." + pqCompress: + $ref: "#/components/schemas/CompressionOptionsPq" + pqOnBackpressure: + $ref: "#/components/schemas/QueueFullBehaviorOptions" + pqMaxBufferSizeBytes: + type: string + title: Buffer size limit (bytes) + description: The maximum size to hold in memory before writing events to disk. + Enter a numeral with units of KB, MB, etc. The minimum value is 64KB + and the maximum value is 10MB. + pattern: ^\d+\s*(?:\w{2})?$ + pqControls: + type: object + title: "" __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. - required: - - type - OutputClickHouse: + __template_url: + type: string + description: 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: + type: string + description: 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_tableName: + type: string + description: 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_failedRequestLoggingMode: + type: string + description: 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_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. + OutputCustomerMetricsStorage: type: object required: - type @@ -45032,7 +49446,7 @@ components: type: type: string enum: - - click_house + - customer_metrics_storage pipeline: type: string title: Pipeline @@ -45052,7 +49466,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string url: @@ -45072,28 +49486,9 @@ components: and must start with either a letter or the character "_". pattern: ^[a-zA-Z_][0-9a-zA-Z_]*$ format: - type: string - title: Format - description: Data format to use when sending data to ClickHouse. Defaults to - JSON Compact. - enum: - - json-compact-each-row-with-names - - json-each-row - x-speakeasy-enum-descriptions: - - JSONCompactEachRowWithNames - - JSONEachRow - x-speakeasy-unknown-values: allow + $ref: "#/components/schemas/FormatOptions" mappingType: - type: string - title: Mapping type - description: How event fields are mapped to ClickHouse columns - enum: - - automatic - - custom - x-speakeasy-enum-descriptions: - - Automatic - - Custom - x-speakeasy-unknown-values: allow + $ref: "#/components/schemas/MappingTypeOptions" asyncInserts: type: boolean title: Async inserts @@ -45187,6 +49582,11 @@ components: the delay to 180 seconds, even if the 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: + type: string + title: Workload + description: Optional ClickHouse workload name to append as a SETTINGS clause on + INSERT queries. Used for workload scheduling classification. dumpFormatErrorsToDisk: type: boolean title: Log last schema mismatch @@ -45196,6 +49596,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. username: type: string title: Username @@ -45235,24 +49636,7 @@ components: title: Column Mapping description: "" items: - type: object - required: - - columnName - - columnValueExpression - properties: - columnName: - type: string - title: Column name - description: Name of the column in ClickHouse that will store field value - columnType: - type: string - title: Column type - description: Type of the column in the ClickHouse database - columnValueExpression: - type: string - title: Column value - description: JavaScript expression to compute value to be inserted into - ClickHouse table + $ref: "#/components/schemas/ColumnMappingConfOutputClickHouse" pqStrictOrdering: title: Strict ordering description: Use FIFO (first in, first out) processing. Disable to forward new @@ -45307,7 +49691,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -45379,7 +49763,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string url: @@ -45508,6 +49892,11 @@ components: the delay to 180 seconds, even if the 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: + type: string + title: Workload + description: Optional ClickHouse workload name to append as a SETTINGS clause on + INSERT queries. Used for workload scheduling classification. dumpFormatErrorsToDisk: type: boolean title: Log last schema mismatch @@ -45538,6 +49927,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. username: type: string title: Username @@ -45648,7 +50038,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -45715,7 +50105,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string loadBalanced: @@ -45823,6 +50213,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. url: type: string title: XSIAM endpoint @@ -45930,7 +50321,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -45992,7 +50383,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string hosts: @@ -46043,6 +50434,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. maxRecordSize: type: number title: Maximum transmission unit (MTU) @@ -46091,7 +50483,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string method: @@ -46241,6 +50633,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 @@ -46295,7 +50688,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -46382,7 +50775,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string protocol: @@ -46509,6 +50902,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. rejectUnauthorized: type: boolean title: Validate server certs @@ -46608,7 +51002,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -46664,34 +51058,9 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string - region: - type: string - title: Region - description: 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. - enum: - - US - - CA - - EMEA - - AP - - APS - - AU - - Custom - x-speakeasy-unknown-values: allow - endpoint: - title: AI SIEM endpoint path - type: string - enum: - - /services/collector/event - - /services/collector/raw - description: 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). - x-speakeasy-unknown-values: allow concurrency: type: number title: Request concurrency @@ -46768,11 +51137,37 @@ components: the delay to 180 seconds, even if the 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: + type: string + title: Region + description: 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. + enum: + - US + - CA + - EMEA + - AP + - APS + - AU + - Custom + x-speakeasy-unknown-values: allow + endpoint: + title: AI SIEM endpoint path + type: string + enum: + - /services/collector/event + - /services/collector/raw + description: 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). + x-speakeasy-unknown-values: allow onBackpressure: $ref: "#/components/schemas/BackpressureBehaviorOptions" description: type: string title: Description + description: Optional description for this configuration. token: type: string title: AI SIEM API Key @@ -46934,7 +51329,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -46992,7 +51387,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string apiVersion: @@ -47157,6 +51552,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. serviceAccountCredentials: type: string title: Service account credentials @@ -47221,7 +51617,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -47317,7 +51713,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string destPath: @@ -47462,6 +51858,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. compress: $ref: "#/components/schemas/CompressionOptionsHttp" compressionLevel: @@ -47623,7 +52020,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string topic: @@ -47802,6 +52199,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 @@ -47856,7 +52254,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ pqControls: type: object @@ -47923,20 +52321,11 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string awsAuthenticationMethod: - type: string - title: Authentication method - description: AWS authentication method. Choose Auto to use IAM roles. - enum: - - auto - - secret - x-speakeasy-enum-descriptions: - - Auto - - Secret Key pair - x-speakeasy-unknown-values: allow + $ref: "#/components/schemas/AuthenticationMethodOptionsAutoSecret" reuseConnections: type: boolean title: Reuse connections @@ -48090,6 +52479,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. awsSecret: type: string title: Secret key pair @@ -48222,22 +52612,365 @@ components: Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime. - __template_awsSecretKey: - type: string - description: 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_storageClass: - type: string - description: 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_serverSideEncryption: + __template_awsSecretKey: + type: string + description: 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_storageClass: + type: string + description: 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_serverSideEncryption: + type: string + description: 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: + 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. + OutputNutanixObjects: + type: object + required: + - type + - bucket + - stagePath + - endpoint + properties: + id: + type: string + title: Output ID + description: Unique ID for this output + type: + type: string + enum: + - nutanix_objects + 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: Metadata tags used for categorization and filtering. + items: + type: string + awsAuthenticationMethod: + $ref: "#/components/schemas/AuthenticationMethodOptionsSecret" + 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: Nutanix Objects bucket name + description: "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}`" + region: + type: string + title: Region + description: Region where the Nutanix Objects bucket is located + 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" + endpoint: + type: string + title: Nutanix Objects endpoint + description: "Nutanix Objects S3-compatible endpoint URL (example: + https://objects.nutanix.local)" + pattern: ^https?://.* + 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 '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. + 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 @@ -48248,7 +52981,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. - OutputNutanixObjects: + OutputStorjS3: type: object required: - type @@ -48263,7 +52996,7 @@ components: type: type: string enum: - - nutanix_objects + - storj_s3 pipeline: type: string title: Pipeline @@ -48283,7 +53016,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string awsAuthenticationMethod: @@ -48299,16 +53032,11 @@ components: such as self-signed certificates bucket: type: string - title: Nutanix Objects bucket name - description: "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}`" - region: - type: string - title: Region - description: Region where the Nutanix Objects bucket is located + title: Storj bucket name + description: "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}`" destPath: type: string title: Key prefix @@ -48431,13 +53159,14 @@ components: $ref: "#/components/schemas/OrphanFileRecoveryType" endpoint: type: string - title: Nutanix Objects endpoint - description: "Nutanix Objects S3-compatible endpoint URL (example: - https://objects.nutanix.local)" + title: Storj endpoint + description: "Storj S3-compatible gateway endpoint URL (example: + https://gateway.storjshare.io)" pattern: ^https?://.* description: type: string title: Description + description: Optional description for this configuration. awsSecret: type: string title: Secret key pair @@ -48538,11 +53267,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 @@ -48590,13 +53314,12 @@ 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. - OutputStorjS3: + OutputAlphasocS3: type: object required: - type - bucket - stagePath - - endpoint properties: id: type: string @@ -48605,7 +53328,7 @@ components: type: type: string enum: - - storj_s3 + - alphasoc_s3 pipeline: type: string title: Pipeline @@ -48625,7 +53348,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string awsAuthenticationMethod: @@ -48641,8 +53364,8 @@ components: such as self-signed certificates bucket: type: string - title: Storj bucket name - description: "Name of the destination Storj bucket. Must be a JavaScript + title: AlphaSOC bucket name + description: "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}`" @@ -48768,13 +53491,14 @@ components: $ref: "#/components/schemas/OrphanFileRecoveryType" endpoint: type: string - title: Storj endpoint - description: "Storj S3-compatible gateway endpoint URL (example: - https://gateway.storjshare.io)" + title: AlphaSOC endpoint + description: "AlphaSOC S3-compatible endpoint URL (example: + https://s3.alphasoc.net)" pattern: ^https?://.* description: type: string title: Description + description: Optional description for this configuration. awsSecret: type: string title: Secret key pair @@ -48880,11 +53604,6 @@ components: 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 @@ -48922,12 +53641,13 @@ 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. - OutputAlphasocS3: + OutputDellS3: type: object required: - type - bucket - stagePath + - endpoint properties: id: type: string @@ -48936,7 +53656,7 @@ components: type: type: string enum: - - alphasoc_s3 + - dell_s3 pipeline: type: string title: Pipeline @@ -48956,7 +53676,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string awsAuthenticationMethod: @@ -48972,11 +53692,16 @@ components: such as self-signed certificates bucket: type: string - title: AlphaSOC bucket name - description: "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}`" + title: Dell PowerScale OneFS bucket name + description: "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}`" + region: + type: string + title: Region + description: Region where the Dell PowerScale OneFS bucket is located destPath: type: string title: Key prefix @@ -49097,15 +53822,18 @@ components: $ref: "#/components/schemas/RetrySettingsType" orphans: $ref: "#/components/schemas/OrphanFileRecoveryType" + objectACL: + $ref: "#/components/schemas/ObjectAclOptions" endpoint: type: string - title: AlphaSOC endpoint - description: "AlphaSOC S3-compatible endpoint URL (example: - https://s3.alphasoc.net)" + title: Dell PowerScale OneFS endpoint + description: "Dell PowerScale OneFS S3-compatible endpoint URL (example: + https://powerscale.example.com:9021)" pattern: ^https?://.* description: type: string title: Description + description: Optional description for this configuration. awsSecret: type: string title: Secret key pair @@ -49206,11 +53934,21 @@ 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 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 @@ -49233,6 +53971,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 @@ -49248,7 +53991,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. - OutputDellS3: + OutputCloudianS3: type: object required: - type @@ -49263,7 +54006,7 @@ components: type: type: string enum: - - dell_s3 + - cloudian_s3 pipeline: type: string title: Pipeline @@ -49283,9 +54026,15 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string + endpoint: + type: string + title: Cloudian HyperStore endpoint + description: "Cloudian HyperStore S3-compatible endpoint URL (example: + https://s3.hyperstore.example.com)" + pattern: ^https?://.* awsAuthenticationMethod: $ref: "#/components/schemas/AuthenticationMethodOptionsSecret" reuseConnections: @@ -49299,16 +54048,15 @@ components: such as self-signed certificates bucket: type: string - title: Dell PowerScale OneFS bucket name - description: "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}`" + title: Cloudian bucket name + description: "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}`" region: type: string title: Region - description: Region where the Dell PowerScale OneFS bucket is located + description: Region where the Cloudian bucket is located destPath: type: string title: Key prefix @@ -49431,15 +54179,18 @@ components: $ref: "#/components/schemas/OrphanFileRecoveryType" objectACL: $ref: "#/components/schemas/ObjectAclOptions" - endpoint: + storageClass: + $ref: "#/components/schemas/StorageClassOptions" + serverSideEncryption: + $ref: "#/components/schemas/ServerSideEncryptionForUploadedObjectsOptions" + kmsKeyId: type: string - title: Dell PowerScale OneFS endpoint - description: "Dell PowerScale OneFS S3-compatible endpoint URL (example: - https://powerscale.example.com:9021)" - pattern: ^https?://.* + title: KMS key ID + description: ID or ARN of the KMS customer-managed key to use for encryption description: type: string title: Description + description: Optional description for this configuration. awsSecret: type: string title: Secret key pair @@ -49535,6 +54286,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 @@ -49582,11 +54338,22 @@ components: 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: + __template_storageClass: type: string - description: Binds 'endpoint' to a variable for dynamic value resolution. Set to + description: 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_serverSideEncryption: + type: string + description: 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_kmsKeyId: + type: string + description: 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 'endpoint' at runtime. + (group-scoped). Variable value overrides 'kmsKeyId' at runtime. __template_compress: type: string description: Binds 'compress' to a variable for dynamic value resolution. Set to @@ -49597,7 +54364,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. - OutputCloudianS3: + OutputScalityS3: type: object required: - type @@ -49612,7 +54379,7 @@ components: type: type: string enum: - - cloudian_s3 + - scality_s3 pipeline: type: string title: Pipeline @@ -49632,15 +54399,9 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string - endpoint: - type: string - title: Cloudian HyperStore endpoint - description: "Cloudian HyperStore S3-compatible endpoint URL (example: - https://s3.hyperstore.example.com)" - pattern: ^https?://.* awsAuthenticationMethod: $ref: "#/components/schemas/AuthenticationMethodOptionsSecret" reuseConnections: @@ -49654,15 +54415,15 @@ components: such as self-signed certificates bucket: type: string - title: Cloudian bucket name - description: "Name of the destination Cloudian bucket. Must be a JavaScript + title: Scality bucket name + description: "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}`" region: type: string title: Region - description: Region where the Cloudian bucket is located + description: Region where the Scality bucket is located destPath: type: string title: Key prefix @@ -49783,19 +54544,16 @@ components: $ref: "#/components/schemas/RetrySettingsType" orphans: $ref: "#/components/schemas/OrphanFileRecoveryType" - objectACL: - $ref: "#/components/schemas/ObjectAclOptions" - storageClass: - $ref: "#/components/schemas/StorageClassOptions" - serverSideEncryption: - $ref: "#/components/schemas/ServerSideEncryptionForUploadedObjectsOptions" - kmsKeyId: + endpoint: type: string - title: KMS key ID - description: ID or ARN of the KMS customer-managed key to use for encryption + title: Scality endpoint + description: "Scality RING S3-compatible endpoint URL (example: + https://s3.scality.example.com)" + pattern: ^https?://.* description: type: string title: Description + description: Optional description for this configuration. awsSecret: type: string title: Secret key pair @@ -49891,11 +54649,6 @@ 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 @@ -49938,27 +54691,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_storageClass: - type: string - description: 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_serverSideEncryption: - type: string - description: 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_kmsKeyId: + __template_endpoint: type: string - description: Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to + 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 'kmsKeyId' at runtime. + (group-scoped). Variable value overrides 'endpoint' at runtime. __template_compress: type: string description: Binds 'compress' to a variable for dynamic value resolution. Set to @@ -49969,7 +54706,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. - OutputScalityS3: + OutputAlibabaCloudS3: type: object required: - type @@ -49984,7 +54721,7 @@ components: type: type: string enum: - - scality_s3 + - alibaba_cloud_s3 pipeline: type: string title: Pipeline @@ -50004,11 +54741,20 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string awsAuthenticationMethod: - $ref: "#/components/schemas/AuthenticationMethodOptionsSecret" + 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 @@ -50020,15 +54766,11 @@ components: such as self-signed certificates bucket: type: string - title: Scality bucket name - description: "Name of the destination Scality bucket. Must be a JavaScript + 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}`" - region: - type: string - title: Region - description: Region where the Scality bucket is located destPath: type: string title: Key prefix @@ -50149,15 +54891,44 @@ components: $ref: "#/components/schemas/RetrySettingsType" orphans: $ref: "#/components/schemas/OrphanFileRecoveryType" + objectACL: + $ref: "#/components/schemas/ObjectAclOptions" endpoint: type: string - title: Scality endpoint - description: "Scality RING S3-compatible endpoint URL (example: - https://s3.scality.example.com)" + 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?://.* + enableAssumeRole: + type: boolean + title: Enable for Alibaba OSS + description: Use Assume Role credentials to access Alibaba OSS + durationSeconds: + type: number + title: Duration (seconds) + description: 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). + minimum: 900 + maximum: 43200 + assumeRoleArn: + type: string + title: AssumeRole ARN + description: "ARN of the RAM role to assume. Format: + acs:ram:::role/. Example: + acs:ram::123456789:role/OSSAccessRole" + pattern: "^acs:" + minLength: 20 + assumeRoleExternalId: + type: string + title: External ID + description: External ID for the assumed role (optional, for security when + configured in the role trust policy) description: type: string title: Description + description: Optional description for this configuration. awsSecret: type: string title: Secret key pair @@ -50258,11 +55029,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 @@ -50295,11 +55061,27 @@ 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_assumeRoleArn: + type: string + description: 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_assumeRoleExternalId: + type: string + description: 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_compress: type: string description: Binds 'compress' to a variable for dynamic value resolution. Set to @@ -50310,7 +55092,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 @@ -50325,7 +55107,7 @@ components: type: type: string enum: - - alibaba_cloud_s3 + - ibm_cloud_s3 pipeline: type: string title: Pipeline @@ -50345,9 +55127,15 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. 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: @@ -50361,11 +55149,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 @@ -50486,18 +55275,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 @@ -50593,6 +55374,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 @@ -50630,16 +55416,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 @@ -50672,9 +55448,11 @@ components: - $ref: "#/components/schemas/OutputKinesis" - $ref: "#/components/schemas/OutputHoneycomb" - $ref: "#/components/schemas/OutputAzureEventhub" + - $ref: "#/components/schemas/OutputGoogleBigquery" - $ref: "#/components/schemas/OutputGoogleChronicle" - $ref: "#/components/schemas/OutputGoogleCloudStorage" - $ref: "#/components/schemas/OutputGoogleCloudLogging" + - $ref: "#/components/schemas/OutputGoogleCloudObservability" - $ref: "#/components/schemas/OutputGooglePubsub" - $ref: "#/components/schemas/OutputExabeam" - $ref: "#/components/schemas/OutputKafka" @@ -50698,6 +55476,7 @@ components: - $ref: "#/components/schemas/OutputDatadog" - $ref: "#/components/schemas/OutputGrafanaCloud" - $ref: "#/components/schemas/OutputLoki" + - $ref: "#/components/schemas/OutputAmazonManagedPrometheus" - $ref: "#/components/schemas/OutputPrometheus" - $ref: "#/components/schemas/OutputRing" - $ref: "#/components/schemas/OutputOpenTelemetry" @@ -50713,6 +55492,7 @@ components: - $ref: "#/components/schemas/OutputCriblLake" - $ref: "#/components/schemas/OutputDiskSpool" - $ref: "#/components/schemas/OutputClickHouse" + - $ref: "#/components/schemas/OutputCustomerMetricsStorage" - $ref: "#/components/schemas/OutputLocalSearchStorage" - $ref: "#/components/schemas/OutputXsiam" - $ref: "#/components/schemas/OutputNetflow" @@ -50730,6 +55510,7 @@ components: - $ref: "#/components/schemas/OutputCloudianS3" - $ref: "#/components/schemas/OutputScalityS3" - $ref: "#/components/schemas/OutputAlibabaCloudS3" + - $ref: "#/components/schemas/OutputIbmCloudS3" discriminator: propertyName: type mapping: @@ -50753,9 +55534,11 @@ components: kinesis: "#/components/schemas/OutputKinesis" honeycomb: "#/components/schemas/OutputHoneycomb" azure_eventhub: "#/components/schemas/OutputAzureEventhub" + google_bigquery: "#/components/schemas/OutputGoogleBigquery" google_chronicle: "#/components/schemas/OutputGoogleChronicle" google_cloud_storage: "#/components/schemas/OutputGoogleCloudStorage" google_cloud_logging: "#/components/schemas/OutputGoogleCloudLogging" + google_cloud_observability: "#/components/schemas/OutputGoogleCloudObservability" google_pubsub: "#/components/schemas/OutputGooglePubsub" exabeam: "#/components/schemas/OutputExabeam" kafka: "#/components/schemas/OutputKafka" @@ -50779,6 +55562,7 @@ components: datadog: "#/components/schemas/OutputDatadog" grafana_cloud: "#/components/schemas/OutputGrafanaCloud" loki: "#/components/schemas/OutputLoki" + amazon_managed_prometheus: "#/components/schemas/OutputAmazonManagedPrometheus" prometheus: "#/components/schemas/OutputPrometheus" ring: "#/components/schemas/OutputRing" open_telemetry: "#/components/schemas/OutputOpenTelemetry" @@ -50794,6 +55578,7 @@ components: cribl_lake: "#/components/schemas/OutputCriblLake" disk_spool: "#/components/schemas/OutputDiskSpool" click_house: "#/components/schemas/OutputClickHouse" + customer_metrics_storage: "#/components/schemas/OutputCustomerMetricsStorage" local_search_storage: "#/components/schemas/OutputLocalSearchStorage" xsiam: "#/components/schemas/OutputXsiam" netflow: "#/components/schemas/OutputNetflow" @@ -50811,6 +55596,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: @@ -50879,9 +55665,12 @@ components: - datadog - webhook - prometheus + - amazon_managed_prometheus - google_pubsub - google_chronicle - chronicle + - google_cloud_observability + - google_bigquery - grafana_cloud - loki - open_telemetry @@ -50903,6 +55692,7 @@ components: - exabeam - disk_spool - click_house + - customer_metrics_storage - local_search_storage - xsiam - netflow @@ -50916,7 +55706,33 @@ components: - cloudian_s3 - scality_s3 - alibaba_cloud_s3 + - ibm_cloud_s3 x-speakeasy-unknown-values: allow + PaginatedOutputResponse: + type: object + required: + - items + - count + - offset + - limit + properties: + items: + type: array + description: the pre-limited items in the list of results + items: + $ref: "#/components/schemas/OutputResponse" + count: + type: integer + description: number of items present in the items array + offset: + type: integer + description: pagination offset + limit: + type: integer + description: pagination limit + totalCount: + type: integer + description: total number of items available (present when limit is set) CountedOutputSamplesResponse: type: object properties: @@ -51007,39 +55823,43 @@ components: properties: id: title: ID + description: Unique identifier for the Pipeline. type: string conf: type: object + description: Configuration for the Pipeline, including functions and settings. additionalProperties: false properties: asyncFuncTimeout: type: integer title: Async function timeout (ms) - description: Time (in ms) to wait for an async function to complete processing - of a data item + description: Timeout (in milliseconds) for asynchronous Pipeline functions. minimum: 0 maximum: 10000 output: type: string title: Output event destination - description: The output destination for events processed by this Pipeline + description: The output destination for events processed by this Pipeline. description: title: Description + description: Brief description of the Pipeline. type: string streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string functions: title: Functions - description: List of Functions to pass data through + description: List of Functions to pass data through the Pipeline. type: array items: $ref: "#/components/schemas/PipelineFunctionConf" groups: type: object + description: Named groups of Pipeline functions for organizational display in + the UI. additionalProperties: type: object required: @@ -51048,18 +55868,47 @@ components: name: type: string title: Group name + description: Name of the group. description: type: string title: Description + description: Brief description of the group. disabled: type: boolean title: Disabled + description: If true, disable all items in the group. Otherwise, + false. __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. + PaginatedPipeline: + type: object + required: + - items + - count + - offset + - limit + properties: + items: + type: array + description: the pre-limited items in the list of results + items: + $ref: "#/components/schemas/Pipeline" + count: + type: integer + description: number of items present in the items array + offset: + type: integer + description: pagination offset + limit: + type: integer + description: pagination limit + totalCount: + type: integer + description: total number of items available (present when limit is set) CountedRoutes: type: object properties: @@ -51242,13 +56091,22 @@ components: type: object properties: Green: - type: number - Yellow: - type: number + type: integer + description: Number of Worker Processes reporting a healthy (Green) status. Red: - type: number + type: integer + description: Number of Worker Processes reporting a critical (Red) status. Unknown: - type: number + type: integer + description: Number of Worker Processes reporting an unknown health status. + Yellow: + type: integer + description: Number of Worker Processes reporting a degraded (Yellow) status. + required: + - Green + - Red + - Unknown + - Yellow AggregatedPQStatus: type: object properties: @@ -51256,8 +56114,14 @@ components: $ref: "#/components/schemas/StatusError" description: Error information for the persistent queue, if applicable. health: - $ref: "#/components/schemas/HealthStringType" + type: string + enum: + - Green + - Red + - Unknown + - Yellow description: Health status of the persistent queue. + x-speakeasy-unknown-values: allow healthCounts: $ref: "#/components/schemas/HealthCountType" description: "Counts of persistent queue health statuses for the Source or @@ -51268,7 +56132,7 @@ components: affects operation

Unknown == Unknown: Cannot determine health status." timestamp: - type: number + type: integer description: Timestamp (in Unix time) when the persistent queue status was last updated. required: @@ -51282,8 +56146,7 @@ components: $ref: "#/components/schemas/StatusError" description: Error information, if applicable. health: - $ref: "#/components/schemas/HealthStringType" - description: Overall health status of the Source or Destination. + $ref: "#/components/schemas/HealthOptionsStatus" healthCounts: $ref: "#/components/schemas/HealthCountType" description: "Counts of health statuses for the Source or Destination across all @@ -51303,7 +56166,7 @@ components: $ref: "#/components/schemas/AggregatedPQStatus" description: Persistent queue status information (if persistent queue is enabled). timestamp: - type: number + type: integer description: Timestamp (in Unix time) when the status was last updated. required: - health @@ -51326,6 +56189,31 @@ components: - id - status description: Status of the Source, aggregated across all Worker Processes. + PaginatedInputStatus: + type: object + required: + - items + - count + - offset + - limit + properties: + items: + type: array + description: the pre-limited items in the list of results + items: + $ref: "#/components/schemas/InputStatus" + count: + type: integer + description: number of items present in the items array + offset: + type: integer + description: pagination offset + limit: + type: integer + description: pagination limit + totalCount: + type: integer + description: total number of items available (present when limit is set) CountedOutputStatus: type: object properties: @@ -51354,6 +56242,31 @@ components: - id - status description: Status of a Destination, aggregated across all Worker Processes. + PaginatedOutputStatus: + type: object + required: + - items + - count + - offset + - limit + properties: + items: + type: array + description: the pre-limited items in the list of results + items: + $ref: "#/components/schemas/OutputStatus" + count: + type: integer + description: number of items present in the items array + offset: + type: integer + description: pagination offset + limit: + type: integer + description: pagination limit + totalCount: + type: integer + description: total number of items available (present when limit is set) CountedSavedJobResponse: type: object properties: @@ -51432,7 +56345,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string workerAffinity: @@ -51504,7 +56417,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string executor: @@ -51569,7 +56482,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string savedQueryId: @@ -51643,7 +56556,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string workerAffinity: @@ -51715,7 +56628,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string executor: @@ -51780,7 +56693,7 @@ components: streamtags: type: array title: Tags - description: Tags for filtering and grouping in @{product} + description: Metadata tags used for categorization and filtering. items: type: string savedQueryId: @@ -51812,6 +56725,31 @@ components: - script - splunk x-speakeasy-unknown-values: allow + PaginatedSavedJobResponse: + type: object + required: + - items + - count + - offset + - limit + properties: + items: + type: array + description: the pre-limited items in the list of results + items: + $ref: "#/components/schemas/SavedJobResponse" + count: + type: integer + description: number of items present in the items array + offset: + type: integer + description: pagination offset + limit: + type: integer + description: pagination limit + totalCount: + type: integer + description: total number of items available (present when limit is set) CloudProvider: type: - string @@ -51892,6 +56830,13 @@ components: cloud: $ref: "#/components/schemas/ConfigGroupCloud" description: Cloud provider and region details for a Cribl.Cloud Worker Group. + collectorsHaEnabled: + type: boolean + description: Keeps Collector jobs running if the Leader Node fails. Applies only + to Stream Worker Groups. Always true for Cribl.Cloud + groups; defaults to false for on-prem groups. to Stream + Worker Groups. Always true for Cribl.Cloud groups; + defaults to false for on-prem groups. configVersion: type: string description: "Commit hash of the deployed configuration version for the Worker @@ -52019,6 +56964,31 @@ components: Edge Fleet. required: - id + PaginatedConfigGroup: + type: object + required: + - items + - count + - offset + - limit + properties: + items: + type: array + description: the pre-limited items in the list of results + items: + $ref: "#/components/schemas/ConfigGroup" + count: + type: integer + description: number of items present in the items array + offset: + type: integer + description: pagination offset + limit: + type: integer + description: pagination limit + totalCount: + type: integer + description: total number of items available (present when limit is set) CountedConfigGroup: type: object properties: @@ -52036,6 +57006,13 @@ components: cloud: $ref: "#/components/schemas/ConfigGroupCloud" description: Cloud provider and region details for a Cribl.Cloud Worker Group. + collectorsHaEnabled: + type: boolean + description: Keeps Collector jobs running if the Leader Node fails. Applies only + to Stream Worker Groups. Always true for Cribl.Cloud + groups; defaults to false for on-prem groups. to Stream + Worker Groups. Always true for Cribl.Cloud groups; + defaults to false for on-prem groups. description: type: string description: Brief description of the Worker Group, Outpost Group, or Edge Fleet. @@ -52176,6 +57153,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: @@ -52215,11 +57199,11 @@ components: description: Backfill status for data being loaded into the cache. cacheRef: type: string - description: Identifier of the Lakehouse cache referenced by the Dataset. + description: Unique identifier for the Lakehouse cache referenced by the Dataset. createdAt: type: number - description: Timestamp when the continuous data feed to the Lakehouse cache - started, in Unix time (milliseconds). + description: Timestamp (in Unix time) when the continuous data feed to the + Lakehouse cache started, in milliseconds. lakehouseConnectionType: $ref: "#/components/schemas/LakehouseConnectionType" description: If new, the Lakehouse was attached before data existed @@ -52227,8 +57211,8 @@ components: after data existed in the Dataset. migrationQueryId: type: string - description: Query identifier of the active Lakehouse migration. Omitted if no - migration is in progress. + description: Unique identifier for the active Lakehouse migration query. Omitted + if no migration is in progress. retentionInDays: type: number description: Retention period for the Lakehouse cache connection, in days. @@ -52244,7 +57228,8 @@ components: description: Total current logical size of the Dataset, in bytes. metricsDate: type: string - description: Timestamp (ISO 8601) when the metrics snapshot was generated. + description: Timestamp (in Unix time) when the metrics snapshot was generated, + as a YYYY-MM-DD calendar date. required: - currentSizeBytes - metricsDate @@ -52277,7 +57262,7 @@ components: enableAcceleration: type: boolean description: If true, the system automatically backfills and - refreshes Dataset metadata. + refreshes Dataset metadata. Otherwise, false. fieldList: type: array items: @@ -52320,6 +57305,11 @@ components: filter: type: string description: Glob pattern for selecting files within the storage path. + preprocessOuterJson: + type: boolean + description: When true, instructs the C++ reader to unwrap the outer JSON + envelope before applying the user datatype to the nested _raw field. + Set for Cribl Lake NDJSON filters only. required: - dataTypeId - filter @@ -52340,7 +57330,7 @@ components: classification. description: type: string - description: Brief description of Dataset search configuration. + description: Brief description of the Dataset search configuration. metadata: $ref: "#/components/schemas/DatasetMetadata" description: Key-value metadata for the Dataset search configuration. @@ -52386,6 +57376,7 @@ components: httpDAUsed: type: boolean description: If true, the Dataset is used by Direct Access HTTP. + Otherwise, false. id: type: string description: Unique identifier for the Dataset. @@ -52402,13 +57393,38 @@ components: $ref: "#/components/schemas/StorageClassOptionsCriblLakeDataset" storageLocationId: type: string - description: Identifier for the Storage Location that backs the Dataset. + description: Unique identifier for the Storage Location that backs the Dataset. Mutually exclusive with bucketName. viewName: type: string description: Name of the ClickHouse view for the Dataset on the Lakehouse. required: - id + PaginatedCriblLakeDataset: + type: object + required: + - items + - count + - offset + - limit + properties: + items: + type: array + description: the pre-limited items in the list of results + items: + $ref: "#/components/schemas/CriblLakeDataset" + count: + type: integer + description: number of items present in the items array + offset: + type: integer + description: pagination offset + limit: + type: integer + description: pagination limit + totalCount: + type: integer + description: total number of items available (present when limit is set) CriblLakeDatasetUpdate: type: object properties: @@ -52437,10 +57453,11 @@ components: httpDAUsed: type: boolean description: If true, the Dataset is used by Direct Access HTTP. + Otherwise, false. id: type: string - description: Dataset identifier. Optional; the path parameter id is - authoritative. + description: Unique identifier for the Dataset. Optional; the path parameter + id is authoritative. metrics: $ref: "#/components/schemas/LakeDatasetMetrics" description: Most recent Dataset metrics snapshot. @@ -52454,21 +57471,11 @@ components: $ref: "#/components/schemas/StorageClassOptionsCriblLakeDataset" storageLocationId: type: string - description: Identifier for the Storage Location that backs the Dataset. + description: Unique identifier for the Storage Location that backs the Dataset. Mutually exclusive with bucketName. viewName: type: string description: Name of the ClickHouse view for the Dataset on the Lakehouse. - EventBreakerRuleFields: - type: object - properties: - name: - type: string - value: - type: string - required: - - name - - value BrokenEventProcessor: type: object properties: {} @@ -52598,6 +57605,79 @@ components: - http - https x-speakeasy-unknown-values: allow + TagsMapHeartbeatMetadata: + type: object + additionalProperties: + type: string + description: String-keyed tag map. Each property name is a tag key and the + corresponding value is the tag's string value. + AwsTypeHeartbeatMetadata: + type: object + properties: + enabled: + type: boolean + description: If true, the AWS metadata collector is enabled on the + node. Otherwise, false. + instanceId: + type: string + description: AWS EC2 instance ID. + region: + type: string + description: AWS region name. + tags: + $ref: "#/components/schemas/TagsMapHeartbeatMetadata" + description: AWS EC2 instance tags, if available. + type: + type: string + description: AWS EC2 instance type. + zone: + type: string + description: AWS availability zone name. + required: + - enabled + - instanceId + - region + - type + - zone + AzureTypeHeartbeatMetadata: + type: object + properties: + enabled: + type: boolean + description: If true, the Azure metadata collector is enabled on + the node. Otherwise, false. + hostname: + type: string + description: Azure VM hostname. + instanceId: + type: string + description: Azure instance ID. + name: + type: string + description: Azure VM name. + region: + type: string + description: Azure location or region. + resourceGroup: + type: string + description: Azure resource group name. + subscriptionId: + type: string + description: Azure subscription ID. + tags: + $ref: "#/components/schemas/TagsMapHeartbeatMetadata" + description: Azure tags, if available. + type: + type: string + description: Azure VM size or instance type. + vmId: + type: string + description: Azure VM ID. + zone: + type: string + description: Azure availability zone. + required: + - enabled LookupVersions: type: object additionalProperties: @@ -52631,6 +57711,10 @@ components: config: type: object properties: + apiCredentialsRev: + type: string + description: Current API credentials revision string. Only used in leader <> + leader universal subscription. featuresRev: type: string description: Feature flags or feature revision string for the bundle. @@ -52643,6 +57727,10 @@ components: policyRev: type: string description: Current policies revision string. + teamsRev: + type: string + description: Current teams revision string. Only used in leader <> leader + universal subscription. usersRev: type: string description: Current users revision string. Only used in leader <> leader @@ -52694,6 +57782,10 @@ components: $ref: "#/components/schemas/HBLeaderInfo" description: Leader connection details when the node is a Worker or Edge reporting upstream. + overlayId: + type: string + description: Currently active overlay identifier on the node. Omitted if no + overlay is active. pid: type: integer description: The process ID. @@ -52719,28 +57811,134 @@ components: - group - guid - startTime + HostOsTypeHeartbeatMetadata: + type: object + properties: + addresses: + type: array + items: + type: string + description: Network addresses reported by the host operating system. + enabled: + type: boolean + description: If true, the host operating system metadata collector + is enabled on the node. Otherwise, false. + id: + type: string + description: Host operating system distribution name. + version: + type: string + description: Host operating system version. + required: + - addresses + - enabled + - id + - version + OwnerTypeHeartbeatMetadataKube: + type: object + properties: + kind: + type: string + description: Kubernetes owner resource kind. + name: + type: string + description: Kubernetes owner resource name. + required: + - kind + - name + KubeTypeHeartbeatMetadata: + type: object + properties: + enabled: + type: boolean + description: If true, the Kubernetes metadata collector is enabled + on the node. Otherwise, false. + namespace: + type: string + description: Kubernetes Namespace name. + node: + type: string + description: Kubernetes Node name. + owner: + $ref: "#/components/schemas/OwnerTypeHeartbeatMetadataKube" + description: Kubernetes owner resource for the Pod. + pod: + type: string + description: Kubernetes Pod name. + source: + type: string + description: Kubernetes config source. + required: + - enabled + - namespace + - node + - pod + - source + OsTypeHeartbeatMetadata: + type: object + properties: + addresses: + type: array + items: + type: string + description: Network addresses reported by the operating system. + enabled: + type: boolean + description: If true, the operating system metadata collector is + enabled on the node. Otherwise, false. + id: + type: string + description: Operating system distribution name. + version: + type: string + description: Operating system version. + required: + - addresses + - enabled + - id + - version + title: OsTypeHeartbeatMetadata HeartbeatMetadata: type: object properties: aws: $ref: "#/components/schemas/AwsTypeHeartbeatMetadata" + description: AWS instance metadata collected from the node. azure: $ref: "#/components/schemas/AzureTypeHeartbeatMetadata" + description: Azure instance metadata collected from the node. hostOs: $ref: "#/components/schemas/HostOsTypeHeartbeatMetadata" + description: Host operating system metadata collected from the node. kube: $ref: "#/components/schemas/KubeTypeHeartbeatMetadata" + description: Kubernetes metadata collected from the node. os: - $ref: "#/components/schemas/HostOsTypeHeartbeatMetadata" + $ref: "#/components/schemas/OsTypeHeartbeatMetadata" + description: Operating system metadata collected from the node. + NodeOsInfo: + type: object + properties: + addresses: + type: array + items: + type: string + description: Network addresses reported by the node operating system. + required: + - addresses + title: NodeOsInfo OutpostNodeInfo: type: object properties: groupname: type: string + description: Name of the Outpost Group that contains the Outpost Node. guid: type: string + description: Unique identifier for the Outpost Node. host: type: string + description: Hostname or IP address for the Outpost Node. required: - guid - host @@ -52748,64 +57946,90 @@ components: type: object properties: apiPort: - type: number + type: integer + description: API port exposed by the node. apiScheme: $ref: "#/components/schemas/ApiScheme" + description: API scheme derived from the node API TLS configuration. architecture: type: string + description: CPU architecture. + examples: + - x64 + - arm64 aws: $ref: "#/components/schemas/AwsTypeHeartbeatMetadata" + description: AWS metadata collected from the node. azure: $ref: "#/components/schemas/AzureTypeHeartbeatMetadata" + description: Azure metadata collected from the node. conn_ip: type: string + description: Remote ip:port for the worker socket. cpus: - type: number + type: integer + description: Number of CPU cores available on the node. cribl: $ref: "#/components/schemas/HBCriblInfo" + description: Cribl software and configuration details reported by the node. env: type: object additionalProperties: type: string + description: Environment variables reported by the node. freeDiskSpace: - type: number + type: integer + description: Free disk space on the node, in bytes. hostOs: $ref: "#/components/schemas/HostOsTypeHeartbeatMetadata" + description: Host operating system metadata collected from the node. hostname: type: string + description: Hostname reported by the node. isCaptain: type: boolean + description: If true, the node considers itself the elected captain + for its group. Otherwise, false. isSaasWorker: type: boolean + description: If true, the node runs in Cribl.Cloud. Otherwise, + false. kube: $ref: "#/components/schemas/KubeTypeHeartbeatMetadata" + description: Kubernetes metadata collected from the node. localTime: - type: number + type: integer + description: Local timestamp (in Unix time) on the node, in milliseconds. metadata: $ref: "#/components/schemas/HeartbeatMetadata" + description: Cloud, Kubernetes, and operating system metadata collected from the + node. node: type: string + description: Node.js runtime version running on the node. os: oneOf: - - $ref: "#/components/schemas/HostOsTypeHeartbeatMetadata" - - type: object - properties: - addresses: - type: array - items: - type: string - required: - - addresses + - $ref: "#/components/schemas/NodeOsInfo" + - $ref: "#/components/schemas/OsTypeHeartbeatMetadata" + description: Operating system metadata collected from the node. outpost: $ref: "#/components/schemas/OutpostNodeInfo" + description: Outpost Node information when the node is connected to an Outpost. platform: type: string + description: Operating system platform. + examples: + - linux + - win32 release: type: string + description: Operating system kernel release. totalDiskSpace: - type: number + type: integer + description: Total disk space on the node, in bytes. totalmem: - type: number + type: integer + description: Total memory on the node, in bytes. required: - architecture - cpus @@ -52867,63 +58091,101 @@ components: properties: active: $ref: "#/components/schemas/NodeActiveUpgradeStatus" + description: Secondary upgrade state when state is + ACTIVE. failed: $ref: "#/components/schemas/NodeFailedUpgradeStatus" + description: Secondary upgrade state when state is + FAILED. skipped: $ref: "#/components/schemas/NodeSkippedUpgradeStatus" + description: Secondary upgrade state when state is + SKIPPED. state: $ref: "#/components/schemas/NodeUpgradeState" + description: Current upgrade state for the Edge Node. timestamp: - type: number + type: integer + description: Timestamp (in Unix time) when the node entered the upgrade state, + in milliseconds. required: - state - timestamp + MasterWorkerProcesses: + type: object + properties: + count: + type: integer + description: Number of Worker Processes represented by the node entry. + required: + - count MasterWorkerEntry: type: object properties: connectionProtocol: $ref: "#/components/schemas/ConnectionProtocol" + description: Connection protocol used for node-to-Leader communication. deployable: type: boolean + description: If true, the node can receive configuration + deployments. Otherwise, false. disconnected: type: boolean + description: If true, the node is disconnected from the Leader. + Otherwise, false. firstMsgTime: - type: number + type: integer + description: Timestamp (in Unix time) when the Leader first received a message + from the node. group: type: string + description: The id of the Worker Group, Edge Fleet, or Outpost + Group that contains the node. id: type: string + description: Unique identifier for the node. info: $ref: "#/components/schemas/NodeProvidedInfo" + description: Metadata reported by the node itself. lastMetrics: type: object additionalProperties: true + description: Latest total, input, and destination metrics cached for UI display. lastMsgTime: - type: number + type: integer + description: Timestamp (in Unix time) when the Leader last received a message + from the node. metadata: $ref: "#/components/schemas/HeartbeatMetadata" + description: Cloud, Kubernetes, and operating system metadata collected from the + node. nodeUpgradeStatus: $ref: "#/components/schemas/NodeUpgradeStatus" + description: Upgrade status reported by an Edge Node. + offlineDurationMs: + type: integer + description: Configured ephemeral offline duration, in milliseconds. provisioningTokenId: type: string + description: The id of the provisioning token used to authenticate + the node, if used. status: type: string + description: Health status reported for the node. type: type: string enum: - info - req - resp + description: RPC message type reported by the node. x-speakeasy-unknown-values: allow workerProcesses: - type: number + type: integer + description: Number of Worker Processes running on the node. workers: - type: object - properties: - count: - type: number - required: - - count + $ref: "#/components/schemas/MasterWorkerProcesses" + description: Worker Process counts associated with the node entry. required: - firstMsgTime - group @@ -52931,6 +58193,42 @@ components: - info - lastMsgTime - workerProcesses + WorkerFilterExpression: + type: string + description: Filter expression to evaluate against Nodes for inclusion in the + response. + example: group=="default" + WorkerFilterJson: + type: string + description: JSON-stringified filter object to evaluate against Nodes for + inclusion in the response. + example: "%7B%22field%22%3A%22group%22%2C%22op%22%3A%22is%22%2C%22value%22%3A%2\ + 2default%22%7D" + PaginatedMasterWorkerEntry: + type: object + required: + - items + - count + - offset + - limit + properties: + items: + type: array + description: the pre-limited items in the list of results + items: + $ref: "#/components/schemas/MasterWorkerEntry" + count: + type: integer + description: number of items present in the items array + offset: + type: integer + description: pagination offset + limit: + type: integer + description: pagination limit + totalCount: + type: integer + description: total number of items available (present when limit is set) CountedRestartResponse: type: object properties: @@ -52968,6 +58266,31 @@ components: description: GUIDs of the Worker or Edge Nodes to restart. required: - guids + PaginatedDistributedSummary: + type: object + required: + - items + - count + - offset + - limit + properties: + items: + type: array + description: the pre-limited items in the list of results + items: + $ref: "#/components/schemas/DistributedSummary" + count: + type: integer + description: number of items present in the items array + offset: + type: integer + description: pagination offset + limit: + type: integer + description: pagination limit + totalCount: + type: integer + description: total number of items available (present when limit is set) CountedDistributedSummary: type: object properties: @@ -53014,6 +58337,8 @@ components: - quickConnects - routes - sources + description: Resource counts for Worker Groups or Edge Fleets in the deployment + summary. workers: type: object properties: @@ -53051,13 +58376,56 @@ components: - groups - softwareVersions - unhealthy + description: Worker or Edge Node counts and health statistics in the deployment + summary. required: - 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: @@ -53078,6 +58446,7 @@ components: shutting down." x-speakeasy-unknown-values: allow required: + - overlay - startTime - status description: Health status of the Leader or Worker Node. @@ -53092,6 +58461,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: @@ -53101,44 +58500,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 @@ -53147,27 +58566,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 @@ -53189,8 +58653,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 @@ -53210,56 +58676,111 @@ 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 + PaginatedPackInfo: + type: object + required: + - items + - count + - offset + - limit + properties: + items: + type: array + description: the pre-limited items in the list of results + items: + $ref: "#/components/schemas/PackInfo" + count: + type: integer + description: number of items present in the items array + offset: + type: integer + description: pagination offset + limit: + type: integer + description: pagination limit + totalCount: + type: integer + description: total number of items available (present when limit is set) PackUpgradeRequest: type: object 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: @@ -53267,6 +58788,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: @@ -53300,30 +58824,62 @@ components: properties: email: type: string + description: Email address of the commit author. name: type: string + description: Display name of the commit author. required: - email - name + description: Author of the Git commit, including email and display name. branch: type: string + description: Name of the Git branch the commit was made on. commit: type: string + description: Full SHA-1 hash of the new commit. files: - $ref: "#/components/schemas/FilesTypeGitCommitSummary" + type: object + properties: + created: + type: array + items: + type: string + description: Array of file paths that were created in the commit. + deleted: + type: array + items: + type: string + description: Array of file paths that were deleted in the commit. + modified: + type: array + items: + type: string + description: Array of file paths that were modified in the commit. + renamed: + type: array + items: + $ref: "#/components/schemas/GitFileRename" + description: Array of file rename operations, each containing the original path + and the new path. + description: Files affected by the commit, grouped by change type. summary: type: object properties: changes: - type: number + type: integer + description: Total number of lines changed (insertions plus deletions). deletions: - type: number + type: integer + description: Number of lines deleted. insertions: - type: number + type: integer + description: Number of lines inserted. required: - changes - deletions - insertions + description: Summary of line changes in the commit. required: - branch - commit @@ -53343,7 +58899,8 @@ components: type: object properties: count: - type: number + type: integer + description: Number of files that changed since the specified commit. required: - count CountedGitDiffResult: @@ -53357,13 +58914,16 @@ components: description: List of items in this response. items: $ref: "#/components/schemas/GitDiffResult" + GitDiffLines: + $ref: "#/components/schemas/DiffLine" DiffFiles: type: array items: type: object properties: addedLines: - type: number + type: integer + description: Number of lines added in this file. blocks: type: array items: @@ -53371,61 +58931,110 @@ components: properties: header: type: string + description: Unified diff hunk header. + example: "@@ -1,5 +1,8 @@" lines: - $ref: "#/components/schemas/DiffLine" + $ref: "#/components/schemas/GitDiffLines" + description: Array of lines in this diff hunk. newStartLine: - type: number + type: integer + description: Starting line number in the new file for this hunk. oldStartLine: - type: number + type: integer + description: Starting line number in the original file for this hunk. oldStartLine2: - type: number + type: integer + description: Starting line number in the original file for the second parent, + present in combined diffs. required: - header - lines - newStartLine - oldStartLine + description: Array of diff blocks (hunks) showing changed line ranges in this + file. changedPercentage: type: number + description: Percentage of lines in the file that changed. checksumAfter: type: string + description: Checksum of the new file. checksumBefore: - $ref: "#/components/schemas/ScalarOrArray" + oneOf: + - type: string + - type: array + items: + type: string + description: Checksum of the original file. May be an array for combined diffs. deletedFileMode: type: string + description: File mode of the deleted file, present when the file was deleted. deletedLines: - type: number + type: integer + description: Number of lines deleted in this file. isBinary: type: boolean + description: If true, this file is a binary file and the diff + content is not shown. Otherwise, false. isCombined: type: boolean + description: If true, this is a combined diff (merge commit). + Otherwise, false. isCopy: type: boolean + description: If true, this file was copied from another path. + Otherwise, false. isDeleted: type: boolean + description: If true, this file was deleted in the commit. + Otherwise, false. isGitDiff: type: boolean + description: If true, this diff was generated by Git. Otherwise, + false. isNew: type: boolean + description: If true, this file was added in the commit. Otherwise, + false. isRename: type: boolean + description: If true, this file was renamed. Otherwise, + false. isTooBig: type: boolean + description: If true, the diff was truncated because it exceeded + the line limit. Otherwise, false. language: type: string + description: Programming language or file format detected for syntax + highlighting. mode: type: string + description: Combined file mode when both old and new modes are the same. newFileMode: type: string + description: File mode of the new file, present when the file was added. newMode: type: string + description: File mode of the new file. + example: "100644" newName: type: string + description: New file path after the change. oldMode: - $ref: "#/components/schemas/ScalarOrArray" + oneOf: + - type: string + - type: array + items: + type: string + description: File mode of the original file. May be an array for combined diffs. + example: "100644" oldName: type: string + description: Original file path before the change. unchangedPercentage: type: number + description: Percentage of lines in the file that are unchanged. required: - addedLines - blocks @@ -53440,6 +59049,8 @@ components: properties: diffJson: $ref: "#/components/schemas/DiffFiles" + description: Diff of the file changes in the specified commit, parsed into a + structured format. required: - diffJson CountedGitFilesResponse: @@ -53456,28 +59067,41 @@ components: GitFile: type: object properties: + autoIncludedInCommit: + type: boolean + description: If true, this file is automatically included in + commits without being explicitly listed. Otherwise, + false. children: type: array items: $ref: "#/components/schemas/GitFile" + description: When this entry is a directory, nested files and subdirectories. + Each array element matches this same object shape (recursive file + tree). name: type: string + description: Path of the file relative to the configuration root. state: type: string + description: "Git status code for the file: M for modified, + A for added, or D for deleted." required: - name GitFilesResponse: type: object properties: commitMessage: - type: object - additionalProperties: true + type: string + description: Commit message of the specified commit. count: - type: number + type: integer + description: Number of files returned. items: type: array items: $ref: "#/components/schemas/GitFile" + description: Array of files that changed since the specified commit. required: - count - items @@ -53499,15 +59123,44 @@ components: type: object properties: files: - $ref: "#/components/schemas/FilesTypeGitCommitSummary" + type: object + properties: + created: + type: array + items: + type: string + description: Array of file paths that were created in the commit. + deleted: + type: array + items: + type: string + description: Array of file paths that were deleted in the commit. + modified: + type: array + items: + type: string + description: Array of file paths that were modified in the commit. + renamed: + type: array + items: + $ref: "#/components/schemas/GitFileRename" + description: Array of file rename operations, each containing the original path + and the new path. + description: Files affected by the revert, grouped by change type. group: type: string + description: Worker Group the revert was applied to, if applicable. id: type: string + description: SHA-1 hash of the revert commit that was created. required: - id + description: Audit record for the revert operation, including the commit hash + and affected files. reverted: type: boolean + description: If true, the revert was applied successfully. + Otherwise, false. required: - audit - reverted @@ -53516,10 +59169,15 @@ components: properties: commit: type: string + description: SHA-1 hash of the commit to revert. force: type: boolean + description: If true, force the revert even when the working + directory is not clean. Otherwise, false. message: type: string + description: Custom message to use for the revert commit. If omitted, a default + message is generated. required: - commit CountedGitShowResult: @@ -53538,8 +59196,10 @@ components: properties: commitMessage: type: string + description: Full commit message of the specified commit. diffJson: $ref: "#/components/schemas/DiffFiles" + description: Diff of the file changes introduced by the commit. required: - commitMessage - diffJson @@ -53554,18 +59214,17 @@ components: description: List of items in this response. items: $ref: "#/components/schemas/SystemSettingsConf" - EmptyObject: - type: object - additionalProperties: false - title: EmptyObject BackupsSettings: oneOf: - type: object properties: backupPersistence: type: string + description: How long to retain backups. Value is a duration string such as + 24h. backupsDirectory: type: string + description: Filesystem path where configuration backups are stored. required: - backupPersistence - backupsDirectory @@ -53576,6 +59235,8 @@ components: properties: enablePiiDetection: type: boolean + description: If true, enable PII detection for events processed by + the Cribl instance. Otherwise, false. required: - enablePiiDetection - $ref: "#/components/schemas/EmptyObject" @@ -53585,10 +59246,15 @@ components: properties: rollbackEnabled: type: boolean + description: If true, enable automatic rollback if an upgrade + fails. Otherwise, false. rollbackRetries: - type: number + type: integer + description: Number of times to retry a rollback before marking it as failed. rollbackTimeout: - type: number + type: integer + description: Maximum duration in milliseconds to wait for a rollback to complete + before marking it as failed. required: - rollbackEnabled - $ref: "#/components/schemas/EmptyObject" @@ -53598,6 +59264,8 @@ components: properties: disableSNIRouting: type: boolean + description: If true, disable Server Name Indication (SNI) routing. + Otherwise, false. required: - disableSNIRouting - $ref: "#/components/schemas/EmptyObject" @@ -53607,14 +59275,23 @@ components: properties: defaultCipherList: type: string + description: Cipher suite list to use for TLS connections. DEFAULT + means the system default. defaultEcdhCurve: type: string + description: ECDH curve name for TLS key exchange. Use auto to let + Node.js choose. maxVersion: type: string + description: Maximum TLS protocol version to accept. minVersion: type: string + description: Minimum TLS protocol version to accept. rejectUnauthorized: type: boolean + description: If true, reject TLS certificates that cannot be + verified against a valid Certificate Authority. Otherwise, + false. required: - defaultCipherList - defaultEcdhCurve @@ -53627,20 +59304,30 @@ components: properties: isRolling: type: boolean + description: If true, perform a rolling upgrade that updates nodes + incrementally. If false, upgrade all nodes + simultaneously. quantity: - type: number + type: integer + description: Percentage of nodes to upgrade at a time during a rolling upgrade. retryCount: - type: number + type: integer + description: Number of times to retry upgrading a node before marking it as + failed. retryDelay: - type: number + type: integer + description: Delay in milliseconds between upgrade retries when a node fails to + upgrade. title: UpgradeGroupSettings UpgradePackageUrls: type: object properties: packageHashUrl: type: string + description: URL of the hash file used to verify the package download. packageUrl: type: string + description: URL of the upgrade package file. required: - packageUrl UpgradeSettings: @@ -53648,16 +59335,25 @@ components: properties: automaticUpgradeCheckPeriod: type: string + description: How frequently to check for available upgrades. Value is a duration + string such as 24h. disableAutomaticUpgrade: type: boolean + description: If true, automatic upgrades are disabled. Otherwise, + false. enableLegacyEdgeUpgrade: type: boolean + description: If true, enable the legacy upgrade flow for Edge + Nodes. Otherwise, false. packageUrls: type: array items: $ref: "#/components/schemas/UpgradePackageUrls" + description: List of custom package URLs to use for manual upgrades. upgradeSource: type: string + description: "Upgrade source: cribl for official Cribl packages or + custom for a custom package URL." SystemSettingsConf: type: object properties: @@ -53667,18 +59363,23 @@ components: $ref: "#/components/schemas/AppsTypeSystemSettingsConf" backups: $ref: "#/components/schemas/BackupsSettings" + description: Configuration backup settings, including storage location and + retention period. customLogo: $ref: "#/components/schemas/CustomLogoTypeSystemSettingsConf" pii: $ref: "#/components/schemas/PiiSettings" + description: Personally identifiable information (PII) detection configuration. proxy: $ref: "#/components/schemas/ProxyTypeSystemSettingsConf" rollback: $ref: "#/components/schemas/RollbackSettings" + description: Automatic rollback settings applied when an upgrade fails. shutdown: $ref: "#/components/schemas/ShutdownTypeSystemSettingsConf" sni: $ref: "#/components/schemas/SniSettings" + description: Server Name Indication (SNI) routing configuration. sockets: $ref: "#/components/schemas/SocketsTypeSystemSettingsConf" support: @@ -53687,10 +59388,15 @@ components: $ref: "#/components/schemas/SystemTypeSystemSettingsConf" tls: $ref: "#/components/schemas/TlsSettings" + description: Global TLS/SSL settings applied to all outbound connections that do + not specify their own TLS configuration. upgradeGroupSettings: $ref: "#/components/schemas/UpgradeGroupSettings" + description: Rolling upgrade group settings that control how many nodes are + upgraded at a time. upgradeSettings: $ref: "#/components/schemas/UpgradeSettings" + description: Automatic upgrade scheduling and package source configuration. workers: $ref: "#/components/schemas/WorkersTypeSystemSettingsConf" required: @@ -53750,12 +59456,17 @@ components: properties: effective: type: boolean + description: If true, apply the commit to the group's effective + configuration. Otherwise, false. files: type: array items: type: string + description: Array of file paths to include in the commit, relative to the + configuration root. If omitted, all pending changes are committed. message: type: string + description: Commit message to use for the new Git commit. required: - message CurrentBranchResult: @@ -53763,6 +59474,8 @@ components: properties: branch: type: string + description: Name of the Git branch that the Cribl configuration is currently + checked out to. required: - branch CountedGitInfo: @@ -53785,11 +59498,40 @@ components: - enum: - false x-speakeasy-unknown-values: allow + description: URL of the configured remote Git repository, with credentials + redacted. false if no remote is configured. versioning: type: boolean + description: If true, Git versioning is enabled for this Cribl + instance. Otherwise, false. required: - remote - versioning + PaginatedGitLogResult: + type: object + required: + - items + - count + - offset + - limit + properties: + items: + type: array + description: the pre-limited items in the list of results + items: + $ref: "#/components/schemas/GitLogResult" + count: + type: integer + description: number of items present in the items array + offset: + type: integer + description: pagination offset + limit: + type: integer + description: pagination limit + totalCount: + type: integer + description: total number of items available (present when limit is set) CountedGitLogResult: type: object properties: @@ -53806,18 +59548,25 @@ components: properties: author_email: type: string + description: Email address of the commit author. author_name: type: string + description: Display name of the commit author. body: type: string + description: Body of the commit message, excluding the subject line. date: type: string + description: Date and time of the commit in ISO 8601 format with timezone offset. hash: type: string + description: Full SHA-1 hash of the commit. message: type: string + description: First line of the commit message (the subject). refs: type: string + description: Git refs (branches, tags) pointing to this commit. CountedGitStatusResult: type: object properties: @@ -53833,23 +59582,32 @@ components: type: object properties: ahead: - type: number + type: integer + description: Number of local commits that have not been pushed to the remote + repository. behind: - type: number + type: integer + description: Number of commits in the remote repository that have not been + pulled to the local branch. conflicted: type: array items: type: string + description: Array of file paths that have merge conflicts. created: type: array items: type: string + description: Array of file paths for newly created files that are staged for + commit. current: type: string + description: Name of the current Git branch. deleted: type: array items: type: string + description: Array of file paths for deleted files that are staged for commit. files: type: array items: @@ -53857,22 +59615,32 @@ components: properties: index: type: string + description: Status code for the file in the index (staging area), using Git + short-format notation. path: type: string + description: File path relative to the configuration root. working_dir: type: string + description: Status code for the file in the working directory, using Git + short-format notation. required: - index - path - working_dir + description: Array of all changed files with their index and working directory + status codes. modified: type: array items: type: string + description: Array of file paths for modified files that are staged for commit. not_added: type: array items: type: string + description: Array of file paths that have been modified but are not staged for + commit. renamed: type: array items: @@ -53880,15 +59648,19 @@ components: properties: from: type: string + description: Original file path before the rename. to: type: string + description: New file path after the rename. required: - from - to + description: Array of file rename operations that are staged for commit. staged: type: array items: type: string + description: Array of file paths that are staged for the next commit. required: - ahead - behind @@ -54087,29 +59859,6 @@ components: - 0.10.0 - 1.3.1 x-speakeasy-unknown-values: allow - TypeOptions: - title: Type - description: Parser or formatter type to use - type: string - enum: - - csv - - elff - - clf - - kvp - - json - - delim - - regex - - grok - x-speakeasy-enum-descriptions: - - CSV - - Extended Log File Format - - Common Log Format - - Key=Value Pairs - - JSON Object - - Delimited values - - Regular Expression - - Grok - x-speakeasy-unknown-values: allow AuthenticationProtocolOptionsV3User: type: string enum: @@ -54210,6 +59959,32 @@ components: enclosed in backticks (e.g., `${earliest}`). If a constant, use single quotes (e.g., 'earliest'). Values without delimiters (e.g., earliest) are evaluated as strings. + RefreshRequestParamConfHealthCheckAuthenticationOauth: + type: object + required: + - name + - value + properties: + name: + type: string + title: Name + description: Parameter name. + value: + type: string + title: Value + description: Parameter value. + RefreshRequestParamConfHealthCheckAuthenticationOauthSecret: + type: object + required: + - name + - value + properties: + name: + type: string + title: Name + value: + type: string + title: Value DiscoverMethodOptionsHealthCheckDiscoveryDiscoverTypeHttp: type: string title: Discover method @@ -54359,9 +60134,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 @@ -54416,6 +60193,7 @@ components: name: type: string title: Field Name + description: Name of the metadata field. value: type: string title: Value @@ -54844,6 +60622,17 @@ components: occurs. If Skip file on error is enabled, this setting is ignored. maximum: 100 minimum: 0 + SqsAuthenticationMethodOptions: + enum: + - auto + - secret + type: string + title: SQS authentication method + description: Choose Auto to use IAM roles + x-speakeasy-enum-descriptions: + - Auto + - Secret Key Pair + x-speakeasy-unknown-values: allow TagAfterProcessingOptions: enum: - false @@ -54860,18 +60649,6 @@ components: - silly description: Collector runtime log level x-speakeasy-unknown-values: allow - RequestParamConfInputOpenai: - type: object - required: - - name - - value - properties: - name: - type: string - title: Name - value: - type: string - title: Value OauthParamConfInputServicenowTable: type: object required: @@ -54900,6 +60677,23 @@ components: type: string title: Value description: OAuth header value + AuthenticationMethodOptionsAuthTokensItemsSecret: + title: Authentication method + type: string + enum: + - secret + description: Select Secret to use a text secret to authenticate + x-speakeasy-unknown-values: allow + MetadataConfAddHecTokenRequest: + type: object + properties: + name: + type: string + value: + type: string + required: + - name + - value JobTypeOptionsRunnableJobCollection: type: string title: Job type @@ -54936,31 +60730,15 @@ components: - type: object additionalProperties: type: number - StatusType: - type: object - properties: - error: - $ref: "#/components/schemas/StatusError" - description: Error information, if applicable. - health: - $ref: "#/components/schemas/HealthStringType" - description: Overall health status of the Source or Destination. - metrics: - type: object - additionalProperties: true - description: Metrics data for the Source or Destination. - pq: - $ref: "#/components/schemas/WorkerPQStatus" - description: Persistent queue status information (if persistent queue is enabled). - timestamp: - type: number - description: Timestamp (in Unix time) when the status was last updated. - useStatusFromLB: - type: boolean - description: Set to prefer status from the LB process, not from the worker - process. - description: "Runtime status: health, metrics, and optional persistent-queue - info. Fields may be absent when data is unavailable." + HealthOptionsStatus: + type: string + enum: + - Green + - Red + - Unknown + - Yellow + description: Overall health status of the Source or Destination. + x-speakeasy-unknown-values: allow MethodOptions: type: string title: Method @@ -55555,6 +61333,17 @@ components: - Basic - Basic (credentials secret) x-speakeasy-unknown-values: allow + AuthenticationMethodOptionsAutoSecret: + type: string + title: Authentication method + description: AWS authentication method. Choose Auto to use IAM roles. + enum: + - auto + - secret + x-speakeasy-enum-descriptions: + - Auto + - Secret Key pair + x-speakeasy-unknown-values: allow ProtocolOptions: type: string title: Protocol @@ -55667,6 +61456,48 @@ components: - Basic (credentials secret) - SSL User Certificate x-speakeasy-unknown-values: allow + FormatOptions: + type: string + title: Format + description: Data format to use when sending data to ClickHouse. Defaults to + JSON Compact. + enum: + - json-compact-each-row-with-names + - json-each-row + x-speakeasy-enum-descriptions: + - JSONCompactEachRowWithNames + - JSONEachRow + x-speakeasy-unknown-values: allow + MappingTypeOptions: + type: string + title: Mapping type + description: How event fields are mapped to ClickHouse columns + enum: + - automatic + - custom + x-speakeasy-enum-descriptions: + - Automatic + - Custom + x-speakeasy-unknown-values: allow + ColumnMappingConfOutputClickHouse: + type: object + required: + - columnName + - columnValueExpression + properties: + columnName: + type: string + title: Column name + description: Name of the column in ClickHouse that will store field value + columnType: + type: string + title: Column type + description: Type of the column in the ClickHouse database + columnValueExpression: + type: string + title: Column value + description: JavaScript expression to compute value to be inserted into + ClickHouse table AuthenticationMethodOptionsSecret: type: string title: Authentication method @@ -55819,237 +61650,174 @@ components: StorageClassOptionsCriblLakeDataset: type: string enum: + - Archive + - Cold + - Cool - DEEP_ARCHIVE - GLACIER - GLACIER_IR + - Hot + - Inferred - INTELLIGENT_TIERING - ONEZONE_IA - STANDARD - STANDARD_IA description: Storage class used for objects written to the Dataset. x-speakeasy-unknown-values: allow - ScalarOrArray: - oneOf: - - type: string - - type: array - items: - type: string - AwsTypeHeartbeatMetadata: - type: object - properties: - enabled: - type: boolean - instanceId: - type: string - region: - type: string - tags: - type: object - additionalProperties: - type: string - type: - type: string - zone: - type: string - required: - - enabled - - instanceId - - region - - type - - zone - AzureTypeHeartbeatMetadata: - type: object - properties: - enabled: - type: boolean - hostname: - type: string - instanceId: - type: string - name: - type: string - region: - type: string - resourceGroup: - type: string - subscriptionId: - type: string - tags: - type: object - additionalProperties: - type: string - type: - type: string - vmId: - type: string - zone: - type: string - required: - - enabled - HostOsTypeHeartbeatMetadata: - type: object - properties: - addresses: - type: array - items: - type: string - enabled: - type: boolean - id: - type: string - version: - type: string - required: - - addresses - - enabled - - id - - version - OwnerTypeHeartbeatMetadataKube: - type: object - properties: - kind: - type: string - name: - type: string - 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 - FilesTypeGitCommitSummary: - type: object - properties: - created: - type: array - items: - type: string - description: Array of file paths that were created in the commit. - deleted: - type: array - items: - type: string - description: Array of file paths that were deleted in the commit. - modified: - type: array - items: - type: string - description: Array of file paths that were modified in the commit. - renamed: - type: array - items: - $ref: "#/components/schemas/GitFileRename" - description: Array of file rename operations, each containing the original path - and the new path. SslTypeSystemSettingsConfApi: type: object properties: caPath: type: string + description: Filesystem path to the PEM-encoded Certificate Authority (CA) + certificate for client authentication. certPath: type: string + description: Filesystem path to the PEM-encoded TLS certificate. disabled: type: boolean + description: If true, TLS is disabled for the API server. + Otherwise, false. passphrase: type: string + description: Passphrase to decrypt the TLS private key, if encrypted. privKeyPath: type: string + description: Filesystem path to the PEM-encoded TLS private key. required: - certPath - disabled - passphrase - privKeyPath + description: TLS configuration for the API server. AppsTypeSystemSettingsConf: type: object properties: enabled: type: boolean + description: If true, enable Apps. Otherwise, false. required: - enabled + description: App configuration. CustomLogoTypeSystemSettingsConf: type: object properties: enabled: type: boolean + description: If true, display the custom logo in the UI. Otherwise, + false. logoDescription: type: string + description: Description text displayed alongside the custom logo. logoImage: type: string + description: Custom logo image as a base64-encoded data URI (PNG or JPEG, + maximum 2 MB). required: - enabled + description: Custom logo configuration for the Cribl UI login page and navigation bar. ProxyTypeSystemSettingsConf: type: object properties: useEnvVars: type: boolean + description: If true, use proxy settings from environment variables + (HTTP_PROXY, HTTPS_PROXY, + NO_PROXY). Otherwise, false. required: - useEnvVars + description: HTTP proxy configuration for outbound connections. ShutdownTypeSystemSettingsConf: type: object properties: drainTimeout: - type: number + type: integer + description: Maximum time in milliseconds to wait for in-flight events to drain + before forcing a shutdown. required: - drainTimeout + description: Graceful shutdown configuration. SocketsTypeSystemSettingsConf: type: object properties: directory: type: string + description: Filesystem directory path where Unix domain socket files are created. + description: Unix domain socket configuration. FeatureFlagOverrideConfSystemSettingsConf: type: object properties: disabled: type: boolean + description: If true, the feature flag is disabled. Otherwise, + false. flagId: type: string + description: Unique identifier of the feature flag to override. required: - disabled - flagId UpgradeOptionsSystemSettingsConfSystem: enum: - - false - api + - false + description: "Upgrade permission policy: api to allow upgrades from + the UI or API or false to disable." x-speakeasy-unknown-values: allow WorkersTypeSystemSettingsConf: type: object properties: count: - type: number + type: integer + description: Number of Worker Processes to spawn. Set to 0 to use + the number of available CPU cores. enableHeapSnapshots: type: boolean + description: If true, enable V8 heap snapshot generation on + out-of-memory errors. Otherwise, false. loadThrottlePerc: - type: number + type: integer + description: CPU load percentage threshold above which new connections are + throttled. memory: - type: number + type: integer + description: Maximum memory (in MB) per Worker Process. Set to 0 + for no limit. minimum: - type: number + type: integer + description: Minimum number of Worker Processes to keep running. + restartUnresponsiveProcesses: + type: boolean + description: If true, automatically restart Worker Processes that + become unresponsive. Otherwise, false. startupMaxConns: - type: number + type: integer + description: Maximum number of connections to accept during Worker Process + startup before throttling begins. startupThrottleTimeout: - type: number + type: integer + description: Timeout in milliseconds to wait for Worker Processes to reach idle + before ending the startup throttle period. v8SingleThread: type: boolean + description: If true, run all worker threads in a single V8 + isolate. Otherwise, false. + workerProcessConfigUpdateConcurrency: + type: integer + description: Maximum number of Worker Processes that can reload configuration + concurrently. + workerProcessReloadTimeout: + type: integer + description: Timeout in milliseconds to wait for a Worker Process to reload + configuration before treating the reload as failed. + workerThreadPoolSize: + type: integer + description: Size of the Worker thread pool used for CPU-bound tasks. required: - count - memory - minimum + description: Worker Process configuration. TimestampFormatTypeEventBreakerExistingOrNewNew: type: object required: @@ -56254,7 +62022,7 @@ components: title: Buffer size limit (bytes) description: The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB - and the maximum value is 1MB. + and the maximum value is 10MB. pattern: ^\d+\s*(?:\w{2})?$ maxBufferSize: type: number @@ -56292,6 +62060,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 @@ -56518,6 +62287,7 @@ components: disabled: type: boolean title: Disabled + description: If true, TLS is disabled on this connection. requestCert: type: boolean title: Authenticate client (mutual auth) @@ -56823,6 +62593,41 @@ components: type: boolean title: Detailed metrics description: Generate full GPU metrics + AuthTokenConfInputCloudflareHec: + type: object + properties: + authType: + $ref: "#/components/schemas/AuthenticationMethodOptionsAuthTokensItemsSecret" + tokenSecret: + type: string + title: Token secret (text secret) + description: Select or create a stored text secret + token: + type: string + title: Token + description: "Shared secret to be provided by any client (Authorization: )" + enabled: + type: boolean + title: Enable token + description: + type: string + title: Description + allowedIndexesAtToken: + type: array + title: Allowed indexes + description: Enter the values you want to allow in the HEC event index field at + the token level. Supports wildcards. To skip validation, leave + blank. + minItems: 0 + items: + type: string + minLength: 1 + metadata: + type: array + title: Fields + description: Fields to add to events referencing this token + items: + $ref: "#/components/schemas/MetadataConfInputCollection" RunnableJobCollectionScheduleRunType: type: object required: @@ -56960,6 +62765,30 @@ components: conf: $ref: "#/components/schemas/ExecutorSpecificSettingsTypeRunnableJobExecutorExec\ utor" + StatusType: + type: object + properties: + error: + $ref: "#/components/schemas/StatusError" + description: Error information, if applicable. + health: + $ref: "#/components/schemas/HealthOptionsStatus" + metrics: + type: object + additionalProperties: true + description: Metrics data for the Source or Destination. + pq: + $ref: "#/components/schemas/WorkerPQStatus" + description: Persistent queue status information (if persistent queue is enabled). + timestamp: + type: integer + description: Timestamp (in Unix time) when the status was last updated. + useStatusFromLB: + type: boolean + description: Set to prefer status from the LB process, not from the worker + process. + description: "Runtime status: health, metrics, and optional persistent-queue + info. Fields may be absent when data is unavailable." TlsSettingsClientSideTypeCaPathCertPathExtended: type: object title: TLS settings (client side) @@ -57038,6 +62867,47 @@ components: description: 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. + TlsSettingsClientSideTypeExtended: + type: object + title: TLS settings (client side) + properties: + disabled: + type: boolean + title: Disabled + rejectUnauthorized: + type: boolean + title: Validate server certs + description: >- + Reject certificates that are not authorized by a CA in the CA + certificate path, or by another + trusted CA (such as the system's). Defaults to Enabled. Overrides the toggle from Advanced Settings, when also present. + certificateName: + type: string + title: Certificate + description: The name of the predefined certificate + caPath: + type: string + title: CA certificate path + description: Path on client in which to find CA certificates to verify the + server's cert. PEM format. Can reference $ENV_VARS. + privKeyPath: + type: string + title: Private key path (mutual auth) + description: Path on client in which to find the private key to use. PEM format. + Can reference $ENV_VARS. + certPath: + type: string + title: Certificate path (mutual auth) + description: Path on client in which to find certificates to use. PEM format. + Can reference $ENV_VARS. + passphrase: + type: string + title: Passphrase + description: Passphrase to use to decrypt private key + minVersion: + $ref: "#/components/schemas/MinimumTlsVersionOptionsTls" + maxVersion: + $ref: "#/components/schemas/MaximumTlsVersionOptionsTls" AuthTypeTemplatemanualApiKeyAuthType: type: object required: @@ -57100,109 +62970,72 @@ components: type: string title: Credentials secret description: Select or create a secret that references your credentials - TlsSettingsClientSideTypeExtended: - type: object - title: TLS settings (client side) - properties: - disabled: - type: boolean - title: Disabled - rejectUnauthorized: - type: boolean - title: Validate server certs - description: >- - Reject certificates that are not authorized by a CA in the CA - certificate path, or by another - trusted CA (such as the system's). Defaults to Enabled. Overrides the toggle from Advanced Settings, when also present. - certificateName: - type: string - title: Certificate - description: The name of the predefined certificate - caPath: - type: string - title: CA certificate path - description: Path on client in which to find CA certificates to verify the - server's cert. PEM format. Can reference $ENV_VARS. - privKeyPath: - type: string - title: Private key path (mutual auth) - description: Path on client in which to find the private key to use. PEM format. - Can reference $ENV_VARS. - certPath: - type: string - title: Certificate path (mutual auth) - description: Path on client in which to find certificates to use. PEM format. - Can reference $ENV_VARS. - passphrase: - type: string - title: Passphrase - description: Passphrase to use to decrypt private key - minVersion: - $ref: "#/components/schemas/MinimumTlsVersionOptionsTls" - maxVersion: - $ref: "#/components/schemas/MaximumTlsVersionOptionsTls" - KubeTypeHeartbeatMetadata: - type: object - properties: - enabled: - type: boolean - namespace: - type: string - node: - type: string - owner: - $ref: "#/components/schemas/OwnerTypeHeartbeatMetadataKube" - pod: - type: string - source: - type: string - required: - - enabled - - namespace - - node - - pod - - source ApiTypeSystemSettingsConf: type: object properties: baseUrl: type: string + description: Base URL for the API server. Used when the server is behind a + reverse proxy. disableApiCache: type: boolean + description: If true, disable the API response cache. Otherwise, + false. disabled: type: boolean + description: If true, the API server is disabled. Otherwise, + false. headers: type: object additionalProperties: type: string + description: Custom HTTP response headers to include in every API response. host: type: string + description: Hostname or IP address the API server listens on. idleSessionTTL: - type: number + type: integer + description: Idle session timeout in seconds. Sessions are invalidated after the + specified seconds of inactivity. listenOnPort: type: boolean + description: If true, bind to the configured port as the server + listen port. Otherwise, false. loginRateLimit: type: string + description: Rate limit for login attempts. Value is a string such as + 100/min. port: - type: number + type: integer + description: Port number the API server listens on. protocol: type: string + description: "API protocol: http or https." scripts: type: boolean + description: If true, enable JavaScript scripting support in the + API. Otherwise, false. sensitiveFields: type: array items: type: string + description: List of field names whose values are redacted in API responses and + logs. ssl: $ref: "#/components/schemas/SslTypeSystemSettingsConfApi" ssoRateLimit: type: string + description: Rate limit for SSO authentication attempts. Value is a string such + as 100/min. workerRemoteAccess: type: boolean + description: If true, enable remote access (teleporting) to Worker + Processes via the API. Otherwise, false. required: - disabled - host - port + description: API server configuration for the Cribl instance. SupportTypeSystemSettingsConf: type: object properties: @@ -57210,20 +63043,28 @@ components: type: array items: $ref: "#/components/schemas/FeatureFlagOverrideConfSystemSettingsConf" + description: List of feature flag overrides applied to this Cribl instance. logFileMaxFiles: - type: number + type: integer + description: Maximum number of log files to retain before rotating. logFileMaxSize: type: string + description: Maximum size of each log file. Value is a numeral and unit such as + 10 MB. + description: Support and diagnostics settings. SystemTypeSystemSettingsConf: type: object properties: intercom: type: boolean + description: If true, enable Intercom integration for in-product + messaging. Otherwise, false. upgrade: $ref: "#/components/schemas/UpgradeOptionsSystemSettingsConfSystem" required: - intercom - upgrade + description: System-level operational settings for the Cribl instance. KafkaSchemaRegistryAuthenticationType: type: object title: Kafka Schema Registry Authentication @@ -57399,22 +63240,43 @@ components: run: $ref: "#/components/schemas/RunSettingsTypeSavedJobResponseCollectionSchedule" examples: + DatabaseConnectionResponseExamplesMySQLDatabaseConnection: + summary: Get a Database Connection + description: Example response for getting a Database Connection with a censored + connection string. + value: + count: 1 + items: + - id: mysql-prod-db + description: Production MySQL database for customer data + databaseType: mysql + authType: connectionString + connectionString: "*****" + connectionTimeout: 10000 + tags: production,mysql,customer-data + DatabaseConnectionBadRequestResponseExamplesInvalidDatabaseConnectionRequest: + summary: Return a validation error for a Database Connection request + description: Example response for returning a validation error for a Database + Connection create or update request. + value: + status: error + message: must have required property 'id' DatabaseConnectionExamplesMySQLWithConnectionString: - summary: MySQL with connection string - description: Create a MySQL database connection using a connection string with - embedded credentials + summary: Create a MySQL Database Connection with a connection string + description: Example request body for creating a MySQL Database Connection using + a connection string with embedded credentials. value: id: mysql-prod-db description: Production MySQL database for customer data databaseType: mysql authType: connectionString - connectionString: mysql://admin:password123@mysql.example.com:3306/production?ssl=true + connectionString: mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true connectionTimeout: 10000 tags: production,mysql,customer-data DatabaseConnectionExamplesMySQLWithSecret: - summary: MySQL with secret - description: Create a MySQL database connection using a stored secret for the - connection string + summary: Create a MySQL Database Connection with a secret + description: Example request body for creating a MySQL Database Connection using + a stored text secret for the connection string. value: id: mysql-analytics-db description: Analytics MySQL database @@ -57424,19 +63286,21 @@ components: connectionTimeout: 15000 tags: analytics,mysql DatabaseConnectionExamplesPostgreSQLWithConnectionString: - summary: PostgreSQL with connection string - description: Create a PostgreSQL database connection using a connection string + summary: Create a PostgreSQL Database Connection with a connection string + description: Example request body for creating a PostgreSQL Database Connection + using a connection string. value: id: postgres-warehouse description: Data warehouse PostgreSQL database databaseType: postgres authType: connectionString - connectionString: postgresql://warehouse_user:SecurePass456@postgres.example.com:5432/warehouse?sslmode=require + connectionString: postgresql://yourUsername:yourPassword@postgres.example.com:5432/warehouse?sslmode=require connectionTimeout: 15000 tags: warehouse,postgres,reporting DatabaseConnectionExamplesPostgreSQLWithSecret: - summary: PostgreSQL with secret - description: Create a PostgreSQL database connection using a stored secret + summary: Create a PostgreSQL Database Connection with a secret + description: Example request body for creating a PostgreSQL Database Connection + using a stored text secret. value: id: postgres-logs description: Logs PostgreSQL database @@ -57446,21 +63310,23 @@ components: connectionTimeout: 10000 tags: logs,postgres DatabaseConnectionExamplesSQLServerWithConnectionString: - summary: SQL Server with connection string - description: Create a SQL Server database connection using a connection string + summary: Create a SQL Server Database Connection with a connection string + description: Example request body for creating a SQL Server Database Connection + using a connection string. value: id: sqlserver-erp description: ERP SQL Server database databaseType: sqlserver authType: connectionString connectionString: Server=sqlserver.example.com;Database=ERP;User - Id=erp_admin;Password=ERP_Pass789!;Encrypt=true + Id=yourUsername;Password=yourPassword;Encrypt=true connectionTimeout: 15000 requestTimeout: 30000 tags: erp,sqlserver,finance DatabaseConnectionExamplesSQLServerWithSecret: - summary: SQL Server with secret - description: Create a SQL Server database connection using a stored secret + summary: Create a SQL Server Database Connection with a secret + description: Example request body for creating a SQL Server Database Connection + using a stored text secret. value: id: sqlserver-crm description: CRM SQL Server database @@ -57471,49 +63337,49 @@ components: requestTimeout: 15000 tags: crm,sqlserver,sales DatabaseConnectionExamplesSQLServerWithConfigObject: - summary: SQL Server with config object - description: Create a SQL Server database connection using a configuration - object for advanced settings + summary: Create a SQL Server Database Connection with a config object + description: Example request body for creating a SQL Server Database Connection + using a JSON configuration object for advanced settings. value: id: sqlserver-reporting description: Reporting SQL Server database with custom config databaseType: sqlserver authType: configObj - configObj: '{"server":"sqlserver.example.com","database":"Reporting","user":"report_user","password":"Report_Pass123!","options":{"encrypt":true,"trustServerCertificate":false,"connectTimeout":20000}}' + configObj: '{"server":"sqlserver.example.com","database":"Reporting","user":"yourUsername","password":"yourPassword","options":{"encrypt":true,"trustServerCertificate":false,"connectTimeout":20000}}' requestTimeout: 60000 tags: reporting,sqlserver,analytics DatabaseConnectionExamplesOracleWithConnectionString: - summary: Oracle with connection string - description: Create an Oracle database connection using Easy Connect format with - credentials + summary: Create an Oracle Database Connection with a connection string + description: Example request body for creating an Oracle Database Connection + using Easy Connect format with credentials. value: id: oracle-erp description: Oracle ERP database databaseType: oracle authType: connectionString connectionString: oracle.example.com:1521/ORCL - user: erp_user - password: Oracle_Pass456! + user: yourUsername + password: yourPassword connectionTimeout: 15000 tags: erp,oracle,finance DatabaseConnectionExamplesOracleWithSecret: - summary: Oracle with secret - description: Create an Oracle database connection using a stored secret for the - connection string + summary: Create an Oracle Database Connection with a secret + description: Example request body for creating an Oracle Database Connection + using a stored text secret for the connection string. value: id: oracle-warehouse description: Oracle data warehouse databaseType: oracle authType: secret textSecret: oracle-warehouse-connection - user: warehouse_user - password: Warehouse_Pass789! + user: yourUsername + password: yourPassword connectionTimeout: 20000 tags: warehouse,oracle,reporting DatabaseConnectionExamplesOracleWithCredentialsSecrets: - summary: Oracle with credentials secrets - description: Create an Oracle database connection using separate secrets for - credentials and connection string + summary: Create an Oracle Database Connection with credentials secrets + description: Example request body for creating an Oracle Database Connection + using separate secrets for credentials and the connection string. value: id: oracle-secure-db description: High-security Oracle database with credential secrets @@ -57523,26 +63389,75 @@ components: textSecret: oracle-secure-connection connectionTimeout: 15000 tags: secure,oracle,sensitive-data - UpdateDatabaseConnectionExamplesMySQLWithConnectionString: - summary: Update MySQL with connection string - description: Example request body for updating a Database - Connection.

The request body must include a complete - representation of the Database Connection that you want to update. This - endpoint does not support partial updates. + DatabaseConnectionExamplesOracleWithMutualTLS: + summary: Oracle with mutual TLS (mTLS) + description: Create an Oracle database connection that authenticates with a + client certificate over TCPS. The certificate referenced by + `tls.certificateName` must already exist in the system certificates + store and contain the client cert, private key, and (for self-signed + server chains) the CA cert pinned by the customer. + value: + id: oracle-mtls-db + description: Oracle database reached over TCPS with mutual TLS + databaseType: oracle + authType: connectionString + connectionString: tcps://oracle.example.com:2484/ORCL + user: erp_user + password: Oracle_Pass456! + connectionTimeout: 15000 + tls: + disabled: false + rejectUnauthorized: true + certificateName: oracle-client-cert + tags: erp,oracle,mtls,production + DatabaseConnectionNotFoundResponseExamplesDatabaseConnectionNotFound: + summary: Return a not found error for a Database Connection + description: Example response for returning a not found error when getting a + Database Connection by id. + value: + status: error + message: Database Connection not found + DatabaseConnectionListResponseExamplesDatabaseConnectionList: + summary: List Database Connections + description: Example response for listing Database Connections in the + items array. + value: + count: 2 + items: + - id: mysql-prod-db + description: Production MySQL database for customer data + databaseType: mysql + authType: connectionString + connectionString: "*****" + connectionTimeout: 10000 + tags: production,mysql,customer-data + - id: postgres-warehouse + description: Data warehouse PostgreSQL database + databaseType: postgres + authType: secret + textSecret: postgres-warehouse-connection + connectionTimeout: 15000 + tags: warehouse,postgres,reporting + UpdateDatabaseConnectionExamplesUpdateMySQLDatabaseConnectionWithConnectionString: + summary: Update a MySQL Database Connection with a connection string + description: Example request body for updating a MySQL Database Connection using + a connection string with embedded credentials.

The request body + must include a complete representation of the Database Connection that + you want to update. This endpoint does not support partial updates. value: id: mysql-prod-db description: Production MySQL database for customer data databaseType: mysql authType: connectionString - connectionString: mysql://admin:password123@mysql.example.com:3306/production?ssl=true + connectionString: mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true connectionTimeout: 10000 tags: production,mysql,customer-data - UpdateDatabaseConnectionExamplesMySQLWithSecret: - summary: Update MySQL with secret - description: Example request body for updating a Database - Connection.

The request body must include a complete - representation of the Database Connection that you want to update. This - endpoint does not support partial updates. + UpdateDatabaseConnectionExamplesUpdateMySQLDatabaseConnectionWithSecret: + summary: Update a MySQL Database Connection with a secret + description: Example request body for updating a MySQL Database Connection using + a stored text secret for the connection string.

The request + body must include a complete representation of the Database Connection + that you want to update. This endpoint does not support partial updates. value: id: mysql-analytics-db description: Analytics MySQL database @@ -57551,26 +63466,26 @@ components: textSecret: mysql-analytics-connection connectionTimeout: 15000 tags: analytics,mysql - UpdateDatabaseConnectionExamplesPostgreSQLWithConnectionString: - summary: Update PostgreSQL with connection string - description: Example request body for updating a Database - Connection.

The request body must include a complete - representation of the Database Connection that you want to update. This - endpoint does not support partial updates. + UpdateDatabaseConnectionExamplesUpdatePostgreSQLDatabaseConnectionWithConnectionString: + summary: Update a PostgreSQL Database Connection with a connection string + description: Example request body for updating a PostgreSQL Database Connection + using a connection string.

The request body must include a + complete representation of the Database Connection that you want to + update. This endpoint does not support partial updates. value: id: postgres-warehouse description: Data warehouse PostgreSQL database databaseType: postgres authType: connectionString - connectionString: postgresql://warehouse_user:SecurePass456@postgres.example.com:5432/warehouse?sslmode=require + connectionString: postgresql://yourUsername:yourPassword@postgres.example.com:5432/warehouse?sslmode=require connectionTimeout: 15000 tags: warehouse,postgres,reporting - UpdateDatabaseConnectionExamplesPostgreSQLWithSecret: - summary: Update PostgreSQL with secret - description: Example request body for updating a Database - Connection.

The request body must include a complete - representation of the Database Connection that you want to update. This - endpoint does not support partial updates. + UpdateDatabaseConnectionExamplesUpdatePostgreSQLDatabaseConnectionWithSecret: + summary: Update a PostgreSQL Database Connection with a secret + description: Example request body for updating a PostgreSQL Database Connection + using a stored text secret.

The request body must include a + complete representation of the Database Connection that you want to + update. This endpoint does not support partial updates. value: id: postgres-logs description: Logs PostgreSQL database @@ -57579,28 +63494,28 @@ components: textSecret: postgres-logs-connection connectionTimeout: 10000 tags: logs,postgres - UpdateDatabaseConnectionExamplesSQLServerWithConnectionString: - summary: Update SQL Server with connection string - description: Example request body for updating a Database - Connection.

The request body must include a complete - representation of the Database Connection that you want to update. This - endpoint does not support partial updates. + UpdateDatabaseConnectionExamplesUpdateSQLServerDatabaseConnectionWithConnectionString: + summary: Update a SQL Server Database Connection with a connection string + description: Example request body for updating a SQL Server Database Connection + using a connection string.

The request body must include a + complete representation of the Database Connection that you want to + update. This endpoint does not support partial updates. value: id: sqlserver-erp description: ERP SQL Server database databaseType: sqlserver authType: connectionString connectionString: Server=sqlserver.example.com;Database=ERP;User - Id=erp_admin;Password=ERP_Pass789!;Encrypt=true + Id=yourUsername;Password=yourPassword;Encrypt=true connectionTimeout: 15000 requestTimeout: 30000 tags: erp,sqlserver,finance - UpdateDatabaseConnectionExamplesSQLServerWithSecret: - summary: Update SQL Server with secret - description: Example request body for updating a Database - Connection.

The request body must include a complete - representation of the Database Connection that you want to update. This - endpoint does not support partial updates. + UpdateDatabaseConnectionExamplesUpdateSQLServerDatabaseConnectionWithSecret: + summary: Update a SQL Server Database Connection with a secret + description: Example request body for updating a SQL Server Database Connection + using a stored text secret.

The request body must include a + complete representation of the Database Connection that you want to + update. This endpoint does not support partial updates. value: id: sqlserver-crm description: CRM SQL Server database @@ -57610,58 +63525,61 @@ components: connectionTimeout: 15000 requestTimeout: 15000 tags: crm,sqlserver,sales - UpdateDatabaseConnectionExamplesSQLServerWithConfigObject: - summary: Update SQL Server with config object - description: Example request body for updating a Database - Connection.

The request body must include a complete - representation of the Database Connection that you want to update. This - endpoint does not support partial updates. + UpdateDatabaseConnectionExamplesUpdateSQLServerDatabaseConnectionWithConfigObject: + summary: Update a SQL Server Database Connection with a config object + description: Example request body for updating a SQL Server Database Connection + using a JSON configuration object for advanced settings.

The + request body must include a complete representation of the Database + Connection that you want to update. This endpoint does not support + partial updates. value: id: sqlserver-reporting description: Reporting SQL Server database with custom config databaseType: sqlserver authType: configObj - configObj: '{"server":"sqlserver.example.com","database":"Reporting","user":"report_user","password":"Report_Pass123!","options":{"encrypt":true,"trustServerCertificate":false,"connectTimeout":20000}}' + configObj: '{"server":"sqlserver.example.com","database":"Reporting","user":"yourUsername","password":"yourPassword","options":{"encrypt":true,"trustServerCertificate":false,"connectTimeout":20000}}' requestTimeout: 60000 tags: reporting,sqlserver,analytics - UpdateDatabaseConnectionExamplesOracleWithConnectionString: - summary: Update Oracle with connection string - description: Example request body for updating a Database - Connection.

The request body must include a complete - representation of the Database Connection that you want to update. This - endpoint does not support partial updates. + UpdateDatabaseConnectionExamplesUpdateOracleDatabaseConnectionWithConnectionString: + summary: Update an Oracle Database Connection with a connection string + description: Example request body for updating an Oracle Database Connection + using Easy Connect format with credentials.

The request body + must include a complete representation of the Database Connection that + you want to update. This endpoint does not support partial updates. value: id: oracle-erp description: Oracle ERP database databaseType: oracle authType: connectionString connectionString: oracle.example.com:1521/ORCL - user: erp_user - password: Oracle_Pass456! + user: yourUsername + password: yourPassword connectionTimeout: 15000 tags: erp,oracle,finance - UpdateDatabaseConnectionExamplesOracleWithSecret: - summary: Update Oracle with secret - description: Example request body for updating a Database - Connection.

The request body must include a complete - representation of the Database Connection that you want to update. This - endpoint does not support partial updates. + UpdateDatabaseConnectionExamplesUpdateOracleDatabaseConnectionWithSecret: + summary: Update an Oracle Database Connection with a secret + description: Example request body for updating an Oracle Database Connection + using a stored text secret for the connection string.

The + request body must include a complete representation of the Database + Connection that you want to update. This endpoint does not support + partial updates. value: id: oracle-warehouse description: Oracle data warehouse databaseType: oracle authType: secret textSecret: oracle-warehouse-connection - user: warehouse_user - password: Warehouse_Pass789! + user: yourUsername + password: yourPassword connectionTimeout: 20000 tags: warehouse,oracle,reporting - UpdateDatabaseConnectionExamplesOracleWithCredentialsSecrets: - summary: Update Oracle with credentials secrets - description: Example request body for updating a Database - Connection.

The request body must include a complete - representation of the Database Connection that you want to update. This - endpoint does not support partial updates. + UpdateDatabaseConnectionExamplesUpdateOracleDatabaseConnectionWithCredentialsSecrets: + summary: Update an Oracle Database Connection with credentials secrets + description: Example request body for updating an Oracle Database Connection + using separate secrets for credentials and the connection + string.

The request body must include a complete representation + of the Database Connection that you want to update. This endpoint does + not support partial updates. value: id: oracle-secure-db description: High-security Oracle database with credential secrets @@ -57671,6 +63589,91 @@ components: textSecret: oracle-secure-connection connectionTimeout: 15000 tags: secure,oracle,sensitive-data + FunctionResponseExamplesEvalFunction: + summary: Get the Eval Function + description: Example response for getting the Eval Function. + value: + count: 1 + items: + - id: eval + name: Eval + version: "0.4" + group: Standard + __filename: eval/index.js + loadTime: 0 + modTime: 0 + uischema: {} + description: Adds, removes, or updates event fields using JavaScript + expressions. + category: fields + tags: eval,fields + FunctionResponseExamplesDropFunction: + summary: Get the Drop Function + description: Example response for getting the Drop Function, which removes + events that match a specified filter expression. + value: + count: 1 + items: + - id: drop + name: Drop + version: "0.1" + group: Standard + __filename: drop/index.js + loadTime: 0 + modTime: 0 + uischema: {} + description: Removes events that match the specified filter expression. + category: filtering + tags: drop,filter + FunctionListResponseExamplesFunctionList: + summary: List all Functions + description: Example response for listing all Functions. + value: + count: 2 + items: + - id: eval + name: Eval + version: "0.4" + group: Standard + __filename: eval/index.js + loadTime: 0 + modTime: 0 + uischema: {} + description: Adds, removes, or updates event fields using JavaScript + expressions. + category: fields + tags: eval,fields + - id: drop + name: Drop + version: "0.1" + group: Standard + __filename: drop/index.js + loadTime: 0 + modTime: 0 + uischema: {} + description: Removes events that match the specified filter expression. + category: filtering + tags: drop,filter + HecTokenResponseExamplesSplunkHecSource: + summary: Splunk HEC Source with HEC tokens + description: Example response for adding or updating an HEC token on a Splunk + HEC Source. + value: + count: 1 + items: + - id: splunk-hec-source + type: splunk_hec + host: 0.0.0.0 + port: 8088 + splunkHecAPI: /services/collector + sendToRoutes: true + pqEnabled: false + authTokens: + - token: "12345678901" + enabled: true + metadata: + - name: fieldX + value: valueX HecTokenExamplesHecToken: summary: Basic HEC token description: Example request body for adding an HEC token with metadata to a @@ -57690,6 +63693,65 @@ components: allowedIndexesAtToken: - myIndex6 token: "12345678901" + ClearPQResponseExamplesClearPQJob: + summary: Clear PQ job ID + description: Example response for clearing the persistent queue. Returns the job + ID of the background clear operation. + value: + count: 1 + items: + - "1727123456.1234567890" + PQStatusResponseExamplesCompletedJob: + summary: Completed clear-PQ job + description: Example response for retrieving the status of a completed clear-PQ job. + value: + count: 1 + items: + - id: "1727123456.1234567890" + type: collection + status: + state: 5 + stats: {} + args: + type: collection + collector: + type: filesystem + conf: + path: /var/log/*.log + run: + mode: run + type: adhoc + InputResponseExamplesSyslogSource: + summary: Syslog Source response + description: Example response for getting or updating a Syslog Source. + value: + id: syslog-source + type: syslog + host: 0.0.0.0 + udpPort: 514 + sendToRoutes: true + pqEnabled: false + InputResponseExamplesSplunkHecSource: + summary: Splunk HEC Source response + description: Example response for getting or updating a Splunk HEC Source. + value: + id: splunk-hec-source + type: splunk_hec + host: 0.0.0.0 + port: 8088 + splunkHecAPI: /services/collector + sendToRoutes: true + pqEnabled: false + InputResponseExamplesHttpSource: + summary: HTTP Source response + description: Example response for getting or updating an HTTP Source. + value: + id: http-source + type: http + host: 0.0.0.0 + port: 10080 + sendToRoutes: true + pqEnabled: false InputCreateExamplesAnthropicCompliance: summary: Anthropic Compliance value: @@ -57710,6 +63772,7 @@ components: stateMergeExpression: "prevState.latestTime > newState.latestTime ? prevState : newState" sendToRoutes: true pqEnabled: false + description: Example request body for creating a Anthropic Compliance Source. InputCreateExamplesAppleUnifiedLogs: summary: Apple Unified Logs value: @@ -57718,6 +63781,7 @@ components: predicate: subsystem == "com.apple.security" sendToRoutes: true pqEnabled: false + description: Example request body for creating a Apple Unified Logs Source. InputCreateExamplesAppscope: summary: AppScope value: @@ -57727,6 +63791,7 @@ components: port: 9109 sendToRoutes: true pqEnabled: false + description: Example request body for creating a AppScope Source. InputCreateExamplesAzureBlob: summary: Azure Blob value: @@ -57735,6 +63800,7 @@ components: queueName: azure-blob-queue sendToRoutes: true pqEnabled: false + description: Example request body for creating a Azure Blob Source. InputCreateExamplesCloudflareHec: summary: Cloudflare HEC value: @@ -57745,6 +63811,7 @@ components: hecAPI: /services/collector sendToRoutes: true pqEnabled: false + description: Example request body for creating a Cloudflare HEC Source. InputCreateExamplesConfluentCloud: summary: Confluent Cloud value: @@ -57756,6 +63823,7 @@ components: - logs sendToRoutes: true pqEnabled: false + description: Example request body for creating a Confluent Cloud Source. InputCreateExamplesCollection: summary: Collection value: @@ -57763,6 +63831,7 @@ components: type: collection sendToRoutes: true pqEnabled: false + description: Example request body for creating a Collection Source. InputCreateExamplesCriblHttp: summary: Cribl HTTP value: @@ -57772,6 +63841,7 @@ components: port: 10080 sendToRoutes: true pqEnabled: false + description: Example request body for creating a Cribl HTTP Source. InputCreateExamplesCriblLakeHttp: summary: Cribl Lake HTTP value: @@ -57781,6 +63851,7 @@ components: port: 10080 sendToRoutes: true pqEnabled: false + description: Example request body for creating a Cribl Lake HTTP Source. InputCreateExamplesCriblTcp: summary: Cribl TCP value: @@ -57790,6 +63861,7 @@ components: port: 10090 sendToRoutes: true pqEnabled: false + description: Example request body for creating a Cribl TCP Source. InputCreateExamplesCrowdstrike: summary: CrowdStrike FDR value: @@ -57799,6 +63871,7 @@ components: region: us-east-1 sendToRoutes: true pqEnabled: false + description: Example request body for creating a CrowdStrike FDR Source. InputCreateExamplesDatadogAgent: summary: Datadog Agent value: @@ -57808,6 +63881,7 @@ components: port: 8126 sendToRoutes: true pqEnabled: false + description: Example request body for creating a Datadog Agent Source. InputCreateExamplesDatagen: summary: Datagen value: @@ -57818,6 +63892,7 @@ components: eventsPerSec: 10 sendToRoutes: true pqEnabled: false + description: Example request body for creating a Datagen Source. InputCreateExamplesEdgePrometheus: summary: Edge Prometheus value: @@ -57832,6 +63907,7 @@ components: scrapePath: /metrics sendToRoutes: true pqEnabled: false + description: Example request body for creating a Edge Prometheus Source. InputCreateExamplesElastic: summary: Elasticsearch value: @@ -57842,6 +63918,7 @@ components: elasticAPI: / sendToRoutes: true pqEnabled: false + description: Example request body for creating a Elasticsearch Source. InputCreateExamplesEventhub: summary: Event Hubs value: @@ -57853,6 +63930,7 @@ components: - logs sendToRoutes: true pqEnabled: false + description: Example request body for creating a Event Hubs Source. InputCreateExamplesEventhubAmqp: summary: Event Hubs AMQP value: @@ -57865,6 +63943,7 @@ components: containerName: my-container sendToRoutes: true pqEnabled: false + description: Example request body for creating a Event Hubs AMQP Source. InputCreateExamplesExec: summary: Exec value: @@ -57874,6 +63953,7 @@ components: interval: 60 sendToRoutes: true pqEnabled: false + description: Example request body for creating a Exec Source. InputCreateExamplesFile: summary: File Monitor value: @@ -57882,6 +63962,7 @@ components: mode: manual sendToRoutes: true pqEnabled: false + description: Example request body for creating a File Monitor Source. InputCreateExamplesFirehose: summary: Firehose value: @@ -57891,6 +63972,7 @@ components: port: 10080 sendToRoutes: true pqEnabled: false + description: Example request body for creating a Firehose Source. InputCreateExamplesGrafana: summary: Grafana value: @@ -57901,6 +63983,7 @@ components: prometheusAPI: /api/prom/push sendToRoutes: true pqEnabled: false + description: Example request body for creating a Grafana Source. InputCreateExamplesGooglePubsub: summary: Google Pub/Sub value: @@ -57910,6 +63993,7 @@ components: topicName: my-topic sendToRoutes: true pqEnabled: false + description: Example request body for creating a Google Pub/Sub Source. InputCreateExamplesHttp: summary: HTTP value: @@ -57919,6 +64003,7 @@ components: port: 10080 sendToRoutes: true pqEnabled: false + description: Example request body for creating a HTTP Source. InputCreateExamplesHttpRaw: summary: HTTP Raw value: @@ -57928,6 +64013,7 @@ components: port: 10080 sendToRoutes: true pqEnabled: false + description: Example request body for creating a HTTP Raw Source. InputCreateExamplesJournalFiles: summary: Journal Files value: @@ -57938,6 +64024,7 @@ components: - system sendToRoutes: true pqEnabled: false + description: Example request body for creating a Journal Files Source. InputCreateExamplesKafka: summary: Kafka value: @@ -57949,6 +64036,7 @@ components: - logs sendToRoutes: true pqEnabled: false + description: Example request body for creating a Kafka Source. InputCreateExamplesKinesis: summary: Kinesis value: @@ -57958,6 +64046,7 @@ components: region: us-east-1 sendToRoutes: true pqEnabled: false + description: Example request body for creating a Kinesis Source. InputCreateExamplesKubeEvents: summary: Kubernetes Events value: @@ -57965,6 +64054,7 @@ components: type: kube_events sendToRoutes: true pqEnabled: false + description: Example request body for creating a Kubernetes Events Source. InputCreateExamplesKubeLogs: summary: Kubernetes Logs value: @@ -57972,6 +64062,7 @@ components: type: kube_logs sendToRoutes: true pqEnabled: false + description: Example request body for creating a Kubernetes Logs Source. InputCreateExamplesKubeMetrics: summary: Kubernetes Metrics value: @@ -57979,6 +64070,7 @@ components: type: kube_metrics sendToRoutes: true pqEnabled: false + description: Example request body for creating a Kubernetes Metrics Source. InputCreateExamplesLoki: summary: Loki value: @@ -57989,6 +64081,7 @@ components: lokiAPI: /loki/api/v1/push sendToRoutes: true pqEnabled: false + description: Example request body for creating a Loki Source. InputCreateExamplesMetrics: summary: Metrics value: @@ -57998,6 +64091,7 @@ components: udpPort: 8125 sendToRoutes: true pqEnabled: false + description: Example request body for creating a Metrics Source. InputCreateExamplesModelDrivenTelemetry: summary: Model Driven Telemetry value: @@ -58007,6 +64101,7 @@ components: port: 57000 sendToRoutes: true pqEnabled: false + description: Example request body for creating a Model Driven Telemetry Source. InputCreateExamplesMsk: summary: MSK value: @@ -58020,6 +64115,7 @@ components: awsAuthenticationMethod: auto sendToRoutes: true pqEnabled: false + description: Example request body for creating a MSK Source. InputCreateExamplesNetflow: summary: Netflow value: @@ -58029,6 +64125,7 @@ components: port: 2055 sendToRoutes: true pqEnabled: false + description: Example request body for creating a Netflow Source. InputCreateExamplesOffice365Mgmt: summary: Microsoft 365 Management Activity value: @@ -58039,6 +64136,8 @@ components: planType: enterprise_gcc sendToRoutes: true pqEnabled: false + description: Example request body for creating a Microsoft 365 Management + Activity Source. InputCreateExamplesMicrosoftGraph: summary: Microsoft Graph value: @@ -58048,6 +64147,7 @@ components: interval: 15 sendToRoutes: true pqEnabled: false + description: Example request body for creating a Microsoft Graph Source. InputCreateExamplesOffice365MsgTrace: summary: Microsoft 365 Message Trace value: @@ -58057,6 +64157,7 @@ components: interval: 15 sendToRoutes: true pqEnabled: false + description: Example request body for creating a Microsoft 365 Message Trace Source. InputCreateExamplesOffice365Service: summary: Microsoft 365 Services value: @@ -58066,6 +64167,7 @@ components: appId: app-id sendToRoutes: true pqEnabled: false + description: Example request body for creating a Microsoft 365 Services Source. InputCreateExamplesOkta: summary: Okta value: @@ -58078,6 +64180,7 @@ components: latest: now sendToRoutes: true pqEnabled: false + description: Example request body for creating a Okta Source. InputCreateExamplesOpenAI: summary: OpenAI value: @@ -58103,6 +64206,7 @@ components: disabled: false sendToRoutes: true pqEnabled: false + description: Example request body for creating a OpenAI Source. InputCreateExamplesOpenAIComplianceLogs: summary: OpenAI Compliance Logs value: @@ -58119,6 +64223,7 @@ components: latest: now sendToRoutes: true pqEnabled: false + description: Example request body for creating a OpenAI Compliance Logs Source. InputCreateExamplesOpenTelemetry: summary: OpenTelemetry value: @@ -58128,6 +64233,7 @@ components: port: 4317 sendToRoutes: true pqEnabled: false + description: Example request body for creating a OpenTelemetry Source. InputCreateExamplesPrometheus: summary: Prometheus Scraper value: @@ -58140,6 +64246,7 @@ components: - http://localhost:9090/metrics sendToRoutes: true pqEnabled: false + description: Example request body for creating a Prometheus Scraper Source. InputCreateExamplesPrometheusRw: summary: Prometheus Remote Write value: @@ -58150,6 +64257,7 @@ components: prometheusAPI: /write sendToRoutes: true pqEnabled: false + description: Example request body for creating a Prometheus Remote Write Source. InputCreateExamplesRawUdp: summary: Raw UDP value: @@ -58159,6 +64267,7 @@ components: port: 514 sendToRoutes: true pqEnabled: false + description: Example request body for creating a Raw UDP Source. InputCreateExamplesS3: summary: S3 value: @@ -58168,6 +64277,7 @@ components: region: us-east-1 sendToRoutes: true pqEnabled: false + description: Example request body for creating a S3 Source. InputCreateExamplesS3Inventory: summary: S3 Inventory value: @@ -58177,6 +64287,7 @@ components: region: us-east-1 sendToRoutes: true pqEnabled: false + description: Example request body for creating a S3 Inventory Source. InputCreateExamplesSecurityLake: summary: Security Lake value: @@ -58186,6 +64297,7 @@ components: region: us-east-1 sendToRoutes: true pqEnabled: false + description: Example request body for creating a Security Lake Source. InputCreateExamplesServiceNowTable: summary: ServiceNow Table API value: @@ -58203,6 +64315,7 @@ components: latest: now sendToRoutes: true pqEnabled: false + description: Example request body for creating a ServiceNow Table API Source. InputCreateExamplesSnmp: summary: SNMP value: @@ -58212,6 +64325,7 @@ components: port: 161 sendToRoutes: true pqEnabled: false + description: Example request body for creating a SNMP Source. InputCreateExamplesSplunk: summary: Splunk TCP value: @@ -58221,6 +64335,7 @@ components: port: 9997 sendToRoutes: true pqEnabled: false + description: Example request body for creating a Splunk TCP Source. InputCreateExamplesSplunkHec: summary: Splunk HEC value: @@ -58231,6 +64346,7 @@ components: splunkHecAPI: /services/collector sendToRoutes: true pqEnabled: false + description: Example request body for creating a Splunk HEC Source. InputCreateExamplesSplunkSearch: summary: Splunk Search value: @@ -58244,6 +64360,7 @@ components: outputMode: json sendToRoutes: true pqEnabled: false + description: Example request body for creating a Splunk Search Source. InputCreateExamplesSqs: summary: SQS value: @@ -58254,6 +64371,18 @@ components: region: us-east-1 sendToRoutes: true pqEnabled: false + description: Example request body for creating a SQS Source. + InputCreateExamplesSysdigHec: + summary: Sysdig Cloud NSS + value: + id: sysdig-hec-source + type: sysdig_hec + host: 0.0.0.0 + port: 8088 + hecAPI: /services/collector + sendToRoutes: true + pqEnabled: false + description: Example request body for creating a Sysdig Cloud NSS Source. InputCreateExamplesSyslog: summary: Syslog value: @@ -58263,6 +64392,7 @@ components: udpPort: 514 sendToRoutes: true pqEnabled: false + description: Example request body for creating a Syslog Source. InputCreateExamplesSystemMetrics: summary: System Metrics value: @@ -58270,6 +64400,7 @@ components: type: system_metrics sendToRoutes: true pqEnabled: false + description: Example request body for creating a System Metrics Source. InputCreateExamplesSystemState: summary: System State value: @@ -58277,6 +64408,7 @@ components: type: system_state sendToRoutes: true pqEnabled: false + description: Example request body for creating a System State Source. InputCreateExamplesTcp: summary: TCP value: @@ -58286,6 +64418,7 @@ components: port: 10090 sendToRoutes: true pqEnabled: false + description: Example request body for creating a TCP Source. InputCreateExamplesTcpjson: summary: TCP JSON value: @@ -58295,6 +64428,18 @@ components: port: 10090 sendToRoutes: true pqEnabled: false + description: Example request body for creating a TCP JSON Source. + InputCreateExamplesUpwindHec: + summary: Upwind + value: + id: upwind-hec-source + type: upwind_hec + host: 0.0.0.0 + port: 8088 + hecAPI: /services/collector + sendToRoutes: true + pqEnabled: false + description: Example request body for creating a Upwind Source. InputCreateExamplesWef: summary: Windows Event Forwarder value: @@ -58313,6 +64458,7 @@ components: targets: [] sendToRoutes: true pqEnabled: false + description: Example request body for creating a Windows Event Forwarder Source. InputCreateExamplesWinEventLogs: summary: Windows Event Logs value: @@ -58323,6 +64469,7 @@ components: - System sendToRoutes: true pqEnabled: false + description: Example request body for creating a Windows Event Logs Source. InputCreateExamplesWindowsMetrics: summary: Windows Metrics value: @@ -58330,6 +64477,7 @@ components: type: windows_metrics sendToRoutes: true pqEnabled: false + description: Example request body for creating a Windows Metrics Source. InputCreateExamplesWiz: summary: Wiz API value: @@ -58341,6 +64489,7 @@ components: contentConfig: [] sendToRoutes: true pqEnabled: false + description: Example request body for creating a Wiz API Source. InputCreateExamplesWizWebhook: summary: Wiz Webhook value: @@ -58350,6 +64499,7 @@ components: port: 10080 sendToRoutes: true pqEnabled: false + description: Example request body for creating a Wiz Webhook Source. InputCreateExamplesZscalerHec: summary: Zscaler Cloud NSS value: @@ -58360,6 +64510,7 @@ components: hecAPI: /services/collector sendToRoutes: true pqEnabled: false + description: Example request body for creating a Zscaler Cloud NSS Source. UpdateInputExamplesAnthropicCompliance: summary: Anthropic Compliance value: @@ -59140,6 +65291,20 @@ components: description: Example request body for updating a SQS Source.

The request body must include a complete representation of the Source that you want to update. This endpoint does not support partial updates. + UpdateInputExamplesSysdigHec: + summary: Sysdig Cloud NSS + value: + id: sysdig-hec-source + type: sysdig_hec + host: 0.0.0.0 + port: 8088 + hecAPI: /services/collector + sendToRoutes: true + pqEnabled: false + description: Example request body for updating a Sysdig Cloud NSS + Source.

The request body must include a complete representation + of the Source that you want to update. This endpoint does not support + partial updates. UpdateInputExamplesSyslog: summary: Syslog value: @@ -59198,6 +65363,19 @@ components: description: Example request body for updating a TCP JSON Source.

The request body must include a complete representation of the Source that you want to update. This endpoint does not support partial updates. + UpdateInputExamplesUpwindHec: + summary: Upwind + value: + id: upwind-hec-source + type: upwind_hec + host: 0.0.0.0 + port: 8088 + hecAPI: /services/collector + sendToRoutes: true + pqEnabled: false + description: Example request body for updating a Upwind Source.

The + request body must include a complete representation of the Source that + you want to update. This endpoint does not support partial updates. UpdateInputExamplesWef: summary: Windows Event Forwarder value: @@ -59286,6 +65464,40 @@ components: Source.

The request body must include a complete representation of the Source that you want to update. This endpoint does not support partial updates. + OutputClearPQResponseExamplesClearPQJobId: + summary: Clear persistent queue for a Destination + description: Example response for clearing the persistent queue (PQ) for a + Destination. + value: + items: + - ceb17a42-f785-4f5e-b52a-7f0e1b2c3d4e + count: 1 + OutputResponseExamplesSplunkHecDestination: + summary: Splunk HEC Destination response + description: Example response for getting or updating a Splunk HEC Destination. + value: + id: splunk-hec-output + type: splunk_hec + host: localhost + port: 8088 + hecToken: 1234abcd5678efgh9101ijklEXAMPLETOKEN + OutputResponseExamplesS3Destination: + summary: Amazon S3 Destination response + description: Example response for getting or updating an Amazon S3 Destination. + value: + id: s3-output + type: s3 + bucket: my-bucket + region: us-east-1 + stagePath: /tmp/staging + OutputResponseExamplesSyslogDestination: + summary: Syslog Destination response + description: Example response for getting or updating a Syslog Destination. + value: + id: syslog-output + type: syslog + host: localhost + port: 514 OutputCreateExamplesTcpjson: summary: TCP JSON value: @@ -59293,6 +65505,7 @@ components: type: tcpjson host: localhost port: 10090 + description: Example request body for creating a TCP JSON Destination. OutputCreateExamplesSplunk: summary: Splunk value: @@ -59300,6 +65513,7 @@ components: type: splunk host: localhost port: 9997 + description: Example request body for creating a Splunk Destination. OutputCreateExamplesSplunkLb: summary: Splunk Load Balanced value: @@ -59308,6 +65522,7 @@ components: hosts: - host: localhost port: 9997 + description: Example request body for creating a Splunk Load Balanced Destination. OutputCreateExamplesSplunkHec: summary: Splunk HEC value: @@ -59316,6 +65531,7 @@ components: host: localhost port: 8088 hecToken: your-hec-token + description: Example request body for creating a Splunk HEC Destination. OutputCreateExamplesSyslog: summary: Syslog value: @@ -59323,12 +65539,14 @@ components: type: syslog host: localhost port: 514 + description: Example request body for creating a Syslog Destination. OutputCreateExamplesFilesystem: summary: Filesystem value: id: filesystem-output type: filesystem destPath: /var/log/output + description: Example request body for creating a Filesystem Destination. OutputCreateExamplesS3: summary: S3 value: @@ -59337,6 +65555,7 @@ components: bucket: my-bucket region: us-east-1 stagePath: /tmp/staging + description: Example request body for creating a S3 Destination. OutputCreateExamplesNutanixObjects: summary: Nutanix Objects value: @@ -59345,6 +65564,7 @@ components: bucket: my-bucket endpoint: https://nutanix-objects.example.com stagePath: /tmp/staging + description: Example request body for creating a Nutanix Objects Destination. OutputCreateExamplesStorjS3: summary: Storj value: @@ -59353,6 +65573,7 @@ components: bucket: my-bucket endpoint: https://gateway.storjshare.io stagePath: /tmp/staging + description: Example request body for creating a Storj Destination. OutputCreateExamplesAlphasocS3: summary: AlphaSOC value: @@ -59361,6 +65582,7 @@ components: bucket: events endpoint: https://s3.alphasoc.net stagePath: /tmp/staging + description: Example request body for creating a AlphaSOC Destination. OutputCreateExamplesdellS3: summary: Dell PowerScale OneFS value: @@ -59369,6 +65591,7 @@ components: bucket: my-bucket endpoint: https://powerscale.example.com:9021 stagePath: /tmp/staging + description: Example request body for creating a Dell PowerScale OneFS Destination. OutputCreateExamplescloudianS3: summary: Cloudian value: @@ -59377,6 +65600,7 @@ components: bucket: my-bucket endpoint: https://s3.hyperstore.example.com stagePath: /tmp/staging + description: Example request body for creating a Cloudian Destination. OutputCreateExamplesscalityS3: summary: Scality value: @@ -59385,6 +65609,7 @@ components: bucket: my-bucket endpoint: https://s3.scality.example.com stagePath: /tmp/staging + description: Example request body for creating a Scality Destination. OutputCreateExamplesalibabaCloudS3: summary: Alibaba OSS value: @@ -59393,6 +65618,16 @@ components: bucket: my-bucket endpoint: https://s3.oss-cn-hangzhou.aliyuncs.com stagePath: /tmp/staging + description: Example request body for creating a Alibaba OSS Destination. + 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 + description: Example request body for creating a IBM Cloud Object Storage Destination. OutputCreateExamplesAzureBlob: summary: Azure Blob value: @@ -59400,6 +65635,7 @@ components: type: azure_blob containerName: my-container stagePath: /tmp/staging + description: Example request body for creating a Azure Blob Destination. OutputCreateExamplesAzureDataExplorer: summary: Azure Data Explorer value: @@ -59417,6 +65653,7 @@ components: ingestMode: streaming format: json compress: gzip + description: Example request body for creating a Azure Data Explorer Destination. OutputCreateExamplesSentinel: summary: Azure Sentinel value: @@ -59427,6 +65664,7 @@ components: loginUrl: https://login.microsoftonline.com secret: client-secret client_id: client-id + description: Example request body for creating a Azure Sentinel Destination. OutputCreateExamplesAzureLogs: summary: Azure Logs value: @@ -59436,6 +65674,7 @@ components: workspaceKey: workspace-key logType: Cribl authType: manual + description: Example request body for creating a Azure Logs Destination. OutputCreateExamplesKafka: summary: Kafka value: @@ -59444,6 +65683,7 @@ components: brokers: - localhost:9092 topic: logs + description: Example request body for creating a Kafka Destination. OutputCreateExamplesConfluentCloud: summary: Confluent Cloud value: @@ -59452,6 +65692,7 @@ components: brokers: - pkc-xxxxx.us-east-1.aws.confluent.cloud:9092 topic: logs + description: Example request body for creating a Confluent Cloud Destination. OutputCreateExamplesMsk: summary: MSK value: @@ -59462,6 +65703,7 @@ components: topic: logs region: us-east-1 awsAuthenticationMethod: auto + description: Example request body for creating a MSK Destination. OutputCreateExamplesKinesis: summary: Kinesis value: @@ -59469,6 +65711,7 @@ components: type: kinesis streamName: my-stream region: us-east-1 + description: Example request body for creating a Kinesis Destination. OutputCreateExamplesElastic: summary: Elasticsearch value: @@ -59477,6 +65720,7 @@ components: host: localhost port: 9200 index: logs + description: Example request body for creating a Elasticsearch Destination. OutputCreateExamplesElasticCloud: summary: Elastic Cloud value: @@ -59484,6 +65728,7 @@ components: type: elastic_cloud url: my-cloud-id index: logs + description: Example request body for creating a Elastic Cloud Destination. OutputCreateExamplesMicrosoftFabric: summary: Microsoft Fabric value: @@ -59491,6 +65736,7 @@ components: type: microsoft_fabric bootstrap_server: myeventstream.servicebus.windows.net:9093 topic: logs + description: Example request body for creating a Microsoft Fabric Destination. OutputCreateExamplesCloudflareR2: summary: Cloudflare R2 value: @@ -59499,6 +65745,7 @@ components: bucket: my-bucket endpoint: https://account-id.r2.cloudflarestorage.com stagePath: /tmp/staging + description: Example request body for creating a Cloudflare R2 Destination. OutputCreateExamplesHoneycomb: summary: Honeycomb value: @@ -59506,6 +65753,7 @@ components: type: honeycomb apiKey: your-api-key dataset: my-dataset + description: Example request body for creating a Honeycomb Destination. OutputCreateExamplesNewrelic: summary: New Relic value: @@ -59513,6 +65761,7 @@ components: type: newrelic apiKey: your-api-key baseUrl: https://insights-collector.newrelic.com + description: Example request body for creating a New Relic Destination. OutputCreateExamplesNewrelicEvents: summary: New Relic Events value: @@ -59522,6 +65771,7 @@ components: eventType: CriblEvent apiKey: your-api-key baseUrl: https://insights-collector.newrelic.com + description: Example request body for creating a New Relic Events Destination. OutputCreateExamplesSnmp: summary: SNMP value: @@ -59530,6 +65780,7 @@ components: hosts: - host: 192.168.1.1 port: 161 + description: Example request body for creating a SNMP Destination. OutputCreateExamplesInfluxdb: summary: InfluxDB value: @@ -59537,6 +65788,7 @@ components: type: influxdb url: http://localhost:8086 database: mydb + description: Example request body for creating a InfluxDB Destination. OutputCreateExamplesMinio: summary: MinIO value: @@ -59545,6 +65797,7 @@ components: bucket: my-bucket stagePath: /tmp/staging endpoint: http://localhost:9000 + description: Example request body for creating a MinIO Destination. OutputCreateExamplesCloudwatch: summary: CloudWatch value: @@ -59553,6 +65806,7 @@ components: logGroupName: my-log-group logStreamName: my-log-stream region: us-east-1 + description: Example request body for creating a CloudWatch Destination. OutputCreateExamplesAzureEventhub: summary: Azure Event Hub value: @@ -59561,6 +65815,7 @@ components: brokers: - myeventhub.servicebus.windows.net:9093 topic: logs + description: Example request body for creating a Azure Event Hub Destination. OutputCreateExamplesStatsd: summary: StatsD value: @@ -59569,6 +65824,7 @@ components: protocol: udp host: localhost port: 8125 + description: Example request body for creating a StatsD Destination. OutputCreateExamplesStatsdExt: summary: StatsD Extended value: @@ -59577,6 +65833,7 @@ components: protocol: udp host: localhost port: 8125 + description: Example request body for creating a StatsD Extended Destination. OutputCreateExamplesGraphite: summary: Graphite value: @@ -59585,6 +65842,7 @@ components: protocol: tcp host: localhost port: 2003 + description: Example request body for creating a Graphite Destination. OutputCreateExamplesWavefront: summary: Wavefront value: @@ -59593,6 +65851,7 @@ components: domain: longboard endpoint: https://your-instance.wavefront.com token: your-token + description: Example request body for creating a Wavefront Destination. OutputCreateExamplesSignalfx: summary: SignalFx value: @@ -59601,6 +65860,7 @@ components: realm: us0 endpoint: https://ingest.signalfx.com token: your-token + description: Example request body for creating a SignalFx Destination. OutputCreateExamplesSqs: summary: SQS value: @@ -59609,6 +65869,7 @@ components: queueName: my-queue queueType: standard region: us-east-1 + description: Example request body for creating a SQS Destination. OutputCreateExamplesGoogleCloudStorage: summary: Google Cloud Storage value: @@ -59619,6 +65880,7 @@ components: region: us-east1 stagePath: /tmp/staging projectId: my-project + description: Example request body for creating a Google Cloud Storage Destination. OutputCreateExamplesSumoLogic: summary: Sumo Logic value: @@ -59626,6 +65888,7 @@ components: type: sumo_logic url: https://endpoint1.collection.us2.sumologic.com sourceCategory: logs + description: Example request body for creating a Sumo Logic Destination. OutputCreateExamplesDatadog: summary: Datadog value: @@ -59633,18 +65896,31 @@ components: type: datadog endpoint: https://http-intake.logs.datadoghq.com apiKey: your-api-key + description: Example request body for creating a Datadog Destination. OutputCreateExamplesWebhook: summary: Webhook value: id: webhook-output type: webhook url: https://example.com/webhook + description: Example request body for creating a Webhook Destination. OutputCreateExamplesPrometheus: summary: Prometheus value: id: prometheus-output type: prometheus url: http://localhost:9091/api/v1/write + description: Example request body for creating a Prometheus Destination. + OutputCreateExamplesAmazonManagedPrometheus: + summary: Amazon Managed Service for Prometheus + value: + id: amazon-managed-prometheus-output + type: amazon_managed_prometheus + url: https://aps-workspaces.us-east-1.amazonaws.com/workspaces/ws-example/api/v1/remote_write + region: us-east-1 + awsAuthenticationMethod: auto + description: Example request body for creating a Amazon Managed Service for + Prometheus Destination. OutputCreateExamplesGooglePubsub: summary: Google Pub/Sub value: @@ -59652,6 +65928,17 @@ components: type: google_pubsub projectId: my-project topicName: my-topic + description: Example request body for creating a Google Pub/Sub Destination. + OutputCreateExamplesGoogleBigQuery: + summary: Google BigQuery + value: + id: google-bigquery-output + type: google_bigquery + projectId: my-project + datasetId: my-dataset + tableId: my-table + googleAuthMethod: auto + description: Example request body for creating a Google BigQuery Destination. OutputCreateExamplesGoogleChronicle: summary: Google Chronicle value: @@ -59660,6 +65947,7 @@ components: logFormatType: unstructured region: us customerId: customer-id + description: Example request body for creating a Google Chronicle Destination. OutputCreateExamplesChronicle: summary: Chronicle value: @@ -59669,24 +65957,28 @@ components: gcpInstance: customer-id region: us logType: UNKNOWN + description: Example request body for creating a Chronicle Destination. OutputCreateExamplesGrafanaCloud: summary: Grafana Cloud value: id: grafana-cloud-output type: grafana_cloud lokiUrl: https://logs-prod-us-central1.grafana.net + description: Example request body for creating a Grafana Cloud Destination. OutputCreateExamplesLoki: summary: Loki value: id: loki-output type: loki url: http://localhost:3100/loki/api/v1/push + description: Example request body for creating a Loki Destination. OutputCreateExamplesOpenTelemetry: summary: OpenTelemetry value: id: opentelemetry-output type: open_telemetry endpoint: http://localhost:4317 + description: Example request body for creating a OpenTelemetry Destination. OutputCreateExamplesServiceNow: summary: ServiceNow value: @@ -59696,6 +65988,7 @@ components: protocol: http otlpVersion: 1.3.1 tokenSecret: your-token-secret + description: Example request body for creating a ServiceNow Destination. OutputCreateExamplesDynatraceOtlp: summary: Dynatrace OTLP value: @@ -59706,6 +65999,15 @@ components: protocol: http otlpVersion: 1.3.1 tokenSecret: your-token-secret + description: Example request body for creating a Dynatrace OTLP Destination. + OutputCreateExamplesGoogleCloudObservability: + summary: Google Cloud Observability + value: + id: google-cloud-observability-output + type: google_cloud_observability + googleAuthMethod: auto + description: Example request body for creating a Google Cloud Observability + Destination. OutputCreateExamplesSentinelOneAiSiem: summary: SentinelOne AI SIEM value: @@ -59713,17 +66015,20 @@ components: type: sentinel_one_ai_siem region: US endpoint: /services/collector/event + description: Example request body for creating a SentinelOne AI SIEM Destination. OutputCreateExamplesDataset: summary: Dataset value: id: dataset-output type: dataset dataset: my-dataset + description: Example request body for creating a Dataset Destination. OutputCreateExamplesRing: summary: Ring Buffer value: id: ring-output type: ring + description: Example request body for creating a Ring Buffer Destination. OutputCreateExamplesRouter: summary: Output Router value: @@ -59732,6 +66037,7 @@ components: rules: - filter: "true" output: my-output + description: Example request body for creating a Output Router Destination. OutputCreateExamplesWizHec: summary: Wiz Defend value: @@ -59743,6 +66049,7 @@ components: wiz_environment: test authType: manual hecToken: your-hec-token + description: Example request body for creating a Wiz Defend Destination. OutputCreateExamplesHumioHec: summary: Humio HEC value: @@ -59752,6 +66059,7 @@ components: format: JSON authType: manual token: your-token + description: Example request body for creating a Humio HEC Destination. OutputCreateExamplesCrowdstrikeNextGenSiem: summary: CrowdStrike Next Gen SIEM value: @@ -59761,6 +66069,8 @@ components: format: JSON authType: manual token: your-token + description: Example request body for creating a CrowdStrike Next Gen SIEM + Destination. OutputCreateExamplesCriblHttp: summary: Cribl HTTP value: @@ -59768,6 +66078,7 @@ components: type: cribl_http host: localhost port: 10080 + description: Example request body for creating a Cribl HTTP Destination. OutputCreateExamplesCriblTcp: summary: Cribl TCP value: @@ -59775,6 +66086,7 @@ components: type: cribl_tcp host: localhost port: 10090 + description: Example request body for creating a Cribl TCP Destination. OutputCreateExamplesCriblSearchEngine: summary: Cribl Search Engine value: @@ -59844,6 +66156,7 @@ components: useRoundRobinDns: true type: cribl_search_engine url: https://0.0.0.0:10200 + description: Example request body for creating a Cribl Search Engine Destination. OutputCreateExamplesGoogleCloudLogging: summary: Google Cloud Logging value: @@ -59853,6 +66166,7 @@ components: logLocationExpression: my-project logNameExpression: my-log projectId: my-project + description: Example request body for creating a Google Cloud Logging Destination. OutputCreateExamplesSns: summary: SNS value: @@ -59861,6 +66175,7 @@ components: topicArn: arn:aws:sns:us-east-1:123456789012:my-topic messageGroupId: my-message-group region: us-east-1 + description: Example request body for creating a SNS Destination. OutputCreateExamplesDlS3: summary: Data Lake S3 value: @@ -59869,6 +66184,7 @@ components: bucket: my-bucket stagePath: /tmp/staging region: us-east-1 + description: Example request body for creating a Data Lake S3 Destination. OutputCreateExamplesSecurityLake: summary: Security Lake value: @@ -59880,12 +66196,14 @@ components: accountId: "123456789012" customSource: my-custom-source assumeRoleArn: arn:aws:iam::123456789012:role/my-role + description: Example request body for creating a Security Lake Destination. OutputCreateExamplesCriblLake: summary: Cribl Lake value: id: cribl-lake-output type: cribl_lake dataset: my-dataset + description: Example request body for creating a Cribl Lake Destination. OutputCreateExamplesExabeam: summary: Exabeam value: @@ -59896,12 +66214,14 @@ components: endpoint: https://storage.googleapis.com stagePath: /tmp/staging collectorInstanceId: 11112222-3333-4444-5555-666677778888 + description: Example request body for creating a Exabeam Destination. OutputCreateExamplesDiskSpool: summary: Disk Spool value: id: disk-spool-output type: disk_spool path: /var/spool/cribl + description: Example request body for creating a Disk Spool Destination. OutputCreateExamplesClickHouse: summary: ClickHouse value: @@ -59910,6 +66230,7 @@ components: url: http://localhost:8123/ database: mydb tableName: mytable + description: Example request body for creating a ClickHouse Destination. OutputCreateExamplesLocalSearchStorage: summary: Local Search Storage value: @@ -59918,6 +66239,16 @@ components: url: http://localhost:8123/ database: default tableName: mytable + description: Example request body for creating a Local Search Storage Destination. + OutputCreateExamplesCustomerMetricsStorage: + summary: Customer Metrics Storage + value: + id: customer-metrics-storage-output + type: customer_metrics_storage + url: http://localhost:8123/ + database: default + tableName: mytable + description: Example request body for creating a Customer Metrics Storage Destination. OutputCreateExamplesXsiam: summary: XSIAM value: @@ -59925,6 +66256,7 @@ components: type: xsiam endpoint: https://api.paloaltonetworks.com apiKey: your-api-key + description: Example request body for creating a XSIAM Destination. OutputCreateExamplesNetflow: summary: Netflow value: @@ -59933,6 +66265,7 @@ components: hosts: - host: localhost port: 2055 + description: Example request body for creating a Netflow Destination. OutputCreateExamplesDynatraceHttp: summary: Dynatrace HTTP value: @@ -59943,6 +66276,7 @@ components: telemetryType: logs authType: token token: your-api-key + description: Example request body for creating a Dynatrace HTTP Destination. OutputCreateExamplesDatabricks: summary: Databricks value: @@ -59955,6 +66289,36 @@ components: catalog: main schema: external eventsVolumeName: events + description: Example request body for creating a Databricks Destination. + OutputSamplesResponseExamplesSampleEvents: + summary: Get sample events for a Destination + description: Example response for getting sample event data for a Destination. + value: + items: + - events: + - _raw: Sample event for Destination + source: test + sourcetype: manual + count: 1 + OutputTestResponseExamplesSuccessfulTest: + summary: Successful Destination test + description: Example response when a Destination successfully receives sample + event data. + value: + items: + - outputId: splunk-hec-output + success: true + successDetail: Successfully sent 1 event(s) to the Destination. + count: 1 + OutputTestResponseExamplesFailedTest: + summary: Failed Destination test + description: Example response when a Destination fails to receive sample event data. + value: + items: + - outputId: s3-output + success: false + error: Connection timed out after 30000ms + count: 1 OutputTestExamplesSingleEvent: summary: Send a single test event description: Example request body for sending a single test event to the Destination. @@ -60145,6 +66509,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: @@ -60516,6 +66892,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. + UpdateOutputExamplesAmazonManagedPrometheus: + summary: Amazon Managed Service for Prometheus + value: + id: amazon-managed-prometheus-output + type: amazon_managed_prometheus + url: https://aps-workspaces.us-east-1.amazonaws.com/workspaces/ws-example/api/v1/remote_write + region: us-east-1 + awsAuthenticationMethod: auto + description: Example request body for updating a Amazon Managed Service for + Prometheus Destination.

The request body must include a + complete representation of the Destination that you want to update. This + endpoint does not support partial updates. UpdateOutputExamplesGooglePubsub: summary: Google Pub/Sub value: @@ -60527,6 +66915,19 @@ 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. + UpdateOutputExamplesGoogleBigQuery: + summary: Google BigQuery + value: + id: google-bigquery-output + type: google_bigquery + projectId: my-project + datasetId: my-dataset + tableId: my-table + googleAuthMethod: auto + description: Example request body for updating a Google BigQuery + Destination.

The request body must include a complete + representation of the Destination that you want to update. This endpoint + does not support partial updates. UpdateOutputExamplesGoogleChronicle: summary: Google Chronicle value: @@ -60608,6 +67009,16 @@ 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. + UpdateOutputExamplesGoogleCloudObservability: + summary: Google Cloud Observability + value: + id: google-cloud-observability-output + type: google_cloud_observability + googleAuthMethod: auto + description: Example request body for updating a Google Cloud Observability + Destination.

The request body must include a complete + representation of the Destination that you want to update. This endpoint + does not support partial updates. UpdateOutputExamplesSentinelOneAiSiem: summary: SentinelOne AI SIEM value: @@ -60895,6 +67306,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. + UpdateOutputExamplesCustomerMetricsStorage: + summary: Customer Metrics Storage + value: + id: customer-metrics-storage-output + type: customer_metrics_storage + url: http://localhost:8123/ + database: default + tableName: mytable + description: Example request body for updating a Customer Metrics 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. UpdateOutputExamplesXsiam: summary: XSIAM value: @@ -60947,8 +67370,35 @@ 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. + PipelineResponseExamplesEmptyPipeline: + summary: Show an empty Pipeline response + description: Example response for showing an empty Pipeline with no functions. + value: + id: empty-pipeline + conf: + asyncFuncTimeout: 3000 + description: "" + functions: [] + PipelineResponseExamplesEvalPipeline: + summary: Show an Eval Pipeline response + description: Example response for showing a Pipeline that uses an Eval function + to add fields to events. + value: + id: eval-pipeline + conf: + asyncFuncTimeout: 3000 + description: Adds environment metadata to events. + functions: + - id: eval + filter: "true" + disabled: false + conf: + add: + - 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: @@ -60959,8 +67409,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: @@ -60987,8 +67439,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: @@ -61024,8 +67478,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: @@ -61052,8 +67508,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: @@ -61087,8 +67545,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: @@ -61104,8 +67564,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: @@ -61123,7 +67585,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: @@ -61139,7 +67604,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: @@ -61166,8 +67634,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: @@ -61181,8 +67651,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: @@ -61205,8 +67678,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: @@ -61226,8 +67702,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: @@ -61254,8 +67733,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: @@ -61282,8 +67763,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: @@ -61301,8 +67784,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: @@ -61320,8 +67805,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: @@ -61341,8 +67828,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: @@ -61361,8 +67851,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: @@ -61388,8 +67881,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: @@ -61406,8 +67901,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: @@ -61435,8 +67932,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: @@ -61457,7 +67956,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: @@ -61476,8 +67979,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: @@ -61499,8 +68004,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: @@ -61531,8 +68038,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: @@ -61555,7 +68064,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: @@ -61579,8 +68091,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: @@ -61609,8 +68124,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: @@ -61633,8 +68150,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: @@ -61653,8 +68173,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: @@ -61670,8 +68192,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: @@ -61691,8 +68215,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: @@ -61711,8 +68238,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: @@ -61730,8 +68259,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: @@ -61751,8 +68282,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: @@ -61769,8 +68302,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: @@ -61791,8 +68326,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: @@ -61812,8 +68350,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: @@ -61829,8 +68369,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: @@ -61848,7 +68390,11 @@ components: unrollIdxField: unroll_idx pretty: false UpdatePipelineExamplesEmpty: - summary: New empty Pipeline + summary: Update an empty Pipeline + description: Example request body for updating an existing Pipeline with no + functions.

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: @@ -61858,12 +68404,14 @@ components: asyncFuncTimeout: 1000 functions: [] description: "" - 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 + summary: Update a Pipeline with an aggregation function that sums rejected bytes + grouped by source address + description: Example request body for updating a Pipeline with an aggregation + function that sums rejected bytes grouped by source + address.

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: aggregation-pipeline conf: @@ -61889,12 +68437,14 @@ components: cumulative: false shouldTreatDotsAsLiterals: false flushOnInputClose: true - 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 + summary: Update a Pipeline with an aggregate metrics function that computes + statistics on process metrics + description: Example request body for updating a Pipeline with an aggregate + metrics function that computes statistics on process + metrics.

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: aggregate-metrics-pipeline conf: @@ -61929,12 +68479,13 @@ components: cumulative: false shouldTreatDotsAsLiterals: true flushOnInputClose: true - description: Example request body for updating a Pipeline.

The request + UpdatePipelineExamplesAutoTimestamp: + summary: Update a Pipeline with an auto timestamp function that extracts + timestamps from event data + description: Example request body for updating a Pipeline with an auto timestamp + function that extracts timestamps from event data.

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: @@ -61960,12 +68511,13 @@ 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" - 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 + summary: Update a Pipeline with a CEF serializer function that formats events in + Common Event Format + description: Example request body for updating a Pipeline with a CEF serializer + function that formats events in Common Event Format.

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: cef-serializer-pipeline conf: @@ -61998,12 +68550,14 @@ components: extension: - name: c6a1Label value: "'Colorado_Ext_Bldg7'" - 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 + summary: Update a Pipeline with a chain function that connects to another + pipeline for sequential processing + description: Example request body for updating a Pipeline with a chain function + that connects to another pipeline for sequential + processing.

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: chain-pipeline conf: @@ -62018,12 +68572,13 @@ components: filter: "true" conf: processor: prometheus_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. UpdatePipelineExamplesClone: - summary: Pipeline with clone function creating copies of events with additional - fields + summary: Update a Pipeline with a clone function that creates copies of events + with additional fields + description: Example request body for updating a Pipeline with a clone function + that creates copies of events with additional fields.

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: clone-pipeline conf: @@ -62040,11 +68595,13 @@ components: clones: - env: staging - index: clones - 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 + summary: Update a Pipeline with a comment function that adds documentation + annotations + description: Example request body for updating a Pipeline with a comment + function that adds documentation annotations.

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: comment-pipeline conf: @@ -62059,11 +68616,13 @@ components: conf: comment: This function processes security events and enriches them with DNS lookups - description: Example request body for updating a Pipeline.

The request + UpdatePipelineExamplesDNSLookup: + summary: Update a Pipeline with a DNS lookup function that resolves hostnames + and IP addresses + description: Example request body for updating a Pipeline with a DNS lookup + function that resolves hostnames and IP addresses.

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: @@ -62089,12 +68648,13 @@ components: useResolvConf: false lookupFallback: false lookupFailLogLevel: error - 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 + summary: Update a Pipeline with a drop function that filters out events matching + specified criteria + description: Example request body for updating a Pipeline with a drop function + that filters out events matching specified criteria.

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: drop-pipeline conf: @@ -62107,12 +68667,14 @@ components: - id: drop filter: _raw.search(/success/i)>=0 conf: {} - 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 + summary: Update a Pipeline with a drop dimensions function that reduces metric + cardinality by removing dimensions + description: Example request body for updating a Pipeline with a drop dimensions + function that reduces metric cardinality by removing specified + dimensions.

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: drop-dimensions-pipeline conf: @@ -62134,12 +68696,14 @@ components: - pie - unit flushOnInputClose: true - 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 + summary: Update a Pipeline with a dynamic sampling function that automatically + adjusts sample rates based on event volume + description: Example request body for updating a Pipeline with a dynamic + sampling function that automatically adjusts sample rates based on event + volume.

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: dynamic-sampling-pipeline conf: @@ -62158,12 +68722,14 @@ components: samplePeriod: 20 minEvents: 3 maxSampleRate: 3 - 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 + summary: Update a Pipeline with an eval function that adds, modifies, and + removes event fields using JavaScript expressions + description: Example request body for updating a Pipeline with an eval function + that adds, modifies, and removes event fields using JavaScript + expressions.

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: eval-pipeline conf: @@ -62189,12 +68755,14 @@ components: - myTags remove: - identification - 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 + summary: Update a Pipeline with an event breaker function that splits large + blobs or streams into discrete events + description: Example request body for updating a Pipeline with an event breaker + function that splits large blobs or streams into discrete + events.

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: event-breaker-pipeline conf: @@ -62220,12 +68788,14 @@ components: timestampEarliest: -420weeks timestampLatest: +1week shouldMarkCriblBreaker: true - 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 + summary: Update 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 with a flatten + function that pulls nested fields up to a higher level in the + object.

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: flatten-pipeline conf: @@ -62242,12 +68812,14 @@ components: prefix: "" depth: 5 delimiter: _ - 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 + summary: Update a Pipeline with a fold keys function that transforms flat field + names into nested structures + description: Example request body for updating a Pipeline with a fold keys + function that transforms flat field names into nested + structures.

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: fold-keys-pipeline conf: @@ -62264,12 +68836,14 @@ components: deleteOriginal: true separator: _ selectionRegExp: ^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. UpdatePipelineExamplesGeoIP: - summary: Pipeline with GeoIP function enriching events with geographic - information based on IP addresses + summary: Update a Pipeline with a GeoIP function that enriches events with + geographic information based on IP addresses + description: Example request body for updating a Pipeline with a GeoIP function + that enriches events with geographic information based on IP + addresses.

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: geoip-pipeline conf: @@ -62288,12 +68862,14 @@ components: additionalFields: - extraInField: src_ip extraOutField: src_geoip - 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 + summary: Update 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 with a grok function + that extracts structured fields from unstructured log data using named + patterns.

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: grok-pipeline conf: @@ -62311,12 +68887,14 @@ components: %{GREEDYDATA:log_message}" source: _raw patternList: [] - 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 + summary: Update 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 with a guard function + that detects and protects sensitive data using AI-driven scanning + rulesets.

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: guard-pipeline conf: @@ -62341,12 +68919,14 @@ components: - name: _sensitive value: "true" includeDetectedRules: true - 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 + summary: Update a Pipeline with a JSON unroll function that explodes arrays of + objects into individual events + description: Example request body for updating a Pipeline with a JSON unroll + function that explodes arrays of objects into individual + events.

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: json-unroll-pipeline conf: @@ -62362,12 +68942,14 @@ components: conf: path: allCars name: cars - 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 + summary: Update a Pipeline with a lookup function that enriches events with + external fields from lookup tables + description: Example request body for updating a Pipeline with a lookup function + that enriches events with external fields from lookup + tables.

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: lookup-pipeline conf: @@ -62394,12 +68976,14 @@ components: defaultValue: Unknown addToEvent: false ignoreCase: 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. UpdatePipelineExamplesMask: - summary: Pipeline with mask function redacting sensitive data using pattern - matching and replacement + summary: Update a Pipeline with a mask function that redacts sensitive data + using pattern matching and replacement + description: Example request body for updating a Pipeline with a mask function + that redacts sensitive data using pattern matching and + replacement.

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: mask-pipeline conf: @@ -62419,11 +69003,14 @@ components: fields: - _raw depth: 5 - 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 + summary: Update a Pipeline with a numerify function that converts string number + values to numeric types + description: Example request body for updating a Pipeline with a numerify + function that converts string number values to numeric types for + mathematical operations.

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: numerify-pipeline conf: @@ -62441,12 +69028,14 @@ components: ignoreFields: [] filterExpr: "" format: none - 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 + summary: Update a Pipeline with an OTLP logs function that normalizes and + batches OpenTelemetry log events + description: Example request body for updating a Pipeline with an OTLP logs + function that normalizes and batches OpenTelemetry log + events.

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: otlp-logs-pipeline conf: @@ -62467,12 +69056,14 @@ components: sendBatchMaxSize: 0 metadataKeys: [] metadataCardinalityLimit: 1000 - 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 + summary: Update a Pipeline with an OTLP metrics function that converts + dimensional metrics to OpenTelemetry format + description: Example request body for updating a Pipeline with an OTLP metrics + function that converts dimensional metrics to OpenTelemetry + format.

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: otlp-metrics-pipeline conf: @@ -62502,12 +69093,14 @@ components: sendBatchMaxSize: 0 metadataKeys: [] metadataCardinalityLimit: 1000 - 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 + summary: Update a Pipeline with an OTLP traces function that normalizes and + batches OpenTelemetry trace events + description: Example request body for updating a Pipeline with an OTLP traces + function that normalizes and batches OpenTelemetry trace + events.

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: otlp-traces-pipeline conf: @@ -62529,11 +69122,13 @@ components: sendBatchMaxSize: 0 metadataKeys: [] metadataCardinalityLimit: 1000 - 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 + summary: Update a Pipeline with a parser function that extracts fields from + key-value pairs + description: Example request body for updating a Pipeline with a parser function + that extracts fields from key-value pair formatted data.

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: parser-pipeline conf: @@ -62556,12 +69151,14 @@ components: remove: - "*" cleanFields: 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. UpdatePipelineExamplesPublishMetrics: - summary: Pipeline with publish metrics function extracting and formatting - metrics from events + summary: Update a Pipeline with a publish metrics function that extracts and + formats metrics from events + description: Example request body for updating a Pipeline with a publish metrics + function that extracts and formats metrics from events for aggregation + platforms.

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: publish-metrics-pipeline conf: @@ -62589,12 +69186,14 @@ components: - dstaddr removeMetrics: [] removeDimensions: [] - 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 + summary: Update a Pipeline with a Redis function that interacts with Redis + stores using GET and SET commands + description: Example request body for updating a Pipeline with a Redis function + that interacts with Redis stores using GET and SET + commands.

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: redis-pipeline conf: @@ -62616,12 +69215,14 @@ components: url: "'redis://localhost:6379/0'" authType: none maxBlockSecs: 60 - 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 + summary: Update 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 with a regex extract + function that extracts fields from events using regular expressions with + named capture groups.

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: regex-extract-pipeline conf: @@ -62639,12 +69240,14 @@ components: source: _raw iterations: 100 overwrite: 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. UpdatePipelineExamplesRegexFilter: - summary: Pipeline with regex filter function filtering out events based on - regular expression matches + summary: Update a Pipeline with a regex filter function that filters out events + based on regular expression matches + description: Example request body for updating a Pipeline with a regex filter + function that filters out events based on regular expression + matches.

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: regex-filter-pipeline conf: @@ -62659,12 +69262,13 @@ components: conf: regex: /Opera/ field: _raw - 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 + summary: Update a Pipeline with a rename function that changes or reformats + field names within events + description: Example request body for updating a Pipeline with a rename function + that changes or reformats field names within events.

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: rename-pipeline conf: @@ -62683,12 +69287,14 @@ components: renameExpr: "name.startsWith('out') ? name.toUpperCase() : name" baseFields: [] wildcardDepth: 5 - 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 + summary: Update a Pipeline with a rollup metrics function that consolidates + high-frequency metrics into time windows + description: Example request body for updating a Pipeline with a rollup metrics + function that consolidates high-frequency metrics into manageable time + windows.

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: rollup-metrics-pipeline conf: @@ -62706,12 +69312,14 @@ components: - "*" timeWindow: 30s gaugeRollup: last - 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 + summary: Update a Pipeline with a sampling function that filters events based on + criteria and sampling rates + description: Example request body for updating a Pipeline with a sampling + function that filters events based on criteria and sampling + rates.

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: sampling-pipeline conf: @@ -62728,12 +69336,14 @@ components: rules: - filter: __status == 200 rate: 5 - 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 + summary: Update a Pipeline with a serialize function that converts event content + into predefined formats + description: Example request body for updating a Pipeline with a serialize + function that converts event content into predefined + formats.

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: serialize-pipeline conf: @@ -62752,12 +69362,14 @@ components: - state srcField: "" dstField: _raw - 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 + summary: Update a Pipeline with an SNMP trap serialize function that converts + compliant events into SNMP trap format + description: Example request body for updating a Pipeline with an SNMP trap + serialize function that converts compliant events into SNMP trap + format.

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: snmp-trap-serialize-pipeline conf: @@ -62773,12 +69385,14 @@ components: conf: strict: true dropFailedEvents: true - 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 + summary: Update a Pipeline with a suppress function that suppresses duplicate + events based on key expressions + description: Example request body for updating a Pipeline with a suppress + function that suppresses duplicate events based on key + expressions.

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: suppress-pipeline conf: @@ -62798,12 +69412,14 @@ components: maxCacheSize: 50000 cacheIdleTimeoutPeriods: 2 numEventsIdleTimeoutTrigger: 10000 - 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 + summary: Update 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 with a tee function + that sends events to an external command via stdin for debugging and + verification.

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: tee-pipeline conf: @@ -62822,12 +69438,13 @@ components: - /opt/cribl/foo.log restartOnExit: true env: {} - 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 + summary: Update a Pipeline with an unroll function that breaks array fields into + individual events + description: Example request body for updating a Pipeline with an unroll + function that breaks array fields into individual events.

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: unroll-pipeline conf: @@ -62842,12 +69459,13 @@ components: conf: srcExpr: _raw.split(/\n/) dstField: _raw - 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 + summary: Update a Pipeline with an XML unroll function that converts XML + elements into individual events + description: Example request body for updating a Pipeline with an XML unroll + function that converts XML elements into individual events.

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: xml-unroll-pipeline conf: @@ -62864,9 +69482,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 listing the default Routing table with a + single pass-through Route. + value: + 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 listing a Routing table with multiple Routes + that send events to different Pipelines. + value: + 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 @@ -62958,7 +69612,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 @@ -62968,8 +69623,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 @@ -62987,9 +69643,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 @@ -63011,8 +69667,89 @@ components: pipeline: main filter: source == "new.log" description: Route with server-generated id and default final value + InputStatusResponseExamplesGreenSource: + summary: Source with Green health status + description: Example response for getting the status of a Source that is healthy. + value: + id: syslog-source + type: syslog + status: + health: Green + healthCounts: + Green: 2 + InputStatusResponseExamplesYellowSource: + summary: Source with Yellow health status + description: Example response for getting the status of a Source that is + experiencing issues. + value: + id: splunk-hec-source + type: splunk_hec + status: + health: Yellow + healthCounts: + Green: 1 + Yellow: 1 + OutputStatusResponseExamplesGreenDestination: + summary: Destination with Green health status + description: Example response for getting the status of a Destination that is healthy. + value: + id: splunk-hec-output + type: splunk_hec + status: + health: Green + healthCounts: + Green: 2 + OutputStatusResponseExamplesYellowDestination: + summary: Destination with Yellow health status + description: Example response for getting the status of a Destination that is + experiencing issues. + value: + id: s3-output + type: s3 + status: + health: Yellow + 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 @@ -63041,7 +69778,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 @@ -63070,7 +69809,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 @@ -63095,7 +69836,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 @@ -63125,7 +69868,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 @@ -63154,7 +69899,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 @@ -63180,7 +69927,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 @@ -63211,7 +69960,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 @@ -63237,7 +69988,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 @@ -63428,6 +70535,40 @@ components: maxEvents: 500 duration: 15 level: 1 + ProductWorkersCountResponseExamplesCountedWorkerNodes: + summary: Get a Worker Node count + description: Example response that contains the Worker Node count for Cribl Stream. + value: + count: 1 + items: + - 42 + WorkersListResponseExamplesWorkerNode: + summary: List Worker Nodes + description: Example response for listing Worker Nodes for Cribl Stream. + value: + count: 1 + items: + - id: worker-guid-01 + group: default + firstMsgTime: 1717200000000 + lastMsgTime: 1717200060000 + workerProcesses: 4 + status: healthy + info: + hostname: worker-01 + platform: linux + architecture: x64 + release: 6.8.0 + cpus: 8 + totalmem: 34359738368 + node: v22.17.1 + env: {} + cribl: + config: {} + distMode: worker + group: default + guid: worker-guid-01 + startTime: 1717200000000 RestartWorkersExamplesRestartWorkers: summary: Restart worker/edge Nodes description: Restart multiple Worker/Edge Nodes by providing an array of GUIDs @@ -63436,6 +70577,28 @@ components: - guid-12345678-abcd-1234-abcd-123456789abc - guid-87654321-dcba-4321-dcba-cba987654321 - guid-11111111-2222-3333-4444-555555555555 + ProductSummaryResponseExamplesStreamDeploymentSummary: + summary: Get a Cribl Stream deployment summary + description: Example response for getting a deployment summary for Cribl Stream. + value: + count: 1 + items: + - groups: + count: 1 + routes: 3 + pipelines: 2 + sources: 4 + destinations: 2 + quickConnects: 1 + packs: 1 + workers: + count: 2 + disconnectedCount: 0 + groups: 1 + alive: 2 + unhealthy: 0 + softwareVersions: 1 + confVersions: 1 HealthExamplesHealthyPrimary: summary: Healthy (primary) description: Example response for a healthy server that is acting as primary. @@ -63443,6 +70606,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 @@ -63451,6 +70616,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. @@ -63458,14 +70625,36 @@ 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. + value: + items: + - id: cribl-palo-alto-networks + displayName: Palo Alto Networks + version: 1.1.4 + author: Cribl + description: Packs for processing Palo Alto Networks firewall logs. + source: https://github.com/criblpacks/cribl-palo-alto-networks/releases/download/1.1.4/cribl-palo-alto-networks-a3e5a19d-1.1.4.crbl + exports: + - pipelines + - inputs + 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: source: https://packs.cribl.io/dl/cribl-duo-rest-io/latest/cribl-duo-rest-io-latest.crbl force: true allowCustomFunctions: true PackInstallExamplesEmptyPack: - summary: Create new empty Pack + 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: @@ -63474,25 +70663,195 @@ 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. value: source: cribl-search-missing-logs-1.0.1.Do7DH5I.crbl id: cribl-search-missing-logs allowCustomFunctions: false PackInstallExamplesURL: - summary: Install Pack from URL + 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 + 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 + PackDeleteResponseExamplesUninstalled: + summary: Pack uninstalled response + description: Example response after successfully uninstalling a Pack. + value: + items: + - id: cribl-palo-alto-networks + source: https://github.com/criblpacks/cribl-palo-alto-networks/releases/download/1.1.4/cribl-palo-alto-networks-a3e5a19d-1.1.4.crbl + count: 1 + PackGetResponseExamplesInstalledPack: + summary: Installed Pack response + description: Example response for getting a Pack installed from a Git repository. + value: + items: + - id: cribl-palo-alto-networks + displayName: Palo Alto Networks + version: 1.1.4 + author: Cribl + description: Packs for processing Palo Alto Networks firewall logs. + source: https://github.com/criblpacks/cribl-palo-alto-networks/releases/download/1.1.4/cribl-palo-alto-networks-a3e5a19d-1.1.4.crbl + exports: + - pipelines + - inputs + count: 1 + PackGetResponseExamplesEmptyPack: + summary: Empty Pack response + description: Example response for getting an empty Pack. + value: + items: + - id: testPackFoo + displayName: testPackFoo + version: 0.0.1 + author: "" + description: "" + source: "" + exports: [] + count: 1 + PackListResponseExamplesPackList: + summary: List all Packs response + description: Example response for listing all installed Packs. + value: + items: + - id: cribl-palo-alto-networks + displayName: Palo Alto Networks + version: 1.1.4 + author: Cribl + description: Packs for processing Palo Alto Networks firewall logs. + source: https://github.com/criblpacks/cribl-palo-alto-networks/releases/download/1.1.4/cribl-palo-alto-networks-a3e5a19d-1.1.4.crbl + exports: + - pipelines + - inputs + - id: testPackFoo + displayName: testPackFoo + version: 0.0.1 + author: "" + description: "" + source: "" + exports: [] + count: 2 + PackUpgradeResponseExamplesUpgraded: + summary: Pack upgraded response + description: Example response for upgrading a Pack to a newer version. + value: + items: + - id: cribl-palo-alto-networks + displayName: Palo Alto Networks + version: 1.1.5 + author: Cribl + description: Packs for processing Palo Alto Networks firewall logs. + source: https://github.com/criblpacks/cribl-palo-alto-networks/releases/download/1.1.5/cribl-palo-alto-networks-a3e5a19d-1.1.5.crbl + exports: + - pipelines + - 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: source: https://github.com/criblpacks/cribl-palo-alto-networks/releases/download/1.1.4/cribl-palo-alto-networks-a3e5a19d-1.1.4.crbl + PackUploadResponseExamplesUploadedPack: + summary: Pack file uploaded response + description: Example response after successfully uploading a Pack file. Use the + returned source value in a subsequent POST + /packs request to install the Pack. + value: + source: cribl-palo-alto-networks-1.1.4.AbCdEfGh.crbl + GetSystemSettingsConfExamplesDefault: + summary: Get system settings + description: Example response for getting the current Cribl system settings. + value: + items: + - api: + host: 0.0.0.0 + port: 9000 + disabled: false + ssl: + disabled: false + privKeyPath: /opt/cribl/local/cribl/auth/cribl.key + certPath: /opt/cribl/local/cribl/auth/cribl.crt + passphrase: "" + system: + upgrade: api + intercom: true + workers: + count: 0 + minimum: 1 + memory: 0 + tls: + minVersion: TLSv1.2 + maxVersion: TLSv1.3 + defaultCipherList: DEFAULT + defaultEcdhCurve: auto + rejectUnauthorized: true + proxy: + useEnvVars: false + shutdown: + drainTimeout: 10000 + sni: {} + pii: {} + upgradeSettings: {} + upgradeGroupSettings: {} + backups: {} + rollback: {} + apps: + enabled: true + count: 1 + UpdateSystemSettingsResponseExamplesUpdateApiSettings: + summary: Update system settings + description: Example response for updating the Cribl API server network and TLS + settings. + value: + items: + - api: + host: 0.0.0.0 + port: 9000 + disabled: false + ssl: + disabled: false + privKeyPath: /opt/cribl/local/cribl/auth/cribl.key + certPath: /opt/cribl/local/cribl/auth/cribl.crt + passphrase: "" + system: + upgrade: api + intercom: true + workers: + count: 0 + minimum: 1 + memory: 0 + tls: + minVersion: TLSv1.2 + maxVersion: TLSv1.3 + defaultCipherList: DEFAULT + defaultEcdhCurve: auto + rejectUnauthorized: true + proxy: + useEnvVars: false + shutdown: + drainTimeout: 10000 + sni: {} + pii: {} + upgradeSettings: {} + upgradeGroupSettings: {} + backups: {} + rollback: {} + apps: + enabled: true + count: 1 UpdateSystemSettingsExamplesUpdateApiSettings: summary: Update API server settings description: Example request body for updating the Cribl API server network and @@ -63539,6 +70898,42 @@ components: backupPersistence: 24h rollback: rollbackEnabled: true + RestartSystemExamplesDefault: + summary: Initiate restart + description: Example response for a successful server restart request. The + server will restart shortly after this response is returned. + value: + items: + - restart: true + count: 1 + VersionBranchResponseExamplesListBranches: + summary: List all branches + description: Example response for listing all branches in the Cribl + configuration Git repository. + value: + count: 2 + items: + - id: main + - id: feature/new-pipeline + VersionCommitResponseExamplesCommitCreated: + summary: Commit created + description: Example response for creating a new commit for pending + configuration changes. + value: + count: 1 + items: + - author: + email: admin@example.com + name: Admin User + branch: main + commit: a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2 + files: + modified: + - groups/default/local/cribl/pipelines/http_input/conf.yml + summary: + changes: 1 + insertions: 5 + deletions: 2 VersionCommitExamplesCommitAll: summary: Commit all pending changes description: Example request body for committing all pending changes to the @@ -63555,6 +70950,99 @@ components: files: - groups/default/local/cribl/pipelines/http_input/conf.yml - groups/default/local/cribl/routes.yml + VersionCountResponseExamplesFileCount: + summary: Count of changed files + description: Example response for getting a count of files that changed since a + commit. + value: + count: 1 + items: + - count: 3 + VersionCurrentBranchResponseExamplesCurrentBranch: + summary: Current branch name + description: Example response for getting the current Git branch name. + value: + branch: main + VersionDiffResponseExamplesDiffResult: + summary: Diff for a commit + description: Example response for getting the diff of changes in a commit. + value: + count: 1 + items: + - diffJson: + - oldName: groups/default/local/cribl/pipelines/http_input/conf.yml + newName: groups/default/local/cribl/pipelines/http_input/conf.yml + addedLines: 5 + deletedLines: 2 + isCombined: false + isGitDiff: true + language: yml + blocks: [] + VersionFilesResponseExamplesChangedFiles: + summary: Files changed since a commit + description: Example response for getting the names and statuses of files + changed since a commit. + value: + count: 1 + items: + - count: 2 + items: + - name: groups/default/local/cribl/pipelines/http_input/conf.yml + state: M + - name: groups/default/local/cribl/routes.yml + state: A + commitMessage: Updated pipeline configuration + VersionInfoResponseExamplesGitInfo: + summary: Git integration info + description: Example response for getting the configuration and status of the + Git integration. + value: + count: 1 + items: + - versioning: true + remote: https://github.com/example/cribl-config.git + VersionListResponseExamplesListCommitHistory: + summary: List commit history + description: Example response for listing the commit history of the Cribl + configuration repository. + value: + count: 2 + items: + - hash: a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2 + date: 2024-01-15 10:30:00 +0000 + message: Updated syslog pipeline configuration + refs: HEAD -> main + body: "" + author_name: Admin User + author_email: admin@example.com + - hash: b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3 + date: 2024-01-14 09:15:00 +0000 + message: Added new HTTP Source + refs: "" + body: "" + author_name: Admin User + author_email: admin@example.com + VersionPushResponseExamplesPushResult: + summary: Push result + description: Example response for pushing local commits to the remote repository. + value: + count: 1 + items: + - |- + To https://github.com/example/cribl-config.git + a1b2c3d..b2c3d4e main -> main + VersionRevertResponseExamplesRevertResult: + summary: Revert result + description: Example response for reverting a commit in the local repository. + value: + count: 1 + items: + - audit: + id: a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2 + files: + modified: + - groups/default/local/cribl/pipelines/http_input/conf.yml + reverted: true VersionRevertExamplesRevertCommit: summary: Revert a specific commit description: Example request body for reverting a specific commit. @@ -63562,12 +71050,56 @@ components: commit: a1b2c3d4e5f6 VersionRevertExamplesForceRevertWithMessage: summary: Force revert a commit with a custom message - description: Example request body for force reverting a specific commit that - includes a custom message for the revert commit. + description: Example request body for force reverting a specific commit with a + custom revert message. value: commit: a1b2c3d4e5f6 message: Revert commit due to misconfiguration in Pipeline settings force: true + VersionShowResponseExamplesShowCommit: + summary: Diff and log message for a commit + description: Example response for getting the diff and log message for a commit. + value: + count: 1 + items: + - commitMessage: Updated syslog pipeline configuration + diffJson: + - oldName: groups/default/local/cribl/pipelines/syslog/conf.yml + newName: groups/default/local/cribl/pipelines/syslog/conf.yml + addedLines: 3 + deletedLines: 1 + isCombined: false + isGitDiff: true + language: yml + blocks: [] + VersionStatusResponseExamplesWorkingTreeStatus: + summary: Working tree status + description: Example response for getting the status of the current working tree. + value: + count: 1 + items: + - not_added: [] + conflicted: [] + created: [] + deleted: [] + modified: + - groups/default/local/cribl/pipelines/http_input/conf.yml + renamed: [] + staged: [] + files: + - path: groups/default/local/cribl/pipelines/http_input/conf.yml + index: M + working_dir: " " + ahead: 0 + behind: 0 + current: main + VersionUndoResponseExamplesUndoResult: + summary: Undo result + description: Example response for discarding uncommitted changes. + value: + count: 1 + items: + - true security: - bearerAuth: [] - clientOauth: [] @@ -63652,9 +71184,17 @@ paths: schema: $ref: "#/components/schemas/AuthToken" "401": - description: Invalid credentials or authentication failed + description: Authentication failed (missing or invalid credentials or Bearer + token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "429": - description: Rate limit exceeded + description: Rate limit exceeded (check Retry-After header). headers: retry-after: description: Number of seconds the client should wait before retrying the @@ -63688,20 +71228,65 @@ paths: description: Get a list of all Functions. responses: "200": - description: a list of Function objects + description: List of Function objects. content: application/json: schema: - $ref: "#/components/schemas/CountedFunctionResponse" + oneOf: + - $ref: "#/components/schemas/CountedFunctionResponse" + - $ref: "#/components/schemas/PaginatedFunctionResponse" + examples: + FunctionListResponseExamplesFunctionList: + $ref: "#/components/examples/FunctionListResponseExamplesFunctionList" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: 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. + - name: offset + in: query + required: false + schema: + type: integer + minimum: 0 + description: Pagination offset + - name: limit + in: query + required: false + schema: + type: integer + minimum: 0 + description: Maximum number of items to return + x-speakeasy-pagination: + type: offsetLimit + inputs: + - name: offset + in: parameters + type: offset + - name: limit + in: parameters + type: limit + outputs: + results: $.items /functions/{id}: get: operationId: getFunctionsById @@ -63715,14 +71300,26 @@ paths: description: Get the specified Function. responses: "200": - description: a list of Function objects + description: The requested Function object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedFunctionResponse" + examples: + FunctionResponseExamplesEvalFunction: + $ref: "#/components/examples/FunctionResponseExamplesEvalFunction" + FunctionResponseExamplesDropFunction: + $ref: "#/components/examples/FunctionResponseExamplesDropFunction" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -63792,18 +71389,30 @@ paths: x-speakeasy-name-override: list x-cribl-internal: false x-cribl-availability: both - summary: List Database Connections + summary: List all Database Connections description: Get a list of all Database Connections. responses: "200": - description: List of DatabaseConnectionConfig objects. + description: Database Connections returned in a response envelope with + count and items. content: application/json: schema: - $ref: "#/components/schemas/CountedDatabaseConnectionConfig" + $ref: "#/components/schemas/DatabaseConnectionResponseEnvelope" + examples: + DatabaseConnectionListResponseExamplesDatabaseConnectionList: + $ref: "#/components/examples/DatabaseConnectionListResponseExamplesDatabaseConn\ + ectionList" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -63816,7 +71425,35 @@ paths: required: false schema: $ref: "#/components/schemas/DatabaseConnectionType" - description: Type of Database Connections to include in the results. + description: Filter results by database engine type. Use this parameter to + return only Database Connections for the specified engine. + - name: limit + in: query + required: false + schema: + type: integer + description: Maximum number of Database Connections to return in the response + for this request. Use with offset to paginate the + response into manageable batches. + - name: offset + in: query + required: false + schema: + type: integer + description: Starting point from which to retrieve results for this request. Use + with limit to paginate the response into manageable + batches. + x-speakeasy-pagination: + type: offsetLimit + inputs: + - name: offset + in: parameters + type: offset + - name: limit + in: parameters + type: limit + outputs: + results: $.items post: operationId: createDatabaseConnectionConfig tags: @@ -63825,18 +71462,41 @@ paths: x-speakeasy-name-override: create x-cribl-internal: false x-cribl-availability: both - summary: Create Database Connection + summary: Create a Database Connection description: Create a new Database Connection. responses: "200": - description: The created DatabaseConnectionConfig object in a single-item list. + description: The created Database Connection in a response envelope with + count and items. content: application/json: schema: - $ref: "#/components/schemas/CountedDatabaseConnectionConfig" + $ref: "#/components/schemas/DatabaseConnectionResponseEnvelope" + examples: + DatabaseConnectionResponseExamplesMySQLDatabaseConnection: + $ref: "#/components/examples/DatabaseConnectionResponseExamplesMySQLDatabaseCon\ + nection" + "400": + description: Failed validation or malformed input, such as missing or invalid + parameters. + content: + application/json: + schema: + $ref: "#/components/schemas/RestApiJsonError" + examples: + DatabaseConnectionBadRequestResponseExamplesInvalidDatabaseConnectionRequest: + $ref: "#/components/examples/DatabaseConnectionBadRequestResponseExamplesInvali\ + dDatabaseConnectionRequest" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -63877,6 +71537,8 @@ paths: DatabaseConnectionExamplesOracleWithCredentialsSecrets: $ref: "#/components/examples/DatabaseConnectionExamplesOracleWithCredentialsSec\ rets" + DatabaseConnectionExamplesOracleWithMutualTLS: + $ref: "#/components/examples/DatabaseConnectionExamplesOracleWithMutualTLS" /lib/database-connections/{id}: get: operationId: getDatabaseConnectionConfigById @@ -63890,16 +71552,37 @@ paths: description: Get the specified Database Connection. responses: "200": - description: List of DatabaseConnectionConfig objects. + description: The requested Database Connection in a response envelope with + count and items. content: application/json: schema: - $ref: "#/components/schemas/CountedDatabaseConnectionConfig" + $ref: "#/components/schemas/DatabaseConnectionResponseEnvelope" + examples: + DatabaseConnectionResponseExamplesMySQLDatabaseConnection: + $ref: "#/components/examples/DatabaseConnectionResponseExamplesMySQLDatabaseCon\ + nection" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "404": - description: Database Connection not found + description: The requested resource does not exist — Database Connection not + found. + content: + application/json: + schema: + $ref: "#/components/schemas/RestApiJsonError" + examples: + DatabaseConnectionNotFoundResponseExamplesDatabaseConnectionNotFound: + $ref: "#/components/examples/DatabaseConnectionNotFoundResponseExamplesDatabase\ + ConnectionNotFound" "500": description: Unexpected server error. content: @@ -63932,14 +71615,47 @@ paths: expected. responses: "200": - description: The updated DatabaseConnectionConfig object in a single-item list. + description: The updated Database Connection in a response envelope with + count and items. + content: + application/json: + schema: + $ref: "#/components/schemas/DatabaseConnectionResponseEnvelope" + examples: + DatabaseConnectionResponseExamplesMySQLDatabaseConnection: + $ref: "#/components/examples/DatabaseConnectionResponseExamplesMySQLDatabaseCon\ + nection" + "400": + description: Failed validation or malformed input, such as missing or invalid + parameters. content: application/json: schema: - $ref: "#/components/schemas/CountedDatabaseConnectionConfig" + $ref: "#/components/schemas/RestApiJsonError" + examples: + DatabaseConnectionBadRequestResponseExamplesInvalidDatabaseConnectionRequest: + $ref: "#/components/examples/DatabaseConnectionBadRequestResponseExamplesInvali\ + dDatabaseConnectionRequest" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). + "404": + description: Database Connection not found. + content: + application/json: + schema: + $ref: "#/components/schemas/RestApiJsonError" + examples: + DatabaseConnectionNotFoundResponseExamplesDatabaseConnectionNotFound: + $ref: "#/components/examples/DatabaseConnectionNotFoundResponseExamplesDatabase\ + ConnectionNotFound" "500": description: Unexpected server error. content: @@ -63954,34 +71670,36 @@ paths: schema: $ref: "#/components/schemas/DatabaseConnectionConfig" examples: - UpdateDatabaseConnectionExamplesMySQLWithConnectionString: - $ref: "#/components/examples/UpdateDatabaseConnectionExamplesMySQLWithConnectio\ - nString" - UpdateDatabaseConnectionExamplesMySQLWithSecret: - $ref: "#/components/examples/UpdateDatabaseConnectionExamplesMySQLWithSecret" - UpdateDatabaseConnectionExamplesPostgreSQLWithConnectionString: - $ref: "#/components/examples/UpdateDatabaseConnectionExamplesPostgreSQLWithConn\ - ectionString" - UpdateDatabaseConnectionExamplesPostgreSQLWithSecret: - $ref: "#/components/examples/UpdateDatabaseConnectionExamplesPostgreSQLWithSecr\ - et" - UpdateDatabaseConnectionExamplesSQLServerWithConnectionString: - $ref: "#/components/examples/UpdateDatabaseConnectionExamplesSQLServerWithConne\ - ctionString" - UpdateDatabaseConnectionExamplesSQLServerWithSecret: - $ref: "#/components/examples/UpdateDatabaseConnectionExamplesSQLServerWithSecre\ - t" - UpdateDatabaseConnectionExamplesSQLServerWithConfigObject: - $ref: "#/components/examples/UpdateDatabaseConnectionExamplesSQLServerWithConfi\ - gObject" - UpdateDatabaseConnectionExamplesOracleWithConnectionString: - $ref: "#/components/examples/UpdateDatabaseConnectionExamplesOracleWithConnecti\ - onString" - UpdateDatabaseConnectionExamplesOracleWithSecret: - $ref: "#/components/examples/UpdateDatabaseConnectionExamplesOracleWithSecret" - UpdateDatabaseConnectionExamplesOracleWithCredentialsSecrets: - $ref: "#/components/examples/UpdateDatabaseConnectionExamplesOracleWithCredenti\ - alsSecrets" + UpdateDatabaseConnectionExamplesUpdateMySQLDatabaseConnectionWithConnectionString: + $ref: "#/components/examples/UpdateDatabaseConnectionExamplesUpdateMySQLDatabas\ + eConnectionWithConnectionString" + UpdateDatabaseConnectionExamplesUpdateMySQLDatabaseConnectionWithSecret: + $ref: "#/components/examples/UpdateDatabaseConnectionExamplesUpdateMySQLDatabas\ + eConnectionWithSecret" + UpdateDatabaseConnectionExamplesUpdatePostgreSQLDatabaseConnectionWithConnectionString: + $ref: "#/components/examples/UpdateDatabaseConnectionExamplesUpdatePostgreSQLDa\ + tabaseConnectionWithConnectionString" + UpdateDatabaseConnectionExamplesUpdatePostgreSQLDatabaseConnectionWithSecret: + $ref: "#/components/examples/UpdateDatabaseConnectionExamplesUpdatePostgreSQLDa\ + tabaseConnectionWithSecret" + UpdateDatabaseConnectionExamplesUpdateSQLServerDatabaseConnectionWithConnectionString: + $ref: "#/components/examples/UpdateDatabaseConnectionExamplesUpdateSQLServerDat\ + abaseConnectionWithConnectionString" + UpdateDatabaseConnectionExamplesUpdateSQLServerDatabaseConnectionWithSecret: + $ref: "#/components/examples/UpdateDatabaseConnectionExamplesUpdateSQLServerDat\ + abaseConnectionWithSecret" + UpdateDatabaseConnectionExamplesUpdateSQLServerDatabaseConnectionWithConfigObject: + $ref: "#/components/examples/UpdateDatabaseConnectionExamplesUpdateSQLServerDat\ + abaseConnectionWithConfigObject" + UpdateDatabaseConnectionExamplesUpdateOracleDatabaseConnectionWithConnectionString: + $ref: "#/components/examples/UpdateDatabaseConnectionExamplesUpdateOracleDataba\ + seConnectionWithConnectionString" + UpdateDatabaseConnectionExamplesUpdateOracleDatabaseConnectionWithSecret: + $ref: "#/components/examples/UpdateDatabaseConnectionExamplesUpdateOracleDataba\ + seConnectionWithSecret" + UpdateDatabaseConnectionExamplesUpdateOracleDatabaseConnectionWithCredentialsSecrets: + $ref: "#/components/examples/UpdateDatabaseConnectionExamplesUpdateOracleDataba\ + seConnectionWithCredentialsSecrets" parameters: - name: id in: path @@ -64001,14 +71719,39 @@ paths: description: Delete the specified Database Connection. responses: "200": - description: The deleted DatabaseConnectionConfig object in a single-item list. + description: The deleted Database Connection in a response envelope with + count and items. content: application/json: schema: - $ref: "#/components/schemas/CountedDatabaseConnectionConfig" + $ref: "#/components/schemas/DatabaseConnectionResponseEnvelope" + examples: + DatabaseConnectionResponseExamplesMySQLDatabaseConnection: + $ref: "#/components/examples/DatabaseConnectionResponseExamplesMySQLDatabaseCon\ + nection" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). + "404": + description: Database Connection not found. + content: + application/json: + schema: + $ref: "#/components/schemas/RestApiJsonError" + examples: + 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: @@ -64035,14 +71778,27 @@ 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" + oneOf: + - $ref: "#/components/schemas/CountedSavedJobResponse" + - $ref: "#/components/schemas/PaginatedSavedJobResponse" + examples: + CollectorListResponseExamplesListed: + $ref: "#/components/examples/CollectorListResponseExamplesListed" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -64055,7 +71811,32 @@ paths: required: false schema: $ref: "#/components/schemas/CollectorType" - description: Filter by collector type + description: Filter by collector type. + - name: offset + in: query + required: false + schema: + type: integer + minimum: 0 + description: Pagination offset + - name: limit + in: query + required: false + schema: + type: integer + minimum: 0 + description: Maximum number of items to return + x-speakeasy-pagination: + type: offsetLimit + inputs: + - name: offset + in: parameters + type: offset + - name: limit + in: parameters + type: limit + outputs: + results: $.items post: operationId: createSavedJob tags: @@ -64068,14 +71849,25 @@ 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). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -64121,14 +71913,25 @@ paths: description: Get the specified Collector. responses: "200": - description: List of SavedJobResponse objects. + 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). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -64160,14 +71963,25 @@ 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). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -64182,24 +71996,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 @@ -64219,14 +72033,25 @@ 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). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -64253,14 +72078,28 @@ paths: description: Get a list of all Pipelines within the specified Pack. responses: "200": - description: a list of Pipeline objects + description: List of Pipeline objects. content: application/json: schema: - $ref: "#/components/schemas/CountedPipeline" + oneOf: + - $ref: "#/components/schemas/CountedPipeline" + - $ref: "#/components/schemas/PaginatedPipeline" + examples: + PipelineResponseExamplesEmptyPipeline: + $ref: "#/components/examples/PipelineResponseExamplesEmptyPipeline" + PipelineResponseExamplesEvalPipeline: + $ref: "#/components/examples/PipelineResponseExamplesEvalPipeline" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -64268,12 +72107,37 @@ paths: schema: $ref: "#/components/schemas/Error" parameters: + - name: offset + in: query + required: false + schema: + type: integer + minimum: 0 + description: Pagination offset + - name: limit + in: query + required: false + schema: + type: integer + minimum: 0 + description: Maximum number of items to return - name: pack in: path required: true schema: type: string description: The id of the Pack. + x-speakeasy-pagination: + type: offsetLimit + inputs: + - name: offset + in: parameters + type: offset + - name: limit + in: parameters + type: limit + outputs: + results: $.items post: operationId: createPipelinesByPack tags: @@ -64286,14 +72150,29 @@ paths: description: Create a new Pipeline within the specified Pack. responses: "200": - description: a list of Pipelines objects + description: The created Pipeline object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedPipeline" + examples: + PipelineResponseExamplesEmptyPipeline: + $ref: "#/components/examples/PipelineResponseExamplesEmptyPipeline" + PipelineResponseExamplesEvalPipeline: + $ref: "#/components/examples/PipelineResponseExamplesEvalPipeline" + "400": + description: Failed validation or malformed input, such as missing or invalid + parameters. "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -64408,14 +72287,26 @@ paths: description: Get the specified Pipeline within the specified Pack. responses: "200": - description: a list of Pipeline objects + description: The requested Pipeline object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedPipeline" + examples: + PipelineResponseExamplesEmptyPipeline: + $ref: "#/components/examples/PipelineResponseExamplesEmptyPipeline" + PipelineResponseExamplesEvalPipeline: + $ref: "#/components/examples/PipelineResponseExamplesEvalPipeline" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -64446,21 +72337,37 @@ paths: summary: Update a Pipeline within a Pack description: Update the specified Pipeline within the specified Pack.

Provide a complete representation of the Pipeline that - you want to update in the request body. This endpoint does not support - partial updates. Cribl removes any omitted fields when updating the - Pipeline.

Confirm that the configuration in your request body - is correct before sending the request. If the configuration is - incorrect, the updated Pipeline might not function as expected. + you want to update in the request body.

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

Confirm that the configuration in your request + body is correct before sending the request.

If the + configuration is incorrect, the updated Pipeline might not function as + expected. responses: "200": - description: a list of Pipeline objects + description: The updated Pipeline object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedPipeline" + examples: + PipelineResponseExamplesEmptyPipeline: + $ref: "#/components/examples/PipelineResponseExamplesEmptyPipeline" + PipelineResponseExamplesEvalPipeline: + $ref: "#/components/examples/PipelineResponseExamplesEvalPipeline" + "400": + description: Failed validation or malformed input, such as missing or invalid + parameters. "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -64580,14 +72487,26 @@ paths: description: Delete the specified Pipeline within the specified Pack. responses: "200": - description: a list of Pipeline objects + description: The deleted Pipeline object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedPipeline" + examples: + PipelineResponseExamplesEmptyPipeline: + $ref: "#/components/examples/PipelineResponseExamplesEmptyPipeline" + PipelineResponseExamplesEvalPipeline: + $ref: "#/components/examples/PipelineResponseExamplesEvalPipeline" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -64620,14 +72539,26 @@ paths: description: Get a list of all Routes within the specified Pack. responses: "200": - description: a list of Routes objects + description: List of Routing table objects. content: application/json: schema: $ref: "#/components/schemas/CountedRoutes" + examples: + RoutesResponseExamplesDefaultRoutingTable: + $ref: "#/components/examples/RoutesResponseExamplesDefaultRoutingTable" + RoutesResponseExamplesMultiRouteTable: + $ref: "#/components/examples/RoutesResponseExamplesMultiRouteTable" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -64654,14 +72585,29 @@ paths: description: Get the specified Routing table within the specified Pack. responses: "200": - description: a list of Routes objects + description: The requested Routing table object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedRoutes" + examples: + RoutesResponseExamplesDefaultRoutingTable: + $ref: "#/components/examples/RoutesResponseExamplesDefaultRoutingTable" + RoutesResponseExamplesMultiRouteTable: + $ref: "#/components/examples/RoutesResponseExamplesMultiRouteTable" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). + "404": + description: Routing table not found. The specified id does not + match any stored Routing table. "500": description: Unexpected server error. content: @@ -64690,26 +72636,44 @@ 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: a list of Routes objects + description: The updated Routing table object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedRoutes" + examples: + RoutesResponseExamplesDefaultRoutingTable: + $ref: "#/components/examples/RoutesResponseExamplesDefaultRoutingTable" + RoutesResponseExamplesMultiRouteTable: + $ref: "#/components/examples/RoutesResponseExamplesMultiRouteTable" + "400": + description: Failed validation or malformed input, such as missing or invalid + parameters. "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). + "404": + description: Routing table not found. The specified id does not + match any stored Routing table. "500": description: Unexpected server error. content: @@ -64738,8 +72702,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 @@ -64760,14 +72724,32 @@ paths: specified Pack. responses: "200": - description: The created Routes object in a single-item list. + description: The updated Routing table object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedRoutes" + examples: + RoutesResponseExamplesDefaultRoutingTable: + $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). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). + "404": + description: Routing table not found. The specified id does not + match any stored Routing table. "500": description: Unexpected server error. content: @@ -64817,14 +72799,30 @@ paths: description: Get a list of all Sources within the specified Pack. responses: "200": - description: a list of Source objects + description: List of Source objects. content: application/json: schema: - $ref: "#/components/schemas/CountedInputResponse" + oneOf: + - $ref: "#/components/schemas/CountedInputResponse" + - $ref: "#/components/schemas/PaginatedInputResponse" + examples: + InputResponseExamplesSyslogSource: + $ref: "#/components/examples/InputResponseExamplesSyslogSource" + InputResponseExamplesSplunkHecSource: + $ref: "#/components/examples/InputResponseExamplesSplunkHecSource" + InputResponseExamplesHttpSource: + $ref: "#/components/examples/InputResponseExamplesHttpSource" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -64840,12 +72838,37 @@ paths: description: Type of Source to include in the results. Each request can include only one type parameter; multiple parameters per request are not supported. + - name: offset + in: query + required: false + schema: + type: integer + minimum: 0 + description: Pagination offset + - name: limit + in: query + required: false + schema: + type: integer + minimum: 0 + description: Maximum number of items to return - name: pack in: path required: true schema: type: string description: The id of the Pack. + x-speakeasy-pagination: + type: offsetLimit + inputs: + - name: offset + in: parameters + type: offset + - name: limit + in: parameters + type: limit + outputs: + results: $.items post: operationId: createInputSystemByPack x-speakeasy-group: packs.sources @@ -64980,6 +73003,8 @@ paths: $ref: "#/components/examples/InputCreateExamplesSplunkSearch" InputCreateExamplesSqs: $ref: "#/components/examples/InputCreateExamplesSqs" + InputCreateExamplesSysdigHec: + $ref: "#/components/examples/InputCreateExamplesSysdigHec" InputCreateExamplesSyslog: $ref: "#/components/examples/InputCreateExamplesSyslog" InputCreateExamplesSystemMetrics: @@ -64990,6 +73015,8 @@ paths: $ref: "#/components/examples/InputCreateExamplesTcp" InputCreateExamplesTcpjson: $ref: "#/components/examples/InputCreateExamplesTcpjson" + InputCreateExamplesUpwindHec: + $ref: "#/components/examples/InputCreateExamplesUpwindHec" InputCreateExamplesWef: $ref: "#/components/examples/InputCreateExamplesWef" InputCreateExamplesWinEventLogs: @@ -65004,14 +73031,31 @@ paths: $ref: "#/components/examples/InputCreateExamplesZscalerHec" responses: "200": - description: the created Source object + description: The created Source object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedInputResponse" + examples: + InputResponseExamplesSyslogSource: + $ref: "#/components/examples/InputResponseExamplesSyslogSource" + InputResponseExamplesSplunkHecSource: + $ref: "#/components/examples/InputResponseExamplesSplunkHecSource" + InputResponseExamplesHttpSource: + $ref: "#/components/examples/InputResponseExamplesHttpSource" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). + "409": + description: Request conflicts with current resource state — source with the + same ID already exists. "500": description: Unexpected server error. content: @@ -65036,35 +73080,51 @@ paths: - sources summary: Get a Source within a Pack description: Get the specified Source within the specified Pack. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The id of the Source to get. - - name: pack - in: path - required: true - schema: - type: string - description: The id of the Pack. responses: "200": - description: a Source object + description: The requested Source object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedInputResponse" + examples: + InputResponseExamplesSyslogSource: + $ref: "#/components/examples/InputResponseExamplesSyslogSource" + InputResponseExamplesSplunkHecSource: + $ref: "#/components/examples/InputResponseExamplesSplunkHecSource" + InputResponseExamplesHttpSource: + $ref: "#/components/examples/InputResponseExamplesHttpSource" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). + "404": + description: The requested resource does not exist — Source not found. "500": description: Unexpected server error. content: application/json: schema: $ref: "#/components/schemas/Error" + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The id of the Source to get. + - name: pack + in: path + required: true + schema: + type: string + description: The id of the Pack. patch: operationId: updateInputSystemByPackAndId x-speakeasy-group: packs.sources @@ -65084,19 +73144,6 @@ paths: criblSourceProvenance when you omit it from the request body, and you cannot overwrite it through this endpoint within the specified Pack. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The id of the Source to update. - - name: pack - in: path - required: true - schema: - type: string - description: The id of the Pack. requestBody: description: Input object. required: true @@ -65219,6 +73266,8 @@ paths: $ref: "#/components/examples/UpdateInputExamplesSplunkSearch" UpdateInputExamplesSqs: $ref: "#/components/examples/UpdateInputExamplesSqs" + UpdateInputExamplesSysdigHec: + $ref: "#/components/examples/UpdateInputExamplesSysdigHec" UpdateInputExamplesSyslog: $ref: "#/components/examples/UpdateInputExamplesSyslog" UpdateInputExamplesSystemMetrics: @@ -65229,6 +73278,8 @@ paths: $ref: "#/components/examples/UpdateInputExamplesTcp" UpdateInputExamplesTcpjson: $ref: "#/components/examples/UpdateInputExamplesTcpjson" + UpdateInputExamplesUpwindHec: + $ref: "#/components/examples/UpdateInputExamplesUpwindHec" UpdateInputExamplesWef: $ref: "#/components/examples/UpdateInputExamplesWef" UpdateInputExamplesWinEventLogs: @@ -65243,59 +73294,100 @@ paths: $ref: "#/components/examples/UpdateInputExamplesZscalerHec" responses: "200": - description: the updated Source object + description: The updated Source object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedInputResponse" + examples: + InputResponseExamplesSyslogSource: + $ref: "#/components/examples/InputResponseExamplesSyslogSource" + InputResponseExamplesSplunkHecSource: + $ref: "#/components/examples/InputResponseExamplesSplunkHecSource" + InputResponseExamplesHttpSource: + $ref: "#/components/examples/InputResponseExamplesHttpSource" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: application/json: schema: $ref: "#/components/schemas/Error" - delete: - operationId: deleteInputSystemByPackAndId - x-speakeasy-group: packs.sources - x-cribl-internal: false - x-cribl-availability: both - x-speakeasy-name-override: delete - tags: - - sources - summary: Delete a Source within a Pack - description: Delete the specified Source within the specified Pack. parameters: - name: id in: path required: true schema: type: string - description: The id of the Source to delete. + description: The id of the Source to update. - name: pack in: path required: true schema: type: string description: The id of the Pack. + delete: + operationId: deleteInputSystemByPackAndId + x-speakeasy-group: packs.sources + x-cribl-internal: false + x-cribl-availability: both + x-speakeasy-name-override: delete + tags: + - sources + summary: Delete a Source within a Pack + description: Delete the specified Source within the specified Pack. responses: "200": - description: the deleted Source object + description: The deleted Source object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedInputResponse" + examples: + InputResponseExamplesSyslogSource: + $ref: "#/components/examples/InputResponseExamplesSyslogSource" + InputResponseExamplesSplunkHecSource: + $ref: "#/components/examples/InputResponseExamplesSplunkHecSource" + InputResponseExamplesHttpSource: + $ref: "#/components/examples/InputResponseExamplesHttpSource" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: application/json: schema: $ref: "#/components/schemas/Error" + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The id of the Source to delete. + - name: pack + in: path + required: true + schema: + type: string + description: The id of the Pack. /p/{pack}/system/inputs/{id}/hectoken: post: operationId: createInputSystemHecTokenByPackAndId @@ -65311,14 +73403,27 @@ paths: Source within the specified Pack. responses: "200": - description: the updated Splunk HEC Source with the new HEC token + description: The updated Splunk HEC Source with the new HEC token. content: application/json: schema: $ref: "#/components/schemas/CountedInputSplunkHec" + examples: + HecTokenResponseExamplesSplunkHecSource: + $ref: "#/components/examples/HecTokenResponseExamplesSplunkHecSource" + "400": + description: Failed validation or malformed input — Source not found, source + type is not splunk_hec, or request payload is invalid. "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -65364,14 +73469,27 @@ paths: Splunk HEC Source within the specified Pack. responses: "200": - description: the updated HEC token + description: The updated Splunk HEC Source with the modified HEC token metadata. content: application/json: schema: $ref: "#/components/schemas/CountedInputSplunkHec" + examples: + HecTokenResponseExamplesSplunkHecSource: + $ref: "#/components/examples/HecTokenResponseExamplesSplunkHecSource" + "400": + description: Failed validation or malformed input — Source not found, source + type is not splunk_hec, or request payload is invalid. "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -65402,7 +73520,8 @@ paths: required: true schema: type: string - description: The HEC token value to update. + description: The HEC token value whose metadata you want to update. Must match + an existing token on the Source. - name: pack in: path required: true @@ -65429,9 +73548,19 @@ paths: application/json: schema: $ref: "#/components/schemas/CountedString" + examples: + ClearPQResponseExamplesClearPQJob: + $ref: "#/components/examples/ClearPQResponseExamplesClearPQJob" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -65465,14 +73594,24 @@ paths: (PQ) for the specified Source within the specified Pack. responses: "200": - description: information about the latest job to clear the PQ for the Source + description: The latest clear-PQ job information for the specified Source. content: application/json: schema: $ref: "#/components/schemas/CountedJobInfo" + examples: + PQStatusResponseExamplesCompletedJob: + $ref: "#/components/examples/PQStatusResponseExamplesCompletedJob" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -65505,14 +73644,30 @@ paths: description: Get a list of all Destinations within the specified Pack. responses: "200": - description: a list of Destination objects + description: List of Destination objects. content: application/json: schema: - $ref: "#/components/schemas/CountedOutputResponse" + oneOf: + - $ref: "#/components/schemas/CountedOutputResponse" + - $ref: "#/components/schemas/PaginatedOutputResponse" + examples: + OutputResponseExamplesSplunkHecDestination: + $ref: "#/components/examples/OutputResponseExamplesSplunkHecDestination" + OutputResponseExamplesS3Destination: + $ref: "#/components/examples/OutputResponseExamplesS3Destination" + OutputResponseExamplesSyslogDestination: + $ref: "#/components/examples/OutputResponseExamplesSyslogDestination" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -65528,12 +73683,37 @@ paths: description: Type of Destination to include in the results. Each request can include only one type parameter; multiple parameters per request are not supported. + - name: offset + in: query + required: false + schema: + type: integer + minimum: 0 + description: Pagination offset + - name: limit + in: query + required: false + schema: + type: integer + minimum: 0 + description: Maximum number of items to return - name: pack in: path required: true schema: type: string description: The id of the Pack. + x-speakeasy-pagination: + type: offsetLimit + inputs: + - name: offset + in: parameters + type: offset + - name: limit + in: parameters + type: limit + outputs: + results: $.items post: operationId: createOutputSystemByPack x-speakeasy-group: packs.destinations @@ -65584,6 +73764,8 @@ paths: $ref: "#/components/examples/OutputCreateExamplesscalityS3" OutputCreateExamplesalibabaCloudS3: $ref: "#/components/examples/OutputCreateExamplesalibabaCloudS3" + OutputCreateExamplesibmCloudS3: + $ref: "#/components/examples/OutputCreateExamplesibmCloudS3" OutputCreateExamplesAzureBlob: $ref: "#/components/examples/OutputCreateExamplesAzureBlob" OutputCreateExamplesAzureDataExplorer: @@ -65646,8 +73828,12 @@ paths: $ref: "#/components/examples/OutputCreateExamplesWebhook" OutputCreateExamplesPrometheus: $ref: "#/components/examples/OutputCreateExamplesPrometheus" + OutputCreateExamplesAmazonManagedPrometheus: + $ref: "#/components/examples/OutputCreateExamplesAmazonManagedPrometheus" OutputCreateExamplesGooglePubsub: $ref: "#/components/examples/OutputCreateExamplesGooglePubsub" + OutputCreateExamplesGoogleBigQuery: + $ref: "#/components/examples/OutputCreateExamplesGoogleBigQuery" OutputCreateExamplesGoogleChronicle: $ref: "#/components/examples/OutputCreateExamplesGoogleChronicle" OutputCreateExamplesChronicle: @@ -65662,6 +73848,8 @@ paths: $ref: "#/components/examples/OutputCreateExamplesServiceNow" OutputCreateExamplesDynatraceOtlp: $ref: "#/components/examples/OutputCreateExamplesDynatraceOtlp" + OutputCreateExamplesGoogleCloudObservability: + $ref: "#/components/examples/OutputCreateExamplesGoogleCloudObservability" OutputCreateExamplesSentinelOneAiSiem: $ref: "#/components/examples/OutputCreateExamplesSentinelOneAiSiem" OutputCreateExamplesDataset: @@ -65700,6 +73888,8 @@ paths: $ref: "#/components/examples/OutputCreateExamplesClickHouse" OutputCreateExamplesLocalSearchStorage: $ref: "#/components/examples/OutputCreateExamplesLocalSearchStorage" + OutputCreateExamplesCustomerMetricsStorage: + $ref: "#/components/examples/OutputCreateExamplesCustomerMetricsStorage" OutputCreateExamplesXsiam: $ref: "#/components/examples/OutputCreateExamplesXsiam" OutputCreateExamplesNetflow: @@ -65710,14 +73900,31 @@ paths: $ref: "#/components/examples/OutputCreateExamplesDatabricks" responses: "200": - description: the created Destination object + description: The created Destination object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedOutputResponse" + examples: + OutputResponseExamplesSplunkHecDestination: + $ref: "#/components/examples/OutputResponseExamplesSplunkHecDestination" + OutputResponseExamplesS3Destination: + $ref: "#/components/examples/OutputResponseExamplesS3Destination" + OutputResponseExamplesSyslogDestination: + $ref: "#/components/examples/OutputResponseExamplesSyslogDestination" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). + "409": + description: Request conflicts with current resource state — Destination with + the specified ID already exists. "500": description: Unexpected server error. content: @@ -65742,35 +73949,51 @@ paths: - destinations summary: Get a Destination within a Pack description: Get the specified Destination within the specified Pack. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The id of the Destination to get. - - name: pack - in: path - required: true - schema: - type: string - description: The id of the Pack. responses: "200": - description: a Destination object + description: The requested Destination object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedOutputResponse" + examples: + OutputResponseExamplesSplunkHecDestination: + $ref: "#/components/examples/OutputResponseExamplesSplunkHecDestination" + OutputResponseExamplesS3Destination: + $ref: "#/components/examples/OutputResponseExamplesS3Destination" + OutputResponseExamplesSyslogDestination: + $ref: "#/components/examples/OutputResponseExamplesSyslogDestination" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). + "404": + description: The requested resource does not exist. "500": description: Unexpected server error. content: application/json: schema: $ref: "#/components/schemas/Error" + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The id of the Destination to get. + - name: pack + in: path + required: true + schema: + type: string + description: The id of the Pack. patch: operationId: updateOutputSystemByPackAndId x-speakeasy-group: packs.destinations @@ -65787,19 +74010,6 @@ paths: configuration in your request body is correct before sending the request. If the configuration is incorrect, the updated Destination might not function as expected within the specified Pack. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The id of the Destination to update. - - name: pack - in: path - required: true - schema: - type: string - description: The id of the Pack. requestBody: description: Output object. required: true @@ -65838,6 +74048,8 @@ paths: $ref: "#/components/examples/UpdateOutputExamplesscalityS3" UpdateOutputExamplesalibabaCloudS3: $ref: "#/components/examples/UpdateOutputExamplesalibabaCloudS3" + UpdateOutputExamplesibmCloudS3: + $ref: "#/components/examples/UpdateOutputExamplesibmCloudS3" UpdateOutputExamplesAzureBlob: $ref: "#/components/examples/UpdateOutputExamplesAzureBlob" UpdateOutputExamplesAzureDataExplorer: @@ -65900,8 +74112,12 @@ paths: $ref: "#/components/examples/UpdateOutputExamplesWebhook" UpdateOutputExamplesPrometheus: $ref: "#/components/examples/UpdateOutputExamplesPrometheus" + UpdateOutputExamplesAmazonManagedPrometheus: + $ref: "#/components/examples/UpdateOutputExamplesAmazonManagedPrometheus" UpdateOutputExamplesGooglePubsub: $ref: "#/components/examples/UpdateOutputExamplesGooglePubsub" + UpdateOutputExamplesGoogleBigQuery: + $ref: "#/components/examples/UpdateOutputExamplesGoogleBigQuery" UpdateOutputExamplesGoogleChronicle: $ref: "#/components/examples/UpdateOutputExamplesGoogleChronicle" UpdateOutputExamplesChronicle: @@ -65916,6 +74132,8 @@ paths: $ref: "#/components/examples/UpdateOutputExamplesServiceNow" UpdateOutputExamplesDynatraceOtlp: $ref: "#/components/examples/UpdateOutputExamplesDynatraceOtlp" + UpdateOutputExamplesGoogleCloudObservability: + $ref: "#/components/examples/UpdateOutputExamplesGoogleCloudObservability" UpdateOutputExamplesSentinelOneAiSiem: $ref: "#/components/examples/UpdateOutputExamplesSentinelOneAiSiem" UpdateOutputExamplesDataset: @@ -65954,6 +74172,8 @@ paths: $ref: "#/components/examples/UpdateOutputExamplesClickHouse" UpdateOutputExamplesLocalSearchStorage: $ref: "#/components/examples/UpdateOutputExamplesLocalSearchStorage" + UpdateOutputExamplesCustomerMetricsStorage: + $ref: "#/components/examples/UpdateOutputExamplesCustomerMetricsStorage" UpdateOutputExamplesXsiam: $ref: "#/components/examples/UpdateOutputExamplesXsiam" UpdateOutputExamplesNetflow: @@ -65964,59 +74184,107 @@ paths: $ref: "#/components/examples/UpdateOutputExamplesDatabricks" responses: "200": - description: the updated Destination object + description: The updated Destination object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedOutputResponse" + examples: + OutputResponseExamplesSplunkHecDestination: + $ref: "#/components/examples/OutputResponseExamplesSplunkHecDestination" + OutputResponseExamplesS3Destination: + $ref: "#/components/examples/OutputResponseExamplesS3Destination" + OutputResponseExamplesSyslogDestination: + $ref: "#/components/examples/OutputResponseExamplesSyslogDestination" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). + "404": + description: The requested resource does not exist — Destination not found. "500": description: Unexpected server error. content: application/json: schema: $ref: "#/components/schemas/Error" - delete: - operationId: deleteOutputSystemByPackAndId - x-speakeasy-group: packs.destinations - x-cribl-internal: false - x-cribl-availability: both - x-speakeasy-name-override: delete - tags: - - destinations - summary: Delete a Destination within a Pack - description: Delete the specified Destination within the specified Pack. parameters: - name: id in: path required: true schema: type: string - description: The id of the Destination to delete. + description: The id of the Destination to update. - name: pack in: path required: true schema: type: string description: The id of the Pack. + delete: + operationId: deleteOutputSystemByPackAndId + x-speakeasy-group: packs.destinations + x-cribl-internal: false + x-cribl-availability: both + x-speakeasy-name-override: delete + tags: + - destinations + summary: Delete a Destination within a Pack + description: Delete the specified Destination within the specified Pack. responses: "200": - description: the deleted Destination object + description: The deleted Destination object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedOutputResponse" + examples: + OutputResponseExamplesSplunkHecDestination: + $ref: "#/components/examples/OutputResponseExamplesSplunkHecDestination" + OutputResponseExamplesS3Destination: + $ref: "#/components/examples/OutputResponseExamplesS3Destination" + OutputResponseExamplesSyslogDestination: + $ref: "#/components/examples/OutputResponseExamplesSyslogDestination" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). + "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: application/json: schema: $ref: "#/components/schemas/Error" + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The id of the Destination to delete. + - name: pack + in: path + required: true + schema: + type: string + description: The id of the Pack. /p/{pack}/system/outputs/{id}/pq: delete: operationId: deleteOutputSystemPqByPackAndId @@ -66031,15 +74299,24 @@ paths: within the specified Pack. responses: "201": - description: A list of job ids for the background job that clears the persistent - queue + description: The job ID for the background job that clears the persistent queue. content: application/json: schema: $ref: "#/components/schemas/CountedString" + examples: + OutputClearPQResponseExamplesClearPQJobId: + $ref: "#/components/examples/OutputClearPQResponseExamplesClearPQJobId" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -66073,7 +74350,7 @@ paths: (PQ) for the specified Destination within the specified Pack. responses: "200": - description: information about the latest PQ clear job for the Destination + description: Information about the latest job to clear the PQ for the Destination. content: application/json: schema: @@ -66081,6 +74358,13 @@ paths: "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -66114,16 +74398,27 @@ paths: configuration or test connectivity within the specified Pack. responses: "200": - description: Sample event data for the Destination + description: Sample event data for the Destination. content: application/json: schema: $ref: "#/components/schemas/CountedOutputSamplesResponse" + examples: + OutputSamplesResponseExamplesSampleEvents: + $ref: "#/components/examples/OutputSamplesResponseExamplesSampleEvents" "400": - description: Bad Request — invalid request or Destination error + description: Failed validation or malformed input — invalid request or + Destination error. "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -66157,16 +74452,28 @@ paths: configuration or test connectivity within the specified Pack. responses: "200": - description: Destination test result + description: Destination test result. content: application/json: schema: $ref: "#/components/schemas/CountedOutputTestResponse" + examples: + OutputTestResponseExamplesSuccessfulTest: + $ref: "#/components/examples/OutputTestResponseExamplesSuccessfulTest" + OutputTestResponseExamplesFailedTest: + $ref: "#/components/examples/OutputTestResponseExamplesFailedTest" "400": - description: Bad Request — missing or invalid events + description: Failed validation or malformed input — missing or invalid events. "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -66212,16 +74519,31 @@ paths: Sources in the Worker Group or Edge Fleet within the specified Pack. responses: "200": - description: a list of Source status objects + description: List of Source status objects. content: application/json: schema: - $ref: "#/components/schemas/CountedInputStatus" + oneOf: + - $ref: "#/components/schemas/CountedInputStatus" + - $ref: "#/components/schemas/PaginatedInputStatus" + examples: + InputStatusResponseExamplesGreenSource: + $ref: "#/components/examples/InputStatusResponseExamplesGreenSource" + InputStatusResponseExamplesYellowSource: + $ref: "#/components/examples/InputStatusResponseExamplesYellowSource" "400": - description: Bad Request + description: Failed validation or malformed input, such as missing or invalid + parameters. "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -66290,14 +74612,26 @@ paths: the specified Pack. responses: "200": - description: a Source status object + description: The requested Source status object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedInputStatus" + examples: + InputStatusResponseExamplesGreenSource: + $ref: "#/components/examples/InputStatusResponseExamplesGreenSource" + InputStatusResponseExamplesYellowSource: + $ref: "#/components/examples/InputStatusResponseExamplesYellowSource" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -66346,16 +74680,31 @@ paths: Pack. responses: "200": - description: a list of Destination status objects + description: List of Destination status objects. content: application/json: schema: - $ref: "#/components/schemas/CountedOutputStatus" + oneOf: + - $ref: "#/components/schemas/CountedOutputStatus" + - $ref: "#/components/schemas/PaginatedOutputStatus" + examples: + OutputStatusResponseExamplesGreenDestination: + $ref: "#/components/examples/OutputStatusResponseExamplesGreenDestination" + OutputStatusResponseExamplesYellowDestination: + $ref: "#/components/examples/OutputStatusResponseExamplesYellowDestination" "400": - description: Bad Request + description: Failed validation or malformed input, such as missing or invalid + parameters. "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -66424,14 +74773,26 @@ paths: within the specified Pack. responses: "200": - description: Destination status object + description: The requested Destination status object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedOutputStatus" + examples: + OutputStatusResponseExamplesGreenDestination: + $ref: "#/components/examples/OutputStatusResponseExamplesGreenDestination" + OutputStatusResponseExamplesYellowDestination: + $ref: "#/components/examples/OutputStatusResponseExamplesYellowDestination" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -66475,26 +74836,36 @@ 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 created PackInstallInfo object in a single-item list. + description: The installed Pack object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedPackInstallInfo" + examples: + PackInstallResponseExamplesInstalledFromURL: + $ref: "#/components/examples/PackInstallResponseExamplesInstalledFromURL" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -66531,14 +74902,26 @@ paths: description: Get a list of all Packs. responses: "200": - description: List of PackInfo objects. + description: List of Pack objects. content: application/json: schema: - $ref: "#/components/schemas/CountedPackInfo" + oneOf: + - $ref: "#/components/schemas/CountedPackInfo" + - $ref: "#/components/schemas/PaginatedPackInfo" + examples: + PackListResponseExamplesPackList: + $ref: "#/components/examples/PackListResponseExamplesPackList" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -66551,10 +74934,35 @@ 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." + - name: offset + in: query + required: false + schema: + type: integer + minimum: 0 + description: Pagination offset + - name: limit + in: query + required: false + schema: + type: integer + minimum: 0 + description: Maximum number of items to return + x-speakeasy-pagination: + type: offsetLimit + inputs: + - name: offset + in: parameters + type: offset + - name: limit + in: parameters + type: limit + outputs: + results: $.items put: operationId: updatePacks tags: @@ -66569,14 +74977,24 @@ paths: separately. responses: "200": - description: Pack file uploaded successfully + description: Pack file uploaded successfully. content: application/json: schema: $ref: "#/components/schemas/UploadPackResponse" + examples: + PackUploadResponseExamplesUploadedPack: + $ref: "#/components/examples/PackUploadResponseExamplesUploadedPack" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -66611,14 +75029,26 @@ paths: description: Get the specified Pack. responses: "200": - description: List of PackInfo objects. + description: The requested Pack object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedPackInfo" + examples: + PackGetResponseExamplesInstalledPack: + $ref: "#/components/examples/PackGetResponseExamplesInstalledPack" + PackGetResponseExamplesEmptyPack: + $ref: "#/components/examples/PackGetResponseExamplesEmptyPack" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -66631,7 +75061,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: @@ -66651,14 +75082,24 @@ paths: previous Pack version so that they reference the upgraded Pack. responses: "200": - description: The updated PackInfo object in a single-item list. + description: The upgraded Pack object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedPackInfo" + examples: + PackUpgradeResponseExamplesUpgraded: + $ref: "#/components/examples/PackUpgradeResponseExamplesUpgraded" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -66681,7 +75122,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: @@ -66694,14 +75136,24 @@ paths: description: Uninstall the specified Pack. responses: "200": - description: The deleted PackUninstallInfo object in a single-item list. + description: The uninstalled Pack object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedPackUninstallInfo" + examples: + PackDeleteResponseExamplesUninstalled: + $ref: "#/components/examples/PackDeleteResponseExamplesUninstalled" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -66714,7 +75166,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 @@ -66728,20 +75181,60 @@ paths: description: Get a list of all Pipelines. responses: "200": - description: a list of Pipeline objects + description: List of Pipeline objects. content: application/json: schema: - $ref: "#/components/schemas/CountedPipeline" + oneOf: + - $ref: "#/components/schemas/CountedPipeline" + - $ref: "#/components/schemas/PaginatedPipeline" + examples: + PipelineResponseExamplesEmptyPipeline: + $ref: "#/components/examples/PipelineResponseExamplesEmptyPipeline" + PipelineResponseExamplesEvalPipeline: + $ref: "#/components/examples/PipelineResponseExamplesEvalPipeline" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: application/json: schema: $ref: "#/components/schemas/Error" + parameters: + - name: offset + in: query + required: false + schema: + type: integer + minimum: 0 + description: Pagination offset + - name: limit + in: query + required: false + schema: + type: integer + minimum: 0 + description: Maximum number of items to return + x-speakeasy-pagination: + type: offsetLimit + inputs: + - name: offset + in: parameters + type: offset + - name: limit + in: parameters + type: limit + outputs: + results: $.items post: operationId: createPipelines tags: @@ -66754,14 +75247,29 @@ paths: description: Create a new Pipeline. responses: "200": - description: a list of Pipelines objects + description: The created Pipeline object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedPipeline" + examples: + PipelineResponseExamplesEmptyPipeline: + $ref: "#/components/examples/PipelineResponseExamplesEmptyPipeline" + PipelineResponseExamplesEvalPipeline: + $ref: "#/components/examples/PipelineResponseExamplesEvalPipeline" + "400": + description: Failed validation or malformed input, such as missing or invalid + parameters. "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -66869,14 +75377,26 @@ paths: description: Delete the specified Pipeline. responses: "200": - description: a list of Pipeline objects + description: The deleted Pipeline object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedPipeline" + examples: + PipelineResponseExamplesEmptyPipeline: + $ref: "#/components/examples/PipelineResponseExamplesEmptyPipeline" + PipelineResponseExamplesEvalPipeline: + $ref: "#/components/examples/PipelineResponseExamplesEvalPipeline" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -66902,14 +75422,26 @@ paths: description: Get the specified Pipeline. responses: "200": - description: a list of Pipeline objects + description: The requested Pipeline object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedPipeline" + examples: + PipelineResponseExamplesEmptyPipeline: + $ref: "#/components/examples/PipelineResponseExamplesEmptyPipeline" + PipelineResponseExamplesEvalPipeline: + $ref: "#/components/examples/PipelineResponseExamplesEvalPipeline" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -66934,21 +75466,36 @@ paths: summary: Update a Pipeline description: Update the specified Pipeline.

Provide a complete representation of the Pipeline that you want to update in the request - body. This endpoint does not support partial updates. Cribl removes any - omitted fields when updating the Pipeline.

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

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

Confirm + that the configuration in your request body is correct before sending + the request.

If the configuration is incorrect, the updated + Pipeline might not function as expected. responses: "200": - description: a list of Pipeline objects + description: The updated Pipeline object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedPipeline" + examples: + PipelineResponseExamplesEmptyPipeline: + $ref: "#/components/examples/PipelineResponseExamplesEmptyPipeline" + PipelineResponseExamplesEvalPipeline: + $ref: "#/components/examples/PipelineResponseExamplesEvalPipeline" + "400": + description: Failed validation or malformed input, such as missing or invalid + parameters. "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -67052,12 +75599,13 @@ paths: description: The id of the Pipeline to update. /products/{product}/groups: get: - operationId: listConfigGroupByProduct - x-cribl-internal: false - x-cribl-availability: both - x-speakeasy-name-override: list + operationId: getProductsGroupsByProduct tags: - groups + x-speakeasy-group: groups + x-speakeasy-name-override: list + x-cribl-internal: false + x-cribl-availability: both summary: List all Worker Groups, Outpost Groups, or Edge Fleets for the specified Cribl product description: Get a list of all Worker Groups, Outpost Groups, or Edge Fleets for @@ -67068,17 +75616,25 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/CountedConfigGroup" + oneOf: + - $ref: "#/components/schemas/CountedConfigGroup" + - $ref: "#/components/schemas/PaginatedConfigGroup" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: application/json: schema: $ref: "#/components/schemas/Error" - x-speakeasy-group: groups parameters: - name: product in: path @@ -67095,17 +75651,72 @@ paths: description: Comma-separated list of additional properties to include in the response. Available values are git.commit, git.localChanges, and git.log. + - name: offset + in: query + required: false + schema: + type: integer + minimum: 0 + description: Pagination offset + - name: limit + in: query + required: false + schema: + type: integer + minimum: 0 + description: Maximum number of items to return + x-speakeasy-pagination: + type: offsetLimit + inputs: + - name: offset + in: parameters + type: offset + - name: limit + in: parameters + type: limit + outputs: + results: $.items post: - operationId: createConfigGroupByProduct - x-cribl-internal: false - x-cribl-availability: both - x-speakeasy-name-override: create + operationId: createProductsGroupsByProduct tags: - groups + x-speakeasy-group: groups + x-speakeasy-name-override: create + x-cribl-internal: false + x-cribl-availability: both summary: Create a Worker Group, Outpost Group, or Edge Fleet for the specified Cribl product description: Create a new Worker Group, Outpost Group, or Edge Fleet for the specified Cribl product. + responses: + "200": + description: The created ConfigGroup object in a single-item list. + content: + application/json: + schema: + $ref: "#/components/schemas/CountedConfigGroup" + "400": + description: Failed validation or malformed input — Invalid group payload or + invalid cloud/on-prem configuration. + "401": + description: Authentication failed (missing or invalid credentials or Bearer + token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). + "409": + description: Request conflicts with current resource state — duplicate group ID + or duplicate group name. + "500": + description: Unexpected server error. + content: + application/json: + schema: + $ref: "#/components/schemas/Error" requestBody: description: GroupCreateRequest object. required: true @@ -67122,9 +75733,28 @@ paths: $ref: "#/components/examples/CreateGroupExamplesCloneWg" CreateGroupExamplesEdgeFleet: $ref: "#/components/examples/CreateGroupExamplesEdgeFleet" + parameters: + - name: product + in: path + required: true + schema: + $ref: "#/components/schemas/ProductsCore" + description: Name of the Cribl product to add the Worker Group, Outpost Group, + or Edge Fleet to. + /products/{product}/groups/{id}: + get: + operationId: getProductsGroupsByProductAndId + tags: + - groups + x-speakeasy-group: groups + x-speakeasy-name-override: get + x-cribl-internal: false + x-cribl-availability: both + summary: Get a Worker Group, Outpost Group, or Edge Fleet + description: Get the specified Worker Group, Outpost Group, or Edge Fleet. responses: "200": - description: The created ConfigGroup object in a single-item list. + description: The requested ConfigGroup object in a single-item list. content: application/json: schema: @@ -67132,37 +75762,24 @@ paths: "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: application/json: schema: $ref: "#/components/schemas/Error" - x-speakeasy-group: groups - parameters: - - name: product - in: path - required: true - schema: - $ref: "#/components/schemas/ProductsCore" - description: Name of the Cribl product to add the Worker Group, Outpost Group, - or Edge Fleet to. - /products/{product}/groups/{id}: - get: - operationId: getConfigGroupByProductAndId - x-cribl-internal: false - x-cribl-availability: both - x-speakeasy-name-override: get - tags: - - groups - summary: Get a Worker Group, Outpost Group, or Edge Fleet - description: Get the specified Worker Group, Outpost Group, or Edge Fleet. parameters: - name: product in: path required: true schema: - type: string $ref: "#/components/schemas/ProductsCore" description: Name of the Cribl product to get the Worker Groups, Outpost Groups, or Edge Fleets for. @@ -67181,30 +75798,14 @@ paths: description: Comma-separated list of additional properties to include in the response. Available values are git.commit, git.localChanges, and git.log. - responses: - "200": - description: List of ConfigGroup objects. - content: - application/json: - schema: - $ref: "#/components/schemas/CountedConfigGroup" - "401": - description: Authentication failed (missing or invalid credentials or Bearer - token). - "500": - description: Unexpected server error. - content: - application/json: - schema: - $ref: "#/components/schemas/Error" - x-speakeasy-group: groups patch: - operationId: updateConfigGroupByProductAndId - x-cribl-internal: false - x-cribl-availability: both - x-speakeasy-name-override: update + operationId: updateProductsGroupsByProductAndId tags: - groups + x-speakeasy-group: groups + x-speakeasy-name-override: update + x-cribl-internal: false + x-cribl-availability: both summary: Update a Worker Group, Outpost Group, or Edge Fleet description: "Update the specified Worker Group, Outpost Group, or Edge Fleet.

Provide a complete representation of the Group or Fleet @@ -67220,34 +75821,6 @@ paths: configVersion
- deployingWorkerCount
- incompatibleWorkerCount
- workerCount
- lookupDeployments." - parameters: - - name: product - in: path - required: true - schema: - type: string - $ref: "#/components/schemas/ProductsCore" - description: Name of the Cribl product to get the Worker Groups, Outpost Groups, - or Edge Fleets for. - - name: id - in: path - required: true - schema: - type: string - description: The id of the Worker Group, Outpost Group, or Edge - Fleet to update. - requestBody: - description: ConfigGroup object. - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/ConfigGroup" - examples: - UpdateGroupExamplesScaleCloudWorkerGroup: - $ref: "#/components/examples/UpdateGroupExamplesScaleCloudWorkerGroup" - UpdateGroupExamplesUpdateOnPremWorkerGroup: - $ref: "#/components/examples/UpdateGroupExamplesUpdateOnPremWorkerGroup" responses: "200": description: The updated ConfigGroup object in a single-item list. @@ -67255,31 +75828,43 @@ paths: application/json: schema: $ref: "#/components/schemas/CountedConfigGroup" + "400": + description: Failed validation or malformed input — Invalid update payload, + including read-only field mutations or invalid cloud/on-prem + configuration. "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: application/json: schema: $ref: "#/components/schemas/Error" - x-speakeasy-group: groups - delete: - operationId: deleteConfigGroupByProductAndId - x-cribl-internal: false - x-cribl-availability: both - x-speakeasy-name-override: delete - tags: - - groups - summary: Delete a Worker Group, Outpost Group, or Edge Fleet - description: Delete the specified Worker Group, Outpost Group, or Edge Fleet. + requestBody: + description: ConfigGroup object. + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/ConfigGroup" + examples: + UpdateGroupExamplesScaleCloudWorkerGroup: + $ref: "#/components/examples/UpdateGroupExamplesScaleCloudWorkerGroup" + UpdateGroupExamplesUpdateOnPremWorkerGroup: + $ref: "#/components/examples/UpdateGroupExamplesUpdateOnPremWorkerGroup" parameters: - name: product in: path required: true schema: - type: string $ref: "#/components/schemas/ProductsCore" description: Name of the Cribl product to get the Worker Groups, Outpost Groups, or Edge Fleets for. @@ -67289,7 +75874,17 @@ paths: schema: type: string description: The id of the Worker Group, Outpost Group, or Edge - Fleet to delete. + Fleet to update. + delete: + operationId: deleteProductsGroupsByProductAndId + tags: + - groups + x-speakeasy-group: groups + x-speakeasy-name-override: delete + x-cribl-internal: false + x-cribl-availability: both + summary: Delete a Worker Group, Outpost Group, or Edge Fleet + description: Delete the specified Worker Group, Outpost Group, or Edge Fleet. responses: "200": description: The deleted ConfigGroup object in a single-item list. @@ -67300,16 +75895,37 @@ paths: "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: application/json: schema: $ref: "#/components/schemas/Error" - x-speakeasy-group: groups + parameters: + - name: product + in: path + required: true + schema: + $ref: "#/components/schemas/ProductsCore" + description: Name of the Cribl product to get the Worker Groups, Outpost Groups, + or Edge Fleets for. + - name: id + in: path + required: true + schema: + type: string + description: The id of the Worker Group, Outpost Group, or Edge + Fleet to delete. /products/{product}/groups/{id}/acl: get: - operationId: getConfigGroupAclByProductAndId + operationId: getProductsGroupsAclByProductAndId tags: - groups x-speakeasy-group: groups.acl @@ -67322,7 +75938,7 @@ paths: Outpost Group, or Edge Fleet. responses: "200": - description: List of UserAccessControlList objects. + description: The requested UserAccessControlList object in a single-item list. content: application/json: schema: @@ -67330,6 +75946,13 @@ paths: "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -67360,7 +75983,7 @@ paths: RBAC resource type. /products/{product}/groups/{id}/acl/teams: get: - operationId: getConfigGroupAclTeamsByProductAndId + operationId: getProductsGroupsAclTeamsByProductAndId tags: - teams x-speakeasy-group: groups.acl.teams @@ -67374,7 +75997,7 @@ paths: product. responses: "200": - description: List of TeamAccessControlList objects. + description: The requested TeamAccessControlList object in a single-item list. content: application/json: schema: @@ -67382,6 +76005,13 @@ paths: "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -67412,7 +76042,7 @@ paths: RBAC resource type. /products/{product}/groups/{id}/configVersion: get: - operationId: getConfigGroupConfigVersionByProductAndId + operationId: getProductsGroupsConfigVersionByProductAndId tags: - groups x-speakeasy-group: groups.configs.versions @@ -67425,7 +76055,7 @@ paths: Outpost Group, or Edge Fleet. responses: "200": - description: List of string objects. + description: The requested string object in a single-item list. content: application/json: schema: @@ -67433,6 +76063,13 @@ paths: "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -67456,7 +76093,7 @@ paths: Fleet to get the configuration version for. /products/{product}/groups/{id}/deploy: patch: - operationId: updateConfigGroupDeployByProductAndId + operationId: updateProductsGroupsDeployByProductAndId tags: - groups x-speakeasy-group: groups @@ -67476,6 +76113,13 @@ paths: "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -67513,26 +76157,40 @@ paths: x-speakeasy-name-override: get x-cribl-internal: false x-cribl-availability: both - summary: Get a summary of the deployment for a specific product. + summary: Get a summary of the deployment for a Cribl product description: Get a summary of the deployment for the specified Cribl product (Stream or Edge).

The summary includes a count of Worker Groups - or Edge Fleets and resources such as Pipelines, Routes, Sources, and - Destinations. For Distributed deployments, it also includes a count and - statistics for Worker or Edge Nodes. + or Edge Fleets and resources such as Pipelines, Routes, Sources, and + Destinations. For Distributed deployments, the summary also includes a + count and statistics for Worker or Edge Nodes. responses: "200": description: List of DistributedSummary objects. content: application/json: schema: - $ref: "#/components/schemas/CountedDistributedSummary" + oneOf: + - $ref: "#/components/schemas/CountedDistributedSummary" + - $ref: "#/components/schemas/PaginatedDistributedSummary" + examples: + ProductSummaryResponseExamplesStreamDeploymentSummary: + $ref: "#/components/examples/ProductSummaryResponseExamplesStreamDeploymentSumm\ + ary" "400": - description: Bad Request if the product is not "stream" or "edge" + description: Failed validation or malformed input if the product is not "stream" + or "edge" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "403": - description: Forbidden to access product because you don't have permissions + description: Not authorized or licensed to perform this action. "500": description: Unexpected server error. content: @@ -67546,6 +76204,31 @@ paths: schema: $ref: "#/components/schemas/ProductsBase" description: Name of the Cribl product to get the summary for. + - name: offset + in: query + required: false + schema: + type: integer + minimum: 0 + description: Pagination offset + - name: limit + in: query + required: false + schema: + type: integer + minimum: 0 + description: Maximum number of items to return + x-speakeasy-pagination: + type: offsetLimit + inputs: + - name: offset + in: parameters + type: offset + - name: limit + in: parameters + type: limit + outputs: + results: $.items /products/{product}/summary/workers: get: operationId: getProductsSummaryWorkersByProduct @@ -67560,18 +76243,30 @@ paths: Cribl product. responses: "200": - description: List of number objects. + description: The requested number object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedNumber" + examples: + ProductWorkersCountResponseExamplesCountedWorkerNodes: + $ref: "#/components/examples/ProductWorkersCountResponseExamplesCountedWorkerNo\ + des" "400": - description: Bad Request if the product is not "stream", "edge", or "outpost" + description: Failed validation or malformed input if the product is not + "stream", "edge", or "outpost" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "403": - description: Forbidden to access product because you don't have permissions + description: Not authorized or licensed to perform this action. "500": description: Unexpected server error. content: @@ -67590,7 +76285,7 @@ paths: in: query required: false schema: - type: string + $ref: "#/components/schemas/WorkerFilterExpression" description: Filter expression to evaluate against Nodes for inclusion in the response. /products/{product}/workers: @@ -67611,14 +76306,27 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/CountedMasterWorkerEntry" + oneOf: + - $ref: "#/components/schemas/CountedMasterWorkerEntry" + - $ref: "#/components/schemas/PaginatedMasterWorkerEntry" + examples: + WorkersListResponseExamplesWorkerNode: + $ref: "#/components/examples/WorkersListResponseExamplesWorkerNode" "400": - description: Bad Request if the product is not "stream", "edge", or "outpost" + description: Failed validation or malformed input if the product is not + "stream", "edge", or "outpost" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "403": - description: Forbidden to access product because you don't have permissions + description: Not authorized or licensed to perform this action. "500": description: Unexpected server error. content: @@ -67636,7 +76344,7 @@ paths: in: query required: false schema: - type: string + $ref: "#/components/schemas/WorkerFilterExpression" description: Filter expression to evaluate against Nodes for inclusion in the response. - name: sortExp @@ -67650,7 +76358,7 @@ paths: in: query required: false schema: - type: string + $ref: "#/components/schemas/WorkerFilterJson" description: JSON-stringified filter object to evaluate against Nodes for inclusion in the response. - name: sort @@ -67701,7 +76409,7 @@ paths: Node for the specified Cribl product. responses: "200": - description: List of MasterWorkerEntry objects. + description: The requested MasterWorkerEntry object in a single-item list. content: application/json: schema: @@ -67709,8 +76417,15 @@ paths: "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "403": - description: Forbidden to access product because you don't have permissions + description: Not authorized or licensed to perform this action. "500": description: Unexpected server error. content: @@ -67750,12 +76465,20 @@ paths: schema: $ref: "#/components/schemas/CountedRestartResponse" "400": - description: Bad Request if the product is not "stream", "edge", or "outpost" + description: Failed validation or malformed input if the product is not + "stream", "edge", or "outpost" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "403": - description: Forbidden to access product because you don't have permissions + description: Not authorized or licensed to perform this action. "500": description: Unexpected server error. content: @@ -67797,10 +76520,19 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/CountedCriblLakeDataset" + oneOf: + - $ref: "#/components/schemas/CountedCriblLakeDataset" + - $ref: "#/components/schemas/PaginatedCriblLakeDataset" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -67838,6 +76570,12 @@ paths: schema: type: boolean description: Exclude DDSS format datasets from the response. + - name: excludeNetskope + in: query + required: false + schema: + type: boolean + description: Exclude Netskope format datasets from the response. - name: excludeDeleted in: query required: false @@ -67865,6 +76603,31 @@ paths: description: Set to true to include storage metrics for each Lake Dataset. Otherwise, false (default). Requires a Cribl Lake metrics license. + - name: offset + in: query + required: false + schema: + type: integer + minimum: 0 + description: Pagination offset + - name: limit + in: query + required: false + schema: + type: integer + minimum: 0 + description: Maximum number of items to return + x-speakeasy-pagination: + type: offsetLimit + inputs: + - name: offset + in: parameters + type: offset + - name: limit + in: parameters + type: limit + outputs: + results: $.items post: operationId: createCriblLakeDatasetByLakeId tags: @@ -67885,6 +76648,13 @@ paths: "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -67925,7 +76695,7 @@ paths: description: Get the specified Lake Dataset in the specified Lake (Cribl.Cloud only). responses: "200": - description: List of CriblLakeDataset objects. + description: The requested CriblLakeDataset object in a single-item list. content: application/json: schema: @@ -67933,6 +76703,13 @@ paths: "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -67982,6 +76759,13 @@ paths: "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -68035,6 +76819,13 @@ paths: "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -68068,14 +76859,26 @@ paths: description: Get a list of all Routes. responses: "200": - description: a list of Routes objects + description: List of Routing table objects. content: application/json: schema: $ref: "#/components/schemas/CountedRoutes" + examples: + RoutesResponseExamplesDefaultRoutingTable: + $ref: "#/components/examples/RoutesResponseExamplesDefaultRoutingTable" + RoutesResponseExamplesMultiRouteTable: + $ref: "#/components/examples/RoutesResponseExamplesMultiRouteTable" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -68095,14 +76898,29 @@ paths: description: Get the specified Routing table. responses: "200": - description: a list of Routes objects + description: The requested Routing table object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedRoutes" + examples: + RoutesResponseExamplesDefaultRoutingTable: + $ref: "#/components/examples/RoutesResponseExamplesDefaultRoutingTable" + RoutesResponseExamplesMultiRouteTable: + $ref: "#/components/examples/RoutesResponseExamplesMultiRouteTable" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). + "404": + description: Routing table not found. The specified id does not + match any stored Routing table. "500": description: Unexpected server error. content: @@ -68125,24 +76943,43 @@ 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: a list of Routes objects + description: The updated Routing table object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedRoutes" + examples: + RoutesResponseExamplesDefaultRoutingTable: + $ref: "#/components/examples/RoutesResponseExamplesDefaultRoutingTable" + RoutesResponseExamplesMultiRouteTable: + $ref: "#/components/examples/RoutesResponseExamplesMultiRouteTable" + "400": + description: Failed validation or malformed input, such as missing or invalid + parameters. "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). + "404": + description: Routing table not found. The specified id does not + match any stored Routing table. "500": description: Unexpected server error. content: @@ -68171,8 +77008,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 @@ -68186,14 +77023,32 @@ paths: description: Add a Route to the end of the specified Routing table. responses: "200": - description: The created Routes object in a single-item list. + description: The updated Routing table object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedRoutes" + examples: + RoutesResponseExamplesDefaultRoutingTable: + $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). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). + "404": + description: Routing table not found. The specified id does not + match any stored Routing table. "500": description: Unexpected server error. content: @@ -68245,10 +77100,18 @@ paths: schema: $ref: "#/components/schemas/CapturedEvent" "400": - description: No worker nodes are connected to this worker group. + description: Failed validation or malformed input — No worker nodes are + connected to this worker group. "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -68284,14 +77147,30 @@ paths: description: Get a list of all Sources. responses: "200": - description: a list of Source objects + description: List of Source objects. content: application/json: schema: - $ref: "#/components/schemas/CountedInputResponse" + oneOf: + - $ref: "#/components/schemas/CountedInputResponse" + - $ref: "#/components/schemas/PaginatedInputResponse" + examples: + InputResponseExamplesSyslogSource: + $ref: "#/components/examples/InputResponseExamplesSyslogSource" + InputResponseExamplesSplunkHecSource: + $ref: "#/components/examples/InputResponseExamplesSplunkHecSource" + InputResponseExamplesHttpSource: + $ref: "#/components/examples/InputResponseExamplesHttpSource" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -68307,6 +77186,31 @@ paths: description: Type of Source to include in the results. Each request can include only one type parameter; multiple parameters per request are not supported. + - name: offset + in: query + required: false + schema: + type: integer + minimum: 0 + description: Pagination offset + - name: limit + in: query + required: false + schema: + type: integer + minimum: 0 + description: Maximum number of items to return + x-speakeasy-pagination: + type: offsetLimit + inputs: + - name: offset + in: parameters + type: offset + - name: limit + in: parameters + type: limit + outputs: + results: $.items post: operationId: createInput x-speakeasy-group: sources @@ -68441,6 +77345,8 @@ paths: $ref: "#/components/examples/InputCreateExamplesSplunkSearch" InputCreateExamplesSqs: $ref: "#/components/examples/InputCreateExamplesSqs" + InputCreateExamplesSysdigHec: + $ref: "#/components/examples/InputCreateExamplesSysdigHec" InputCreateExamplesSyslog: $ref: "#/components/examples/InputCreateExamplesSyslog" InputCreateExamplesSystemMetrics: @@ -68451,6 +77357,8 @@ paths: $ref: "#/components/examples/InputCreateExamplesTcp" InputCreateExamplesTcpjson: $ref: "#/components/examples/InputCreateExamplesTcpjson" + InputCreateExamplesUpwindHec: + $ref: "#/components/examples/InputCreateExamplesUpwindHec" InputCreateExamplesWef: $ref: "#/components/examples/InputCreateExamplesWef" InputCreateExamplesWinEventLogs: @@ -68465,14 +77373,31 @@ paths: $ref: "#/components/examples/InputCreateExamplesZscalerHec" responses: "200": - description: the created Source object + description: The created Source object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedInputResponse" + examples: + InputResponseExamplesSyslogSource: + $ref: "#/components/examples/InputResponseExamplesSyslogSource" + InputResponseExamplesSplunkHecSource: + $ref: "#/components/examples/InputResponseExamplesSplunkHecSource" + InputResponseExamplesHttpSource: + $ref: "#/components/examples/InputResponseExamplesHttpSource" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). + "409": + description: Request conflicts with current resource state — source with the + same ID already exists. "500": description: Unexpected server error. content: @@ -68490,29 +77415,45 @@ paths: - sources summary: Get a Source description: Get the specified Source. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The id of the Source to get. responses: "200": - description: a Source object + description: The requested Source object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedInputResponse" + examples: + InputResponseExamplesSyslogSource: + $ref: "#/components/examples/InputResponseExamplesSyslogSource" + InputResponseExamplesSplunkHecSource: + $ref: "#/components/examples/InputResponseExamplesSplunkHecSource" + InputResponseExamplesHttpSource: + $ref: "#/components/examples/InputResponseExamplesHttpSource" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). + "404": + description: The requested resource does not exist — Source not found. "500": description: Unexpected server error. content: application/json: schema: $ref: "#/components/schemas/Error" + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The id of the Source to get. patch: operationId: updateInputById x-speakeasy-group: sources @@ -68531,13 +77472,6 @@ paths: function as expected.

Cribl preserves criblSourceProvenance when you omit it from the request body, and you cannot overwrite it through this endpoint. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The id of the Source to update. requestBody: description: Input object. required: true @@ -68660,6 +77594,8 @@ paths: $ref: "#/components/examples/UpdateInputExamplesSplunkSearch" UpdateInputExamplesSqs: $ref: "#/components/examples/UpdateInputExamplesSqs" + UpdateInputExamplesSysdigHec: + $ref: "#/components/examples/UpdateInputExamplesSysdigHec" UpdateInputExamplesSyslog: $ref: "#/components/examples/UpdateInputExamplesSyslog" UpdateInputExamplesSystemMetrics: @@ -68670,6 +77606,8 @@ paths: $ref: "#/components/examples/UpdateInputExamplesTcp" UpdateInputExamplesTcpjson: $ref: "#/components/examples/UpdateInputExamplesTcpjson" + UpdateInputExamplesUpwindHec: + $ref: "#/components/examples/UpdateInputExamplesUpwindHec" UpdateInputExamplesWef: $ref: "#/components/examples/UpdateInputExamplesWef" UpdateInputExamplesWinEventLogs: @@ -68684,20 +77622,41 @@ paths: $ref: "#/components/examples/UpdateInputExamplesZscalerHec" responses: "200": - description: the updated Source object + description: The updated Source object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedInputResponse" + examples: + InputResponseExamplesSyslogSource: + $ref: "#/components/examples/InputResponseExamplesSyslogSource" + InputResponseExamplesSplunkHecSource: + $ref: "#/components/examples/InputResponseExamplesSplunkHecSource" + InputResponseExamplesHttpSource: + $ref: "#/components/examples/InputResponseExamplesHttpSource" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: application/json: schema: $ref: "#/components/schemas/Error" + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The id of the Source to update. delete: operationId: deleteInputById x-speakeasy-group: sources @@ -68708,29 +77667,43 @@ paths: - sources summary: Delete a Source description: Delete the specified Source. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The id of the Source to delete. responses: "200": - description: the deleted Source object + description: The deleted Source object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedInputResponse" + examples: + InputResponseExamplesSyslogSource: + $ref: "#/components/examples/InputResponseExamplesSyslogSource" + InputResponseExamplesSplunkHecSource: + $ref: "#/components/examples/InputResponseExamplesSplunkHecSource" + InputResponseExamplesHttpSource: + $ref: "#/components/examples/InputResponseExamplesHttpSource" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: application/json: schema: $ref: "#/components/schemas/Error" + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The id of the Source to delete. /system/inputs/{id}/hectoken: post: operationId: createInputHecTokenById @@ -68745,14 +77718,27 @@ paths: Source. responses: "200": - description: the updated Splunk HEC Source with the new HEC token + description: The updated Splunk HEC Source with the new HEC token. content: application/json: schema: $ref: "#/components/schemas/CountedInputSplunkHec" + examples: + HecTokenResponseExamplesSplunkHecSource: + $ref: "#/components/examples/HecTokenResponseExamplesSplunkHecSource" + "400": + description: Failed validation or malformed input — Source not found, source + type is not splunk_hec, or request payload is invalid. "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -68792,14 +77778,27 @@ paths: Splunk HEC Source. responses: "200": - description: the updated HEC token + description: The updated Splunk HEC Source with the modified HEC token metadata. content: application/json: schema: $ref: "#/components/schemas/CountedInputSplunkHec" + examples: + HecTokenResponseExamplesSplunkHecSource: + $ref: "#/components/examples/HecTokenResponseExamplesSplunkHecSource" + "400": + description: Failed validation or malformed input — Source not found, source + type is not splunk_hec, or request payload is invalid. "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -68830,7 +77829,8 @@ paths: required: true schema: type: string - description: The HEC token value to update. + description: The HEC token value whose metadata you want to update. Must match + an existing token on the Source. /system/inputs/{id}/pq: get: operationId: getInputPqById @@ -68846,14 +77846,24 @@ paths: (PQ) for the specified Source. responses: "200": - description: information about the latest job to clear the PQ for the Source + description: The latest clear-PQ job information for the specified Source. content: application/json: schema: $ref: "#/components/schemas/CountedJobInfo" + examples: + PQStatusResponseExamplesCompletedJob: + $ref: "#/components/examples/PQStatusResponseExamplesCompletedJob" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -68885,9 +77895,19 @@ paths: application/json: schema: $ref: "#/components/schemas/CountedString" + examples: + ClearPQResponseExamplesClearPQJob: + $ref: "#/components/examples/ClearPQResponseExamplesClearPQJob" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -68914,14 +77934,30 @@ paths: description: Get a list of all Destinations. responses: "200": - description: a list of Destination objects + description: List of Destination objects. content: application/json: schema: - $ref: "#/components/schemas/CountedOutputResponse" + oneOf: + - $ref: "#/components/schemas/CountedOutputResponse" + - $ref: "#/components/schemas/PaginatedOutputResponse" + examples: + OutputResponseExamplesSplunkHecDestination: + $ref: "#/components/examples/OutputResponseExamplesSplunkHecDestination" + OutputResponseExamplesS3Destination: + $ref: "#/components/examples/OutputResponseExamplesS3Destination" + OutputResponseExamplesSyslogDestination: + $ref: "#/components/examples/OutputResponseExamplesSyslogDestination" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -68937,6 +77973,31 @@ paths: description: Type of Destination to include in the results. Each request can include only one type parameter; multiple parameters per request are not supported. + - name: offset + in: query + required: false + schema: + type: integer + minimum: 0 + description: Pagination offset + - name: limit + in: query + required: false + schema: + type: integer + minimum: 0 + description: Maximum number of items to return + x-speakeasy-pagination: + type: offsetLimit + inputs: + - name: offset + in: parameters + type: offset + - name: limit + in: parameters + type: limit + outputs: + results: $.items post: operationId: createOutput x-speakeasy-group: destinations @@ -68987,6 +78048,8 @@ paths: $ref: "#/components/examples/OutputCreateExamplesscalityS3" OutputCreateExamplesalibabaCloudS3: $ref: "#/components/examples/OutputCreateExamplesalibabaCloudS3" + OutputCreateExamplesibmCloudS3: + $ref: "#/components/examples/OutputCreateExamplesibmCloudS3" OutputCreateExamplesAzureBlob: $ref: "#/components/examples/OutputCreateExamplesAzureBlob" OutputCreateExamplesAzureDataExplorer: @@ -69049,8 +78112,12 @@ paths: $ref: "#/components/examples/OutputCreateExamplesWebhook" OutputCreateExamplesPrometheus: $ref: "#/components/examples/OutputCreateExamplesPrometheus" + OutputCreateExamplesAmazonManagedPrometheus: + $ref: "#/components/examples/OutputCreateExamplesAmazonManagedPrometheus" OutputCreateExamplesGooglePubsub: $ref: "#/components/examples/OutputCreateExamplesGooglePubsub" + OutputCreateExamplesGoogleBigQuery: + $ref: "#/components/examples/OutputCreateExamplesGoogleBigQuery" OutputCreateExamplesGoogleChronicle: $ref: "#/components/examples/OutputCreateExamplesGoogleChronicle" OutputCreateExamplesChronicle: @@ -69065,6 +78132,8 @@ paths: $ref: "#/components/examples/OutputCreateExamplesServiceNow" OutputCreateExamplesDynatraceOtlp: $ref: "#/components/examples/OutputCreateExamplesDynatraceOtlp" + OutputCreateExamplesGoogleCloudObservability: + $ref: "#/components/examples/OutputCreateExamplesGoogleCloudObservability" OutputCreateExamplesSentinelOneAiSiem: $ref: "#/components/examples/OutputCreateExamplesSentinelOneAiSiem" OutputCreateExamplesDataset: @@ -69103,6 +78172,8 @@ paths: $ref: "#/components/examples/OutputCreateExamplesClickHouse" OutputCreateExamplesLocalSearchStorage: $ref: "#/components/examples/OutputCreateExamplesLocalSearchStorage" + OutputCreateExamplesCustomerMetricsStorage: + $ref: "#/components/examples/OutputCreateExamplesCustomerMetricsStorage" OutputCreateExamplesXsiam: $ref: "#/components/examples/OutputCreateExamplesXsiam" OutputCreateExamplesNetflow: @@ -69113,14 +78184,31 @@ paths: $ref: "#/components/examples/OutputCreateExamplesDatabricks" responses: "200": - description: the created Destination object + description: The created Destination object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedOutputResponse" + examples: + OutputResponseExamplesSplunkHecDestination: + $ref: "#/components/examples/OutputResponseExamplesSplunkHecDestination" + OutputResponseExamplesS3Destination: + $ref: "#/components/examples/OutputResponseExamplesS3Destination" + OutputResponseExamplesSyslogDestination: + $ref: "#/components/examples/OutputResponseExamplesSyslogDestination" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). + "409": + description: Request conflicts with current resource state — Destination with + the specified ID already exists. "500": description: Unexpected server error. content: @@ -69138,29 +78226,45 @@ paths: - destinations summary: Get a Destination description: Get the specified Destination. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The id of the Destination to get. responses: "200": - description: a Destination object + description: The requested Destination object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedOutputResponse" + examples: + OutputResponseExamplesSplunkHecDestination: + $ref: "#/components/examples/OutputResponseExamplesSplunkHecDestination" + OutputResponseExamplesS3Destination: + $ref: "#/components/examples/OutputResponseExamplesS3Destination" + OutputResponseExamplesSyslogDestination: + $ref: "#/components/examples/OutputResponseExamplesSyslogDestination" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). + "404": + description: The requested resource does not exist. "500": description: Unexpected server error. content: application/json: schema: $ref: "#/components/schemas/Error" + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The id of the Destination to get. patch: operationId: updateOutputById x-speakeasy-group: destinations @@ -69177,13 +78281,6 @@ paths: configuration in your request body is correct before sending the request. If the configuration is incorrect, the updated Destination might not function as expected. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The id of the Destination to update. requestBody: description: Output object. required: true @@ -69222,6 +78319,8 @@ paths: $ref: "#/components/examples/UpdateOutputExamplesscalityS3" UpdateOutputExamplesalibabaCloudS3: $ref: "#/components/examples/UpdateOutputExamplesalibabaCloudS3" + UpdateOutputExamplesibmCloudS3: + $ref: "#/components/examples/UpdateOutputExamplesibmCloudS3" UpdateOutputExamplesAzureBlob: $ref: "#/components/examples/UpdateOutputExamplesAzureBlob" UpdateOutputExamplesAzureDataExplorer: @@ -69284,8 +78383,12 @@ paths: $ref: "#/components/examples/UpdateOutputExamplesWebhook" UpdateOutputExamplesPrometheus: $ref: "#/components/examples/UpdateOutputExamplesPrometheus" + UpdateOutputExamplesAmazonManagedPrometheus: + $ref: "#/components/examples/UpdateOutputExamplesAmazonManagedPrometheus" UpdateOutputExamplesGooglePubsub: $ref: "#/components/examples/UpdateOutputExamplesGooglePubsub" + UpdateOutputExamplesGoogleBigQuery: + $ref: "#/components/examples/UpdateOutputExamplesGoogleBigQuery" UpdateOutputExamplesGoogleChronicle: $ref: "#/components/examples/UpdateOutputExamplesGoogleChronicle" UpdateOutputExamplesChronicle: @@ -69300,6 +78403,8 @@ paths: $ref: "#/components/examples/UpdateOutputExamplesServiceNow" UpdateOutputExamplesDynatraceOtlp: $ref: "#/components/examples/UpdateOutputExamplesDynatraceOtlp" + UpdateOutputExamplesGoogleCloudObservability: + $ref: "#/components/examples/UpdateOutputExamplesGoogleCloudObservability" UpdateOutputExamplesSentinelOneAiSiem: $ref: "#/components/examples/UpdateOutputExamplesSentinelOneAiSiem" UpdateOutputExamplesDataset: @@ -69338,6 +78443,8 @@ paths: $ref: "#/components/examples/UpdateOutputExamplesClickHouse" UpdateOutputExamplesLocalSearchStorage: $ref: "#/components/examples/UpdateOutputExamplesLocalSearchStorage" + UpdateOutputExamplesCustomerMetricsStorage: + $ref: "#/components/examples/UpdateOutputExamplesCustomerMetricsStorage" UpdateOutputExamplesXsiam: $ref: "#/components/examples/UpdateOutputExamplesXsiam" UpdateOutputExamplesNetflow: @@ -69348,20 +78455,43 @@ paths: $ref: "#/components/examples/UpdateOutputExamplesDatabricks" responses: "200": - description: the updated Destination object + description: The updated Destination object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedOutputResponse" + examples: + OutputResponseExamplesSplunkHecDestination: + $ref: "#/components/examples/OutputResponseExamplesSplunkHecDestination" + OutputResponseExamplesS3Destination: + $ref: "#/components/examples/OutputResponseExamplesS3Destination" + OutputResponseExamplesSyslogDestination: + $ref: "#/components/examples/OutputResponseExamplesSyslogDestination" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). + "404": + description: The requested resource does not exist — Destination not found. "500": description: Unexpected server error. content: application/json: schema: $ref: "#/components/schemas/Error" + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The id of the Destination to update. delete: operationId: deleteOutputById x-speakeasy-group: destinations @@ -69372,29 +78502,48 @@ paths: - destinations summary: Delete a Destination description: Delete the specified Destination. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The id of the Destination to delete. responses: "200": - description: the deleted Destination object + description: The deleted Destination object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedOutputResponse" + examples: + OutputResponseExamplesSplunkHecDestination: + $ref: "#/components/examples/OutputResponseExamplesSplunkHecDestination" + OutputResponseExamplesS3Destination: + $ref: "#/components/examples/OutputResponseExamplesS3Destination" + OutputResponseExamplesSyslogDestination: + $ref: "#/components/examples/OutputResponseExamplesSyslogDestination" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). + "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: application/json: schema: $ref: "#/components/schemas/Error" + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The id of the Destination to delete. /system/outputs/{id}/pq: delete: operationId: deleteOutputPqById @@ -69408,15 +78557,24 @@ paths: description: Clear the persistent queue (PQ) for the specified Destination. responses: "201": - description: A list of job ids for the background job that clears the persistent - queue + description: The job ID for the background job that clears the persistent queue. content: application/json: schema: $ref: "#/components/schemas/CountedString" + examples: + OutputClearPQResponseExamplesClearPQJobId: + $ref: "#/components/examples/OutputClearPQResponseExamplesClearPQJobId" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -69444,7 +78602,7 @@ paths: (PQ) for the specified Destination. responses: "200": - description: information about the latest PQ clear job for the Destination + description: Information about the latest job to clear the PQ for the Destination. content: application/json: schema: @@ -69452,6 +78610,13 @@ paths: "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -69479,16 +78644,27 @@ paths: configuration or test connectivity. responses: "200": - description: Sample event data for the Destination + description: Sample event data for the Destination. content: application/json: schema: $ref: "#/components/schemas/CountedOutputSamplesResponse" + examples: + OutputSamplesResponseExamplesSampleEvents: + $ref: "#/components/examples/OutputSamplesResponseExamplesSampleEvents" "400": - description: Bad Request — invalid request or Destination error + description: Failed validation or malformed input — invalid request or + Destination error. "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -69516,16 +78692,28 @@ paths: configuration or test connectivity. responses: "200": - description: Destination test result + description: Destination test result. content: application/json: schema: $ref: "#/components/schemas/CountedOutputTestResponse" + examples: + OutputTestResponseExamplesSuccessfulTest: + $ref: "#/components/examples/OutputTestResponseExamplesSuccessfulTest" + OutputTestResponseExamplesFailedTest: + $ref: "#/components/examples/OutputTestResponseExamplesFailedTest" "400": - description: Bad Request — missing or invalid events + description: Failed validation or malformed input — missing or invalid events. "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -69561,17 +78749,27 @@ paths: x-cribl-internal: false x-cribl-availability: both summary: Get system settings - description: Get Cribl system settings. + description: Get the current Cribl system settings. responses: "200": - description: List of SystemSettingsConf objects. + description: The current system settings. content: application/json: schema: $ref: "#/components/schemas/CountedSystemSettingsConf" + examples: + GetSystemSettingsConfExamplesDefault: + $ref: "#/components/examples/GetSystemSettingsConfExamplesDefault" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -69587,17 +78785,40 @@ paths: x-cribl-internal: false x-cribl-availability: both summary: Update system settings - description: Update Cribl system settings. + description: Update the specified Cribl system settings.

Provide a + complete representation of the system settings that you want to update + in the request body. This endpoint does not support partial updates. + Cribl removes any omitted fields when updating the system + settings.

Confirm that the configuration in your request body + is correct before sending the request. If the configuration is + incorrect, the updated system settings might not function as expected. responses: "200": - description: The updated SystemSettingsConf object in a single-item list. + description: The updated system settings. content: application/json: schema: $ref: "#/components/schemas/CountedSystemSettingsConf" + examples: + UpdateSystemSettingsResponseExamplesUpdateApiSettings: + $ref: "#/components/examples/UpdateSystemSettingsResponseExamplesUpdateApiSetti\ + ngs" + "400": + description: Failed validation or malformed input, such as missing or invalid + parameters. "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). + "403": + description: Not authorized to perform this action, or the requested change is + not permitted in this deployment. "500": description: Unexpected server error. content: @@ -69624,19 +78845,37 @@ paths: x-cribl-internal: false x-cribl-availability: both summary: Restart the Cribl server - description: Restart the Cribl server. Useful for applying configuration changes - that require a full process restart, such as changes to system-level - settings that cannot be applied by reloading. + description: Restart the Cribl server.

This operation requires + system.restart to be set to api in + cribl.yml. If this setting is not configured, the request + returns a 403 error.

Restarting the server causes + a brief period of downtime while the process stops and restarts. All + in-flight events are drained before the process exits. Use POST + /system/settings/reload to apply configuration changes without a + full restart. responses: "200": - description: Success + description: Result of the restart operation. content: application/json: schema: $ref: "#/components/schemas/CountedSystemRestartResponse" + examples: + RestartSystemExamplesDefault: + $ref: "#/components/examples/RestartSystemExamplesDefault" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). + "403": + description: Restart from the API is disabled. Set system.restart + to api in cribl.yml to enable it. "500": description: Unexpected server error. content: @@ -69657,16 +78896,31 @@ paths: Sources in the Worker Group or Edge Fleet. responses: "200": - description: a list of Source status objects + description: List of Source status objects. content: application/json: schema: - $ref: "#/components/schemas/CountedInputStatus" + oneOf: + - $ref: "#/components/schemas/CountedInputStatus" + - $ref: "#/components/schemas/PaginatedInputStatus" + examples: + InputStatusResponseExamplesGreenSource: + $ref: "#/components/examples/InputStatusResponseExamplesGreenSource" + InputStatusResponseExamplesYellowSource: + $ref: "#/components/examples/InputStatusResponseExamplesYellowSource" "400": - description: Bad Request + description: Failed validation or malformed input, such as missing or invalid + parameters. "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -69728,14 +78982,26 @@ paths: description: Get the status and optional metrics for the specified Source. responses: "200": - description: a Source status object + description: The requested Source status object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedInputStatus" + examples: + InputStatusResponseExamplesGreenSource: + $ref: "#/components/examples/InputStatusResponseExamplesGreenSource" + InputStatusResponseExamplesYellowSource: + $ref: "#/components/examples/InputStatusResponseExamplesYellowSource" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -69777,16 +79043,31 @@ paths: Destinations in the Worker Group or Edge Fleet. responses: "200": - description: a list of Destination status objects + description: List of Destination status objects. content: application/json: schema: - $ref: "#/components/schemas/CountedOutputStatus" + oneOf: + - $ref: "#/components/schemas/CountedOutputStatus" + - $ref: "#/components/schemas/PaginatedOutputStatus" + examples: + OutputStatusResponseExamplesGreenDestination: + $ref: "#/components/examples/OutputStatusResponseExamplesGreenDestination" + OutputStatusResponseExamplesYellowDestination: + $ref: "#/components/examples/OutputStatusResponseExamplesYellowDestination" "400": - description: Bad Request + description: Failed validation or malformed input, such as missing or invalid + parameters. "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -69848,14 +79129,26 @@ paths: description: Get the status and optional metrics for the specified Destination. responses: "200": - description: Destination status object + description: The requested Destination status object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedOutputStatus" + examples: + OutputStatusResponseExamplesGreenDestination: + $ref: "#/components/examples/OutputStatusResponseExamplesGreenDestination" + OutputStatusResponseExamplesYellowDestination: + $ref: "#/components/examples/OutputStatusResponseExamplesYellowDestination" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -69893,19 +79186,31 @@ paths: x-cribl-internal: false x-cribl-availability: both summary: List the commit history - description: List the commit history.

Analogous to git - log for the Cribl configuration, allowing you to audit and review - changes over time. + description: List the commit history.

Analogous to git log + for the Cribl configuration, allowing you to audit and review changes + over time. responses: "200": description: List of GitLogResult objects. content: application/json: schema: - $ref: "#/components/schemas/CountedGitLogResult" + oneOf: + - $ref: "#/components/schemas/CountedGitLogResult" + - $ref: "#/components/schemas/PaginatedGitLogResult" + examples: + VersionListResponseExamplesListCommitHistory: + $ref: "#/components/examples/VersionListResponseExamplesListCommitHistory" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -69919,6 +79224,31 @@ paths: schema: type: integer description: Maximum number of commits to return in the response for this request. + - name: offset + in: query + required: false + schema: + type: integer + minimum: 0 + description: Pagination offset + - name: limit + in: query + required: false + schema: + type: integer + minimum: 0 + description: Maximum number of items to return + x-speakeasy-pagination: + type: offsetLimit + inputs: + - name: offset + in: parameters + type: offset + - name: limit + in: parameters + type: limit + outputs: + results: $.items /version/branch: get: operationId: getVersionBranch @@ -69933,14 +79263,24 @@ paths: configuration. responses: "200": - description: List of BranchInfo objects. + description: The requested BranchInfo object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedBranchInfo" + examples: + VersionBranchResponseExamplesListBranches: + $ref: "#/components/examples/VersionBranchResponseExamplesListBranches" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -69959,7 +79299,7 @@ paths: summary: Create a new commit for pending changes to the Cribl configuration description: Create a new commit for pending changes to the Cribl configuration. Any merge conflicts indicated in the response must be resolved using - Git.

To commit only a subset of configuration changes, specify + Git.

To commit only a subset of configuration changes, specify the files to include in the commit in the files array. responses: "200": @@ -69968,9 +79308,19 @@ paths: application/json: schema: $ref: "#/components/schemas/CountedGitCommitSummary" + examples: + VersionCommitResponseExamplesCommitCreated: + $ref: "#/components/examples/VersionCommitResponseExamplesCommitCreated" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -70003,14 +79353,24 @@ paths: the latest commit (HEAD). responses: "200": - description: List of GitCountResult objects. + description: The requested GitCountResult object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedGitCountResult" + examples: + VersionCountResponseExamplesFileCount: + $ref: "#/components/examples/VersionCountResponseExamplesFileCount" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -70044,9 +79404,19 @@ paths: application/json: schema: $ref: "#/components/schemas/CurrentBranchResult" + examples: + VersionCurrentBranchResponseExamplesCurrentBranch: + $ref: "#/components/examples/VersionCurrentBranchResponseExamplesCurrentBranch" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -70066,14 +79436,24 @@ paths: description: Get the diff for a commit. Default is the latest commit (HEAD). responses: "200": - description: List of GitDiffResult objects. + description: The requested GitDiffResult object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedGitDiffResult" + examples: + VersionDiffResponseExamplesDiffResult: + $ref: "#/components/examples/VersionDiffResponseExamplesDiffResult" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -70115,14 +79495,24 @@ paths: Default is the latest commit (HEAD). responses: "200": - description: List of GitFilesResponse objects. + description: The requested GitFilesResponse object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedGitFilesResponse" + examples: + VersionFilesResponseExamplesChangedFiles: + $ref: "#/components/examples/VersionFilesResponseExamplesChangedFiles" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -70150,14 +79540,24 @@ paths: for the Cribl configuration. responses: "200": - description: List of GitInfo objects. + description: The requested GitInfo object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedGitInfo" + examples: + VersionInfoResponseExamplesGitInfo: + $ref: "#/components/examples/VersionInfoResponseExamplesGitInfo" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -70175,7 +79575,9 @@ paths: x-cribl-availability: both summary: Push local commits to the remote repository description: Push all local commits from the local repository to the remote - repository. + repository.

Requires at least one local commit that has not + been pushed. Returns an error if the remote repository cannot be reached + or the push is rejected. responses: "200": description: The created string object in a single-item list. @@ -70183,9 +79585,19 @@ paths: application/json: schema: $ref: "#/components/schemas/CountedString" + examples: + VersionPushResponseExamplesPushResult: + $ref: "#/components/examples/VersionPushResponseExamplesPushResult" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -70202,7 +79614,10 @@ paths: x-cribl-internal: false x-cribl-availability: both summary: Revert a commit in the local repository - description: Revert a commit in the local repository. + description: Revert a commit in the local repository by creating a new commit + that undoes the changes introduced by the specified commit.

Use + the force field to proceed even when the working directory + is not clean. responses: "200": description: The created GitRevertResult object in a single-item list. @@ -70210,9 +79625,19 @@ paths: application/json: schema: $ref: "#/components/schemas/CountedGitRevertResult" + examples: + VersionRevertResponseExamplesRevertResult: + $ref: "#/components/examples/VersionRevertResponseExamplesRevertResult" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -70245,14 +79670,24 @@ paths: commit (HEAD). responses: "200": - description: List of GitShowResult objects. + description: The requested GitShowResult object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedGitShowResult" + examples: + VersionShowResponseExamplesShowCommit: + $ref: "#/components/examples/VersionShowResponseExamplesShowCommit" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -70296,14 +79731,24 @@ paths: remote tracking information. responses: "200": - description: List of GitStatusResult objects. + description: The requested GitStatusResult object in a single-item list. content: application/json: schema: $ref: "#/components/schemas/CountedGitStatusResult" + examples: + VersionStatusResponseExamplesWorkingTreeStatus: + $ref: "#/components/examples/VersionStatusResponseExamplesWorkingTreeStatus" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: @@ -70322,7 +79767,10 @@ paths: summary: Discard uncommitted (staged) changes description: Discard all uncommitted (staged) configuration changes, resetting the working directory to the last committed state. Use only if you are - certain that you do not need to preserve your local changes. + certain that you do not need to preserve your local + changes.

When applied globally (no group), triggers a Cribl + restart to reload the reverted configuration. Returns false + if the working directory is already clean. responses: "200": description: The created boolean object in a single-item list. @@ -70330,9 +79778,19 @@ paths: application/json: schema: $ref: "#/components/schemas/CountedBoolean" + examples: + VersionUndoResponseExamplesUndoResult: + $ref: "#/components/examples/VersionUndoResponseExamplesUndoResult" "401": description: Authentication failed (missing or invalid credentials or Bearer token). + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + status: error + message: Authentication failed (missing or invalid credentials or Bearer token). "500": description: Unexpected server error. content: diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 1a0982883..6c6e79c95 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,23 +1,23 @@ -speakeasyVersion: 1.770.0 +speakeasyVersion: 1.787.0 sources: Cribl API Reference: sourceNamespace: cribl-api-reference - sourceRevisionDigest: sha256:cfa72118a76d401895322a1e4612851aa0fbe3715dc817b2e1b785d82eccf829 - sourceBlobDigest: sha256:12201c0cae0c317e6a4792c15326b78b6c9236462689a95d843e3145e9e574f2 + sourceRevisionDigest: sha256:c0d3ae34879128c7345e4a4468d65aee7f75d38ffe69fe929aee3ad61863c8e9 + sourceBlobDigest: sha256:f9c7fadfac521ed22c95444753a0bdf3d34ca48fbadf9a7ffadf47aafecdbf1d tags: - latest - - 4.18.2-alpha.1780495409912-b2cc4b4f + - 4.19.0-alpha.1782982389482-669ec7f1 targets: cribl-control-plane: source: Cribl API Reference sourceNamespace: cribl-api-reference - sourceRevisionDigest: sha256:cfa72118a76d401895322a1e4612851aa0fbe3715dc817b2e1b785d82eccf829 - sourceBlobDigest: sha256:12201c0cae0c317e6a4792c15326b78b6c9236462689a95d843e3145e9e574f2 + sourceRevisionDigest: sha256:c0d3ae34879128c7345e4a4468d65aee7f75d38ffe69fe929aee3ad61863c8e9 + sourceBlobDigest: sha256:f9c7fadfac521ed22c95444753a0bdf3d34ca48fbadf9a7ffadf47aafecdbf1d codeSamplesNamespace: cribl-api-reference-python-code-samples - codeSamplesRevisionDigest: sha256:fb86e79f946b26248a6cf5ac92c44a2d58657b924e77c60333c25dd80c90e85e + codeSamplesRevisionDigest: sha256:53c44492f76e3b33fe6c19206447b31a6f155581fb4363fa6b8e5ddbcf10b71a workflow: workflowVersion: 1.0.0 - speakeasyVersion: 1.770.0 + speakeasyVersion: 1.787.0 sources: Cribl API Reference: inputs: diff --git a/README-PYPI.md b/README-PYPI.md index 111df3f8d..07a72843b 100644 --- a/README-PYPI.md +++ b/README-PYPI.md @@ -240,8 +240,8 @@ The [On-Prem Authentication Example](https://github.com/criblio/cribl_control_pl ### [DatabaseConnections](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/databaseconnections/README.md) -* [list](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/databaseconnections/README.md#list) - List Database Connections -* [create](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/databaseconnections/README.md#create) - Create Database Connection +* [list](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/databaseconnections/README.md#list) - List all Database Connections +* [create](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/databaseconnections/README.md#create) - Create a Database Connection * [get](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/databaseconnections/README.md#get) - Get a Database Connection * [update](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/databaseconnections/README.md#update) - Update a Database Connection * [delete](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/databaseconnections/README.md#delete) - Delete a Database Connection @@ -295,9 +295,9 @@ The [On-Prem Authentication Example](https://github.com/criblio/cribl_control_pl * [get](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/configsversions/README.md#get) - Get the configuration version for a Worker Group, Outpost Group, or Edge Fleet -### [Health](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/health/README.md) +### [Health](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/healthsdk/README.md) -* [get](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/health/README.md#get) - Get the health status of the server +* [get](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/healthsdk/README.md#get) - Get the health status of the server ### [Lakes.Datasets](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/datasets/README.md) @@ -316,7 +316,7 @@ The [On-Prem Authentication Example](https://github.com/criblio/cribl_control_pl #### [Nodes.Summaries](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/summaries/README.md) -* [get](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/summaries/README.md#get) - Get a summary of the deployment for a specific product. +* [get](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/summaries/README.md#get) - Get a summary of the deployment for a Cribl product ### [Packs](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/packs/README.md) @@ -362,7 +362,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) @@ -400,7 +400,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) @@ -454,10 +454,10 @@ The [On-Prem Authentication Example](https://github.com/criblio/cribl_control_pl * [get](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/commits/README.md#get) - Get the diff and log message for a commit * [undo](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/commits/README.md#undo) - Discard uncommitted (staged) changes -#### [Versions.Commits.Files](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/files/README.md) +#### [Versions.Commits.Files](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/commitsfiles/README.md) -* [count](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/files/README.md#count) - Get a count of files that changed since a commit -* [list](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/files/README.md#list) - Get the names and statuses of files that changed since a commit +* [count](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/commitsfiles/README.md#count) - Get a count of files that changed since a commit +* [list](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/commitsfiles/README.md#list) - Get the names and statuses of files that changed since a commit ### [Versions.Configs](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/versionsconfigs/README.md) @@ -528,7 +528,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.packs.sources.statuses.list(pack="", metrics=True, type_=False) + res = ccp_client.functions.list() while res is not None: # Handle items diff --git a/README.md b/README.md index d9a707ea8..55e4deba3 100644 --- a/README.md +++ b/README.md @@ -240,8 +240,8 @@ The [On-Prem Authentication Example](https://github.com/criblio/cribl_control_pl ### [DatabaseConnections](docs/sdks/databaseconnections/README.md) -* [list](docs/sdks/databaseconnections/README.md#list) - List Database Connections -* [create](docs/sdks/databaseconnections/README.md#create) - Create Database Connection +* [list](docs/sdks/databaseconnections/README.md#list) - List all Database Connections +* [create](docs/sdks/databaseconnections/README.md#create) - Create a Database Connection * [get](docs/sdks/databaseconnections/README.md#get) - Get a Database Connection * [update](docs/sdks/databaseconnections/README.md#update) - Update a Database Connection * [delete](docs/sdks/databaseconnections/README.md#delete) - Delete a Database Connection @@ -295,9 +295,9 @@ The [On-Prem Authentication Example](https://github.com/criblio/cribl_control_pl * [get](docs/sdks/configsversions/README.md#get) - Get the configuration version for a Worker Group, Outpost Group, or Edge Fleet -### [Health](docs/sdks/health/README.md) +### [Health](docs/sdks/healthsdk/README.md) -* [get](docs/sdks/health/README.md#get) - Get the health status of the server +* [get](docs/sdks/healthsdk/README.md#get) - Get the health status of the server ### [Lakes.Datasets](docs/sdks/datasets/README.md) @@ -316,7 +316,7 @@ The [On-Prem Authentication Example](https://github.com/criblio/cribl_control_pl #### [Nodes.Summaries](docs/sdks/summaries/README.md) -* [get](docs/sdks/summaries/README.md#get) - Get a summary of the deployment for a specific product. +* [get](docs/sdks/summaries/README.md#get) - Get a summary of the deployment for a Cribl product ### [Packs](docs/sdks/packs/README.md) @@ -362,7 +362,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) @@ -400,7 +400,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) @@ -454,10 +454,10 @@ The [On-Prem Authentication Example](https://github.com/criblio/cribl_control_pl * [get](docs/sdks/commits/README.md#get) - Get the diff and log message for a commit * [undo](docs/sdks/commits/README.md#undo) - Discard uncommitted (staged) changes -#### [Versions.Commits.Files](docs/sdks/files/README.md) +#### [Versions.Commits.Files](docs/sdks/commitsfiles/README.md) -* [count](docs/sdks/files/README.md#count) - Get a count of files that changed since a commit -* [list](docs/sdks/files/README.md#list) - Get the names and statuses of files that changed since a commit +* [count](docs/sdks/commitsfiles/README.md#count) - Get a count of files that changed since a commit +* [list](docs/sdks/commitsfiles/README.md#list) - Get the names and statuses of files that changed since a commit ### [Versions.Configs](docs/sdks/versionsconfigs/README.md) @@ -528,7 +528,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.packs.sources.statuses.list(pack="", metrics=True, type_=False) + res = ccp_client.functions.list() while res is not None: # Handle items diff --git a/RELEASES.md b/RELEASES.md index 97cbe9a15..892413886 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1568,4 +1568,14 @@ Based on: ### Generated - [python v0.9.0rc4] . ### Releases -- [PyPI v0.9.0rc4] https://pypi.org/project/cribl-control-plane/0.9.0rc4 - . \ No newline at end of file +- [PyPI v0.9.0rc4] https://pypi.org/project/cribl-control-plane/0.9.0rc4 - . + +## 2026-07-02 09:01:12 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.787.0 (2.914.0) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v0.10.0rc1] . +### Releases +- [PyPI v0.10.0rc1] https://pypi.org/project/cribl-control-plane/0.10.0rc1 - . \ No newline at end of file diff --git a/docs/errors/error.md b/docs/errors/error.md index 12a8838e6..d6d15d976 100644 --- a/docs/errors/error.md +++ b/docs/errors/error.md @@ -3,6 +3,8 @@ ## Fields -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `message` | *Optional[str]* | :heavy_minus_sign: | Error message | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `status` | *Literal["error"]* | :heavy_check_mark: | Always "error" for API error responses. | +| `message` | *str* | :heavy_check_mark: | Human-readable message describing the error. | +| `details` | *Optional[Any]* | :heavy_minus_sign: | Optional structured details about the error (e.g. validation failures). | \ 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/errors/restapijsonerror.md b/docs/errors/restapijsonerror.md new file mode 100644 index 000000000..3440597d2 --- /dev/null +++ b/docs/errors/restapijsonerror.md @@ -0,0 +1,12 @@ +# RestAPIJSONError + +JSON body returned for many REST failures that use RESTEndpoint.sendError (and similar handlers). + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `details` | Dict[str, *Any*] | :heavy_minus_sign: | Optional structured details about the error (e.g. validation failures). | +| `message` | *str* | :heavy_check_mark: | Human-readable message or serialized validation details for the error. | +| `status` | *Literal["error"]* | :heavy_check_mark: | Always error for API error responses. | \ 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/addhectokenrequest.md b/docs/models/addhectokenrequest.md index 0388e111a..a6244795d 100644 --- a/docs/models/addhectokenrequest.md +++ b/docs/models/addhectokenrequest.md @@ -8,5 +8,5 @@ | `allowed_indexes_at_token` | List[*str*] | :heavy_minus_sign: | List of index names that the HEC token is allowed to write to. | | `description` | *Optional[str]* | :heavy_minus_sign: | Brief description for the HEC token. | | `enabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the HEC token is enabled. Otherwise, false. | -| `metadata` | List[[models.EventBreakerRuleFields](../models/eventbreakerrulefields.md)] | :heavy_minus_sign: | Array of key-value pairs to associate with the HEC token for tagging, categorization, or providing additional context. Each item in the array is an object with a name and a value. | +| `metadata` | List[[models.MetadataConfAddHecTokenRequest](../models/metadataconfaddhectokenrequest.md)] | :heavy_minus_sign: | Array of key-value pairs to associate with the HEC token for tagging, categorization, or providing additional context. Each item in the array is an object with a name and a value. | | `token` | *str* | :heavy_check_mark: | The HEC token value to add to the Splunk HEC Source. | \ No newline at end of file diff --git a/docs/models/aggregatedinputoutputstatusbody.md b/docs/models/aggregatedinputoutputstatusbody.md index d7cef5386..c18db3d3e 100644 --- a/docs/models/aggregatedinputoutputstatusbody.md +++ b/docs/models/aggregatedinputoutputstatusbody.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `error` | [Optional[models.StatusError]](../models/statuserror.md) | :heavy_minus_sign: | N/A | -| `health` | [models.HealthStringType](../models/healthstringtype.md) | :heavy_check_mark: | N/A | +| `health` | [models.HealthOptionsStatus](../models/healthoptionsstatus.md) | :heavy_check_mark: | Overall health status of the Source or Destination. | | `health_counts` | [models.HealthCountType](../models/healthcounttype.md) | :heavy_check_mark: | N/A | | `metrics` | Dict[str, *Any*] | :heavy_minus_sign: | Metrics data for the Source or Destination, including base metrics, aggregated across all Worker Processes. For load-balanced Destinations, includes item-level metrics. | | `pq` | [Optional[models.AggregatedPQStatus]](../models/aggregatedpqstatus.md) | :heavy_minus_sign: | N/A | -| `timestamp` | *float* | :heavy_check_mark: | Timestamp (in Unix time) when the status was last updated. | \ No newline at end of file +| `timestamp` | *int* | :heavy_check_mark: | Timestamp (in Unix time) when the status was last updated. | \ No newline at end of file diff --git a/docs/models/aggregatedpqstatus.md b/docs/models/aggregatedpqstatus.md index df1f4dc3b..566568635 100644 --- a/docs/models/aggregatedpqstatus.md +++ b/docs/models/aggregatedpqstatus.md @@ -6,6 +6,6 @@ | Field | Type | Required | Description | | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | | `error` | [Optional[models.StatusError]](../models/statuserror.md) | :heavy_minus_sign: | N/A | -| `health` | [models.HealthStringType](../models/healthstringtype.md) | :heavy_check_mark: | N/A | +| `health` | [models.Health](../models/health.md) | :heavy_check_mark: | Health status of the persistent queue. | | `health_counts` | [models.HealthCountType](../models/healthcounttype.md) | :heavy_check_mark: | N/A | -| `timestamp` | *float* | :heavy_check_mark: | Timestamp (in Unix time) when the persistent queue status was last updated. | \ No newline at end of file +| `timestamp` | *int* | :heavy_check_mark: | Timestamp (in Unix time) when the persistent queue status was last updated. | \ No newline at end of file diff --git a/docs/models/apitypesystemsettingsconf.md b/docs/models/apitypesystemsettingsconf.md index f9beb28da..220ca1ace 100644 --- a/docs/models/apitypesystemsettingsconf.md +++ b/docs/models/apitypesystemsettingsconf.md @@ -1,22 +1,24 @@ # APITypeSystemSettingsConf +API server configuration for the Cribl instance. + ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | -| `base_url` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disable_api_cache` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `disabled` | *bool* | :heavy_check_mark: | N/A | -| `headers` | Dict[str, *str*] | :heavy_minus_sign: | N/A | -| `host` | *str* | :heavy_check_mark: | N/A | -| `idle_session_ttl` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `listen_on_port` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `login_rate_limit` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `port` | *float* | :heavy_check_mark: | N/A | -| `protocol` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `scripts` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `sensitive_fields` | List[*str*] | :heavy_minus_sign: | N/A | -| `ssl` | [Optional[models.SslTypeSystemSettingsConfAPI]](../models/ssltypesystemsettingsconfapi.md) | :heavy_minus_sign: | N/A | -| `sso_rate_limit` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `worker_remote_access` | *Optional[bool]* | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | +| `base_url` | *Optional[str]* | :heavy_minus_sign: | Base URL for the API server. Used when the server is behind a reverse proxy. | +| `disable_api_cache` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the API response cache. Otherwise, false. | +| `disabled` | *bool* | :heavy_check_mark: | If true, the API server is disabled. Otherwise, false. | +| `headers` | Dict[str, *str*] | :heavy_minus_sign: | Custom HTTP response headers to include in every API response. | +| `host` | *str* | :heavy_check_mark: | Hostname or IP address the API server listens on. | +| `idle_session_ttl` | *Optional[int]* | :heavy_minus_sign: | Idle session timeout in seconds. Sessions are invalidated after the specified seconds of inactivity. | +| `listen_on_port` | *Optional[bool]* | :heavy_minus_sign: | If true, bind to the configured port as the server listen port. Otherwise, false. | +| `login_rate_limit` | *Optional[str]* | :heavy_minus_sign: | Rate limit for login attempts. Value is a string such as 100/min. | +| `port` | *int* | :heavy_check_mark: | Port number the API server listens on. | +| `protocol` | *Optional[str]* | :heavy_minus_sign: | API protocol: http or https. | +| `scripts` | *Optional[bool]* | :heavy_minus_sign: | If true, enable JavaScript scripting support in the API. Otherwise, false. | +| `sensitive_fields` | List[*str*] | :heavy_minus_sign: | List of field names whose values are redacted in API responses and logs. | +| `ssl` | [Optional[models.SslTypeSystemSettingsConfAPI]](../models/ssltypesystemsettingsconfapi.md) | :heavy_minus_sign: | TLS configuration for the API server. | +| `sso_rate_limit` | *Optional[str]* | :heavy_minus_sign: | Rate limit for SSO authentication attempts. Value is a string such as 100/min. | +| `worker_remote_access` | *Optional[bool]* | :heavy_minus_sign: | If true, enable remote access (teleporting) to Worker Processes via the API. Otherwise, false. | \ No newline at end of file diff --git a/docs/models/appstypesystemsettingsconf.md b/docs/models/appstypesystemsettingsconf.md index af349e145..dc064a3de 100644 --- a/docs/models/appstypesystemsettingsconf.md +++ b/docs/models/appstypesystemsettingsconf.md @@ -1,8 +1,10 @@ # AppsTypeSystemSettingsConf +App configuration. + ## Fields -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `enabled` | *bool* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | +| `enabled` | *bool* | :heavy_check_mark: | If true, enable Apps. Otherwise, false. | \ No newline at end of file diff --git a/docs/models/audit.md b/docs/models/audit.md index 65164ab79..5154cc5ed 100644 --- a/docs/models/audit.md +++ b/docs/models/audit.md @@ -1,10 +1,12 @@ # Audit +Audit record for the revert operation, including the commit hash and affected files. + ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | -| `files` | [Optional[models.FilesTypeGitCommitSummary]](../models/filestypegitcommitsummary.md) | :heavy_minus_sign: | N/A | -| `group` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `id` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | +| `files` | [Optional[models.GitRevertResultFiles]](../models/gitrevertresultfiles.md) | :heavy_minus_sign: | Files affected by the revert, grouped by change type. | +| `group` | *Optional[str]* | :heavy_minus_sign: | Worker Group the revert was applied to, if applicable. | +| `id` | *str* | :heavy_check_mark: | SHA-1 hash of the revert commit that was created. | \ No newline at end of file diff --git a/docs/models/inputresponseauthenticationmethodcloudflarehec.md b/docs/models/authenticationmethodoptionsauthtokensitemssecret.md similarity index 53% rename from docs/models/inputresponseauthenticationmethodcloudflarehec.md rename to docs/models/authenticationmethodoptionsauthtokensitemssecret.md index 0cb2beb0a..d14e23c53 100644 --- a/docs/models/inputresponseauthenticationmethodcloudflarehec.md +++ b/docs/models/authenticationmethodoptionsauthtokensitemssecret.md @@ -1,13 +1,13 @@ -# InputResponseAuthenticationMethodCloudflareHec +# AuthenticationMethodOptionsAuthTokensItemsSecret Select Secret to use a text secret to authenticate ## Example Usage ```python -from cribl_control_plane.models import InputResponseAuthenticationMethodCloudflareHec +from cribl_control_plane.models import AuthenticationMethodOptionsAuthTokensItemsSecret -value = InputResponseAuthenticationMethodCloudflareHec.SECRET +value = AuthenticationMethodOptionsAuthTokensItemsSecret.SECRET # Open enum: unrecognized values are captured as UnrecognizedStr ``` diff --git a/docs/models/outputcloudflarer2authenticationmethod.md b/docs/models/authenticationmethodoptionsautosecret.md similarity index 60% rename from docs/models/outputcloudflarer2authenticationmethod.md rename to docs/models/authenticationmethodoptionsautosecret.md index 3cbfe63fc..3891fa13f 100644 --- a/docs/models/outputcloudflarer2authenticationmethod.md +++ b/docs/models/authenticationmethodoptionsautosecret.md @@ -1,13 +1,13 @@ -# OutputCloudflareR2AuthenticationMethod +# AuthenticationMethodOptionsAutoSecret AWS authentication method. Choose Auto to use IAM roles. ## Example Usage ```python -from cribl_control_plane.models import OutputCloudflareR2AuthenticationMethod +from cribl_control_plane.models import AuthenticationMethodOptionsAutoSecret -value = OutputCloudflareR2AuthenticationMethod.AUTO +value = AuthenticationMethodOptionsAutoSecret.AUTO # Open enum: unrecognized values are captured as UnrecognizedStr ``` diff --git a/docs/models/author.md b/docs/models/author.md index 9c5d74e74..21d4163b9 100644 --- a/docs/models/author.md +++ b/docs/models/author.md @@ -1,9 +1,11 @@ # Author +Author of the Git commit, including email and display name. + ## Fields -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `email` | *str* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | +| `email` | *str* | :heavy_check_mark: | Email address of the commit author. | +| `name` | *str* | :heavy_check_mark: | Display name of the commit author. | \ No newline at end of file diff --git a/docs/models/inputcloudflarehecauthtoken.md b/docs/models/authtokenconfinputcloudflarehec.md similarity index 95% rename from docs/models/inputcloudflarehecauthtoken.md rename to docs/models/authtokenconfinputcloudflarehec.md index 3046ed575..3a9c520d5 100644 --- a/docs/models/inputcloudflarehecauthtoken.md +++ b/docs/models/authtokenconfinputcloudflarehec.md @@ -1,11 +1,11 @@ -# InputCloudflareHecAuthToken +# AuthTokenConfInputCloudflareHec ## Fields | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | -| `auth_type` | [Optional[models.InputCloudflareHecAuthenticationMethod]](../models/inputcloudflarehecauthenticationmethod.md) | :heavy_minus_sign: | Select Secret to use a text secret to authenticate | +| `auth_type` | [Optional[models.AuthenticationMethodOptionsAuthTokensItemsSecret]](../models/authenticationmethodoptionsauthtokensitemssecret.md) | :heavy_minus_sign: | Select Secret to use a text secret to authenticate | | `token_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `token` | *Optional[str]* | :heavy_minus_sign: | Shared secret to be provided by any client (Authorization: ) | | `enabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | diff --git a/docs/models/awstypeheartbeatmetadata.md b/docs/models/awstypeheartbeatmetadata.md index febedcbe9..ab5563f49 100644 --- a/docs/models/awstypeheartbeatmetadata.md +++ b/docs/models/awstypeheartbeatmetadata.md @@ -3,11 +3,11 @@ ## Fields -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `enabled` | *bool* | :heavy_check_mark: | N/A | -| `instance_id` | *str* | :heavy_check_mark: | N/A | -| `region` | *str* | :heavy_check_mark: | N/A | -| `tags` | Dict[str, *str*] | :heavy_minus_sign: | N/A | -| `type` | *str* | :heavy_check_mark: | N/A | -| `zone` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `enabled` | *bool* | :heavy_check_mark: | If true, the AWS metadata collector is enabled on the node. Otherwise, false. | +| `instance_id` | *str* | :heavy_check_mark: | AWS EC2 instance ID. | +| `region` | *str* | :heavy_check_mark: | AWS region name. | +| `tags` | Dict[str, *str*] | :heavy_minus_sign: | String-keyed tag map. Each property name is a tag key and the corresponding value is the tag's string value. | +| `type` | *str* | :heavy_check_mark: | AWS EC2 instance type. | +| `zone` | *str* | :heavy_check_mark: | AWS availability zone name. | \ No newline at end of file diff --git a/docs/models/azureblobauthtypeclientcert.md b/docs/models/azureblobauthtypeclientcert.md index 52062eb86..37cdd1be2 100644 --- a/docs/models/azureblobauthtypeclientcert.md +++ b/docs/models/azureblobauthtypeclientcert.md @@ -20,6 +20,7 @@ | `include_metadata` | *Optional[bool]* | :heavy_minus_sign: | Include Azure Blob metadata in collected events. In each event, metadata will be located at: __collectible.metadata. | | `include_tags` | *Optional[bool]* | :heavy_minus_sign: | Include Azure Blob tags in collected events. In each event, tags will be located at: __collectible.tags. Disable this feature when using a Shared Access Signature Connection String, to prevent errors. | | `max_batch_size` | *Optional[float]* | :heavy_minus_sign: | Maximum number of metadata objects to batch before recording as results | +| `disable_time_filter` | *Optional[bool]* | :heavy_minus_sign: | Disable Collector event time filtering when a date range is specified | | `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 abort if a chunk cannot be downloaded within the time specified. | | `connection_string` | *Optional[str]* | :heavy_minus_sign: | Enter your Azure storage account Connection String. If left blank, Cribl Stream will fall back to env.AZURE_STORAGE_CONNECTION_STRING. | diff --git a/docs/models/azureblobauthtypeclientsecret.md b/docs/models/azureblobauthtypeclientsecret.md index fc2e51fbf..3054d2c9d 100644 --- a/docs/models/azureblobauthtypeclientsecret.md +++ b/docs/models/azureblobauthtypeclientsecret.md @@ -25,6 +25,7 @@ | `include_metadata` | *Optional[bool]* | :heavy_minus_sign: | Include Azure Blob metadata in collected events. In each event, metadata will be located at: __collectible.metadata. | | `include_tags` | *Optional[bool]* | :heavy_minus_sign: | Include Azure Blob tags in collected events. In each event, tags will be located at: __collectible.tags. Disable this feature when using a Shared Access Signature Connection String, to prevent errors. | | `max_batch_size` | *Optional[float]* | :heavy_minus_sign: | Maximum number of metadata objects to batch before recording as results | +| `disable_time_filter` | *Optional[bool]* | :heavy_minus_sign: | Disable Collector event time filtering when a date range is specified | | `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 abort if a chunk cannot be downloaded within the time specified. | | `connection_string` | *Optional[str]* | :heavy_minus_sign: | Enter your Azure storage account Connection String. If left blank, Cribl Stream will fall back to env.AZURE_STORAGE_CONNECTION_STRING. | diff --git a/docs/models/azureblobauthtypemanual.md b/docs/models/azureblobauthtypemanual.md index 2e7d602b7..ff40da17c 100644 --- a/docs/models/azureblobauthtypemanual.md +++ b/docs/models/azureblobauthtypemanual.md @@ -16,6 +16,7 @@ | `include_metadata` | *Optional[bool]* | :heavy_minus_sign: | Include Azure Blob metadata in collected events. In each event, metadata will be located at: __collectible.metadata. | | `include_tags` | *Optional[bool]* | :heavy_minus_sign: | Include Azure Blob tags in collected events. In each event, tags will be located at: __collectible.tags. Disable this feature when using a Shared Access Signature Connection String, to prevent errors. | | `max_batch_size` | *Optional[float]* | :heavy_minus_sign: | Maximum number of metadata objects to batch before recording as results | +| `disable_time_filter` | *Optional[bool]* | :heavy_minus_sign: | Disable Collector event time filtering when a date range is specified | | `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 abort if a chunk cannot be downloaded within the time specified. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Text secret | diff --git a/docs/models/azureblobauthtypesecret.md b/docs/models/azureblobauthtypesecret.md index b6348db8b..ffcd646c4 100644 --- a/docs/models/azureblobauthtypesecret.md +++ b/docs/models/azureblobauthtypesecret.md @@ -15,6 +15,7 @@ | `include_metadata` | *Optional[bool]* | :heavy_minus_sign: | Include Azure Blob metadata in collected events. In each event, metadata will be located at: __collectible.metadata. | | `include_tags` | *Optional[bool]* | :heavy_minus_sign: | Include Azure Blob tags in collected events. In each event, tags will be located at: __collectible.tags. Disable this feature when using a Shared Access Signature Connection String, to prevent errors. | | `max_batch_size` | *Optional[float]* | :heavy_minus_sign: | Maximum number of metadata objects to batch before recording as results | +| `disable_time_filter` | *Optional[bool]* | :heavy_minus_sign: | Disable Collector event time filtering when a date range is specified | | `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 abort if a chunk cannot be downloaded within the time specified. | | `connection_string` | *Optional[str]* | :heavy_minus_sign: | Enter your Azure storage account Connection String. If left blank, Cribl Stream will fall back to env.AZURE_STORAGE_CONNECTION_STRING. | diff --git a/docs/models/azuretypeheartbeatmetadata.md b/docs/models/azuretypeheartbeatmetadata.md index fef7193c7..c879de1a5 100644 --- a/docs/models/azuretypeheartbeatmetadata.md +++ b/docs/models/azuretypeheartbeatmetadata.md @@ -3,16 +3,16 @@ ## Fields -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `enabled` | *bool* | :heavy_check_mark: | N/A | -| `hostname` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `instance_id` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `name` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `region` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `resource_group` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `subscription_id` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `tags` | Dict[str, *str*] | :heavy_minus_sign: | N/A | -| `type` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `vm_id` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `zone` | *Optional[str]* | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `enabled` | *bool* | :heavy_check_mark: | If true, the Azure metadata collector is enabled on the node. Otherwise, false. | +| `hostname` | *Optional[str]* | :heavy_minus_sign: | Azure VM hostname. | +| `instance_id` | *Optional[str]* | :heavy_minus_sign: | Azure instance ID. | +| `name` | *Optional[str]* | :heavy_minus_sign: | Azure VM name. | +| `region` | *Optional[str]* | :heavy_minus_sign: | Azure location or region. | +| `resource_group` | *Optional[str]* | :heavy_minus_sign: | Azure resource group name. | +| `subscription_id` | *Optional[str]* | :heavy_minus_sign: | Azure subscription ID. | +| `tags` | Dict[str, *str*] | :heavy_minus_sign: | String-keyed tag map. Each property name is a tag key and the corresponding value is the tag's string value. | +| `type` | *Optional[str]* | :heavy_minus_sign: | Azure VM size or instance type. | +| `vm_id` | *Optional[str]* | :heavy_minus_sign: | Azure VM ID. | +| `zone` | *Optional[str]* | :heavy_minus_sign: | Azure availability zone. | \ No newline at end of file diff --git a/docs/models/backupssettings.md b/docs/models/backupssettings.md index e7797ddfb..8a91d6592 100644 --- a/docs/models/backupssettings.md +++ b/docs/models/backupssettings.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| -------------------- | -------------------- | -------------------- | -------------------- | -| `backup_persistence` | *str* | :heavy_check_mark: | N/A | -| `backups_directory` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | +| `backup_persistence` | *str* | :heavy_check_mark: | How long to retain backups. Value is a duration string such as 24h. | +| `backups_directory` | *str* | :heavy_check_mark: | Filesystem path where configuration backups are stored. | \ No newline at end of file diff --git a/docs/models/block.md b/docs/models/block.md index a79ee7cd6..609f6caa8 100644 --- a/docs/models/block.md +++ b/docs/models/block.md @@ -3,10 +3,10 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | -| `header` | *str* | :heavy_check_mark: | N/A | -| `lines` | List[[models.DiffLine](../models/diffline.md)] | :heavy_check_mark: | Diff Line | -| `new_start_line` | *float* | :heavy_check_mark: | N/A | -| `old_start_line` | *float* | :heavy_check_mark: | N/A | -| `old_start_line2` | *Optional[float]* | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `header` | *str* | :heavy_check_mark: | Unified diff hunk header. | @@ -1,5 +1,8 @@ | +| `lines` | List[[models.GitDiffLines](../models/gitdifflines.md)] | :heavy_check_mark: | Array of lines in a Git diff hunk. | | +| `new_start_line` | *int* | :heavy_check_mark: | Starting line number in the new file for this hunk. | | +| `old_start_line` | *int* | :heavy_check_mark: | Starting line number in the original file for this hunk. | | +| `old_start_line2` | *Optional[int]* | :heavy_minus_sign: | Starting line number in the original file for the second parent, present in combined diffs. | | \ No newline at end of file diff --git a/docs/models/cacheconnection.md b/docs/models/cacheconnection.md index 80bd7e302..f041a9df6 100644 --- a/docs/models/cacheconnection.md +++ b/docs/models/cacheconnection.md @@ -3,12 +3,12 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | -| `accelerated_fields` | List[*str*] | :heavy_minus_sign: | Accelerated fields (materialized columns) for the cache connection. | -| `backfill_status` | [Optional[models.CacheConnectionBackfillStatus]](../models/cacheconnectionbackfillstatus.md) | :heavy_minus_sign: | N/A | -| `cache_ref` | *str* | :heavy_check_mark: | Identifier of the Lakehouse cache referenced by the Dataset. | -| `created_at` | *float* | :heavy_check_mark: | Timestamp when the continuous data feed to the Lakehouse cache started, in Unix time (milliseconds). | -| `lakehouse_connection_type` | [Optional[models.LakehouseConnectionType]](../models/lakehouseconnectiontype.md) | :heavy_minus_sign: | N/A | -| `migration_query_id` | *Optional[str]* | :heavy_minus_sign: | Query identifier of the active Lakehouse migration. Omitted if no migration is in progress. | -| `retention_in_days` | *float* | :heavy_check_mark: | Retention period for the Lakehouse cache connection, in days. | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| `accelerated_fields` | List[*str*] | :heavy_minus_sign: | Accelerated fields (materialized columns) for the cache connection. | +| `backfill_status` | [Optional[models.CacheConnectionBackfillStatus]](../models/cacheconnectionbackfillstatus.md) | :heavy_minus_sign: | N/A | +| `cache_ref` | *str* | :heavy_check_mark: | Unique identifier for the Lakehouse cache referenced by the Dataset. | +| `created_at` | *float* | :heavy_check_mark: | Timestamp (in Unix time) when the continuous data feed to the Lakehouse cache started, in milliseconds. | +| `lakehouse_connection_type` | [Optional[models.LakehouseConnectionType]](../models/lakehouseconnectiontype.md) | :heavy_minus_sign: | N/A | +| `migration_query_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for the active Lakehouse migration query. Omitted if no migration is in progress. | +| `retention_in_days` | *float* | :heavy_check_mark: | Retention period for the Lakehouse cache connection, in days. | \ No newline at end of file diff --git a/docs/models/checksumbefore.md b/docs/models/checksumbefore.md new file mode 100644 index 000000000..2e2356bdc --- /dev/null +++ b/docs/models/checksumbefore.md @@ -0,0 +1,19 @@ +# ChecksumBefore + +Checksum of the original file. May be an array for combined diffs. + + +## Supported Types + +### `str` + +```python +value: str = /* values here */ +``` + +### `List[str]` + +```python +value: List[str] = /* values here */ +``` + diff --git a/docs/models/outputclickhousecolumnmapping.md b/docs/models/columnmappingconfoutputclickhouse.md similarity index 97% rename from docs/models/outputclickhousecolumnmapping.md rename to docs/models/columnmappingconfoutputclickhouse.md index a71289e53..876288055 100644 --- a/docs/models/outputclickhousecolumnmapping.md +++ b/docs/models/columnmappingconfoutputclickhouse.md @@ -1,4 +1,4 @@ -# OutputClickHouseColumnMapping +# ColumnMappingConfOutputClickHouse ## Fields diff --git a/docs/models/config.md b/docs/models/config.md index 756bc0e7d..5e1d8f82e 100644 --- a/docs/models/config.md +++ b/docs/models/config.md @@ -5,11 +5,13 @@ Configuration bundle and policy revision metadata for the node. ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | -| `features_rev` | *Optional[str]* | :heavy_minus_sign: | Feature flags or feature revision string for the bundle. | -| `hb_period_seconds` | *Optional[int]* | :heavy_minus_sign: | Worker-to-Leader heartbeat interval, in seconds. | -| `log_stream_env` | *Optional[str]* | :heavy_minus_sign: | GitOps or LogStream environment label associated with the bundle. | -| `policy_rev` | *Optional[str]* | :heavy_minus_sign: | Current policies revision string. | -| `users_rev` | *Optional[str]* | :heavy_minus_sign: | Current users revision string. Only used in leader <> leader universal subscription. | -| `version` | *Optional[str]* | :heavy_minus_sign: | Configuration bundle version. | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | +| `api_credentials_rev` | *Optional[str]* | :heavy_minus_sign: | Current API credentials revision string. Only used in leader <> leader universal subscription. | +| `features_rev` | *Optional[str]* | :heavy_minus_sign: | Feature flags or feature revision string for the bundle. | +| `hb_period_seconds` | *Optional[int]* | :heavy_minus_sign: | Worker-to-Leader heartbeat interval, in seconds. | +| `log_stream_env` | *Optional[str]* | :heavy_minus_sign: | GitOps or LogStream environment label associated with the bundle. | +| `policy_rev` | *Optional[str]* | :heavy_minus_sign: | Current policies revision string. | +| `teams_rev` | *Optional[str]* | :heavy_minus_sign: | Current teams revision string. Only used in leader <> leader universal subscription. | +| `users_rev` | *Optional[str]* | :heavy_minus_sign: | Current users revision string. Only used in leader <> leader universal subscription. | +| `version` | *Optional[str]* | :heavy_minus_sign: | Configuration bundle version. | \ No newline at end of file diff --git a/docs/models/configgroup.md b/docs/models/configgroup.md index b82fd1256..838c64df0 100644 --- a/docs/models/configgroup.md +++ b/docs/models/configgroup.md @@ -6,6 +6,7 @@ | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `cloud` | [Optional[models.ConfigGroupCloud]](../models/configgroupcloud.md) | :heavy_minus_sign: | N/A | | +| `collectors_ha_enabled` | *Optional[bool]* | :heavy_minus_sign: | Keeps Collector jobs running if the Leader Node fails. Applies only to Stream Worker Groups. Always true for Cribl.Cloud groups; defaults to false for on-prem groups. to Stream Worker Groups. Always true for Cribl.Cloud groups; defaults to false for on-prem groups. | | | `config_version` | *Optional[str]* | :heavy_minus_sign: | Commit hash of the deployed configuration version for the Worker Group, Outpost Group, or Edge Fleet. Automatically populated and returned in responses.

**Warning**: Do not change the value of configVersion in the body of PATCH requests. The PATCH request body must include the value as it appears in the GET /products/{product}/groups/{id} response. | | | `deploying_worker_count` | *Optional[int]* | :heavy_minus_sign: | Number of Workers or Nodes that are currently deploying the latest configuration version.

**Warning**: Do not change the value of deployingWorkerCount in the body of PATCH requests. The PATCH request body must include the value as it appears in the GET /products/{product}/groups/{id} response. | | | `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Worker Group, Outpost Group, or Edge Fleet. | | diff --git a/docs/models/confinput.md b/docs/models/confinput.md index 215a81dee..df239d94a 100644 --- a/docs/models/confinput.md +++ b/docs/models/confinput.md @@ -1,14 +1,16 @@ # ConfInput +Configuration for the Pipeline, including functions and settings. + ## Fields | Field | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `async_func_timeout` | *Optional[int]* | :heavy_minus_sign: | Time (in ms) to wait for an async function to complete processing of a data item | -| `output` | *Optional[str]* | :heavy_minus_sign: | The output destination for events processed by this Pipeline | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | -| `functions` | List[[models.PipelineFunctionConfInput](../models/pipelinefunctionconfinput.md)] | :heavy_minus_sign: | List of Functions to pass data through | -| `groups` | Dict[str, [models.PipelineGroups](../models/pipelinegroups.md)] | :heavy_minus_sign: | N/A | +| `async_func_timeout` | *Optional[int]* | :heavy_minus_sign: | Timeout (in milliseconds) for asynchronous Pipeline functions. | +| `output` | *Optional[str]* | :heavy_minus_sign: | The output destination for events processed by this Pipeline. | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline. | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | +| `functions` | List[[models.PipelineFunctionConfInput](../models/pipelinefunctionconfinput.md)] | :heavy_minus_sign: | List of Functions to pass data through the Pipeline. | +| `groups` | Dict[str, [models.PipelineGroups](../models/pipelinegroups.md)] | :heavy_minus_sign: | Named groups of Pipeline functions for organizational display in the UI. | | `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/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/createinputauth.md b/docs/models/createinputauth.md index 494f65567..74de67c9c 100644 --- a/docs/models/createinputauth.md +++ b/docs/models/createinputauth.md @@ -9,7 +9,7 @@ | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `client_secret_auth_type` | [Optional[models.AuthenticationMethodOptionsAuth]](../models/authenticationmethodoptionsauth.md) | :heavy_minus_sign: | N/A | | `client_text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | -| `certificate` | [Optional[models.CertificateTypeAzureBlobAuthTypeClientCert]](../models/certificatetypeazureblobauthtypeclientcert.md) | :heavy_minus_sign: | N/A | +| `certificate` | [Optional[models.CreateInputCertificate]](../models/createinputcertificate.md) | :heavy_minus_sign: | N/A | | `oauth_endpoint` | [Optional[models.MicrosoftEntraIDAuthenticationEndpointOptionsSasl]](../models/microsoftentraidauthenticationendpointoptionssasl.md) | :heavy_minus_sign: | Endpoint used to acquire authentication tokens from Azure | | `client_id` | *Optional[str]* | :heavy_minus_sign: | client_id to pass in the OAuth request parameter | | `tenant_id` | *Optional[str]* | :heavy_minus_sign: | Directory ID (tenant identifier) in Azure Active Directory | diff --git a/docs/models/createinputauthenticationmethodcloudflarehec.md b/docs/models/createinputauthenticationmethodcloudflarehec.md deleted file mode 100644 index 4c1f10b89..000000000 --- a/docs/models/createinputauthenticationmethodcloudflarehec.md +++ /dev/null @@ -1,20 +0,0 @@ -# CreateInputAuthenticationMethodCloudflareHec - -Select Secret to use a text secret to authenticate - -## Example Usage - -```python -from cribl_control_plane.models import CreateInputAuthenticationMethodCloudflareHec - -value = CreateInputAuthenticationMethodCloudflareHec.SECRET - -# Open enum: unrecognized values are captured as UnrecognizedStr -``` - - -## Values - -| Name | Value | -| -------- | -------- | -| `SECRET` | secret | \ No newline at end of file diff --git a/docs/models/createinputauthtokencloudflarehec.md b/docs/models/createinputauthtokencloudflarehec.md deleted file mode 100644 index c7e14a79a..000000000 --- a/docs/models/createinputauthtokencloudflarehec.md +++ /dev/null @@ -1,14 +0,0 @@ -# CreateInputAuthTokenCloudflareHec - - -## Fields - -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | -| `auth_type` | [Optional[models.CreateInputAuthenticationMethodCloudflareHec]](../models/createinputauthenticationmethodcloudflarehec.md) | :heavy_minus_sign: | Select Secret to use a text secret to authenticate | -| `token_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | -| `token` | *Optional[str]* | :heavy_minus_sign: | Shared secret to be provided by any client (Authorization: ) | -| `enabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `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/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/createinputcertificate.md b/docs/models/createinputcertificate.md new file mode 100644 index 000000000..622fb9631 --- /dev/null +++ b/docs/models/createinputcertificate.md @@ -0,0 +1,11 @@ +# CreateInputCertificate + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| `certificate_name` | *str* | :heavy_check_mark: | The certificate you registered as credentials for your app in the Azure portal | +| `cert_path` | *str* | :heavy_check_mark: | Path on server containing certificates to use. PEM format. Can reference $ENV_VARS. | +| `priv_key_path` | *str* | :heavy_check_mark: | Path on server containing the private key to use. PEM format. Can reference $ENV_VARS. | +| `passphrase` | *Optional[str]* | :heavy_minus_sign: | Passphrase to use to decrypt private key | \ No newline at end of file diff --git a/docs/models/createinputcontentconfiganthropiccompliance.md b/docs/models/createinputcontentconfiganthropiccompliance.md index 48baedcf9..93df0df2c 100644 --- a/docs/models/createinputcontentconfiganthropiccompliance.md +++ b/docs/models/createinputcontentconfiganthropiccompliance.md @@ -5,14 +5,14 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -| `content_type` | *str* | :heavy_check_mark: | N/A | +| `content_type` | [models.CreateInputEndpointName](../models/createinputendpointname.md) | :heavy_check_mark: | N/A | | `content_description` | *Optional[str]* | :heavy_minus_sign: | N/A | | `enabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | | `state_tracking` | *Optional[bool]* | :heavy_minus_sign: | Track collection progress between consecutive scheduled executions | | `state_update_expression` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that defines how to update the state from an event | | `state_merge_expression` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that defines which state to keep when merging task state | | `manage_state` | [Optional[models.CreateInputManageStateAnthropicCompliance]](../models/createinputmanagestateanthropiccompliance.md) | :heavy_minus_sign: | N/A | +| `earliest` | *Optional[str]* | :heavy_minus_sign: | Earliest time for data collection, relative to now | +| `latest` | *Optional[str]* | :heavy_minus_sign: | Latest time for data collection, relative to now | | `cron_schedule` | *str* | :heavy_check_mark: | Schedule on which to run this collection job | -| `earliest` | *str* | :heavy_check_mark: | Earliest time for data collection, relative to now | -| `latest` | *str* | :heavy_check_mark: | Latest time for data collection, relative to now | | `job_timeout` | *Optional[str]* | :heavy_minus_sign: | Maximum time the job is allowed to run (examples: 30, 45s, 15m). Enter 0 for unlimited time. | \ No newline at end of file diff --git a/docs/models/createinputcontentconfiginput.md b/docs/models/createinputcontentconfiginput.md index 5a7da32f9..258bbbd8c 100644 --- a/docs/models/createinputcontentconfiginput.md +++ b/docs/models/createinputcontentconfiginput.md @@ -3,23 +3,23 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `state_tracking` | *Optional[bool]* | :heavy_minus_sign: | Track collection progress between consecutive scheduled executions. | -| `state_update_expression` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that defines how to update the state from an event | -| `state_merge_expression` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that defines which state to keep when merging task state | -| `manage_state` | [Optional[models.CreateInputManageStateOpenai]](../models/createinputmanagestateopenai.md) | :heavy_minus_sign: | N/A | -| `request_params` | List[[models.RequestParamConfInputOpenai](../models/requestparamconfinputopenai.md)] | :heavy_check_mark: | Query-string parameters to send with this endpoint | -| `pagination_type` | [models.CreateInputPaginationType](../models/createinputpaginationtype.md) | :heavy_check_mark: | N/A | -| `pagination_attribute` | List[*str*] | :heavy_minus_sign: | N/A | -| `pagination_last_page_expr` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `max_pages` | *Optional[float]* | :heavy_minus_sign: | Maximum number of pages to retrieve per collection task. Set to 0 only when unlimited pagination is required. | -| `pagination_next_relation_attribute` | *Optional[str]* | :heavy_minus_sign: | Used only for RFC 5988 link-header pagination | -| `pagination_cur_relation_attribute` | *Optional[str]* | :heavy_minus_sign: | Optional relation that represents the current page | -| `cron_schedule` | *str* | :heavy_check_mark: | A cron schedule on which to run this job | -| `earliest` | *str* | :heavy_check_mark: | Relative to the current time | -| `latest` | *str* | :heavy_check_mark: | Relative to the current time | -| `job_timeout` | *Optional[str]* | :heavy_minus_sign: | Maximum time the job is allowed to run (examples: 30, 45s, 15m). Enter 0 for unlimited time. | -| `log_level` | [Optional[models.CreateInputLogLevelOpenai]](../models/createinputloglevelopenai.md) | :heavy_minus_sign: | Collector runtime log level. | -| `endpoint_metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields automatically added to events from this Content Type | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `state_tracking` | *Optional[bool]* | :heavy_minus_sign: | Track collection progress between consecutive scheduled executions. | +| `state_update_expression` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that defines how to update the state from an event | +| `state_merge_expression` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that defines which state to keep when merging task state | +| `manage_state` | [Optional[models.CreateInputManageStateOpenai]](../models/createinputmanagestateopenai.md) | :heavy_minus_sign: | N/A | +| `request_params` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauthSecret](../models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.md)] | :heavy_check_mark: | Query-string parameters to send with this endpoint | +| `pagination_type` | [models.CreateInputPaginationType](../models/createinputpaginationtype.md) | :heavy_check_mark: | N/A | +| `pagination_attribute` | List[*str*] | :heavy_minus_sign: | N/A | +| `pagination_last_page_expr` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `max_pages` | *Optional[float]* | :heavy_minus_sign: | Maximum number of pages to retrieve per collection task. Set to 0 only when unlimited pagination is required. | +| `pagination_next_relation_attribute` | *Optional[str]* | :heavy_minus_sign: | Used only for RFC 5988 link-header pagination | +| `pagination_cur_relation_attribute` | *Optional[str]* | :heavy_minus_sign: | Optional relation that represents the current page | +| `cron_schedule` | *str* | :heavy_check_mark: | A cron schedule on which to run this job | +| `earliest` | *str* | :heavy_check_mark: | Relative to the current time | +| `latest` | *str* | :heavy_check_mark: | Relative to the current time | +| `job_timeout` | *Optional[str]* | :heavy_minus_sign: | Maximum time the job is allowed to run (examples: 30, 45s, 15m). Enter 0 for unlimited time. | +| `log_level` | [Optional[models.CreateInputLogLevelOpenai]](../models/createinputloglevelopenai.md) | :heavy_minus_sign: | Collector runtime log level. | +| `endpoint_metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields automatically added to events from this Content Type | \ No newline at end of file diff --git a/docs/models/createinputdiscoverytypeedgeprometheus.md b/docs/models/createinputdiscoverytypeedgeprometheus.md index e7462eee2..9385ad86f 100644 --- a/docs/models/createinputdiscoverytypeedgeprometheus.md +++ b/docs/models/createinputdiscoverytypeedgeprometheus.md @@ -22,4 +22,5 @@ value = CreateInputDiscoveryTypeEdgePrometheus.STATIC | `EC2` | ec2 | | `K8S_NODE` | k8s-node | | `K8S_PODS` | k8s-pods | -| `K8S_SERVICE_MONITOR` | k8s-service-monitor | \ No newline at end of file +| `K8S_SERVICE_MONITOR` | k8s-service-monitor | +| `HTTP_SD` | http_sd | \ No newline at end of file diff --git a/docs/models/createinputdiscoverytypeprometheus.md b/docs/models/createinputdiscoverytypeprometheus.md index 27576d155..66d0ad3a1 100644 --- a/docs/models/createinputdiscoverytypeprometheus.md +++ b/docs/models/createinputdiscoverytypeprometheus.md @@ -15,8 +15,9 @@ value = CreateInputDiscoveryTypePrometheus.STATIC ## Values -| Name | Value | -| -------- | -------- | -| `STATIC` | static | -| `DNS` | dns | -| `EC2` | ec2 | \ No newline at end of file +| Name | Value | +| --------- | --------- | +| `STATIC` | static | +| `DNS` | dns | +| `EC2` | ec2 | +| `HTTP_SD` | http_sd | \ No newline at end of file diff --git a/docs/models/createinputendpointname.md b/docs/models/createinputendpointname.md new file mode 100644 index 000000000..0f627e82a --- /dev/null +++ b/docs/models/createinputendpointname.md @@ -0,0 +1,22 @@ +# CreateInputEndpointName + +## Example Usage + +```python +from cribl_control_plane.models import CreateInputEndpointName + +value = CreateInputEndpointName.ACTIVITIES + +# Open enum: unrecognized values are captured as UnrecognizedStr +``` + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `ACTIVITIES` | activities | +| `CHATS` | chats | +| `PROJECTS` | projects | +| `GROUPS` | groups | +| `ORGANIZATIONS` | organizations | \ No newline at end of file diff --git a/docs/models/createinputinputanthropiccompliance.md b/docs/models/createinputinputanthropiccompliance.md index 87b020160..3c4018b7c 100644 --- a/docs/models/createinputinputanthropiccompliance.md +++ b/docs/models/createinputinputanthropiccompliance.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | @@ -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 2ae8c1d92..a8d29bf79 100644 --- a/docs/models/createinputinputappleunifiedlogs.md +++ b/docs/models/createinputinputappleunifiedlogs.md @@ -3,21 +3,21 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `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 | -| `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | -| `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | -| `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | -| `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | -| `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | -| `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | -| `predicate` | *str* | :heavy_check_mark: | String to filter log entries, in NSPredicate format (e.g., subsystem == "com.apple.security" or process == "kernel"). See [Predicate format reference](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/Predicates/AdditionalChapters/Introduction.html) 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 | -| `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 +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `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: | If true, the Source is disabled and will not collect data. | +| `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | +| `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | +| `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | +| `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | +| `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | +| `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | +| `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: | 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..08de82b80 100644 --- a/docs/models/createinputinputappscope.md +++ b/docs/models/createinputinputappscope.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `ip_whitelist_regex` | *Optional[str]* | :heavy_minus_sign: | Regex matching IP addresses that are allowed to establish a connection | @@ -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..c0a231dc0 100644 --- a/docs/models/createinputinputazureblob.md +++ b/docs/models/createinputinputazureblob.md @@ -7,12 +7,12 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `queue_name` | *str* | :heavy_check_mark: | 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}` | @@ -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 0c9bd0503..05a1964a4 100644 --- a/docs/models/createinputinputcloudflarehec.md +++ b/docs/models/createinputinputcloudflarehec.md @@ -6,18 +6,18 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | | `port` | *float* | :heavy_check_mark: | Port to listen on | -| `auth_tokens` | List[[models.CreateInputAuthTokenCloudflareHec](../models/createinputauthtokencloudflarehec.md)] | :heavy_minus_sign: | Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted. | +| `auth_tokens` | List[[models.AuthTokenConfInputCloudflareHec](../models/authtokenconfinputcloudflarehec.md)] | :heavy_minus_sign: | Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted. | | `tls` | [Optional[models.CreateInputTLSSettingsServerSide]](../models/createinputtlssettingsserverside.md) | :heavy_minus_sign: | N/A | | `max_active_req` | *Optional[float]* | :heavy_minus_sign: | Maximum number of active requests allowed per Worker Process. Set to 0 for unlimited. Caution: Increasing the limit above the default value, or setting it to unlimited, may degrade performance and reduce throughput. | | `max_requests_per_socket` | *Optional[int]* | :heavy_minus_sign: | Maximum number of requests per socket before @{product} instructs the client to close the connection. Default is 0 (unlimited). | @@ -32,12 +32,12 @@ | `hec_api` | *str* | :heavy_check_mark: | Absolute path on which to listen for the Cloudflare HTTP Event Collector API requests. This input supports the /event endpoint. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to every event. May be overridden by fields added at the token or request level. | | `allowed_indexes` | List[*str*] | :heavy_minus_sign: | List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level. | -| `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 | | `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 | +| `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: | 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..a966a879b 100644 --- a/docs/models/createinputinputcollection.md +++ b/docs/models/createinputinputcollection.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `breaker_rulesets` | List[*str*] | :heavy_minus_sign: | A list of event-breaking rulesets that will be applied, in order, to the input data stream | diff --git a/docs/models/createinputinputconfluentcloud.md b/docs/models/createinputinputconfluentcloud.md index 2e9f31dfa..15198e1ac 100644 --- a/docs/models/createinputinputconfluentcloud.md +++ b/docs/models/createinputinputconfluentcloud.md @@ -7,12 +7,12 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `brokers` | List[*str*] | :heavy_check_mark: | List of Confluent Cloud bootstrap servers to use, such as yourAccount.confluent.cloud:9092 | @@ -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..2870f9d3e 100644 --- a/docs/models/createinputinputcribl.md +++ b/docs/models/createinputinputcribl.md @@ -7,16 +7,16 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `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..0180e34d1 100644 --- a/docs/models/createinputinputcriblhttp.md +++ b/docs/models/createinputinputcriblhttp.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..5c48d0ac5 100644 --- a/docs/models/createinputinputcribllakehttp.md +++ b/docs/models/createinputinputcribllakehttp.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..9cefc559e 100644 --- a/docs/models/createinputinputcriblmetrics.md +++ b/docs/models/createinputinputcriblmetrics.md @@ -7,17 +7,17 @@ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `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..46451e1ca 100644 --- a/docs/models/createinputinputcribltcp.md +++ b/docs/models/createinputinputcribltcp.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..dc4c942b5 100644 --- a/docs/models/createinputinputcrowdstrike.md +++ b/docs/models/createinputinputcrowdstrike.md @@ -7,12 +7,12 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `queue_name` | *str* | :heavy_check_mark: | 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}`. | @@ -37,14 +37,22 @@ | `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). | | `enable_sqs_assume_role` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials when accessing Amazon SQS | +| `shared_credentials` | *Optional[bool]* | :heavy_minus_sign: | Use the same credential settings for S3 and SQS | +| `shared_assume_role_arn` | *Optional[bool]* | :heavy_minus_sign: | Use the same settings for S3 and SQS | | `preprocess` | [Optional[models.PreprocessType]](../models/preprocesstype.md) | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `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 | +| `sqs_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Amazon Resource Name (ARN) of the role to assume | +| `sqs_assume_role_external_id` | *Optional[str]* | :heavy_minus_sign: | External ID to use when assuming role | +| `sqs_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). | +| `sqs_aws_authentication_method` | [Optional[models.SqsAuthenticationMethodOptions]](../models/sqsauthenticationmethodoptions.md) | :heavy_minus_sign: | Choose Auto to use IAM roles | +| `sqs_aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | +| `sqs_aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `tag_after_processing` | [Optional[models.TagAfterProcessingOptions]](../models/tagafterprocessingoptions.md) | :heavy_minus_sign: | N/A | | `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. | | `processed_tag_value` | *Optional[str]* | :heavy_minus_sign: | The value for the S3 object tag applied after processing. This field accepts an expression for dynamic generation. | @@ -57,4 +65,7 @@ | `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_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_aws_api_key` | *Optional[str]* | :heavy_minus_sign: | 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. | \ No newline at end of file +| `template_aws_api_key` | *Optional[str]* | :heavy_minus_sign: | 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_sqs_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime. | +| `template_sqs_assume_role_external_id` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime. | +| `template_sqs_aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputinputdatadogagent.md b/docs/models/createinputinputdatadogagent.md index 94bc60776..870c7c0a3 100644 --- a/docs/models/createinputinputdatadogagent.md +++ b/docs/models/createinputinputdatadogagent.md @@ -3,37 +3,39 @@ ## Fields -| 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 | -| `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | -| `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | -| `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | -| `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | -| `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | -| `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | -| `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | -| `port` | *float* | :heavy_check_mark: | Port to listen on | -| `tls` | [Optional[models.TLSSettingsServerSideType]](../models/tlssettingsserversidetype.md) | :heavy_minus_sign: | N/A | -| `max_active_req` | *Optional[float]* | :heavy_minus_sign: | Maximum number of active requests allowed per Worker Process. Set to 0 for unlimited. Caution: Increasing the limit above the default value, or setting it to unlimited, may degrade performance and reduce throughput. | -| `max_requests_per_socket` | *Optional[int]* | :heavy_minus_sign: | Maximum number of requests per socket before @{product} instructs the client to close the connection. Default is 0 (unlimited). | -| `enable_proxy_header` | *Optional[bool]* | :heavy_minus_sign: | Extract the client IP and port from PROXY protocol v1/v2. When enabled, the X-Forwarded-For header is ignored. Disable to use the X-Forwarded-For header for client IP extraction. | -| `capture_headers` | *Optional[bool]* | :heavy_minus_sign: | Add request headers to events, in the __headers field | -| `activity_log_sample_rate` | *Optional[float]* | :heavy_minus_sign: | How often request activity is logged at the `info` level. A value of 1 would log every request, 10 every 10th request, etc. | -| `request_timeout` | *Optional[float]* | :heavy_minus_sign: | How long to wait for an incoming request to complete before aborting it. Use 0 to disable. | -| `socket_timeout` | *Optional[float]* | :heavy_minus_sign: | How long @{product} should wait before assuming that an inactive socket has timed out. To wait forever, set to 0. | -| `keep_alive_timeout` | *Optional[float]* | :heavy_minus_sign: | After the last response is sent, @{product} will wait this long for additional data before closing the socket connection. Minimum 1 second, maximum 600 seconds (10 minutes). | -| `enable_health_check` | *Optional[bool]* | :heavy_minus_sign: | Expose the /cribl_health endpoint, which returns 200 OK when this Source is healthy | -| `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. | -| `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 | -| `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. | -| `template_port` | *Optional[str]* | :heavy_minus_sign: | 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. | \ No newline at end of file +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | Unique ID for this input | +| `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. | +| `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | +| `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | +| `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | +| `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | +| `port` | *float* | :heavy_check_mark: | Port to listen on | +| `tls` | [Optional[models.TLSSettingsServerSideType]](../models/tlssettingsserversidetype.md) | :heavy_minus_sign: | N/A | +| `max_active_req` | *Optional[float]* | :heavy_minus_sign: | Maximum number of active requests allowed per Worker Process. Set to 0 for unlimited. Caution: Increasing the limit above the default value, or setting it to unlimited, may degrade performance and reduce throughput. | +| `max_requests_per_socket` | *Optional[int]* | :heavy_minus_sign: | Maximum number of requests per socket before @{product} instructs the client to close the connection. Default is 0 (unlimited). | +| `enable_proxy_header` | *Optional[bool]* | :heavy_minus_sign: | Extract the client IP and port from PROXY protocol v1/v2. When enabled, the X-Forwarded-For header is ignored. Disable to use the X-Forwarded-For header for client IP extraction. | +| `capture_headers` | *Optional[bool]* | :heavy_minus_sign: | Add request headers to events, in the __headers field | +| `activity_log_sample_rate` | *Optional[float]* | :heavy_minus_sign: | How often request activity is logged at the `info` level. A value of 1 would log every request, 10 every 10th request, etc. | +| `request_timeout` | *Optional[float]* | :heavy_minus_sign: | How long to wait for an incoming request to complete before aborting it. Use 0 to disable. | +| `socket_timeout` | *Optional[float]* | :heavy_minus_sign: | How long @{product} should wait before assuming that an inactive socket has timed out. To wait forever, set to 0. | +| `keep_alive_timeout` | *Optional[float]* | :heavy_minus_sign: | After the last response is sent, @{product} will wait this long for additional data before closing the socket connection. Minimum 1 second, maximum 600 seconds (10 minutes). | +| `enable_health_check` | *Optional[bool]* | :heavy_minus_sign: | Expose the /cribl_health endpoint, which returns 200 OK when this Source is healthy | +| `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. | +| `extract_metrics` | *Optional[bool]* | :heavy_minus_sign: | Extract each incoming metric to multiple events, one per data point. Recommended when sending metrics to a statsd-type output. If sending metrics to DatadogHQ or any destination that accepts arbitrary JSON, leave disabled. | +| `sampling_rate` | *Optional[float]* | :heavy_minus_sign: | The rate_by_service hint sent to connected tracers as the catch-all sampling rate. Applies to any service/environment not explicitly listed in Per-Service Sampling Rules. 1.0 = keep all traces (default); 0.0 = suggest dropping all. | +| `sampling_rules` | List[[models.CreateInputSamplingRule](../models/createinputsamplingrule.md)] | :heavy_minus_sign: | Per-service sampling rate hints. Each row maps to a "service:,env:" key in the rate_by_service response sent to tracers. | +| `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: | 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. | +| `template_port` | *Optional[str]* | :heavy_minus_sign: | 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. | \ No newline at end of file diff --git a/docs/models/createinputinputdatagen.md b/docs/models/createinputinputdatagen.md index 676b89f6e..7c4d854ff 100644 --- a/docs/models/createinputinputdatagen.md +++ b/docs/models/createinputinputdatagen.md @@ -7,16 +7,16 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `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 1efdb77b7..b55ecd98f 100644 --- a/docs/models/createinputinputedgeprometheus.md +++ b/docs/models/createinputinputedgeprometheus.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `dimension_list` | List[*str*] | :heavy_minus_sign: | Other dimensions to include in events | @@ -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. | @@ -49,6 +49,10 @@ | `scrape_port_expr` | *Optional[str]* | :heavy_minus_sign: | The port number in the metrics URL for discovered targets. | | `scrape_path_expr` | *Optional[str]* | :heavy_minus_sign: | Path to use when collecting metrics from discovered targets | | `pod_filter` | List[[models.CreateInputPodFilter](../models/createinputpodfilter.md)] | :heavy_minus_sign: |
Add rules to decide which pods to discover for metrics.
Pods are searched if no rules are given or of all the rules'
expressions evaluate to true.
| +| `http_discovery_url` | *Optional[str]* | :heavy_minus_sign: | URL to fetch target groups from (must be http or https) | +| `http_discovery_headers` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauthSecret](../models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.md)] | :heavy_minus_sign: | Extra headers to send with the discovery request | +| `http_discovery_reject_unauthorized` | *Optional[bool]* | :heavy_minus_sign: | Reject TLS certificates that cannot be verified for the discovery endpoint. Falls back to the source-level setting if not specified. | +| `max_response_body_size` | *Optional[str]* | :heavy_minus_sign: | Maximum size of the HTTP SD response body. Responses exceeding this limit will be rejected. Defaults to 20 MB. | | `username` | *Optional[str]* | :heavy_minus_sign: | Username for Prometheus Basic authentication | | `password` | *Optional[str]* | :heavy_minus_sign: | Password for Prometheus Basic authentication | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a secret that references your credentials | diff --git a/docs/models/createinputinputelastic.md b/docs/models/createinputinputelastic.md index 9f3ca6afa..c104a1aba 100644 --- a/docs/models/createinputinputelastic.md +++ b/docs/models/createinputinputelastic.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..0009942cd 100644 --- a/docs/models/createinputinputeventhub.md +++ b/docs/models/createinputinputeventhub.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `brokers` | List[*str*] | :heavy_check_mark: | List of Event Hubs Kafka brokers to connect to (example: 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. | @@ -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..3b725662d 100644 --- a/docs/models/createinputinputeventhubamqp.md +++ b/docs/models/createinputinputeventhubamqp.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `event_hub_name` | *Optional[str]* | :heavy_minus_sign: | The name of the Event Hub to consume from | @@ -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..6d0a76135 100644 --- a/docs/models/createinputinputexec.md +++ b/docs/models/createinputinputexec.md @@ -12,7 +12,7 @@ | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `command` | *str* | :heavy_check_mark: | Command to execute; supports Bourne shell (or CMD on Windows) syntax | @@ -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..72af3ac53 100644 --- a/docs/models/createinputinputfile.md +++ b/docs/models/createinputinputfile.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `mode` | [Optional[models.CreateInputInputFileMode]](../models/createinputinputfilemode.md) | :heavy_minus_sign: | Choose how to discover files to monitor | @@ -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..d782a93ca 100644 --- a/docs/models/createinputinputfirehose.md +++ b/docs/models/createinputinputfirehose.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..da2313dd2 100644 --- a/docs/models/createinputinputgooglepubsub.md +++ b/docs/models/createinputinputgooglepubsub.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `topic_name` | *str* | :heavy_check_mark: | ID of the topic to receive events from. When Monitor subscription is enabled, any value may be entered. | @@ -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..7644c6ca3 100644 --- a/docs/models/createinputinputgrafanagrafana1.md +++ b/docs/models/createinputinputgrafanagrafana1.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..37889ef11 100644 --- a/docs/models/createinputinputgrafanagrafana2.md +++ b/docs/models/createinputinputgrafanagrafana2.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..3ffaca229 100644 --- a/docs/models/createinputinputhttp.md +++ b/docs/models/createinputinputhttp.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..653ced714 100644 --- a/docs/models/createinputinputhttpraw.md +++ b/docs/models/createinputinputhttpraw.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..1957da12c 100644 --- a/docs/models/createinputinputjournalfiles.md +++ b/docs/models/createinputinputjournalfiles.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `path` | *str* | :heavy_check_mark: | Directory path to search for journals. Environment variables will be resolved, e.g. $CRIBL_EDGE_FS_ROOT/var/log/journal/$MACHINE_ID. | @@ -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..59d073a7f 100644 --- a/docs/models/createinputinputkafka.md +++ b/docs/models/createinputinputkafka.md @@ -7,12 +7,12 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `brokers` | List[*str*] | :heavy_check_mark: | Enter each Kafka bootstrap server you want to use. Specify the hostname and port (such as mykafkabroker:9092) or just the hostname (in which case @{product} will assign port 9092). | @@ -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..612c5ff0f 100644 --- a/docs/models/createinputinputkinesis.md +++ b/docs/models/createinputinputkinesis.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `stream_name` | *str* | :heavy_check_mark: | Kinesis Data Stream to read data from | @@ -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..309fd07fa 100644 --- a/docs/models/createinputinputkubeevents.md +++ b/docs/models/createinputinputkubeevents.md @@ -7,16 +7,16 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `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 8281ede17..de7ed55b8 100644 --- a/docs/models/createinputinputkubelogs.md +++ b/docs/models/createinputinputkubelogs.md @@ -7,22 +7,24 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `interval` | *Optional[float]* | :heavy_minus_sign: | Time, in seconds, between checks for new containers. Default is 15 secs. | | `rules` | List[[models.CreateInputRuleKubeLogs](../models/createinputrulekubelogs.md)] | :heavy_minus_sign: | Add rules to decide which Pods to collect logs from. Logs are collected if no rules are given or if all the rules' expressions evaluate to true. | | `timestamps` | *Optional[bool]* | :heavy_minus_sign: | For use when containers do not emit a timestamp, prefix each line of output with a timestamp. If you enable this setting, you can use the Kubernetes Logs Event Breaker and the kubernetes_logs Pre-processing Pipeline to remove them from the events after the timestamps are extracted. | +| `line_buffer_limit` | *Optional[float]* | :heavy_minus_sign: | Maximum bytes to buffer while reassembling a single log line. A line that exceeds this size is flushed as-is, either whole or partially. The default is 1048576 (1 MB). | +| `lb_disable_assembly` | *Optional[bool]* | :heavy_minus_sign: | Internal flag to disable LB worker payload reassembly. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `persistence` | [Optional[models.DiskSpoolingType]](../models/diskspoolingtype.md) | :heavy_minus_sign: | N/A | | `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..4c0c430bb 100644 --- a/docs/models/createinputinputkubemetrics.md +++ b/docs/models/createinputinputkubemetrics.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `interval` | *Optional[float]* | :heavy_minus_sign: | Time, in seconds, between consecutive metrics collections. Default is 15 secs. | @@ -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..455262f46 100644 --- a/docs/models/createinputinputloki.md +++ b/docs/models/createinputinputloki.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..463971a21 100644 --- a/docs/models/createinputinputmetrics.md +++ b/docs/models/createinputinputmetrics.md @@ -7,12 +7,12 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | 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. | @@ -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..510b2e390 100644 --- a/docs/models/createinputinputmicrosoftgraph.md +++ b/docs/models/createinputinputmicrosoftgraph.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `url` | *str* | :heavy_check_mark: | Microsoft Graph API endpoint URL. (ex. https://graph.microsoft.com/v1.0/admin/exchange/tracing/messageTraces) | @@ -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..bbf96c56b 100644 --- a/docs/models/createinputinputmodeldriventelemetry.md +++ b/docs/models/createinputinputmodeldriventelemetry.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..1183a2aa4 100644 --- a/docs/models/createinputinputmsk.md +++ b/docs/models/createinputinputmsk.md @@ -7,12 +7,12 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `brokers` | List[*str*] | :heavy_check_mark: | Enter each Kafka bootstrap server you want to use. Specify the hostname and port (such as mykafkabroker:9092) or just the hostname (in which case @{product} will assign port 9092). | @@ -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..19005d319 100644 --- a/docs/models/createinputinputnetflow.md +++ b/docs/models/createinputinputnetflow.md @@ -7,12 +7,12 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | 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. | @@ -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..2dce50309 100644 --- a/docs/models/createinputinputoffice365mgmt.md +++ b/docs/models/createinputinputoffice365mgmt.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `plan_type` | [models.SubscriptionPlanOptions](../models/subscriptionplanoptions.md) | :heavy_check_mark: | Microsoft 365 subscription plan for your organization, typically Microsoft 365 Enterprise | @@ -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..23350a197 100644 --- a/docs/models/createinputinputoffice365msgtrace.md +++ b/docs/models/createinputinputoffice365msgtrace.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `url` | *str* | :heavy_check_mark: | URL to use when retrieving report data. | @@ -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..2b173e357 100644 --- a/docs/models/createinputinputoffice365service.md +++ b/docs/models/createinputinputoffice365service.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `plan_type` | [Optional[models.SubscriptionPlanOptions]](../models/subscriptionplanoptions.md) | :heavy_minus_sign: | Microsoft 365 subscription plan for your organization, typically Microsoft 365 Enterprise | @@ -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..8c507349b 100644 --- a/docs/models/createinputinputokta.md +++ b/docs/models/createinputinputokta.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `okta_domain` | *str* | :heavy_check_mark: | Your Okta domain (example: your-org). Do not include .okta.com, https://, or trailing slashes. | @@ -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..bf9bc3300 100644 --- a/docs/models/createinputinputopenai.md +++ b/docs/models/createinputinputopenai.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `openai_organization` | *Optional[str]* | :heavy_minus_sign: | Optional `OpenAI-Organization` request header value, typically `org-xxxxxxxxxxxxxxxxxxxxxxxx` | @@ -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..490a9c63a 100644 --- a/docs/models/createinputinputopenaicompliancelogs.md +++ b/docs/models/createinputinputopenaicompliancelogs.md @@ -7,12 +7,12 @@ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | @@ -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..392dda945 100644 --- a/docs/models/createinputinputopentelemetry.md +++ b/docs/models/createinputinputopentelemetry.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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 e9d9d8cf9..37f3a9cad 100644 --- a/docs/models/createinputinputprometheus.md +++ b/docs/models/createinputinputprometheus.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `dimension_list` | List[*str*] | :heavy_minus_sign: | Other dimensions to include in events | @@ -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 | @@ -49,6 +49,10 @@ | `assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Amazon Resource Name (ARN) of the role to assume | | `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). | +| `http_discovery_url` | *Optional[str]* | :heavy_minus_sign: | URL to fetch target groups from (must be http or https) | +| `http_discovery_headers` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauthSecret](../models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.md)] | :heavy_minus_sign: | Extra headers to send with the discovery request | +| `http_discovery_reject_unauthorized` | *Optional[bool]* | :heavy_minus_sign: | Reject TLS certificates that cannot be verified for the discovery endpoint. Falls back to the source-level setting if not specified. | +| `max_response_body_size` | *Optional[str]* | :heavy_minus_sign: | Maximum size of the HTTP SD response body. Responses exceeding this limit will be rejected. Defaults to 20 MB. | | `username` | *Optional[str]* | :heavy_minus_sign: | Username for Prometheus Basic authentication | | `password` | *Optional[str]* | :heavy_minus_sign: | Password for Prometheus Basic authentication | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a secret that references your credentials | diff --git a/docs/models/createinputinputprometheusrw.md b/docs/models/createinputinputprometheusrw.md index a7e4e6bfb..1d2ea43fb 100644 --- a/docs/models/createinputinputprometheusrw.md +++ b/docs/models/createinputinputprometheusrw.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..a8b3ea629 100644 --- a/docs/models/createinputinputrawudp.md +++ b/docs/models/createinputinputrawudp.md @@ -7,12 +7,12 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | 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. | @@ -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..91a07a068 100644 --- a/docs/models/createinputinputs3.md +++ b/docs/models/createinputinputs3.md @@ -7,12 +7,12 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `queue_name` | *str* | :heavy_check_mark: | 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}`. | @@ -37,6 +37,8 @@ | `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). | | `enable_sqs_assume_role` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials when accessing Amazon SQS | +| `shared_credentials` | *Optional[bool]* | :heavy_minus_sign: | Use the same credential settings for S3 and SQS | +| `shared_assume_role_arn` | *Optional[bool]* | :heavy_minus_sign: | Use the same settings for S3 and SQS | | `preprocess` | [Optional[models.PreprocessType]](../models/preprocesstype.md) | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `parquet_chunk_size_mb` | *Optional[float]* | :heavy_minus_sign: | Maximum file size for each Parquet chunk | @@ -45,9 +47,15 @@ | `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 | +| `sqs_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Amazon Resource Name (ARN) of the role to assume | +| `sqs_assume_role_external_id` | *Optional[str]* | :heavy_minus_sign: | External ID to use when assuming role | +| `sqs_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). | +| `sqs_aws_authentication_method` | [Optional[models.SqsAuthenticationMethodOptions]](../models/sqsauthenticationmethodoptions.md) | :heavy_minus_sign: | Choose Auto to use IAM roles | +| `sqs_aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | +| `sqs_aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `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. | | `processed_tag_value` | *Optional[str]* | :heavy_minus_sign: | The value for the S3 object tag applied after processing. This field accepts an expression for dynamic generation. | | `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. | @@ -59,4 +67,7 @@ | `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_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_aws_api_key` | *Optional[str]* | :heavy_minus_sign: | 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. | \ No newline at end of file +| `template_aws_api_key` | *Optional[str]* | :heavy_minus_sign: | 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_sqs_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime. | +| `template_sqs_assume_role_external_id` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime. | +| `template_sqs_aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputinputs3inventory.md b/docs/models/createinputinputs3inventory.md index 20fcf0856..93176eb78 100644 --- a/docs/models/createinputinputs3inventory.md +++ b/docs/models/createinputinputs3inventory.md @@ -7,12 +7,12 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `queue_name` | *str* | :heavy_check_mark: | 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}`. | @@ -37,6 +37,8 @@ | `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). | | `enable_sqs_assume_role` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials when accessing Amazon SQS | +| `shared_credentials` | *Optional[bool]* | :heavy_minus_sign: | Use the same credential settings for S3 and SQS | +| `shared_assume_role_arn` | *Optional[bool]* | :heavy_minus_sign: | Use the same settings for S3 and SQS | | `preprocess` | [Optional[models.PreprocessType]](../models/preprocesstype.md) | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `parquet_chunk_size_mb` | *Optional[float]* | :heavy_minus_sign: | Maximum file size for each Parquet chunk | @@ -46,9 +48,15 @@ | `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 | +| `sqs_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Amazon Resource Name (ARN) of the role to assume | +| `sqs_assume_role_external_id` | *Optional[str]* | :heavy_minus_sign: | External ID to use when assuming role | +| `sqs_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). | +| `sqs_aws_authentication_method` | [Optional[models.SqsAuthenticationMethodOptions]](../models/sqsauthenticationmethodoptions.md) | :heavy_minus_sign: | Choose Auto to use IAM roles | +| `sqs_aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | +| `sqs_aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `tag_after_processing` | [Optional[models.TagAfterProcessingOptions]](../models/tagafterprocessingoptions.md) | :heavy_minus_sign: | N/A | | `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. | | `processed_tag_value` | *Optional[str]* | :heavy_minus_sign: | The value for the S3 object tag applied after processing. This field accepts an expression for dynamic generation. | @@ -61,4 +69,7 @@ | `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_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_aws_api_key` | *Optional[str]* | :heavy_minus_sign: | 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. | \ No newline at end of file +| `template_aws_api_key` | *Optional[str]* | :heavy_minus_sign: | 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_sqs_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime. | +| `template_sqs_assume_role_external_id` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime. | +| `template_sqs_aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputinputsecuritylake.md b/docs/models/createinputinputsecuritylake.md index 7aae0ae1f..8db42fb92 100644 --- a/docs/models/createinputinputsecuritylake.md +++ b/docs/models/createinputinputsecuritylake.md @@ -7,12 +7,12 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `queue_name` | *str* | :heavy_check_mark: | 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}`. | @@ -37,6 +37,8 @@ | `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). | | `enable_sqs_assume_role` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials when accessing Amazon SQS | +| `shared_credentials` | *Optional[bool]* | :heavy_minus_sign: | Use the same credential settings for S3 and SQS | +| `shared_assume_role_arn` | *Optional[bool]* | :heavy_minus_sign: | Use the same settings for S3 and SQS | | `preprocess` | [Optional[models.PreprocessType]](../models/preprocesstype.md) | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `parquet_chunk_size_mb` | *Optional[float]* | :heavy_minus_sign: | Maximum file size for each Parquet chunk | @@ -44,9 +46,15 @@ | `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 | +| `sqs_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Amazon Resource Name (ARN) of the role to assume | +| `sqs_assume_role_external_id` | *Optional[str]* | :heavy_minus_sign: | External ID to use when assuming role | +| `sqs_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). | +| `sqs_aws_authentication_method` | [Optional[models.SqsAuthenticationMethodOptions]](../models/sqsauthenticationmethodoptions.md) | :heavy_minus_sign: | Choose Auto to use IAM roles | +| `sqs_aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | +| `sqs_aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `tag_after_processing` | [Optional[models.TagAfterProcessingOptions]](../models/tagafterprocessingoptions.md) | :heavy_minus_sign: | N/A | | `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. | | `processed_tag_value` | *Optional[str]* | :heavy_minus_sign: | The value for the S3 object tag applied after processing. This field accepts an expression for dynamic generation. | @@ -59,4 +67,7 @@ | `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_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_aws_api_key` | *Optional[str]* | :heavy_minus_sign: | 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. | \ No newline at end of file +| `template_aws_api_key` | *Optional[str]* | :heavy_minus_sign: | 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_sqs_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime. | +| `template_sqs_assume_role_external_id` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime. | +| `template_sqs_aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputinputservicenowtable.md b/docs/models/createinputinputservicenowtable.md index 0790f35f2..3d44fa989 100644 --- a/docs/models/createinputinputservicenowtable.md +++ b/docs/models/createinputinputservicenowtable.md @@ -7,12 +7,12 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `instance` | *str* | :heavy_check_mark: | ServiceNow instance base URL for Table API requests. Enter a literal URL (http or https and the instance host, for example a hostname ending in .service-now.com) or a Cribl expression that resolves to a URL. | @@ -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..f86679040 100644 --- a/docs/models/createinputinputsnmp.md +++ b/docs/models/createinputinputsnmp.md @@ -7,12 +7,12 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | 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. | @@ -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..1ebce23d8 100644 --- a/docs/models/createinputinputsplunk.md +++ b/docs/models/createinputinputsplunk.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..1b0d5807c 100644 --- a/docs/models/createinputinputsplunkhec.md +++ b/docs/models/createinputinputsplunkhec.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..8c9a8c5aa 100644 --- a/docs/models/createinputinputsplunksearch.md +++ b/docs/models/createinputinputsplunksearch.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `search_head` | *str* | :heavy_check_mark: | Search head base URL. Can be an expression. Default is https://localhost:8089. | @@ -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..496e3a3fc 100644 --- a/docs/models/createinputinputsqs.md +++ b/docs/models/createinputinputsqs.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `queue_name` | *str* | :heavy_check_mark: | The name, URL, or ARN of the SQS queue to read events 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 only be evaluated at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`. | @@ -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 new file mode 100644 index 000000000..26b09baf1 --- /dev/null +++ b/docs/models/createinputinputsysdighec.md @@ -0,0 +1,46 @@ +# CreateInputInputSysdigHec + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | Unique ID for this input | +| `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. | +| `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | +| `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | +| `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | +| `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | +| `port` | *float* | :heavy_check_mark: | Port to listen on | +| `auth_tokens` | List[[models.AuthTokenConfInputCloudflareHec](../models/authtokenconfinputcloudflarehec.md)] | :heavy_minus_sign: | Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted. | +| `tls` | [Optional[models.TLSSettingsServerSideType]](../models/tlssettingsserversidetype.md) | :heavy_minus_sign: | N/A | +| `max_active_req` | *Optional[float]* | :heavy_minus_sign: | Maximum number of active requests allowed per Worker Process. Set to 0 for unlimited. Caution: Increasing the limit above the default value, or setting it to unlimited, may degrade performance and reduce throughput. | +| `max_requests_per_socket` | *Optional[int]* | :heavy_minus_sign: | Maximum number of requests per socket before @{product} instructs the client to close the connection. Default is 0 (unlimited). | +| `enable_proxy_header` | *Optional[bool]* | :heavy_minus_sign: | Extract the client IP and port from PROXY protocol v1/v2. When enabled, the X-Forwarded-For header is ignored. Disable to use the X-Forwarded-For header for client IP extraction. | +| `capture_headers` | *Optional[bool]* | :heavy_minus_sign: | Add request headers to events, in the __headers field | +| `activity_log_sample_rate` | *Optional[float]* | :heavy_minus_sign: | How often request activity is logged at the `info` level. A value of 1 would log every request, 10 every 10th request, etc. | +| `request_timeout` | *Optional[float]* | :heavy_minus_sign: | How long to wait for an incoming request to complete before aborting it. Use 0 to disable. | +| `socket_timeout` | *Optional[float]* | :heavy_minus_sign: | How long @{product} should wait before assuming that an inactive socket has timed out. To wait forever, set to 0. | +| `keep_alive_timeout` | *Optional[float]* | :heavy_minus_sign: | After the last response is sent, @{product} will wait this long for additional data before closing the socket connection. Minimum 1 second, maximum 600 seconds (10 minutes). | +| `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. | +| `hec_api` | *str* | :heavy_check_mark: | Absolute path on which to listen for the Sysdig HTTP Event Collector API requests. This input supports the /event and /raw endpoints. | +| `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to every event. May be overridden by fields added at the token or request level. | +| `allowed_indexes` | List[*str*] | :heavy_minus_sign: | List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level. | +| `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: | 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. | +| `template_port` | *Optional[str]* | :heavy_minus_sign: | 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_hec_api` | *Optional[str]* | :heavy_minus_sign: | Binds 'hecAPI' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'hecAPI' at runtime. | +| `template_allowed_indexes` | *Optional[str]* | :heavy_minus_sign: | Binds 'allowedIndexes' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'allowedIndexes' at runtime. | +| `template_access_control_allow_origin` | *Optional[str]* | :heavy_minus_sign: | Binds 'accessControlAllowOrigin' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowOrigin' at runtime. | +| `template_access_control_allow_headers` | *Optional[str]* | :heavy_minus_sign: | Binds 'accessControlAllowHeaders' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowHeaders' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputinputsyslogsyslog1.md b/docs/models/createinputinputsyslogsyslog1.md index 865fa0f08..2ebd44a12 100644 --- a/docs/models/createinputinputsyslogsyslog1.md +++ b/docs/models/createinputinputsyslogsyslog1.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | 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. | @@ -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..65e976eb9 100644 --- a/docs/models/createinputinputsyslogsyslog2.md +++ b/docs/models/createinputinputsyslogsyslog2.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | 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. | @@ -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..a80332341 100644 --- a/docs/models/createinputinputsystemmetrics.md +++ b/docs/models/createinputinputsystemmetrics.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `interval` | *Optional[float]* | :heavy_minus_sign: | Time, in seconds, between consecutive metric collections. Default is 10 seconds. | @@ -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..59652a04e 100644 --- a/docs/models/createinputinputsystemstate.md +++ b/docs/models/createinputinputsystemstate.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `interval` | *Optional[float]* | :heavy_minus_sign: | Time, in seconds, between consecutive state collections. Default is 300 seconds (5 minutes). | @@ -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..16da33e3f 100644 --- a/docs/models/createinputinputtcp.md +++ b/docs/models/createinputinputtcp.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..1dae3a5ac 100644 --- a/docs/models/createinputinputtcpjson.md +++ b/docs/models/createinputinputtcpjson.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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/createinputinputupwindhec.md b/docs/models/createinputinputupwindhec.md new file mode 100644 index 000000000..e60234f1f --- /dev/null +++ b/docs/models/createinputinputupwindhec.md @@ -0,0 +1,46 @@ +# CreateInputInputUpwindHec + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | Unique ID for this input | +| `type` | [models.CreateInputTypeUpwindHec](../models/createinputtypeupwindhec.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. | +| `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | +| `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | +| `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | +| `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | +| `port` | *float* | :heavy_check_mark: | Port to listen on | +| `auth_tokens` | List[[models.AuthTokenConfInputCloudflareHec](../models/authtokenconfinputcloudflarehec.md)] | :heavy_minus_sign: | Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted. | +| `tls` | [Optional[models.TLSSettingsServerSideType]](../models/tlssettingsserversidetype.md) | :heavy_minus_sign: | N/A | +| `max_active_req` | *Optional[float]* | :heavy_minus_sign: | Maximum number of active requests allowed per Worker Process. Set to 0 for unlimited. Caution: Increasing the limit above the default value, or setting it to unlimited, may degrade performance and reduce throughput. | +| `max_requests_per_socket` | *Optional[int]* | :heavy_minus_sign: | Maximum number of requests per socket before @{product} instructs the client to close the connection. Default is 0 (unlimited). | +| `enable_proxy_header` | *Optional[bool]* | :heavy_minus_sign: | Extract the client IP and port from PROXY protocol v1/v2. When enabled, the X-Forwarded-For header is ignored. Disable to use the X-Forwarded-For header for client IP extraction. | +| `capture_headers` | *Optional[bool]* | :heavy_minus_sign: | Add request headers to events, in the __headers field | +| `activity_log_sample_rate` | *Optional[float]* | :heavy_minus_sign: | How often request activity is logged at the `info` level. A value of 1 would log every request, 10 every 10th request, etc. | +| `request_timeout` | *Optional[float]* | :heavy_minus_sign: | How long to wait for an incoming request to complete before aborting it. Use 0 to disable. | +| `socket_timeout` | *Optional[float]* | :heavy_minus_sign: | How long @{product} should wait before assuming that an inactive socket has timed out. To wait forever, set to 0. | +| `keep_alive_timeout` | *Optional[float]* | :heavy_minus_sign: | After the last response is sent, @{product} will wait this long for additional data before closing the socket connection. Minimum 1 second, maximum 600 seconds (10 minutes). | +| `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. | +| `hec_api` | *str* | :heavy_check_mark: | Absolute path on which to listen for the Upwind HTTP Event Collector API requests. This input supports the /event endpoint. | +| `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to every event. May be overridden by fields added at the token or request level. | +| `allowed_indexes` | List[*str*] | :heavy_minus_sign: | List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level. | +| `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: | 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. | +| `template_port` | *Optional[str]* | :heavy_minus_sign: | 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_hec_api` | *Optional[str]* | :heavy_minus_sign: | Binds 'hecAPI' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'hecAPI' at runtime. | +| `template_allowed_indexes` | *Optional[str]* | :heavy_minus_sign: | Binds 'allowedIndexes' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'allowedIndexes' at runtime. | +| `template_access_control_allow_origin` | *Optional[str]* | :heavy_minus_sign: | Binds 'accessControlAllowOrigin' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowOrigin' at runtime. | +| `template_access_control_allow_headers` | *Optional[str]* | :heavy_minus_sign: | Binds 'accessControlAllowHeaders' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowHeaders' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputinputwef.md b/docs/models/createinputinputwef.md index 9c93800c4..835b4a08c 100644 --- a/docs/models/createinputinputwef.md +++ b/docs/models/createinputinputwef.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..ef46555a9 100644 --- a/docs/models/createinputinputwindowsmetrics.md +++ b/docs/models/createinputinputwindowsmetrics.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `interval` | *Optional[float]* | :heavy_minus_sign: | Time, in seconds, between consecutive metric collections. Default is 10 seconds. | @@ -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 81cee1c43..015bfd594 100644 --- a/docs/models/createinputinputwineventlogs.md +++ b/docs/models/createinputinputwineventlogs.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `log_names` | List[*str*] | :heavy_check_mark: | Enter the event logs to collect. Run "Get-WinEvent -ListLog *" in PowerShell to see the available logs. | @@ -22,8 +22,8 @@ | `interval` | *Optional[float]* | :heavy_minus_sign: | Time, in seconds, between checking for new entries (Applicable for pre-4.8.0 nodes that use Windows Tools) | | `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[float]* | :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 | +| `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: | 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..10b619022 100644 --- a/docs/models/createinputinputwiz.md +++ b/docs/models/createinputinputwiz.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `endpoint` | *str* | :heavy_check_mark: | The Wiz GraphQL API endpoint. Example: https://api.us1.app.wiz.io/graphql | @@ -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..214430df0 100644 --- a/docs/models/createinputinputwizwebhook.md +++ b/docs/models/createinputinputwizwebhook.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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 af789b28c..e3c34bcde 100644 --- a/docs/models/createinputinputzscalerhec.md +++ b/docs/models/createinputinputzscalerhec.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -32,13 +32,16 @@ | `hec_api` | *str* | :heavy_check_mark: | Absolute path on which to listen for the Zscaler HTTP Event Collector API requests. This input supports the /event endpoint. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to every event. May be overridden by fields added at the token or request level. | | `allowed_indexes` | List[*str*] | :heavy_minus_sign: | List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level. | +| `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 | | `hec_acks` | *Optional[bool]* | :heavy_minus_sign: | Whether to enable Zscaler HEC acknowledgements | -| `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: | Enable to 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. | | `template_port` | *Optional[str]* | :heavy_minus_sign: | 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_hec_api` | *Optional[str]* | :heavy_minus_sign: | Binds 'hecAPI' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'hecAPI' at runtime. | \ No newline at end of file +| `template_hec_api` | *Optional[str]* | :heavy_minus_sign: | Binds 'hecAPI' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'hecAPI' at runtime. | +| `template_allowed_indexes` | *Optional[str]* | :heavy_minus_sign: | Binds 'allowedIndexes' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'allowedIndexes' at runtime. | +| `template_access_control_allow_origin` | *Optional[str]* | :heavy_minus_sign: | Binds 'accessControlAllowOrigin' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowOrigin' at runtime. | +| `template_access_control_allow_headers` | *Optional[str]* | :heavy_minus_sign: | Binds 'accessControlAllowHeaders' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowHeaders' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputproxymodedatadogagent.md b/docs/models/createinputproxymodedatadogagent.md index 6fcbc6e6c..5148c8e8a 100644 --- a/docs/models/createinputproxymodedatadogagent.md +++ b/docs/models/createinputproxymodedatadogagent.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `enabled` | *bool* | :heavy_check_mark: | Toggle to Yes to send key validation requests from Datadog Agent to the Datadog API. If toggled to No (the default), Stream handles key validation requests by always responding that the key is valid. | -| `reject_unauthorized` | *Optional[bool]* | :heavy_minus_sign: | Whether to reject certificates that cannot be verified against a valid CA (e.g., self-signed certificates). | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `enabled` | *bool* | :heavy_check_mark: | Forward key validation requests from the Datadog Agent to the Datadog API. If disabled, Stream handles key validation requests locally by always responding that the key is valid. | +| `reject_unauthorized` | *Optional[bool]* | :heavy_minus_sign: | Whether to reject certificates that cannot be verified against a valid CA (such as self-signed certificates) | \ No newline at end of file diff --git a/docs/models/createinputrequest.md b/docs/models/createinputrequest.md index 3ab983b9d..771e48138 100644 --- a/docs/models/createinputrequest.md +++ b/docs/models/createinputrequest.md @@ -395,6 +395,18 @@ value: models.CreateInputInputZscalerHec = /* values here */ value: models.CreateInputInputCloudflareHec = /* values here */ ``` +### `models.CreateInputInputSysdigHec` + +```python +value: models.CreateInputInputSysdigHec = /* values here */ +``` + +### `models.CreateInputInputUpwindHec` + +```python +value: models.CreateInputInputUpwindHec = /* values here */ +``` + ### `models.CreateInputInputOpenaiComplianceLogs` ```python diff --git a/docs/models/createinputsamplingrule.md b/docs/models/createinputsamplingrule.md new file mode 100644 index 000000000..110faa289 --- /dev/null +++ b/docs/models/createinputsamplingrule.md @@ -0,0 +1,10 @@ +# CreateInputSamplingRule + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | +| `service` | *str* | :heavy_check_mark: | Datadog service name | +| `environment` | *str* | :heavy_check_mark: | Datadog environment name (example: prod, staging) | +| `rate` | *float* | :heavy_check_mark: | Sampling rate for this service/environment combination (0.0–1.0) | \ No newline at end of file diff --git a/docs/models/createinputsystembypackauth.md b/docs/models/createinputsystembypackauth.md index fb0531cfc..ab7fe057c 100644 --- a/docs/models/createinputsystembypackauth.md +++ b/docs/models/createinputsystembypackauth.md @@ -9,7 +9,7 @@ | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `client_secret_auth_type` | [Optional[models.AuthenticationMethodOptionsAuth]](../models/authenticationmethodoptionsauth.md) | :heavy_minus_sign: | N/A | | `client_text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | -| `certificate` | [Optional[models.CertificateTypeAzureBlobAuthTypeClientCert]](../models/certificatetypeazureblobauthtypeclientcert.md) | :heavy_minus_sign: | N/A | +| `certificate` | [Optional[models.CreateInputSystemByPackCertificate]](../models/createinputsystembypackcertificate.md) | :heavy_minus_sign: | N/A | | `oauth_endpoint` | [Optional[models.MicrosoftEntraIDAuthenticationEndpointOptionsSasl]](../models/microsoftentraidauthenticationendpointoptionssasl.md) | :heavy_minus_sign: | Endpoint used to acquire authentication tokens from Azure | | `client_id` | *Optional[str]* | :heavy_minus_sign: | client_id to pass in the OAuth request parameter | | `tenant_id` | *Optional[str]* | :heavy_minus_sign: | Directory ID (tenant identifier) in Azure Active Directory | diff --git a/docs/models/createinputsystembypackauthenticationmethodcloudflarehec.md b/docs/models/createinputsystembypackauthenticationmethodcloudflarehec.md deleted file mode 100644 index c1b43b277..000000000 --- a/docs/models/createinputsystembypackauthenticationmethodcloudflarehec.md +++ /dev/null @@ -1,20 +0,0 @@ -# CreateInputSystemByPackAuthenticationMethodCloudflareHec - -Select Secret to use a text secret to authenticate - -## Example Usage - -```python -from cribl_control_plane.models import CreateInputSystemByPackAuthenticationMethodCloudflareHec - -value = CreateInputSystemByPackAuthenticationMethodCloudflareHec.SECRET - -# Open enum: unrecognized values are captured as UnrecognizedStr -``` - - -## Values - -| Name | Value | -| -------- | -------- | -| `SECRET` | secret | \ No newline at end of file diff --git a/docs/models/createinputsystembypackauthtokencloudflarehec.md b/docs/models/createinputsystembypackauthtokencloudflarehec.md deleted file mode 100644 index 1ec9fe1e0..000000000 --- a/docs/models/createinputsystembypackauthtokencloudflarehec.md +++ /dev/null @@ -1,14 +0,0 @@ -# CreateInputSystemByPackAuthTokenCloudflareHec - - -## Fields - -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -| `auth_type` | [Optional[models.CreateInputSystemByPackAuthenticationMethodCloudflareHec]](../models/createinputsystembypackauthenticationmethodcloudflarehec.md) | :heavy_minus_sign: | Select Secret to use a text secret to authenticate | -| `token_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | -| `token` | *Optional[str]* | :heavy_minus_sign: | Shared secret to be provided by any client (Authorization: ) | -| `enabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `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/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/createinputsystembypackcertificate.md b/docs/models/createinputsystembypackcertificate.md new file mode 100644 index 000000000..d71f3f6f5 --- /dev/null +++ b/docs/models/createinputsystembypackcertificate.md @@ -0,0 +1,11 @@ +# CreateInputSystemByPackCertificate + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| `certificate_name` | *str* | :heavy_check_mark: | The certificate you registered as credentials for your app in the Azure portal | +| `cert_path` | *str* | :heavy_check_mark: | Path on server containing certificates to use. PEM format. Can reference $ENV_VARS. | +| `priv_key_path` | *str* | :heavy_check_mark: | Path on server containing the private key to use. PEM format. Can reference $ENV_VARS. | +| `passphrase` | *Optional[str]* | :heavy_minus_sign: | Passphrase to use to decrypt private key | \ No newline at end of file diff --git a/docs/models/createinputsystembypackcontentconfiganthropiccompliance.md b/docs/models/createinputsystembypackcontentconfiganthropiccompliance.md index 7428acef3..27035c8eb 100644 --- a/docs/models/createinputsystembypackcontentconfiganthropiccompliance.md +++ b/docs/models/createinputsystembypackcontentconfiganthropiccompliance.md @@ -5,14 +5,14 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -| `content_type` | *str* | :heavy_check_mark: | N/A | +| `content_type` | [models.CreateInputSystemByPackEndpointName](../models/createinputsystembypackendpointname.md) | :heavy_check_mark: | N/A | | `content_description` | *Optional[str]* | :heavy_minus_sign: | N/A | | `enabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | | `state_tracking` | *Optional[bool]* | :heavy_minus_sign: | Track collection progress between consecutive scheduled executions | | `state_update_expression` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that defines how to update the state from an event | | `state_merge_expression` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that defines which state to keep when merging task state | | `manage_state` | [Optional[models.CreateInputSystemByPackManageStateAnthropicCompliance]](../models/createinputsystembypackmanagestateanthropiccompliance.md) | :heavy_minus_sign: | N/A | +| `earliest` | *Optional[str]* | :heavy_minus_sign: | Earliest time for data collection, relative to now | +| `latest` | *Optional[str]* | :heavy_minus_sign: | Latest time for data collection, relative to now | | `cron_schedule` | *str* | :heavy_check_mark: | Schedule on which to run this collection job | -| `earliest` | *str* | :heavy_check_mark: | Earliest time for data collection, relative to now | -| `latest` | *str* | :heavy_check_mark: | Latest time for data collection, relative to now | | `job_timeout` | *Optional[str]* | :heavy_minus_sign: | Maximum time the job is allowed to run (examples: 30, 45s, 15m). Enter 0 for unlimited time. | \ No newline at end of file diff --git a/docs/models/createinputsystembypackcontentconfiginput.md b/docs/models/createinputsystembypackcontentconfiginput.md index 2dc250937..3bca2ed19 100644 --- a/docs/models/createinputsystembypackcontentconfiginput.md +++ b/docs/models/createinputsystembypackcontentconfiginput.md @@ -3,23 +3,23 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `state_tracking` | *Optional[bool]* | :heavy_minus_sign: | Track collection progress between consecutive scheduled executions. | -| `state_update_expression` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that defines how to update the state from an event | -| `state_merge_expression` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that defines which state to keep when merging task state | -| `manage_state` | [Optional[models.CreateInputSystemByPackManageStateOpenai]](../models/createinputsystembypackmanagestateopenai.md) | :heavy_minus_sign: | N/A | -| `request_params` | List[[models.RequestParamConfInputOpenai](../models/requestparamconfinputopenai.md)] | :heavy_check_mark: | Query-string parameters to send with this endpoint | -| `pagination_type` | [models.CreateInputSystemByPackPaginationType](../models/createinputsystembypackpaginationtype.md) | :heavy_check_mark: | N/A | -| `pagination_attribute` | List[*str*] | :heavy_minus_sign: | N/A | -| `pagination_last_page_expr` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `max_pages` | *Optional[float]* | :heavy_minus_sign: | Maximum number of pages to retrieve per collection task. Set to 0 only when unlimited pagination is required. | -| `pagination_next_relation_attribute` | *Optional[str]* | :heavy_minus_sign: | Used only for RFC 5988 link-header pagination | -| `pagination_cur_relation_attribute` | *Optional[str]* | :heavy_minus_sign: | Optional relation that represents the current page | -| `cron_schedule` | *str* | :heavy_check_mark: | A cron schedule on which to run this job | -| `earliest` | *str* | :heavy_check_mark: | Relative to the current time | -| `latest` | *str* | :heavy_check_mark: | Relative to the current time | -| `job_timeout` | *Optional[str]* | :heavy_minus_sign: | Maximum time the job is allowed to run (examples: 30, 45s, 15m). Enter 0 for unlimited time. | -| `log_level` | [Optional[models.CreateInputSystemByPackLogLevelOpenai]](../models/createinputsystembypackloglevelopenai.md) | :heavy_minus_sign: | Collector runtime log level. | -| `endpoint_metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields automatically added to events from this Content Type | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `state_tracking` | *Optional[bool]* | :heavy_minus_sign: | Track collection progress between consecutive scheduled executions. | +| `state_update_expression` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that defines how to update the state from an event | +| `state_merge_expression` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that defines which state to keep when merging task state | +| `manage_state` | [Optional[models.CreateInputSystemByPackManageStateOpenai]](../models/createinputsystembypackmanagestateopenai.md) | :heavy_minus_sign: | N/A | +| `request_params` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauthSecret](../models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.md)] | :heavy_check_mark: | Query-string parameters to send with this endpoint | +| `pagination_type` | [models.CreateInputSystemByPackPaginationType](../models/createinputsystembypackpaginationtype.md) | :heavy_check_mark: | N/A | +| `pagination_attribute` | List[*str*] | :heavy_minus_sign: | N/A | +| `pagination_last_page_expr` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `max_pages` | *Optional[float]* | :heavy_minus_sign: | Maximum number of pages to retrieve per collection task. Set to 0 only when unlimited pagination is required. | +| `pagination_next_relation_attribute` | *Optional[str]* | :heavy_minus_sign: | Used only for RFC 5988 link-header pagination | +| `pagination_cur_relation_attribute` | *Optional[str]* | :heavy_minus_sign: | Optional relation that represents the current page | +| `cron_schedule` | *str* | :heavy_check_mark: | A cron schedule on which to run this job | +| `earliest` | *str* | :heavy_check_mark: | Relative to the current time | +| `latest` | *str* | :heavy_check_mark: | Relative to the current time | +| `job_timeout` | *Optional[str]* | :heavy_minus_sign: | Maximum time the job is allowed to run (examples: 30, 45s, 15m). Enter 0 for unlimited time. | +| `log_level` | [Optional[models.CreateInputSystemByPackLogLevelOpenai]](../models/createinputsystembypackloglevelopenai.md) | :heavy_minus_sign: | Collector runtime log level. | +| `endpoint_metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields automatically added to events from this Content Type | \ No newline at end of file diff --git a/docs/models/createinputsystembypackdiscoverytypeedgeprometheus.md b/docs/models/createinputsystembypackdiscoverytypeedgeprometheus.md index bac78f545..079e6abdf 100644 --- a/docs/models/createinputsystembypackdiscoverytypeedgeprometheus.md +++ b/docs/models/createinputsystembypackdiscoverytypeedgeprometheus.md @@ -22,4 +22,5 @@ value = CreateInputSystemByPackDiscoveryTypeEdgePrometheus.STATIC | `EC2` | ec2 | | `K8S_NODE` | k8s-node | | `K8S_PODS` | k8s-pods | -| `K8S_SERVICE_MONITOR` | k8s-service-monitor | \ No newline at end of file +| `K8S_SERVICE_MONITOR` | k8s-service-monitor | +| `HTTP_SD` | http_sd | \ No newline at end of file diff --git a/docs/models/createinputsystembypackdiscoverytypeprometheus.md b/docs/models/createinputsystembypackdiscoverytypeprometheus.md index 309835c03..4e28f7c9f 100644 --- a/docs/models/createinputsystembypackdiscoverytypeprometheus.md +++ b/docs/models/createinputsystembypackdiscoverytypeprometheus.md @@ -15,8 +15,9 @@ value = CreateInputSystemByPackDiscoveryTypePrometheus.STATIC ## Values -| Name | Value | -| -------- | -------- | -| `STATIC` | static | -| `DNS` | dns | -| `EC2` | ec2 | \ No newline at end of file +| Name | Value | +| --------- | --------- | +| `STATIC` | static | +| `DNS` | dns | +| `EC2` | ec2 | +| `HTTP_SD` | http_sd | \ No newline at end of file diff --git a/docs/models/createinputsystembypackendpointname.md b/docs/models/createinputsystembypackendpointname.md new file mode 100644 index 000000000..9844abf47 --- /dev/null +++ b/docs/models/createinputsystembypackendpointname.md @@ -0,0 +1,22 @@ +# CreateInputSystemByPackEndpointName + +## Example Usage + +```python +from cribl_control_plane.models import CreateInputSystemByPackEndpointName + +value = CreateInputSystemByPackEndpointName.ACTIVITIES + +# Open enum: unrecognized values are captured as UnrecognizedStr +``` + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `ACTIVITIES` | activities | +| `CHATS` | chats | +| `PROJECTS` | projects | +| `GROUPS` | groups | +| `ORGANIZATIONS` | organizations | \ No newline at end of file diff --git a/docs/models/createinputsystembypackinputanthropiccompliance.md b/docs/models/createinputsystembypackinputanthropiccompliance.md index bcf8fdc43..771ff7aa6 100644 --- a/docs/models/createinputsystembypackinputanthropiccompliance.md +++ b/docs/models/createinputsystembypackinputanthropiccompliance.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | @@ -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 e6608594c..f4993cc2a 100644 --- a/docs/models/createinputsystembypackinputappleunifiedlogs.md +++ b/docs/models/createinputsystembypackinputappleunifiedlogs.md @@ -3,21 +3,21 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `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 | -| `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | -| `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | -| `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | -| `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | -| `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | -| `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | -| `predicate` | *str* | :heavy_check_mark: | String to filter log entries, in NSPredicate format (e.g., subsystem == "com.apple.security" or process == "kernel"). See [Predicate format reference](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/Predicates/AdditionalChapters/Introduction.html) 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 | -| `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 +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `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: | If true, the Source is disabled and will not collect data. | +| `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | +| `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | +| `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | +| `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | +| `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | +| `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | +| `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: | 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..baa000a97 100644 --- a/docs/models/createinputsystembypackinputappscope.md +++ b/docs/models/createinputsystembypackinputappscope.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `ip_whitelist_regex` | *Optional[str]* | :heavy_minus_sign: | Regex matching IP addresses that are allowed to establish a connection | @@ -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..8c065a45e 100644 --- a/docs/models/createinputsystembypackinputazureblob.md +++ b/docs/models/createinputsystembypackinputazureblob.md @@ -7,12 +7,12 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `queue_name` | *str* | :heavy_check_mark: | 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}` | @@ -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 533df1f71..15241ece0 100644 --- a/docs/models/createinputsystembypackinputcloudflarehec.md +++ b/docs/models/createinputsystembypackinputcloudflarehec.md @@ -6,18 +6,18 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | | `port` | *float* | :heavy_check_mark: | Port to listen on | -| `auth_tokens` | List[[models.CreateInputSystemByPackAuthTokenCloudflareHec](../models/createinputsystembypackauthtokencloudflarehec.md)] | :heavy_minus_sign: | Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted. | +| `auth_tokens` | List[[models.AuthTokenConfInputCloudflareHec](../models/authtokenconfinputcloudflarehec.md)] | :heavy_minus_sign: | Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted. | | `tls` | [Optional[models.CreateInputSystemByPackTLSSettingsServerSide]](../models/createinputsystembypacktlssettingsserverside.md) | :heavy_minus_sign: | N/A | | `max_active_req` | *Optional[float]* | :heavy_minus_sign: | Maximum number of active requests allowed per Worker Process. Set to 0 for unlimited. Caution: Increasing the limit above the default value, or setting it to unlimited, may degrade performance and reduce throughput. | | `max_requests_per_socket` | *Optional[int]* | :heavy_minus_sign: | Maximum number of requests per socket before @{product} instructs the client to close the connection. Default is 0 (unlimited). | @@ -32,12 +32,12 @@ | `hec_api` | *str* | :heavy_check_mark: | Absolute path on which to listen for the Cloudflare HTTP Event Collector API requests. This input supports the /event endpoint. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to every event. May be overridden by fields added at the token or request level. | | `allowed_indexes` | List[*str*] | :heavy_minus_sign: | List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level. | -| `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 | | `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 | +| `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: | 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..a5c87c461 100644 --- a/docs/models/createinputsystembypackinputcollection.md +++ b/docs/models/createinputsystembypackinputcollection.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `breaker_rulesets` | List[*str*] | :heavy_minus_sign: | A list of event-breaking rulesets that will be applied, in order, to the input data stream | diff --git a/docs/models/createinputsystembypackinputconfluentcloud.md b/docs/models/createinputsystembypackinputconfluentcloud.md index bea850ff5..d35a90ce2 100644 --- a/docs/models/createinputsystembypackinputconfluentcloud.md +++ b/docs/models/createinputsystembypackinputconfluentcloud.md @@ -7,12 +7,12 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `brokers` | List[*str*] | :heavy_check_mark: | List of Confluent Cloud bootstrap servers to use, such as yourAccount.confluent.cloud:9092 | @@ -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..eca30e957 100644 --- a/docs/models/createinputsystembypackinputcribl.md +++ b/docs/models/createinputsystembypackinputcribl.md @@ -7,16 +7,16 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `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..f4b7192ca 100644 --- a/docs/models/createinputsystembypackinputcriblhttp.md +++ b/docs/models/createinputsystembypackinputcriblhttp.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..2beb56488 100644 --- a/docs/models/createinputsystembypackinputcribllakehttp.md +++ b/docs/models/createinputsystembypackinputcribllakehttp.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..6d54dcd02 100644 --- a/docs/models/createinputsystembypackinputcriblmetrics.md +++ b/docs/models/createinputsystembypackinputcriblmetrics.md @@ -7,17 +7,17 @@ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `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..31fea960f 100644 --- a/docs/models/createinputsystembypackinputcribltcp.md +++ b/docs/models/createinputsystembypackinputcribltcp.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..e727283bf 100644 --- a/docs/models/createinputsystembypackinputcrowdstrike.md +++ b/docs/models/createinputsystembypackinputcrowdstrike.md @@ -7,12 +7,12 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `queue_name` | *str* | :heavy_check_mark: | 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}`. | @@ -37,14 +37,22 @@ | `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). | | `enable_sqs_assume_role` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials when accessing Amazon SQS | +| `shared_credentials` | *Optional[bool]* | :heavy_minus_sign: | Use the same credential settings for S3 and SQS | +| `shared_assume_role_arn` | *Optional[bool]* | :heavy_minus_sign: | Use the same settings for S3 and SQS | | `preprocess` | [Optional[models.PreprocessType]](../models/preprocesstype.md) | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `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 | +| `sqs_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Amazon Resource Name (ARN) of the role to assume | +| `sqs_assume_role_external_id` | *Optional[str]* | :heavy_minus_sign: | External ID to use when assuming role | +| `sqs_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). | +| `sqs_aws_authentication_method` | [Optional[models.SqsAuthenticationMethodOptions]](../models/sqsauthenticationmethodoptions.md) | :heavy_minus_sign: | Choose Auto to use IAM roles | +| `sqs_aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | +| `sqs_aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `tag_after_processing` | [Optional[models.TagAfterProcessingOptions]](../models/tagafterprocessingoptions.md) | :heavy_minus_sign: | N/A | | `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. | | `processed_tag_value` | *Optional[str]* | :heavy_minus_sign: | The value for the S3 object tag applied after processing. This field accepts an expression for dynamic generation. | @@ -57,4 +65,7 @@ | `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_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_aws_api_key` | *Optional[str]* | :heavy_minus_sign: | 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. | \ No newline at end of file +| `template_aws_api_key` | *Optional[str]* | :heavy_minus_sign: | 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_sqs_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime. | +| `template_sqs_assume_role_external_id` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime. | +| `template_sqs_aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputsystembypackinputdatadogagent.md b/docs/models/createinputsystembypackinputdatadogagent.md index afac18c83..0150404a8 100644 --- a/docs/models/createinputsystembypackinputdatadogagent.md +++ b/docs/models/createinputsystembypackinputdatadogagent.md @@ -3,37 +3,39 @@ ## Fields -| 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 | -| `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | -| `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | -| `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | -| `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | -| `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | -| `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | -| `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | -| `port` | *float* | :heavy_check_mark: | Port to listen on | -| `tls` | [Optional[models.TLSSettingsServerSideType]](../models/tlssettingsserversidetype.md) | :heavy_minus_sign: | N/A | -| `max_active_req` | *Optional[float]* | :heavy_minus_sign: | Maximum number of active requests allowed per Worker Process. Set to 0 for unlimited. Caution: Increasing the limit above the default value, or setting it to unlimited, may degrade performance and reduce throughput. | -| `max_requests_per_socket` | *Optional[int]* | :heavy_minus_sign: | Maximum number of requests per socket before @{product} instructs the client to close the connection. Default is 0 (unlimited). | -| `enable_proxy_header` | *Optional[bool]* | :heavy_minus_sign: | Extract the client IP and port from PROXY protocol v1/v2. When enabled, the X-Forwarded-For header is ignored. Disable to use the X-Forwarded-For header for client IP extraction. | -| `capture_headers` | *Optional[bool]* | :heavy_minus_sign: | Add request headers to events, in the __headers field | -| `activity_log_sample_rate` | *Optional[float]* | :heavy_minus_sign: | How often request activity is logged at the `info` level. A value of 1 would log every request, 10 every 10th request, etc. | -| `request_timeout` | *Optional[float]* | :heavy_minus_sign: | How long to wait for an incoming request to complete before aborting it. Use 0 to disable. | -| `socket_timeout` | *Optional[float]* | :heavy_minus_sign: | How long @{product} should wait before assuming that an inactive socket has timed out. To wait forever, set to 0. | -| `keep_alive_timeout` | *Optional[float]* | :heavy_minus_sign: | After the last response is sent, @{product} will wait this long for additional data before closing the socket connection. Minimum 1 second, maximum 600 seconds (10 minutes). | -| `enable_health_check` | *Optional[bool]* | :heavy_minus_sign: | Expose the /cribl_health endpoint, which returns 200 OK when this Source is healthy | -| `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. | -| `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 | -| `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. | -| `template_port` | *Optional[str]* | :heavy_minus_sign: | 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. | \ No newline at end of file +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | Unique ID for this input | +| `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. | +| `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | +| `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | +| `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | +| `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | +| `port` | *float* | :heavy_check_mark: | Port to listen on | +| `tls` | [Optional[models.TLSSettingsServerSideType]](../models/tlssettingsserversidetype.md) | :heavy_minus_sign: | N/A | +| `max_active_req` | *Optional[float]* | :heavy_minus_sign: | Maximum number of active requests allowed per Worker Process. Set to 0 for unlimited. Caution: Increasing the limit above the default value, or setting it to unlimited, may degrade performance and reduce throughput. | +| `max_requests_per_socket` | *Optional[int]* | :heavy_minus_sign: | Maximum number of requests per socket before @{product} instructs the client to close the connection. Default is 0 (unlimited). | +| `enable_proxy_header` | *Optional[bool]* | :heavy_minus_sign: | Extract the client IP and port from PROXY protocol v1/v2. When enabled, the X-Forwarded-For header is ignored. Disable to use the X-Forwarded-For header for client IP extraction. | +| `capture_headers` | *Optional[bool]* | :heavy_minus_sign: | Add request headers to events, in the __headers field | +| `activity_log_sample_rate` | *Optional[float]* | :heavy_minus_sign: | How often request activity is logged at the `info` level. A value of 1 would log every request, 10 every 10th request, etc. | +| `request_timeout` | *Optional[float]* | :heavy_minus_sign: | How long to wait for an incoming request to complete before aborting it. Use 0 to disable. | +| `socket_timeout` | *Optional[float]* | :heavy_minus_sign: | How long @{product} should wait before assuming that an inactive socket has timed out. To wait forever, set to 0. | +| `keep_alive_timeout` | *Optional[float]* | :heavy_minus_sign: | After the last response is sent, @{product} will wait this long for additional data before closing the socket connection. Minimum 1 second, maximum 600 seconds (10 minutes). | +| `enable_health_check` | *Optional[bool]* | :heavy_minus_sign: | Expose the /cribl_health endpoint, which returns 200 OK when this Source is healthy | +| `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. | +| `extract_metrics` | *Optional[bool]* | :heavy_minus_sign: | Extract each incoming metric to multiple events, one per data point. Recommended when sending metrics to a statsd-type output. If sending metrics to DatadogHQ or any destination that accepts arbitrary JSON, leave disabled. | +| `sampling_rate` | *Optional[float]* | :heavy_minus_sign: | The rate_by_service hint sent to connected tracers as the catch-all sampling rate. Applies to any service/environment not explicitly listed in Per-Service Sampling Rules. 1.0 = keep all traces (default); 0.0 = suggest dropping all. | +| `sampling_rules` | List[[models.CreateInputSystemByPackSamplingRule](../models/createinputsystembypacksamplingrule.md)] | :heavy_minus_sign: | Per-service sampling rate hints. Each row maps to a "service:,env:" key in the rate_by_service response sent to tracers. | +| `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: | 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. | +| `template_port` | *Optional[str]* | :heavy_minus_sign: | 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. | \ No newline at end of file diff --git a/docs/models/createinputsystembypackinputdatagen.md b/docs/models/createinputsystembypackinputdatagen.md index 9423c874c..7f0068271 100644 --- a/docs/models/createinputsystembypackinputdatagen.md +++ b/docs/models/createinputsystembypackinputdatagen.md @@ -7,16 +7,16 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `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 f84544ee7..1eee9f6fb 100644 --- a/docs/models/createinputsystembypackinputedgeprometheus.md +++ b/docs/models/createinputsystembypackinputedgeprometheus.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `dimension_list` | List[*str*] | :heavy_minus_sign: | Other dimensions to include in events | @@ -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. | @@ -49,6 +49,10 @@ | `scrape_port_expr` | *Optional[str]* | :heavy_minus_sign: | The port number in the metrics URL for discovered targets. | | `scrape_path_expr` | *Optional[str]* | :heavy_minus_sign: | Path to use when collecting metrics from discovered targets | | `pod_filter` | List[[models.CreateInputSystemByPackPodFilter](../models/createinputsystembypackpodfilter.md)] | :heavy_minus_sign: |
Add rules to decide which pods to discover for metrics.
Pods are searched if no rules are given or of all the rules'
expressions evaluate to true.
| +| `http_discovery_url` | *Optional[str]* | :heavy_minus_sign: | URL to fetch target groups from (must be http or https) | +| `http_discovery_headers` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauthSecret](../models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.md)] | :heavy_minus_sign: | Extra headers to send with the discovery request | +| `http_discovery_reject_unauthorized` | *Optional[bool]* | :heavy_minus_sign: | Reject TLS certificates that cannot be verified for the discovery endpoint. Falls back to the source-level setting if not specified. | +| `max_response_body_size` | *Optional[str]* | :heavy_minus_sign: | Maximum size of the HTTP SD response body. Responses exceeding this limit will be rejected. Defaults to 20 MB. | | `username` | *Optional[str]* | :heavy_minus_sign: | Username for Prometheus Basic authentication | | `password` | *Optional[str]* | :heavy_minus_sign: | Password for Prometheus Basic authentication | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a secret that references your credentials | diff --git a/docs/models/createinputsystembypackinputelastic.md b/docs/models/createinputsystembypackinputelastic.md index 94b177107..426abd84b 100644 --- a/docs/models/createinputsystembypackinputelastic.md +++ b/docs/models/createinputsystembypackinputelastic.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..08bcf9e9a 100644 --- a/docs/models/createinputsystembypackinputeventhub.md +++ b/docs/models/createinputsystembypackinputeventhub.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `brokers` | List[*str*] | :heavy_check_mark: | List of Event Hubs Kafka brokers to connect to (example: 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. | @@ -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..eebfb71b7 100644 --- a/docs/models/createinputsystembypackinputeventhubamqp.md +++ b/docs/models/createinputsystembypackinputeventhubamqp.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `event_hub_name` | *Optional[str]* | :heavy_minus_sign: | The name of the Event Hub to consume from | @@ -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..a12c505e8 100644 --- a/docs/models/createinputsystembypackinputexec.md +++ b/docs/models/createinputsystembypackinputexec.md @@ -12,7 +12,7 @@ | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `command` | *str* | :heavy_check_mark: | Command to execute; supports Bourne shell (or CMD on Windows) syntax | @@ -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..ab4377f19 100644 --- a/docs/models/createinputsystembypackinputfile.md +++ b/docs/models/createinputsystembypackinputfile.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `mode` | [Optional[models.CreateInputSystemByPackInputFileMode]](../models/createinputsystembypackinputfilemode.md) | :heavy_minus_sign: | Choose how to discover files to monitor | @@ -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..4ec395d3d 100644 --- a/docs/models/createinputsystembypackinputfirehose.md +++ b/docs/models/createinputsystembypackinputfirehose.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..75eeeb3bd 100644 --- a/docs/models/createinputsystembypackinputgooglepubsub.md +++ b/docs/models/createinputsystembypackinputgooglepubsub.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `topic_name` | *str* | :heavy_check_mark: | ID of the topic to receive events from. When Monitor subscription is enabled, any value may be entered. | @@ -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..a95fa8219 100644 --- a/docs/models/createinputsystembypackinputgrafanagrafana1.md +++ b/docs/models/createinputsystembypackinputgrafanagrafana1.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..e2d2d31b0 100644 --- a/docs/models/createinputsystembypackinputgrafanagrafana2.md +++ b/docs/models/createinputsystembypackinputgrafanagrafana2.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..1796f433f 100644 --- a/docs/models/createinputsystembypackinputhttp.md +++ b/docs/models/createinputsystembypackinputhttp.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..304739a2d 100644 --- a/docs/models/createinputsystembypackinputhttpraw.md +++ b/docs/models/createinputsystembypackinputhttpraw.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..deea3b48c 100644 --- a/docs/models/createinputsystembypackinputjournalfiles.md +++ b/docs/models/createinputsystembypackinputjournalfiles.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `path` | *str* | :heavy_check_mark: | Directory path to search for journals. Environment variables will be resolved, e.g. $CRIBL_EDGE_FS_ROOT/var/log/journal/$MACHINE_ID. | @@ -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..f26990a4a 100644 --- a/docs/models/createinputsystembypackinputkafka.md +++ b/docs/models/createinputsystembypackinputkafka.md @@ -7,12 +7,12 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `brokers` | List[*str*] | :heavy_check_mark: | Enter each Kafka bootstrap server you want to use. Specify the hostname and port (such as mykafkabroker:9092) or just the hostname (in which case @{product} will assign port 9092). | @@ -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..24113e76f 100644 --- a/docs/models/createinputsystembypackinputkinesis.md +++ b/docs/models/createinputsystembypackinputkinesis.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `stream_name` | *str* | :heavy_check_mark: | Kinesis Data Stream to read data from | @@ -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..63697b3d8 100644 --- a/docs/models/createinputsystembypackinputkubeevents.md +++ b/docs/models/createinputsystembypackinputkubeevents.md @@ -7,16 +7,16 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `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 4323a3122..85204c025 100644 --- a/docs/models/createinputsystembypackinputkubelogs.md +++ b/docs/models/createinputsystembypackinputkubelogs.md @@ -7,22 +7,24 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `interval` | *Optional[float]* | :heavy_minus_sign: | Time, in seconds, between checks for new containers. Default is 15 secs. | | `rules` | List[[models.CreateInputSystemByPackRuleKubeLogs](../models/createinputsystembypackrulekubelogs.md)] | :heavy_minus_sign: | Add rules to decide which Pods to collect logs from. Logs are collected if no rules are given or if all the rules' expressions evaluate to true. | | `timestamps` | *Optional[bool]* | :heavy_minus_sign: | For use when containers do not emit a timestamp, prefix each line of output with a timestamp. If you enable this setting, you can use the Kubernetes Logs Event Breaker and the kubernetes_logs Pre-processing Pipeline to remove them from the events after the timestamps are extracted. | +| `line_buffer_limit` | *Optional[float]* | :heavy_minus_sign: | Maximum bytes to buffer while reassembling a single log line. A line that exceeds this size is flushed as-is, either whole or partially. The default is 1048576 (1 MB). | +| `lb_disable_assembly` | *Optional[bool]* | :heavy_minus_sign: | Internal flag to disable LB worker payload reassembly. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `persistence` | [Optional[models.DiskSpoolingType]](../models/diskspoolingtype.md) | :heavy_minus_sign: | N/A | | `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..7d8e36c99 100644 --- a/docs/models/createinputsystembypackinputkubemetrics.md +++ b/docs/models/createinputsystembypackinputkubemetrics.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `interval` | *Optional[float]* | :heavy_minus_sign: | Time, in seconds, between consecutive metrics collections. Default is 15 secs. | @@ -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..c62969ec2 100644 --- a/docs/models/createinputsystembypackinputloki.md +++ b/docs/models/createinputsystembypackinputloki.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..d94c176c4 100644 --- a/docs/models/createinputsystembypackinputmetrics.md +++ b/docs/models/createinputsystembypackinputmetrics.md @@ -7,12 +7,12 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | 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. | @@ -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..f563b65ee 100644 --- a/docs/models/createinputsystembypackinputmicrosoftgraph.md +++ b/docs/models/createinputsystembypackinputmicrosoftgraph.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `url` | *str* | :heavy_check_mark: | Microsoft Graph API endpoint URL. (ex. https://graph.microsoft.com/v1.0/admin/exchange/tracing/messageTraces) | @@ -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..d510738b4 100644 --- a/docs/models/createinputsystembypackinputmodeldriventelemetry.md +++ b/docs/models/createinputsystembypackinputmodeldriventelemetry.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..40b7f7ed2 100644 --- a/docs/models/createinputsystembypackinputmsk.md +++ b/docs/models/createinputsystembypackinputmsk.md @@ -7,12 +7,12 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `brokers` | List[*str*] | :heavy_check_mark: | Enter each Kafka bootstrap server you want to use. Specify the hostname and port (such as mykafkabroker:9092) or just the hostname (in which case @{product} will assign port 9092). | @@ -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..2f7b602af 100644 --- a/docs/models/createinputsystembypackinputnetflow.md +++ b/docs/models/createinputsystembypackinputnetflow.md @@ -7,12 +7,12 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | 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. | @@ -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..e6599fb35 100644 --- a/docs/models/createinputsystembypackinputoffice365mgmt.md +++ b/docs/models/createinputsystembypackinputoffice365mgmt.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `plan_type` | [models.SubscriptionPlanOptions](../models/subscriptionplanoptions.md) | :heavy_check_mark: | Microsoft 365 subscription plan for your organization, typically Microsoft 365 Enterprise | @@ -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..ddb201bb4 100644 --- a/docs/models/createinputsystembypackinputoffice365msgtrace.md +++ b/docs/models/createinputsystembypackinputoffice365msgtrace.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `url` | *str* | :heavy_check_mark: | URL to use when retrieving report data. | @@ -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..a45e53c0f 100644 --- a/docs/models/createinputsystembypackinputoffice365service.md +++ b/docs/models/createinputsystembypackinputoffice365service.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `plan_type` | [Optional[models.SubscriptionPlanOptions]](../models/subscriptionplanoptions.md) | :heavy_minus_sign: | Microsoft 365 subscription plan for your organization, typically Microsoft 365 Enterprise | @@ -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..17d0c20f9 100644 --- a/docs/models/createinputsystembypackinputokta.md +++ b/docs/models/createinputsystembypackinputokta.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `okta_domain` | *str* | :heavy_check_mark: | Your Okta domain (example: your-org). Do not include .okta.com, https://, or trailing slashes. | @@ -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..7a816e2ff 100644 --- a/docs/models/createinputsystembypackinputopenai.md +++ b/docs/models/createinputsystembypackinputopenai.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `openai_organization` | *Optional[str]* | :heavy_minus_sign: | Optional `OpenAI-Organization` request header value, typically `org-xxxxxxxxxxxxxxxxxxxxxxxx` | @@ -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..e67f16ffd 100644 --- a/docs/models/createinputsystembypackinputopenaicompliancelogs.md +++ b/docs/models/createinputsystembypackinputopenaicompliancelogs.md @@ -7,12 +7,12 @@ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | @@ -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..cf0860f9a 100644 --- a/docs/models/createinputsystembypackinputopentelemetry.md +++ b/docs/models/createinputsystembypackinputopentelemetry.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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 755a7209b..b4352d348 100644 --- a/docs/models/createinputsystembypackinputprometheus.md +++ b/docs/models/createinputsystembypackinputprometheus.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `dimension_list` | List[*str*] | :heavy_minus_sign: | Other dimensions to include in events | @@ -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 | @@ -49,6 +49,10 @@ | `assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Amazon Resource Name (ARN) of the role to assume | | `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). | +| `http_discovery_url` | *Optional[str]* | :heavy_minus_sign: | URL to fetch target groups from (must be http or https) | +| `http_discovery_headers` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauthSecret](../models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.md)] | :heavy_minus_sign: | Extra headers to send with the discovery request | +| `http_discovery_reject_unauthorized` | *Optional[bool]* | :heavy_minus_sign: | Reject TLS certificates that cannot be verified for the discovery endpoint. Falls back to the source-level setting if not specified. | +| `max_response_body_size` | *Optional[str]* | :heavy_minus_sign: | Maximum size of the HTTP SD response body. Responses exceeding this limit will be rejected. Defaults to 20 MB. | | `username` | *Optional[str]* | :heavy_minus_sign: | Username for Prometheus Basic authentication | | `password` | *Optional[str]* | :heavy_minus_sign: | Password for Prometheus Basic authentication | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a secret that references your credentials | diff --git a/docs/models/createinputsystembypackinputprometheusrw.md b/docs/models/createinputsystembypackinputprometheusrw.md index 31144295d..da7eca1e5 100644 --- a/docs/models/createinputsystembypackinputprometheusrw.md +++ b/docs/models/createinputsystembypackinputprometheusrw.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..9776a2fd7 100644 --- a/docs/models/createinputsystembypackinputrawudp.md +++ b/docs/models/createinputsystembypackinputrawudp.md @@ -7,12 +7,12 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | 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. | @@ -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..07b85440e 100644 --- a/docs/models/createinputsystembypackinputs3.md +++ b/docs/models/createinputsystembypackinputs3.md @@ -7,12 +7,12 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `queue_name` | *str* | :heavy_check_mark: | 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}`. | @@ -37,6 +37,8 @@ | `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). | | `enable_sqs_assume_role` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials when accessing Amazon SQS | +| `shared_credentials` | *Optional[bool]* | :heavy_minus_sign: | Use the same credential settings for S3 and SQS | +| `shared_assume_role_arn` | *Optional[bool]* | :heavy_minus_sign: | Use the same settings for S3 and SQS | | `preprocess` | [Optional[models.PreprocessType]](../models/preprocesstype.md) | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `parquet_chunk_size_mb` | *Optional[float]* | :heavy_minus_sign: | Maximum file size for each Parquet chunk | @@ -45,9 +47,15 @@ | `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 | +| `sqs_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Amazon Resource Name (ARN) of the role to assume | +| `sqs_assume_role_external_id` | *Optional[str]* | :heavy_minus_sign: | External ID to use when assuming role | +| `sqs_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). | +| `sqs_aws_authentication_method` | [Optional[models.SqsAuthenticationMethodOptions]](../models/sqsauthenticationmethodoptions.md) | :heavy_minus_sign: | Choose Auto to use IAM roles | +| `sqs_aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | +| `sqs_aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `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. | | `processed_tag_value` | *Optional[str]* | :heavy_minus_sign: | The value for the S3 object tag applied after processing. This field accepts an expression for dynamic generation. | | `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. | @@ -59,4 +67,7 @@ | `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_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_aws_api_key` | *Optional[str]* | :heavy_minus_sign: | 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. | \ No newline at end of file +| `template_aws_api_key` | *Optional[str]* | :heavy_minus_sign: | 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_sqs_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime. | +| `template_sqs_assume_role_external_id` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime. | +| `template_sqs_aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputsystembypackinputs3inventory.md b/docs/models/createinputsystembypackinputs3inventory.md index 084fcac81..e24e209c5 100644 --- a/docs/models/createinputsystembypackinputs3inventory.md +++ b/docs/models/createinputsystembypackinputs3inventory.md @@ -7,12 +7,12 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `queue_name` | *str* | :heavy_check_mark: | 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}`. | @@ -37,6 +37,8 @@ | `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). | | `enable_sqs_assume_role` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials when accessing Amazon SQS | +| `shared_credentials` | *Optional[bool]* | :heavy_minus_sign: | Use the same credential settings for S3 and SQS | +| `shared_assume_role_arn` | *Optional[bool]* | :heavy_minus_sign: | Use the same settings for S3 and SQS | | `preprocess` | [Optional[models.PreprocessType]](../models/preprocesstype.md) | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `parquet_chunk_size_mb` | *Optional[float]* | :heavy_minus_sign: | Maximum file size for each Parquet chunk | @@ -46,9 +48,15 @@ | `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 | +| `sqs_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Amazon Resource Name (ARN) of the role to assume | +| `sqs_assume_role_external_id` | *Optional[str]* | :heavy_minus_sign: | External ID to use when assuming role | +| `sqs_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). | +| `sqs_aws_authentication_method` | [Optional[models.SqsAuthenticationMethodOptions]](../models/sqsauthenticationmethodoptions.md) | :heavy_minus_sign: | Choose Auto to use IAM roles | +| `sqs_aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | +| `sqs_aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `tag_after_processing` | [Optional[models.TagAfterProcessingOptions]](../models/tagafterprocessingoptions.md) | :heavy_minus_sign: | N/A | | `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. | | `processed_tag_value` | *Optional[str]* | :heavy_minus_sign: | The value for the S3 object tag applied after processing. This field accepts an expression for dynamic generation. | @@ -61,4 +69,7 @@ | `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_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_aws_api_key` | *Optional[str]* | :heavy_minus_sign: | 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. | \ No newline at end of file +| `template_aws_api_key` | *Optional[str]* | :heavy_minus_sign: | 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_sqs_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime. | +| `template_sqs_assume_role_external_id` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime. | +| `template_sqs_aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputsystembypackinputsecuritylake.md b/docs/models/createinputsystembypackinputsecuritylake.md index d8c4cb955..5d4d78aca 100644 --- a/docs/models/createinputsystembypackinputsecuritylake.md +++ b/docs/models/createinputsystembypackinputsecuritylake.md @@ -7,12 +7,12 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `queue_name` | *str* | :heavy_check_mark: | 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}`. | @@ -37,6 +37,8 @@ | `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). | | `enable_sqs_assume_role` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials when accessing Amazon SQS | +| `shared_credentials` | *Optional[bool]* | :heavy_minus_sign: | Use the same credential settings for S3 and SQS | +| `shared_assume_role_arn` | *Optional[bool]* | :heavy_minus_sign: | Use the same settings for S3 and SQS | | `preprocess` | [Optional[models.PreprocessType]](../models/preprocesstype.md) | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `parquet_chunk_size_mb` | *Optional[float]* | :heavy_minus_sign: | Maximum file size for each Parquet chunk | @@ -44,9 +46,15 @@ | `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 | +| `sqs_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Amazon Resource Name (ARN) of the role to assume | +| `sqs_assume_role_external_id` | *Optional[str]* | :heavy_minus_sign: | External ID to use when assuming role | +| `sqs_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). | +| `sqs_aws_authentication_method` | [Optional[models.SqsAuthenticationMethodOptions]](../models/sqsauthenticationmethodoptions.md) | :heavy_minus_sign: | Choose Auto to use IAM roles | +| `sqs_aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | +| `sqs_aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `tag_after_processing` | [Optional[models.TagAfterProcessingOptions]](../models/tagafterprocessingoptions.md) | :heavy_minus_sign: | N/A | | `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. | | `processed_tag_value` | *Optional[str]* | :heavy_minus_sign: | The value for the S3 object tag applied after processing. This field accepts an expression for dynamic generation. | @@ -59,4 +67,7 @@ | `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_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_aws_api_key` | *Optional[str]* | :heavy_minus_sign: | 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. | \ No newline at end of file +| `template_aws_api_key` | *Optional[str]* | :heavy_minus_sign: | 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_sqs_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime. | +| `template_sqs_assume_role_external_id` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime. | +| `template_sqs_aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputsystembypackinputservicenowtable.md b/docs/models/createinputsystembypackinputservicenowtable.md index 19577d1e4..6df004cf5 100644 --- a/docs/models/createinputsystembypackinputservicenowtable.md +++ b/docs/models/createinputsystembypackinputservicenowtable.md @@ -7,12 +7,12 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `instance` | *str* | :heavy_check_mark: | ServiceNow instance base URL for Table API requests. Enter a literal URL (http or https and the instance host, for example a hostname ending in .service-now.com) or a Cribl expression that resolves to a URL. | @@ -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..532537287 100644 --- a/docs/models/createinputsystembypackinputsnmp.md +++ b/docs/models/createinputsystembypackinputsnmp.md @@ -7,12 +7,12 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | 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. | @@ -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..a2e5a4a4d 100644 --- a/docs/models/createinputsystembypackinputsplunk.md +++ b/docs/models/createinputsystembypackinputsplunk.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..cf5251534 100644 --- a/docs/models/createinputsystembypackinputsplunkhec.md +++ b/docs/models/createinputsystembypackinputsplunkhec.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..1b824d19f 100644 --- a/docs/models/createinputsystembypackinputsplunksearch.md +++ b/docs/models/createinputsystembypackinputsplunksearch.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `search_head` | *str* | :heavy_check_mark: | Search head base URL. Can be an expression. Default is https://localhost:8089. | @@ -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..099e54aec 100644 --- a/docs/models/createinputsystembypackinputsqs.md +++ b/docs/models/createinputsystembypackinputsqs.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `queue_name` | *str* | :heavy_check_mark: | The name, URL, or ARN of the SQS queue to read events 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 only be evaluated at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`. | @@ -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 new file mode 100644 index 000000000..0021a31a9 --- /dev/null +++ b/docs/models/createinputsystembypackinputsysdighec.md @@ -0,0 +1,46 @@ +# CreateInputSystemByPackInputSysdigHec + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | Unique ID for this input | +| `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. | +| `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | +| `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | +| `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | +| `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | +| `port` | *float* | :heavy_check_mark: | Port to listen on | +| `auth_tokens` | List[[models.AuthTokenConfInputCloudflareHec](../models/authtokenconfinputcloudflarehec.md)] | :heavy_minus_sign: | Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted. | +| `tls` | [Optional[models.TLSSettingsServerSideType]](../models/tlssettingsserversidetype.md) | :heavy_minus_sign: | N/A | +| `max_active_req` | *Optional[float]* | :heavy_minus_sign: | Maximum number of active requests allowed per Worker Process. Set to 0 for unlimited. Caution: Increasing the limit above the default value, or setting it to unlimited, may degrade performance and reduce throughput. | +| `max_requests_per_socket` | *Optional[int]* | :heavy_minus_sign: | Maximum number of requests per socket before @{product} instructs the client to close the connection. Default is 0 (unlimited). | +| `enable_proxy_header` | *Optional[bool]* | :heavy_minus_sign: | Extract the client IP and port from PROXY protocol v1/v2. When enabled, the X-Forwarded-For header is ignored. Disable to use the X-Forwarded-For header for client IP extraction. | +| `capture_headers` | *Optional[bool]* | :heavy_minus_sign: | Add request headers to events, in the __headers field | +| `activity_log_sample_rate` | *Optional[float]* | :heavy_minus_sign: | How often request activity is logged at the `info` level. A value of 1 would log every request, 10 every 10th request, etc. | +| `request_timeout` | *Optional[float]* | :heavy_minus_sign: | How long to wait for an incoming request to complete before aborting it. Use 0 to disable. | +| `socket_timeout` | *Optional[float]* | :heavy_minus_sign: | How long @{product} should wait before assuming that an inactive socket has timed out. To wait forever, set to 0. | +| `keep_alive_timeout` | *Optional[float]* | :heavy_minus_sign: | After the last response is sent, @{product} will wait this long for additional data before closing the socket connection. Minimum 1 second, maximum 600 seconds (10 minutes). | +| `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. | +| `hec_api` | *str* | :heavy_check_mark: | Absolute path on which to listen for the Sysdig HTTP Event Collector API requests. This input supports the /event and /raw endpoints. | +| `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to every event. May be overridden by fields added at the token or request level. | +| `allowed_indexes` | List[*str*] | :heavy_minus_sign: | List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level. | +| `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: | 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. | +| `template_port` | *Optional[str]* | :heavy_minus_sign: | 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_hec_api` | *Optional[str]* | :heavy_minus_sign: | Binds 'hecAPI' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'hecAPI' at runtime. | +| `template_allowed_indexes` | *Optional[str]* | :heavy_minus_sign: | Binds 'allowedIndexes' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'allowedIndexes' at runtime. | +| `template_access_control_allow_origin` | *Optional[str]* | :heavy_minus_sign: | Binds 'accessControlAllowOrigin' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowOrigin' at runtime. | +| `template_access_control_allow_headers` | *Optional[str]* | :heavy_minus_sign: | Binds 'accessControlAllowHeaders' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowHeaders' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputsystembypackinputsyslogsyslog1.md b/docs/models/createinputsystembypackinputsyslogsyslog1.md index 845574e68..29fdc6994 100644 --- a/docs/models/createinputsystembypackinputsyslogsyslog1.md +++ b/docs/models/createinputsystembypackinputsyslogsyslog1.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | 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. | @@ -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..6afd9f601 100644 --- a/docs/models/createinputsystembypackinputsyslogsyslog2.md +++ b/docs/models/createinputsystembypackinputsyslogsyslog2.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | 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. | @@ -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..25b7b0b53 100644 --- a/docs/models/createinputsystembypackinputsystemmetrics.md +++ b/docs/models/createinputsystembypackinputsystemmetrics.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `interval` | *Optional[float]* | :heavy_minus_sign: | Time, in seconds, between consecutive metric collections. Default is 10 seconds. | @@ -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..1e58c2cb3 100644 --- a/docs/models/createinputsystembypackinputsystemstate.md +++ b/docs/models/createinputsystembypackinputsystemstate.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `interval` | *Optional[float]* | :heavy_minus_sign: | Time, in seconds, between consecutive state collections. Default is 300 seconds (5 minutes). | @@ -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..2a6c6faff 100644 --- a/docs/models/createinputsystembypackinputtcp.md +++ b/docs/models/createinputsystembypackinputtcp.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..e427338ea 100644 --- a/docs/models/createinputsystembypackinputtcpjson.md +++ b/docs/models/createinputsystembypackinputtcpjson.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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/createinputsystembypackinputupwindhec.md b/docs/models/createinputsystembypackinputupwindhec.md new file mode 100644 index 000000000..8d7a3ecfb --- /dev/null +++ b/docs/models/createinputsystembypackinputupwindhec.md @@ -0,0 +1,46 @@ +# CreateInputSystemByPackInputUpwindHec + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | Unique ID for this input | +| `type` | [models.CreateInputSystemByPackTypeUpwindHec](../models/createinputsystembypacktypeupwindhec.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. | +| `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | +| `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | +| `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | +| `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | +| `port` | *float* | :heavy_check_mark: | Port to listen on | +| `auth_tokens` | List[[models.AuthTokenConfInputCloudflareHec](../models/authtokenconfinputcloudflarehec.md)] | :heavy_minus_sign: | Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted. | +| `tls` | [Optional[models.TLSSettingsServerSideType]](../models/tlssettingsserversidetype.md) | :heavy_minus_sign: | N/A | +| `max_active_req` | *Optional[float]* | :heavy_minus_sign: | Maximum number of active requests allowed per Worker Process. Set to 0 for unlimited. Caution: Increasing the limit above the default value, or setting it to unlimited, may degrade performance and reduce throughput. | +| `max_requests_per_socket` | *Optional[int]* | :heavy_minus_sign: | Maximum number of requests per socket before @{product} instructs the client to close the connection. Default is 0 (unlimited). | +| `enable_proxy_header` | *Optional[bool]* | :heavy_minus_sign: | Extract the client IP and port from PROXY protocol v1/v2. When enabled, the X-Forwarded-For header is ignored. Disable to use the X-Forwarded-For header for client IP extraction. | +| `capture_headers` | *Optional[bool]* | :heavy_minus_sign: | Add request headers to events, in the __headers field | +| `activity_log_sample_rate` | *Optional[float]* | :heavy_minus_sign: | How often request activity is logged at the `info` level. A value of 1 would log every request, 10 every 10th request, etc. | +| `request_timeout` | *Optional[float]* | :heavy_minus_sign: | How long to wait for an incoming request to complete before aborting it. Use 0 to disable. | +| `socket_timeout` | *Optional[float]* | :heavy_minus_sign: | How long @{product} should wait before assuming that an inactive socket has timed out. To wait forever, set to 0. | +| `keep_alive_timeout` | *Optional[float]* | :heavy_minus_sign: | After the last response is sent, @{product} will wait this long for additional data before closing the socket connection. Minimum 1 second, maximum 600 seconds (10 minutes). | +| `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. | +| `hec_api` | *str* | :heavy_check_mark: | Absolute path on which to listen for the Upwind HTTP Event Collector API requests. This input supports the /event endpoint. | +| `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to every event. May be overridden by fields added at the token or request level. | +| `allowed_indexes` | List[*str*] | :heavy_minus_sign: | List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level. | +| `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: | 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. | +| `template_port` | *Optional[str]* | :heavy_minus_sign: | 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_hec_api` | *Optional[str]* | :heavy_minus_sign: | Binds 'hecAPI' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'hecAPI' at runtime. | +| `template_allowed_indexes` | *Optional[str]* | :heavy_minus_sign: | Binds 'allowedIndexes' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'allowedIndexes' at runtime. | +| `template_access_control_allow_origin` | *Optional[str]* | :heavy_minus_sign: | Binds 'accessControlAllowOrigin' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowOrigin' at runtime. | +| `template_access_control_allow_headers` | *Optional[str]* | :heavy_minus_sign: | Binds 'accessControlAllowHeaders' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowHeaders' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputsystembypackinputwef.md b/docs/models/createinputsystembypackinputwef.md index 87e6c65fe..62d95ac58 100644 --- a/docs/models/createinputsystembypackinputwef.md +++ b/docs/models/createinputsystembypackinputwef.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..88011f733 100644 --- a/docs/models/createinputsystembypackinputwindowsmetrics.md +++ b/docs/models/createinputsystembypackinputwindowsmetrics.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `interval` | *Optional[float]* | :heavy_minus_sign: | Time, in seconds, between consecutive metric collections. Default is 10 seconds. | @@ -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 d493b4c8b..d93575d32 100644 --- a/docs/models/createinputsystembypackinputwineventlogs.md +++ b/docs/models/createinputsystembypackinputwineventlogs.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `log_names` | List[*str*] | :heavy_check_mark: | Enter the event logs to collect. Run "Get-WinEvent -ListLog *" in PowerShell to see the available logs. | @@ -22,8 +22,8 @@ | `interval` | *Optional[float]* | :heavy_minus_sign: | Time, in seconds, between checking for new entries (Applicable for pre-4.8.0 nodes that use Windows Tools) | | `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[float]* | :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 | +| `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: | 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..bf66326ab 100644 --- a/docs/models/createinputsystembypackinputwiz.md +++ b/docs/models/createinputsystembypackinputwiz.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `endpoint` | *str* | :heavy_check_mark: | The Wiz GraphQL API endpoint. Example: https://api.us1.app.wiz.io/graphql | @@ -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..df872d627 100644 --- a/docs/models/createinputsystembypackinputwizwebhook.md +++ b/docs/models/createinputsystembypackinputwizwebhook.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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 7fcea69ee..47ca5f6c9 100644 --- a/docs/models/createinputsystembypackinputzscalerhec.md +++ b/docs/models/createinputsystembypackinputzscalerhec.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -32,13 +32,16 @@ | `hec_api` | *str* | :heavy_check_mark: | Absolute path on which to listen for the Zscaler HTTP Event Collector API requests. This input supports the /event endpoint. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to every event. May be overridden by fields added at the token or request level. | | `allowed_indexes` | List[*str*] | :heavy_minus_sign: | List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level. | +| `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 | | `hec_acks` | *Optional[bool]* | :heavy_minus_sign: | Whether to enable Zscaler HEC acknowledgements | -| `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: | Enable to 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. | | `template_port` | *Optional[str]* | :heavy_minus_sign: | 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_hec_api` | *Optional[str]* | :heavy_minus_sign: | Binds 'hecAPI' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'hecAPI' at runtime. | \ No newline at end of file +| `template_hec_api` | *Optional[str]* | :heavy_minus_sign: | Binds 'hecAPI' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'hecAPI' at runtime. | +| `template_allowed_indexes` | *Optional[str]* | :heavy_minus_sign: | Binds 'allowedIndexes' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'allowedIndexes' at runtime. | +| `template_access_control_allow_origin` | *Optional[str]* | :heavy_minus_sign: | Binds 'accessControlAllowOrigin' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowOrigin' at runtime. | +| `template_access_control_allow_headers` | *Optional[str]* | :heavy_minus_sign: | Binds 'accessControlAllowHeaders' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowHeaders' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputsystembypackproxymodedatadogagent.md b/docs/models/createinputsystembypackproxymodedatadogagent.md index 7be66ddf9..d23bc09ef 100644 --- a/docs/models/createinputsystembypackproxymodedatadogagent.md +++ b/docs/models/createinputsystembypackproxymodedatadogagent.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `enabled` | *bool* | :heavy_check_mark: | Toggle to Yes to send key validation requests from Datadog Agent to the Datadog API. If toggled to No (the default), Stream handles key validation requests by always responding that the key is valid. | -| `reject_unauthorized` | *Optional[bool]* | :heavy_minus_sign: | Whether to reject certificates that cannot be verified against a valid CA (e.g., self-signed certificates). | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `enabled` | *bool* | :heavy_check_mark: | Forward key validation requests from the Datadog Agent to the Datadog API. If disabled, Stream handles key validation requests locally by always responding that the key is valid. | +| `reject_unauthorized` | *Optional[bool]* | :heavy_minus_sign: | Whether to reject certificates that cannot be verified against a valid CA (such as self-signed certificates) | \ No newline at end of file diff --git a/docs/models/createinputsystembypackrequestbody.md b/docs/models/createinputsystembypackrequestbody.md index 11fa2f2bd..e3088d465 100644 --- a/docs/models/createinputsystembypackrequestbody.md +++ b/docs/models/createinputsystembypackrequestbody.md @@ -395,6 +395,18 @@ value: models.CreateInputSystemByPackInputZscalerHec = /* values here */ value: models.CreateInputSystemByPackInputCloudflareHec = /* values here */ ``` +### `models.CreateInputSystemByPackInputSysdigHec` + +```python +value: models.CreateInputSystemByPackInputSysdigHec = /* values here */ +``` + +### `models.CreateInputSystemByPackInputUpwindHec` + +```python +value: models.CreateInputSystemByPackInputUpwindHec = /* values here */ +``` + ### `models.CreateInputSystemByPackInputOpenaiComplianceLogs` ```python diff --git a/docs/models/createinputsystembypacksamplingrule.md b/docs/models/createinputsystembypacksamplingrule.md new file mode 100644 index 000000000..927975429 --- /dev/null +++ b/docs/models/createinputsystembypacksamplingrule.md @@ -0,0 +1,10 @@ +# CreateInputSystemByPackSamplingRule + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | +| `service` | *str* | :heavy_check_mark: | Datadog service name | +| `environment` | *str* | :heavy_check_mark: | Datadog environment name (example: prod, staging) | +| `rate` | *float* | :heavy_check_mark: | Sampling rate for this service/environment combination (0.0–1.0) | \ No newline at end of file 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 new file mode 100644 index 000000000..35bdfd99f --- /dev/null +++ b/docs/models/createinputsystembypacktypesysdighec.md @@ -0,0 +1,18 @@ +# CreateInputSystemByPackTypeSysdigHec + +Source type identifier. + +## Example Usage + +```python +from cribl_control_plane.models import CreateInputSystemByPackTypeSysdigHec + +value = CreateInputSystemByPackTypeSysdigHec.SYSDIG_HEC +``` + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `SYSDIG_HEC` | sysdig_hec | \ No newline at end of file diff --git a/docs/models/createinputsystembypacktypeupwindhec.md b/docs/models/createinputsystembypacktypeupwindhec.md new file mode 100644 index 000000000..989f6c056 --- /dev/null +++ b/docs/models/createinputsystembypacktypeupwindhec.md @@ -0,0 +1,18 @@ +# CreateInputSystemByPackTypeUpwindHec + +Source type identifier. + +## Example Usage + +```python +from cribl_control_plane.models import CreateInputSystemByPackTypeUpwindHec + +value = CreateInputSystemByPackTypeUpwindHec.UPWIND_HEC +``` + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `UPWIND_HEC` | upwind_hec | \ No newline at end of file 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 new file mode 100644 index 000000000..a9c2be0f3 --- /dev/null +++ b/docs/models/createinputtypesysdighec.md @@ -0,0 +1,18 @@ +# CreateInputTypeSysdigHec + +Source type identifier. + +## Example Usage + +```python +from cribl_control_plane.models import CreateInputTypeSysdigHec + +value = CreateInputTypeSysdigHec.SYSDIG_HEC +``` + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `SYSDIG_HEC` | sysdig_hec | \ No newline at end of file diff --git a/docs/models/createinputtypeupwindhec.md b/docs/models/createinputtypeupwindhec.md new file mode 100644 index 000000000..a90462a88 --- /dev/null +++ b/docs/models/createinputtypeupwindhec.md @@ -0,0 +1,18 @@ +# CreateInputTypeUpwindHec + +Source type identifier. + +## Example Usage + +```python +from cribl_control_plane.models import CreateInputTypeUpwindHec + +value = CreateInputTypeUpwindHec.UPWIND_HEC +``` + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `UPWIND_HEC` | upwind_hec | \ No newline at end of file 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/createoutputauthenticationmethodcloudflarer2.md b/docs/models/createoutputauthenticationmethodalibabaclouds3.md similarity index 60% rename from docs/models/createoutputauthenticationmethodcloudflarer2.md rename to docs/models/createoutputauthenticationmethodalibabaclouds3.md index dbe0c2b4b..1c5a4223d 100644 --- a/docs/models/createoutputauthenticationmethodcloudflarer2.md +++ b/docs/models/createoutputauthenticationmethodalibabaclouds3.md @@ -1,13 +1,13 @@ -# CreateOutputAuthenticationMethodCloudflareR2 +# CreateOutputAuthenticationMethodAlibabaCloudS3 -AWS authentication method. Choose Auto to use IAM roles. +Authentication method. ## Example Usage ```python -from cribl_control_plane.models import CreateOutputAuthenticationMethodCloudflareR2 +from cribl_control_plane.models import CreateOutputAuthenticationMethodAlibabaCloudS3 -value = CreateOutputAuthenticationMethodCloudflareR2.AUTO +value = CreateOutputAuthenticationMethodAlibabaCloudS3.AUTO # Open enum: unrecognized values are captured as UnrecognizedStr ``` diff --git a/docs/models/createoutputauthenticationtypeprometheus.md b/docs/models/createoutputauthenticationtypeprometheus.md new file mode 100644 index 000000000..f4e78b4c5 --- /dev/null +++ b/docs/models/createoutputauthenticationtypeprometheus.md @@ -0,0 +1,25 @@ +# CreateOutputAuthenticationTypePrometheus + +Remote Write authentication type + +## Example Usage + +```python +from cribl_control_plane.models import CreateOutputAuthenticationTypePrometheus + +value = CreateOutputAuthenticationTypePrometheus.NONE + +# Open enum: unrecognized values are captured as UnrecognizedStr +``` + + +## Values + +| Name | Value | +| -------------------- | -------------------- | +| `NONE` | none | +| `BASIC` | basic | +| `CREDENTIALS_SECRET` | credentialsSecret | +| `TOKEN` | token | +| `TEXT_SECRET` | textSecret | +| `AWS_SIGV4` | aws_sigv4 | \ No newline at end of file diff --git a/docs/models/createoutputawsauthenticationmethod.md b/docs/models/createoutputawsauthenticationmethod.md deleted file mode 100644 index 2a06b901e..000000000 --- a/docs/models/createoutputawsauthenticationmethod.md +++ /dev/null @@ -1,20 +0,0 @@ -# CreateOutputAwsAuthenticationMethod - -## Example Usage - -```python -from cribl_control_plane.models import CreateOutputAwsAuthenticationMethod - -value = CreateOutputAwsAuthenticationMethod.AUTO - -# Open enum: unrecognized values are captured as UnrecognizedStr -``` - - -## Values - -| Name | Value | -| ---------- | ---------- | -| `AUTO` | auto | -| `AUTO_RPC` | auto_rpc | -| `MANUAL` | manual | \ No newline at end of file diff --git a/docs/models/createoutputcolumnmappinglocalsearchstorage.md b/docs/models/createoutputcolumnmapping.md similarity index 96% rename from docs/models/createoutputcolumnmappinglocalsearchstorage.md rename to docs/models/createoutputcolumnmapping.md index b114e5306..f2b2cb0df 100644 --- a/docs/models/createoutputcolumnmappinglocalsearchstorage.md +++ b/docs/models/createoutputcolumnmapping.md @@ -1,4 +1,4 @@ -# CreateOutputColumnMappingLocalSearchStorage +# CreateOutputColumnMapping ## Fields diff --git a/docs/models/createoutputcolumnmappingclickhouse.md b/docs/models/createoutputcolumnmappingclickhouse.md deleted file mode 100644 index 7440d842c..000000000 --- a/docs/models/createoutputcolumnmappingclickhouse.md +++ /dev/null @@ -1,10 +0,0 @@ -# CreateOutputColumnMappingClickHouse - - -## Fields - -| Field | Type | Required | Description | -| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | -| `column_name` | *str* | :heavy_check_mark: | Name of the column in ClickHouse that will store field value | -| `column_type` | *Optional[str]* | :heavy_minus_sign: | Type of the column in the ClickHouse database | -| `column_value_expression` | *str* | :heavy_check_mark: | JavaScript expression to compute value to be inserted into ClickHouse table | \ No newline at end of file diff --git a/docs/models/createoutputendpoint.md b/docs/models/createoutputendpointdynatracehttp.md similarity index 64% rename from docs/models/createoutputendpoint.md rename to docs/models/createoutputendpointdynatracehttp.md index 76d02127f..e8cec37e5 100644 --- a/docs/models/createoutputendpoint.md +++ b/docs/models/createoutputendpointdynatracehttp.md @@ -1,11 +1,11 @@ -# CreateOutputEndpoint +# CreateOutputEndpointDynatraceHTTP ## Example Usage ```python -from cribl_control_plane.models import CreateOutputEndpoint +from cribl_control_plane.models import CreateOutputEndpointDynatraceHTTP -value = CreateOutputEndpoint.CLOUD +value = CreateOutputEndpointDynatraceHTTP.CLOUD # Open enum: unrecognized values are captured as UnrecognizedStr ``` diff --git a/docs/models/createoutputendpointgooglecloudobservability.md b/docs/models/createoutputendpointgooglecloudobservability.md new file mode 100644 index 000000000..df075d4c1 --- /dev/null +++ b/docs/models/createoutputendpointgooglecloudobservability.md @@ -0,0 +1,20 @@ +# CreateOutputEndpointGoogleCloudObservability + +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. + +## Example Usage + +```python +from cribl_control_plane.models import CreateOutputEndpointGoogleCloudObservability + +value = CreateOutputEndpointGoogleCloudObservability.TELEMETRY_GOOGLEAPIS_COM_443 + +# Open enum: unrecognized values are captured as UnrecognizedStr +``` + + +## Values + +| Name | Value | +| ------------------------------ | ------------------------------ | +| `TELEMETRY_GOOGLEAPIS_COM_443` | telemetry.googleapis.com:443 | \ No newline at end of file diff --git a/docs/models/createoutputfieldname.md b/docs/models/createoutputfieldname.md index 9421a41aa..b3a24e9ce 100644 --- a/docs/models/createoutputfieldname.md +++ b/docs/models/createoutputfieldname.md @@ -1,5 +1,7 @@ # CreateOutputFieldName +Name of the metadata field. + ## Example Usage ```python diff --git a/docs/models/createoutputformatclickhouse.md b/docs/models/createoutputformatclickhouse.md deleted file mode 100644 index 16e8bd31f..000000000 --- a/docs/models/createoutputformatclickhouse.md +++ /dev/null @@ -1,21 +0,0 @@ -# CreateOutputFormatClickHouse - -Data format to use when sending data to ClickHouse. Defaults to JSON Compact. - -## Example Usage - -```python -from cribl_control_plane.models import CreateOutputFormatClickHouse - -value = CreateOutputFormatClickHouse.JSON_COMPACT_EACH_ROW_WITH_NAMES - -# Open enum: unrecognized values are captured as UnrecognizedStr -``` - - -## Values - -| Name | Value | -| ---------------------------------- | ---------------------------------- | -| `JSON_COMPACT_EACH_ROW_WITH_NAMES` | json-compact-each-row-with-names | -| `JSON_EACH_ROW` | json-each-row | \ No newline at end of file diff --git a/docs/models/createoutputformatcribllake.md b/docs/models/createoutputformatcribllake.md index 944ce29dd..769db1ada 100644 --- a/docs/models/createoutputformatcribllake.md +++ b/docs/models/createoutputformatcribllake.md @@ -13,9 +13,8 @@ value = CreateOutputFormatCriblLake.JSON ## Values -| Name | Value | -| ---------- | ---------- | -| `JSON` | json | -| `PARQUET` | parquet | -| `DDSS` | ddss | -| `NETSKOPE` | netskope | \ No newline at end of file +| Name | Value | +| --------- | --------- | +| `JSON` | json | +| `PARQUET` | parquet | +| `RAW` | raw | \ No newline at end of file diff --git a/docs/models/createoutputgoogleauthenticationmethodgooglebigquery.md b/docs/models/createoutputgoogleauthenticationmethodgooglebigquery.md new file mode 100644 index 000000000..9ae4c1ee3 --- /dev/null +++ b/docs/models/createoutputgoogleauthenticationmethodgooglebigquery.md @@ -0,0 +1,21 @@ +# CreateOutputGoogleAuthenticationMethodGoogleBigquery + +Choose Auto to use Google Application Default Credentials (ADC), or Secret to select or create a stored secret that references Google service account credentials + +## Example Usage + +```python +from cribl_control_plane.models import CreateOutputGoogleAuthenticationMethodGoogleBigquery + +value = CreateOutputGoogleAuthenticationMethodGoogleBigquery.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/createoutputgoogleauthenticationmethodgooglecloudobservability.md b/docs/models/createoutputgoogleauthenticationmethodgooglecloudobservability.md new file mode 100644 index 000000000..9c6dd6be4 --- /dev/null +++ b/docs/models/createoutputgoogleauthenticationmethodgooglecloudobservability.md @@ -0,0 +1,21 @@ +# CreateOutputGoogleAuthenticationMethodGoogleCloudObservability + +Choose Auto to use Google Application Default Credentials (ADC). Choose Secret to select or create a stored secret that references Google service account credentials. + +## Example Usage + +```python +from cribl_control_plane.models import CreateOutputGoogleAuthenticationMethodGoogleCloudObservability + +value = CreateOutputGoogleAuthenticationMethodGoogleCloudObservability.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/createoutputmappingtypelocalsearchstorage.md b/docs/models/createoutputmappingtype.md similarity index 59% rename from docs/models/createoutputmappingtypelocalsearchstorage.md rename to docs/models/createoutputmappingtype.md index 061ddb68d..7d6462fef 100644 --- a/docs/models/createoutputmappingtypelocalsearchstorage.md +++ b/docs/models/createoutputmappingtype.md @@ -1,13 +1,13 @@ -# CreateOutputMappingTypeLocalSearchStorage +# CreateOutputMappingType How event fields are mapped to columns. ## Example Usage ```python -from cribl_control_plane.models import CreateOutputMappingTypeLocalSearchStorage +from cribl_control_plane.models import CreateOutputMappingType -value = CreateOutputMappingTypeLocalSearchStorage.AUTOMATIC +value = CreateOutputMappingType.AUTOMATIC # Open enum: unrecognized values are captured as UnrecognizedStr ``` diff --git a/docs/models/createoutputmappingtypeclickhouse.md b/docs/models/createoutputmappingtypeclickhouse.md deleted file mode 100644 index e80a343e8..000000000 --- a/docs/models/createoutputmappingtypeclickhouse.md +++ /dev/null @@ -1,21 +0,0 @@ -# CreateOutputMappingTypeClickHouse - -How event fields are mapped to ClickHouse columns - -## Example Usage - -```python -from cribl_control_plane.models import CreateOutputMappingTypeClickHouse - -value = CreateOutputMappingTypeClickHouse.AUTOMATIC - -# Open enum: unrecognized values are captured as UnrecognizedStr -``` - - -## Values - -| Name | Value | -| ----------- | ----------- | -| `AUTOMATIC` | automatic | -| `CUSTOM` | custom | \ No newline at end of file diff --git a/docs/models/createoutputmetadatum.md b/docs/models/createoutputmetadatum.md index 7dbf6b21b..834165a51 100644 --- a/docs/models/createoutputmetadatum.md +++ b/docs/models/createoutputmetadatum.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -| `name` | [models.CreateOutputFieldName](../models/createoutputfieldname.md) | :heavy_check_mark: | N/A | +| `name` | [models.CreateOutputFieldName](../models/createoutputfieldname.md) | :heavy_check_mark: | Name of the metadata field. | | `value` | *str* | :heavy_check_mark: | JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.) | \ No newline at end of file diff --git a/docs/models/createoutputotlpversiongooglecloudobservability.md b/docs/models/createoutputotlpversiongooglecloudobservability.md new file mode 100644 index 000000000..b260d994b --- /dev/null +++ b/docs/models/createoutputotlpversiongooglecloudobservability.md @@ -0,0 +1,18 @@ +# CreateOutputOtlpVersionGoogleCloudObservability + +## Example Usage + +```python +from cribl_control_plane.models import CreateOutputOtlpVersionGoogleCloudObservability + +value = CreateOutputOtlpVersionGoogleCloudObservability.ONE_DOT_3_DOT_1 + +# Open enum: unrecognized values are captured as UnrecognizedStr +``` + + +## Values + +| Name | Value | +| ----------------- | ----------------- | +| `ONE_DOT_3_DOT_1` | 1.3.1 | \ No newline at end of file diff --git a/docs/models/createoutputotlpversion.md b/docs/models/createoutputotlpversionopentelemetry.md similarity index 67% rename from docs/models/createoutputotlpversion.md rename to docs/models/createoutputotlpversionopentelemetry.md index 5abdfb0f4..2c4a20b7e 100644 --- a/docs/models/createoutputotlpversion.md +++ b/docs/models/createoutputotlpversionopentelemetry.md @@ -1,13 +1,13 @@ -# CreateOutputOTLPVersion +# CreateOutputOTLPVersionOpenTelemetry The version of OTLP Protobuf definitions to use when structuring data to send ## Example Usage ```python -from cribl_control_plane.models import CreateOutputOTLPVersion +from cribl_control_plane.models import CreateOutputOTLPVersionOpenTelemetry -value = CreateOutputOTLPVersion.ZERO_DOT_10_DOT_0 +value = CreateOutputOTLPVersionOpenTelemetry.ZERO_DOT_10_DOT_0 # Open enum: unrecognized values are captured as UnrecognizedStr ``` diff --git a/docs/models/createoutputoutputalibabaclouds3.md b/docs/models/createoutputoutputalibabaclouds3.md index 2807c4470..05a518f4b 100644 --- a/docs/models/createoutputoutputalibabaclouds3.md +++ b/docs/models/createoutputoutputalibabaclouds3.md @@ -10,8 +10,8 @@ | `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} | -| `aws_authentication_method` | [Optional[models.AuthenticationMethodOptionsSecret]](../models/authenticationmethodoptionssecret.md) | :heavy_minus_sign: | Authentication method. | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | +| `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,11 @@ | `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 | +| `enable_assume_role` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials to access Alibaba OSS | +| `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). | +| `assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | ARN of the RAM role to assume. Format: acs:ram:::role/. Example: acs:ram::123456789:role/OSSAccessRole | +| `assume_role_external_id` | *Optional[str]* | :heavy_minus_sign: | External ID for the assumed role (optional, for security when configured in the role trust policy) | +| `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 | @@ -69,5 +73,7 @@ | `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_object_acl` | *Optional[str]* | :heavy_minus_sign: | 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` | *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_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_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/createoutputoutputalphasocs3.md b/docs/models/createoutputoutputalphasocs3.md index 00d1156dc..4c1ae6bb4 100644 --- a/docs/models/createoutputoutputalphasocs3.md +++ b/docs/models/createoutputoutputalphasocs3.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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 | @@ -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/createoutputoutputamazonmanagedprometheus.md b/docs/models/createoutputoutputamazonmanagedprometheus.md new file mode 100644 index 000000000..f2eaa6c01 --- /dev/null +++ b/docs/models/createoutputoutputamazonmanagedprometheus.md @@ -0,0 +1,61 @@ +# CreateOutputOutputAmazonManagedPrometheus + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `id` | *str* | :heavy_check_mark: | Unique ID for this output | +| `type` | [models.CreateOutputTypeAmazonManagedPrometheus](../models/createoutputtypeamazonmanagedprometheus.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. These fields are added as dimensions to generated metrics. | +| `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: | Metadata tags used for categorization and filtering. | +| `url` | *str* | :heavy_check_mark: | The Amazon Managed Service for Prometheus remote_write endpoint | +| `aws_authentication_method` | [models.AuthenticationMethodOptionsAutoSecret](../models/authenticationmethodoptionsautosecret.md) | :heavy_check_mark: | AWS authentication method. Choose Auto to use IAM roles. | +| `aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `region` | *str* | :heavy_check_mark: | Region where the AMSP is located | +| `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. | +| `enable_assume_role` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials to access AMSP | +| `assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Amazon Resource Name (ARN) of the role to assume | +| `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). | +| `metric_rename_expr` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[bool]* | :heavy_minus_sign: | Generate and send metadata (`type` and `metricFamilyName`) requests | +| `use_prometheus_histogram_bucket_suffix` | *Optional[bool]* | :heavy_minus_sign: | Serialize histogram bucket series as `_bucket` to match Prometheus histogram naming convention | +| `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | +| `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum uncompressed size, in KB, of the request body. The 1 MB cap is intentional and protects against data that compresses poorly, since oversized requests fail with a non-retryable 413. | +| `max_payload_events` | *Optional[float]* | :heavy_minus_sign: | Maximum number of events to include in the request body. Default is 0 (unlimited). | +| `timeout_sec` | *Optional[float]* | :heavy_minus_sign: | Amount of time, in seconds, to wait for a request to complete before canceling it | +| `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 Body size limit. | +| `extra_http_headers` | List[[models.ExtraHTTPHeaderConfInputElastic](../models/extrahttpheaderconfinputelastic.md)] | :heavy_minus_sign: | Headers to add to all events. SigV4-managed headers and the Prometheus remote-write protocol version header are generated by this Destination and cannot be configured here. | +| `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. | +| `failed_request_logging_mode` | [Optional[models.FailedRequestLoggingModeOptions]](../models/failedrequestloggingmodeoptions.md) | :heavy_minus_sign: | Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below. | +| `safe_headers` | List[*str*] | :heavy_minus_sign: | List of headers that are safe to log in plain text | +| `response_retry_settings` | List[[models.ResponseRetrySettingConfOutputWebhook](../models/responseretrysettingconfoutputwebhook.md)] | :heavy_minus_sign: | Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable) | +| `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: | 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 | +| `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. | +| `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. | +| `pq_max_buffer_size` | *Optional[float]* | :heavy_minus_sign: | 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` | *Optional[float]* | :heavy_minus_sign: | How long (in seconds) to wait for backpressure to resolve before engaging the queue | +| `pq_max_file_size` | *Optional[str]* | :heavy_minus_sign: | The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.) | +| `pq_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. | +| `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | +| `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | +| `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | +| `pq_controls` | [Optional[models.CreateOutputPqControlsAmazonManagedPrometheus]](../models/createoutputpqcontrolsamazonmanagedprometheus.md) | :heavy_minus_sign: | N/A | +| `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_url` | *Optional[str]* | :heavy_minus_sign: | 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_secret_key` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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` | *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/createoutputoutputazureblob.md b/docs/models/createoutputoutputazureblob.md index 57c21bf72..7b8166ce2 100644 --- a/docs/models/createoutputoutputazureblob.md +++ b/docs/models/createoutputoutputazureblob.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `container_name` | *str* | :heavy_check_mark: | 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"]}`. | | `create_container` | *Optional[bool]* | :heavy_minus_sign: | Create the configured container in Azure Blob Storage if it does not already exist | | `dest_path` | *Optional[str]* | :heavy_minus_sign: | 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"]}`. | @@ -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 75ff341cf..932735e15 100644 --- a/docs/models/createoutputoutputazuredataexplorer.md +++ b/docs/models/createoutputoutputazuredataexplorer.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cluster_url` | *str* | :heavy_check_mark: | The base URI for your cluster. Typically, `https://..kusto.windows.net`. | | `database` | *str* | :heavy_check_mark: | Name of the database containing the table where data will be ingested | | `table` | *str* | :heavy_check_mark: | Name of the table to ingest data into | @@ -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 | @@ -89,7 +89,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsAzureDataExplorer]](../models/createoutputpqcontrolsazuredataexplorer.md) | :heavy_minus_sign: | N/A | | `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_cluster_url` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputoutputazureeventhub.md b/docs/models/createoutputoutputazureeventhub.md index 3f68452ed..941498125 100644 --- a/docs/models/createoutputoutputazureeventhub.md +++ b/docs/models/createoutputoutputazureeventhub.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `brokers` | List[*str*] | :heavy_check_mark: | 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* | :heavy_check_mark: | The name of the Event Hub (Kafka Topic) to publish events. Can be overwritten using field __topicOut. | | `ack` | [Optional[models.AcknowledgmentsOptions]](../models/acknowledgmentsoptions.md) | :heavy_minus_sign: | Control the number of required acknowledgments | @@ -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. | @@ -40,7 +40,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsAzureEventhub]](../models/createoutputpqcontrolsazureeventhub.md) | :heavy_minus_sign: | N/A | | `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/createoutputoutputazurelogs.md b/docs/models/createoutputoutputazurelogs.md index be1c2a448..d453d7270 100644 --- a/docs/models/createoutputoutputazurelogs.md +++ b/docs/models/createoutputoutputazurelogs.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `log_type` | *str* | :heavy_check_mark: | 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. | | `resource_id` | *Optional[str]* | :heavy_minus_sign: | 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]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | @@ -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. | @@ -41,7 +41,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsAzureLogs]](../models/createoutputpqcontrolsazurelogs.md) | :heavy_minus_sign: | N/A | | `workspace_id` | *Optional[str]* | :heavy_minus_sign: | Azure Log Analytics Workspace ID. See Azure Dashboard Workspace > Advanced settings. | | `workspace_key` | *Optional[str]* | :heavy_minus_sign: | Azure Log Analytics Workspace Primary or Secondary Shared Key. See Azure Dashboard Workspace > Advanced settings. | diff --git a/docs/models/createoutputoutputchronicle.md b/docs/models/createoutputoutputchronicle.md index 510bcb646..b47021723 100644 --- a/docs/models/createoutputoutputchronicle.md +++ b/docs/models/createoutputoutputchronicle.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `api_version` | *Optional[str]* | :heavy_minus_sign: | N/A | | `authentication_method` | [Optional[models.CreateOutputAuthenticationMethodChronicle]](../models/createoutputauthenticationmethodchronicle.md) | :heavy_minus_sign: | N/A | | `response_retry_settings` | List[[models.ResponseRetrySettingConfOutputWebhook](../models/responseretrysettingconfoutputwebhook.md)] | :heavy_minus_sign: | Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable) | @@ -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. | @@ -51,7 +51,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsChronicle]](../models/createoutputpqcontrolschronicle.md) | :heavy_minus_sign: | N/A | | `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_region` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputoutputclickhouse.md b/docs/models/createoutputoutputclickhouse.md index 0ffad1f95..51a8f024c 100644 --- a/docs/models/createoutputoutputclickhouse.md +++ b/docs/models/createoutputoutputclickhouse.md @@ -10,13 +10,13 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `url` | *str* | :heavy_check_mark: | URL of the ClickHouse instance. Example: http://localhost:8123/ | | `auth_type` | [Optional[models.AuthenticationTypeOptions]](../models/authenticationtypeoptions.md) | :heavy_minus_sign: | N/A | | `database` | *str* | :heavy_check_mark: | N/A | | `table_name` | *str* | :heavy_check_mark: | 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 "_". | -| `format_` | [Optional[models.CreateOutputFormatClickHouse]](../models/createoutputformatclickhouse.md) | :heavy_minus_sign: | Data format to use when sending data to ClickHouse. Defaults to JSON Compact. | -| `mapping_type` | [Optional[models.CreateOutputMappingTypeClickHouse]](../models/createoutputmappingtypeclickhouse.md) | :heavy_minus_sign: | How event fields are mapped to ClickHouse columns | +| `format_` | [Optional[models.FormatOptions]](../models/formatoptions.md) | :heavy_minus_sign: | Data format to use when sending data to ClickHouse. Defaults to JSON Compact. | +| `mapping_type` | [Optional[models.MappingTypeOptions]](../models/mappingtypeoptions.md) | :heavy_minus_sign: | How event fields are mapped to ClickHouse columns | | `async_inserts` | *Optional[bool]* | :heavy_minus_sign: | 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` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPathExtended]](../models/tlssettingsclientsidetypecapathcertpathextended.md) | :heavy_minus_sign: | N/A | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | @@ -33,9 +33,10 @@ | `response_retry_settings` | List[[models.ResponseRetrySettingConfOutputWebhook](../models/responseretrysettingconfoutputwebhook.md)] | :heavy_minus_sign: | Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable) | | `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. | +| `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 | @@ -43,7 +44,7 @@ | `wait_for_async_inserts` | *Optional[bool]* | :heavy_minus_sign: | 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` | List[*str*] | :heavy_minus_sign: | Fields to exclude from sending to ClickHouse | | `describe_table` | *Optional[str]* | :heavy_minus_sign: | Retrieves the table schema from ClickHouse and populates the Column Mapping table | -| `column_mappings` | List[[models.CreateOutputColumnMappingClickHouse](../models/createoutputcolumnmappingclickhouse.md)] | :heavy_minus_sign: | N/A | +| `column_mappings` | List[[models.ColumnMappingConfOutputClickHouse](../models/columnmappingconfoutputclickhouse.md)] | :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. | | `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. | @@ -54,7 +55,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsClickHouse]](../models/createoutputpqcontrolsclickhouse.md) | :heavy_minus_sign: | N/A | | `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_url` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputoutputcloudflarer2.md b/docs/models/createoutputoutputcloudflarer2.md index f98bb3fec..da27e287c 100644 --- a/docs/models/createoutputoutputcloudflarer2.md +++ b/docs/models/createoutputoutputcloudflarer2.md @@ -10,8 +10,8 @@ | `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} | -| `aws_authentication_method` | [Optional[models.CreateOutputAuthenticationMethodCloudflareR2]](../models/createoutputauthenticationmethodcloudflarer2.md) | :heavy_minus_sign: | AWS authentication method. Choose Auto to use IAM roles. | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | +| `aws_authentication_method` | [Optional[models.AuthenticationMethodOptionsAutoSecret]](../models/authenticationmethodoptionsautosecret.md) | :heavy_minus_sign: | AWS authentication method. Choose Auto to use IAM roles. | | `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 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}` | @@ -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..e83fda359 100644 --- a/docs/models/createoutputoutputcloudians3.md +++ b/docs/models/createoutputoutputcloudians3.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `endpoint` | *str* | :heavy_check_mark: | Cloudian HyperStore S3-compatible endpoint URL (example: https://s3.hyperstore.example.com) | | `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 | @@ -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 b3fd414c2..66e4f5bc4 100644 --- a/docs/models/createoutputoutputcloudwatch.md +++ b/docs/models/createoutputoutputcloudwatch.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `log_group_name` | *str* | :heavy_check_mark: | CloudWatch log group to associate events with | | `log_stream_name` | *str* | :heavy_check_mark: | 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 | | `aws_authentication_method` | [Optional[models.AuthenticationMethodOptionsS3CollectorConf]](../models/authenticationmethodoptionss3collectorconf.md) | :heavy_minus_sign: | AWS authentication method. Choose Auto to use IAM roles. | @@ -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. | @@ -40,7 +40,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsCloudwatch]](../models/createoutputpqcontrolscloudwatch.md) | :heavy_minus_sign: | N/A | | `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_log_group_name` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputoutputconfluentcloud.md b/docs/models/createoutputoutputconfluentcloud.md index 2591a338b..9808d28de 100644 --- a/docs/models/createoutputoutputconfluentcloud.md +++ b/docs/models/createoutputoutputconfluentcloud.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `brokers` | List[*str*] | :heavy_check_mark: | List of Confluent Cloud bootstrap servers to use, such as yourAccount.confluent.cloud:9092. | | `tls` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPath]](../models/tlssettingsclientsidetypecapathcertpath.md) | :heavy_minus_sign: | N/A | | `topic` | *str* | :heavy_check_mark: | The topic to publish events to. Can be overridden using the __topicOut field. | @@ -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. | @@ -44,7 +44,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsConfluentCloud]](../models/createoutputpqcontrolsconfluentcloud.md) | :heavy_minus_sign: | N/A | | `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/createoutputoutputcriblhttp.md b/docs/models/createoutputoutputcriblhttp.md index 4aa47cfb0..f4d84da6c 100644 --- a/docs/models/createoutputoutputcriblhttp.md +++ b/docs/models/createoutputoutputcriblhttp.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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. | | `tls` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPath]](../models/tlssettingsclientsidetypecapathcertpath.md) | :heavy_minus_sign: | N/A | | `token_ttl_minutes` | *Optional[float]* | :heavy_minus_sign: | The number of minutes before the internally generated authentication token expires. Valid values are between 1 and 60. | @@ -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 | @@ -48,7 +48,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsCriblHTTP]](../models/createoutputpqcontrolscriblhttp.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputoutputcribllake.md b/docs/models/createoutputoutputcribllake.md index 151ec7519..079e48b6e 100644 --- a/docs/models/createoutputoutputcribllake.md +++ b/docs/models/createoutputoutputcribllake.md @@ -10,19 +10,7 @@ | `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` | *Optional[str]* | :heavy_minus_sign: | S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint. | -| `enable_assume_role` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials to access S3 | -| `assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Amazon Resource Name (ARN) of the role to assume | -| `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). | -| `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` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | Region where the S3 bucket is located | -| `dest_path` | *Optional[str]* | :heavy_minus_sign: | Lake dataset to send the data to. | -| `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 | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `stage_path` | *Optional[str]* | :heavy_minus_sign: | 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 | @@ -40,31 +28,33 @@ | `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 | -| `aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`) | -| `object_acl` | [Optional[models.ObjectACLOptions]](../models/objectacloptions.md) | :heavy_minus_sign: | Object ACL to assign to uploaded objects | -| `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 | -| `aws_authentication_method` | [Optional[models.CreateOutputAwsAuthenticationMethod]](../models/createoutputawsauthenticationmethod.md) | :heavy_minus_sign: | N/A | +| `dest_path` | *Optional[str]* | :heavy_minus_sign: | Lake dataset to send the data to. | | `format_` | [Optional[models.CreateOutputFormatCriblLake]](../models/createoutputformatcribllake.md) | :heavy_minus_sign: | N/A | -| `max_concurrent_file_parts` | *Optional[float]* | :heavy_minus_sign: | Maximum number of parts to upload in parallel per file. Minimum part size is 5MB. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `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: | 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 | +| `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_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *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_region` | *Optional[str]* | :heavy_minus_sign: | 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` | *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_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_aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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. | \ No newline at end of file +| `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_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/createoutputoutputcriblsearchengine.md b/docs/models/createoutputoutputcriblsearchengine.md index cc0ebe20b..a4e331ebd 100644 --- a/docs/models/createoutputoutputcriblsearchengine.md +++ b/docs/models/createoutputoutputcriblsearchengine.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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. | | `tls` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPath]](../models/tlssettingsclientsidetypecapathcertpath.md) | :heavy_minus_sign: | N/A | | `token_ttl_minutes` | *Optional[float]* | :heavy_minus_sign: | The number of minutes before the internally generated authentication token expires. Valid values are between 1 and 60. | @@ -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 | @@ -48,7 +48,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsCriblSearchEngine]](../models/createoutputpqcontrolscriblsearchengine.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputoutputcribltcp.md b/docs/models/createoutputoutputcribltcp.md index 413a8de24..73308f27b 100644 --- a/docs/models/createoutputoutputcribltcp.md +++ b/docs/models/createoutputoutputcribltcp.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `load_balanced` | *Optional[bool]* | :heavy_minus_sign: | Use load-balanced destinations | | `compression` | [Optional[models.CompressionOptionsGzipNone]](../models/compressionoptionsgzipnone.md) | :heavy_minus_sign: | Codec to use to compress the data before sending | | `log_failed_requests` | *Optional[bool]* | :heavy_minus_sign: | Use to troubleshoot issues with sending data | @@ -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 | @@ -40,7 +40,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsCriblTCP]](../models/createoutputpqcontrolscribltcp.md) | :heavy_minus_sign: | N/A | | `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. | diff --git a/docs/models/createoutputoutputcrowdstrikenextgensiem.md b/docs/models/createoutputoutputcrowdstrikenextgensiem.md index 03eafd55c..95f3ea545 100644 --- a/docs/models/createoutputoutputcrowdstrikenextgensiem.md +++ b/docs/models/createoutputoutputcrowdstrikenextgensiem.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `url` | *str* | :heavy_check_mark: | URL provided from a CrowdStrike data connector.
Example: https://ingest..crowdstrike.com/api/ingest/hec//v1/services/collector | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | | `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size, in KB, of the request body | @@ -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. | @@ -42,7 +42,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsCrowdstrikeNextGenSiem]](../models/createoutputpqcontrolscrowdstrikenextgensiem.md) | :heavy_minus_sign: | N/A | | `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_url` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputoutputcustomermetricsstorage.md b/docs/models/createoutputoutputcustomermetricsstorage.md new file mode 100644 index 000000000..0cdd446d1 --- /dev/null +++ b/docs/models/createoutputoutputcustomermetricsstorage.md @@ -0,0 +1,65 @@ +# CreateOutputOutputCustomerMetricsStorage + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `id` | *str* | :heavy_check_mark: | Unique ID for this output | +| `type` | [models.CreateOutputTypeCustomerMetricsStorage](../models/createoutputtypecustomermetricsstorage.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: | Metadata tags used for categorization and filtering. | +| `url` | *str* | :heavy_check_mark: | URL of the ClickHouse instance. Example: http://localhost:8123/ | +| `auth_type` | [Optional[models.AuthenticationTypeOptions]](../models/authenticationtypeoptions.md) | :heavy_minus_sign: | N/A | +| `database` | *str* | :heavy_check_mark: | N/A | +| `table_name` | *str* | :heavy_check_mark: | 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 "_". | +| `format_` | [Optional[models.FormatOptions]](../models/formatoptions.md) | :heavy_minus_sign: | Data format to use when sending data to ClickHouse. Defaults to JSON Compact. | +| `mapping_type` | [Optional[models.MappingTypeOptions]](../models/mappingtypeoptions.md) | :heavy_minus_sign: | How event fields are mapped to ClickHouse columns | +| `async_inserts` | *Optional[bool]* | :heavy_minus_sign: | 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` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPathExtended]](../models/tlssettingsclientsidetypecapathcertpathextended.md) | :heavy_minus_sign: | N/A | +| `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | +| `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size, in KB, of the request body | +| `max_payload_events` | *Optional[float]* | :heavy_minus_sign: | Maximum number of events to include in the request body. Default is 0 (unlimited). | +| `compress` | *Optional[bool]* | :heavy_minus_sign: | Compress the payload body before sending | +| `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. | +| `timeout_sec` | *Optional[float]* | :heavy_minus_sign: | Amount of time, in seconds, to wait for a request to complete before canceling it | +| `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 Body size limit. | +| `extra_http_headers` | List[[models.ExtraHTTPHeaderConfInputElastic](../models/extrahttpheaderconfinputelastic.md)] | :heavy_minus_sign: | Headers to add to all events | +| `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. | +| `failed_request_logging_mode` | [Optional[models.FailedRequestLoggingModeOptions]](../models/failedrequestloggingmodeoptions.md) | :heavy_minus_sign: | Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below. | +| `safe_headers` | List[*str*] | :heavy_minus_sign: | List of headers that are safe to log in plain text | +| `response_retry_settings` | List[[models.ResponseRetrySettingConfOutputWebhook](../models/responseretrysettingconfoutputwebhook.md)] | :heavy_minus_sign: | Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable) | +| `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. | +| `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: | 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 | +| `sql_username` | *Optional[str]* | :heavy_minus_sign: | Username for certificate authentication | +| `wait_for_async_inserts` | *Optional[bool]* | :heavy_minus_sign: | 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` | List[*str*] | :heavy_minus_sign: | Fields to exclude from sending to ClickHouse | +| `describe_table` | *Optional[str]* | :heavy_minus_sign: | Retrieves the table schema from ClickHouse and populates the Column Mapping table | +| `column_mappings` | List[[models.ColumnMappingConfOutputClickHouse](../models/columnmappingconfoutputclickhouse.md)] | :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. | +| `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. | +| `pq_max_buffer_size` | *Optional[float]* | :heavy_minus_sign: | 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` | *Optional[float]* | :heavy_minus_sign: | How long (in seconds) to wait for backpressure to resolve before engaging the queue | +| `pq_max_file_size` | *Optional[str]* | :heavy_minus_sign: | The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.) | +| `pq_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. | +| `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | +| `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | +| `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | +| `pq_controls` | [Optional[models.CreateOutputPqControlsCustomerMetricsStorage]](../models/createoutputpqcontrolscustomermetricsstorage.md) | :heavy_minus_sign: | N/A | +| `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_url` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *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/createoutputoutputdatabricks.md b/docs/models/createoutputoutputdatabricks.md index 7e5497686..bfc1d4302 100644 --- a/docs/models/createoutputoutputdatabricks.md +++ b/docs/models/createoutputoutputdatabricks.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `dest_path` | *Optional[str]* | :heavy_minus_sign: | Optional path to prepend to files before uploading. | | `stage_path` | *Optional[str]* | :heavy_minus_sign: | Filesystem location in which to buffer files before compressing and moving to final destination. Use performant, stable storage. | | `add_id_to_stage_path` | *Optional[bool]* | :heavy_minus_sign: | Add the Output ID value to staging location | @@ -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 637e3c3fe..1fe3fdad8 100644 --- a/docs/models/createoutputoutputdatadog.md +++ b/docs/models/createoutputoutputdatadog.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `content_type` | [Optional[models.CreateOutputSendLogsAs]](../models/createoutputsendlogsas.md) | :heavy_minus_sign: | The content type to use when sending logs | | `message` | *Optional[str]* | :heavy_minus_sign: | 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]* | :heavy_minus_sign: | 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. | @@ -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. | @@ -51,7 +51,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsDatadog]](../models/createoutputpqcontrolsdatadog.md) | :heavy_minus_sign: | N/A | | `api_key` | *Optional[str]* | :heavy_minus_sign: | Organization's API key in Datadog | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/createoutputoutputdataset.md b/docs/models/createoutputoutputdataset.md index f3cc6421d..8d8e8c947 100644 --- a/docs/models/createoutputoutputdataset.md +++ b/docs/models/createoutputoutputdataset.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `message_field` | *Optional[str]* | :heavy_minus_sign: | 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` | List[*str*] | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | Name of the event field that contains the `serverHost` identifier. If not specified, defaults to `cribl_`. | @@ -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. | @@ -46,7 +46,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsDataset]](../models/createoutputpqcontrolsdataset.md) | :heavy_minus_sign: | N/A | | `api_key` | *Optional[str]* | :heavy_minus_sign: | A 'Log Write Access' API key for the DataSet account | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/createoutputoutputdefault.md b/docs/models/createoutputoutputdefault.md index 5d0e9b22c..18b363b81 100644 --- a/docs/models/createoutputoutputdefault.md +++ b/docs/models/createoutputoutputdefault.md @@ -10,6 +10,6 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `default_id` | *Nullable[str]* | :heavy_check_mark: | ID of the default output. This will be used whenever a nonexistent/deleted output is referenced. | | `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/createoutputoutputdells3.md b/docs/models/createoutputoutputdells3.md index 82674ab0a..f97ed4e2c 100644 --- a/docs/models/createoutputoutputdells3.md +++ b/docs/models/createoutputoutputdells3.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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 | @@ -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/createoutputoutputdevnull.md b/docs/models/createoutputoutputdevnull.md index e79f3a184..c8b2b0670 100644 --- a/docs/models/createoutputoutputdevnull.md +++ b/docs/models/createoutputoutputdevnull.md @@ -10,5 +10,5 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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/createoutputoutputdiskspool.md b/docs/models/createoutputoutputdiskspool.md index a943011cc..b7907683d 100644 --- a/docs/models/createoutputoutputdiskspool.md +++ b/docs/models/createoutputoutputdiskspool.md @@ -10,11 +10,11 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `time_window` | *Optional[str]* | :heavy_minus_sign: | Time period for grouping spooled events. Default is 10m. | | `max_data_size` | *Optional[str]* | :heavy_minus_sign: | Maximum disk space that can be consumed before older buckets are deleted. Examples: 420MB, 4GB. Default is 1GB. | | `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..42185e3ac 100644 --- a/docs/models/createoutputoutputdls3.md +++ b/docs/models/createoutputoutputdls3.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `endpoint` | *Optional[str]* | :heavy_minus_sign: | S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint. | | `enable_assume_role` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials to access S3 | | `assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Amazon Resource Name (ARN) of the role to assume | @@ -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 e52cede4c..87531a5d2 100644 --- a/docs/models/createoutputoutputdynatracehttp.md +++ b/docs/models/createoutputoutputdynatracehttp.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `method` | [Optional[models.MethodOptions]](../models/methodoptions.md) | :heavy_minus_sign: | The method to use when sending events | | `keep_alive` | *Optional[bool]* | :heavy_minus_sign: | Disable to close the connection immediately after sending the outgoing request | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | @@ -30,10 +30,10 @@ | `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.CreateOutputAuthenticationTypeDynatraceHTTP]](../models/createoutputauthenticationtypedynatracehttp.md) | :heavy_minus_sign: | N/A | | `format_` | [models.CreateOutputFormatDynatraceHTTP](../models/createoutputformatdynatracehttp.md) | :heavy_check_mark: | How to format events before sending. Defaults to JSON. Plaintext is not currently supported. | -| `endpoint` | [models.CreateOutputEndpoint](../models/createoutputendpoint.md) | :heavy_check_mark: | N/A | +| `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. | @@ -44,7 +44,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsDynatraceHTTP]](../models/createoutputpqcontrolsdynatracehttp.md) | :heavy_minus_sign: | N/A | | `token` | *Optional[str]* | :heavy_minus_sign: | Bearer token to include in the authorization header | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/createoutputoutputdynatraceotlp.md b/docs/models/createoutputoutputdynatraceotlp.md index 569121adf..fd3a1ce74 100644 --- a/docs/models/createoutputoutputdynatraceotlp.md +++ b/docs/models/createoutputoutputdynatraceotlp.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `protocol` | [models.CreateOutputProtocolDynatraceOtlp](../models/createoutputprotocoldynatraceotlp.md) | :heavy_check_mark: | Select a transport option for Dynatrace | | `endpoint` | *str* | :heavy_check_mark: | 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` | [models.OtlpVersionOptions131](../models/otlpversionoptions131.md) | :heavy_check_mark: | The version of OTLP Protobuf definitions to use when structuring data to send | @@ -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 | @@ -52,7 +52,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsDynatraceOtlp]](../models/createoutputpqcontrolsdynatraceotlp.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputoutputelastic.md b/docs/models/createoutputoutputelastic.md index 94511182e..1a96b4f2e 100644 --- a/docs/models/createoutputoutputelastic.md +++ b/docs/models/createoutputoutputelastic.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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. | | `index` | *str* | :heavy_check_mark: | 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. | | `doc_type` | *Optional[str]* | :heavy_minus_sign: | Document type to use for events. Can be overwritten by an event's __type field. | @@ -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 | @@ -52,7 +52,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsElastic]](../models/createoutputpqcontrolselastic.md) | :heavy_minus_sign: | N/A | | `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_index` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputoutputelasticcloud.md b/docs/models/createoutputoutputelasticcloud.md index d73eacdd5..817ecee1b 100644 --- a/docs/models/createoutputoutputelasticcloud.md +++ b/docs/models/createoutputoutputelasticcloud.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `url` | *str* | :heavy_check_mark: | Enter Cloud ID of the Elastic Cloud environment to send events to | | `index` | *str* | :heavy_check_mark: | 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. | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | @@ -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. | @@ -42,7 +42,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsElasticCloud]](../models/createoutputpqcontrolselasticcloud.md) | :heavy_minus_sign: | N/A | | `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_url` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputoutputexabeam.md b/docs/models/createoutputoutputexabeam.md index c02ff936f..0ebc232c0 100644 --- a/docs/models/createoutputoutputexabeam.md +++ b/docs/models/createoutputoutputexabeam.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `bucket` | *str* | :heavy_check_mark: | 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* | :heavy_check_mark: | Region where the bucket is located | | `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. | @@ -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..7772cd21f 100644 --- a/docs/models/createoutputoutputfilesystem.md +++ b/docs/models/createoutputoutputfilesystem.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `dest_path` | *str* | :heavy_check_mark: | Final destination for the output files | | `stage_path` | *Optional[str]* | :heavy_minus_sign: | 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 | @@ -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/createoutputoutputgooglebigquery.md b/docs/models/createoutputoutputgooglebigquery.md new file mode 100644 index 000000000..55113c433 --- /dev/null +++ b/docs/models/createoutputoutputgooglebigquery.md @@ -0,0 +1,42 @@ +# CreateOutputOutputGoogleBigquery + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | Unique ID for this output | +| `type` | [models.CreateOutputTypeGoogleBigquery](../models/createoutputtypegooglebigquery.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: | Metadata tags used for categorization and filtering. | +| `project_id` | *str* | :heavy_check_mark: | Google Cloud project ID that contains the BigQuery dataset | +| `dataset_id` | *str* | :heavy_check_mark: | BigQuery dataset ID | +| `table_id` | *str* | :heavy_check_mark: | BigQuery table ID | +| `timestamp_column` | *Optional[str]* | :heavy_minus_sign: | Column name to write event time (`_time`) as a BigQuery TIMESTAMP. Used for time partitioning | +| `google_auth_method` | [models.CreateOutputGoogleAuthenticationMethodGoogleBigquery](../models/createoutputgoogleauthenticationmethodgooglebigquery.md) | :heavy_check_mark: | Choose Auto to use Google Application Default Credentials (ADC), or Secret to select or create a stored secret that references Google service account credentials | +| `secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | +| `flush_period` | *Optional[float]* | :heavy_minus_sign: | Maximum time to wait before sending a batch (when batch size limit is not reached) | +| `max_queue_size` | *Optional[float]* | :heavy_minus_sign: | Maximum number of queued batches before blocking | +| `max_record_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size (KB) of a single append request. BigQuery limit is 10 MB | +| `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: | 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. | +| `pq_max_buffer_size` | *Optional[float]* | :heavy_minus_sign: | 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` | *Optional[float]* | :heavy_minus_sign: | How long (in seconds) to wait for backpressure to resolve before engaging the queue | +| `pq_max_file_size` | *Optional[str]* | :heavy_minus_sign: | The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.) | +| `pq_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. | +| `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | +| `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | +| `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | +| `pq_controls` | [Optional[models.CreateOutputPqControlsGoogleBigquery]](../models/createoutputpqcontrolsgooglebigquery.md) | :heavy_minus_sign: | N/A | +| `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_project_id` | *Optional[str]* | :heavy_minus_sign: | Binds 'projectId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'projectId' at runtime. | +| `template_dataset_id` | *Optional[str]* | :heavy_minus_sign: | Binds 'datasetId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'datasetId' at runtime. | +| `template_table_id` | *Optional[str]* | :heavy_minus_sign: | Binds 'tableId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tableId' 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/createoutputoutputgooglechronicle.md b/docs/models/createoutputoutputgooglechronicle.md index bbcb92abe..e88d30761 100644 --- a/docs/models/createoutputoutputgooglechronicle.md +++ b/docs/models/createoutputoutputgooglechronicle.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `api_version` | [Optional[models.CreateOutputAPIVersion]](../models/createoutputapiversion.md) | :heavy_minus_sign: | N/A | | `authentication_method` | [Optional[models.CreateOutputAuthenticationMethodGoogleChronicle]](../models/createoutputauthenticationmethodgooglechronicle.md) | :heavy_minus_sign: | N/A | | `response_retry_settings` | List[[models.ResponseRetrySettingConfOutputWebhook](../models/responseretrysettingconfoutputwebhook.md)] | :heavy_minus_sign: | Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable) | @@ -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. | @@ -53,7 +53,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsGoogleChronicle]](../models/createoutputpqcontrolsgooglechronicle.md) | :heavy_minus_sign: | N/A | | `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_api_version` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputoutputgooglecloudlogging.md b/docs/models/createoutputoutputgooglecloudlogging.md index 7803715cc..be66f6297 100644 --- a/docs/models/createoutputoutputgooglecloudlogging.md +++ b/docs/models/createoutputoutputgooglecloudlogging.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `log_location_type` | [models.CreateOutputLogLocationType](../models/createoutputloglocationtype.md) | :heavy_check_mark: | N/A | | `log_name_expression` | *str* | :heavy_check_mark: | 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. | | `sanitize_log_names` | *Optional[bool]* | :heavy_minus_sign: | N/A | @@ -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. | @@ -73,7 +73,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsGoogleCloudLogging]](../models/createoutputpqcontrolsgooglecloudlogging.md) | :heavy_minus_sign: | N/A | | `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_log_location_type` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputoutputgooglecloudobservability.md b/docs/models/createoutputoutputgooglecloudobservability.md new file mode 100644 index 000000000..127d4b629 --- /dev/null +++ b/docs/models/createoutputoutputgooglecloudobservability.md @@ -0,0 +1,47 @@ +# CreateOutputOutputGoogleCloudObservability + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | Unique ID for this output | +| `type` | [models.CreateOutputTypeGoogleCloudObservability](../models/createoutputtypegooglecloudobservability.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: | Metadata tags used for categorization and filtering. | +| `protocol` | [Optional[models.CreateOutputProtocolGoogleCloudObservability]](../models/createoutputprotocolgooglecloudobservability.md) | :heavy_minus_sign: | N/A | +| `otlp_version` | [Optional[models.CreateOutputOtlpVersionGoogleCloudObservability]](../models/createoutputotlpversiongooglecloudobservability.md) | :heavy_minus_sign: | N/A | +| `endpoint` | [Optional[models.CreateOutputEndpointGoogleCloudObservability]](../models/createoutputendpointgooglecloudobservability.md) | :heavy_minus_sign: | 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. | +| `google_auth_method` | [models.CreateOutputGoogleAuthenticationMethodGoogleCloudObservability](../models/createoutputgoogleauthenticationmethodgooglecloudobservability.md) | :heavy_check_mark: | Choose Auto to use Google Application Default Credentials (ADC). Choose Secret to select or create a stored secret that references Google service account credentials. | +| `metadata` | List[[models.KeyValueMetadataConfOutputFilesystem](../models/keyvaluemetadataconfoutputfilesystem.md)] | :heavy_minus_sign: | 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` | *Optional[bool]* | :heavy_minus_sign: | Batch event data upon dynamic metadata (whether presented or not) | +| `dynamic_headers_field` | *Optional[str]* | :heavy_minus_sign: | When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events. | +| `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | +| `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size, in KB, of the request body sent to Google Cloud Observability | +| `timeout_sec` | *Optional[float]* | :heavy_minus_sign: | Amount of time, in seconds, to wait for a request to complete before canceling it | +| `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 Body size limit. | +| `failed_request_logging_mode` | [Optional[models.FailedRequestLoggingModeOptions]](../models/failedrequestloggingmodeoptions.md) | :heavy_minus_sign: | Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below. | +| `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). 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: | 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. | +| `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. | +| `pq_max_buffer_size` | *Optional[float]* | :heavy_minus_sign: | 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` | *Optional[float]* | :heavy_minus_sign: | How long (in seconds) to wait for backpressure to resolve before engaging the queue | +| `pq_max_file_size` | *Optional[str]* | :heavy_minus_sign: | The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.) | +| `pq_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. | +| `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | +| `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | +| `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | +| `pq_controls` | [Optional[models.CreateOutputPqControlsGoogleCloudObservability]](../models/createoutputpqcontrolsgooglecloudobservability.md) | :heavy_minus_sign: | N/A | +| `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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` | *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/createoutputoutputgooglecloudstorage.md b/docs/models/createoutputoutputgooglecloudstorage.md index 03110e306..7169a06ac 100644 --- a/docs/models/createoutputoutputgooglecloudstorage.md +++ b/docs/models/createoutputoutputgooglecloudstorage.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `bucket` | *str* | :heavy_check_mark: | 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* | :heavy_check_mark: | Region where the bucket is located | | `endpoint` | *str* | :heavy_check_mark: | Google Cloud Storage service endpoint | @@ -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 a0298faca..b586264f3 100644 --- a/docs/models/createoutputoutputgooglepubsub.md +++ b/docs/models/createoutputoutputgooglepubsub.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `topic_name` | *str* | :heavy_check_mark: | ID of the topic to send events to. | | `create_topic` | *Optional[bool]* | :heavy_minus_sign: | If enabled, create topic if it does not exist. | | `ordered_delivery` | *Optional[bool]* | :heavy_minus_sign: | 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. | @@ -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. | @@ -36,7 +36,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsGooglePubsub]](../models/createoutputpqcontrolsgooglepubsub.md) | :heavy_minus_sign: | N/A | | `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_topic_name` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputoutputgrafanacloudgrafanacloud1.md b/docs/models/createoutputoutputgrafanacloudgrafanacloud1.md index 14b985279..f5b309aa6 100644 --- a/docs/models/createoutputoutputgrafanacloudgrafanacloud1.md +++ b/docs/models/createoutputoutputgrafanacloudgrafanacloud1.md @@ -10,12 +10,12 @@ | `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. These fields are added as dimensions and labels to generated metrics and logs, respectively. | | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `loki_url` | *str* | :heavy_check_mark: | The endpoint to send logs to, such as https://logs-prod-us-central1.grafana.net | | `prometheus_url` | *Optional[str]* | :heavy_minus_sign: | 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]* | :heavy_minus_sign: | 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` | [Optional[models.MessageFormatOptions]](../models/messageformatoptions.md) | :heavy_minus_sign: | Format to use when sending logs to Loki (Protobuf or JSON) | -| `labels` | List[[models.RequestParamConfInputOpenai](../models/requestparamconfinputopenai.md)] | :heavy_minus_sign: | 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"}' | +| `labels` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauthSecret](../models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.md)] | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | [Optional[models.PrometheusAuthType]](../models/prometheusauthtype.md) | :heavy_minus_sign: | N/A | | `loki_auth` | [Optional[models.PrometheusAuthType]](../models/prometheusauthtype.md) | :heavy_minus_sign: | N/A | @@ -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. | @@ -45,7 +45,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputOutputGrafanaCloudPqControls1]](../models/createoutputoutputgrafanacloudpqcontrols1.md) | :heavy_minus_sign: | N/A | | `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_loki_url` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputoutputgrafanacloudgrafanacloud2.md b/docs/models/createoutputoutputgrafanacloudgrafanacloud2.md index b3592b4ac..eeb5b692a 100644 --- a/docs/models/createoutputoutputgrafanacloudgrafanacloud2.md +++ b/docs/models/createoutputoutputgrafanacloudgrafanacloud2.md @@ -10,12 +10,12 @@ | `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. These fields are added as dimensions and labels to generated metrics and logs, respectively. | | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `loki_url` | *Optional[str]* | :heavy_minus_sign: | The endpoint to send logs to, such as https://logs-prod-us-central1.grafana.net | | `prometheus_url` | *str* | :heavy_check_mark: | 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]* | :heavy_minus_sign: | 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` | [Optional[models.MessageFormatOptions]](../models/messageformatoptions.md) | :heavy_minus_sign: | Format to use when sending logs to Loki (Protobuf or JSON) | -| `labels` | List[[models.RequestParamConfInputOpenai](../models/requestparamconfinputopenai.md)] | :heavy_minus_sign: | 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"}' | +| `labels` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauthSecret](../models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.md)] | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | [Optional[models.PrometheusAuthType]](../models/prometheusauthtype.md) | :heavy_minus_sign: | N/A | | `loki_auth` | [Optional[models.PrometheusAuthType]](../models/prometheusauthtype.md) | :heavy_minus_sign: | N/A | @@ -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. | @@ -45,7 +45,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputOutputGrafanaCloudPqControls2]](../models/createoutputoutputgrafanacloudpqcontrols2.md) | :heavy_minus_sign: | N/A | | `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_loki_url` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputoutputgraphite.md b/docs/models/createoutputoutputgraphite.md index fc170f2b2..1b2d9ac5e 100644 --- a/docs/models/createoutputoutputgraphite.md +++ b/docs/models/createoutputoutputgraphite.md @@ -10,14 +10,14 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `protocol` | [models.DestinationProtocolOptions](../models/destinationprotocoloptions.md) | :heavy_check_mark: | Protocol to use when communicating with the destination. | | `host` | *str* | :heavy_check_mark: | The hostname of the destination. | | `port` | *float* | :heavy_check_mark: | Destination port. | | `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 | @@ -32,7 +32,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsGraphite]](../models/createoutputpqcontrolsgraphite.md) | :heavy_minus_sign: | N/A | | `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/createoutputoutputhoneycomb.md b/docs/models/createoutputoutputhoneycomb.md index 85e1de900..c48fa0809 100644 --- a/docs/models/createoutputoutputhoneycomb.md +++ b/docs/models/createoutputoutputhoneycomb.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `dataset` | *str* | :heavy_check_mark: | Name of the dataset to send events to – e.g., observability | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | | `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size, in KB, of the request body | @@ -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. | @@ -39,7 +39,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsHoneycomb]](../models/createoutputpqcontrolshoneycomb.md) | :heavy_minus_sign: | N/A | | `team` | *Optional[str]* | :heavy_minus_sign: | Team API key where the dataset belongs | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/createoutputoutputhumiohec.md b/docs/models/createoutputoutputhumiohec.md index c8d4a08e3..6f4fe4041 100644 --- a/docs/models/createoutputoutputhumiohec.md +++ b/docs/models/createoutputoutputhumiohec.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `url` | *str* | :heavy_check_mark: | 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 | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | | `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size, in KB, of the request body | @@ -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. | @@ -42,7 +42,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsHumioHec]](../models/createoutputpqcontrolshumiohec.md) | :heavy_minus_sign: | N/A | | `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_url` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputoutputibmclouds3.md b/docs/models/createoutputoutputibmclouds3.md new file mode 100644 index 000000000..70c73982a --- /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: | Metadata tags used for categorization and filtering. | +| `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 d9e039e9c..d03128648 100644 --- a/docs/models/createoutputoutputinfluxdb.md +++ b/docs/models/createoutputoutputinfluxdb.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `url` | *str* | :heavy_check_mark: | URL of an InfluxDB cluster to send events to, e.g., http://localhost:8086/write | | `use_v2_api` | *Optional[bool]* | :heavy_minus_sign: | The v2 API can be enabled with InfluxDB versions 1.8 and later. | | `timestamp_precision` | [Optional[models.CreateOutputTimestampPrecision]](../models/createoutputtimestampprecision.md) | :heavy_minus_sign: | Sets the precision for the supplied Unix time values. Defaults to milliseconds. | @@ -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. | @@ -46,7 +46,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsInfluxdb]](../models/createoutputpqcontrolsinfluxdb.md) | :heavy_minus_sign: | N/A | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | diff --git a/docs/models/createoutputoutputkafka.md b/docs/models/createoutputoutputkafka.md index 67c717a6a..dde15794b 100644 --- a/docs/models/createoutputoutputkafka.md +++ b/docs/models/createoutputoutputkafka.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `brokers` | List[*str*] | :heavy_check_mark: | 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* | :heavy_check_mark: | The topic to publish events to. Can be overridden using the __topicOut field. | | `ack` | [Optional[models.AcknowledgmentsOptionsAllLeader]](../models/acknowledgmentsoptionsallleader.md) | :heavy_minus_sign: | Control the number of required acknowledgments. | @@ -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. | @@ -44,7 +44,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsKafka]](../models/createoutputpqcontrolskafka.md) | :heavy_minus_sign: | N/A | | `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_topic` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputoutputkinesis.md b/docs/models/createoutputoutputkinesis.md index 8389c5cbc..cadbbaf07 100644 --- a/docs/models/createoutputoutputkinesis.md +++ b/docs/models/createoutputoutputkinesis.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `stream_name` | *str* | :heavy_check_mark: | Kinesis stream name to send events to. | | `aws_authentication_method` | [Optional[models.AuthenticationMethodOptionsS3CollectorConf]](../models/authenticationmethodoptionss3collectorconf.md) | :heavy_minus_sign: | AWS authentication method. Choose Auto to use IAM roles. | | `aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | N/A | @@ -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 | @@ -43,7 +43,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsKinesis]](../models/createoutputpqcontrolskinesis.md) | :heavy_minus_sign: | N/A | | `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_stream_name` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputoutputlocalsearchstorage.md b/docs/models/createoutputoutputlocalsearchstorage.md index 079d96764..4266d038f 100644 --- a/docs/models/createoutputoutputlocalsearchstorage.md +++ b/docs/models/createoutputoutputlocalsearchstorage.md @@ -10,13 +10,13 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `url` | *str* | :heavy_check_mark: | URL of the database instance. Example: http://localhost:8123/ | | `auth_type` | [Optional[models.AuthenticationTypeOptions]](../models/authenticationtypeoptions.md) | :heavy_minus_sign: | N/A | | `database` | *str* | :heavy_check_mark: | N/A | | `table_name` | *str* | :heavy_check_mark: | 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 "_". | | `format_` | [Optional[models.CreateOutputFormatLocalSearchStorage]](../models/createoutputformatlocalsearchstorage.md) | :heavy_minus_sign: | Data format to use when sending data. Defaults to JSON Compact. | -| `mapping_type` | [Optional[models.CreateOutputMappingTypeLocalSearchStorage]](../models/createoutputmappingtypelocalsearchstorage.md) | :heavy_minus_sign: | How event fields are mapped to columns. | +| `mapping_type` | [Optional[models.CreateOutputMappingType]](../models/createoutputmappingtype.md) | :heavy_minus_sign: | How event fields are mapped to columns. | | `async_inserts` | *Optional[bool]* | :heavy_minus_sign: | Collect data into batches for later processing. Disable to write to a table immediately. | | `tls` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPathExtended]](../models/tlssettingsclientsidetypecapathcertpathextended.md) | :heavy_minus_sign: | N/A | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | @@ -33,10 +33,11 @@ | `response_retry_settings` | List[[models.ResponseRetrySettingConfOutputWebhook](../models/responseretrysettingconfoutputwebhook.md)] | :heavy_minus_sign: | Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable) | | `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. | +| `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 | | `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 | @@ -44,7 +45,7 @@ | `wait_for_async_inserts` | *Optional[bool]* | :heavy_minus_sign: | 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` | List[*str*] | :heavy_minus_sign: | Fields to exclude from sending | | `describe_table` | *Optional[str]* | :heavy_minus_sign: | Retrieves the table schema and populates the Column Mapping table | -| `column_mappings` | List[[models.CreateOutputColumnMappingLocalSearchStorage](../models/createoutputcolumnmappinglocalsearchstorage.md)] | :heavy_minus_sign: | N/A | +| `column_mappings` | List[[models.CreateOutputColumnMapping](../models/createoutputcolumnmapping.md)] | :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. | | `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. | @@ -55,7 +56,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsLocalSearchStorage]](../models/createoutputpqcontrolslocalsearchstorage.md) | :heavy_minus_sign: | N/A | | `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_url` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputoutputloki.md b/docs/models/createoutputoutputloki.md index 7abe0500f..1fc423c4b 100644 --- a/docs/models/createoutputoutputloki.md +++ b/docs/models/createoutputoutputloki.md @@ -10,11 +10,11 @@ | `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. These fields are added as labels to generated logs. | | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `url` | *str* | :heavy_check_mark: | The endpoint to send logs to | | `message` | *Optional[str]* | :heavy_minus_sign: | 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` | [Optional[models.MessageFormatOptions]](../models/messageformatoptions.md) | :heavy_minus_sign: | Format to use when sending logs to Loki (Protobuf or JSON) | -| `labels` | List[[models.RequestParamConfInputOpenai](../models/requestparamconfinputopenai.md)] | :heavy_minus_sign: | 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"}' | +| `labels` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauthSecret](../models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.md)] | :heavy_minus_sign: | 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` | [Optional[models.AuthenticationTypeOptionsPrometheusAuthBasicCredentialsSecret]](../models/authenticationtypeoptionsprometheusauthbasiccredentialssecret.md) | :heavy_minus_sign: | N/A | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | 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` | *Optional[float]* | :heavy_minus_sign: | 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. | @@ -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 | @@ -49,7 +49,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsLoki]](../models/createoutputpqcontrolsloki.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputoutputmicrosoftfabric.md b/docs/models/createoutputoutputmicrosoftfabric.md index 074c615a8..fde29d82e 100644 --- a/docs/models/createoutputoutputmicrosoftfabric.md +++ b/docs/models/createoutputoutputmicrosoftfabric.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `topic` | *str* | :heavy_check_mark: | Topic name from Fabric Eventstream's endpoint | | `ack` | [Optional[models.AcknowledgmentsOptions]](../models/acknowledgmentsoptions.md) | :heavy_minus_sign: | Control the number of required acknowledgments | | `format_` | [Optional[models.RecordDataFormatOptions]](../models/recorddataformatoptions.md) | :heavy_minus_sign: | Format to use to serialize events before writing to the Event Hubs Kafka brokers | @@ -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. | @@ -40,7 +40,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsMicrosoftFabric]](../models/createoutputpqcontrolsmicrosoftfabric.md) | :heavy_minus_sign: | N/A | | `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_topic` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputoutputminio.md b/docs/models/createoutputoutputminio.md index bb2b21907..91aae2cba 100644 --- a/docs/models/createoutputoutputminio.md +++ b/docs/models/createoutputoutputminio.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `aws_authentication_method` | [Optional[models.AuthenticationMethodOptionsS3CollectorConf]](../models/authenticationmethodoptionss3collectorconf.md) | :heavy_minus_sign: | AWS authentication method. Choose Auto to use IAM roles. | | `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 | @@ -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 6162a632d..730ee1a50 100644 --- a/docs/models/createoutputoutputmsk.md +++ b/docs/models/createoutputoutputmsk.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `brokers` | List[*str*] | :heavy_check_mark: | 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* | :heavy_check_mark: | The topic to publish events to. Can be overridden using the __topicOut field. | | `ack` | [Optional[models.AcknowledgmentsOptionsAllLeader]](../models/acknowledgmentsoptionsallleader.md) | :heavy_minus_sign: | Control the number of required acknowledgments. | @@ -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 | @@ -55,7 +55,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsMsk]](../models/createoutputpqcontrolsmsk.md) | :heavy_minus_sign: | N/A | | `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_topic` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputoutputnetflow.md b/docs/models/createoutputoutputnetflow.md index 3fbaf5f4a..94bb1ad96 100644 --- a/docs/models/createoutputoutputnetflow.md +++ b/docs/models/createoutputoutputnetflow.md @@ -10,10 +10,10 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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 3c4547df2..ebbee2c5e 100644 --- a/docs/models/createoutputoutputnewrelic.md +++ b/docs/models/createoutputoutputnewrelic.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `region` | [Optional[models.RegionOptions]](../models/regionoptions.md) | :heavy_minus_sign: | Which New Relic region endpoint to use. | | `log_type` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | Name of field to send as log message value. If not present, event will be serialized and sent as JSON. | @@ -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. | @@ -44,7 +44,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsNewrelic]](../models/createoutputpqcontrolsnewrelic.md) | :heavy_minus_sign: | N/A | | `api_key` | *Optional[str]* | :heavy_minus_sign: | New Relic API key. Can be overridden using __newRelic_apiKey field. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/createoutputoutputnewrelicevents.md b/docs/models/createoutputoutputnewrelicevents.md index a241e85a8..f22c59986 100644 --- a/docs/models/createoutputoutputnewrelicevents.md +++ b/docs/models/createoutputoutputnewrelicevents.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `region` | [Optional[models.RegionOptions]](../models/regionoptions.md) | :heavy_minus_sign: | Which New Relic region endpoint to use. | | `account_id` | *str* | :heavy_check_mark: | New Relic account ID | | `event_type` | *str* | :heavy_check_mark: | 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). | @@ -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. | @@ -42,7 +42,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsNewrelicEvents]](../models/createoutputpqcontrolsnewrelicevents.md) | :heavy_minus_sign: | N/A | | `api_key` | *Optional[str]* | :heavy_minus_sign: | New Relic API key. Can be overridden using __newRelic_apiKey field. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/createoutputoutputnutanixobjects.md b/docs/models/createoutputoutputnutanixobjects.md index 00623938c..ecdb8aa68 100644 --- a/docs/models/createoutputoutputnutanixobjects.md +++ b/docs/models/createoutputoutputnutanixobjects.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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 | @@ -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 2ffc167f1..5870b5b32 100644 --- a/docs/models/createoutputoutputopentelemetry.md +++ b/docs/models/createoutputoutputopentelemetry.md @@ -10,10 +10,10 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `protocol` | [Optional[models.ProtocolOptions]](../models/protocoloptions.md) | :heavy_minus_sign: | Select a transport option for OpenTelemetry | | `endpoint` | *str* | :heavy_check_mark: | 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. | -| `otlp_version` | [Optional[models.CreateOutputOTLPVersion]](../models/createoutputotlpversion.md) | :heavy_minus_sign: | The version of OTLP Protobuf definitions to use when structuring data to send | +| `otlp_version` | [Optional[models.CreateOutputOTLPVersionOpenTelemetry]](../models/createoutputotlpversionopentelemetry.md) | :heavy_minus_sign: | The version of OTLP Protobuf definitions to use when structuring data to send | | `compress` | [Optional[models.CompressionOptionsDeflateGzip]](../models/compressionoptionsdeflategzip.md) | :heavy_minus_sign: | Type of compression to apply to messages sent to the OpenTelemetry endpoint | | `http_compress` | [Optional[models.CompressionOptionsMessages]](../models/compressionoptionsmessages.md) | :heavy_minus_sign: | Type of compression to apply to messages sent to the OpenTelemetry endpoint | | `auth_type` | [Optional[models.CreateOutputAuthenticationTypeOpenTelemetry]](../models/createoutputauthenticationtypeopentelemetry.md) | :heavy_minus_sign: | N/A | @@ -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 | @@ -64,7 +64,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsOpenTelemetry]](../models/createoutputpqcontrolsopentelemetry.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputoutputprometheus.md b/docs/models/createoutputoutputprometheus.md index d11b1dda9..90e6ba83c 100644 --- a/docs/models/createoutputoutputprometheus.md +++ b/docs/models/createoutputoutputprometheus.md @@ -10,7 +10,7 @@ | `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. These fields are added as dimensions to generated metrics. | | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `url` | *str* | :heavy_check_mark: | The endpoint to send metrics to | | `metric_rename_expr` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[bool]* | :heavy_minus_sign: | Generate and send metadata (`type` and `metricFamilyName`) requests | @@ -29,8 +29,8 @@ | `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 | -| `auth_type` | [Optional[models.AuthenticationTypeOptionsPrometheusAuth]](../models/authenticationtypeoptionsprometheusauth.md) | :heavy_minus_sign: | Remote Write authentication type | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `auth_type` | [Optional[models.CreateOutputAuthenticationTypePrometheus]](../models/createoutputauthenticationtypeprometheus.md) | :heavy_minus_sign: | Remote Write authentication type | +| `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. | @@ -42,14 +42,26 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsPrometheus]](../models/createoutputpqcontrolsprometheus.md) | :heavy_minus_sign: | N/A | | `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 | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a secret that references your credentials | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | +| `aws_authentication_method` | [Optional[models.AuthenticationMethodOptionsAutoSecret]](../models/authenticationmethodoptionsautosecret.md) | :heavy_minus_sign: | AWS authentication method. Choose Auto to use IAM roles. | +| `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | +| `region` | *Optional[str]* | :heavy_minus_sign: | AWS region used to sign Remote Write requests | +| `aws_service` | *Optional[str]* | :heavy_minus_sign: | ID used to sign Remote Write requests (for example, `aps` for Amazon Managed Service for Prometheus) | +| `enable_assume_role` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials to access Prometheus | +| `assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Amazon Resource Name (ARN) of the role to assume | +| `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). | | `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_url` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *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 +| `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_region` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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. | \ No newline at end of file diff --git a/docs/models/createoutputoutputring.md b/docs/models/createoutputoutputring.md index c0457c563..690130acf 100644 --- a/docs/models/createoutputoutputring.md +++ b/docs/models/createoutputoutputring.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `format_` | [Optional[models.CreateOutputDataFormatRing]](../models/createoutputdataformatring.md) | :heavy_minus_sign: | Format of the output data. | | `partition_expr` | *Optional[str]* | :heavy_minus_sign: | JS expression to define how files are partitioned and organized. If left blank, Cribl Stream will fallback on event.__partition. | | `max_data_size` | *Optional[str]* | :heavy_minus_sign: | Maximum disk space allowed to be consumed (examples: 420MB, 4GB). When limit is reached, older data will be deleted. | @@ -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..3fea061f0 100644 --- a/docs/models/createoutputoutputrouter.md +++ b/docs/models/createoutputoutputrouter.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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..dd3a04cbc 100644 --- a/docs/models/createoutputoutputs3.md +++ b/docs/models/createoutputoutputs3.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `endpoint` | *Optional[str]* | :heavy_minus_sign: | S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint. | | `enable_assume_role` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials to access S3 | | `assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Amazon Resource Name (ARN) of the role to assume | @@ -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..6eca45496 100644 --- a/docs/models/createoutputoutputscalitys3.md +++ b/docs/models/createoutputoutputscalitys3.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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 | @@ -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..1d268ad48 100644 --- a/docs/models/createoutputoutputsecuritylake.md +++ b/docs/models/createoutputoutputsecuritylake.md @@ -10,7 +10,7 @@ | `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. These fields are added as dimensions and labels to generated metrics and logs, respectively. | | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `endpoint` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials to access S3 | | `assume_role_arn` | *str* | :heavy_check_mark: | Amazon Resource Name (ARN) of the role to assume | @@ -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 c8423ddc8..c724c6d96 100644 --- a/docs/models/createoutputoutputsentinel.md +++ b/docs/models/createoutputoutputsentinel.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `keep_alive` | *Optional[bool]* | :heavy_minus_sign: | Disable to close the connection immediately after sending the outgoing request | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | | `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size (KB) of the request body (defaults to the API's maximum limit of 1000 KB) | @@ -30,11 +30,15 @@ | `auth_type` | [Optional[models.CreateOutputAuthType]](../models/createoutputauthtype.md) | :heavy_minus_sign: | N/A | | `login_url` | *str* | :heavy_check_mark: | URL for OAuth | | `secret` | *str* | :heavy_check_mark: | Secret parameter value to pass in request body | +| `refresh_token_field` | *Optional[str]* | :heavy_minus_sign: | Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, @{product} will use the refresh token to obtain new access tokens without re-sending credentials. | +| `rotate_refresh_token` | *Optional[bool]* | :heavy_minus_sign: | @{product} will update the stored value on each successful refresh. Enable if the server issues a new refresh token on every use. | +| `refresh_url` | *Optional[str]* | :heavy_minus_sign: | Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL. | +| `refresh_request_params` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauthSecret](../models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.md)] | :heavy_minus_sign: | Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, @{product} sends only grant_type, refresh_token, and client_secret. | | `client_id` | *str* | :heavy_check_mark: | JavaScript expression to compute the Client ID for the Azure application. Can be a constant. | | `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 | @@ -54,7 +58,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsSentinel]](../models/createoutputpqcontrolssentinel.md) | :heavy_minus_sign: | N/A | | `url` | *Optional[str]* | :heavy_minus_sign: | URL to send events to. Can be overwritten by an event's __url field. | | `dcr_id` | *Optional[str]* | :heavy_minus_sign: | Immutable ID for the Data Collection Rule (DCR) | @@ -65,6 +69,7 @@ | `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_login_url` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_refresh_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime. | | `template_client_id` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputoutputsentineloneaisiem.md b/docs/models/createoutputoutputsentineloneaisiem.md index 059106c6b..3e155f238 100644 --- a/docs/models/createoutputoutputsentineloneaisiem.md +++ b/docs/models/createoutputoutputsentineloneaisiem.md @@ -10,9 +10,7 @@ | `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} | -| `region` | [models.CreateOutputRegion](../models/createoutputregion.md) | :heavy_check_mark: | 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` | [models.CreateOutputAISIEMEndpointPath](../models/createoutputaisiemendpointpath.md) | :heavy_check_mark: | 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). | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | | `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size, in KB, of the request body | | `max_payload_events` | *Optional[float]* | :heavy_minus_sign: | Maximum number of events to include in the request body. Default is 0 (unlimited). | @@ -27,8 +25,10 @@ | `response_retry_settings` | List[[models.ResponseRetrySettingConfOutputWebhook](../models/responseretrysettingconfoutputwebhook.md)] | :heavy_minus_sign: | Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable) | | `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. | +| `region` | [models.CreateOutputRegion](../models/createoutputregion.md) | :heavy_check_mark: | 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` | [models.CreateOutputAISIEMEndpointPath](../models/createoutputaisiemendpointpath.md) | :heavy_check_mark: | 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). | | `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]+)?$. | @@ -56,7 +56,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsSentinelOneAiSiem]](../models/createoutputpqcontrolssentineloneaisiem.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputoutputservicenow.md b/docs/models/createoutputoutputservicenow.md index 5aa5fea69..e4924a0eb 100644 --- a/docs/models/createoutputoutputservicenow.md +++ b/docs/models/createoutputoutputservicenow.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `endpoint` | *str* | :heavy_check_mark: | 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* | :heavy_check_mark: | Select or create a stored text secret | | `auth_token_name` | *Optional[str]* | :heavy_minus_sign: | N/A | @@ -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 | @@ -52,7 +52,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsServiceNow]](../models/createoutputpqcontrolsservicenow.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputoutputsignalfx.md b/docs/models/createoutputoutputsignalfx.md index b1ce86e77..0be0370c4 100644 --- a/docs/models/createoutputoutputsignalfx.md +++ b/docs/models/createoutputoutputsignalfx.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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 | | `realm` | *str* | :heavy_check_mark: | 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). | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | @@ -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. | @@ -41,7 +41,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsSignalfx]](../models/createoutputpqcontrolssignalfx.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputoutputsnmp.md b/docs/models/createoutputoutputsnmp.md index 5f9e8c3a2..9572dcf42 100644 --- a/docs/models/createoutputoutputsnmp.md +++ b/docs/models/createoutputoutputsnmp.md @@ -3,15 +3,17 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *str* | :heavy_check_mark: | Unique ID for this output | -| `type` | [models.CreateOutputTypeSnmp](../models/createoutputtypesnmp.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} | -| `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. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `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 +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | Unique ID for this output | +| `type` | [models.CreateOutputTypeSnmp](../models/createoutputtypesnmp.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: | Metadata tags used for categorization and filtering. | +| `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: | 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 268f80a56..d377f226c 100644 --- a/docs/models/createoutputoutputsns.md +++ b/docs/models/createoutputoutputsns.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `topic_arn` | *str* | :heavy_check_mark: | 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* | :heavy_check_mark: | 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}`. | | `max_retries` | *Optional[float]* | :heavy_minus_sign: | Maximum number of retries before the output returns an error. Note that not all errors are retryable. The retries use an exponential backoff policy. | @@ -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. | @@ -38,7 +38,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsSns]](../models/createoutputpqcontrolssns.md) | :heavy_minus_sign: | N/A | | `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_topic_arn` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputoutputsplunk.md b/docs/models/createoutputoutputsplunk.md index e4dfa85f7..8c2ee73bb 100644 --- a/docs/models/createoutputoutputsplunk.md +++ b/docs/models/createoutputoutputsplunk.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `host` | *str* | :heavy_check_mark: | The hostname of the receiver | | `port` | *float* | :heavy_check_mark: | The port to connect to on the provided host | | `nested_fields` | [Optional[models.NestedFieldSerializationOptions]](../models/nestedfieldserializationoptions.md) | :heavy_minus_sign: | How to serialize nested fields into index-time fields | @@ -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. | @@ -37,7 +37,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsSplunk]](../models/createoutputpqcontrolssplunk.md) | :heavy_minus_sign: | N/A | | `auth_token` | *Optional[str]* | :heavy_minus_sign: | Shared secret token to use when establishing a connection to a Splunk indexer. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/createoutputoutputsplunkhec.md b/docs/models/createoutputoutputsplunkhec.md index f8216dd90..13ed95315 100644 --- a/docs/models/createoutputoutputsplunkhec.md +++ b/docs/models/createoutputoutputsplunkhec.md @@ -10,10 +10,8 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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. | -| `next_queue` | *Optional[str]* | :heavy_minus_sign: | In the Splunk app, define which Splunk processing queue to send the events after HEC processing. | -| `tcp_routing` | *Optional[str]* | :heavy_minus_sign: | In the Splunk app, set the value of _TCP_ROUTING for events that do not have _ctrl._TCP_ROUTING set. | | `tls` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPathExtended]](../models/tlssettingsclientsidetypecapathcertpathextended.md) | :heavy_minus_sign: | N/A | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | | `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size, in KB, of the request body | @@ -30,8 +28,10 @@ | `response_retry_settings` | List[[models.ResponseRetrySettingConfOutputWebhook](../models/responseretrysettingconfoutputwebhook.md)] | :heavy_minus_sign: | Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable) | | `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. | +| `next_queue` | *Optional[str]* | :heavy_minus_sign: | In the Splunk app, define which Splunk processing queue to send the events after HEC processing. | +| `tcp_routing` | *Optional[str]* | :heavy_minus_sign: | In the Splunk app, set the value of _TCP_ROUTING for events that do not have _ctrl._TCP_ROUTING set. | | `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 | @@ -50,7 +50,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsSplunkHec]](../models/createoutputpqcontrolssplunkhec.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputoutputsplunklb.md b/docs/models/createoutputoutputsplunklb.md index bd29dd442..aa4261ced 100644 --- a/docs/models/createoutputoutputsplunklb.md +++ b/docs/models/createoutputoutputsplunklb.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `dns_resolve_period_sec` | *Optional[float]* | :heavy_minus_sign: | The interval in which to re-resolve any hostnames and pick up destinations from A records | | `load_balance_stats_period_sec` | *Optional[float]* | :heavy_minus_sign: | How far back in time to keep traffic stats for load balancing purposes | | `max_concurrent_senders` | *Optional[float]* | :heavy_minus_sign: | 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. | @@ -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. | @@ -43,7 +43,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsSplunkLb]](../models/createoutputpqcontrolssplunklb.md) | :heavy_minus_sign: | N/A | | `auth_token` | *Optional[str]* | :heavy_minus_sign: | Shared secret token to use when establishing a connection to a Splunk indexer. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/createoutputoutputsqs.md b/docs/models/createoutputoutputsqs.md index 558a00606..3a0a43679 100644 --- a/docs/models/createoutputoutputsqs.md +++ b/docs/models/createoutputoutputsqs.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `queue_name` | *str* | :heavy_check_mark: | 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` | [models.CreateOutputQueueType](../models/createoutputqueuetype.md) | :heavy_check_mark: | The queue type used (or created). Defaults to Standard. | | `aws_account_id` | *Optional[str]* | :heavy_minus_sign: | SQS queue owner's AWS account ID. Leave empty if SQS queue is in same AWS account. | @@ -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. | @@ -44,7 +44,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsSqs]](../models/createoutputpqcontrolssqs.md) | :heavy_minus_sign: | N/A | | `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_queue_name` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputoutputstatsd.md b/docs/models/createoutputoutputstatsd.md index 8993769c8..2488f6775 100644 --- a/docs/models/createoutputoutputstatsd.md +++ b/docs/models/createoutputoutputstatsd.md @@ -10,14 +10,14 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `protocol` | [models.DestinationProtocolOptions](../models/destinationprotocoloptions.md) | :heavy_check_mark: | Protocol to use when communicating with the destination. | | `host` | *str* | :heavy_check_mark: | The hostname of the destination. | | `port` | *float* | :heavy_check_mark: | Destination port. | | `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 | @@ -32,7 +32,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsStatsd]](../models/createoutputpqcontrolsstatsd.md) | :heavy_minus_sign: | N/A | | `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/createoutputoutputstatsdext.md b/docs/models/createoutputoutputstatsdext.md index 88c3cee1b..372655e28 100644 --- a/docs/models/createoutputoutputstatsdext.md +++ b/docs/models/createoutputoutputstatsdext.md @@ -10,14 +10,14 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `protocol` | [models.DestinationProtocolOptions](../models/destinationprotocoloptions.md) | :heavy_check_mark: | Protocol to use when communicating with the destination. | | `host` | *str* | :heavy_check_mark: | The hostname of the destination. | | `port` | *float* | :heavy_check_mark: | Destination port. | | `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 | @@ -32,7 +32,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsStatsdExt]](../models/createoutputpqcontrolsstatsdext.md) | :heavy_minus_sign: | N/A | | `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/createoutputoutputstorjs3.md b/docs/models/createoutputoutputstorjs3.md index 73b8bb1a0..e47a82457 100644 --- a/docs/models/createoutputoutputstorjs3.md +++ b/docs/models/createoutputoutputstorjs3.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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 | @@ -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 806b84a40..b687e9864 100644 --- a/docs/models/createoutputoutputsumologic.md +++ b/docs/models/createoutputoutputsumologic.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `url` | *str* | :heavy_check_mark: | Sumo Logic HTTP collector URL to which events should be sent | | `custom_source` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | Override the source category configured on the Sumo Logic HTTP collector. This can also be overridden at the event level with the __sourceCategory field. | @@ -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. | @@ -42,7 +42,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsSumoLogic]](../models/createoutputpqcontrolssumologic.md) | :heavy_minus_sign: | N/A | | `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_url` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputoutputsyslog.md b/docs/models/createoutputoutputsyslog.md index c411dbae8..99ba2807f 100644 --- a/docs/models/createoutputoutputsyslog.md +++ b/docs/models/createoutputoutputsyslog.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `protocol` | [Optional[models.CreateOutputProtocolSyslog]](../models/createoutputprotocolsyslog.md) | :heavy_minus_sign: | The network protocol to use for sending out syslog messages | | `facility` | [Optional[models.CreateOutputFacility]](../models/createoutputfacility.md) | :heavy_minus_sign: | Default value for message facility. Will be overwritten by value of __facility if set. Defaults to user. | | `severity` | [Optional[models.CreateOutputSeveritySyslog]](../models/createoutputseveritysyslog.md) | :heavy_minus_sign: | Default value for message severity. Will be overwritten by value of __severity if set. Defaults to notice. | @@ -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 | @@ -46,7 +46,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsSyslog]](../models/createoutputpqcontrolssyslog.md) | :heavy_minus_sign: | N/A | | `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/createoutputoutputtcpjson.md b/docs/models/createoutputoutputtcpjson.md index 6dd582cb1..9e8db0526 100644 --- a/docs/models/createoutputoutputtcpjson.md +++ b/docs/models/createoutputoutputtcpjson.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `load_balanced` | *Optional[bool]* | :heavy_minus_sign: | Use load-balanced destinations | | `compression` | [Optional[models.CompressionOptionsGzipNone]](../models/compressionoptionsgzipnone.md) | :heavy_minus_sign: | Codec to use to compress the data before sending | | `log_failed_requests` | *Optional[bool]* | :heavy_minus_sign: | Use to troubleshoot issues with sending data | @@ -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 | @@ -40,7 +40,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsTcpjson]](../models/createoutputpqcontrolstcpjson.md) | :heavy_minus_sign: | N/A | | `auth_token` | *Optional[str]* | :heavy_minus_sign: | Optional authentication token to include as part of the connection header | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/createoutputoutputwavefront.md b/docs/models/createoutputoutputwavefront.md index ae2465d4d..12d9e28a8 100644 --- a/docs/models/createoutputoutputwavefront.md +++ b/docs/models/createoutputoutputwavefront.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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 | | `domain` | *str* | :heavy_check_mark: | WaveFront domain name, e.g. "longboard" | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | @@ -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. | @@ -41,7 +41,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsWavefront]](../models/createoutputpqcontrolswavefront.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputoutputwebhookwebhook1.md b/docs/models/createoutputoutputwebhookwebhook1.md index e50ebaa4e..9a1f829c4 100644 --- a/docs/models/createoutputoutputwebhookwebhook1.md +++ b/docs/models/createoutputoutputwebhookwebhook1.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `method` | [Optional[models.MethodOptions]](../models/methodoptions.md) | :heavy_minus_sign: | The method to use when sending events | | `format_` | [Optional[models.CreateOutputOutputWebhookFormat1]](../models/createoutputoutputwebhookformat1.md) | :heavy_minus_sign: | How to format events before sending out | | `keep_alive` | *Optional[bool]* | :heavy_minus_sign: | Disable to close the connection immediately after sending the outgoing request | @@ -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. | @@ -52,7 +52,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputOutputWebhookPqControls1]](../models/createoutputoutputwebhookpqcontrols1.md) | :heavy_minus_sign: | N/A | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | @@ -67,6 +67,10 @@ | `token_timeout_secs` | *Optional[float]* | :heavy_minus_sign: | How often the OAuth token should be refreshed. | | `oauth_params` | List[[models.OauthParamConfInputServicenowTable](../models/oauthparamconfinputservicenowtable.md)] | :heavy_minus_sign: | 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` | List[[models.OauthHeaderConfInputServicenowTable](../models/oauthheaderconfinputservicenowtable.md)] | :heavy_minus_sign: | 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. | +| `refresh_token_field` | *Optional[str]* | :heavy_minus_sign: | Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, @{product} will use the refresh token to obtain new access tokens without re-sending credentials. | +| `rotate_refresh_token` | *Optional[bool]* | :heavy_minus_sign: | @{product} will update the stored value on each successful refresh. Enable if the server issues a new refresh token on every use. | +| `refresh_url` | *Optional[str]* | :heavy_minus_sign: | Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL. | +| `refresh_request_params` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauthSecret](../models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.md)] | :heavy_minus_sign: | Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, @{product} sends only grant_type, refresh_token, and client_secret. | | `url` | *str* | :heavy_check_mark: | URL of a webhook endpoint 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.CreateOutputOutputWebhookURL1](../models/createoutputoutputwebhookurl1.md)] | :heavy_minus_sign: | N/A | @@ -77,4 +81,5 @@ | `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_login_url` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_refresh_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime. | | `template_url` | *Optional[str]* | :heavy_minus_sign: | 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. | \ No newline at end of file diff --git a/docs/models/createoutputoutputwebhookwebhook2.md b/docs/models/createoutputoutputwebhookwebhook2.md index 0262b8665..5d64b32b1 100644 --- a/docs/models/createoutputoutputwebhookwebhook2.md +++ b/docs/models/createoutputoutputwebhookwebhook2.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `method` | [Optional[models.MethodOptions]](../models/methodoptions.md) | :heavy_minus_sign: | The method to use when sending events | | `format_` | [Optional[models.CreateOutputOutputWebhookFormat2]](../models/createoutputoutputwebhookformat2.md) | :heavy_minus_sign: | How to format events before sending out | | `keep_alive` | *Optional[bool]* | :heavy_minus_sign: | Disable to close the connection immediately after sending the outgoing request | @@ -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. | @@ -52,7 +52,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputOutputWebhookPqControls2]](../models/createoutputoutputwebhookpqcontrols2.md) | :heavy_minus_sign: | N/A | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | @@ -67,6 +67,10 @@ | `token_timeout_secs` | *Optional[float]* | :heavy_minus_sign: | How often the OAuth token should be refreshed. | | `oauth_params` | List[[models.OauthParamConfInputServicenowTable](../models/oauthparamconfinputservicenowtable.md)] | :heavy_minus_sign: | 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` | List[[models.OauthHeaderConfInputServicenowTable](../models/oauthheaderconfinputservicenowtable.md)] | :heavy_minus_sign: | 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. | +| `refresh_token_field` | *Optional[str]* | :heavy_minus_sign: | Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, @{product} will use the refresh token to obtain new access tokens without re-sending credentials. | +| `rotate_refresh_token` | *Optional[bool]* | :heavy_minus_sign: | @{product} will update the stored value on each successful refresh. Enable if the server issues a new refresh token on every use. | +| `refresh_url` | *Optional[str]* | :heavy_minus_sign: | Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL. | +| `refresh_request_params` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauthSecret](../models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.md)] | :heavy_minus_sign: | Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, @{product} sends only grant_type, refresh_token, and client_secret. | | `url` | *Optional[str]* | :heavy_minus_sign: | URL of a webhook endpoint 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.CreateOutputOutputWebhookURL2](../models/createoutputoutputwebhookurl2.md)] | :heavy_check_mark: | N/A | @@ -77,4 +81,5 @@ | `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_login_url` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_refresh_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime. | | `template_url` | *Optional[str]* | :heavy_minus_sign: | 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. | \ No newline at end of file diff --git a/docs/models/createoutputoutputwizhec.md b/docs/models/createoutputoutputwizhec.md index b86a3105f..b4dcfeef8 100644 --- a/docs/models/createoutputoutputwizhec.md +++ b/docs/models/createoutputoutputwizhec.md @@ -10,9 +10,7 @@ | `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} | -| `next_queue` | *Optional[str]* | :heavy_minus_sign: | In the Splunk app, define which Splunk processing queue to send the events after HEC processing. | -| `tcp_routing` | *Optional[str]* | :heavy_minus_sign: | In the Splunk app, set the value of _TCP_ROUTING for events that do not have _ctrl._TCP_ROUTING set. | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `tls` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPathExtended]](../models/tlssettingsclientsidetypecapathcertpathextended.md) | :heavy_minus_sign: | N/A | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | | `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size, in KB, of the request body | @@ -28,12 +26,14 @@ | `response_retry_settings` | List[[models.ResponseRetrySettingConfOutputWebhook](../models/responseretrysettingconfoutputwebhook.md)] | :heavy_minus_sign: | Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable) | | `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 | | `wiz_connector_id` | *str* | :heavy_check_mark: | 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* | :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 | +| `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: | Optional description for this configuration. | +| `token` | *Optional[str]* | :heavy_minus_sign: | Wiz Defend Auth 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. | | `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. | @@ -44,13 +44,11 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsWizHec]](../models/createoutputpqcontrolswizhec.md) | :heavy_minus_sign: | N/A | -| `token` | *Optional[str]* | :heavy_minus_sign: | Wiz Defend Auth token | -| `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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` | *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_wiz_environment` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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. | \ No newline at end of file +| `template_wiz_sourcetype` | *Optional[str]* | :heavy_minus_sign: | 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_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/createoutputoutputxsiam.md b/docs/models/createoutputoutputxsiam.md index 76ffe35cc..342614ad3 100644 --- a/docs/models/createoutputoutputxsiam.md +++ b/docs/models/createoutputoutputxsiam.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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. | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | | `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size, in KB, of the request body | @@ -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 | @@ -48,7 +48,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputPqControlsXsiam]](../models/createoutputpqcontrolsxsiam.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/fullrulesetieforusewithlivedatacapturewhichusesdraftunsavedrulesets.md b/docs/models/createoutputpqcontrolsamazonmanagedprometheus.md similarity index 64% rename from docs/models/fullrulesetieforusewithlivedatacapturewhichusesdraftunsavedrulesets.md rename to docs/models/createoutputpqcontrolsamazonmanagedprometheus.md index f444e7732..1b1b074e6 100644 --- a/docs/models/fullrulesetieforusewithlivedatacapturewhichusesdraftunsavedrulesets.md +++ b/docs/models/createoutputpqcontrolsamazonmanagedprometheus.md @@ -1,4 +1,4 @@ -# FullRulesetIEForUseWithLiveDataCaptureWhichUsesDraftUnsavedRulesets +# CreateOutputPqControlsAmazonManagedPrometheus ## Fields diff --git a/docs/models/createoutputpqcontrolscustomermetricsstorage.md b/docs/models/createoutputpqcontrolscustomermetricsstorage.md new file mode 100644 index 000000000..f3cc8afa1 --- /dev/null +++ b/docs/models/createoutputpqcontrolscustomermetricsstorage.md @@ -0,0 +1,7 @@ +# CreateOutputPqControlsCustomerMetricsStorage + + +## Fields + +| Field | Type | Required | Description | +| ----------- | ----------- | ----------- | ----------- | \ No newline at end of file diff --git a/docs/models/createoutputpqcontrolsgooglebigquery.md b/docs/models/createoutputpqcontrolsgooglebigquery.md new file mode 100644 index 000000000..83ecbe18b --- /dev/null +++ b/docs/models/createoutputpqcontrolsgooglebigquery.md @@ -0,0 +1,7 @@ +# CreateOutputPqControlsGoogleBigquery + + +## Fields + +| Field | Type | Required | Description | +| ----------- | ----------- | ----------- | ----------- | \ No newline at end of file diff --git a/docs/models/createoutputpqcontrolsgooglecloudobservability.md b/docs/models/createoutputpqcontrolsgooglecloudobservability.md new file mode 100644 index 000000000..300b9dfd3 --- /dev/null +++ b/docs/models/createoutputpqcontrolsgooglecloudobservability.md @@ -0,0 +1,7 @@ +# CreateOutputPqControlsGoogleCloudObservability + + +## Fields + +| Field | Type | Required | Description | +| ----------- | ----------- | ----------- | ----------- | \ No newline at end of file diff --git a/docs/models/createoutputprotocolgooglecloudobservability.md b/docs/models/createoutputprotocolgooglecloudobservability.md new file mode 100644 index 000000000..e7538512b --- /dev/null +++ b/docs/models/createoutputprotocolgooglecloudobservability.md @@ -0,0 +1,18 @@ +# CreateOutputProtocolGoogleCloudObservability + +## Example Usage + +```python +from cribl_control_plane.models import CreateOutputProtocolGoogleCloudObservability + +value = CreateOutputProtocolGoogleCloudObservability.GRPC + +# Open enum: unrecognized values are captured as UnrecognizedStr +``` + + +## Values + +| Name | Value | +| ------ | ------ | +| `GRPC` | grpc | \ No newline at end of file diff --git a/docs/models/createoutputrequest.md b/docs/models/createoutputrequest.md index dc80cbd10..de299dffa 100644 --- a/docs/models/createoutputrequest.md +++ b/docs/models/createoutputrequest.md @@ -125,6 +125,12 @@ value: models.CreateOutputOutputHoneycomb = /* values here */ value: models.CreateOutputOutputAzureEventhub = /* values here */ ``` +### `models.CreateOutputOutputGoogleBigquery` + +```python +value: models.CreateOutputOutputGoogleBigquery = /* values here */ +``` + ### `models.CreateOutputOutputGoogleChronicle` ```python @@ -143,6 +149,12 @@ value: models.CreateOutputOutputGoogleCloudStorage = /* values here */ value: models.CreateOutputOutputGoogleCloudLogging = /* values here */ ``` +### `models.CreateOutputOutputGoogleCloudObservability` + +```python +value: models.CreateOutputOutputGoogleCloudObservability = /* values here */ +``` + ### `models.CreateOutputOutputGooglePubsub` ```python @@ -281,6 +293,12 @@ value: models.CreateOutputOutputGrafanaCloudUnion = /* values here */ value: models.CreateOutputOutputLoki = /* values here */ ``` +### `models.CreateOutputOutputAmazonManagedPrometheus` + +```python +value: models.CreateOutputOutputAmazonManagedPrometheus = /* values here */ +``` + ### `models.CreateOutputOutputPrometheus` ```python @@ -371,6 +389,12 @@ value: models.CreateOutputOutputDiskSpool = /* values here */ value: models.CreateOutputOutputClickHouse = /* values here */ ``` +### `models.CreateOutputOutputCustomerMetricsStorage` + +```python +value: models.CreateOutputOutputCustomerMetricsStorage = /* values here */ +``` + ### `models.CreateOutputOutputLocalSearchStorage` ```python @@ -473,3 +497,9 @@ value: models.CreateOutputOutputScalityS3 = /* values here */ value: models.CreateOutputOutputAlibabaCloudS3 = /* values here */ ``` +### `models.CreateOutputOutputIbmCloudS3` + +```python +value: models.CreateOutputOutputIbmCloudS3 = /* values here */ +``` + diff --git a/docs/models/createoutputsystembypackauthenticationmethodcloudflarer2.md b/docs/models/createoutputsystembypackauthenticationmethodalibabaclouds3.md similarity index 55% rename from docs/models/createoutputsystembypackauthenticationmethodcloudflarer2.md rename to docs/models/createoutputsystembypackauthenticationmethodalibabaclouds3.md index 7f1e9f3ba..494658921 100644 --- a/docs/models/createoutputsystembypackauthenticationmethodcloudflarer2.md +++ b/docs/models/createoutputsystembypackauthenticationmethodalibabaclouds3.md @@ -1,13 +1,13 @@ -# CreateOutputSystemByPackAuthenticationMethodCloudflareR2 +# CreateOutputSystemByPackAuthenticationMethodAlibabaCloudS3 -AWS authentication method. Choose Auto to use IAM roles. +Authentication method. ## Example Usage ```python -from cribl_control_plane.models import CreateOutputSystemByPackAuthenticationMethodCloudflareR2 +from cribl_control_plane.models import CreateOutputSystemByPackAuthenticationMethodAlibabaCloudS3 -value = CreateOutputSystemByPackAuthenticationMethodCloudflareR2.AUTO +value = CreateOutputSystemByPackAuthenticationMethodAlibabaCloudS3.AUTO # Open enum: unrecognized values are captured as UnrecognizedStr ``` diff --git a/docs/models/createoutputsystembypackauthenticationtypeprometheus.md b/docs/models/createoutputsystembypackauthenticationtypeprometheus.md new file mode 100644 index 000000000..b8a4b8d56 --- /dev/null +++ b/docs/models/createoutputsystembypackauthenticationtypeprometheus.md @@ -0,0 +1,25 @@ +# CreateOutputSystemByPackAuthenticationTypePrometheus + +Remote Write authentication type + +## Example Usage + +```python +from cribl_control_plane.models import CreateOutputSystemByPackAuthenticationTypePrometheus + +value = CreateOutputSystemByPackAuthenticationTypePrometheus.NONE + +# Open enum: unrecognized values are captured as UnrecognizedStr +``` + + +## Values + +| Name | Value | +| -------------------- | -------------------- | +| `NONE` | none | +| `BASIC` | basic | +| `CREDENTIALS_SECRET` | credentialsSecret | +| `TOKEN` | token | +| `TEXT_SECRET` | textSecret | +| `AWS_SIGV4` | aws_sigv4 | \ No newline at end of file diff --git a/docs/models/createoutputsystembypackawsauthenticationmethod.md b/docs/models/createoutputsystembypackawsauthenticationmethod.md deleted file mode 100644 index 73655306f..000000000 --- a/docs/models/createoutputsystembypackawsauthenticationmethod.md +++ /dev/null @@ -1,20 +0,0 @@ -# CreateOutputSystemByPackAwsAuthenticationMethod - -## Example Usage - -```python -from cribl_control_plane.models import CreateOutputSystemByPackAwsAuthenticationMethod - -value = CreateOutputSystemByPackAwsAuthenticationMethod.AUTO - -# Open enum: unrecognized values are captured as UnrecognizedStr -``` - - -## Values - -| Name | Value | -| ---------- | ---------- | -| `AUTO` | auto | -| `AUTO_RPC` | auto_rpc | -| `MANUAL` | manual | \ No newline at end of file diff --git a/docs/models/outputresponsecolumnmappinglocalsearchstorage.md b/docs/models/createoutputsystembypackcolumnmapping.md similarity index 96% rename from docs/models/outputresponsecolumnmappinglocalsearchstorage.md rename to docs/models/createoutputsystembypackcolumnmapping.md index 49d1ef8d5..c0d750aba 100644 --- a/docs/models/outputresponsecolumnmappinglocalsearchstorage.md +++ b/docs/models/createoutputsystembypackcolumnmapping.md @@ -1,4 +1,4 @@ -# OutputResponseColumnMappingLocalSearchStorage +# CreateOutputSystemByPackColumnMapping ## Fields diff --git a/docs/models/createoutputsystembypackcolumnmappingclickhouse.md b/docs/models/createoutputsystembypackcolumnmappingclickhouse.md deleted file mode 100644 index 4805488c5..000000000 --- a/docs/models/createoutputsystembypackcolumnmappingclickhouse.md +++ /dev/null @@ -1,10 +0,0 @@ -# CreateOutputSystemByPackColumnMappingClickHouse - - -## Fields - -| Field | Type | Required | Description | -| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | -| `column_name` | *str* | :heavy_check_mark: | Name of the column in ClickHouse that will store field value | -| `column_type` | *Optional[str]* | :heavy_minus_sign: | Type of the column in the ClickHouse database | -| `column_value_expression` | *str* | :heavy_check_mark: | JavaScript expression to compute value to be inserted into ClickHouse table | \ No newline at end of file diff --git a/docs/models/createoutputsystembypackendpoint.md b/docs/models/createoutputsystembypackendpointdynatracehttp.md similarity index 72% rename from docs/models/createoutputsystembypackendpoint.md rename to docs/models/createoutputsystembypackendpointdynatracehttp.md index dc5384d86..a3ccdf857 100644 --- a/docs/models/createoutputsystembypackendpoint.md +++ b/docs/models/createoutputsystembypackendpointdynatracehttp.md @@ -1,11 +1,11 @@ -# CreateOutputSystemByPackEndpoint +# CreateOutputSystemByPackEndpointDynatraceHTTP ## Example Usage ```python -from cribl_control_plane.models import CreateOutputSystemByPackEndpoint +from cribl_control_plane.models import CreateOutputSystemByPackEndpointDynatraceHTTP -value = CreateOutputSystemByPackEndpoint.CLOUD +value = CreateOutputSystemByPackEndpointDynatraceHTTP.CLOUD # Open enum: unrecognized values are captured as UnrecognizedStr ``` diff --git a/docs/models/createoutputsystembypackendpointgooglecloudobservability.md b/docs/models/createoutputsystembypackendpointgooglecloudobservability.md new file mode 100644 index 000000000..6e308b6ec --- /dev/null +++ b/docs/models/createoutputsystembypackendpointgooglecloudobservability.md @@ -0,0 +1,20 @@ +# CreateOutputSystemByPackEndpointGoogleCloudObservability + +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. + +## Example Usage + +```python +from cribl_control_plane.models import CreateOutputSystemByPackEndpointGoogleCloudObservability + +value = CreateOutputSystemByPackEndpointGoogleCloudObservability.TELEMETRY_GOOGLEAPIS_COM_443 + +# Open enum: unrecognized values are captured as UnrecognizedStr +``` + + +## Values + +| Name | Value | +| ------------------------------ | ------------------------------ | +| `TELEMETRY_GOOGLEAPIS_COM_443` | telemetry.googleapis.com:443 | \ No newline at end of file diff --git a/docs/models/createoutputsystembypackfieldname.md b/docs/models/createoutputsystembypackfieldname.md index 63d3c808d..3d9f81bc2 100644 --- a/docs/models/createoutputsystembypackfieldname.md +++ b/docs/models/createoutputsystembypackfieldname.md @@ -1,5 +1,7 @@ # CreateOutputSystemByPackFieldName +Name of the metadata field. + ## Example Usage ```python diff --git a/docs/models/createoutputsystembypackformatclickhouse.md b/docs/models/createoutputsystembypackformatclickhouse.md deleted file mode 100644 index 7403efeae..000000000 --- a/docs/models/createoutputsystembypackformatclickhouse.md +++ /dev/null @@ -1,21 +0,0 @@ -# CreateOutputSystemByPackFormatClickHouse - -Data format to use when sending data to ClickHouse. Defaults to JSON Compact. - -## Example Usage - -```python -from cribl_control_plane.models import CreateOutputSystemByPackFormatClickHouse - -value = CreateOutputSystemByPackFormatClickHouse.JSON_COMPACT_EACH_ROW_WITH_NAMES - -# Open enum: unrecognized values are captured as UnrecognizedStr -``` - - -## Values - -| Name | Value | -| ---------------------------------- | ---------------------------------- | -| `JSON_COMPACT_EACH_ROW_WITH_NAMES` | json-compact-each-row-with-names | -| `JSON_EACH_ROW` | json-each-row | \ No newline at end of file diff --git a/docs/models/createoutputsystembypackformatcribllake.md b/docs/models/createoutputsystembypackformatcribllake.md index ca53a919d..9612c00e9 100644 --- a/docs/models/createoutputsystembypackformatcribllake.md +++ b/docs/models/createoutputsystembypackformatcribllake.md @@ -13,9 +13,8 @@ value = CreateOutputSystemByPackFormatCriblLake.JSON ## Values -| Name | Value | -| ---------- | ---------- | -| `JSON` | json | -| `PARQUET` | parquet | -| `DDSS` | ddss | -| `NETSKOPE` | netskope | \ No newline at end of file +| Name | Value | +| --------- | --------- | +| `JSON` | json | +| `PARQUET` | parquet | +| `RAW` | raw | \ No newline at end of file diff --git a/docs/models/createoutputsystembypackgoogleauthenticationmethodgooglebigquery.md b/docs/models/createoutputsystembypackgoogleauthenticationmethodgooglebigquery.md new file mode 100644 index 000000000..806bafc4d --- /dev/null +++ b/docs/models/createoutputsystembypackgoogleauthenticationmethodgooglebigquery.md @@ -0,0 +1,21 @@ +# CreateOutputSystemByPackGoogleAuthenticationMethodGoogleBigquery + +Choose Auto to use Google Application Default Credentials (ADC), or Secret to select or create a stored secret that references Google service account credentials + +## Example Usage + +```python +from cribl_control_plane.models import CreateOutputSystemByPackGoogleAuthenticationMethodGoogleBigquery + +value = CreateOutputSystemByPackGoogleAuthenticationMethodGoogleBigquery.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/createoutputsystembypackgoogleauthenticationmethodgooglecloudobservability.md b/docs/models/createoutputsystembypackgoogleauthenticationmethodgooglecloudobservability.md new file mode 100644 index 000000000..ebca65120 --- /dev/null +++ b/docs/models/createoutputsystembypackgoogleauthenticationmethodgooglecloudobservability.md @@ -0,0 +1,21 @@ +# CreateOutputSystemByPackGoogleAuthenticationMethodGoogleCloudObservability + +Choose Auto to use Google Application Default Credentials (ADC). Choose Secret to select or create a stored secret that references Google service account credentials. + +## Example Usage + +```python +from cribl_control_plane.models import CreateOutputSystemByPackGoogleAuthenticationMethodGoogleCloudObservability + +value = CreateOutputSystemByPackGoogleAuthenticationMethodGoogleCloudObservability.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/createoutputsystembypackmappingtypelocalsearchstorage.md b/docs/models/createoutputsystembypackmappingtype.md similarity index 68% rename from docs/models/createoutputsystembypackmappingtypelocalsearchstorage.md rename to docs/models/createoutputsystembypackmappingtype.md index 8e7be2e4b..877137824 100644 --- a/docs/models/createoutputsystembypackmappingtypelocalsearchstorage.md +++ b/docs/models/createoutputsystembypackmappingtype.md @@ -1,13 +1,13 @@ -# CreateOutputSystemByPackMappingTypeLocalSearchStorage +# CreateOutputSystemByPackMappingType How event fields are mapped to columns. ## Example Usage ```python -from cribl_control_plane.models import CreateOutputSystemByPackMappingTypeLocalSearchStorage +from cribl_control_plane.models import CreateOutputSystemByPackMappingType -value = CreateOutputSystemByPackMappingTypeLocalSearchStorage.AUTOMATIC +value = CreateOutputSystemByPackMappingType.AUTOMATIC # Open enum: unrecognized values are captured as UnrecognizedStr ``` diff --git a/docs/models/createoutputsystembypackmappingtypeclickhouse.md b/docs/models/createoutputsystembypackmappingtypeclickhouse.md deleted file mode 100644 index 6b1732279..000000000 --- a/docs/models/createoutputsystembypackmappingtypeclickhouse.md +++ /dev/null @@ -1,21 +0,0 @@ -# CreateOutputSystemByPackMappingTypeClickHouse - -How event fields are mapped to ClickHouse columns - -## Example Usage - -```python -from cribl_control_plane.models import CreateOutputSystemByPackMappingTypeClickHouse - -value = CreateOutputSystemByPackMappingTypeClickHouse.AUTOMATIC - -# Open enum: unrecognized values are captured as UnrecognizedStr -``` - - -## Values - -| Name | Value | -| ----------- | ----------- | -| `AUTOMATIC` | automatic | -| `CUSTOM` | custom | \ No newline at end of file diff --git a/docs/models/createoutputsystembypackmetadatum.md b/docs/models/createoutputsystembypackmetadatum.md index 680d7f12b..0281a0b49 100644 --- a/docs/models/createoutputsystembypackmetadatum.md +++ b/docs/models/createoutputsystembypackmetadatum.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -| `name` | [models.CreateOutputSystemByPackFieldName](../models/createoutputsystembypackfieldname.md) | :heavy_check_mark: | N/A | +| `name` | [models.CreateOutputSystemByPackFieldName](../models/createoutputsystembypackfieldname.md) | :heavy_check_mark: | Name of the metadata field. | | `value` | *str* | :heavy_check_mark: | JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.) | \ No newline at end of file diff --git a/docs/models/createoutputsystembypackotlpversiongooglecloudobservability.md b/docs/models/createoutputsystembypackotlpversiongooglecloudobservability.md new file mode 100644 index 000000000..6fbe6e353 --- /dev/null +++ b/docs/models/createoutputsystembypackotlpversiongooglecloudobservability.md @@ -0,0 +1,18 @@ +# CreateOutputSystemByPackOtlpVersionGoogleCloudObservability + +## Example Usage + +```python +from cribl_control_plane.models import CreateOutputSystemByPackOtlpVersionGoogleCloudObservability + +value = CreateOutputSystemByPackOtlpVersionGoogleCloudObservability.ONE_DOT_3_DOT_1 + +# Open enum: unrecognized values are captured as UnrecognizedStr +``` + + +## Values + +| Name | Value | +| ----------------- | ----------------- | +| `ONE_DOT_3_DOT_1` | 1.3.1 | \ No newline at end of file diff --git a/docs/models/createoutputsystembypackotlpversion.md b/docs/models/createoutputsystembypackotlpversionopentelemetry.md similarity index 74% rename from docs/models/createoutputsystembypackotlpversion.md rename to docs/models/createoutputsystembypackotlpversionopentelemetry.md index c444838a1..96d82c595 100644 --- a/docs/models/createoutputsystembypackotlpversion.md +++ b/docs/models/createoutputsystembypackotlpversionopentelemetry.md @@ -1,13 +1,13 @@ -# CreateOutputSystemByPackOTLPVersion +# CreateOutputSystemByPackOTLPVersionOpenTelemetry The version of OTLP Protobuf definitions to use when structuring data to send ## Example Usage ```python -from cribl_control_plane.models import CreateOutputSystemByPackOTLPVersion +from cribl_control_plane.models import CreateOutputSystemByPackOTLPVersionOpenTelemetry -value = CreateOutputSystemByPackOTLPVersion.ZERO_DOT_10_DOT_0 +value = CreateOutputSystemByPackOTLPVersionOpenTelemetry.ZERO_DOT_10_DOT_0 # Open enum: unrecognized values are captured as UnrecognizedStr ``` diff --git a/docs/models/createoutputsystembypackoutputalibabaclouds3.md b/docs/models/createoutputsystembypackoutputalibabaclouds3.md index f3a2f9490..db504de71 100644 --- a/docs/models/createoutputsystembypackoutputalibabaclouds3.md +++ b/docs/models/createoutputsystembypackoutputalibabaclouds3.md @@ -10,8 +10,8 @@ | `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} | -| `aws_authentication_method` | [Optional[models.AuthenticationMethodOptionsSecret]](../models/authenticationmethodoptionssecret.md) | :heavy_minus_sign: | Authentication method. | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | +| `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,11 @@ | `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 | +| `enable_assume_role` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials to access Alibaba OSS | +| `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). | +| `assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | ARN of the RAM role to assume. Format: acs:ram:::role/. Example: acs:ram::123456789:role/OSSAccessRole | +| `assume_role_external_id` | *Optional[str]* | :heavy_minus_sign: | External ID for the assumed role (optional, for security when configured in the role trust policy) | +| `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 | @@ -69,5 +73,7 @@ | `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_object_acl` | *Optional[str]* | :heavy_minus_sign: | 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` | *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_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_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/createoutputsystembypackoutputalphasocs3.md b/docs/models/createoutputsystembypackoutputalphasocs3.md index 5650640da..933b3ca0f 100644 --- a/docs/models/createoutputsystembypackoutputalphasocs3.md +++ b/docs/models/createoutputsystembypackoutputalphasocs3.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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 | @@ -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/createoutputsystembypackoutputamazonmanagedprometheus.md b/docs/models/createoutputsystembypackoutputamazonmanagedprometheus.md new file mode 100644 index 000000000..9aa8a10e3 --- /dev/null +++ b/docs/models/createoutputsystembypackoutputamazonmanagedprometheus.md @@ -0,0 +1,61 @@ +# CreateOutputSystemByPackOutputAmazonManagedPrometheus + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `id` | *str* | :heavy_check_mark: | Unique ID for this output | +| `type` | [models.CreateOutputSystemByPackTypeAmazonManagedPrometheus](../models/createoutputsystembypacktypeamazonmanagedprometheus.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. These fields are added as dimensions to generated metrics. | +| `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: | Metadata tags used for categorization and filtering. | +| `url` | *str* | :heavy_check_mark: | The Amazon Managed Service for Prometheus remote_write endpoint | +| `aws_authentication_method` | [models.AuthenticationMethodOptionsAutoSecret](../models/authenticationmethodoptionsautosecret.md) | :heavy_check_mark: | AWS authentication method. Choose Auto to use IAM roles. | +| `aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `region` | *str* | :heavy_check_mark: | Region where the AMSP is located | +| `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. | +| `enable_assume_role` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials to access AMSP | +| `assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Amazon Resource Name (ARN) of the role to assume | +| `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). | +| `metric_rename_expr` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[bool]* | :heavy_minus_sign: | Generate and send metadata (`type` and `metricFamilyName`) requests | +| `use_prometheus_histogram_bucket_suffix` | *Optional[bool]* | :heavy_minus_sign: | Serialize histogram bucket series as `_bucket` to match Prometheus histogram naming convention | +| `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | +| `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum uncompressed size, in KB, of the request body. The 1 MB cap is intentional and protects against data that compresses poorly, since oversized requests fail with a non-retryable 413. | +| `max_payload_events` | *Optional[float]* | :heavy_minus_sign: | Maximum number of events to include in the request body. Default is 0 (unlimited). | +| `timeout_sec` | *Optional[float]* | :heavy_minus_sign: | Amount of time, in seconds, to wait for a request to complete before canceling it | +| `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 Body size limit. | +| `extra_http_headers` | List[[models.ExtraHTTPHeaderConfInputElastic](../models/extrahttpheaderconfinputelastic.md)] | :heavy_minus_sign: | Headers to add to all events. SigV4-managed headers and the Prometheus remote-write protocol version header are generated by this Destination and cannot be configured here. | +| `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. | +| `failed_request_logging_mode` | [Optional[models.FailedRequestLoggingModeOptions]](../models/failedrequestloggingmodeoptions.md) | :heavy_minus_sign: | Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below. | +| `safe_headers` | List[*str*] | :heavy_minus_sign: | List of headers that are safe to log in plain text | +| `response_retry_settings` | List[[models.ResponseRetrySettingConfOutputWebhook](../models/responseretrysettingconfoutputwebhook.md)] | :heavy_minus_sign: | Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable) | +| `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: | 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 | +| `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. | +| `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. | +| `pq_max_buffer_size` | *Optional[float]* | :heavy_minus_sign: | 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` | *Optional[float]* | :heavy_minus_sign: | How long (in seconds) to wait for backpressure to resolve before engaging the queue | +| `pq_max_file_size` | *Optional[str]* | :heavy_minus_sign: | The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.) | +| `pq_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. | +| `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | +| `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | +| `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | +| `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsAmazonManagedPrometheus]](../models/createoutputsystembypackpqcontrolsamazonmanagedprometheus.md) | :heavy_minus_sign: | N/A | +| `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_url` | *Optional[str]* | :heavy_minus_sign: | 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_secret_key` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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` | *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/createoutputsystembypackoutputazureblob.md b/docs/models/createoutputsystembypackoutputazureblob.md index a524c2070..54e00a842 100644 --- a/docs/models/createoutputsystembypackoutputazureblob.md +++ b/docs/models/createoutputsystembypackoutputazureblob.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `container_name` | *str* | :heavy_check_mark: | 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"]}`. | | `create_container` | *Optional[bool]* | :heavy_minus_sign: | Create the configured container in Azure Blob Storage if it does not already exist | | `dest_path` | *Optional[str]* | :heavy_minus_sign: | 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"]}`. | @@ -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 5b677e111..eeaf3a60a 100644 --- a/docs/models/createoutputsystembypackoutputazuredataexplorer.md +++ b/docs/models/createoutputsystembypackoutputazuredataexplorer.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cluster_url` | *str* | :heavy_check_mark: | The base URI for your cluster. Typically, `https://..kusto.windows.net`. | | `database` | *str* | :heavy_check_mark: | Name of the database containing the table where data will be ingested | | `table` | *str* | :heavy_check_mark: | Name of the table to ingest data into | @@ -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 | @@ -89,7 +89,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsAzureDataExplorer]](../models/createoutputsystembypackpqcontrolsazuredataexplorer.md) | :heavy_minus_sign: | N/A | | `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_cluster_url` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputsystembypackoutputazureeventhub.md b/docs/models/createoutputsystembypackoutputazureeventhub.md index 8c83c4a41..a057b5b10 100644 --- a/docs/models/createoutputsystembypackoutputazureeventhub.md +++ b/docs/models/createoutputsystembypackoutputazureeventhub.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `brokers` | List[*str*] | :heavy_check_mark: | 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* | :heavy_check_mark: | The name of the Event Hub (Kafka Topic) to publish events. Can be overwritten using field __topicOut. | | `ack` | [Optional[models.AcknowledgmentsOptions]](../models/acknowledgmentsoptions.md) | :heavy_minus_sign: | Control the number of required acknowledgments | @@ -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. | @@ -40,7 +40,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsAzureEventhub]](../models/createoutputsystembypackpqcontrolsazureeventhub.md) | :heavy_minus_sign: | N/A | | `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/createoutputsystembypackoutputazurelogs.md b/docs/models/createoutputsystembypackoutputazurelogs.md index 76b6e0e07..39156aac6 100644 --- a/docs/models/createoutputsystembypackoutputazurelogs.md +++ b/docs/models/createoutputsystembypackoutputazurelogs.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `log_type` | *str* | :heavy_check_mark: | 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. | | `resource_id` | *Optional[str]* | :heavy_minus_sign: | 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]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | @@ -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. | @@ -41,7 +41,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsAzureLogs]](../models/createoutputsystembypackpqcontrolsazurelogs.md) | :heavy_minus_sign: | N/A | | `workspace_id` | *Optional[str]* | :heavy_minus_sign: | Azure Log Analytics Workspace ID. See Azure Dashboard Workspace > Advanced settings. | | `workspace_key` | *Optional[str]* | :heavy_minus_sign: | Azure Log Analytics Workspace Primary or Secondary Shared Key. See Azure Dashboard Workspace > Advanced settings. | diff --git a/docs/models/createoutputsystembypackoutputchronicle.md b/docs/models/createoutputsystembypackoutputchronicle.md index 8b65268b1..09c681ae2 100644 --- a/docs/models/createoutputsystembypackoutputchronicle.md +++ b/docs/models/createoutputsystembypackoutputchronicle.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `api_version` | *Optional[str]* | :heavy_minus_sign: | N/A | | `authentication_method` | [Optional[models.CreateOutputSystemByPackAuthenticationMethodChronicle]](../models/createoutputsystembypackauthenticationmethodchronicle.md) | :heavy_minus_sign: | N/A | | `response_retry_settings` | List[[models.ResponseRetrySettingConfOutputWebhook](../models/responseretrysettingconfoutputwebhook.md)] | :heavy_minus_sign: | Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable) | @@ -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. | @@ -51,7 +51,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsChronicle]](../models/createoutputsystembypackpqcontrolschronicle.md) | :heavy_minus_sign: | N/A | | `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_region` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputsystembypackoutputclickhouse.md b/docs/models/createoutputsystembypackoutputclickhouse.md index 6bb558d45..6bb5655ab 100644 --- a/docs/models/createoutputsystembypackoutputclickhouse.md +++ b/docs/models/createoutputsystembypackoutputclickhouse.md @@ -10,13 +10,13 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `url` | *str* | :heavy_check_mark: | URL of the ClickHouse instance. Example: http://localhost:8123/ | | `auth_type` | [Optional[models.AuthenticationTypeOptions]](../models/authenticationtypeoptions.md) | :heavy_minus_sign: | N/A | | `database` | *str* | :heavy_check_mark: | N/A | | `table_name` | *str* | :heavy_check_mark: | 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 "_". | -| `format_` | [Optional[models.CreateOutputSystemByPackFormatClickHouse]](../models/createoutputsystembypackformatclickhouse.md) | :heavy_minus_sign: | Data format to use when sending data to ClickHouse. Defaults to JSON Compact. | -| `mapping_type` | [Optional[models.CreateOutputSystemByPackMappingTypeClickHouse]](../models/createoutputsystembypackmappingtypeclickhouse.md) | :heavy_minus_sign: | How event fields are mapped to ClickHouse columns | +| `format_` | [Optional[models.FormatOptions]](../models/formatoptions.md) | :heavy_minus_sign: | Data format to use when sending data to ClickHouse. Defaults to JSON Compact. | +| `mapping_type` | [Optional[models.MappingTypeOptions]](../models/mappingtypeoptions.md) | :heavy_minus_sign: | How event fields are mapped to ClickHouse columns | | `async_inserts` | *Optional[bool]* | :heavy_minus_sign: | 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` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPathExtended]](../models/tlssettingsclientsidetypecapathcertpathextended.md) | :heavy_minus_sign: | N/A | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | @@ -33,9 +33,10 @@ | `response_retry_settings` | List[[models.ResponseRetrySettingConfOutputWebhook](../models/responseretrysettingconfoutputwebhook.md)] | :heavy_minus_sign: | Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable) | | `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. | +| `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 | @@ -43,7 +44,7 @@ | `wait_for_async_inserts` | *Optional[bool]* | :heavy_minus_sign: | 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` | List[*str*] | :heavy_minus_sign: | Fields to exclude from sending to ClickHouse | | `describe_table` | *Optional[str]* | :heavy_minus_sign: | Retrieves the table schema from ClickHouse and populates the Column Mapping table | -| `column_mappings` | List[[models.CreateOutputSystemByPackColumnMappingClickHouse](../models/createoutputsystembypackcolumnmappingclickhouse.md)] | :heavy_minus_sign: | N/A | +| `column_mappings` | List[[models.ColumnMappingConfOutputClickHouse](../models/columnmappingconfoutputclickhouse.md)] | :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. | | `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. | @@ -54,7 +55,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsClickHouse]](../models/createoutputsystembypackpqcontrolsclickhouse.md) | :heavy_minus_sign: | N/A | | `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_url` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputsystembypackoutputcloudflarer2.md b/docs/models/createoutputsystembypackoutputcloudflarer2.md index d36a4915a..a24828e15 100644 --- a/docs/models/createoutputsystembypackoutputcloudflarer2.md +++ b/docs/models/createoutputsystembypackoutputcloudflarer2.md @@ -10,8 +10,8 @@ | `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} | -| `aws_authentication_method` | [Optional[models.CreateOutputSystemByPackAuthenticationMethodCloudflareR2]](../models/createoutputsystembypackauthenticationmethodcloudflarer2.md) | :heavy_minus_sign: | AWS authentication method. Choose Auto to use IAM roles. | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | +| `aws_authentication_method` | [Optional[models.AuthenticationMethodOptionsAutoSecret]](../models/authenticationmethodoptionsautosecret.md) | :heavy_minus_sign: | AWS authentication method. Choose Auto to use IAM roles. | | `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 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}` | @@ -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..23736eda1 100644 --- a/docs/models/createoutputsystembypackoutputcloudians3.md +++ b/docs/models/createoutputsystembypackoutputcloudians3.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `endpoint` | *str* | :heavy_check_mark: | Cloudian HyperStore S3-compatible endpoint URL (example: https://s3.hyperstore.example.com) | | `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 | @@ -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 0df12686e..d3f8c89db 100644 --- a/docs/models/createoutputsystembypackoutputcloudwatch.md +++ b/docs/models/createoutputsystembypackoutputcloudwatch.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `log_group_name` | *str* | :heavy_check_mark: | CloudWatch log group to associate events with | | `log_stream_name` | *str* | :heavy_check_mark: | 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 | | `aws_authentication_method` | [Optional[models.AuthenticationMethodOptionsS3CollectorConf]](../models/authenticationmethodoptionss3collectorconf.md) | :heavy_minus_sign: | AWS authentication method. Choose Auto to use IAM roles. | @@ -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. | @@ -40,7 +40,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsCloudwatch]](../models/createoutputsystembypackpqcontrolscloudwatch.md) | :heavy_minus_sign: | N/A | | `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_log_group_name` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputsystembypackoutputconfluentcloud.md b/docs/models/createoutputsystembypackoutputconfluentcloud.md index ae2c18f60..22f7a2f39 100644 --- a/docs/models/createoutputsystembypackoutputconfluentcloud.md +++ b/docs/models/createoutputsystembypackoutputconfluentcloud.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `brokers` | List[*str*] | :heavy_check_mark: | List of Confluent Cloud bootstrap servers to use, such as yourAccount.confluent.cloud:9092. | | `tls` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPath]](../models/tlssettingsclientsidetypecapathcertpath.md) | :heavy_minus_sign: | N/A | | `topic` | *str* | :heavy_check_mark: | The topic to publish events to. Can be overridden using the __topicOut field. | @@ -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. | @@ -44,7 +44,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsConfluentCloud]](../models/createoutputsystembypackpqcontrolsconfluentcloud.md) | :heavy_minus_sign: | N/A | | `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/createoutputsystembypackoutputcriblhttp.md b/docs/models/createoutputsystembypackoutputcriblhttp.md index 28d8591d4..18f430c02 100644 --- a/docs/models/createoutputsystembypackoutputcriblhttp.md +++ b/docs/models/createoutputsystembypackoutputcriblhttp.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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. | | `tls` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPath]](../models/tlssettingsclientsidetypecapathcertpath.md) | :heavy_minus_sign: | N/A | | `token_ttl_minutes` | *Optional[float]* | :heavy_minus_sign: | The number of minutes before the internally generated authentication token expires. Valid values are between 1 and 60. | @@ -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 | @@ -48,7 +48,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsCriblHTTP]](../models/createoutputsystembypackpqcontrolscriblhttp.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputsystembypackoutputcribllake.md b/docs/models/createoutputsystembypackoutputcribllake.md index 6d834f43c..bb5307c26 100644 --- a/docs/models/createoutputsystembypackoutputcribllake.md +++ b/docs/models/createoutputsystembypackoutputcribllake.md @@ -10,19 +10,7 @@ | `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` | *Optional[str]* | :heavy_minus_sign: | S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint. | -| `enable_assume_role` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials to access S3 | -| `assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Amazon Resource Name (ARN) of the role to assume | -| `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). | -| `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` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | Region where the S3 bucket is located | -| `dest_path` | *Optional[str]* | :heavy_minus_sign: | Lake dataset to send the data to. | -| `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 | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `stage_path` | *Optional[str]* | :heavy_minus_sign: | 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 | @@ -40,31 +28,33 @@ | `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 | -| `aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`) | -| `object_acl` | [Optional[models.ObjectACLOptions]](../models/objectacloptions.md) | :heavy_minus_sign: | Object ACL to assign to uploaded objects | -| `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 | -| `aws_authentication_method` | [Optional[models.CreateOutputSystemByPackAwsAuthenticationMethod]](../models/createoutputsystembypackawsauthenticationmethod.md) | :heavy_minus_sign: | N/A | +| `dest_path` | *Optional[str]* | :heavy_minus_sign: | Lake dataset to send the data to. | | `format_` | [Optional[models.CreateOutputSystemByPackFormatCriblLake]](../models/createoutputsystembypackformatcribllake.md) | :heavy_minus_sign: | N/A | -| `max_concurrent_file_parts` | *Optional[float]* | :heavy_minus_sign: | Maximum number of parts to upload in parallel per file. Minimum part size is 5MB. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `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: | 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 | +| `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_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *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_region` | *Optional[str]* | :heavy_minus_sign: | 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` | *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_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_aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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. | \ No newline at end of file +| `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_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/createoutputsystembypackoutputcriblsearchengine.md b/docs/models/createoutputsystembypackoutputcriblsearchengine.md index 957a931eb..f8f23cf26 100644 --- a/docs/models/createoutputsystembypackoutputcriblsearchengine.md +++ b/docs/models/createoutputsystembypackoutputcriblsearchengine.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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. | | `tls` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPath]](../models/tlssettingsclientsidetypecapathcertpath.md) | :heavy_minus_sign: | N/A | | `token_ttl_minutes` | *Optional[float]* | :heavy_minus_sign: | The number of minutes before the internally generated authentication token expires. Valid values are between 1 and 60. | @@ -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 | @@ -48,7 +48,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsCriblSearchEngine]](../models/createoutputsystembypackpqcontrolscriblsearchengine.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputsystembypackoutputcribltcp.md b/docs/models/createoutputsystembypackoutputcribltcp.md index 8c17b82c3..8b017e2ce 100644 --- a/docs/models/createoutputsystembypackoutputcribltcp.md +++ b/docs/models/createoutputsystembypackoutputcribltcp.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `load_balanced` | *Optional[bool]* | :heavy_minus_sign: | Use load-balanced destinations | | `compression` | [Optional[models.CompressionOptionsGzipNone]](../models/compressionoptionsgzipnone.md) | :heavy_minus_sign: | Codec to use to compress the data before sending | | `log_failed_requests` | *Optional[bool]* | :heavy_minus_sign: | Use to troubleshoot issues with sending data | @@ -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 | @@ -40,7 +40,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsCriblTCP]](../models/createoutputsystembypackpqcontrolscribltcp.md) | :heavy_minus_sign: | N/A | | `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. | diff --git a/docs/models/createoutputsystembypackoutputcrowdstrikenextgensiem.md b/docs/models/createoutputsystembypackoutputcrowdstrikenextgensiem.md index e3d6c4e30..580b64dfc 100644 --- a/docs/models/createoutputsystembypackoutputcrowdstrikenextgensiem.md +++ b/docs/models/createoutputsystembypackoutputcrowdstrikenextgensiem.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `url` | *str* | :heavy_check_mark: | URL provided from a CrowdStrike data connector.
Example: https://ingest..crowdstrike.com/api/ingest/hec//v1/services/collector | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | | `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size, in KB, of the request body | @@ -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. | @@ -42,7 +42,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsCrowdstrikeNextGenSiem]](../models/createoutputsystembypackpqcontrolscrowdstrikenextgensiem.md) | :heavy_minus_sign: | N/A | | `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_url` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputsystembypackoutputcustomermetricsstorage.md b/docs/models/createoutputsystembypackoutputcustomermetricsstorage.md new file mode 100644 index 000000000..437aedf12 --- /dev/null +++ b/docs/models/createoutputsystembypackoutputcustomermetricsstorage.md @@ -0,0 +1,65 @@ +# CreateOutputSystemByPackOutputCustomerMetricsStorage + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `id` | *str* | :heavy_check_mark: | Unique ID for this output | +| `type` | [models.CreateOutputSystemByPackTypeCustomerMetricsStorage](../models/createoutputsystembypacktypecustomermetricsstorage.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: | Metadata tags used for categorization and filtering. | +| `url` | *str* | :heavy_check_mark: | URL of the ClickHouse instance. Example: http://localhost:8123/ | +| `auth_type` | [Optional[models.AuthenticationTypeOptions]](../models/authenticationtypeoptions.md) | :heavy_minus_sign: | N/A | +| `database` | *str* | :heavy_check_mark: | N/A | +| `table_name` | *str* | :heavy_check_mark: | 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 "_". | +| `format_` | [Optional[models.FormatOptions]](../models/formatoptions.md) | :heavy_minus_sign: | Data format to use when sending data to ClickHouse. Defaults to JSON Compact. | +| `mapping_type` | [Optional[models.MappingTypeOptions]](../models/mappingtypeoptions.md) | :heavy_minus_sign: | How event fields are mapped to ClickHouse columns | +| `async_inserts` | *Optional[bool]* | :heavy_minus_sign: | 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` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPathExtended]](../models/tlssettingsclientsidetypecapathcertpathextended.md) | :heavy_minus_sign: | N/A | +| `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | +| `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size, in KB, of the request body | +| `max_payload_events` | *Optional[float]* | :heavy_minus_sign: | Maximum number of events to include in the request body. Default is 0 (unlimited). | +| `compress` | *Optional[bool]* | :heavy_minus_sign: | Compress the payload body before sending | +| `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. | +| `timeout_sec` | *Optional[float]* | :heavy_minus_sign: | Amount of time, in seconds, to wait for a request to complete before canceling it | +| `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 Body size limit. | +| `extra_http_headers` | List[[models.ExtraHTTPHeaderConfInputElastic](../models/extrahttpheaderconfinputelastic.md)] | :heavy_minus_sign: | Headers to add to all events | +| `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. | +| `failed_request_logging_mode` | [Optional[models.FailedRequestLoggingModeOptions]](../models/failedrequestloggingmodeoptions.md) | :heavy_minus_sign: | Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below. | +| `safe_headers` | List[*str*] | :heavy_minus_sign: | List of headers that are safe to log in plain text | +| `response_retry_settings` | List[[models.ResponseRetrySettingConfOutputWebhook](../models/responseretrysettingconfoutputwebhook.md)] | :heavy_minus_sign: | Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable) | +| `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. | +| `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: | 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 | +| `sql_username` | *Optional[str]* | :heavy_minus_sign: | Username for certificate authentication | +| `wait_for_async_inserts` | *Optional[bool]* | :heavy_minus_sign: | 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` | List[*str*] | :heavy_minus_sign: | Fields to exclude from sending to ClickHouse | +| `describe_table` | *Optional[str]* | :heavy_minus_sign: | Retrieves the table schema from ClickHouse and populates the Column Mapping table | +| `column_mappings` | List[[models.ColumnMappingConfOutputClickHouse](../models/columnmappingconfoutputclickhouse.md)] | :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. | +| `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. | +| `pq_max_buffer_size` | *Optional[float]* | :heavy_minus_sign: | 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` | *Optional[float]* | :heavy_minus_sign: | How long (in seconds) to wait for backpressure to resolve before engaging the queue | +| `pq_max_file_size` | *Optional[str]* | :heavy_minus_sign: | The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.) | +| `pq_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. | +| `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | +| `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | +| `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | +| `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsCustomerMetricsStorage]](../models/createoutputsystembypackpqcontrolscustomermetricsstorage.md) | :heavy_minus_sign: | N/A | +| `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_url` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *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/createoutputsystembypackoutputdatabricks.md b/docs/models/createoutputsystembypackoutputdatabricks.md index 1b8535958..004b88fb3 100644 --- a/docs/models/createoutputsystembypackoutputdatabricks.md +++ b/docs/models/createoutputsystembypackoutputdatabricks.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `dest_path` | *Optional[str]* | :heavy_minus_sign: | Optional path to prepend to files before uploading. | | `stage_path` | *Optional[str]* | :heavy_minus_sign: | Filesystem location in which to buffer files before compressing and moving to final destination. Use performant, stable storage. | | `add_id_to_stage_path` | *Optional[bool]* | :heavy_minus_sign: | Add the Output ID value to staging location | @@ -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 0d89cf2ea..a938a5d2c 100644 --- a/docs/models/createoutputsystembypackoutputdatadog.md +++ b/docs/models/createoutputsystembypackoutputdatadog.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `content_type` | [Optional[models.CreateOutputSystemByPackSendLogsAs]](../models/createoutputsystembypacksendlogsas.md) | :heavy_minus_sign: | The content type to use when sending logs | | `message` | *Optional[str]* | :heavy_minus_sign: | 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]* | :heavy_minus_sign: | 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. | @@ -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. | @@ -51,7 +51,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsDatadog]](../models/createoutputsystembypackpqcontrolsdatadog.md) | :heavy_minus_sign: | N/A | | `api_key` | *Optional[str]* | :heavy_minus_sign: | Organization's API key in Datadog | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/createoutputsystembypackoutputdataset.md b/docs/models/createoutputsystembypackoutputdataset.md index 83cbd755d..1d0ff4fc3 100644 --- a/docs/models/createoutputsystembypackoutputdataset.md +++ b/docs/models/createoutputsystembypackoutputdataset.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `message_field` | *Optional[str]* | :heavy_minus_sign: | 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` | List[*str*] | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | Name of the event field that contains the `serverHost` identifier. If not specified, defaults to `cribl_`. | @@ -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. | @@ -46,7 +46,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsDataset]](../models/createoutputsystembypackpqcontrolsdataset.md) | :heavy_minus_sign: | N/A | | `api_key` | *Optional[str]* | :heavy_minus_sign: | A 'Log Write Access' API key for the DataSet account | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/createoutputsystembypackoutputdefault.md b/docs/models/createoutputsystembypackoutputdefault.md index 105dc233b..ff28dd313 100644 --- a/docs/models/createoutputsystembypackoutputdefault.md +++ b/docs/models/createoutputsystembypackoutputdefault.md @@ -10,6 +10,6 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `default_id` | *Nullable[str]* | :heavy_check_mark: | ID of the default output. This will be used whenever a nonexistent/deleted output is referenced. | | `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/createoutputsystembypackoutputdells3.md b/docs/models/createoutputsystembypackoutputdells3.md index a6ef9d605..195f80869 100644 --- a/docs/models/createoutputsystembypackoutputdells3.md +++ b/docs/models/createoutputsystembypackoutputdells3.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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 | @@ -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/createoutputsystembypackoutputdevnull.md b/docs/models/createoutputsystembypackoutputdevnull.md index 111c3ca14..b4c13d444 100644 --- a/docs/models/createoutputsystembypackoutputdevnull.md +++ b/docs/models/createoutputsystembypackoutputdevnull.md @@ -10,5 +10,5 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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/createoutputsystembypackoutputdiskspool.md b/docs/models/createoutputsystembypackoutputdiskspool.md index b08ef386b..aea64cf2c 100644 --- a/docs/models/createoutputsystembypackoutputdiskspool.md +++ b/docs/models/createoutputsystembypackoutputdiskspool.md @@ -10,11 +10,11 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `time_window` | *Optional[str]* | :heavy_minus_sign: | Time period for grouping spooled events. Default is 10m. | | `max_data_size` | *Optional[str]* | :heavy_minus_sign: | Maximum disk space that can be consumed before older buckets are deleted. Examples: 420MB, 4GB. Default is 1GB. | | `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..f96b55afa 100644 --- a/docs/models/createoutputsystembypackoutputdls3.md +++ b/docs/models/createoutputsystembypackoutputdls3.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `endpoint` | *Optional[str]* | :heavy_minus_sign: | S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint. | | `enable_assume_role` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials to access S3 | | `assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Amazon Resource Name (ARN) of the role to assume | @@ -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 1fb7d0b26..de2f7eb77 100644 --- a/docs/models/createoutputsystembypackoutputdynatracehttp.md +++ b/docs/models/createoutputsystembypackoutputdynatracehttp.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `method` | [Optional[models.MethodOptions]](../models/methodoptions.md) | :heavy_minus_sign: | The method to use when sending events | | `keep_alive` | *Optional[bool]* | :heavy_minus_sign: | Disable to close the connection immediately after sending the outgoing request | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | @@ -30,10 +30,10 @@ | `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.CreateOutputSystemByPackAuthenticationTypeDynatraceHTTP]](../models/createoutputsystembypackauthenticationtypedynatracehttp.md) | :heavy_minus_sign: | N/A | | `format_` | [models.CreateOutputSystemByPackFormatDynatraceHTTP](../models/createoutputsystembypackformatdynatracehttp.md) | :heavy_check_mark: | How to format events before sending. Defaults to JSON. Plaintext is not currently supported. | -| `endpoint` | [models.CreateOutputSystemByPackEndpoint](../models/createoutputsystembypackendpoint.md) | :heavy_check_mark: | N/A | +| `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. | @@ -44,7 +44,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsDynatraceHTTP]](../models/createoutputsystembypackpqcontrolsdynatracehttp.md) | :heavy_minus_sign: | N/A | | `token` | *Optional[str]* | :heavy_minus_sign: | Bearer token to include in the authorization header | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/createoutputsystembypackoutputdynatraceotlp.md b/docs/models/createoutputsystembypackoutputdynatraceotlp.md index 05349b8db..211ce9a3b 100644 --- a/docs/models/createoutputsystembypackoutputdynatraceotlp.md +++ b/docs/models/createoutputsystembypackoutputdynatraceotlp.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `protocol` | [models.CreateOutputSystemByPackProtocolDynatraceOtlp](../models/createoutputsystembypackprotocoldynatraceotlp.md) | :heavy_check_mark: | Select a transport option for Dynatrace | | `endpoint` | *str* | :heavy_check_mark: | 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` | [models.OtlpVersionOptions131](../models/otlpversionoptions131.md) | :heavy_check_mark: | The version of OTLP Protobuf definitions to use when structuring data to send | @@ -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 | @@ -52,7 +52,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsDynatraceOtlp]](../models/createoutputsystembypackpqcontrolsdynatraceotlp.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputsystembypackoutputelastic.md b/docs/models/createoutputsystembypackoutputelastic.md index a89887a4a..0b45d4d7f 100644 --- a/docs/models/createoutputsystembypackoutputelastic.md +++ b/docs/models/createoutputsystembypackoutputelastic.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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. | | `index` | *str* | :heavy_check_mark: | 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. | | `doc_type` | *Optional[str]* | :heavy_minus_sign: | Document type to use for events. Can be overwritten by an event's __type field. | @@ -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 | @@ -52,7 +52,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsElastic]](../models/createoutputsystembypackpqcontrolselastic.md) | :heavy_minus_sign: | N/A | | `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_index` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputsystembypackoutputelasticcloud.md b/docs/models/createoutputsystembypackoutputelasticcloud.md index b9a841f88..8904015cb 100644 --- a/docs/models/createoutputsystembypackoutputelasticcloud.md +++ b/docs/models/createoutputsystembypackoutputelasticcloud.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `url` | *str* | :heavy_check_mark: | Enter Cloud ID of the Elastic Cloud environment to send events to | | `index` | *str* | :heavy_check_mark: | 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. | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | @@ -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. | @@ -42,7 +42,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsElasticCloud]](../models/createoutputsystembypackpqcontrolselasticcloud.md) | :heavy_minus_sign: | N/A | | `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_url` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputsystembypackoutputexabeam.md b/docs/models/createoutputsystembypackoutputexabeam.md index 2021e6bdf..35d88df73 100644 --- a/docs/models/createoutputsystembypackoutputexabeam.md +++ b/docs/models/createoutputsystembypackoutputexabeam.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `bucket` | *str* | :heavy_check_mark: | 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* | :heavy_check_mark: | Region where the bucket is located | | `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. | @@ -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..c3153d68f 100644 --- a/docs/models/createoutputsystembypackoutputfilesystem.md +++ b/docs/models/createoutputsystembypackoutputfilesystem.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `dest_path` | *str* | :heavy_check_mark: | Final destination for the output files | | `stage_path` | *Optional[str]* | :heavy_minus_sign: | 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 | @@ -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/createoutputsystembypackoutputgooglebigquery.md b/docs/models/createoutputsystembypackoutputgooglebigquery.md new file mode 100644 index 000000000..8cf929203 --- /dev/null +++ b/docs/models/createoutputsystembypackoutputgooglebigquery.md @@ -0,0 +1,42 @@ +# CreateOutputSystemByPackOutputGoogleBigquery + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | Unique ID for this output | +| `type` | [models.CreateOutputSystemByPackTypeGoogleBigquery](../models/createoutputsystembypacktypegooglebigquery.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: | Metadata tags used for categorization and filtering. | +| `project_id` | *str* | :heavy_check_mark: | Google Cloud project ID that contains the BigQuery dataset | +| `dataset_id` | *str* | :heavy_check_mark: | BigQuery dataset ID | +| `table_id` | *str* | :heavy_check_mark: | BigQuery table ID | +| `timestamp_column` | *Optional[str]* | :heavy_minus_sign: | Column name to write event time (`_time`) as a BigQuery TIMESTAMP. Used for time partitioning | +| `google_auth_method` | [models.CreateOutputSystemByPackGoogleAuthenticationMethodGoogleBigquery](../models/createoutputsystembypackgoogleauthenticationmethodgooglebigquery.md) | :heavy_check_mark: | Choose Auto to use Google Application Default Credentials (ADC), or Secret to select or create a stored secret that references Google service account credentials | +| `secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | +| `flush_period` | *Optional[float]* | :heavy_minus_sign: | Maximum time to wait before sending a batch (when batch size limit is not reached) | +| `max_queue_size` | *Optional[float]* | :heavy_minus_sign: | Maximum number of queued batches before blocking | +| `max_record_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size (KB) of a single append request. BigQuery limit is 10 MB | +| `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: | 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. | +| `pq_max_buffer_size` | *Optional[float]* | :heavy_minus_sign: | 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` | *Optional[float]* | :heavy_minus_sign: | How long (in seconds) to wait for backpressure to resolve before engaging the queue | +| `pq_max_file_size` | *Optional[str]* | :heavy_minus_sign: | The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.) | +| `pq_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. | +| `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | +| `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | +| `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | +| `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsGoogleBigquery]](../models/createoutputsystembypackpqcontrolsgooglebigquery.md) | :heavy_minus_sign: | N/A | +| `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_project_id` | *Optional[str]* | :heavy_minus_sign: | Binds 'projectId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'projectId' at runtime. | +| `template_dataset_id` | *Optional[str]* | :heavy_minus_sign: | Binds 'datasetId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'datasetId' at runtime. | +| `template_table_id` | *Optional[str]* | :heavy_minus_sign: | Binds 'tableId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tableId' 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/createoutputsystembypackoutputgooglechronicle.md b/docs/models/createoutputsystembypackoutputgooglechronicle.md index f06b07c9d..0622f58f1 100644 --- a/docs/models/createoutputsystembypackoutputgooglechronicle.md +++ b/docs/models/createoutputsystembypackoutputgooglechronicle.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `api_version` | [Optional[models.CreateOutputSystemByPackAPIVersion]](../models/createoutputsystembypackapiversion.md) | :heavy_minus_sign: | N/A | | `authentication_method` | [Optional[models.CreateOutputSystemByPackAuthenticationMethodGoogleChronicle]](../models/createoutputsystembypackauthenticationmethodgooglechronicle.md) | :heavy_minus_sign: | N/A | | `response_retry_settings` | List[[models.ResponseRetrySettingConfOutputWebhook](../models/responseretrysettingconfoutputwebhook.md)] | :heavy_minus_sign: | Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable) | @@ -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. | @@ -53,7 +53,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsGoogleChronicle]](../models/createoutputsystembypackpqcontrolsgooglechronicle.md) | :heavy_minus_sign: | N/A | | `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_api_version` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputsystembypackoutputgooglecloudlogging.md b/docs/models/createoutputsystembypackoutputgooglecloudlogging.md index 72a28572e..87f6f015d 100644 --- a/docs/models/createoutputsystembypackoutputgooglecloudlogging.md +++ b/docs/models/createoutputsystembypackoutputgooglecloudlogging.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `log_location_type` | [models.CreateOutputSystemByPackLogLocationType](../models/createoutputsystembypackloglocationtype.md) | :heavy_check_mark: | N/A | | `log_name_expression` | *str* | :heavy_check_mark: | 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. | | `sanitize_log_names` | *Optional[bool]* | :heavy_minus_sign: | N/A | @@ -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. | @@ -73,7 +73,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsGoogleCloudLogging]](../models/createoutputsystembypackpqcontrolsgooglecloudlogging.md) | :heavy_minus_sign: | N/A | | `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_log_location_type` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputsystembypackoutputgooglecloudobservability.md b/docs/models/createoutputsystembypackoutputgooglecloudobservability.md new file mode 100644 index 000000000..6b2b16209 --- /dev/null +++ b/docs/models/createoutputsystembypackoutputgooglecloudobservability.md @@ -0,0 +1,47 @@ +# CreateOutputSystemByPackOutputGoogleCloudObservability + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | Unique ID for this output | +| `type` | [models.CreateOutputSystemByPackTypeGoogleCloudObservability](../models/createoutputsystembypacktypegooglecloudobservability.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: | Metadata tags used for categorization and filtering. | +| `protocol` | [Optional[models.CreateOutputSystemByPackProtocolGoogleCloudObservability]](../models/createoutputsystembypackprotocolgooglecloudobservability.md) | :heavy_minus_sign: | N/A | +| `otlp_version` | [Optional[models.CreateOutputSystemByPackOtlpVersionGoogleCloudObservability]](../models/createoutputsystembypackotlpversiongooglecloudobservability.md) | :heavy_minus_sign: | N/A | +| `endpoint` | [Optional[models.CreateOutputSystemByPackEndpointGoogleCloudObservability]](../models/createoutputsystembypackendpointgooglecloudobservability.md) | :heavy_minus_sign: | 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. | +| `google_auth_method` | [models.CreateOutputSystemByPackGoogleAuthenticationMethodGoogleCloudObservability](../models/createoutputsystembypackgoogleauthenticationmethodgooglecloudobservability.md) | :heavy_check_mark: | Choose Auto to use Google Application Default Credentials (ADC). Choose Secret to select or create a stored secret that references Google service account credentials. | +| `metadata` | List[[models.KeyValueMetadataConfOutputFilesystem](../models/keyvaluemetadataconfoutputfilesystem.md)] | :heavy_minus_sign: | 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` | *Optional[bool]* | :heavy_minus_sign: | Batch event data upon dynamic metadata (whether presented or not) | +| `dynamic_headers_field` | *Optional[str]* | :heavy_minus_sign: | When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events. | +| `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | +| `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size, in KB, of the request body sent to Google Cloud Observability | +| `timeout_sec` | *Optional[float]* | :heavy_minus_sign: | Amount of time, in seconds, to wait for a request to complete before canceling it | +| `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 Body size limit. | +| `failed_request_logging_mode` | [Optional[models.FailedRequestLoggingModeOptions]](../models/failedrequestloggingmodeoptions.md) | :heavy_minus_sign: | Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below. | +| `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). 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: | 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. | +| `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. | +| `pq_max_buffer_size` | *Optional[float]* | :heavy_minus_sign: | 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` | *Optional[float]* | :heavy_minus_sign: | How long (in seconds) to wait for backpressure to resolve before engaging the queue | +| `pq_max_file_size` | *Optional[str]* | :heavy_minus_sign: | The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.) | +| `pq_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. | +| `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | +| `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | +| `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | +| `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsGoogleCloudObservability]](../models/createoutputsystembypackpqcontrolsgooglecloudobservability.md) | :heavy_minus_sign: | N/A | +| `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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` | *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/createoutputsystembypackoutputgooglecloudstorage.md b/docs/models/createoutputsystembypackoutputgooglecloudstorage.md index 449045b4d..0c2b0d7d3 100644 --- a/docs/models/createoutputsystembypackoutputgooglecloudstorage.md +++ b/docs/models/createoutputsystembypackoutputgooglecloudstorage.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `bucket` | *str* | :heavy_check_mark: | 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* | :heavy_check_mark: | Region where the bucket is located | | `endpoint` | *str* | :heavy_check_mark: | Google Cloud Storage service endpoint | @@ -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 282dcd711..a8119f25d 100644 --- a/docs/models/createoutputsystembypackoutputgooglepubsub.md +++ b/docs/models/createoutputsystembypackoutputgooglepubsub.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `topic_name` | *str* | :heavy_check_mark: | ID of the topic to send events to. | | `create_topic` | *Optional[bool]* | :heavy_minus_sign: | If enabled, create topic if it does not exist. | | `ordered_delivery` | *Optional[bool]* | :heavy_minus_sign: | 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. | @@ -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. | @@ -36,7 +36,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsGooglePubsub]](../models/createoutputsystembypackpqcontrolsgooglepubsub.md) | :heavy_minus_sign: | N/A | | `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_topic_name` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputsystembypackoutputgrafanacloudgrafanacloud1.md b/docs/models/createoutputsystembypackoutputgrafanacloudgrafanacloud1.md index 64732f5ac..1eb900d47 100644 --- a/docs/models/createoutputsystembypackoutputgrafanacloudgrafanacloud1.md +++ b/docs/models/createoutputsystembypackoutputgrafanacloudgrafanacloud1.md @@ -10,12 +10,12 @@ | `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. These fields are added as dimensions and labels to generated metrics and logs, respectively. | | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `loki_url` | *str* | :heavy_check_mark: | The endpoint to send logs to, such as https://logs-prod-us-central1.grafana.net | | `prometheus_url` | *Optional[str]* | :heavy_minus_sign: | 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]* | :heavy_minus_sign: | 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` | [Optional[models.MessageFormatOptions]](../models/messageformatoptions.md) | :heavy_minus_sign: | Format to use when sending logs to Loki (Protobuf or JSON) | -| `labels` | List[[models.RequestParamConfInputOpenai](../models/requestparamconfinputopenai.md)] | :heavy_minus_sign: | 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"}' | +| `labels` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauthSecret](../models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.md)] | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | [Optional[models.PrometheusAuthType]](../models/prometheusauthtype.md) | :heavy_minus_sign: | N/A | | `loki_auth` | [Optional[models.PrometheusAuthType]](../models/prometheusauthtype.md) | :heavy_minus_sign: | N/A | @@ -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. | @@ -45,7 +45,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackOutputGrafanaCloudPqControls1]](../models/createoutputsystembypackoutputgrafanacloudpqcontrols1.md) | :heavy_minus_sign: | N/A | | `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_loki_url` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputsystembypackoutputgrafanacloudgrafanacloud2.md b/docs/models/createoutputsystembypackoutputgrafanacloudgrafanacloud2.md index 31efc110c..4d18b19be 100644 --- a/docs/models/createoutputsystembypackoutputgrafanacloudgrafanacloud2.md +++ b/docs/models/createoutputsystembypackoutputgrafanacloudgrafanacloud2.md @@ -10,12 +10,12 @@ | `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. These fields are added as dimensions and labels to generated metrics and logs, respectively. | | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `loki_url` | *Optional[str]* | :heavy_minus_sign: | The endpoint to send logs to, such as https://logs-prod-us-central1.grafana.net | | `prometheus_url` | *str* | :heavy_check_mark: | 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]* | :heavy_minus_sign: | 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` | [Optional[models.MessageFormatOptions]](../models/messageformatoptions.md) | :heavy_minus_sign: | Format to use when sending logs to Loki (Protobuf or JSON) | -| `labels` | List[[models.RequestParamConfInputOpenai](../models/requestparamconfinputopenai.md)] | :heavy_minus_sign: | 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"}' | +| `labels` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauthSecret](../models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.md)] | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | [Optional[models.PrometheusAuthType]](../models/prometheusauthtype.md) | :heavy_minus_sign: | N/A | | `loki_auth` | [Optional[models.PrometheusAuthType]](../models/prometheusauthtype.md) | :heavy_minus_sign: | N/A | @@ -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. | @@ -45,7 +45,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackOutputGrafanaCloudPqControls2]](../models/createoutputsystembypackoutputgrafanacloudpqcontrols2.md) | :heavy_minus_sign: | N/A | | `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_loki_url` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputsystembypackoutputgraphite.md b/docs/models/createoutputsystembypackoutputgraphite.md index 95b2ae4bd..3495a1f75 100644 --- a/docs/models/createoutputsystembypackoutputgraphite.md +++ b/docs/models/createoutputsystembypackoutputgraphite.md @@ -10,14 +10,14 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `protocol` | [models.DestinationProtocolOptions](../models/destinationprotocoloptions.md) | :heavy_check_mark: | Protocol to use when communicating with the destination. | | `host` | *str* | :heavy_check_mark: | The hostname of the destination. | | `port` | *float* | :heavy_check_mark: | Destination port. | | `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 | @@ -32,7 +32,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsGraphite]](../models/createoutputsystembypackpqcontrolsgraphite.md) | :heavy_minus_sign: | N/A | | `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/createoutputsystembypackoutputhoneycomb.md b/docs/models/createoutputsystembypackoutputhoneycomb.md index e783cee36..249baede2 100644 --- a/docs/models/createoutputsystembypackoutputhoneycomb.md +++ b/docs/models/createoutputsystembypackoutputhoneycomb.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `dataset` | *str* | :heavy_check_mark: | Name of the dataset to send events to – e.g., observability | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | | `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size, in KB, of the request body | @@ -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. | @@ -39,7 +39,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsHoneycomb]](../models/createoutputsystembypackpqcontrolshoneycomb.md) | :heavy_minus_sign: | N/A | | `team` | *Optional[str]* | :heavy_minus_sign: | Team API key where the dataset belongs | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/createoutputsystembypackoutputhumiohec.md b/docs/models/createoutputsystembypackoutputhumiohec.md index 7129f30d0..606c1b762 100644 --- a/docs/models/createoutputsystembypackoutputhumiohec.md +++ b/docs/models/createoutputsystembypackoutputhumiohec.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `url` | *str* | :heavy_check_mark: | 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 | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | | `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size, in KB, of the request body | @@ -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. | @@ -42,7 +42,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsHumioHec]](../models/createoutputsystembypackpqcontrolshumiohec.md) | :heavy_minus_sign: | N/A | | `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_url` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputsystembypackoutputibmclouds3.md b/docs/models/createoutputsystembypackoutputibmclouds3.md new file mode 100644 index 000000000..4a47211fb --- /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: | Metadata tags used for categorization and filtering. | +| `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 9f7d7d725..d94e8d2fd 100644 --- a/docs/models/createoutputsystembypackoutputinfluxdb.md +++ b/docs/models/createoutputsystembypackoutputinfluxdb.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `url` | *str* | :heavy_check_mark: | URL of an InfluxDB cluster to send events to, e.g., http://localhost:8086/write | | `use_v2_api` | *Optional[bool]* | :heavy_minus_sign: | The v2 API can be enabled with InfluxDB versions 1.8 and later. | | `timestamp_precision` | [Optional[models.CreateOutputSystemByPackTimestampPrecision]](../models/createoutputsystembypacktimestampprecision.md) | :heavy_minus_sign: | Sets the precision for the supplied Unix time values. Defaults to milliseconds. | @@ -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. | @@ -46,7 +46,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsInfluxdb]](../models/createoutputsystembypackpqcontrolsinfluxdb.md) | :heavy_minus_sign: | N/A | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | diff --git a/docs/models/createoutputsystembypackoutputkafka.md b/docs/models/createoutputsystembypackoutputkafka.md index bd5408c8d..ba57357fd 100644 --- a/docs/models/createoutputsystembypackoutputkafka.md +++ b/docs/models/createoutputsystembypackoutputkafka.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `brokers` | List[*str*] | :heavy_check_mark: | 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* | :heavy_check_mark: | The topic to publish events to. Can be overridden using the __topicOut field. | | `ack` | [Optional[models.AcknowledgmentsOptionsAllLeader]](../models/acknowledgmentsoptionsallleader.md) | :heavy_minus_sign: | Control the number of required acknowledgments. | @@ -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. | @@ -44,7 +44,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsKafka]](../models/createoutputsystembypackpqcontrolskafka.md) | :heavy_minus_sign: | N/A | | `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_topic` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputsystembypackoutputkinesis.md b/docs/models/createoutputsystembypackoutputkinesis.md index 8e3d19499..07cc2e869 100644 --- a/docs/models/createoutputsystembypackoutputkinesis.md +++ b/docs/models/createoutputsystembypackoutputkinesis.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `stream_name` | *str* | :heavy_check_mark: | Kinesis stream name to send events to. | | `aws_authentication_method` | [Optional[models.AuthenticationMethodOptionsS3CollectorConf]](../models/authenticationmethodoptionss3collectorconf.md) | :heavy_minus_sign: | AWS authentication method. Choose Auto to use IAM roles. | | `aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | N/A | @@ -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 | @@ -43,7 +43,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsKinesis]](../models/createoutputsystembypackpqcontrolskinesis.md) | :heavy_minus_sign: | N/A | | `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_stream_name` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputsystembypackoutputlocalsearchstorage.md b/docs/models/createoutputsystembypackoutputlocalsearchstorage.md index fd58d2044..5953587e4 100644 --- a/docs/models/createoutputsystembypackoutputlocalsearchstorage.md +++ b/docs/models/createoutputsystembypackoutputlocalsearchstorage.md @@ -10,13 +10,13 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `url` | *str* | :heavy_check_mark: | URL of the database instance. Example: http://localhost:8123/ | | `auth_type` | [Optional[models.AuthenticationTypeOptions]](../models/authenticationtypeoptions.md) | :heavy_minus_sign: | N/A | | `database` | *str* | :heavy_check_mark: | N/A | | `table_name` | *str* | :heavy_check_mark: | 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 "_". | | `format_` | [Optional[models.CreateOutputSystemByPackFormatLocalSearchStorage]](../models/createoutputsystembypackformatlocalsearchstorage.md) | :heavy_minus_sign: | Data format to use when sending data. Defaults to JSON Compact. | -| `mapping_type` | [Optional[models.CreateOutputSystemByPackMappingTypeLocalSearchStorage]](../models/createoutputsystembypackmappingtypelocalsearchstorage.md) | :heavy_minus_sign: | How event fields are mapped to columns. | +| `mapping_type` | [Optional[models.CreateOutputSystemByPackMappingType]](../models/createoutputsystembypackmappingtype.md) | :heavy_minus_sign: | How event fields are mapped to columns. | | `async_inserts` | *Optional[bool]* | :heavy_minus_sign: | Collect data into batches for later processing. Disable to write to a table immediately. | | `tls` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPathExtended]](../models/tlssettingsclientsidetypecapathcertpathextended.md) | :heavy_minus_sign: | N/A | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | @@ -33,10 +33,11 @@ | `response_retry_settings` | List[[models.ResponseRetrySettingConfOutputWebhook](../models/responseretrysettingconfoutputwebhook.md)] | :heavy_minus_sign: | Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable) | | `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. | +| `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 | | `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 | @@ -44,7 +45,7 @@ | `wait_for_async_inserts` | *Optional[bool]* | :heavy_minus_sign: | 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` | List[*str*] | :heavy_minus_sign: | Fields to exclude from sending | | `describe_table` | *Optional[str]* | :heavy_minus_sign: | Retrieves the table schema and populates the Column Mapping table | -| `column_mappings` | List[[models.CreateOutputSystemByPackColumnMappingLocalSearchStorage](../models/createoutputsystembypackcolumnmappinglocalsearchstorage.md)] | :heavy_minus_sign: | N/A | +| `column_mappings` | List[[models.CreateOutputSystemByPackColumnMapping](../models/createoutputsystembypackcolumnmapping.md)] | :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. | | `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. | @@ -55,7 +56,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsLocalSearchStorage]](../models/createoutputsystembypackpqcontrolslocalsearchstorage.md) | :heavy_minus_sign: | N/A | | `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_url` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputsystembypackoutputloki.md b/docs/models/createoutputsystembypackoutputloki.md index 6054daed2..964355853 100644 --- a/docs/models/createoutputsystembypackoutputloki.md +++ b/docs/models/createoutputsystembypackoutputloki.md @@ -10,11 +10,11 @@ | `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. These fields are added as labels to generated logs. | | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `url` | *str* | :heavy_check_mark: | The endpoint to send logs to | | `message` | *Optional[str]* | :heavy_minus_sign: | 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` | [Optional[models.MessageFormatOptions]](../models/messageformatoptions.md) | :heavy_minus_sign: | Format to use when sending logs to Loki (Protobuf or JSON) | -| `labels` | List[[models.RequestParamConfInputOpenai](../models/requestparamconfinputopenai.md)] | :heavy_minus_sign: | 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"}' | +| `labels` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauthSecret](../models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.md)] | :heavy_minus_sign: | 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` | [Optional[models.AuthenticationTypeOptionsPrometheusAuthBasicCredentialsSecret]](../models/authenticationtypeoptionsprometheusauthbasiccredentialssecret.md) | :heavy_minus_sign: | N/A | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | 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` | *Optional[float]* | :heavy_minus_sign: | 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. | @@ -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 | @@ -49,7 +49,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsLoki]](../models/createoutputsystembypackpqcontrolsloki.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputsystembypackoutputmicrosoftfabric.md b/docs/models/createoutputsystembypackoutputmicrosoftfabric.md index 8e86b35fe..573fd0aeb 100644 --- a/docs/models/createoutputsystembypackoutputmicrosoftfabric.md +++ b/docs/models/createoutputsystembypackoutputmicrosoftfabric.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `topic` | *str* | :heavy_check_mark: | Topic name from Fabric Eventstream's endpoint | | `ack` | [Optional[models.AcknowledgmentsOptions]](../models/acknowledgmentsoptions.md) | :heavy_minus_sign: | Control the number of required acknowledgments | | `format_` | [Optional[models.RecordDataFormatOptions]](../models/recorddataformatoptions.md) | :heavy_minus_sign: | Format to use to serialize events before writing to the Event Hubs Kafka brokers | @@ -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. | @@ -40,7 +40,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsMicrosoftFabric]](../models/createoutputsystembypackpqcontrolsmicrosoftfabric.md) | :heavy_minus_sign: | N/A | | `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_topic` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputsystembypackoutputminio.md b/docs/models/createoutputsystembypackoutputminio.md index 538063589..566a52a67 100644 --- a/docs/models/createoutputsystembypackoutputminio.md +++ b/docs/models/createoutputsystembypackoutputminio.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `aws_authentication_method` | [Optional[models.AuthenticationMethodOptionsS3CollectorConf]](../models/authenticationmethodoptionss3collectorconf.md) | :heavy_minus_sign: | AWS authentication method. Choose Auto to use IAM roles. | | `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 | @@ -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 9c75af012..b6d203db9 100644 --- a/docs/models/createoutputsystembypackoutputmsk.md +++ b/docs/models/createoutputsystembypackoutputmsk.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `brokers` | List[*str*] | :heavy_check_mark: | 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* | :heavy_check_mark: | The topic to publish events to. Can be overridden using the __topicOut field. | | `ack` | [Optional[models.AcknowledgmentsOptionsAllLeader]](../models/acknowledgmentsoptionsallleader.md) | :heavy_minus_sign: | Control the number of required acknowledgments. | @@ -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 | @@ -55,7 +55,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsMsk]](../models/createoutputsystembypackpqcontrolsmsk.md) | :heavy_minus_sign: | N/A | | `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_topic` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputsystembypackoutputnetflow.md b/docs/models/createoutputsystembypackoutputnetflow.md index 2db45fccd..00cc0e3d2 100644 --- a/docs/models/createoutputsystembypackoutputnetflow.md +++ b/docs/models/createoutputsystembypackoutputnetflow.md @@ -10,10 +10,10 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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 b6ab4d78c..6179db994 100644 --- a/docs/models/createoutputsystembypackoutputnewrelic.md +++ b/docs/models/createoutputsystembypackoutputnewrelic.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `region` | [Optional[models.RegionOptions]](../models/regionoptions.md) | :heavy_minus_sign: | Which New Relic region endpoint to use. | | `log_type` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | Name of field to send as log message value. If not present, event will be serialized and sent as JSON. | @@ -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. | @@ -44,7 +44,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsNewrelic]](../models/createoutputsystembypackpqcontrolsnewrelic.md) | :heavy_minus_sign: | N/A | | `api_key` | *Optional[str]* | :heavy_minus_sign: | New Relic API key. Can be overridden using __newRelic_apiKey field. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/createoutputsystembypackoutputnewrelicevents.md b/docs/models/createoutputsystembypackoutputnewrelicevents.md index 3d39461ba..9c4b852df 100644 --- a/docs/models/createoutputsystembypackoutputnewrelicevents.md +++ b/docs/models/createoutputsystembypackoutputnewrelicevents.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `region` | [Optional[models.RegionOptions]](../models/regionoptions.md) | :heavy_minus_sign: | Which New Relic region endpoint to use. | | `account_id` | *str* | :heavy_check_mark: | New Relic account ID | | `event_type` | *str* | :heavy_check_mark: | 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). | @@ -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. | @@ -42,7 +42,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsNewrelicEvents]](../models/createoutputsystembypackpqcontrolsnewrelicevents.md) | :heavy_minus_sign: | N/A | | `api_key` | *Optional[str]* | :heavy_minus_sign: | New Relic API key. Can be overridden using __newRelic_apiKey field. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/createoutputsystembypackoutputnutanixobjects.md b/docs/models/createoutputsystembypackoutputnutanixobjects.md index dc794e3bf..c9cc2cfe3 100644 --- a/docs/models/createoutputsystembypackoutputnutanixobjects.md +++ b/docs/models/createoutputsystembypackoutputnutanixobjects.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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 | @@ -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 d308b2ce6..a5448f621 100644 --- a/docs/models/createoutputsystembypackoutputopentelemetry.md +++ b/docs/models/createoutputsystembypackoutputopentelemetry.md @@ -10,10 +10,10 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `protocol` | [Optional[models.ProtocolOptions]](../models/protocoloptions.md) | :heavy_minus_sign: | Select a transport option for OpenTelemetry | | `endpoint` | *str* | :heavy_check_mark: | 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. | -| `otlp_version` | [Optional[models.CreateOutputSystemByPackOTLPVersion]](../models/createoutputsystembypackotlpversion.md) | :heavy_minus_sign: | The version of OTLP Protobuf definitions to use when structuring data to send | +| `otlp_version` | [Optional[models.CreateOutputSystemByPackOTLPVersionOpenTelemetry]](../models/createoutputsystembypackotlpversionopentelemetry.md) | :heavy_minus_sign: | The version of OTLP Protobuf definitions to use when structuring data to send | | `compress` | [Optional[models.CompressionOptionsDeflateGzip]](../models/compressionoptionsdeflategzip.md) | :heavy_minus_sign: | Type of compression to apply to messages sent to the OpenTelemetry endpoint | | `http_compress` | [Optional[models.CompressionOptionsMessages]](../models/compressionoptionsmessages.md) | :heavy_minus_sign: | Type of compression to apply to messages sent to the OpenTelemetry endpoint | | `auth_type` | [Optional[models.CreateOutputSystemByPackAuthenticationTypeOpenTelemetry]](../models/createoutputsystembypackauthenticationtypeopentelemetry.md) | :heavy_minus_sign: | N/A | @@ -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 | @@ -64,7 +64,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsOpenTelemetry]](../models/createoutputsystembypackpqcontrolsopentelemetry.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputsystembypackoutputprometheus.md b/docs/models/createoutputsystembypackoutputprometheus.md index 8286b6189..d48100d76 100644 --- a/docs/models/createoutputsystembypackoutputprometheus.md +++ b/docs/models/createoutputsystembypackoutputprometheus.md @@ -10,7 +10,7 @@ | `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. These fields are added as dimensions to generated metrics. | | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `url` | *str* | :heavy_check_mark: | The endpoint to send metrics to | | `metric_rename_expr` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[bool]* | :heavy_minus_sign: | Generate and send metadata (`type` and `metricFamilyName`) requests | @@ -29,8 +29,8 @@ | `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 | -| `auth_type` | [Optional[models.AuthenticationTypeOptionsPrometheusAuth]](../models/authenticationtypeoptionsprometheusauth.md) | :heavy_minus_sign: | Remote Write authentication type | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `auth_type` | [Optional[models.CreateOutputSystemByPackAuthenticationTypePrometheus]](../models/createoutputsystembypackauthenticationtypeprometheus.md) | :heavy_minus_sign: | Remote Write authentication type | +| `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. | @@ -42,14 +42,26 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsPrometheus]](../models/createoutputsystembypackpqcontrolsprometheus.md) | :heavy_minus_sign: | N/A | | `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 | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a secret that references your credentials | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | +| `aws_authentication_method` | [Optional[models.AuthenticationMethodOptionsAutoSecret]](../models/authenticationmethodoptionsautosecret.md) | :heavy_minus_sign: | AWS authentication method. Choose Auto to use IAM roles. | +| `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | +| `region` | *Optional[str]* | :heavy_minus_sign: | AWS region used to sign Remote Write requests | +| `aws_service` | *Optional[str]* | :heavy_minus_sign: | ID used to sign Remote Write requests (for example, `aps` for Amazon Managed Service for Prometheus) | +| `enable_assume_role` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials to access Prometheus | +| `assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Amazon Resource Name (ARN) of the role to assume | +| `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). | | `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_url` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *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 +| `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_region` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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. | \ No newline at end of file diff --git a/docs/models/createoutputsystembypackoutputring.md b/docs/models/createoutputsystembypackoutputring.md index 9c0bb61ce..d48e0a210 100644 --- a/docs/models/createoutputsystembypackoutputring.md +++ b/docs/models/createoutputsystembypackoutputring.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `format_` | [Optional[models.CreateOutputSystemByPackDataFormatRing]](../models/createoutputsystembypackdataformatring.md) | :heavy_minus_sign: | Format of the output data. | | `partition_expr` | *Optional[str]* | :heavy_minus_sign: | JS expression to define how files are partitioned and organized. If left blank, Cribl Stream will fallback on event.__partition. | | `max_data_size` | *Optional[str]* | :heavy_minus_sign: | Maximum disk space allowed to be consumed (examples: 420MB, 4GB). When limit is reached, older data will be deleted. | @@ -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..df7ae8013 100644 --- a/docs/models/createoutputsystembypackoutputrouter.md +++ b/docs/models/createoutputsystembypackoutputrouter.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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..2affa547a 100644 --- a/docs/models/createoutputsystembypackoutputs3.md +++ b/docs/models/createoutputsystembypackoutputs3.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `endpoint` | *Optional[str]* | :heavy_minus_sign: | S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint. | | `enable_assume_role` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials to access S3 | | `assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Amazon Resource Name (ARN) of the role to assume | @@ -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..c940e5205 100644 --- a/docs/models/createoutputsystembypackoutputscalitys3.md +++ b/docs/models/createoutputsystembypackoutputscalitys3.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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 | @@ -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..af94c7e11 100644 --- a/docs/models/createoutputsystembypackoutputsecuritylake.md +++ b/docs/models/createoutputsystembypackoutputsecuritylake.md @@ -10,7 +10,7 @@ | `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. These fields are added as dimensions and labels to generated metrics and logs, respectively. | | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `endpoint` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials to access S3 | | `assume_role_arn` | *str* | :heavy_check_mark: | Amazon Resource Name (ARN) of the role to assume | @@ -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 7bb359003..b7739558c 100644 --- a/docs/models/createoutputsystembypackoutputsentinel.md +++ b/docs/models/createoutputsystembypackoutputsentinel.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `keep_alive` | *Optional[bool]* | :heavy_minus_sign: | Disable to close the connection immediately after sending the outgoing request | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | | `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size (KB) of the request body (defaults to the API's maximum limit of 1000 KB) | @@ -30,11 +30,15 @@ | `auth_type` | [Optional[models.CreateOutputSystemByPackAuthType]](../models/createoutputsystembypackauthtype.md) | :heavy_minus_sign: | N/A | | `login_url` | *str* | :heavy_check_mark: | URL for OAuth | | `secret` | *str* | :heavy_check_mark: | Secret parameter value to pass in request body | +| `refresh_token_field` | *Optional[str]* | :heavy_minus_sign: | Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, @{product} will use the refresh token to obtain new access tokens without re-sending credentials. | +| `rotate_refresh_token` | *Optional[bool]* | :heavy_minus_sign: | @{product} will update the stored value on each successful refresh. Enable if the server issues a new refresh token on every use. | +| `refresh_url` | *Optional[str]* | :heavy_minus_sign: | Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL. | +| `refresh_request_params` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauthSecret](../models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.md)] | :heavy_minus_sign: | Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, @{product} sends only grant_type, refresh_token, and client_secret. | | `client_id` | *str* | :heavy_check_mark: | JavaScript expression to compute the Client ID for the Azure application. Can be a constant. | | `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 | @@ -54,7 +58,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsSentinel]](../models/createoutputsystembypackpqcontrolssentinel.md) | :heavy_minus_sign: | N/A | | `url` | *Optional[str]* | :heavy_minus_sign: | URL to send events to. Can be overwritten by an event's __url field. | | `dcr_id` | *Optional[str]* | :heavy_minus_sign: | Immutable ID for the Data Collection Rule (DCR) | @@ -65,6 +69,7 @@ | `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_login_url` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_refresh_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime. | | `template_client_id` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputsystembypackoutputsentineloneaisiem.md b/docs/models/createoutputsystembypackoutputsentineloneaisiem.md index 843f69f27..cf7449c9c 100644 --- a/docs/models/createoutputsystembypackoutputsentineloneaisiem.md +++ b/docs/models/createoutputsystembypackoutputsentineloneaisiem.md @@ -10,9 +10,7 @@ | `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} | -| `region` | [models.CreateOutputSystemByPackRegion](../models/createoutputsystembypackregion.md) | :heavy_check_mark: | 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` | [models.CreateOutputSystemByPackAISIEMEndpointPath](../models/createoutputsystembypackaisiemendpointpath.md) | :heavy_check_mark: | 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). | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | | `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size, in KB, of the request body | | `max_payload_events` | *Optional[float]* | :heavy_minus_sign: | Maximum number of events to include in the request body. Default is 0 (unlimited). | @@ -27,8 +25,10 @@ | `response_retry_settings` | List[[models.ResponseRetrySettingConfOutputWebhook](../models/responseretrysettingconfoutputwebhook.md)] | :heavy_minus_sign: | Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable) | | `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. | +| `region` | [models.CreateOutputSystemByPackRegion](../models/createoutputsystembypackregion.md) | :heavy_check_mark: | 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` | [models.CreateOutputSystemByPackAISIEMEndpointPath](../models/createoutputsystembypackaisiemendpointpath.md) | :heavy_check_mark: | 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). | | `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]+)?$. | @@ -56,7 +56,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsSentinelOneAiSiem]](../models/createoutputsystembypackpqcontrolssentineloneaisiem.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputsystembypackoutputservicenow.md b/docs/models/createoutputsystembypackoutputservicenow.md index 3e64edf23..f5f6c3f08 100644 --- a/docs/models/createoutputsystembypackoutputservicenow.md +++ b/docs/models/createoutputsystembypackoutputservicenow.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `endpoint` | *str* | :heavy_check_mark: | 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* | :heavy_check_mark: | Select or create a stored text secret | | `auth_token_name` | *Optional[str]* | :heavy_minus_sign: | N/A | @@ -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 | @@ -52,7 +52,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsServiceNow]](../models/createoutputsystembypackpqcontrolsservicenow.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputsystembypackoutputsignalfx.md b/docs/models/createoutputsystembypackoutputsignalfx.md index a207f0c89..e5610c988 100644 --- a/docs/models/createoutputsystembypackoutputsignalfx.md +++ b/docs/models/createoutputsystembypackoutputsignalfx.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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 | | `realm` | *str* | :heavy_check_mark: | 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). | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | @@ -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. | @@ -41,7 +41,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsSignalfx]](../models/createoutputsystembypackpqcontrolssignalfx.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputsystembypackoutputsnmp.md b/docs/models/createoutputsystembypackoutputsnmp.md index 0a5b32307..c07447edc 100644 --- a/docs/models/createoutputsystembypackoutputsnmp.md +++ b/docs/models/createoutputsystembypackoutputsnmp.md @@ -3,15 +3,17 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *str* | :heavy_check_mark: | Unique ID for this output | -| `type` | [models.CreateOutputSystemByPackTypeSnmp](../models/createoutputsystembypacktypesnmp.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} | -| `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. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `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 +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | Unique ID for this output | +| `type` | [models.CreateOutputSystemByPackTypeSnmp](../models/createoutputsystembypacktypesnmp.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: | Metadata tags used for categorization and filtering. | +| `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: | 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 4b5ed88be..4cd66390c 100644 --- a/docs/models/createoutputsystembypackoutputsns.md +++ b/docs/models/createoutputsystembypackoutputsns.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `topic_arn` | *str* | :heavy_check_mark: | 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* | :heavy_check_mark: | 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}`. | | `max_retries` | *Optional[float]* | :heavy_minus_sign: | Maximum number of retries before the output returns an error. Note that not all errors are retryable. The retries use an exponential backoff policy. | @@ -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. | @@ -38,7 +38,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsSns]](../models/createoutputsystembypackpqcontrolssns.md) | :heavy_minus_sign: | N/A | | `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_topic_arn` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputsystembypackoutputsplunk.md b/docs/models/createoutputsystembypackoutputsplunk.md index 5235e0b86..2e371bd74 100644 --- a/docs/models/createoutputsystembypackoutputsplunk.md +++ b/docs/models/createoutputsystembypackoutputsplunk.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `host` | *str* | :heavy_check_mark: | The hostname of the receiver | | `port` | *float* | :heavy_check_mark: | The port to connect to on the provided host | | `nested_fields` | [Optional[models.NestedFieldSerializationOptions]](../models/nestedfieldserializationoptions.md) | :heavy_minus_sign: | How to serialize nested fields into index-time fields | @@ -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. | @@ -37,7 +37,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsSplunk]](../models/createoutputsystembypackpqcontrolssplunk.md) | :heavy_minus_sign: | N/A | | `auth_token` | *Optional[str]* | :heavy_minus_sign: | Shared secret token to use when establishing a connection to a Splunk indexer. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/createoutputsystembypackoutputsplunkhec.md b/docs/models/createoutputsystembypackoutputsplunkhec.md index 2b64639ea..cb7d93540 100644 --- a/docs/models/createoutputsystembypackoutputsplunkhec.md +++ b/docs/models/createoutputsystembypackoutputsplunkhec.md @@ -10,10 +10,8 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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. | -| `next_queue` | *Optional[str]* | :heavy_minus_sign: | In the Splunk app, define which Splunk processing queue to send the events after HEC processing. | -| `tcp_routing` | *Optional[str]* | :heavy_minus_sign: | In the Splunk app, set the value of _TCP_ROUTING for events that do not have _ctrl._TCP_ROUTING set. | | `tls` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPathExtended]](../models/tlssettingsclientsidetypecapathcertpathextended.md) | :heavy_minus_sign: | N/A | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | | `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size, in KB, of the request body | @@ -30,8 +28,10 @@ | `response_retry_settings` | List[[models.ResponseRetrySettingConfOutputWebhook](../models/responseretrysettingconfoutputwebhook.md)] | :heavy_minus_sign: | Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable) | | `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. | +| `next_queue` | *Optional[str]* | :heavy_minus_sign: | In the Splunk app, define which Splunk processing queue to send the events after HEC processing. | +| `tcp_routing` | *Optional[str]* | :heavy_minus_sign: | In the Splunk app, set the value of _TCP_ROUTING for events that do not have _ctrl._TCP_ROUTING set. | | `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 | @@ -50,7 +50,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsSplunkHec]](../models/createoutputsystembypackpqcontrolssplunkhec.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputsystembypackoutputsplunklb.md b/docs/models/createoutputsystembypackoutputsplunklb.md index fffedd624..e59d48645 100644 --- a/docs/models/createoutputsystembypackoutputsplunklb.md +++ b/docs/models/createoutputsystembypackoutputsplunklb.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `dns_resolve_period_sec` | *Optional[float]* | :heavy_minus_sign: | The interval in which to re-resolve any hostnames and pick up destinations from A records | | `load_balance_stats_period_sec` | *Optional[float]* | :heavy_minus_sign: | How far back in time to keep traffic stats for load balancing purposes | | `max_concurrent_senders` | *Optional[float]* | :heavy_minus_sign: | 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. | @@ -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. | @@ -43,7 +43,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsSplunkLb]](../models/createoutputsystembypackpqcontrolssplunklb.md) | :heavy_minus_sign: | N/A | | `auth_token` | *Optional[str]* | :heavy_minus_sign: | Shared secret token to use when establishing a connection to a Splunk indexer. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/createoutputsystembypackoutputsqs.md b/docs/models/createoutputsystembypackoutputsqs.md index 006eabf13..ec00d7c39 100644 --- a/docs/models/createoutputsystembypackoutputsqs.md +++ b/docs/models/createoutputsystembypackoutputsqs.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `queue_name` | *str* | :heavy_check_mark: | 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` | [models.CreateOutputSystemByPackQueueType](../models/createoutputsystembypackqueuetype.md) | :heavy_check_mark: | The queue type used (or created). Defaults to Standard. | | `aws_account_id` | *Optional[str]* | :heavy_minus_sign: | SQS queue owner's AWS account ID. Leave empty if SQS queue is in same AWS account. | @@ -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. | @@ -44,7 +44,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsSqs]](../models/createoutputsystembypackpqcontrolssqs.md) | :heavy_minus_sign: | N/A | | `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_queue_name` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputsystembypackoutputstatsd.md b/docs/models/createoutputsystembypackoutputstatsd.md index 41f017a9e..48635da93 100644 --- a/docs/models/createoutputsystembypackoutputstatsd.md +++ b/docs/models/createoutputsystembypackoutputstatsd.md @@ -10,14 +10,14 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `protocol` | [models.DestinationProtocolOptions](../models/destinationprotocoloptions.md) | :heavy_check_mark: | Protocol to use when communicating with the destination. | | `host` | *str* | :heavy_check_mark: | The hostname of the destination. | | `port` | *float* | :heavy_check_mark: | Destination port. | | `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 | @@ -32,7 +32,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsStatsd]](../models/createoutputsystembypackpqcontrolsstatsd.md) | :heavy_minus_sign: | N/A | | `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/createoutputsystembypackoutputstatsdext.md b/docs/models/createoutputsystembypackoutputstatsdext.md index 7a1f9e90f..5c445a9cd 100644 --- a/docs/models/createoutputsystembypackoutputstatsdext.md +++ b/docs/models/createoutputsystembypackoutputstatsdext.md @@ -10,14 +10,14 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `protocol` | [models.DestinationProtocolOptions](../models/destinationprotocoloptions.md) | :heavy_check_mark: | Protocol to use when communicating with the destination. | | `host` | *str* | :heavy_check_mark: | The hostname of the destination. | | `port` | *float* | :heavy_check_mark: | Destination port. | | `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 | @@ -32,7 +32,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsStatsdExt]](../models/createoutputsystembypackpqcontrolsstatsdext.md) | :heavy_minus_sign: | N/A | | `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/createoutputsystembypackoutputstorjs3.md b/docs/models/createoutputsystembypackoutputstorjs3.md index 4ed770875..8456fa3d0 100644 --- a/docs/models/createoutputsystembypackoutputstorjs3.md +++ b/docs/models/createoutputsystembypackoutputstorjs3.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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 | @@ -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 b5123ae1d..a3c330bb6 100644 --- a/docs/models/createoutputsystembypackoutputsumologic.md +++ b/docs/models/createoutputsystembypackoutputsumologic.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `url` | *str* | :heavy_check_mark: | Sumo Logic HTTP collector URL to which events should be sent | | `custom_source` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | Override the source category configured on the Sumo Logic HTTP collector. This can also be overridden at the event level with the __sourceCategory field. | @@ -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. | @@ -42,7 +42,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsSumoLogic]](../models/createoutputsystembypackpqcontrolssumologic.md) | :heavy_minus_sign: | N/A | | `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_url` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputsystembypackoutputsyslog.md b/docs/models/createoutputsystembypackoutputsyslog.md index 89426eaf5..8d6158ef0 100644 --- a/docs/models/createoutputsystembypackoutputsyslog.md +++ b/docs/models/createoutputsystembypackoutputsyslog.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `protocol` | [Optional[models.CreateOutputSystemByPackProtocolSyslog]](../models/createoutputsystembypackprotocolsyslog.md) | :heavy_minus_sign: | The network protocol to use for sending out syslog messages | | `facility` | [Optional[models.CreateOutputSystemByPackFacility]](../models/createoutputsystembypackfacility.md) | :heavy_minus_sign: | Default value for message facility. Will be overwritten by value of __facility if set. Defaults to user. | | `severity` | [Optional[models.CreateOutputSystemByPackSeveritySyslog]](../models/createoutputsystembypackseveritysyslog.md) | :heavy_minus_sign: | Default value for message severity. Will be overwritten by value of __severity if set. Defaults to notice. | @@ -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 | @@ -46,7 +46,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsSyslog]](../models/createoutputsystembypackpqcontrolssyslog.md) | :heavy_minus_sign: | N/A | | `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/createoutputsystembypackoutputtcpjson.md b/docs/models/createoutputsystembypackoutputtcpjson.md index 1245de5a3..af0b84f74 100644 --- a/docs/models/createoutputsystembypackoutputtcpjson.md +++ b/docs/models/createoutputsystembypackoutputtcpjson.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `load_balanced` | *Optional[bool]* | :heavy_minus_sign: | Use load-balanced destinations | | `compression` | [Optional[models.CompressionOptionsGzipNone]](../models/compressionoptionsgzipnone.md) | :heavy_minus_sign: | Codec to use to compress the data before sending | | `log_failed_requests` | *Optional[bool]* | :heavy_minus_sign: | Use to troubleshoot issues with sending data | @@ -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 | @@ -40,7 +40,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsTcpjson]](../models/createoutputsystembypackpqcontrolstcpjson.md) | :heavy_minus_sign: | N/A | | `auth_token` | *Optional[str]* | :heavy_minus_sign: | Optional authentication token to include as part of the connection header | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/createoutputsystembypackoutputwavefront.md b/docs/models/createoutputsystembypackoutputwavefront.md index b9c04b440..a994cabd9 100644 --- a/docs/models/createoutputsystembypackoutputwavefront.md +++ b/docs/models/createoutputsystembypackoutputwavefront.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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 | | `domain` | *str* | :heavy_check_mark: | WaveFront domain name, e.g. "longboard" | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | @@ -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. | @@ -41,7 +41,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsWavefront]](../models/createoutputsystembypackpqcontrolswavefront.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputsystembypackoutputwebhookwebhook1.md b/docs/models/createoutputsystembypackoutputwebhookwebhook1.md index a0ccebb9c..4ea0be2ce 100644 --- a/docs/models/createoutputsystembypackoutputwebhookwebhook1.md +++ b/docs/models/createoutputsystembypackoutputwebhookwebhook1.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `method` | [Optional[models.MethodOptions]](../models/methodoptions.md) | :heavy_minus_sign: | The method to use when sending events | | `format_` | [Optional[models.CreateOutputSystemByPackOutputWebhookFormat1]](../models/createoutputsystembypackoutputwebhookformat1.md) | :heavy_minus_sign: | How to format events before sending out | | `keep_alive` | *Optional[bool]* | :heavy_minus_sign: | Disable to close the connection immediately after sending the outgoing request | @@ -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. | @@ -52,7 +52,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackOutputWebhookPqControls1]](../models/createoutputsystembypackoutputwebhookpqcontrols1.md) | :heavy_minus_sign: | N/A | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | @@ -67,6 +67,10 @@ | `token_timeout_secs` | *Optional[float]* | :heavy_minus_sign: | How often the OAuth token should be refreshed. | | `oauth_params` | List[[models.OauthParamConfInputServicenowTable](../models/oauthparamconfinputservicenowtable.md)] | :heavy_minus_sign: | 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` | List[[models.OauthHeaderConfInputServicenowTable](../models/oauthheaderconfinputservicenowtable.md)] | :heavy_minus_sign: | 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. | +| `refresh_token_field` | *Optional[str]* | :heavy_minus_sign: | Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, @{product} will use the refresh token to obtain new access tokens without re-sending credentials. | +| `rotate_refresh_token` | *Optional[bool]* | :heavy_minus_sign: | @{product} will update the stored value on each successful refresh. Enable if the server issues a new refresh token on every use. | +| `refresh_url` | *Optional[str]* | :heavy_minus_sign: | Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL. | +| `refresh_request_params` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauthSecret](../models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.md)] | :heavy_minus_sign: | Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, @{product} sends only grant_type, refresh_token, and client_secret. | | `url` | *str* | :heavy_check_mark: | URL of a webhook endpoint 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.CreateOutputSystemByPackOutputWebhookURL1](../models/createoutputsystembypackoutputwebhookurl1.md)] | :heavy_minus_sign: | N/A | @@ -77,4 +81,5 @@ | `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_login_url` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_refresh_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime. | | `template_url` | *Optional[str]* | :heavy_minus_sign: | 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. | \ No newline at end of file diff --git a/docs/models/createoutputsystembypackoutputwebhookwebhook2.md b/docs/models/createoutputsystembypackoutputwebhookwebhook2.md index dcb9878fe..e3f650a55 100644 --- a/docs/models/createoutputsystembypackoutputwebhookwebhook2.md +++ b/docs/models/createoutputsystembypackoutputwebhookwebhook2.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `method` | [Optional[models.MethodOptions]](../models/methodoptions.md) | :heavy_minus_sign: | The method to use when sending events | | `format_` | [Optional[models.CreateOutputSystemByPackOutputWebhookFormat2]](../models/createoutputsystembypackoutputwebhookformat2.md) | :heavy_minus_sign: | How to format events before sending out | | `keep_alive` | *Optional[bool]* | :heavy_minus_sign: | Disable to close the connection immediately after sending the outgoing request | @@ -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. | @@ -52,7 +52,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackOutputWebhookPqControls2]](../models/createoutputsystembypackoutputwebhookpqcontrols2.md) | :heavy_minus_sign: | N/A | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | @@ -67,6 +67,10 @@ | `token_timeout_secs` | *Optional[float]* | :heavy_minus_sign: | How often the OAuth token should be refreshed. | | `oauth_params` | List[[models.OauthParamConfInputServicenowTable](../models/oauthparamconfinputservicenowtable.md)] | :heavy_minus_sign: | 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` | List[[models.OauthHeaderConfInputServicenowTable](../models/oauthheaderconfinputservicenowtable.md)] | :heavy_minus_sign: | 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. | +| `refresh_token_field` | *Optional[str]* | :heavy_minus_sign: | Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, @{product} will use the refresh token to obtain new access tokens without re-sending credentials. | +| `rotate_refresh_token` | *Optional[bool]* | :heavy_minus_sign: | @{product} will update the stored value on each successful refresh. Enable if the server issues a new refresh token on every use. | +| `refresh_url` | *Optional[str]* | :heavy_minus_sign: | Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL. | +| `refresh_request_params` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauthSecret](../models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.md)] | :heavy_minus_sign: | Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, @{product} sends only grant_type, refresh_token, and client_secret. | | `url` | *Optional[str]* | :heavy_minus_sign: | URL of a webhook endpoint 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.CreateOutputSystemByPackOutputWebhookURL2](../models/createoutputsystembypackoutputwebhookurl2.md)] | :heavy_check_mark: | N/A | @@ -77,4 +81,5 @@ | `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_login_url` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_refresh_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime. | | `template_url` | *Optional[str]* | :heavy_minus_sign: | 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. | \ No newline at end of file diff --git a/docs/models/createoutputsystembypackoutputwizhec.md b/docs/models/createoutputsystembypackoutputwizhec.md index 3a6d29817..e35064e8c 100644 --- a/docs/models/createoutputsystembypackoutputwizhec.md +++ b/docs/models/createoutputsystembypackoutputwizhec.md @@ -10,9 +10,7 @@ | `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} | -| `next_queue` | *Optional[str]* | :heavy_minus_sign: | In the Splunk app, define which Splunk processing queue to send the events after HEC processing. | -| `tcp_routing` | *Optional[str]* | :heavy_minus_sign: | In the Splunk app, set the value of _TCP_ROUTING for events that do not have _ctrl._TCP_ROUTING set. | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `tls` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPathExtended]](../models/tlssettingsclientsidetypecapathcertpathextended.md) | :heavy_minus_sign: | N/A | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | | `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size, in KB, of the request body | @@ -28,12 +26,14 @@ | `response_retry_settings` | List[[models.ResponseRetrySettingConfOutputWebhook](../models/responseretrysettingconfoutputwebhook.md)] | :heavy_minus_sign: | Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable) | | `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 | | `wiz_connector_id` | *str* | :heavy_check_mark: | 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* | :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 | +| `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: | Optional description for this configuration. | +| `token` | *Optional[str]* | :heavy_minus_sign: | Wiz Defend Auth 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. | | `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. | @@ -44,13 +44,11 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsWizHec]](../models/createoutputsystembypackpqcontrolswizhec.md) | :heavy_minus_sign: | N/A | -| `token` | *Optional[str]* | :heavy_minus_sign: | Wiz Defend Auth token | -| `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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` | *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_wiz_environment` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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. | \ No newline at end of file +| `template_wiz_sourcetype` | *Optional[str]* | :heavy_minus_sign: | 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_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/createoutputsystembypackoutputxsiam.md b/docs/models/createoutputsystembypackoutputxsiam.md index bc2b8a3c2..17e73275b 100644 --- a/docs/models/createoutputsystembypackoutputxsiam.md +++ b/docs/models/createoutputsystembypackoutputxsiam.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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. | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | | `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size, in KB, of the request body | @@ -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 | @@ -48,7 +48,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.CreateOutputSystemByPackPqControlsXsiam]](../models/createoutputsystembypackpqcontrolsxsiam.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/createoutputsystembypackpqcontrolsamazonmanagedprometheus.md b/docs/models/createoutputsystembypackpqcontrolsamazonmanagedprometheus.md new file mode 100644 index 000000000..7b719150c --- /dev/null +++ b/docs/models/createoutputsystembypackpqcontrolsamazonmanagedprometheus.md @@ -0,0 +1,7 @@ +# CreateOutputSystemByPackPqControlsAmazonManagedPrometheus + + +## Fields + +| Field | Type | Required | Description | +| ----------- | ----------- | ----------- | ----------- | \ No newline at end of file diff --git a/docs/models/createoutputsystembypackpqcontrolscustomermetricsstorage.md b/docs/models/createoutputsystembypackpqcontrolscustomermetricsstorage.md new file mode 100644 index 000000000..e5fc2dd09 --- /dev/null +++ b/docs/models/createoutputsystembypackpqcontrolscustomermetricsstorage.md @@ -0,0 +1,7 @@ +# CreateOutputSystemByPackPqControlsCustomerMetricsStorage + + +## Fields + +| Field | Type | Required | Description | +| ----------- | ----------- | ----------- | ----------- | \ No newline at end of file diff --git a/docs/models/createoutputsystembypackpqcontrolsgooglebigquery.md b/docs/models/createoutputsystembypackpqcontrolsgooglebigquery.md new file mode 100644 index 000000000..65e692db1 --- /dev/null +++ b/docs/models/createoutputsystembypackpqcontrolsgooglebigquery.md @@ -0,0 +1,7 @@ +# CreateOutputSystemByPackPqControlsGoogleBigquery + + +## Fields + +| Field | Type | Required | Description | +| ----------- | ----------- | ----------- | ----------- | \ No newline at end of file diff --git a/docs/models/createoutputsystembypackpqcontrolsgooglecloudobservability.md b/docs/models/createoutputsystembypackpqcontrolsgooglecloudobservability.md new file mode 100644 index 000000000..4ece09945 --- /dev/null +++ b/docs/models/createoutputsystembypackpqcontrolsgooglecloudobservability.md @@ -0,0 +1,7 @@ +# CreateOutputSystemByPackPqControlsGoogleCloudObservability + + +## Fields + +| Field | Type | Required | Description | +| ----------- | ----------- | ----------- | ----------- | \ No newline at end of file diff --git a/docs/models/createoutputsystembypackprotocolgooglecloudobservability.md b/docs/models/createoutputsystembypackprotocolgooglecloudobservability.md new file mode 100644 index 000000000..d940a2cbd --- /dev/null +++ b/docs/models/createoutputsystembypackprotocolgooglecloudobservability.md @@ -0,0 +1,18 @@ +# CreateOutputSystemByPackProtocolGoogleCloudObservability + +## Example Usage + +```python +from cribl_control_plane.models import CreateOutputSystemByPackProtocolGoogleCloudObservability + +value = CreateOutputSystemByPackProtocolGoogleCloudObservability.GRPC + +# Open enum: unrecognized values are captured as UnrecognizedStr +``` + + +## Values + +| Name | Value | +| ------ | ------ | +| `GRPC` | grpc | \ No newline at end of file diff --git a/docs/models/createoutputsystembypackrequestbody.md b/docs/models/createoutputsystembypackrequestbody.md index 4adf275b8..d19eb1ae3 100644 --- a/docs/models/createoutputsystembypackrequestbody.md +++ b/docs/models/createoutputsystembypackrequestbody.md @@ -125,6 +125,12 @@ value: models.CreateOutputSystemByPackOutputHoneycomb = /* values here */ value: models.CreateOutputSystemByPackOutputAzureEventhub = /* values here */ ``` +### `models.CreateOutputSystemByPackOutputGoogleBigquery` + +```python +value: models.CreateOutputSystemByPackOutputGoogleBigquery = /* values here */ +``` + ### `models.CreateOutputSystemByPackOutputGoogleChronicle` ```python @@ -143,6 +149,12 @@ value: models.CreateOutputSystemByPackOutputGoogleCloudStorage = /* values here value: models.CreateOutputSystemByPackOutputGoogleCloudLogging = /* values here */ ``` +### `models.CreateOutputSystemByPackOutputGoogleCloudObservability` + +```python +value: models.CreateOutputSystemByPackOutputGoogleCloudObservability = /* values here */ +``` + ### `models.CreateOutputSystemByPackOutputGooglePubsub` ```python @@ -281,6 +293,12 @@ value: models.CreateOutputSystemByPackOutputGrafanaCloudUnion = /* values here * value: models.CreateOutputSystemByPackOutputLoki = /* values here */ ``` +### `models.CreateOutputSystemByPackOutputAmazonManagedPrometheus` + +```python +value: models.CreateOutputSystemByPackOutputAmazonManagedPrometheus = /* values here */ +``` + ### `models.CreateOutputSystemByPackOutputPrometheus` ```python @@ -371,6 +389,12 @@ value: models.CreateOutputSystemByPackOutputDiskSpool = /* values here */ value: models.CreateOutputSystemByPackOutputClickHouse = /* values here */ ``` +### `models.CreateOutputSystemByPackOutputCustomerMetricsStorage` + +```python +value: models.CreateOutputSystemByPackOutputCustomerMetricsStorage = /* values here */ +``` + ### `models.CreateOutputSystemByPackOutputLocalSearchStorage` ```python @@ -473,3 +497,9 @@ value: models.CreateOutputSystemByPackOutputScalityS3 = /* values here */ value: models.CreateOutputSystemByPackOutputAlibabaCloudS3 = /* values here */ ``` +### `models.CreateOutputSystemByPackOutputIbmCloudS3` + +```python +value: models.CreateOutputSystemByPackOutputIbmCloudS3 = /* values here */ +``` + diff --git a/docs/models/createoutputsystembypacktypeamazonmanagedprometheus.md b/docs/models/createoutputsystembypacktypeamazonmanagedprometheus.md new file mode 100644 index 000000000..d8b4039d2 --- /dev/null +++ b/docs/models/createoutputsystembypacktypeamazonmanagedprometheus.md @@ -0,0 +1,16 @@ +# CreateOutputSystemByPackTypeAmazonManagedPrometheus + +## Example Usage + +```python +from cribl_control_plane.models import CreateOutputSystemByPackTypeAmazonManagedPrometheus + +value = CreateOutputSystemByPackTypeAmazonManagedPrometheus.AMAZON_MANAGED_PROMETHEUS +``` + + +## Values + +| Name | Value | +| --------------------------- | --------------------------- | +| `AMAZON_MANAGED_PROMETHEUS` | amazon_managed_prometheus | \ No newline at end of file diff --git a/docs/models/createoutputsystembypacktypecustomermetricsstorage.md b/docs/models/createoutputsystembypacktypecustomermetricsstorage.md new file mode 100644 index 000000000..9d045eee0 --- /dev/null +++ b/docs/models/createoutputsystembypacktypecustomermetricsstorage.md @@ -0,0 +1,16 @@ +# CreateOutputSystemByPackTypeCustomerMetricsStorage + +## Example Usage + +```python +from cribl_control_plane.models import CreateOutputSystemByPackTypeCustomerMetricsStorage + +value = CreateOutputSystemByPackTypeCustomerMetricsStorage.CUSTOMER_METRICS_STORAGE +``` + + +## Values + +| Name | Value | +| -------------------------- | -------------------------- | +| `CUSTOMER_METRICS_STORAGE` | customer_metrics_storage | \ No newline at end of file diff --git a/docs/models/createoutputsystembypacktypegooglebigquery.md b/docs/models/createoutputsystembypacktypegooglebigquery.md new file mode 100644 index 000000000..296759c86 --- /dev/null +++ b/docs/models/createoutputsystembypacktypegooglebigquery.md @@ -0,0 +1,16 @@ +# CreateOutputSystemByPackTypeGoogleBigquery + +## Example Usage + +```python +from cribl_control_plane.models import CreateOutputSystemByPackTypeGoogleBigquery + +value = CreateOutputSystemByPackTypeGoogleBigquery.GOOGLE_BIGQUERY +``` + + +## Values + +| Name | Value | +| ----------------- | ----------------- | +| `GOOGLE_BIGQUERY` | google_bigquery | \ No newline at end of file diff --git a/docs/models/createoutputsystembypacktypegooglecloudobservability.md b/docs/models/createoutputsystembypacktypegooglecloudobservability.md new file mode 100644 index 000000000..c78590a94 --- /dev/null +++ b/docs/models/createoutputsystembypacktypegooglecloudobservability.md @@ -0,0 +1,16 @@ +# CreateOutputSystemByPackTypeGoogleCloudObservability + +## Example Usage + +```python +from cribl_control_plane.models import CreateOutputSystemByPackTypeGoogleCloudObservability + +value = CreateOutputSystemByPackTypeGoogleCloudObservability.GOOGLE_CLOUD_OBSERVABILITY +``` + + +## Values + +| Name | Value | +| ---------------------------- | ---------------------------- | +| `GOOGLE_CLOUD_OBSERVABILITY` | google_cloud_observability | \ No newline at end of file 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/createoutputtypeamazonmanagedprometheus.md b/docs/models/createoutputtypeamazonmanagedprometheus.md new file mode 100644 index 000000000..4859c0132 --- /dev/null +++ b/docs/models/createoutputtypeamazonmanagedprometheus.md @@ -0,0 +1,16 @@ +# CreateOutputTypeAmazonManagedPrometheus + +## Example Usage + +```python +from cribl_control_plane.models import CreateOutputTypeAmazonManagedPrometheus + +value = CreateOutputTypeAmazonManagedPrometheus.AMAZON_MANAGED_PROMETHEUS +``` + + +## Values + +| Name | Value | +| --------------------------- | --------------------------- | +| `AMAZON_MANAGED_PROMETHEUS` | amazon_managed_prometheus | \ No newline at end of file diff --git a/docs/models/createoutputtypecustomermetricsstorage.md b/docs/models/createoutputtypecustomermetricsstorage.md new file mode 100644 index 000000000..b8ff8e9b3 --- /dev/null +++ b/docs/models/createoutputtypecustomermetricsstorage.md @@ -0,0 +1,16 @@ +# CreateOutputTypeCustomerMetricsStorage + +## Example Usage + +```python +from cribl_control_plane.models import CreateOutputTypeCustomerMetricsStorage + +value = CreateOutputTypeCustomerMetricsStorage.CUSTOMER_METRICS_STORAGE +``` + + +## Values + +| Name | Value | +| -------------------------- | -------------------------- | +| `CUSTOMER_METRICS_STORAGE` | customer_metrics_storage | \ No newline at end of file diff --git a/docs/models/createoutputtypegooglebigquery.md b/docs/models/createoutputtypegooglebigquery.md new file mode 100644 index 000000000..02291817b --- /dev/null +++ b/docs/models/createoutputtypegooglebigquery.md @@ -0,0 +1,16 @@ +# CreateOutputTypeGoogleBigquery + +## Example Usage + +```python +from cribl_control_plane.models import CreateOutputTypeGoogleBigquery + +value = CreateOutputTypeGoogleBigquery.GOOGLE_BIGQUERY +``` + + +## Values + +| Name | Value | +| ----------------- | ----------------- | +| `GOOGLE_BIGQUERY` | google_bigquery | \ No newline at end of file diff --git a/docs/models/createoutputtypegooglecloudobservability.md b/docs/models/createoutputtypegooglecloudobservability.md new file mode 100644 index 000000000..309f31b31 --- /dev/null +++ b/docs/models/createoutputtypegooglecloudobservability.md @@ -0,0 +1,16 @@ +# CreateOutputTypeGoogleCloudObservability + +## Example Usage + +```python +from cribl_control_plane.models import CreateOutputTypeGoogleCloudObservability + +value = CreateOutputTypeGoogleCloudObservability.GOOGLE_CLOUD_OBSERVABILITY +``` + + +## Values + +| Name | Value | +| ---------------------------- | ---------------------------- | +| `GOOGLE_CLOUD_OBSERVABILITY` | google_cloud_observability | \ 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/createconfiggroupbyproductrequest.md b/docs/models/createproductsgroupsbyproductrequest.md similarity index 97% rename from docs/models/createconfiggroupbyproductrequest.md rename to docs/models/createproductsgroupsbyproductrequest.md index ccd885cb1..a2f386b49 100644 --- a/docs/models/createconfiggroupbyproductrequest.md +++ b/docs/models/createproductsgroupsbyproductrequest.md @@ -1,4 +1,4 @@ -# CreateConfigGroupByProductRequest +# CreateProductsGroupsByProductRequest ## Fields diff --git a/docs/models/cribllakedataset.md b/docs/models/cribllakedataset.md index e2d3229d5..14c480c46 100644 --- a/docs/models/cribllakedataset.md +++ b/docs/models/cribllakedataset.md @@ -11,11 +11,11 @@ | `deletion_started_at` | *Optional[float]* | :heavy_minus_sign: | Timestamp (in Unix time) when Dataset deletion was initiated, in milliseconds. | | `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Dataset. | | `format_` | [Optional[models.FormatOptionsCriblLakeDataset]](../models/formatoptionscribllakedataset.md) | :heavy_minus_sign: | Storage format used for data persisted in the Dataset. | -| `http_da_used` | *Optional[bool]* | :heavy_minus_sign: | If true, the Dataset is used by Direct Access HTTP. | +| `http_da_used` | *Optional[bool]* | :heavy_minus_sign: | If true, the Dataset is used by Direct Access HTTP. Otherwise, false. | | `id` | *str* | :heavy_check_mark: | Unique identifier for the Dataset. | | `metrics` | [Optional[models.LakeDatasetMetrics]](../models/lakedatasetmetrics.md) | :heavy_minus_sign: | N/A | | `retention_period_in_days` | *Optional[int]* | :heavy_minus_sign: | Dataset retention period, in days. | | `search_config` | [Optional[models.LakeDatasetSearchConfig]](../models/lakedatasetsearchconfig.md) | :heavy_minus_sign: | N/A | | `storage_class` | [Optional[models.StorageClassOptionsCriblLakeDataset]](../models/storageclassoptionscribllakedataset.md) | :heavy_minus_sign: | Storage class used for objects written to the Dataset. | -| `storage_location_id` | *Optional[str]* | :heavy_minus_sign: | Identifier for the Storage Location that backs the Dataset. Mutually exclusive with bucketName. | +| `storage_location_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for the Storage Location that backs the Dataset. Mutually exclusive with bucketName. | | `view_name` | *Optional[str]* | :heavy_minus_sign: | Name of the ClickHouse view for the Dataset on the Lakehouse. | \ No newline at end of file diff --git a/docs/models/cribllakedatasetupdate.md b/docs/models/cribllakedatasetupdate.md index d80fb3db4..2d2611c06 100644 --- a/docs/models/cribllakedatasetupdate.md +++ b/docs/models/cribllakedatasetupdate.md @@ -11,11 +11,11 @@ | `deletion_started_at` | *Optional[float]* | :heavy_minus_sign: | Timestamp (in Unix time) when Dataset deletion was initiated, in milliseconds. | | `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Dataset. | | `format_` | [Optional[models.FormatOptionsCriblLakeDataset]](../models/formatoptionscribllakedataset.md) | :heavy_minus_sign: | Storage format used for data persisted in the Dataset. | -| `http_da_used` | *Optional[bool]* | :heavy_minus_sign: | If true, the Dataset is used by Direct Access HTTP. | -| `id` | *Optional[str]* | :heavy_minus_sign: | Dataset identifier. Optional; the path parameter id is authoritative. | +| `http_da_used` | *Optional[bool]* | :heavy_minus_sign: | If true, the Dataset is used by Direct Access HTTP. Otherwise, false. | +| `id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for the Dataset. Optional; the path parameter id is authoritative. | | `metrics` | [Optional[models.LakeDatasetMetrics]](../models/lakedatasetmetrics.md) | :heavy_minus_sign: | N/A | | `retention_period_in_days` | *Optional[int]* | :heavy_minus_sign: | Dataset retention period, in days. | | `search_config` | [Optional[models.LakeDatasetSearchConfig]](../models/lakedatasetsearchconfig.md) | :heavy_minus_sign: | N/A | | `storage_class` | [Optional[models.StorageClassOptionsCriblLakeDataset]](../models/storageclassoptionscribllakedataset.md) | :heavy_minus_sign: | Storage class used for objects written to the Dataset. | -| `storage_location_id` | *Optional[str]* | :heavy_minus_sign: | Identifier for the Storage Location that backs the Dataset. Mutually exclusive with bucketName. | +| `storage_location_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for the Storage Location that backs the Dataset. Mutually exclusive with bucketName. | | `view_name` | *Optional[str]* | :heavy_minus_sign: | Name of the ClickHouse view for the Dataset on the Lakehouse. | \ No newline at end of file diff --git a/docs/models/currentbranchresult.md b/docs/models/currentbranchresult.md index 2d594b11f..cc45dad05 100644 --- a/docs/models/currentbranchresult.md +++ b/docs/models/currentbranchresult.md @@ -3,6 +3,6 @@ ## Fields -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `branch` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | +| `branch` | *str* | :heavy_check_mark: | Name of the Git branch that the Cribl configuration is currently checked out to. | \ No newline at end of file diff --git a/docs/models/customlogotypesystemsettingsconf.md b/docs/models/customlogotypesystemsettingsconf.md index b7d638675..42bde5da9 100644 --- a/docs/models/customlogotypesystemsettingsconf.md +++ b/docs/models/customlogotypesystemsettingsconf.md @@ -1,10 +1,12 @@ # CustomLogoTypeSystemSettingsConf +Custom logo configuration for the Cribl UI login page and navigation bar. + ## Fields -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `enabled` | *bool* | :heavy_check_mark: | N/A | -| `logo_description` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `logo_image` | *Optional[str]* | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `enabled` | *bool* | :heavy_check_mark: | If true, display the custom logo in the UI. Otherwise, false. | +| `logo_description` | *Optional[str]* | :heavy_minus_sign: | Description text displayed alongside the custom logo. | +| `logo_image` | *Optional[str]* | :heavy_minus_sign: | Custom logo image as a base64-encoded data URI (PNG or JPEG, maximum 2 MB). | \ No newline at end of file diff --git a/docs/models/databaseconnectionauthtype.md b/docs/models/databaseconnectionauthtype.md new file mode 100644 index 000000000..6df267bd8 --- /dev/null +++ b/docs/models/databaseconnectionauthtype.md @@ -0,0 +1,21 @@ +# DatabaseConnectionAuthType + +## Example Usage + +```python +from cribl_control_plane.models import DatabaseConnectionAuthType + +value = DatabaseConnectionAuthType.CONFIG_OBJ + +# Open enum: unrecognized values are captured as UnrecognizedStr +``` + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `CONFIG_OBJ` | configObj | +| `CONNECTION_STRING` | connectionString | +| `SECRET` | secret | +| `SECRETS` | secrets | \ No newline at end of file diff --git a/docs/models/databaseconnectionconfig.md b/docs/models/databaseconnectionconfig.md index 7e679d2e0..da4e1adf8 100644 --- a/docs/models/databaseconnectionconfig.md +++ b/docs/models/databaseconnectionconfig.md @@ -3,18 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -| `auth_type` | *str* | :heavy_check_mark: | N/A | -| `config_obj` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `connection_string` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `connection_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `creds_secrets` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `database_type` | [models.DatabaseConnectionType](../models/databaseconnectiontype.md) | :heavy_check_mark: | N/A | -| `description` | *str* | :heavy_check_mark: | N/A | -| `id` | *str* | :heavy_check_mark: | N/A | -| `password` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `request_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `tags` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `text_secret` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `user` | *Optional[str]* | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `auth_type` | [models.DatabaseConnectionAuthType](../models/databaseconnectionauthtype.md) | :heavy_check_mark: | N/A | | +| `config_obj` | *Optional[str]* | :heavy_minus_sign: | JSON configuration object for advanced SQL Server connection settings. | {
"server": "sqlserver.example.com",
"database": "Reporting",
"user": "yourUsername",
"password": "yourPassword",
"options": {
"trustServerCertificate": false,
"connectTimeout": 20000
}
} | +| `connection_string` | *Optional[str]* | :heavy_minus_sign: | Database connection string with embedded credentials or server information. | mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true | +| `connection_timeout` | *Optional[int]* | :heavy_minus_sign: | Maximum time (in milliseconds) to wait when establishing the database connection. | 10000 | +| `creds_secrets` | *Optional[str]* | :heavy_minus_sign: | Name of the stored credentials secret containing username and password. Used with Oracle connections. | oracle-production-credentials | +| `database_type` | [models.DatabaseConnectionType](../models/databaseconnectiontype.md) | :heavy_check_mark: | N/A | | +| `description` | *str* | :heavy_check_mark: | Brief description of the Database Connection. | Production MySQL database for customer data | +| `id` | *str* | :heavy_check_mark: | Unique identifier for the Database Connection. | mysql-prod-db | +| `password` | *Optional[str]* | :heavy_minus_sign: | Database password for authentication. Used with Oracle connections. | yourPassword | +| `request_timeout` | *Optional[int]* | :heavy_minus_sign: | Maximum time (in milliseconds) to wait for a database query to complete. Applies to SQL Server connections only. | 30000 | +| `tags` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of tags for categorizing and filtering Database Connections. | production,mysql,customer-data | +| `text_secret` | *Optional[str]* | :heavy_minus_sign: | Name of the stored text secret containing the connection string. | mysql-production-connection | +| `tls` | [Optional[models.TLSClientParams]](../models/tlsclientparams.md) | :heavy_minus_sign: | TLS client connection settings. | | +| `user` | *Optional[str]* | :heavy_minus_sign: | Database username for authentication. Used with Oracle connections. | yourUsername | \ No newline at end of file diff --git a/docs/models/counteddatabaseconnectionconfig.md b/docs/models/databaseconnectionresponseenvelope.md similarity index 50% rename from docs/models/counteddatabaseconnectionconfig.md rename to docs/models/databaseconnectionresponseenvelope.md index 0be6a8734..b05fc277d 100644 --- a/docs/models/counteddatabaseconnectionconfig.md +++ b/docs/models/databaseconnectionresponseenvelope.md @@ -1,9 +1,9 @@ -# CountedDatabaseConnectionConfig +# DatabaseConnectionResponseEnvelope ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | -| `count` | *Optional[int]* | :heavy_minus_sign: | number of items present in the items array | -| `items` | List[[models.DatabaseConnectionConfig](../models/databaseconnectionconfig.md)] | :heavy_minus_sign: | List of items in this response. | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | +| `count` | *int* | :heavy_check_mark: | Number of Database Connections returned in the response envelope. | 1 | +| `items` | List[[models.DatabaseConnectionConfig](../models/databaseconnectionconfig.md)] | :heavy_check_mark: | Database Connections returned in the response envelope. | | \ No newline at end of file diff --git a/docs/models/datasetmetadata.md b/docs/models/datasetmetadata.md index a6d1e2c4d..dfc1f25e9 100644 --- a/docs/models/datasetmetadata.md +++ b/docs/models/datasetmetadata.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | Example | | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | | `earliest` | *str* | :heavy_check_mark: | Rolling time window that defines how far back acceleration scans. | -30d | -| `enable_acceleration` | *bool* | :heavy_check_mark: | If true, the system automatically backfills and refreshes Dataset metadata. | | +| `enable_acceleration` | *bool* | :heavy_check_mark: | If true, the system automatically backfills and refreshes Dataset metadata. Otherwise, false. | | | `field_list` | List[*str*] | :heavy_check_mark: | Fields for which acceleration gathers statistics. Required when scan mode is detailed. | | | `latest_run_info` | [Optional[models.DatasetMetadataRunInfo]](../models/datasetmetadataruninfo.md) | :heavy_minus_sign: | N/A | | | `scan_mode` | [models.ScanMode](../models/scanmode.md) | :heavy_check_mark: | Acceleration scan mode. quick collects object-level metadata; detailed also collects field-level statistics. | | \ 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/deleteconfiggroupbyproductandidrequest.md b/docs/models/deleteproductsgroupsbyproductandidrequest.md similarity index 97% rename from docs/models/deleteconfiggroupbyproductandidrequest.md rename to docs/models/deleteproductsgroupsbyproductandidrequest.md index a1e61e16d..98802e1d0 100644 --- a/docs/models/deleteconfiggroupbyproductandidrequest.md +++ b/docs/models/deleteproductsgroupsbyproductandidrequest.md @@ -1,4 +1,4 @@ -# DeleteConfigGroupByProductAndIDRequest +# DeleteProductsGroupsByProductAndIDRequest ## Fields diff --git a/docs/models/destinationtype.md b/docs/models/destinationtype.md index 47860aaee..3bd2f8b75 100644 --- a/docs/models/destinationtype.md +++ b/docs/models/destinationtype.md @@ -13,83 +13,88 @@ value = DestinationType.DEFAULT ## Values -| Name | Value | -| --------------------------- | --------------------------- | -| `DEFAULT` | default | -| `ROUTER` | router | -| `TCPJSON` | tcpjson | -| `SPLUNK` | splunk | -| `SPLUNK_LB` | splunk_lb | -| `SPLUNK_HEC` | splunk_hec | -| `SYSLOG` | syslog | -| `FILESYSTEM` | filesystem | -| `S3` | s3 | -| `AZURE_BLOB` | azure_blob | -| `AZURE_DATA_EXPLORER` | azure_data_explorer | -| `SENTINEL` | sentinel | -| `AZURE_LOGS` | azure_logs | -| `KAFKA` | kafka | -| `CONFLUENT_CLOUD` | confluent_cloud | -| `MSK` | msk | -| `KINESIS` | kinesis | -| `ELASTIC` | elastic | -| `ELASTIC_CLOUD` | elastic_cloud | -| `MICROSOFT_FABRIC` | microsoft_fabric | -| `CLOUDFLARE_R2` | cloudflare_r2 | -| `HONEYCOMB` | honeycomb | -| `NEWRELIC` | newrelic | -| `NEWRELIC_EVENTS` | newrelic_events | -| `SNMP` | snmp | -| `INFLUXDB` | influxdb | -| `MINIO` | minio | -| `DEVNULL` | devnull | -| `CLOUDWATCH` | cloudwatch | -| `AZURE_EVENTHUB` | azure_eventhub | -| `STATSD` | statsd | -| `STATSD_EXT` | statsd_ext | -| `GRAPHITE` | graphite | -| `WAVEFRONT` | wavefront | -| `SIGNALFX` | signalfx | -| `SQS` | sqs | -| `GOOGLE_CLOUD_STORAGE` | google_cloud_storage | -| `SUMO_LOGIC` | sumo_logic | -| `DATADOG` | datadog | -| `WEBHOOK` | webhook | -| `PROMETHEUS` | prometheus | -| `GOOGLE_PUBSUB` | google_pubsub | -| `GOOGLE_CHRONICLE` | google_chronicle | -| `CHRONICLE` | chronicle | -| `GRAFANA_CLOUD` | grafana_cloud | -| `LOKI` | loki | -| `OPEN_TELEMETRY` | open_telemetry | -| `SERVICE_NOW` | service_now | -| `DYNATRACE_OTLP` | dynatrace_otlp | -| `SENTINEL_ONE_AI_SIEM` | sentinel_one_ai_siem | -| `DATASET` | dataset | -| `RING` | ring | -| `HUMIO_HEC` | humio_hec | -| `CROWDSTRIKE_NEXT_GEN_SIEM` | crowdstrike_next_gen_siem | -| `CRIBL_HTTP` | cribl_http | -| `CRIBL_TCP` | cribl_tcp | -| `CRIBL_SEARCH_ENGINE` | cribl_search_engine | -| `GOOGLE_CLOUD_LOGGING` | google_cloud_logging | -| `SNS` | sns | -| `DL_S3` | dl_s3 | -| `SECURITY_LAKE` | security_lake | -| `CRIBL_LAKE` | cribl_lake | -| `EXABEAM` | exabeam | -| `DISK_SPOOL` | disk_spool | -| `CLICK_HOUSE` | click_house | -| `LOCAL_SEARCH_STORAGE` | local_search_storage | -| `XSIAM` | xsiam | -| `NETFLOW` | netflow | -| `DYNATRACE_HTTP` | dynatrace_http | -| `DATABRICKS` | databricks | -| `WIZ_HEC` | wiz_hec | -| `NUTANIX_OBJECTS` | nutanix_objects | -| `STORJ_S3` | storj_s3 | -| `ALPHASOC_S3` | alphasoc_s3 | -| `DELL_S3` | dell_s3 | -| `CLOUDIAN_S3` | cloudian_s3 | -| `SCALITY_S3` | scality_s3 | -| `ALIBABA_CLOUD_S3` | alibaba_cloud_s3 | \ No newline at end of file +| Name | Value | +| ---------------------------- | ---------------------------- | +| `DEFAULT` | default | +| `ROUTER` | router | +| `TCPJSON` | tcpjson | +| `SPLUNK` | splunk | +| `SPLUNK_LB` | splunk_lb | +| `SPLUNK_HEC` | splunk_hec | +| `SYSLOG` | syslog | +| `FILESYSTEM` | filesystem | +| `S3` | s3 | +| `AZURE_BLOB` | azure_blob | +| `AZURE_DATA_EXPLORER` | azure_data_explorer | +| `SENTINEL` | sentinel | +| `AZURE_LOGS` | azure_logs | +| `KAFKA` | kafka | +| `CONFLUENT_CLOUD` | confluent_cloud | +| `MSK` | msk | +| `KINESIS` | kinesis | +| `ELASTIC` | elastic | +| `ELASTIC_CLOUD` | elastic_cloud | +| `MICROSOFT_FABRIC` | microsoft_fabric | +| `CLOUDFLARE_R2` | cloudflare_r2 | +| `HONEYCOMB` | honeycomb | +| `NEWRELIC` | newrelic | +| `NEWRELIC_EVENTS` | newrelic_events | +| `SNMP` | snmp | +| `INFLUXDB` | influxdb | +| `MINIO` | minio | +| `DEVNULL` | devnull | +| `CLOUDWATCH` | cloudwatch | +| `AZURE_EVENTHUB` | azure_eventhub | +| `STATSD` | statsd | +| `STATSD_EXT` | statsd_ext | +| `GRAPHITE` | graphite | +| `WAVEFRONT` | wavefront | +| `SIGNALFX` | signalfx | +| `SQS` | sqs | +| `GOOGLE_CLOUD_STORAGE` | google_cloud_storage | +| `SUMO_LOGIC` | sumo_logic | +| `DATADOG` | datadog | +| `WEBHOOK` | webhook | +| `PROMETHEUS` | prometheus | +| `AMAZON_MANAGED_PROMETHEUS` | amazon_managed_prometheus | +| `GOOGLE_PUBSUB` | google_pubsub | +| `GOOGLE_CHRONICLE` | google_chronicle | +| `CHRONICLE` | chronicle | +| `GOOGLE_CLOUD_OBSERVABILITY` | google_cloud_observability | +| `GOOGLE_BIGQUERY` | google_bigquery | +| `GRAFANA_CLOUD` | grafana_cloud | +| `LOKI` | loki | +| `OPEN_TELEMETRY` | open_telemetry | +| `SERVICE_NOW` | service_now | +| `DYNATRACE_OTLP` | dynatrace_otlp | +| `SENTINEL_ONE_AI_SIEM` | sentinel_one_ai_siem | +| `DATASET` | dataset | +| `RING` | ring | +| `HUMIO_HEC` | humio_hec | +| `CROWDSTRIKE_NEXT_GEN_SIEM` | crowdstrike_next_gen_siem | +| `CRIBL_HTTP` | cribl_http | +| `CRIBL_TCP` | cribl_tcp | +| `CRIBL_SEARCH_ENGINE` | cribl_search_engine | +| `GOOGLE_CLOUD_LOGGING` | google_cloud_logging | +| `SNS` | sns | +| `DL_S3` | dl_s3 | +| `SECURITY_LAKE` | security_lake | +| `CRIBL_LAKE` | cribl_lake | +| `EXABEAM` | exabeam | +| `DISK_SPOOL` | disk_spool | +| `CLICK_HOUSE` | click_house | +| `CUSTOMER_METRICS_STORAGE` | customer_metrics_storage | +| `LOCAL_SEARCH_STORAGE` | local_search_storage | +| `XSIAM` | xsiam | +| `NETFLOW` | netflow | +| `DYNATRACE_HTTP` | dynatrace_http | +| `DATABRICKS` | databricks | +| `WIZ_HEC` | wiz_hec | +| `NUTANIX_OBJECTS` | nutanix_objects | +| `STORJ_S3` | storj_s3 | +| `ALPHASOC_S3` | alphasoc_s3 | +| `DELL_S3` | dell_s3 | +| `CLOUDIAN_S3` | cloudian_s3 | +| `SCALITY_S3` | scality_s3 | +| `ALIBABA_CLOUD_S3` | alibaba_cloud_s3 | +| `IBM_CLOUD_S3` | ibm_cloud_s3 | \ No newline at end of file diff --git a/docs/models/difffiles.md b/docs/models/difffiles.md index 31a3ff4e1..c61351a1b 100644 --- a/docs/models/difffiles.md +++ b/docs/models/difffiles.md @@ -3,28 +3,28 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | -| `added_lines` | *float* | :heavy_check_mark: | N/A | -| `blocks` | List[[models.Block](../models/block.md)] | :heavy_check_mark: | N/A | -| `changed_percentage` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `checksum_after` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `checksum_before` | [Optional[models.ScalarOrArray]](../models/scalarorarray.md) | :heavy_minus_sign: | N/A | -| `deleted_file_mode` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `deleted_lines` | *float* | :heavy_check_mark: | N/A | -| `is_binary` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `is_combined` | *bool* | :heavy_check_mark: | N/A | -| `is_copy` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `is_deleted` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `is_git_diff` | *bool* | :heavy_check_mark: | N/A | -| `is_new` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `is_rename` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `is_too_big` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `language` | *str* | :heavy_check_mark: | N/A | -| `mode` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `new_file_mode` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `new_mode` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `new_name` | *str* | :heavy_check_mark: | N/A | -| `old_mode` | [Optional[models.ScalarOrArray]](../models/scalarorarray.md) | :heavy_minus_sign: | N/A | -| `old_name` | *str* | :heavy_check_mark: | N/A | -| `unchanged_percentage` | *Optional[float]* | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | +| `added_lines` | *int* | :heavy_check_mark: | Number of lines added in this file. | | +| `blocks` | List[[models.Block](../models/block.md)] | :heavy_check_mark: | Array of diff blocks (hunks) showing changed line ranges in this file. | | +| `changed_percentage` | *Optional[float]* | :heavy_minus_sign: | Percentage of lines in the file that changed. | | +| `checksum_after` | *Optional[str]* | :heavy_minus_sign: | Checksum of the new file. | | +| `checksum_before` | [Optional[models.ChecksumBefore]](../models/checksumbefore.md) | :heavy_minus_sign: | Checksum of the original file. May be an array for combined diffs. | | +| `deleted_file_mode` | *Optional[str]* | :heavy_minus_sign: | File mode of the deleted file, present when the file was deleted. | | +| `deleted_lines` | *int* | :heavy_check_mark: | Number of lines deleted in this file. | | +| `is_binary` | *Optional[bool]* | :heavy_minus_sign: | If true, this file is a binary file and the diff content is not shown. Otherwise, false. | | +| `is_combined` | *bool* | :heavy_check_mark: | If true, this is a combined diff (merge commit). Otherwise, false. | | +| `is_copy` | *Optional[bool]* | :heavy_minus_sign: | If true, this file was copied from another path. Otherwise, false. | | +| `is_deleted` | *Optional[bool]* | :heavy_minus_sign: | If true, this file was deleted in the commit. Otherwise, false. | | +| `is_git_diff` | *bool* | :heavy_check_mark: | If true, this diff was generated by Git. Otherwise, false. | | +| `is_new` | *Optional[bool]* | :heavy_minus_sign: | If true, this file was added in the commit. Otherwise, false. | | +| `is_rename` | *Optional[bool]* | :heavy_minus_sign: | If true, this file was renamed. Otherwise, false. | | +| `is_too_big` | *Optional[bool]* | :heavy_minus_sign: | If true, the diff was truncated because it exceeded the line limit. Otherwise, false. | | +| `language` | *str* | :heavy_check_mark: | Programming language or file format detected for syntax highlighting. | | +| `mode` | *Optional[str]* | :heavy_minus_sign: | Combined file mode when both old and new modes are the same. | | +| `new_file_mode` | *Optional[str]* | :heavy_minus_sign: | File mode of the new file, present when the file was added. | | +| `new_mode` | *Optional[str]* | :heavy_minus_sign: | File mode of the new file. | 100644 | +| `new_name` | *str* | :heavy_check_mark: | New file path after the change. | | +| `old_mode` | [Optional[models.OldMode]](../models/oldmode.md) | :heavy_minus_sign: | File mode of the original file. May be an array for combined diffs. | 100644 | +| `old_name` | *str* | :heavy_check_mark: | Original file path before the change. | | +| `unchanged_percentage` | *Optional[float]* | :heavy_minus_sign: | Percentage of lines in the file that are unchanged. | | \ No newline at end of file diff --git a/docs/models/difflinecontext.md b/docs/models/difflinecontext.md index 94478367a..9e1cc260e 100644 --- a/docs/models/difflinecontext.md +++ b/docs/models/difflinecontext.md @@ -1,11 +1,13 @@ # DiffLineContext +Unchanged context line in a Git diff hunk. + ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -| `type` | [models.DiffLineContextType](../models/difflinecontexttype.md) | :heavy_check_mark: | N/A | -| `new_number` | *float* | :heavy_check_mark: | N/A | -| `old_number` | *float* | :heavy_check_mark: | N/A | -| `content` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | +| `type` | [models.DiffLineContextType](../models/difflinecontexttype.md) | :heavy_check_mark: | Line change type. Always context for unchanged lines. | +| `new_number` | *int* | :heavy_check_mark: | Line number in the new file. | +| `old_number` | *int* | :heavy_check_mark: | Line number in the original file. | +| `content` | *str* | :heavy_check_mark: | Full content of the line, including the diff prefix character. | \ No newline at end of file diff --git a/docs/models/difflinecontexttype.md b/docs/models/difflinecontexttype.md index 1dcdcbd86..06d303866 100644 --- a/docs/models/difflinecontexttype.md +++ b/docs/models/difflinecontexttype.md @@ -1,5 +1,7 @@ # DiffLineContextType +Line change type. Always context for unchanged lines. + ## Example Usage ```python diff --git a/docs/models/difflinedelete.md b/docs/models/difflinedelete.md index e1f5b73b2..2438d2872 100644 --- a/docs/models/difflinedelete.md +++ b/docs/models/difflinedelete.md @@ -1,10 +1,12 @@ # DiffLineDelete +Deleted line in a Git diff hunk. + ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | -| `type` | [models.DiffLineDeleteType](../models/difflinedeletetype.md) | :heavy_check_mark: | N/A | -| `old_number` | *float* | :heavy_check_mark: | N/A | -| `content` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | +| `type` | [models.DiffLineDeleteType](../models/difflinedeletetype.md) | :heavy_check_mark: | Line change type. Always delete for deleted lines. | +| `old_number` | *int* | :heavy_check_mark: | Line number in the original file. | +| `content` | *str* | :heavy_check_mark: | Full content of the line, including the diff prefix character. | \ No newline at end of file diff --git a/docs/models/difflinedeletetype.md b/docs/models/difflinedeletetype.md index caf44776d..81e84e4c9 100644 --- a/docs/models/difflinedeletetype.md +++ b/docs/models/difflinedeletetype.md @@ -1,5 +1,7 @@ # DiffLineDeleteType +Line change type. Always delete for deleted lines. + ## Example Usage ```python diff --git a/docs/models/difflineinsert.md b/docs/models/difflineinsert.md index 5e89c81b5..70229e8a2 100644 --- a/docs/models/difflineinsert.md +++ b/docs/models/difflineinsert.md @@ -1,10 +1,12 @@ # DiffLineInsert +Inserted line in a Git diff hunk. + ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | -| `type` | [models.DiffLineInsertType](../models/difflineinserttype.md) | :heavy_check_mark: | N/A | -| `new_number` | *float* | :heavy_check_mark: | N/A | -| `content` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | +| `type` | [models.DiffLineInsertType](../models/difflineinserttype.md) | :heavy_check_mark: | Line change type. Always insert for inserted lines. | +| `new_number` | *int* | :heavy_check_mark: | Line number in the new file. | +| `content` | *str* | :heavy_check_mark: | Full content of the line, including the diff prefix character. | \ No newline at end of file diff --git a/docs/models/difflineinserttype.md b/docs/models/difflineinserttype.md index 5b0f8366a..d89fdf600 100644 --- a/docs/models/difflineinserttype.md +++ b/docs/models/difflineinserttype.md @@ -1,5 +1,7 @@ # DiffLineInsertType +Line change type. Always insert for inserted lines. + ## Example Usage ```python diff --git a/docs/models/distinctconfiguration.md b/docs/models/distinctconfiguration.md index c27d5ea23..cbcf3882b 100644 --- a/docs/models/distinctconfiguration.md +++ b/docs/models/distinctconfiguration.md @@ -1,5 +1,7 @@ # DistinctConfiguration +Configuration specific to the Pipeline Function. + ## Fields diff --git a/docs/models/distributedsummary.md b/docs/models/distributedsummary.md index 3e5c643eb..892b1eb70 100644 --- a/docs/models/distributedsummary.md +++ b/docs/models/distributedsummary.md @@ -5,7 +5,7 @@ Summary of the deployment for the specified Cribl product (Stream or Edge). ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | -| `groups` | [models.DistributedSummaryGroups](../models/distributedsummarygroups.md) | :heavy_check_mark: | N/A | -| `workers` | [Optional[models.DistributedSummaryWorkers]](../models/distributedsummaryworkers.md) | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | +| `groups` | [models.DistributedSummaryGroups](../models/distributedsummarygroups.md) | :heavy_check_mark: | Resource counts for Worker Groups or Edge Fleets in the deployment summary. | +| `workers` | [Optional[models.Workers]](../models/workers.md) | :heavy_minus_sign: | Worker or Edge Node counts and health statistics in the deployment summary. | \ No newline at end of file diff --git a/docs/models/distributedsummarygroups.md b/docs/models/distributedsummarygroups.md index 56d3485bb..bda6c9ddb 100644 --- a/docs/models/distributedsummarygroups.md +++ b/docs/models/distributedsummarygroups.md @@ -1,5 +1,7 @@ # DistributedSummaryGroups +Resource counts for Worker Groups or Edge Fleets in the deployment summary. + ## Fields diff --git a/docs/models/emailrecipient1.md b/docs/models/emailrecipient1.md index 2dd121f41..b7ee0aee9 100644 --- a/docs/models/emailrecipient1.md +++ b/docs/models/emailrecipient1.md @@ -1,5 +1,7 @@ # EmailRecipient1 +Email recipient settings for the Notification target. + ## Fields diff --git a/docs/models/emailrecipient2.md b/docs/models/emailrecipient2.md index 0050a17be..a4ebd4cf5 100644 --- a/docs/models/emailrecipient2.md +++ b/docs/models/emailrecipient2.md @@ -1,5 +1,7 @@ # EmailRecipient2 +Email recipient settings for the Notification target. + ## Fields diff --git a/docs/models/emailrecipient3.md b/docs/models/emailrecipient3.md index 493c6efac..c46d447aa 100644 --- a/docs/models/emailrecipient3.md +++ b/docs/models/emailrecipient3.md @@ -1,5 +1,7 @@ # EmailRecipient3 +Email recipient settings for the Notification target. + ## Fields 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/eventbreakerexistingornewexisting.md b/docs/models/eventbreakerexistingornewexisting.md index 11f2739af..5127abcf8 100644 --- a/docs/models/eventbreakerexistingornewexisting.md +++ b/docs/models/eventbreakerexistingornewexisting.md @@ -5,8 +5,8 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | -| `existing_or_new` | [models.EventBreakerExistingOrNewExistingExistingOrNew](../models/eventbreakerexistingornewexistingexistingornew.md) | :heavy_check_mark: | N/A | -| `existing_rule` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `existing_or_new` | [models.EventBreakerExistingOrNewExistingExistingOrNew](../models/eventbreakerexistingornewexistingexistingornew.md) | :heavy_check_mark: | Whether to use an existing event breaker ruleset or create a new one inline. | +| `existing_rule` | *Optional[str]* | :heavy_minus_sign: | ID of an existing event breaker ruleset to apply. | | `should_mark_cribl_breaker` | *Optional[bool]* | :heavy_minus_sign: | Add this Function name to the cribl_breaker field | | `rule_type` | [Optional[models.EventBreakerTypeOptionsEventBreakerExistingOrNewNew]](../models/eventbreakertypeoptionseventbreakerexistingornewnew.md) | :heavy_minus_sign: | N/A | | `max_event_bytes` | *Optional[float]* | :heavy_minus_sign: | The maximum number of bytes that an event can be before being flushed to the Pipelines | diff --git a/docs/models/eventbreakerexistingornewexistingexistingornew.md b/docs/models/eventbreakerexistingornewexistingexistingornew.md index 91ad1deb6..3b5922848 100644 --- a/docs/models/eventbreakerexistingornewexistingexistingornew.md +++ b/docs/models/eventbreakerexistingornewexistingexistingornew.md @@ -1,5 +1,7 @@ # EventBreakerExistingOrNewExistingExistingOrNew +Whether to use an existing event breaker ruleset or create a new one inline. + ## Example Usage ```python diff --git a/docs/models/eventbreakerexistingornewnewruletypecsv.md b/docs/models/eventbreakerexistingornewnewruletypecsv.md index aed1ecc7b..b72d3f80b 100644 --- a/docs/models/eventbreakerexistingornewnewruletypecsv.md +++ b/docs/models/eventbreakerexistingornewnewruletypecsv.md @@ -10,7 +10,7 @@ | `quote_char` | *str* | :heavy_check_mark: | Character used to quote literal values | | `escape_char` | *str* | :heavy_check_mark: | Character used to escape the quote character in field values | | `time_field` | *Optional[str]* | :heavy_minus_sign: | Optional timestamp field name in extracted events | -| `existing_or_new` | [models.EventBreakerExistingOrNewNewRuleTypeCsvExistingOrNew](../models/eventbreakerexistingornewnewruletypecsvexistingornew.md) | :heavy_check_mark: | N/A | +| `existing_or_new` | [models.EventBreakerExistingOrNewNewRuleTypeCsvExistingOrNew](../models/eventbreakerexistingornewnewruletypecsvexistingornew.md) | :heavy_check_mark: | Whether to use an existing event breaker ruleset or create a new one inline. | | `max_event_bytes` | *Optional[float]* | :heavy_minus_sign: | The maximum number of bytes that an event can be before being flushed to the Pipelines | | `timestamp_anchor_regex` | *Optional[str]* | :heavy_minus_sign: | Regex to match before attempting timestamp extraction. Use $ (end of string anchor) to not perform extraction. | | `timestamp` | [Optional[models.TimestampFormatTypeEventBreakerExistingOrNewNew]](../models/timestampformattypeeventbreakerexistingornewnew.md) | :heavy_minus_sign: | N/A | @@ -18,4 +18,4 @@ | `timestamp_earliest` | *Optional[str]* | :heavy_minus_sign: | The earliest timestamp value allowed relative to now, such as -42years. Parsed values prior to this date will be set to current time. | | `timestamp_latest` | *Optional[str]* | :heavy_minus_sign: | The latest timestamp value allowed relative to now, such as +42days. Parsed values after this date will be set to current time. | | `should_mark_cribl_breaker` | *Optional[bool]* | :heavy_minus_sign: | Add this Function name to the cribl_breaker field | -| `existing_rule` | *Optional[str]* | :heavy_minus_sign: | N/A | \ No newline at end of file +| `existing_rule` | *Optional[str]* | :heavy_minus_sign: | ID of an existing event breaker ruleset to apply. | \ No newline at end of file diff --git a/docs/models/eventbreakerexistingornewnewruletypecsvexistingornew.md b/docs/models/eventbreakerexistingornewnewruletypecsvexistingornew.md index 2c2696910..0bc034f21 100644 --- a/docs/models/eventbreakerexistingornewnewruletypecsvexistingornew.md +++ b/docs/models/eventbreakerexistingornewnewruletypecsvexistingornew.md @@ -1,5 +1,7 @@ # EventBreakerExistingOrNewNewRuleTypeCsvExistingOrNew +Whether to use an existing event breaker ruleset or create a new one inline. + ## Example Usage ```python diff --git a/docs/models/eventbreakerexistingornewnewruletypeheader.md b/docs/models/eventbreakerexistingornewnewruletypeheader.md index 2b298e70a..57d3dd731 100644 --- a/docs/models/eventbreakerexistingornewnewruletypeheader.md +++ b/docs/models/eventbreakerexistingornewnewruletypeheader.md @@ -11,7 +11,7 @@ | `header_line_regex` | *str* | :heavy_check_mark: | Regex matching a file header line | | `null_field_val` | *Optional[str]* | :heavy_minus_sign: | Representation of a null value. Null fields are not added to events. | | `clean_fields` | *Optional[bool]* | :heavy_minus_sign: | Clean field names by replacing non [a-zA-Z0-9] characters with _ | -| `existing_or_new` | [models.EventBreakerExistingOrNewNewRuleTypeHeaderExistingOrNew](../models/eventbreakerexistingornewnewruletypeheaderexistingornew.md) | :heavy_check_mark: | N/A | +| `existing_or_new` | [models.EventBreakerExistingOrNewNewRuleTypeHeaderExistingOrNew](../models/eventbreakerexistingornewnewruletypeheaderexistingornew.md) | :heavy_check_mark: | Whether to use an existing event breaker ruleset or create a new one inline. | | `max_event_bytes` | *Optional[float]* | :heavy_minus_sign: | The maximum number of bytes that an event can be before being flushed to the Pipelines | | `timestamp_anchor_regex` | *Optional[str]* | :heavy_minus_sign: | Regex to match before attempting timestamp extraction. Use $ (end of string anchor) to not perform extraction. | | `timestamp` | [Optional[models.TimestampFormatTypeEventBreakerExistingOrNewNew]](../models/timestampformattypeeventbreakerexistingornewnew.md) | :heavy_minus_sign: | N/A | @@ -19,4 +19,4 @@ | `timestamp_earliest` | *Optional[str]* | :heavy_minus_sign: | The earliest timestamp value allowed relative to now, such as -42years. Parsed values prior to this date will be set to current time. | | `timestamp_latest` | *Optional[str]* | :heavy_minus_sign: | The latest timestamp value allowed relative to now, such as +42days. Parsed values after this date will be set to current time. | | `should_mark_cribl_breaker` | *Optional[bool]* | :heavy_minus_sign: | Add this Function name to the cribl_breaker field | -| `existing_rule` | *Optional[str]* | :heavy_minus_sign: | N/A | \ No newline at end of file +| `existing_rule` | *Optional[str]* | :heavy_minus_sign: | ID of an existing event breaker ruleset to apply. | \ No newline at end of file diff --git a/docs/models/eventbreakerexistingornewnewruletypeheaderexistingornew.md b/docs/models/eventbreakerexistingornewnewruletypeheaderexistingornew.md index 5a1ebafd8..f84c005ab 100644 --- a/docs/models/eventbreakerexistingornewnewruletypeheaderexistingornew.md +++ b/docs/models/eventbreakerexistingornewnewruletypeheaderexistingornew.md @@ -1,5 +1,7 @@ # EventBreakerExistingOrNewNewRuleTypeHeaderExistingOrNew +Whether to use an existing event breaker ruleset or create a new one inline. + ## Example Usage ```python diff --git a/docs/models/eventbreakerexistingornewnewruletypejson.md b/docs/models/eventbreakerexistingornewnewruletypejson.md index 66f07d7b6..32db1635c 100644 --- a/docs/models/eventbreakerexistingornewnewruletypejson.md +++ b/docs/models/eventbreakerexistingornewnewruletypejson.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | | `rule_type` | [Optional[models.EventBreakerTypeOptionsEventBreakerExistingOrNewNew]](../models/eventbreakertypeoptionseventbreakerexistingornewnew.md) | :heavy_minus_sign: | N/A | -| `existing_or_new` | [models.EventBreakerExistingOrNewNewRuleTypeJSONExistingOrNew](../models/eventbreakerexistingornewnewruletypejsonexistingornew.md) | :heavy_check_mark: | N/A | +| `existing_or_new` | [models.EventBreakerExistingOrNewNewRuleTypeJSONExistingOrNew](../models/eventbreakerexistingornewnewruletypejsonexistingornew.md) | :heavy_check_mark: | Whether to use an existing event breaker ruleset or create a new one inline. | | `max_event_bytes` | *Optional[float]* | :heavy_minus_sign: | The maximum number of bytes that an event can be before being flushed to the Pipelines | | `timestamp_anchor_regex` | *Optional[str]* | :heavy_minus_sign: | Regex to match before attempting timestamp extraction. Use $ (end of string anchor) to not perform extraction. | | `timestamp` | [Optional[models.TimestampFormatTypeEventBreakerExistingOrNewNew]](../models/timestampformattypeeventbreakerexistingornewnew.md) | :heavy_minus_sign: | N/A | @@ -14,4 +14,4 @@ | `timestamp_earliest` | *Optional[str]* | :heavy_minus_sign: | The earliest timestamp value allowed relative to now, such as -42years. Parsed values prior to this date will be set to current time. | | `timestamp_latest` | *Optional[str]* | :heavy_minus_sign: | The latest timestamp value allowed relative to now, such as +42days. Parsed values after this date will be set to current time. | | `should_mark_cribl_breaker` | *Optional[bool]* | :heavy_minus_sign: | Add this Function name to the cribl_breaker field | -| `existing_rule` | *Optional[str]* | :heavy_minus_sign: | N/A | \ No newline at end of file +| `existing_rule` | *Optional[str]* | :heavy_minus_sign: | ID of an existing event breaker ruleset to apply. | \ No newline at end of file diff --git a/docs/models/eventbreakerexistingornewnewruletypejsonarray.md b/docs/models/eventbreakerexistingornewnewruletypejsonarray.md index d8067b49e..3a924cc74 100644 --- a/docs/models/eventbreakerexistingornewnewruletypejsonarray.md +++ b/docs/models/eventbreakerexistingornewnewruletypejsonarray.md @@ -11,7 +11,7 @@ | `json_extract_all` | *Optional[bool]* | :heavy_minus_sign: | Automatically extract fields from JSON events. When disabled, only _raw and _time are defined on extracted events. | | `fields_to_remove` | List[*str*] | :heavy_minus_sign: | List of fields to remove from the output events. Supports * wildcards. Enclose field names containing special characters in single or double quotes. | | `json_time_field` | *Optional[str]* | :heavy_minus_sign: | Optional path to timestamp field in extracted events, such as eventTime or level1.level2.eventTime. | -| `existing_or_new` | [models.EventBreakerExistingOrNewNewRuleTypeJSONArrayExistingOrNew](../models/eventbreakerexistingornewnewruletypejsonarrayexistingornew.md) | :heavy_check_mark: | N/A | +| `existing_or_new` | [models.EventBreakerExistingOrNewNewRuleTypeJSONArrayExistingOrNew](../models/eventbreakerexistingornewnewruletypejsonarrayexistingornew.md) | :heavy_check_mark: | Whether to use an existing event breaker ruleset or create a new one inline. | | `max_event_bytes` | *Optional[float]* | :heavy_minus_sign: | The maximum number of bytes that an event can be before being flushed to the Pipelines | | `timestamp_anchor_regex` | *Optional[str]* | :heavy_minus_sign: | Regex to match before attempting timestamp extraction. Use $ (end of string anchor) to not perform extraction. | | `timestamp` | [Optional[models.TimestampFormatTypeEventBreakerExistingOrNewNew]](../models/timestampformattypeeventbreakerexistingornewnew.md) | :heavy_minus_sign: | N/A | @@ -19,4 +19,4 @@ | `timestamp_earliest` | *Optional[str]* | :heavy_minus_sign: | The earliest timestamp value allowed relative to now, such as -42years. Parsed values prior to this date will be set to current time. | | `timestamp_latest` | *Optional[str]* | :heavy_minus_sign: | The latest timestamp value allowed relative to now, such as +42days. Parsed values after this date will be set to current time. | | `should_mark_cribl_breaker` | *Optional[bool]* | :heavy_minus_sign: | Add this Function name to the cribl_breaker field | -| `existing_rule` | *Optional[str]* | :heavy_minus_sign: | N/A | \ No newline at end of file +| `existing_rule` | *Optional[str]* | :heavy_minus_sign: | ID of an existing event breaker ruleset to apply. | \ No newline at end of file diff --git a/docs/models/eventbreakerexistingornewnewruletypejsonarrayexistingornew.md b/docs/models/eventbreakerexistingornewnewruletypejsonarrayexistingornew.md index 3302156d2..7cbfe525c 100644 --- a/docs/models/eventbreakerexistingornewnewruletypejsonarrayexistingornew.md +++ b/docs/models/eventbreakerexistingornewnewruletypejsonarrayexistingornew.md @@ -1,5 +1,7 @@ # EventBreakerExistingOrNewNewRuleTypeJSONArrayExistingOrNew +Whether to use an existing event breaker ruleset or create a new one inline. + ## Example Usage ```python diff --git a/docs/models/eventbreakerexistingornewnewruletypejsonexistingornew.md b/docs/models/eventbreakerexistingornewnewruletypejsonexistingornew.md index 4dd1cb589..ec798c2ee 100644 --- a/docs/models/eventbreakerexistingornewnewruletypejsonexistingornew.md +++ b/docs/models/eventbreakerexistingornewnewruletypejsonexistingornew.md @@ -1,5 +1,7 @@ # EventBreakerExistingOrNewNewRuleTypeJSONExistingOrNew +Whether to use an existing event breaker ruleset or create a new one inline. + ## Example Usage ```python diff --git a/docs/models/eventbreakerexistingornewnewruletyperegex.md b/docs/models/eventbreakerexistingornewnewruletyperegex.md index 34e11f534..18f5bd126 100644 --- a/docs/models/eventbreakerexistingornewnewruletyperegex.md +++ b/docs/models/eventbreakerexistingornewnewruletyperegex.md @@ -7,7 +7,7 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `rule_type` | [Optional[models.EventBreakerTypeOptionsEventBreakerExistingOrNewNew]](../models/eventbreakertypeoptionseventbreakerexistingornewnew.md) | :heavy_minus_sign: | N/A | | `event_breaker_regex` | *str* | :heavy_check_mark: | The regex used to break the stream into events at the beginning of the match. Matched content will be consumed, unless you use a lookahead regex such as (?=pattern) to keep it. Do NOT use capturing groups in the pattern. | -| `existing_or_new` | [models.EventBreakerExistingOrNewNewRuleTypeRegexExistingOrNew](../models/eventbreakerexistingornewnewruletyperegexexistingornew.md) | :heavy_check_mark: | N/A | +| `existing_or_new` | [models.EventBreakerExistingOrNewNewRuleTypeRegexExistingOrNew](../models/eventbreakerexistingornewnewruletyperegexexistingornew.md) | :heavy_check_mark: | Whether to use an existing event breaker ruleset or create a new one inline. | | `max_event_bytes` | *Optional[float]* | :heavy_minus_sign: | The maximum number of bytes that an event can be before being flushed to the Pipelines | | `timestamp_anchor_regex` | *Optional[str]* | :heavy_minus_sign: | Regex to match before attempting timestamp extraction. Use $ (end of string anchor) to not perform extraction. | | `timestamp` | [Optional[models.TimestampFormatTypeEventBreakerExistingOrNewNew]](../models/timestampformattypeeventbreakerexistingornewnew.md) | :heavy_minus_sign: | N/A | @@ -15,4 +15,4 @@ | `timestamp_earliest` | *Optional[str]* | :heavy_minus_sign: | The earliest timestamp value allowed relative to now, such as -42years. Parsed values prior to this date will be set to current time. | | `timestamp_latest` | *Optional[str]* | :heavy_minus_sign: | The latest timestamp value allowed relative to now, such as +42days. Parsed values after this date will be set to current time. | | `should_mark_cribl_breaker` | *Optional[bool]* | :heavy_minus_sign: | Add this Function name to the cribl_breaker field | -| `existing_rule` | *Optional[str]* | :heavy_minus_sign: | N/A | \ No newline at end of file +| `existing_rule` | *Optional[str]* | :heavy_minus_sign: | ID of an existing event breaker ruleset to apply. | \ No newline at end of file diff --git a/docs/models/eventbreakerexistingornewnewruletyperegexexistingornew.md b/docs/models/eventbreakerexistingornewnewruletyperegexexistingornew.md index eae8e11ea..c6f5bb111 100644 --- a/docs/models/eventbreakerexistingornewnewruletyperegexexistingornew.md +++ b/docs/models/eventbreakerexistingornewnewruletyperegexexistingornew.md @@ -1,5 +1,7 @@ # EventBreakerExistingOrNewNewRuleTypeRegexExistingOrNew +Whether to use an existing event breaker ruleset or create a new one inline. + ## Example Usage ```python diff --git a/docs/models/eventstatsconfiguration.md b/docs/models/eventstatsconfiguration.md index ecc15468f..d89fc37bc 100644 --- a/docs/models/eventstatsconfiguration.md +++ b/docs/models/eventstatsconfiguration.md @@ -1,5 +1,7 @@ # EventstatsConfiguration +Configuration specific to the Pipeline Function. + ## Fields diff --git a/docs/models/featureflagoverrideconfsystemsettingsconf.md b/docs/models/featureflagoverrideconfsystemsettingsconf.md index 631e73385..86d610cc0 100644 --- a/docs/models/featureflagoverrideconfsystemsettingsconf.md +++ b/docs/models/featureflagoverrideconfsystemsettingsconf.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `disabled` | *bool* | :heavy_check_mark: | N/A | -| `flag_id` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | +| `disabled` | *bool* | :heavy_check_mark: | If true, the feature flag is disabled. Otherwise, false. | +| `flag_id` | *str* | :heavy_check_mark: | Unique identifier of the feature flag to override. | \ No newline at end of file diff --git a/docs/models/file.md b/docs/models/file.md index 7087e849d..9de4b1f3f 100644 --- a/docs/models/file.md +++ b/docs/models/file.md @@ -3,8 +3,8 @@ ## Fields -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `index` | *str* | :heavy_check_mark: | N/A | -| `path` | *str* | :heavy_check_mark: | N/A | -| `working_dir` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| `index` | *str* | :heavy_check_mark: | Status code for the file in the index (staging area), using Git short-format notation. | +| `path` | *str* | :heavy_check_mark: | File path relative to the configuration root. | +| `working_dir` | *str* | :heavy_check_mark: | Status code for the file in the working directory, using Git short-format notation. | \ No newline at end of file diff --git a/docs/models/outputclickhouseformat.md b/docs/models/formatoptions.md similarity index 76% rename from docs/models/outputclickhouseformat.md rename to docs/models/formatoptions.md index 0033aa535..8f6a2a9a9 100644 --- a/docs/models/outputclickhouseformat.md +++ b/docs/models/formatoptions.md @@ -1,13 +1,13 @@ -# OutputClickHouseFormat +# FormatOptions Data format to use when sending data to ClickHouse. Defaults to JSON Compact. ## Example Usage ```python -from cribl_control_plane.models import OutputClickHouseFormat +from cribl_control_plane.models import FormatOptions -value = OutputClickHouseFormat.JSON_COMPACT_EACH_ROW_WITH_NAMES +value = FormatOptions.JSON_COMPACT_EACH_ROW_WITH_NAMES # Open enum: unrecognized values are captured as UnrecognizedStr ``` diff --git a/docs/models/fullruleset.md b/docs/models/fullruleset.md new file mode 100644 index 000000000..fe0176480 --- /dev/null +++ b/docs/models/fullruleset.md @@ -0,0 +1,9 @@ +# FullRuleset + +Full ruleset definition, used with live data capture for draft or unsaved rulesets. + + +## Fields + +| Field | Type | Required | Description | +| ----------- | ----------- | ----------- | ----------- | \ No newline at end of file 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/functionconfschemaautotimestamp.md b/docs/models/functionconfschemaautotimestamp.md index 61508e6ef..b8b0610e6 100644 --- a/docs/models/functionconfschemaautotimestamp.md +++ b/docs/models/functionconfschemaautotimestamp.md @@ -13,6 +13,6 @@ | `max_len` | *Optional[float]* | :heavy_minus_sign: | Maximum string length at which to look for a timestamp | | `default_time` | [Optional[models.DefaultTime]](../models/defaulttime.md) | :heavy_minus_sign: | How to set the time field if no timestamp is found | | `latest_date_allowed` | *Optional[str]* | :heavy_minus_sign: | The latest timestamp value allowed relative to now, such as +42days. Parsed values after this date will be set to the Default time. | -| `spacer` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `spacer` | *Optional[str]* | :heavy_minus_sign: | UI layout spacer; no effect on event processing. | | `earliest_date_allowed` | *Optional[str]* | :heavy_minus_sign: | The earliest timestamp value allowed relative to now, such as -42years. Parsed values prior to this date will be set to the Default time. | | `timestamps` | List[[models.Timestamp](../models/timestamp.md)] | :heavy_minus_sign: | Add regex/strptime pairs to extract additional timestamp formats | \ No newline at end of file diff --git a/docs/models/functionconfschemadnslookup.md b/docs/models/functionconfschemadnslookup.md index 643839e7d..264bc6305 100644 --- a/docs/models/functionconfschemadnslookup.md +++ b/docs/models/functionconfschemadnslookup.md @@ -13,5 +13,5 @@ | `use_resolv_conf` | *Optional[bool]* | :heavy_minus_sign: | Attempt to resolve DNS short names using the search or domain directive from /etc/resolv.conf | | `lookup_fallback` | *Optional[bool]* | :heavy_minus_sign: | If unable to resolve a DNS short name, make a DNS.lookup() call to resolve it. Caution: This might degrade performance in unrelated areas of @{product}. | | `domain_overrides` | List[*str*] | :heavy_minus_sign: | Specify fallback values for the DNS resolver to use when it cannot resolve a DNS short name | -| `lookup_fail_log_level` | [Optional[models.LogLevelForFailedLookups]](../models/loglevelforfailedlookups.md) | :heavy_minus_sign: | N/A | +| `lookup_fail_log_level` | [Optional[models.LogLevelForFailedLookups]](../models/loglevelforfailedlookups.md) | :heavy_minus_sign: | Log level to use when a DNS lookup fails. | | `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/functionconfschemagenstats.md b/docs/models/functionconfschemagenstats.md index d9e45c2d6..9b82de5ba 100644 --- a/docs/models/functionconfschemagenstats.md +++ b/docs/models/functionconfschemagenstats.md @@ -3,6 +3,6 @@ ## Fields -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `fields` | List[*str*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | +| `fields` | List[*str*] | :heavy_minus_sign: | List of field names from which to generate statistics. | \ No newline at end of file diff --git a/docs/models/functionconfschemalocalsearchrulesetrunner.md b/docs/models/functionconfschemalocalsearchrulesetrunner.md index 300b8dd93..828cd0966 100644 --- a/docs/models/functionconfschemalocalsearchrulesetrunner.md +++ b/docs/models/functionconfschemalocalsearchrulesetrunner.md @@ -3,9 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `ruleset_type` | [Optional[models.RulesetType]](../models/rulesettype.md) | :heavy_minus_sign: | N/A | -| `ruleset_id` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `ruleset` | [Optional[models.FullRulesetIEForUseWithLiveDataCaptureWhichUsesDraftUnsavedRulesets]](../models/fullrulesetieforusewithlivedatacapturewhichusesdraftunsavedrulesets.md) | :heavy_minus_sign: | N/A | -| `mark_and_include_dropped_events` | *Optional[bool]* | :heavy_minus_sign: | Only for use with live data capture. Mark events that were dropped by dataset rules and still include them for capture | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | +| `ruleset_type` | [Optional[models.RulesetType]](../models/rulesettype.md) | :heavy_minus_sign: | Type of ruleset to apply: dataset or datatype. | +| `ruleset_id` | *Optional[str]* | :heavy_minus_sign: | ID of the ruleset to apply. | +| `ruleset` | [Optional[models.FullRuleset]](../models/fullruleset.md) | :heavy_minus_sign: | Full ruleset definition, used with live data capture for draft or unsaved rulesets. | +| `mark_and_include_dropped_events` | *Optional[bool]* | :heavy_minus_sign: | Only for use with live data capture. Mark events that were dropped by dataset rules and still include them for capture | \ No newline at end of file diff --git a/docs/models/functionconfschemaotlplogs.md b/docs/models/functionconfschemaotlplogs.md index 2fa983b9a..b102000a0 100644 --- a/docs/models/functionconfschemaotlplogs.md +++ b/docs/models/functionconfschemaotlplogs.md @@ -5,10 +5,10 @@ | Field | Type | Required | Description | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `drop_non_log_events` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `drop_non_log_events` | *Optional[bool]* | :heavy_minus_sign: | Drop events that are not OTLP log records. | | `batch_otlp_logs` | *Optional[bool]* | :heavy_minus_sign: | Batch OTLP log records by shared top-level `resource` attributes | | `send_batch_size` | *Optional[float]* | :heavy_minus_sign: | Number of log records after which a batch will be sent, regardless of the timeout | | `timeout` | *Optional[float]* | :heavy_minus_sign: | Time duration after which a batch will be sent, regardless of size | | `send_batch_max_size` | *Optional[float]* | :heavy_minus_sign: | Maximum batch size. Enter 0 for no maximum. | -| `metadata_keys` | List[*Any*] | :heavy_minus_sign: | When set, this processor will create one batcher instance per distinct combination of values in the metadata | +| `metadata_keys` | List[*str*] | :heavy_minus_sign: | When set, this processor will create one batcher instance per distinct combination of values in the metadata | | `metadata_cardinality_limit` | *Optional[float]* | :heavy_minus_sign: | Limit the number of unique combinations of metadata key values that will be processed over the lifetime of the process. After the limit is reached, events with new metadata key value combinations will be dropped. | \ No newline at end of file diff --git a/docs/models/functionconfschemaotlpmetrics.md b/docs/models/functionconfschemaotlpmetrics.md index bccd0ef5f..8b72d56cb 100644 --- a/docs/models/functionconfschemaotlpmetrics.md +++ b/docs/models/functionconfschemaotlpmetrics.md @@ -6,11 +6,11 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `resource_attribute_prefixes` | List[*str*] | :heavy_minus_sign: | The prefixes of top-level attributes to add as resource attributes. Each attribute must match the regex pattern `^[a-zA-Z0-9_\.]+$`. Use Eval to copy nested attributes to the top level for matching. | -| `drop_non_metric_events` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `drop_non_metric_events` | *Optional[bool]* | :heavy_minus_sign: | Drop events that are not OTLP metric data points. | | `otlp_version` | [Optional[models.OtlpVersionOptions]](../models/otlpversionoptions.md) | :heavy_minus_sign: | N/A | | `batch_otlp_metrics` | *Optional[bool]* | :heavy_minus_sign: | Batch OTLP metrics by shared top-level `resource` attributes | | `send_batch_size` | *Optional[float]* | :heavy_minus_sign: | Number of metric data points after which a batch will be sent, regardless of the timeout | | `timeout` | *Optional[float]* | :heavy_minus_sign: | Time duration after which a batch will be sent, regardless of size | | `send_batch_max_size` | *Optional[float]* | :heavy_minus_sign: | Maximum batch size. Enter 0 for no maximum. | -| `metadata_keys` | List[*Any*] | :heavy_minus_sign: | When set, this processor will create one batcher instance per distinct combination of values in the metadata | +| `metadata_keys` | List[*str*] | :heavy_minus_sign: | When set, this processor will create one batcher instance per distinct combination of values in the metadata | | `metadata_cardinality_limit` | *Optional[float]* | :heavy_minus_sign: | Limit the number of unique combinations of metadata key values that will be processed over the lifetime of the process. After the limit is reached, events with new metadata key value combinations will be dropped. | \ No newline at end of file diff --git a/docs/models/functionconfschemaotlptraces.md b/docs/models/functionconfschemaotlptraces.md index 3349b9c93..470d48660 100644 --- a/docs/models/functionconfschemaotlptraces.md +++ b/docs/models/functionconfschemaotlptraces.md @@ -5,11 +5,11 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `drop_non_trace_events` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `drop_non_trace_events` | *Optional[bool]* | :heavy_minus_sign: | Drop events that are not OTLP trace spans. | | `otlp_version` | [Optional[models.OtlpVersionOptions]](../models/otlpversionoptions.md) | :heavy_minus_sign: | N/A | | `batch_otlp_traces` | *Optional[bool]* | :heavy_minus_sign: | Batch OTLP traces by shared top-level `resource` attributes | | `send_batch_size` | *Optional[float]* | :heavy_minus_sign: | Number of spans after which a batch will be sent, regardless of the timeout | | `timeout` | *Optional[float]* | :heavy_minus_sign: | Time duration after which a batch will be sent, regardless of size | | `send_batch_max_size` | *Optional[float]* | :heavy_minus_sign: | Maximum batch size. Enter 0 for no maximum. | -| `metadata_keys` | List[*Any*] | :heavy_minus_sign: | When set, this processor will create one batcher instance per distinct combination of values in the metadata | +| `metadata_keys` | List[*str*] | :heavy_minus_sign: | When set, this processor will create one batcher instance per distinct combination of values in the metadata | | `metadata_cardinality_limit` | *Optional[float]* | :heavy_minus_sign: | Limit the number of unique combinations of metadata key values that will be processed over the lifetime of the process. After the limit is reached, events with new metadata key value combinations will be dropped. | \ No newline at end of file diff --git a/docs/models/functionconfschemaregexfilter.md b/docs/models/functionconfschemaregexfilter.md index 967d8802f..ab18934b3 100644 --- a/docs/models/functionconfschemaregexfilter.md +++ b/docs/models/functionconfschemaregexfilter.md @@ -6,5 +6,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | | `regex` | *Optional[str]* | :heavy_minus_sign: | Regex to test against | -| `regex_list` | List[[models.RegexList](../models/regexlist.md)] | :heavy_minus_sign: | N/A | +| `regex_list` | List[[models.RegexList](../models/regexlist.md)] | :heavy_minus_sign: | Additional regex patterns to test against the field. | | `field` | *Optional[str]* | :heavy_minus_sign: | Name of the field to apply the regex on (defaults to _raw) | \ No newline at end of file diff --git a/docs/models/functionconfschemasnmptrapserialize.md b/docs/models/functionconfschemasnmptrapserialize.md index fed66fc46..ac89464cb 100644 --- a/docs/models/functionconfschemasnmptrapserialize.md +++ b/docs/models/functionconfschemasnmptrapserialize.md @@ -7,4 +7,4 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `strict` | *Optional[bool]* | :heavy_minus_sign: | Prevent event serialization if any required fields are missing. When disabled, @{product} will attempt to serialize the event even if required fields are missing, which could cause unexpected behavior at the downstream receiver. | | `drop_failed_events` | *Optional[bool]* | :heavy_minus_sign: | When disabled, `snmpSerializeErrors` will be set on the event, and the `__snmpRaw` field will be removed to prevent @{product} from sending the event from the SNMP Trap Destination | -| `v3_user` | [Optional[models.V3User]](../models/v3user.md) | :heavy_minus_sign: | N/A | \ No newline at end of file +| `v3_user` | [Optional[models.V3User]](../models/v3user.md) | :heavy_minus_sign: | SNMPv3 user configuration, including authentication and privacy protocol settings. | \ No newline at end of file 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/getcribllakedatasetbylakeidrequest.md b/docs/models/getcribllakedatasetbylakeidrequest.md index 97d1e0651..58102fa38 100644 --- a/docs/models/getcribllakedatasetbylakeidrequest.md +++ b/docs/models/getcribllakedatasetbylakeidrequest.md @@ -9,7 +9,10 @@ | `storage_location_id` | *Optional[str]* | :heavy_minus_sign: | Filter datasets by storage location ID. Use default for default storage location. | | `format_` | [Optional[models.GetCriblLakeDatasetByLakeIDFormat]](../models/getcribllakedatasetbylakeidformat.md) | :heavy_minus_sign: | Filter datasets by format. Set to ddss to return only DDSS datasets. | | `exclude_ddss` | *Optional[bool]* | :heavy_minus_sign: | Exclude DDSS format datasets from the response. | +| `exclude_netskope` | *Optional[bool]* | :heavy_minus_sign: | Exclude Netskope format datasets from the response. | | `exclude_deleted` | *Optional[bool]* | :heavy_minus_sign: | Exclude deleted datasets from the response. | | `exclude_internal` | *Optional[bool]* | :heavy_minus_sign: | Exclude internal datasets (those with IDs starting with cribl_) from the response. | | `exclude_byos` | *Optional[bool]* | :heavy_minus_sign: | Exclude BYOS (Bring Your Own Storage) datasets from the response. | -| `include_metrics` | *Optional[bool]* | :heavy_minus_sign: | Set to true to include storage metrics for each Lake Dataset. Otherwise, false (default). Requires a Cribl Lake metrics license. | \ No newline at end of file +| `include_metrics` | *Optional[bool]* | :heavy_minus_sign: | Set to true to include storage metrics for each Lake Dataset. Otherwise, false (default). Requires a Cribl Lake metrics license. | +| `offset` | *Optional[int]* | :heavy_minus_sign: | Pagination offset | +| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of items to return | \ No newline at end of file diff --git a/docs/models/getcribllakedatasetbylakeidresponse.md b/docs/models/getcribllakedatasetbylakeidresponse.md new file mode 100644 index 000000000..4887f67ad --- /dev/null +++ b/docs/models/getcribllakedatasetbylakeidresponse.md @@ -0,0 +1,8 @@ +# GetCriblLakeDatasetByLakeIDResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | +| `result` | [models.GetCriblLakeDatasetByLakeIDResponseBody](../models/getcribllakedatasetbylakeidresponsebody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/getcribllakedatasetbylakeidresponsebody.md b/docs/models/getcribllakedatasetbylakeidresponsebody.md new file mode 100644 index 000000000..7239240e5 --- /dev/null +++ b/docs/models/getcribllakedatasetbylakeidresponsebody.md @@ -0,0 +1,19 @@ +# GetCriblLakeDatasetByLakeIDResponseBody + +List of CriblLakeDataset objects. + + +## Supported Types + +### `models.CountedCriblLakeDataset` + +```python +value: models.CountedCriblLakeDataset = /* values here */ +``` + +### `models.PaginatedCriblLakeDataset` + +```python +value: models.PaginatedCriblLakeDataset = /* values here */ +``` + diff --git a/docs/models/getdatabaseconnectionconfigrequest.md b/docs/models/getdatabaseconnectionconfigrequest.md index 702102eb0..6e4e65d9b 100644 --- a/docs/models/getdatabaseconnectionconfigrequest.md +++ b/docs/models/getdatabaseconnectionconfigrequest.md @@ -3,6 +3,8 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | -| `database_type` | [Optional[models.DatabaseConnectionType]](../models/databaseconnectiontype.md) | :heavy_minus_sign: | Type of Database Connections to include in the results. | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `database_type` | [Optional[models.DatabaseConnectionType]](../models/databaseconnectiontype.md) | :heavy_minus_sign: | Filter results by database engine type. Use this parameter to return only Database Connections for the specified engine. | +| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of Database Connections to return in the response for this request. Use with offset to paginate the response into manageable batches. | +| `offset` | *Optional[int]* | :heavy_minus_sign: | Starting point from which to retrieve results for this request. Use with limit to paginate the response into manageable batches. | \ No newline at end of file diff --git a/docs/models/getdatabaseconnectionconfigresponse.md b/docs/models/getdatabaseconnectionconfigresponse.md new file mode 100644 index 000000000..0fb3f7175 --- /dev/null +++ b/docs/models/getdatabaseconnectionconfigresponse.md @@ -0,0 +1,8 @@ +# GetDatabaseConnectionConfigResponse + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | +| `result` | [models.DatabaseConnectionResponseEnvelope](../models/databaseconnectionresponseenvelope.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/getfunctionsrequest.md b/docs/models/getfunctionsrequest.md new file mode 100644 index 000000000..edbaea450 --- /dev/null +++ b/docs/models/getfunctionsrequest.md @@ -0,0 +1,10 @@ +# 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. | +| `offset` | *Optional[int]* | :heavy_minus_sign: | Pagination offset | +| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of items to return | \ No newline at end of file diff --git a/docs/models/getfunctionsresponse.md b/docs/models/getfunctionsresponse.md new file mode 100644 index 000000000..6755c66c1 --- /dev/null +++ b/docs/models/getfunctionsresponse.md @@ -0,0 +1,8 @@ +# GetFunctionsResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | +| `result` | [models.GetFunctionsResponseBody](../models/getfunctionsresponsebody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/getfunctionsresponsebody.md b/docs/models/getfunctionsresponsebody.md new file mode 100644 index 000000000..e2f8cf68b --- /dev/null +++ b/docs/models/getfunctionsresponsebody.md @@ -0,0 +1,19 @@ +# GetFunctionsResponseBody + +List of Function objects. + + +## Supported Types + +### `models.CountedFunctionResponse` + +```python +value: models.CountedFunctionResponse = /* values here */ +``` + +### `models.PaginatedFunctionResponse` + +```python +value: models.PaginatedFunctionResponse = /* values here */ +``` + diff --git a/docs/models/getinputstatusresponse.md b/docs/models/getinputstatusresponse.md index 261e5cc58..cbf6d61cd 100644 --- a/docs/models/getinputstatusresponse.md +++ b/docs/models/getinputstatusresponse.md @@ -3,6 +3,6 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | -| `result` | [models.CountedInputStatus](../models/countedinputstatus.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | +| `result` | [models.GetInputStatusResponseBody](../models/getinputstatusresponsebody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/getinputstatusresponsebody.md b/docs/models/getinputstatusresponsebody.md new file mode 100644 index 000000000..fff5ff658 --- /dev/null +++ b/docs/models/getinputstatusresponsebody.md @@ -0,0 +1,19 @@ +# GetInputStatusResponseBody + +List of Source status objects. + + +## Supported Types + +### `models.CountedInputStatus` + +```python +value: models.CountedInputStatus = /* values here */ +``` + +### `models.PaginatedInputStatus` + +```python +value: models.PaginatedInputStatus = /* values here */ +``` + diff --git a/docs/models/getinputstatussysteminputsbypackresponse.md b/docs/models/getinputstatussysteminputsbypackresponse.md index 8dcfb12ce..a53255c5b 100644 --- a/docs/models/getinputstatussysteminputsbypackresponse.md +++ b/docs/models/getinputstatussysteminputsbypackresponse.md @@ -3,6 +3,6 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | -| `result` | [models.CountedInputStatus](../models/countedinputstatus.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| `result` | [models.GetInputStatusSystemInputsByPackResponseBody](../models/getinputstatussysteminputsbypackresponsebody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/getinputstatussysteminputsbypackresponsebody.md b/docs/models/getinputstatussysteminputsbypackresponsebody.md new file mode 100644 index 000000000..8baae3e6f --- /dev/null +++ b/docs/models/getinputstatussysteminputsbypackresponsebody.md @@ -0,0 +1,19 @@ +# GetInputStatusSystemInputsByPackResponseBody + +List of Source status objects. + + +## Supported Types + +### `models.CountedInputStatus` + +```python +value: models.CountedInputStatus = /* values here */ +``` + +### `models.PaginatedInputStatus` + +```python +value: models.PaginatedInputStatus = /* values here */ +``` + diff --git a/docs/models/getinputsystembypackrequest.md b/docs/models/getinputsystembypackrequest.md index 1cc44b902..e87089a5c 100644 --- a/docs/models/getinputsystembypackrequest.md +++ b/docs/models/getinputsystembypackrequest.md @@ -6,4 +6,6 @@ | Field | Type | Required | Description | | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | | `type` | List[*str*] | :heavy_minus_sign: | Type of Source to include in the results. Each request can include only one type parameter; multiple parameters per request are not supported. | +| `offset` | *Optional[int]* | :heavy_minus_sign: | Pagination offset | +| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of items to return | | `pack` | *str* | :heavy_check_mark: | The id of the Pack. | \ No newline at end of file diff --git a/docs/models/getinputsystembypackresponse.md b/docs/models/getinputsystembypackresponse.md new file mode 100644 index 000000000..e0435a74a --- /dev/null +++ b/docs/models/getinputsystembypackresponse.md @@ -0,0 +1,8 @@ +# GetInputSystemByPackResponse + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | +| `result` | [models.GetInputSystemByPackResponseBody](../models/getinputsystembypackresponsebody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/getinputsystembypackresponsebody.md b/docs/models/getinputsystembypackresponsebody.md new file mode 100644 index 000000000..7876f79a5 --- /dev/null +++ b/docs/models/getinputsystembypackresponsebody.md @@ -0,0 +1,19 @@ +# GetInputSystemByPackResponseBody + +List of Source objects. + + +## Supported Types + +### `models.CountedInputResponse` + +```python +value: models.CountedInputResponse = /* values here */ +``` + +### `models.PaginatedInputResponse` + +```python +value: models.PaginatedInputResponse = /* values here */ +``` + diff --git a/docs/models/getoutputstatusresponse.md b/docs/models/getoutputstatusresponse.md index aa23ee6d1..6d18e1f26 100644 --- a/docs/models/getoutputstatusresponse.md +++ b/docs/models/getoutputstatusresponse.md @@ -3,6 +3,6 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -| `result` | [models.CountedOutputStatus](../models/countedoutputstatus.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | +| `result` | [models.GetOutputStatusResponseBody](../models/getoutputstatusresponsebody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/getoutputstatusresponsebody.md b/docs/models/getoutputstatusresponsebody.md new file mode 100644 index 000000000..d8a5688e7 --- /dev/null +++ b/docs/models/getoutputstatusresponsebody.md @@ -0,0 +1,19 @@ +# GetOutputStatusResponseBody + +List of Destination status objects. + + +## Supported Types + +### `models.CountedOutputStatus` + +```python +value: models.CountedOutputStatus = /* values here */ +``` + +### `models.PaginatedOutputStatus` + +```python +value: models.PaginatedOutputStatus = /* values here */ +``` + diff --git a/docs/models/getoutputstatussystemoutputsbypackresponse.md b/docs/models/getoutputstatussystemoutputsbypackresponse.md index 0582a7e92..fc0e3c514 100644 --- a/docs/models/getoutputstatussystemoutputsbypackresponse.md +++ b/docs/models/getoutputstatussystemoutputsbypackresponse.md @@ -3,6 +3,6 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -| `result` | [models.CountedOutputStatus](../models/countedoutputstatus.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | +| `result` | [models.GetOutputStatusSystemOutputsByPackResponseBody](../models/getoutputstatussystemoutputsbypackresponsebody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/getoutputstatussystemoutputsbypackresponsebody.md b/docs/models/getoutputstatussystemoutputsbypackresponsebody.md new file mode 100644 index 000000000..e7826ee33 --- /dev/null +++ b/docs/models/getoutputstatussystemoutputsbypackresponsebody.md @@ -0,0 +1,19 @@ +# GetOutputStatusSystemOutputsByPackResponseBody + +List of Destination status objects. + + +## Supported Types + +### `models.CountedOutputStatus` + +```python +value: models.CountedOutputStatus = /* values here */ +``` + +### `models.PaginatedOutputStatus` + +```python +value: models.PaginatedOutputStatus = /* values here */ +``` + diff --git a/docs/models/getoutputsystembypackrequest.md b/docs/models/getoutputsystembypackrequest.md index 0f6fb135e..21d619d77 100644 --- a/docs/models/getoutputsystembypackrequest.md +++ b/docs/models/getoutputsystembypackrequest.md @@ -6,4 +6,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `type` | [Optional[models.DestinationType]](../models/destinationtype.md) | :heavy_minus_sign: | Type of Destination to include in the results. Each request can include only one type parameter; multiple parameters per request are not supported. | +| `offset` | *Optional[int]* | :heavy_minus_sign: | Pagination offset | +| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of items to return | | `pack` | *str* | :heavy_check_mark: | The id of the Pack. | \ No newline at end of file diff --git a/docs/models/getoutputsystembypackresponse.md b/docs/models/getoutputsystembypackresponse.md new file mode 100644 index 000000000..388615b41 --- /dev/null +++ b/docs/models/getoutputsystembypackresponse.md @@ -0,0 +1,8 @@ +# GetOutputSystemByPackResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | +| `result` | [models.GetOutputSystemByPackResponseBody](../models/getoutputsystembypackresponsebody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/getoutputsystembypackresponsebody.md b/docs/models/getoutputsystembypackresponsebody.md new file mode 100644 index 000000000..3ca62bd21 --- /dev/null +++ b/docs/models/getoutputsystembypackresponsebody.md @@ -0,0 +1,19 @@ +# GetOutputSystemByPackResponseBody + +List of Destination objects. + + +## Supported Types + +### `models.CountedOutputResponse` + +```python +value: models.CountedOutputResponse = /* values here */ +``` + +### `models.PaginatedOutputResponse` + +```python +value: models.PaginatedOutputResponse = /* values here */ +``` + 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..2447c5670 100644 --- a/docs/models/getpacksrequest.md +++ b/docs/models/getpacksrequest.md @@ -3,6 +3,8 @@ ## 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. | +| `offset` | *Optional[int]* | :heavy_minus_sign: | Pagination offset | +| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of items to return | \ No newline at end of file diff --git a/docs/models/getpacksresponse.md b/docs/models/getpacksresponse.md new file mode 100644 index 000000000..916ae5900 --- /dev/null +++ b/docs/models/getpacksresponse.md @@ -0,0 +1,8 @@ +# GetPacksResponse + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | +| `result` | [models.GetPacksResponseBody](../models/getpacksresponsebody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/getpacksresponsebody.md b/docs/models/getpacksresponsebody.md new file mode 100644 index 000000000..bc59effc1 --- /dev/null +++ b/docs/models/getpacksresponsebody.md @@ -0,0 +1,19 @@ +# GetPacksResponseBody + +List of Pack objects. + + +## Supported Types + +### `models.CountedPackInfo` + +```python +value: models.CountedPackInfo = /* values here */ +``` + +### `models.PaginatedPackInfo` + +```python +value: models.PaginatedPackInfo = /* values here */ +``` + diff --git a/docs/models/getpipelinesbypackrequest.md b/docs/models/getpipelinesbypackrequest.md index 45760a4ae..d30c9891c 100644 --- a/docs/models/getpipelinesbypackrequest.md +++ b/docs/models/getpipelinesbypackrequest.md @@ -3,6 +3,8 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | -| `pack` | *str* | :heavy_check_mark: | The id of the Pack. | \ No newline at end of file +| Field | Type | Required | Description | +| --------------------------------- | --------------------------------- | --------------------------------- | --------------------------------- | +| `offset` | *Optional[int]* | :heavy_minus_sign: | Pagination offset | +| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of items to return | +| `pack` | *str* | :heavy_check_mark: | The id of the Pack. | \ No newline at end of file diff --git a/docs/models/getpipelinesbypackresponse.md b/docs/models/getpipelinesbypackresponse.md new file mode 100644 index 000000000..2b8198959 --- /dev/null +++ b/docs/models/getpipelinesbypackresponse.md @@ -0,0 +1,8 @@ +# GetPipelinesByPackResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | +| `result` | [models.GetPipelinesByPackResponseBody](../models/getpipelinesbypackresponsebody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/getpipelinesbypackresponsebody.md b/docs/models/getpipelinesbypackresponsebody.md new file mode 100644 index 000000000..c39045016 --- /dev/null +++ b/docs/models/getpipelinesbypackresponsebody.md @@ -0,0 +1,19 @@ +# GetPipelinesByPackResponseBody + +List of Pipeline objects. + + +## Supported Types + +### `models.CountedPipeline` + +```python +value: models.CountedPipeline = /* values here */ +``` + +### `models.PaginatedPipeline` + +```python +value: models.PaginatedPipeline = /* values here */ +``` + diff --git a/docs/models/getpipelinesrequest.md b/docs/models/getpipelinesrequest.md new file mode 100644 index 000000000..d847060c8 --- /dev/null +++ b/docs/models/getpipelinesrequest.md @@ -0,0 +1,9 @@ +# GetPipelinesRequest + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------- | --------------------------------- | --------------------------------- | --------------------------------- | +| `offset` | *Optional[int]* | :heavy_minus_sign: | Pagination offset | +| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of items to return | \ No newline at end of file diff --git a/docs/models/getpipelinesresponse.md b/docs/models/getpipelinesresponse.md new file mode 100644 index 000000000..a836f7826 --- /dev/null +++ b/docs/models/getpipelinesresponse.md @@ -0,0 +1,8 @@ +# GetPipelinesResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | +| `result` | [models.GetPipelinesResponseBody](../models/getpipelinesresponsebody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/getpipelinesresponsebody.md b/docs/models/getpipelinesresponsebody.md new file mode 100644 index 000000000..7cf3194b0 --- /dev/null +++ b/docs/models/getpipelinesresponsebody.md @@ -0,0 +1,19 @@ +# GetPipelinesResponseBody + +List of Pipeline objects. + + +## Supported Types + +### `models.CountedPipeline` + +```python +value: models.CountedPipeline = /* values here */ +``` + +### `models.PaginatedPipeline` + +```python +value: models.PaginatedPipeline = /* values here */ +``` + diff --git a/docs/models/getconfiggroupaclbyproductandidrequest.md b/docs/models/getproductsgroupsaclbyproductandidrequest.md similarity index 97% rename from docs/models/getconfiggroupaclbyproductandidrequest.md rename to docs/models/getproductsgroupsaclbyproductandidrequest.md index 1f30a64bc..1df4a0716 100644 --- a/docs/models/getconfiggroupaclbyproductandidrequest.md +++ b/docs/models/getproductsgroupsaclbyproductandidrequest.md @@ -1,4 +1,4 @@ -# GetConfigGroupACLByProductAndIDRequest +# GetProductsGroupsACLByProductAndIDRequest ## Fields diff --git a/docs/models/getconfiggroupaclteamsbyproductandidrequest.md b/docs/models/getproductsgroupsaclteamsbyproductandidrequest.md similarity index 97% rename from docs/models/getconfiggroupaclteamsbyproductandidrequest.md rename to docs/models/getproductsgroupsaclteamsbyproductandidrequest.md index 6a7368535..1c223befb 100644 --- a/docs/models/getconfiggroupaclteamsbyproductandidrequest.md +++ b/docs/models/getproductsgroupsaclteamsbyproductandidrequest.md @@ -1,4 +1,4 @@ -# GetConfigGroupACLTeamsByProductAndIDRequest +# GetProductsGroupsACLTeamsByProductAndIDRequest ## Fields diff --git a/docs/models/getconfiggroupbyproductandidrequest.md b/docs/models/getproductsgroupsbyproductandidrequest.md similarity index 98% rename from docs/models/getconfiggroupbyproductandidrequest.md rename to docs/models/getproductsgroupsbyproductandidrequest.md index 61ffe70ad..05c6de052 100644 --- a/docs/models/getconfiggroupbyproductandidrequest.md +++ b/docs/models/getproductsgroupsbyproductandidrequest.md @@ -1,4 +1,4 @@ -# GetConfigGroupByProductAndIDRequest +# GetProductsGroupsByProductAndIDRequest ## Fields diff --git a/docs/models/listconfiggroupbyproductrequest.md b/docs/models/getproductsgroupsbyproductrequest.md similarity index 65% rename from docs/models/listconfiggroupbyproductrequest.md rename to docs/models/getproductsgroupsbyproductrequest.md index f12818452..4f1d7630b 100644 --- a/docs/models/listconfiggroupbyproductrequest.md +++ b/docs/models/getproductsgroupsbyproductrequest.md @@ -1,4 +1,4 @@ -# ListConfigGroupByProductRequest +# GetProductsGroupsByProductRequest ## Fields @@ -6,4 +6,6 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `product` | [models.ProductsCore](../models/productscore.md) | :heavy_check_mark: | Name of the Cribl product to get the Worker Groups, Outpost Groups, or Edge Fleets for. | -| `fields` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of additional properties to include in the response. Available values are git.commit, git.localChanges, and git.log. | \ No newline at end of file +| `fields` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of additional properties to include in the response. Available values are git.commit, git.localChanges, and git.log. | +| `offset` | *Optional[int]* | :heavy_minus_sign: | Pagination offset | +| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of items to return | \ No newline at end of file diff --git a/docs/models/getproductsgroupsbyproductresponse.md b/docs/models/getproductsgroupsbyproductresponse.md new file mode 100644 index 000000000..0aaaf0cf3 --- /dev/null +++ b/docs/models/getproductsgroupsbyproductresponse.md @@ -0,0 +1,8 @@ +# GetProductsGroupsByProductResponse + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | +| `result` | [models.GetProductsGroupsByProductResponseBody](../models/getproductsgroupsbyproductresponsebody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/getproductsgroupsbyproductresponsebody.md b/docs/models/getproductsgroupsbyproductresponsebody.md new file mode 100644 index 000000000..7b9c96647 --- /dev/null +++ b/docs/models/getproductsgroupsbyproductresponsebody.md @@ -0,0 +1,19 @@ +# GetProductsGroupsByProductResponseBody + +List of ConfigGroup objects. + + +## Supported Types + +### `models.CountedConfigGroup` + +```python +value: models.CountedConfigGroup = /* values here */ +``` + +### `models.PaginatedConfigGroup` + +```python +value: models.PaginatedConfigGroup = /* values here */ +``` + diff --git a/docs/models/getconfiggroupconfigversionbyproductandidrequest.md b/docs/models/getproductsgroupsconfigversionbyproductandidrequest.md similarity index 97% rename from docs/models/getconfiggroupconfigversionbyproductandidrequest.md rename to docs/models/getproductsgroupsconfigversionbyproductandidrequest.md index df9d5d5a1..e25343ab9 100644 --- a/docs/models/getconfiggroupconfigversionbyproductandidrequest.md +++ b/docs/models/getproductsgroupsconfigversionbyproductandidrequest.md @@ -1,4 +1,4 @@ -# GetConfigGroupConfigVersionByProductAndIDRequest +# GetProductsGroupsConfigVersionByProductAndIDRequest ## Fields diff --git a/docs/models/getproductssummarybyproductrequest.md b/docs/models/getproductssummarybyproductrequest.md index ec9f172c8..cb77bbc6b 100644 --- a/docs/models/getproductssummarybyproductrequest.md +++ b/docs/models/getproductssummarybyproductrequest.md @@ -5,4 +5,6 @@ | Field | Type | Required | Description | | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | -| `product` | [models.ProductsBase](../models/productsbase.md) | :heavy_check_mark: | Name of the Cribl product to get the summary for. | \ No newline at end of file +| `product` | [models.ProductsBase](../models/productsbase.md) | :heavy_check_mark: | Name of the Cribl product to get the summary for. | +| `offset` | *Optional[int]* | :heavy_minus_sign: | Pagination offset | +| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of items to return | \ No newline at end of file diff --git a/docs/models/getproductssummarybyproductresponse.md b/docs/models/getproductssummarybyproductresponse.md new file mode 100644 index 000000000..eeeec0ef7 --- /dev/null +++ b/docs/models/getproductssummarybyproductresponse.md @@ -0,0 +1,8 @@ +# GetProductsSummaryByProductResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | +| `result` | [models.GetProductsSummaryByProductResponseBody](../models/getproductssummarybyproductresponsebody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/getproductssummarybyproductresponsebody.md b/docs/models/getproductssummarybyproductresponsebody.md new file mode 100644 index 000000000..486ac5099 --- /dev/null +++ b/docs/models/getproductssummarybyproductresponsebody.md @@ -0,0 +1,19 @@ +# GetProductsSummaryByProductResponseBody + +List of DistributedSummary objects. + + +## Supported Types + +### `models.CountedDistributedSummary` + +```python +value: models.CountedDistributedSummary = /* values here */ +``` + +### `models.PaginatedDistributedSummary` + +```python +value: models.PaginatedDistributedSummary = /* values here */ +``` + diff --git a/docs/models/getproductssummaryworkersbyproductrequest.md b/docs/models/getproductssummaryworkersbyproductrequest.md index c6c47094e..87da3500c 100644 --- a/docs/models/getproductssummaryworkersbyproductrequest.md +++ b/docs/models/getproductssummaryworkersbyproductrequest.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | -| `product` | [models.ProductsCore](../models/productscore.md) | :heavy_check_mark: | Name of the Cribl product to get the count of Worker, Edge, or Outpost Nodes for. | -| `filter_exp` | *Optional[str]* | :heavy_minus_sign: | Filter expression to evaluate against Nodes for inclusion in the response. | \ No newline at end of file +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `product` | [models.ProductsCore](../models/productscore.md) | :heavy_check_mark: | Name of the Cribl product to get the count of Worker, Edge, or Outpost Nodes for. | | +| `filter_exp` | *Optional[str]* | :heavy_minus_sign: | Filter expression to evaluate against Nodes for inclusion in the response. | group=="default" | \ No newline at end of file diff --git a/docs/models/getproductsworkersbyproductrequest.md b/docs/models/getproductsworkersbyproductrequest.md index 7a806c115..e8f95be61 100644 --- a/docs/models/getproductsworkersbyproductrequest.md +++ b/docs/models/getproductsworkersbyproductrequest.md @@ -3,12 +3,12 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -| `product` | [models.ProductsCore](../models/productscore.md) | :heavy_check_mark: | Name of the Cribl product to get Worker, Edge, or Outpost Nodes for. | -| `filter_exp` | *Optional[str]* | :heavy_minus_sign: | Filter expression to evaluate against Nodes for inclusion in the response. | -| `sort_exp` | *Optional[str]* | :heavy_minus_sign: | Sorting expression to evaluate against Nodes to specify the sort order for the response. | -| `filter_` | *Optional[str]* | :heavy_minus_sign: | JSON-stringified filter object to evaluate against Nodes for inclusion in the response. | -| `sort` | *Optional[str]* | :heavy_minus_sign: | JSON-stringified sorting object to evaluate against Nodes to specify the sort order for the response. | -| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of Nodes to return in the response for this request. Use with offset to paginate the response into manageable batches. | -| `offset` | *Optional[int]* | :heavy_minus_sign: | Starting point from which to retrieve results for this request. Use with limit to paginate the response into manageable batches. | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | +| `product` | [models.ProductsCore](../models/productscore.md) | :heavy_check_mark: | Name of the Cribl product to get Worker, Edge, or Outpost Nodes for. | | +| `filter_exp` | *Optional[str]* | :heavy_minus_sign: | Filter expression to evaluate against Nodes for inclusion in the response. | group=="default" | +| `sort_exp` | *Optional[str]* | :heavy_minus_sign: | Sorting expression to evaluate against Nodes to specify the sort order for the response. | | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JSON-stringified filter object to evaluate against Nodes for inclusion in the response. | %7B%22field%22%3A%22group%22%2C%22op%22%3A%22is%22%2C%22value%22%3A%22default%22%7D | +| `sort` | *Optional[str]* | :heavy_minus_sign: | JSON-stringified sorting object to evaluate against Nodes to specify the sort order for the response. | | +| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of Nodes to return in the response for this request. Use with offset to paginate the response into manageable batches. | | +| `offset` | *Optional[int]* | :heavy_minus_sign: | Starting point from which to retrieve results for this request. Use with limit to paginate the response into manageable batches. | | \ No newline at end of file diff --git a/docs/models/getproductsworkersbyproductresponse.md b/docs/models/getproductsworkersbyproductresponse.md index 31fc57940..21bd179cd 100644 --- a/docs/models/getproductsworkersbyproductresponse.md +++ b/docs/models/getproductsworkersbyproductresponse.md @@ -3,6 +3,6 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | -| `result` | [models.CountedMasterWorkerEntry](../models/countedmasterworkerentry.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | +| `result` | [models.GetProductsWorkersByProductResponseBody](../models/getproductsworkersbyproductresponsebody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/getproductsworkersbyproductresponsebody.md b/docs/models/getproductsworkersbyproductresponsebody.md new file mode 100644 index 000000000..14ba61fb7 --- /dev/null +++ b/docs/models/getproductsworkersbyproductresponsebody.md @@ -0,0 +1,19 @@ +# GetProductsWorkersByProductResponseBody + +List of MasterWorkerEntry objects. + + +## Supported Types + +### `models.CountedMasterWorkerEntry` + +```python +value: models.CountedMasterWorkerEntry = /* values here */ +``` + +### `models.PaginatedMasterWorkerEntry` + +```python +value: models.PaginatedMasterWorkerEntry = /* values here */ +``` + diff --git a/docs/models/getsavedjobrequest.md b/docs/models/getsavedjobrequest.md index 1ef533464..065cd8ef4 100644 --- a/docs/models/getsavedjobrequest.md +++ b/docs/models/getsavedjobrequest.md @@ -5,4 +5,6 @@ | 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. | +| `offset` | *Optional[int]* | :heavy_minus_sign: | Pagination offset | +| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of items to return | \ No newline at end of file diff --git a/docs/models/getsavedjobresponse.md b/docs/models/getsavedjobresponse.md new file mode 100644 index 000000000..c33f79e26 --- /dev/null +++ b/docs/models/getsavedjobresponse.md @@ -0,0 +1,8 @@ +# GetSavedJobResponse + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | +| `result` | [models.GetSavedJobResponseBody](../models/getsavedjobresponsebody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/getsavedjobresponsebody.md b/docs/models/getsavedjobresponsebody.md new file mode 100644 index 000000000..98ea98ea7 --- /dev/null +++ b/docs/models/getsavedjobresponsebody.md @@ -0,0 +1,19 @@ +# GetSavedJobResponseBody + +The list of Collectors in a response envelope with count and items. + + +## Supported Types + +### `models.CountedSavedJobResponse` + +```python +value: models.CountedSavedJobResponse = /* values here */ +``` + +### `models.PaginatedSavedJobResponse` + +```python +value: models.PaginatedSavedJobResponse = /* values here */ +``` + diff --git a/docs/models/getversionrequest.md b/docs/models/getversionrequest.md index 3183353ce..e2bd5c9d9 100644 --- a/docs/models/getversionrequest.md +++ b/docs/models/getversionrequest.md @@ -5,4 +5,6 @@ | Field | Type | Required | Description | | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | -| `count` | *Optional[int]* | :heavy_minus_sign: | Maximum number of commits to return in the response for this request. | \ No newline at end of file +| `count` | *Optional[int]* | :heavy_minus_sign: | Maximum number of commits to return in the response for this request. | +| `offset` | *Optional[int]* | :heavy_minus_sign: | Pagination offset | +| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of items to return | \ No newline at end of file diff --git a/docs/models/getversionresponse.md b/docs/models/getversionresponse.md new file mode 100644 index 000000000..7b5a9411f --- /dev/null +++ b/docs/models/getversionresponse.md @@ -0,0 +1,8 @@ +# GetVersionResponse + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | +| `result` | [models.GetVersionResponseBody](../models/getversionresponsebody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/getversionresponsebody.md b/docs/models/getversionresponsebody.md new file mode 100644 index 000000000..b54663529 --- /dev/null +++ b/docs/models/getversionresponsebody.md @@ -0,0 +1,19 @@ +# GetVersionResponseBody + +List of GitLogResult objects. + + +## Supported Types + +### `models.CountedGitLogResult` + +```python +value: models.CountedGitLogResult = /* values here */ +``` + +### `models.PaginatedGitLogResult` + +```python +value: models.PaginatedGitLogResult = /* values here */ +``` + diff --git a/docs/models/gitcommitbody.md b/docs/models/gitcommitbody.md index aca27e3b1..4c90cc383 100644 --- a/docs/models/gitcommitbody.md +++ b/docs/models/gitcommitbody.md @@ -3,8 +3,8 @@ ## Fields -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `effective` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `files` | List[*str*] | :heavy_minus_sign: | N/A | -| `message` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | +| `effective` | *Optional[bool]* | :heavy_minus_sign: | If true, apply the commit to the group's effective configuration. Otherwise, false. | +| `files` | List[*str*] | :heavy_minus_sign: | Array of file paths to include in the commit, relative to the configuration root. If omitted, all pending changes are committed. | +| `message` | *str* | :heavy_check_mark: | Commit message to use for the new Git commit. | \ No newline at end of file diff --git a/docs/models/gitcommitsummary.md b/docs/models/gitcommitsummary.md index 5fc94abbb..32ec0bc5d 100644 --- a/docs/models/gitcommitsummary.md +++ b/docs/models/gitcommitsummary.md @@ -3,10 +3,10 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | -| `author` | [Optional[models.Author]](../models/author.md) | :heavy_minus_sign: | N/A | -| `branch` | *str* | :heavy_check_mark: | N/A | -| `commit` | *str* | :heavy_check_mark: | N/A | -| `files` | [Optional[models.FilesTypeGitCommitSummary]](../models/filestypegitcommitsummary.md) | :heavy_minus_sign: | N/A | -| `summary` | [models.Summary](../models/summary.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | +| `author` | [Optional[models.Author]](../models/author.md) | :heavy_minus_sign: | Author of the Git commit, including email and display name. | +| `branch` | *str* | :heavy_check_mark: | Name of the Git branch the commit was made on. | +| `commit` | *str* | :heavy_check_mark: | Full SHA-1 hash of the new commit. | +| `files` | [Optional[models.GitCommitSummaryFiles]](../models/gitcommitsummaryfiles.md) | :heavy_minus_sign: | Files affected by the commit, grouped by change type. | +| `summary` | [models.Summary](../models/summary.md) | :heavy_check_mark: | Summary of line changes in the commit. | \ No newline at end of file diff --git a/docs/models/gitcommitsummaryfiles.md b/docs/models/gitcommitsummaryfiles.md new file mode 100644 index 000000000..0a7d3e857 --- /dev/null +++ b/docs/models/gitcommitsummaryfiles.md @@ -0,0 +1,13 @@ +# GitCommitSummaryFiles + +Files affected by the commit, grouped by change type. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | +| `created` | List[*str*] | :heavy_minus_sign: | Array of file paths that were created in the commit. | +| `deleted` | List[*str*] | :heavy_minus_sign: | Array of file paths that were deleted in the commit. | +| `modified` | List[*str*] | :heavy_minus_sign: | Array of file paths that were modified in the commit. | +| `renamed` | List[[models.GitFileRename](../models/gitfilerename.md)] | :heavy_minus_sign: | Array of file rename operations, each containing the original path and the new path. | \ No newline at end of file diff --git a/docs/models/gitcountresult.md b/docs/models/gitcountresult.md index 4304400a5..62cb14c8c 100644 --- a/docs/models/gitcountresult.md +++ b/docs/models/gitcountresult.md @@ -3,6 +3,6 @@ ## Fields -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `count` | *float* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | +| `count` | *int* | :heavy_check_mark: | Number of files that changed since the specified commit. | \ No newline at end of file diff --git a/docs/models/diffline.md b/docs/models/gitdifflines.md similarity index 95% rename from docs/models/diffline.md rename to docs/models/gitdifflines.md index 9a85d6ec4..5bcfd710c 100644 --- a/docs/models/diffline.md +++ b/docs/models/gitdifflines.md @@ -1,4 +1,4 @@ -# DiffLine +# GitDiffLines ## Supported Types diff --git a/docs/models/gitfile.md b/docs/models/gitfile.md index fd7cdee39..64095c39f 100644 --- a/docs/models/gitfile.md +++ b/docs/models/gitfile.md @@ -3,8 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -| `children` | List[[models.GitFile](../models/gitfile.md)] | :heavy_minus_sign: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `state` | *Optional[str]* | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | +| `auto_included_in_commit` | *Optional[bool]* | :heavy_minus_sign: | If true, this file is automatically included in commits without being explicitly listed. Otherwise, false. | +| `children` | List[[models.GitFile](../models/gitfile.md)] | :heavy_minus_sign: | When this entry is a directory, nested files and subdirectories. Each array element matches this same object shape (recursive file tree). | +| `name` | *str* | :heavy_check_mark: | Path of the file relative to the configuration root. | +| `state` | *Optional[str]* | :heavy_minus_sign: | Git status code for the file: M for modified, A for added, or D for deleted. | \ No newline at end of file diff --git a/docs/models/gitfilesresponse.md b/docs/models/gitfilesresponse.md index 1f0364834..5c1e6750f 100644 --- a/docs/models/gitfilesresponse.md +++ b/docs/models/gitfilesresponse.md @@ -3,8 +3,8 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -| `commit_message` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | -| `count` | *float* | :heavy_check_mark: | N/A | -| `items` | List[[models.GitFile](../models/gitfile.md)] | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| `commit_message` | *Optional[str]* | :heavy_minus_sign: | Commit message of the specified commit. | +| `count` | *int* | :heavy_check_mark: | Number of files returned. | +| `items` | List[[models.GitFile](../models/gitfile.md)] | :heavy_check_mark: | Array of files that changed since the specified commit. | \ No newline at end of file diff --git a/docs/models/gitinfo.md b/docs/models/gitinfo.md index e408146a6..2ea75fa10 100644 --- a/docs/models/gitinfo.md +++ b/docs/models/gitinfo.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | -| `remote` | [models.Remote](../models/remote.md) | :heavy_check_mark: | N/A | -| `versioning` | *bool* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | +| `remote` | [models.Remote](../models/remote.md) | :heavy_check_mark: | URL of the configured remote Git repository, with credentials redacted. false if no remote is configured. | +| `versioning` | *bool* | :heavy_check_mark: | If true, Git versioning is enabled for this Cribl instance. Otherwise, false. | \ No newline at end of file diff --git a/docs/models/gitlogresult.md b/docs/models/gitlogresult.md index c071f3718..32c094ae0 100644 --- a/docs/models/gitlogresult.md +++ b/docs/models/gitlogresult.md @@ -3,12 +3,12 @@ ## Fields -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `author_email` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `author_name` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `body` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `date_` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `hash` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `message` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `refs` | *Optional[str]* | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | +| `author_email` | *Optional[str]* | :heavy_minus_sign: | Email address of the commit author. | +| `author_name` | *Optional[str]* | :heavy_minus_sign: | Display name of the commit author. | +| `body` | *Optional[str]* | :heavy_minus_sign: | Body of the commit message, excluding the subject line. | +| `date_` | *Optional[str]* | :heavy_minus_sign: | Date and time of the commit in ISO 8601 format with timezone offset. | +| `hash` | *Optional[str]* | :heavy_minus_sign: | Full SHA-1 hash of the commit. | +| `message` | *Optional[str]* | :heavy_minus_sign: | First line of the commit message (the subject). | +| `refs` | *Optional[str]* | :heavy_minus_sign: | Git refs (branches, tags) pointing to this commit. | \ No newline at end of file diff --git a/docs/models/gitrevertparams.md b/docs/models/gitrevertparams.md index 9d57d1f45..aa5782f89 100644 --- a/docs/models/gitrevertparams.md +++ b/docs/models/gitrevertparams.md @@ -3,8 +3,8 @@ ## Fields -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `commit` | *str* | :heavy_check_mark: | N/A | -| `force` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `message` | *Optional[str]* | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | +| `commit` | *str* | :heavy_check_mark: | SHA-1 hash of the commit to revert. | +| `force` | *Optional[bool]* | :heavy_minus_sign: | If true, force the revert even when the working directory is not clean. Otherwise, false. | +| `message` | *Optional[str]* | :heavy_minus_sign: | Custom message to use for the revert commit. If omitted, a default message is generated. | \ No newline at end of file diff --git a/docs/models/gitrevertresult.md b/docs/models/gitrevertresult.md index 66768346f..993d0a1c8 100644 --- a/docs/models/gitrevertresult.md +++ b/docs/models/gitrevertresult.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | -| `audit` | [models.Audit](../models/audit.md) | :heavy_check_mark: | N/A | -| `reverted` | *bool* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| `audit` | [models.Audit](../models/audit.md) | :heavy_check_mark: | Audit record for the revert operation, including the commit hash and affected files. | +| `reverted` | *bool* | :heavy_check_mark: | If true, the revert was applied successfully. Otherwise, false. | \ No newline at end of file diff --git a/docs/models/filestypegitcommitsummary.md b/docs/models/gitrevertresultfiles.md similarity index 96% rename from docs/models/filestypegitcommitsummary.md rename to docs/models/gitrevertresultfiles.md index 6b2737ed1..a44642cd7 100644 --- a/docs/models/filestypegitcommitsummary.md +++ b/docs/models/gitrevertresultfiles.md @@ -1,4 +1,6 @@ -# FilesTypeGitCommitSummary +# GitRevertResultFiles + +Files affected by the revert, grouped by change type. ## Fields diff --git a/docs/models/gitshowresult.md b/docs/models/gitshowresult.md index f6a875cda..d37bb3424 100644 --- a/docs/models/gitshowresult.md +++ b/docs/models/gitshowresult.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | -| `commit_message` | *str* | :heavy_check_mark: | N/A | +| `commit_message` | *str* | :heavy_check_mark: | Full commit message of the specified commit. | | `diff_json` | List[[models.DiffFiles](../models/difffiles.md)] | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/gitstatusresult.md b/docs/models/gitstatusresult.md index 57d3d324e..7c5122d3a 100644 --- a/docs/models/gitstatusresult.md +++ b/docs/models/gitstatusresult.md @@ -3,16 +3,16 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -| `ahead` | *float* | :heavy_check_mark: | N/A | -| `behind` | *float* | :heavy_check_mark: | N/A | -| `conflicted` | List[*str*] | :heavy_check_mark: | N/A | -| `created` | List[*str*] | :heavy_check_mark: | N/A | -| `current` | *str* | :heavy_check_mark: | N/A | -| `deleted` | List[*str*] | :heavy_check_mark: | N/A | -| `files` | List[[models.File](../models/file.md)] | :heavy_check_mark: | N/A | -| `modified` | List[*str*] | :heavy_check_mark: | N/A | -| `not_added` | List[*str*] | :heavy_check_mark: | N/A | -| `renamed` | List[[models.Renamed](../models/renamed.md)] | :heavy_check_mark: | N/A | -| `staged` | List[*str*] | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| `ahead` | *int* | :heavy_check_mark: | Number of local commits that have not been pushed to the remote repository. | +| `behind` | *int* | :heavy_check_mark: | Number of commits in the remote repository that have not been pulled to the local branch. | +| `conflicted` | List[*str*] | :heavy_check_mark: | Array of file paths that have merge conflicts. | +| `created` | List[*str*] | :heavy_check_mark: | Array of file paths for newly created files that are staged for commit. | +| `current` | *str* | :heavy_check_mark: | Name of the current Git branch. | +| `deleted` | List[*str*] | :heavy_check_mark: | Array of file paths for deleted files that are staged for commit. | +| `files` | List[[models.File](../models/file.md)] | :heavy_check_mark: | Array of all changed files with their index and working directory status codes. | +| `modified` | List[*str*] | :heavy_check_mark: | Array of file paths for modified files that are staged for commit. | +| `not_added` | List[*str*] | :heavy_check_mark: | Array of file paths that have been modified but are not staged for commit. | +| `renamed` | List[[models.Renamed](../models/renamed.md)] | :heavy_check_mark: | Array of file rename operations that are staged for commit. | +| `staged` | List[*str*] | :heavy_check_mark: | Array of file paths that are staged for the next commit. | \ No newline at end of file diff --git a/docs/models/groupcreaterequest.md b/docs/models/groupcreaterequest.md index 67b11bf4d..026bac0e5 100644 --- a/docs/models/groupcreaterequest.md +++ b/docs/models/groupcreaterequest.md @@ -3,22 +3,23 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `cloud` | [Optional[models.ConfigGroupCloud]](../models/configgroupcloud.md) | :heavy_minus_sign: | N/A | | -| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Worker Group, Outpost Group, or Edge Fleet. | | -| `estimated_ingest_rate` | [Optional[models.EstimatedIngestRateOptionsConfigGroup]](../models/estimatedingestrateoptionsconfiggroup.md) | :heavy_minus_sign: | Estimated ingest rate for a Cribl.Cloud Worker Group, in GB/sec. | 4096 | -| `id` | *str* | :heavy_check_mark: | Unique identifier. | | -| `inherits` | *Optional[str]* | :heavy_minus_sign: | The id of the parent Edge Fleet. If provided, this Fleet inherits configuration from the specified parent Fleet. Applies only to Edge Fleets. | | -| ~~`is_fleet`~~ | *Optional[bool]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

Indicates whether this is an Edge Fleet. Deprecated. Use to identify Edge Fleets. | | -| ~~`is_search`~~ | *Optional[bool]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

Indicates whether this is an internal Search Group. Deprecated. Use to identify Search Groups. | | -| `max_worker_age` | *Optional[str]* | :heavy_minus_sign: | Maximum duration a Worker or Node can remain disconnected before the Leader removes it. The value is a numeral with units, such as 8h, 5d, 1w. | | -| `name` | *Optional[str]* | :heavy_minus_sign: | Name of the Worker Group, Outpost Group, or Edge Fleet. | | -| `on_prem` | *Optional[bool]* | :heavy_minus_sign: | If true, the Worker Group, Outpost Group, or Edge Fleet uses customer-hosted (on-prem) workers. If false, the Worker Group, Outpost Group, or Edge Fleet is managed in Cribl.Cloud. | | -| `provisioned` | *Optional[bool]* | :heavy_minus_sign: | If true, the Cribl.Cloud Worker Group has active Workers provisioned. Applies only to Cribl.Cloud Worker Groups. | | -| `source_group_id` | *Optional[str]* | :heavy_minus_sign: | The id of an existing Worker Group, Outpost Group, or Edge Fleet to copy configuration from when creating a new Group or Fleet. | | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags attached to the Worker Group, Outpost Group, or Edge Fleet for categorization, filtering, and tag-based routing and policy application. Useful for organizing Groups and Fleets and enabling tag-driven workflows in Cribl. | | -| ~~`tags`~~ | *Optional[str]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

Legacy system-level tags associated with the Worker Group, Outpost Group, or Edge Fleet. Use streamtags instead. | | -| `type` | [Optional[models.TypeOptionsConfigGroup]](../models/typeoptionsconfiggroup.md) | :heavy_minus_sign: | Explicit type of the Worker Group, Outpost Group, or Edge Fleet. | | -| `upgrade_version` | *Optional[str]* | :heavy_minus_sign: | Target software upgrade version. Applies only to Outpost Groups and Edge Fleets. | | -| `worker_remote_access` | *Optional[bool]* | :heavy_minus_sign: | If true, the Leader allows remote access (teleporting) into the Workers or Nodes of the Worker Group, Outpost Group, or Edge Fleet. | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `cloud` | [Optional[models.ConfigGroupCloud]](../models/configgroupcloud.md) | :heavy_minus_sign: | N/A | | +| `collectors_ha_enabled` | *Optional[bool]* | :heavy_minus_sign: | Keeps Collector jobs running if the Leader Node fails. Applies only to Stream Worker Groups. Always true for Cribl.Cloud groups; defaults to false for on-prem groups. to Stream Worker Groups. Always true for Cribl.Cloud groups; defaults to false for on-prem groups. | | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Worker Group, Outpost Group, or Edge Fleet. | | +| `estimated_ingest_rate` | [Optional[models.EstimatedIngestRateOptionsConfigGroup]](../models/estimatedingestrateoptionsconfiggroup.md) | :heavy_minus_sign: | Estimated ingest rate for a Cribl.Cloud Worker Group, in GB/sec. | 4096 | +| `id` | *str* | :heavy_check_mark: | Unique identifier. | | +| `inherits` | *Optional[str]* | :heavy_minus_sign: | The id of the parent Edge Fleet. If provided, this Fleet inherits configuration from the specified parent Fleet. Applies only to Edge Fleets. | | +| ~~`is_fleet`~~ | *Optional[bool]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

Indicates whether this is an Edge Fleet. Deprecated. Use to identify Edge Fleets. | | +| ~~`is_search`~~ | *Optional[bool]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

Indicates whether this is an internal Search Group. Deprecated. Use to identify Search Groups. | | +| `max_worker_age` | *Optional[str]* | :heavy_minus_sign: | Maximum duration a Worker or Node can remain disconnected before the Leader removes it. The value is a numeral with units, such as 8h, 5d, 1w. | | +| `name` | *Optional[str]* | :heavy_minus_sign: | Name of the Worker Group, Outpost Group, or Edge Fleet. | | +| `on_prem` | *Optional[bool]* | :heavy_minus_sign: | If true, the Worker Group, Outpost Group, or Edge Fleet uses customer-hosted (on-prem) workers. If false, the Worker Group, Outpost Group, or Edge Fleet is managed in Cribl.Cloud. | | +| `provisioned` | *Optional[bool]* | :heavy_minus_sign: | If true, the Cribl.Cloud Worker Group has active Workers provisioned. Applies only to Cribl.Cloud Worker Groups. | | +| `source_group_id` | *Optional[str]* | :heavy_minus_sign: | The id of an existing Worker Group, Outpost Group, or Edge Fleet to copy configuration from when creating a new Group or Fleet. | | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags attached to the Worker Group, Outpost Group, or Edge Fleet for categorization, filtering, and tag-based routing and policy application. Useful for organizing Groups and Fleets and enabling tag-driven workflows in Cribl. | | +| ~~`tags`~~ | *Optional[str]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

Legacy system-level tags associated with the Worker Group, Outpost Group, or Edge Fleet. Use streamtags instead. | | +| `type` | [Optional[models.TypeOptionsConfigGroup]](../models/typeoptionsconfiggroup.md) | :heavy_minus_sign: | Explicit type of the Worker Group, Outpost Group, or Edge Fleet. | | +| `upgrade_version` | *Optional[str]* | :heavy_minus_sign: | Target software upgrade version. Applies only to Outpost Groups and Edge Fleets. | | +| `worker_remote_access` | *Optional[bool]* | :heavy_minus_sign: | If true, the Leader allows remote access (teleporting) into the Workers or Nodes of the Worker Group, Outpost Group, or Edge Fleet. | | \ No newline at end of file diff --git a/docs/models/hbcriblinfo.md b/docs/models/hbcriblinfo.md index 683b28953..b09d90706 100644 --- a/docs/models/hbcriblinfo.md +++ b/docs/models/hbcriblinfo.md @@ -15,6 +15,7 @@ | `install_type` | *Optional[str]* | :heavy_minus_sign: | Value of the CRIBL_INSTALL_TYPE environment variable, relayed for upgrade decisions (since 4.5.0). | | | `lookup_versions` | Dict[str, Dict[str, *str*]] | :heavy_minus_sign: | Objects that map Lookup files to deployment versions. | | | `master` | [Optional[models.HBLeaderInfo]](../models/hbleaderinfo.md) | :heavy_minus_sign: | Connection parameters for the Leader Node, as reported in a Worker heartbeat. | | +| `overlay_id` | *Optional[str]* | :heavy_minus_sign: | Currently active overlay identifier on the node. Omitted if no overlay is active. | | | `pid` | *Optional[int]* | :heavy_minus_sign: | The process ID. | | | `socks_enabled` | *Optional[bool]* | :heavy_minus_sign: | If true, SOCKS proxy connectivity is enabled for the node. | | | `start_time` | *int* | :heavy_check_mark: | Timestamp (in Unix time) when the Cribl server process started, in milliseconds. | | diff --git a/docs/models/healthstringtype.md b/docs/models/health.md similarity index 56% rename from docs/models/healthstringtype.md rename to docs/models/health.md index bf0d813bb..13b9574a8 100644 --- a/docs/models/healthstringtype.md +++ b/docs/models/health.md @@ -1,11 +1,13 @@ -# HealthStringType +# Health + +Health status of the persistent queue. ## Example Usage ```python -from cribl_control_plane.models import HealthStringType +from cribl_control_plane.models import Health -value = HealthStringType.GREEN +value = Health.GREEN # Open enum: unrecognized values are captured as UnrecognizedStr ``` @@ -16,6 +18,6 @@ value = HealthStringType.GREEN | Name | Value | | --------- | --------- | | `GREEN` | Green | -| `YELLOW` | Yellow | | `RED` | Red | -| `UNKNOWN` | Unknown | \ No newline at end of file +| `UNKNOWN` | Unknown | +| `YELLOW` | Yellow | \ No newline at end of file diff --git a/docs/models/healthcheckauthenticationbasic.md b/docs/models/healthcheckauthenticationbasic.md index 2ee3f44b2..8c2b00523 100644 --- a/docs/models/healthcheckauthenticationbasic.md +++ b/docs/models/healthcheckauthenticationbasic.md @@ -31,5 +31,10 @@ | `client_secret_param_name` | *Optional[str]* | :heavy_minus_sign: | Parameter name that contains client secret. Defaults to 'client_secret', and is automatically added to request parameters. | | `client_secret_param_value` | *Optional[str]* | :heavy_minus_sign: | Secret value to add to HTTP requests as the 'client secret' parameter. Stored on disk encrypted, and is automatically added to request parameters | | `auth_request_params` | List[[models.AuthRequestParamConfHealthCheckAuthenticationOauth](../models/authrequestparamconfhealthcheckauthenticationoauth.md)] | :heavy_minus_sign: | OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded. | +| `refresh_token_field` | *Optional[str]* | :heavy_minus_sign: | Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials. | +| `rotate_refresh_token` | *Optional[bool]* | :heavy_minus_sign: | The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use. | +| `refresh_url` | *Optional[str]* | :heavy_minus_sign: | Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL. | +| `template_refresh_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime. | +| `refresh_request_params` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauth](../models/refreshrequestparamconfhealthcheckauthenticationoauth.md)] | :heavy_minus_sign: | Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a text secret that contains the client secret's value. | | `template_collect_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'collectUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'collectUrl' at runtime. | \ No newline at end of file diff --git a/docs/models/healthcheckauthenticationbasicsecret.md b/docs/models/healthcheckauthenticationbasicsecret.md index ce7b6ee0b..d91deece1 100644 --- a/docs/models/healthcheckauthenticationbasicsecret.md +++ b/docs/models/healthcheckauthenticationbasicsecret.md @@ -31,5 +31,10 @@ | `client_secret_param_name` | *Optional[str]* | :heavy_minus_sign: | Parameter name that contains client secret. Defaults to 'client_secret', and is automatically added to request parameters. | | `client_secret_param_value` | *Optional[str]* | :heavy_minus_sign: | Secret value to add to HTTP requests as the 'client secret' parameter. Stored on disk encrypted, and is automatically added to request parameters | | `auth_request_params` | List[[models.AuthRequestParamConfHealthCheckAuthenticationOauth](../models/authrequestparamconfhealthcheckauthenticationoauth.md)] | :heavy_minus_sign: | OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded. | +| `refresh_token_field` | *Optional[str]* | :heavy_minus_sign: | Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials. | +| `rotate_refresh_token` | *Optional[bool]* | :heavy_minus_sign: | The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use. | +| `refresh_url` | *Optional[str]* | :heavy_minus_sign: | Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL. | +| `template_refresh_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime. | +| `refresh_request_params` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauth](../models/refreshrequestparamconfhealthcheckauthenticationoauth.md)] | :heavy_minus_sign: | Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a text secret that contains the client secret's value. | | `template_collect_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'collectUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'collectUrl' at runtime. | \ No newline at end of file diff --git a/docs/models/healthcheckauthenticationlogin.md b/docs/models/healthcheckauthenticationlogin.md index 01f977bad..dea2c360f 100644 --- a/docs/models/healthcheckauthenticationlogin.md +++ b/docs/models/healthcheckauthenticationlogin.md @@ -31,5 +31,10 @@ | `client_secret_param_name` | *Optional[str]* | :heavy_minus_sign: | Parameter name that contains client secret. Defaults to 'client_secret', and is automatically added to request parameters. | | `client_secret_param_value` | *Optional[str]* | :heavy_minus_sign: | Secret value to add to HTTP requests as the 'client secret' parameter. Stored on disk encrypted, and is automatically added to request parameters | | `auth_request_params` | List[[models.AuthRequestParamConfHealthCheckAuthenticationOauth](../models/authrequestparamconfhealthcheckauthenticationoauth.md)] | :heavy_minus_sign: | OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded. | +| `refresh_token_field` | *Optional[str]* | :heavy_minus_sign: | Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials. | +| `rotate_refresh_token` | *Optional[bool]* | :heavy_minus_sign: | The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use. | +| `refresh_url` | *Optional[str]* | :heavy_minus_sign: | Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL. | +| `template_refresh_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime. | +| `refresh_request_params` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauth](../models/refreshrequestparamconfhealthcheckauthenticationoauth.md)] | :heavy_minus_sign: | Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a text secret that contains the client secret's value. | | `template_collect_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'collectUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'collectUrl' at runtime. | \ No newline at end of file diff --git a/docs/models/healthcheckauthenticationloginsecret.md b/docs/models/healthcheckauthenticationloginsecret.md index a42187dcf..d960589c4 100644 --- a/docs/models/healthcheckauthenticationloginsecret.md +++ b/docs/models/healthcheckauthenticationloginsecret.md @@ -31,5 +31,10 @@ | `client_secret_param_name` | *Optional[str]* | :heavy_minus_sign: | Parameter name that contains client secret. Defaults to 'client_secret', and is automatically added to request parameters. | | `client_secret_param_value` | *Optional[str]* | :heavy_minus_sign: | Secret value to add to HTTP requests as the 'client secret' parameter. Stored on disk encrypted, and is automatically added to request parameters | | `auth_request_params` | List[[models.AuthRequestParamConfHealthCheckAuthenticationOauth](../models/authrequestparamconfhealthcheckauthenticationoauth.md)] | :heavy_minus_sign: | OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded. | +| `refresh_token_field` | *Optional[str]* | :heavy_minus_sign: | Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials. | +| `rotate_refresh_token` | *Optional[bool]* | :heavy_minus_sign: | The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use. | +| `refresh_url` | *Optional[str]* | :heavy_minus_sign: | Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL. | +| `template_refresh_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime. | +| `refresh_request_params` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauth](../models/refreshrequestparamconfhealthcheckauthenticationoauth.md)] | :heavy_minus_sign: | Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a text secret that contains the client secret's value. | | `template_collect_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'collectUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'collectUrl' at runtime. | \ No newline at end of file diff --git a/docs/models/healthcheckauthenticationnone.md b/docs/models/healthcheckauthenticationnone.md index 06cf2e1f7..697927f7d 100644 --- a/docs/models/healthcheckauthenticationnone.md +++ b/docs/models/healthcheckauthenticationnone.md @@ -31,5 +31,10 @@ | `client_secret_param_name` | *Optional[str]* | :heavy_minus_sign: | Parameter name that contains client secret. Defaults to 'client_secret', and is automatically added to request parameters. | | `client_secret_param_value` | *Optional[str]* | :heavy_minus_sign: | Secret value to add to HTTP requests as the 'client secret' parameter. Stored on disk encrypted, and is automatically added to request parameters | | `auth_request_params` | List[[models.AuthRequestParamConfHealthCheckAuthenticationOauth](../models/authrequestparamconfhealthcheckauthenticationoauth.md)] | :heavy_minus_sign: | OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded. | +| `refresh_token_field` | *Optional[str]* | :heavy_minus_sign: | Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials. | +| `rotate_refresh_token` | *Optional[bool]* | :heavy_minus_sign: | The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use. | +| `refresh_url` | *Optional[str]* | :heavy_minus_sign: | Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL. | +| `template_refresh_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime. | +| `refresh_request_params` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauth](../models/refreshrequestparamconfhealthcheckauthenticationoauth.md)] | :heavy_minus_sign: | Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a text secret that contains the client secret's value. | | `template_collect_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'collectUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'collectUrl' at runtime. | \ No newline at end of file diff --git a/docs/models/healthcheckauthenticationoauth.md b/docs/models/healthcheckauthenticationoauth.md index 7e042c6ea..7246e35e1 100644 --- a/docs/models/healthcheckauthenticationoauth.md +++ b/docs/models/healthcheckauthenticationoauth.md @@ -13,8 +13,13 @@ | `client_secret_param_value` | *str* | :heavy_check_mark: | Secret value to add to HTTP requests as the 'client secret' parameter. Stored on disk encrypted, and is automatically added to request parameters | | `auth_request_params` | List[[models.AuthRequestParamConfHealthCheckAuthenticationOauth](../models/authrequestparamconfhealthcheckauthenticationoauth.md)] | :heavy_minus_sign: | OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded. | | `auth_request_headers` | List[[models.AuthRequestHeaderConfHealthCheckAuthenticationLogin](../models/authrequestheaderconfhealthcheckauthenticationlogin.md)] | :heavy_minus_sign: | Optional authentication request headers. | +| `refresh_token_field` | *Optional[str]* | :heavy_minus_sign: | Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials. | +| `rotate_refresh_token` | *Optional[bool]* | :heavy_minus_sign: | The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use. | +| `refresh_url` | *Optional[str]* | :heavy_minus_sign: | Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL. | +| `refresh_request_params` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauth](../models/refreshrequestparamconfhealthcheckauthenticationoauth.md)] | :heavy_minus_sign: | Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret. | | `template_login_url` | *Optional[str]* | :heavy_minus_sign: | 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_token_resp_attribute` | *Optional[str]* | :heavy_minus_sign: | Binds 'tokenRespAttribute' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tokenRespAttribute' at runtime. | +| `template_refresh_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime. | | `discovery` | [Optional[models.HealthCheckAuthenticationOauthDiscovery]](../models/healthcheckauthenticationoauthdiscovery.md) | :heavy_minus_sign: | N/A | | `collect_url` | *str* | :heavy_check_mark: | Expression to derive URL to use for the health check operation (can be a constant). | | `collect_method` | [models.HealthCheckAuthenticationOauthHealthCheckMethod](../models/healthcheckauthenticationoauthhealthcheckmethod.md) | :heavy_check_mark: | Health check HTTP method. | diff --git a/docs/models/healthcheckauthenticationoauthsecret.md b/docs/models/healthcheckauthenticationoauthsecret.md index e29df92b0..71504c3a0 100644 --- a/docs/models/healthcheckauthenticationoauthsecret.md +++ b/docs/models/healthcheckauthenticationoauthsecret.md @@ -13,8 +13,13 @@ | `text_secret` | *str* | :heavy_check_mark: | Select or create a text secret that contains the client secret's value. | | `auth_request_params` | List[[models.AuthRequestParamConfHealthCheckAuthenticationOauth](../models/authrequestparamconfhealthcheckauthenticationoauth.md)] | :heavy_minus_sign: | OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded. | | `auth_request_headers` | List[[models.AuthRequestHeaderConfHealthCheckAuthenticationLogin](../models/authrequestheaderconfhealthcheckauthenticationlogin.md)] | :heavy_minus_sign: | Optional authentication request headers. | +| `refresh_token_field` | *Optional[str]* | :heavy_minus_sign: | Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials. | +| `rotate_refresh_token` | *Optional[bool]* | :heavy_minus_sign: | The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use. | +| `refresh_url` | *Optional[str]* | :heavy_minus_sign: | Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL. | +| `refresh_request_params` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauth](../models/refreshrequestparamconfhealthcheckauthenticationoauth.md)] | :heavy_minus_sign: | Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret. | | `template_login_url` | *Optional[str]* | :heavy_minus_sign: | 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_token_resp_attribute` | *Optional[str]* | :heavy_minus_sign: | Binds 'tokenRespAttribute' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tokenRespAttribute' at runtime. | +| `template_refresh_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime. | | `discovery` | [Optional[models.HealthCheckAuthenticationOauthSecretDiscovery]](../models/healthcheckauthenticationoauthsecretdiscovery.md) | :heavy_minus_sign: | N/A | | `collect_url` | *str* | :heavy_check_mark: | Expression to derive URL to use for the health check operation (can be a constant). | | `collect_method` | [models.HealthCheckAuthenticationOauthSecretHealthCheckMethod](../models/healthcheckauthenticationoauthsecrethealthcheckmethod.md) | :heavy_check_mark: | Health check HTTP method. | diff --git a/docs/models/healthcheckcollectmethodget.md b/docs/models/healthcheckcollectmethodget.md index a2c87c3e6..7bd85f8cc 100644 --- a/docs/models/healthcheckcollectmethodget.md +++ b/docs/models/healthcheckcollectmethodget.md @@ -32,5 +32,10 @@ | `client_secret_param_name` | *Optional[str]* | :heavy_minus_sign: | Parameter name that contains client secret. Defaults to 'client_secret', and is automatically added to request parameters. | | `client_secret_param_value` | *Optional[str]* | :heavy_minus_sign: | Secret value to add to HTTP requests as the 'client secret' parameter. Stored on disk encrypted, and is automatically added to request parameters | | `auth_request_params` | List[[models.AuthRequestParamConfHealthCheckAuthenticationOauth](../models/authrequestparamconfhealthcheckauthenticationoauth.md)] | :heavy_minus_sign: | OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded. | +| `refresh_token_field` | *Optional[str]* | :heavy_minus_sign: | Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials. | +| `rotate_refresh_token` | *Optional[bool]* | :heavy_minus_sign: | The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use. | +| `refresh_url` | *Optional[str]* | :heavy_minus_sign: | Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL. | +| `template_refresh_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime. | +| `refresh_request_params` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauth](../models/refreshrequestparamconfhealthcheckauthenticationoauth.md)] | :heavy_minus_sign: | Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a text secret that contains the client secret's value. | | `template_collect_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'collectUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'collectUrl' at runtime. | \ No newline at end of file diff --git a/docs/models/healthcheckcollectmethodpost.md b/docs/models/healthcheckcollectmethodpost.md index de418b502..a6fe8c92b 100644 --- a/docs/models/healthcheckcollectmethodpost.md +++ b/docs/models/healthcheckcollectmethodpost.md @@ -32,5 +32,10 @@ | `client_secret_param_name` | *Optional[str]* | :heavy_minus_sign: | Parameter name that contains client secret. Defaults to 'client_secret', and is automatically added to request parameters. | | `client_secret_param_value` | *Optional[str]* | :heavy_minus_sign: | Secret value to add to HTTP requests as the 'client secret' parameter. Stored on disk encrypted, and is automatically added to request parameters | | `auth_request_params` | List[[models.AuthRequestParamConfHealthCheckAuthenticationOauth](../models/authrequestparamconfhealthcheckauthenticationoauth.md)] | :heavy_minus_sign: | OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded. | +| `refresh_token_field` | *Optional[str]* | :heavy_minus_sign: | Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials. | +| `rotate_refresh_token` | *Optional[bool]* | :heavy_minus_sign: | The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use. | +| `refresh_url` | *Optional[str]* | :heavy_minus_sign: | Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL. | +| `template_refresh_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime. | +| `refresh_request_params` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauth](../models/refreshrequestparamconfhealthcheckauthenticationoauth.md)] | :heavy_minus_sign: | Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a text secret that contains the client secret's value. | | `template_collect_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'collectUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'collectUrl' at runtime. | \ No newline at end of file diff --git a/docs/models/healthcheckcollectmethodpostwithbody.md b/docs/models/healthcheckcollectmethodpostwithbody.md index b28347ebb..a776d37d3 100644 --- a/docs/models/healthcheckcollectmethodpostwithbody.md +++ b/docs/models/healthcheckcollectmethodpostwithbody.md @@ -32,5 +32,10 @@ | `client_secret_param_name` | *Optional[str]* | :heavy_minus_sign: | Parameter name that contains client secret. Defaults to 'client_secret', and is automatically added to request parameters. | | `client_secret_param_value` | *Optional[str]* | :heavy_minus_sign: | Secret value to add to HTTP requests as the 'client secret' parameter. Stored on disk encrypted, and is automatically added to request parameters | | `auth_request_params` | List[[models.AuthRequestParamConfHealthCheckAuthenticationOauth](../models/authrequestparamconfhealthcheckauthenticationoauth.md)] | :heavy_minus_sign: | OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded. | +| `refresh_token_field` | *Optional[str]* | :heavy_minus_sign: | Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials. | +| `rotate_refresh_token` | *Optional[bool]* | :heavy_minus_sign: | The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use. | +| `refresh_url` | *Optional[str]* | :heavy_minus_sign: | Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL. | +| `template_refresh_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime. | +| `refresh_request_params` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauth](../models/refreshrequestparamconfhealthcheckauthenticationoauth.md)] | :heavy_minus_sign: | Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a text secret that contains the client secret's value. | | `template_collect_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'collectUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'collectUrl' at runtime. | \ No newline at end of file diff --git a/docs/models/healthcounttype.md b/docs/models/healthcounttype.md index b144d7d7d..61d63810d 100644 --- a/docs/models/healthcounttype.md +++ b/docs/models/healthcounttype.md @@ -3,9 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `green` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `yellow` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `red` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `unknown` | *Optional[float]* | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | +| `green` | *int* | :heavy_check_mark: | Number of Worker Processes reporting a healthy (Green) status. | +| `red` | *int* | :heavy_check_mark: | Number of Worker Processes reporting a critical (Red) status. | +| `unknown` | *int* | :heavy_check_mark: | Number of Worker Processes reporting an unknown health status. | +| `yellow` | *int* | :heavy_check_mark: | Number of Worker Processes reporting a degraded (Yellow) status. | \ No newline at end of file diff --git a/docs/models/healthoptionsstatus.md b/docs/models/healthoptionsstatus.md new file mode 100644 index 000000000..275c13d3e --- /dev/null +++ b/docs/models/healthoptionsstatus.md @@ -0,0 +1,23 @@ +# HealthOptionsStatus + +Overall health status of the Source or Destination. + +## Example Usage + +```python +from cribl_control_plane.models import HealthOptionsStatus + +value = HealthOptionsStatus.GREEN + +# Open enum: unrecognized values are captured as UnrecognizedStr +``` + + +## Values + +| Name | Value | +| --------- | --------- | +| `GREEN` | Green | +| `RED` | Red | +| `UNKNOWN` | Unknown | +| `YELLOW` | Yellow | \ 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/heartbeatmetadata.md b/docs/models/heartbeatmetadata.md index 902fdeb09..6598fbc8d 100644 --- a/docs/models/heartbeatmetadata.md +++ b/docs/models/heartbeatmetadata.md @@ -9,4 +9,4 @@ | `azure` | [Optional[models.AzureTypeHeartbeatMetadata]](../models/azuretypeheartbeatmetadata.md) | :heavy_minus_sign: | N/A | | `host_os` | [Optional[models.HostOsTypeHeartbeatMetadata]](../models/hostostypeheartbeatmetadata.md) | :heavy_minus_sign: | N/A | | `kube` | [Optional[models.KubeTypeHeartbeatMetadata]](../models/kubetypeheartbeatmetadata.md) | :heavy_minus_sign: | N/A | -| `os` | [Optional[models.HostOsTypeHeartbeatMetadata]](../models/hostostypeheartbeatmetadata.md) | :heavy_minus_sign: | N/A | \ No newline at end of file +| `os` | [Optional[models.OsTypeHeartbeatMetadata]](../models/ostypeheartbeatmetadata.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/hostostypeheartbeatmetadata.md b/docs/models/hostostypeheartbeatmetadata.md index 1e16abe26..2c21a0278 100644 --- a/docs/models/hostostypeheartbeatmetadata.md +++ b/docs/models/hostostypeheartbeatmetadata.md @@ -3,9 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `addresses` | List[*str*] | :heavy_check_mark: | N/A | -| `enabled` | *bool* | :heavy_check_mark: | N/A | -| `id` | *str* | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | +| `addresses` | List[*str*] | :heavy_check_mark: | Network addresses reported by the host operating system. | +| `enabled` | *bool* | :heavy_check_mark: | If true, the host operating system metadata collector is enabled on the node. Otherwise, false. | +| `id` | *str* | :heavy_check_mark: | Host operating system distribution name. | +| `version` | *str* | :heavy_check_mark: | Host operating system version. | \ No newline at end of file diff --git a/docs/models/input.md b/docs/models/input.md index 6d0a90557..62474257e 100644 --- a/docs/models/input.md +++ b/docs/models/input.md @@ -393,6 +393,18 @@ value: models.InputZscalerHecInput = /* values here */ value: models.InputCloudflareHecInput = /* values here */ ``` +### `models.InputSysdigHecInput` + +```python +value: models.InputSysdigHecInput = /* values here */ +``` + +### `models.InputUpwindHecInput` + +```python +value: models.InputUpwindHecInput = /* values here */ +``` + ### `models.InputOpenaiComplianceLogsInput` ```python diff --git a/docs/models/inputanthropiccompliancecontentconfig.md b/docs/models/inputanthropiccompliancecontentconfig.md index bd5c8f436..8b6a554aa 100644 --- a/docs/models/inputanthropiccompliancecontentconfig.md +++ b/docs/models/inputanthropiccompliancecontentconfig.md @@ -5,14 +5,14 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -| `content_type` | *str* | :heavy_check_mark: | N/A | +| `content_type` | [models.InputAnthropicComplianceEndpointName](../models/inputanthropiccomplianceendpointname.md) | :heavy_check_mark: | N/A | | `content_description` | *Optional[str]* | :heavy_minus_sign: | N/A | | `enabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | | `state_tracking` | *Optional[bool]* | :heavy_minus_sign: | Track collection progress between consecutive scheduled executions | | `state_update_expression` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that defines how to update the state from an event | | `state_merge_expression` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that defines which state to keep when merging task state | | `manage_state` | [Optional[models.InputAnthropicComplianceManageState]](../models/inputanthropiccompliancemanagestate.md) | :heavy_minus_sign: | N/A | +| `earliest` | *Optional[str]* | :heavy_minus_sign: | Earliest time for data collection, relative to now | +| `latest` | *Optional[str]* | :heavy_minus_sign: | Latest time for data collection, relative to now | | `cron_schedule` | *str* | :heavy_check_mark: | Schedule on which to run this collection job | -| `earliest` | *str* | :heavy_check_mark: | Earliest time for data collection, relative to now | -| `latest` | *str* | :heavy_check_mark: | Latest time for data collection, relative to now | | `job_timeout` | *Optional[str]* | :heavy_minus_sign: | Maximum time the job is allowed to run (examples: 30, 45s, 15m). Enter 0 for unlimited time. | \ No newline at end of file diff --git a/docs/models/inputanthropiccomplianceendpointname.md b/docs/models/inputanthropiccomplianceendpointname.md new file mode 100644 index 000000000..e7582843f --- /dev/null +++ b/docs/models/inputanthropiccomplianceendpointname.md @@ -0,0 +1,22 @@ +# InputAnthropicComplianceEndpointName + +## Example Usage + +```python +from cribl_control_plane.models import InputAnthropicComplianceEndpointName + +value = InputAnthropicComplianceEndpointName.ACTIVITIES + +# Open enum: unrecognized values are captured as UnrecognizedStr +``` + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `ACTIVITIES` | activities | +| `CHATS` | chats | +| `PROJECTS` | projects | +| `GROUPS` | groups | +| `ORGANIZATIONS` | organizations | \ No newline at end of file diff --git a/docs/models/inputanthropiccomplianceinput.md b/docs/models/inputanthropiccomplianceinput.md index 23f8ad80f..8ac962eb3 100644 --- a/docs/models/inputanthropiccomplianceinput.md +++ b/docs/models/inputanthropiccomplianceinput.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | @@ -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 d83dcdecb..07571048c 100644 --- a/docs/models/inputappleunifiedlogsinput.md +++ b/docs/models/inputappleunifiedlogsinput.md @@ -3,21 +3,21 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `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 | -| `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | -| `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | -| `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | -| `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | -| `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | -| `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | -| `predicate` | *str* | :heavy_check_mark: | String to filter log entries, in NSPredicate format (e.g., subsystem == "com.apple.security" or process == "kernel"). See [Predicate format reference](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/Predicates/AdditionalChapters/Introduction.html) 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 | -| `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 +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `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: | If true, the Source is disabled and will not collect data. | +| `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | +| `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | +| `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | +| `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | +| `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | +| `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | +| `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: | 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..88c73e766 100644 --- a/docs/models/inputappscopeinput.md +++ b/docs/models/inputappscopeinput.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `ip_whitelist_regex` | *Optional[str]* | :heavy_minus_sign: | Regex matching IP addresses that are allowed to establish a connection | @@ -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..f31718a06 100644 --- a/docs/models/inputazureblobinput.md +++ b/docs/models/inputazureblobinput.md @@ -7,12 +7,12 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `queue_name` | *str* | :heavy_check_mark: | 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}` | @@ -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/inputcloudflarehecauthenticationmethod.md b/docs/models/inputcloudflarehecauthenticationmethod.md deleted file mode 100644 index 347d9ba85..000000000 --- a/docs/models/inputcloudflarehecauthenticationmethod.md +++ /dev/null @@ -1,20 +0,0 @@ -# InputCloudflareHecAuthenticationMethod - -Select Secret to use a text secret to authenticate - -## Example Usage - -```python -from cribl_control_plane.models import InputCloudflareHecAuthenticationMethod - -value = InputCloudflareHecAuthenticationMethod.SECRET - -# Open enum: unrecognized values are captured as UnrecognizedStr -``` - - -## Values - -| Name | Value | -| -------- | -------- | -| `SECRET` | secret | \ No newline at end of file diff --git a/docs/models/inputcloudflarehecinput.md b/docs/models/inputcloudflarehecinput.md index 39c0a8937..8e8aa51cb 100644 --- a/docs/models/inputcloudflarehecinput.md +++ b/docs/models/inputcloudflarehecinput.md @@ -6,18 +6,18 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | | `port` | *float* | :heavy_check_mark: | Port to listen on | -| `auth_tokens` | List[[models.InputCloudflareHecAuthToken](../models/inputcloudflarehecauthtoken.md)] | :heavy_minus_sign: | Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted. | +| `auth_tokens` | List[[models.AuthTokenConfInputCloudflareHec](../models/authtokenconfinputcloudflarehec.md)] | :heavy_minus_sign: | Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted. | | `tls` | [Optional[models.InputCloudflareHecTLSSettingsServerSide]](../models/inputcloudflarehectlssettingsserverside.md) | :heavy_minus_sign: | N/A | | `max_active_req` | *Optional[float]* | :heavy_minus_sign: | Maximum number of active requests allowed per Worker Process. Set to 0 for unlimited. Caution: Increasing the limit above the default value, or setting it to unlimited, may degrade performance and reduce throughput. | | `max_requests_per_socket` | *Optional[int]* | :heavy_minus_sign: | Maximum number of requests per socket before @{product} instructs the client to close the connection. Default is 0 (unlimited). | @@ -32,12 +32,12 @@ | `hec_api` | *str* | :heavy_check_mark: | Absolute path on which to listen for the Cloudflare HTTP Event Collector API requests. This input supports the /event endpoint. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to every event. May be overridden by fields added at the token or request level. | | `allowed_indexes` | List[*str*] | :heavy_minus_sign: | List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level. | -| `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 | | `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 | +| `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: | 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..317e04156 100644 --- a/docs/models/inputcollectioninput.md +++ b/docs/models/inputcollectioninput.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `breaker_rulesets` | List[*str*] | :heavy_minus_sign: | A list of event-breaking rulesets that will be applied, in order, to the input data stream | diff --git a/docs/models/inputconfluentcloudinput.md b/docs/models/inputconfluentcloudinput.md index 6c2236ede..10060323a 100644 --- a/docs/models/inputconfluentcloudinput.md +++ b/docs/models/inputconfluentcloudinput.md @@ -7,12 +7,12 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `brokers` | List[*str*] | :heavy_check_mark: | List of Confluent Cloud bootstrap servers to use, such as yourAccount.confluent.cloud:9092 | @@ -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..123d4c2c6 100644 --- a/docs/models/inputcriblhttpinput.md +++ b/docs/models/inputcriblhttpinput.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..7974f40ce 100644 --- a/docs/models/inputcriblinput.md +++ b/docs/models/inputcriblinput.md @@ -7,16 +7,16 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `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..ff3ec1dba 100644 --- a/docs/models/inputcribllakehttpinput.md +++ b/docs/models/inputcribllakehttpinput.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..235d9d1e1 100644 --- a/docs/models/inputcriblmetricsinput.md +++ b/docs/models/inputcriblmetricsinput.md @@ -7,17 +7,17 @@ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `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..ff272e067 100644 --- a/docs/models/inputcribltcpinput.md +++ b/docs/models/inputcribltcpinput.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..f0550f58b 100644 --- a/docs/models/inputcrowdstrikeinput.md +++ b/docs/models/inputcrowdstrikeinput.md @@ -7,12 +7,12 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `queue_name` | *str* | :heavy_check_mark: | 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}`. | @@ -37,14 +37,22 @@ | `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). | | `enable_sqs_assume_role` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials when accessing Amazon SQS | +| `shared_credentials` | *Optional[bool]* | :heavy_minus_sign: | Use the same credential settings for S3 and SQS | +| `shared_assume_role_arn` | *Optional[bool]* | :heavy_minus_sign: | Use the same settings for S3 and SQS | | `preprocess` | [Optional[models.PreprocessType]](../models/preprocesstype.md) | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `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 | +| `sqs_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Amazon Resource Name (ARN) of the role to assume | +| `sqs_assume_role_external_id` | *Optional[str]* | :heavy_minus_sign: | External ID to use when assuming role | +| `sqs_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). | +| `sqs_aws_authentication_method` | [Optional[models.SqsAuthenticationMethodOptions]](../models/sqsauthenticationmethodoptions.md) | :heavy_minus_sign: | Choose Auto to use IAM roles | +| `sqs_aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | +| `sqs_aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `tag_after_processing` | [Optional[models.TagAfterProcessingOptions]](../models/tagafterprocessingoptions.md) | :heavy_minus_sign: | N/A | | `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. | | `processed_tag_value` | *Optional[str]* | :heavy_minus_sign: | The value for the S3 object tag applied after processing. This field accepts an expression for dynamic generation. | @@ -57,4 +65,7 @@ | `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_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_aws_api_key` | *Optional[str]* | :heavy_minus_sign: | 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. | \ No newline at end of file +| `template_aws_api_key` | *Optional[str]* | :heavy_minus_sign: | 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_sqs_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime. | +| `template_sqs_assume_role_external_id` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime. | +| `template_sqs_aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime. | \ No newline at end of file diff --git a/docs/models/inputdatadogagentinput.md b/docs/models/inputdatadogagentinput.md index 52b23b143..c8d7dfbfd 100644 --- a/docs/models/inputdatadogagentinput.md +++ b/docs/models/inputdatadogagentinput.md @@ -3,37 +3,39 @@ ## Fields -| 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 | -| `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | -| `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | -| `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | -| `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | -| `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | -| `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | -| `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | -| `port` | *float* | :heavy_check_mark: | Port to listen on | -| `tls` | [Optional[models.TLSSettingsServerSideType]](../models/tlssettingsserversidetype.md) | :heavy_minus_sign: | N/A | -| `max_active_req` | *Optional[float]* | :heavy_minus_sign: | Maximum number of active requests allowed per Worker Process. Set to 0 for unlimited. Caution: Increasing the limit above the default value, or setting it to unlimited, may degrade performance and reduce throughput. | -| `max_requests_per_socket` | *Optional[int]* | :heavy_minus_sign: | Maximum number of requests per socket before @{product} instructs the client to close the connection. Default is 0 (unlimited). | -| `enable_proxy_header` | *Optional[bool]* | :heavy_minus_sign: | Extract the client IP and port from PROXY protocol v1/v2. When enabled, the X-Forwarded-For header is ignored. Disable to use the X-Forwarded-For header for client IP extraction. | -| `capture_headers` | *Optional[bool]* | :heavy_minus_sign: | Add request headers to events, in the __headers field | -| `activity_log_sample_rate` | *Optional[float]* | :heavy_minus_sign: | How often request activity is logged at the `info` level. A value of 1 would log every request, 10 every 10th request, etc. | -| `request_timeout` | *Optional[float]* | :heavy_minus_sign: | How long to wait for an incoming request to complete before aborting it. Use 0 to disable. | -| `socket_timeout` | *Optional[float]* | :heavy_minus_sign: | How long @{product} should wait before assuming that an inactive socket has timed out. To wait forever, set to 0. | -| `keep_alive_timeout` | *Optional[float]* | :heavy_minus_sign: | After the last response is sent, @{product} will wait this long for additional data before closing the socket connection. Minimum 1 second, maximum 600 seconds (10 minutes). | -| `enable_health_check` | *Optional[bool]* | :heavy_minus_sign: | Expose the /cribl_health endpoint, which returns 200 OK when this Source is healthy | -| `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. | -| `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 | -| `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. | -| `template_port` | *Optional[str]* | :heavy_minus_sign: | 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. | \ No newline at end of file +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | +| `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. | +| `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | +| `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | +| `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | +| `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | +| `port` | *float* | :heavy_check_mark: | Port to listen on | +| `tls` | [Optional[models.TLSSettingsServerSideType]](../models/tlssettingsserversidetype.md) | :heavy_minus_sign: | N/A | +| `max_active_req` | *Optional[float]* | :heavy_minus_sign: | Maximum number of active requests allowed per Worker Process. Set to 0 for unlimited. Caution: Increasing the limit above the default value, or setting it to unlimited, may degrade performance and reduce throughput. | +| `max_requests_per_socket` | *Optional[int]* | :heavy_minus_sign: | Maximum number of requests per socket before @{product} instructs the client to close the connection. Default is 0 (unlimited). | +| `enable_proxy_header` | *Optional[bool]* | :heavy_minus_sign: | Extract the client IP and port from PROXY protocol v1/v2. When enabled, the X-Forwarded-For header is ignored. Disable to use the X-Forwarded-For header for client IP extraction. | +| `capture_headers` | *Optional[bool]* | :heavy_minus_sign: | Add request headers to events, in the __headers field | +| `activity_log_sample_rate` | *Optional[float]* | :heavy_minus_sign: | How often request activity is logged at the `info` level. A value of 1 would log every request, 10 every 10th request, etc. | +| `request_timeout` | *Optional[float]* | :heavy_minus_sign: | How long to wait for an incoming request to complete before aborting it. Use 0 to disable. | +| `socket_timeout` | *Optional[float]* | :heavy_minus_sign: | How long @{product} should wait before assuming that an inactive socket has timed out. To wait forever, set to 0. | +| `keep_alive_timeout` | *Optional[float]* | :heavy_minus_sign: | After the last response is sent, @{product} will wait this long for additional data before closing the socket connection. Minimum 1 second, maximum 600 seconds (10 minutes). | +| `enable_health_check` | *Optional[bool]* | :heavy_minus_sign: | Expose the /cribl_health endpoint, which returns 200 OK when this Source is healthy | +| `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. | +| `extract_metrics` | *Optional[bool]* | :heavy_minus_sign: | Extract each incoming metric to multiple events, one per data point. Recommended when sending metrics to a statsd-type output. If sending metrics to DatadogHQ or any destination that accepts arbitrary JSON, leave disabled. | +| `sampling_rate` | *Optional[float]* | :heavy_minus_sign: | The rate_by_service hint sent to connected tracers as the catch-all sampling rate. Applies to any service/environment not explicitly listed in Per-Service Sampling Rules. 1.0 = keep all traces (default); 0.0 = suggest dropping all. | +| `sampling_rules` | List[[models.InputDatadogAgentSamplingRule](../models/inputdatadogagentsamplingrule.md)] | :heavy_minus_sign: | Per-service sampling rate hints. Each row maps to a "service:,env:" key in the rate_by_service response sent to tracers. | +| `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: | 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. | +| `template_port` | *Optional[str]* | :heavy_minus_sign: | 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. | \ No newline at end of file diff --git a/docs/models/inputdatadogagentproxymode.md b/docs/models/inputdatadogagentproxymode.md index 401b8b8a5..e78b315ca 100644 --- a/docs/models/inputdatadogagentproxymode.md +++ b/docs/models/inputdatadogagentproxymode.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `enabled` | *bool* | :heavy_check_mark: | Toggle to Yes to send key validation requests from Datadog Agent to the Datadog API. If toggled to No (the default), Stream handles key validation requests by always responding that the key is valid. | -| `reject_unauthorized` | *Optional[bool]* | :heavy_minus_sign: | Whether to reject certificates that cannot be verified against a valid CA (e.g., self-signed certificates). | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `enabled` | *bool* | :heavy_check_mark: | Forward key validation requests from the Datadog Agent to the Datadog API. If disabled, Stream handles key validation requests locally by always responding that the key is valid. | +| `reject_unauthorized` | *Optional[bool]* | :heavy_minus_sign: | Whether to reject certificates that cannot be verified against a valid CA (such as self-signed certificates) | \ No newline at end of file diff --git a/docs/models/inputdatadogagentsamplingrule.md b/docs/models/inputdatadogagentsamplingrule.md new file mode 100644 index 000000000..60e2f6ae8 --- /dev/null +++ b/docs/models/inputdatadogagentsamplingrule.md @@ -0,0 +1,10 @@ +# InputDatadogAgentSamplingRule + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | +| `service` | *str* | :heavy_check_mark: | Datadog service name | +| `environment` | *str* | :heavy_check_mark: | Datadog environment name (example: prod, staging) | +| `rate` | *float* | :heavy_check_mark: | Sampling rate for this service/environment combination (0.0–1.0) | \ No newline at end of file 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..58a1cc65b 100644 --- a/docs/models/inputdatageninput.md +++ b/docs/models/inputdatageninput.md @@ -7,16 +7,16 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `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/inputedgeprometheusdiscoverytype.md b/docs/models/inputedgeprometheusdiscoverytype.md index fe9ad3790..0368a8aef 100644 --- a/docs/models/inputedgeprometheusdiscoverytype.md +++ b/docs/models/inputedgeprometheusdiscoverytype.md @@ -22,4 +22,5 @@ value = InputEdgePrometheusDiscoveryType.STATIC | `EC2` | ec2 | | `K8S_NODE` | k8s-node | | `K8S_PODS` | k8s-pods | -| `K8S_SERVICE_MONITOR` | k8s-service-monitor | \ No newline at end of file +| `K8S_SERVICE_MONITOR` | k8s-service-monitor | +| `HTTP_SD` | http_sd | \ No newline at end of file diff --git a/docs/models/inputedgeprometheusinput.md b/docs/models/inputedgeprometheusinput.md index 6799ff0ee..2d0ff1cf0 100644 --- a/docs/models/inputedgeprometheusinput.md +++ b/docs/models/inputedgeprometheusinput.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `dimension_list` | List[*str*] | :heavy_minus_sign: | Other dimensions to include in events | @@ -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. | @@ -49,6 +49,10 @@ | `scrape_port_expr` | *Optional[str]* | :heavy_minus_sign: | The port number in the metrics URL for discovered targets. | | `scrape_path_expr` | *Optional[str]* | :heavy_minus_sign: | Path to use when collecting metrics from discovered targets | | `pod_filter` | List[[models.InputEdgePrometheusPodFilter](../models/inputedgeprometheuspodfilter.md)] | :heavy_minus_sign: |
Add rules to decide which pods to discover for metrics.
Pods are searched if no rules are given or of all the rules'
expressions evaluate to true.
| +| `http_discovery_url` | *Optional[str]* | :heavy_minus_sign: | URL to fetch target groups from (must be http or https) | +| `http_discovery_headers` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauthSecret](../models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.md)] | :heavy_minus_sign: | Extra headers to send with the discovery request | +| `http_discovery_reject_unauthorized` | *Optional[bool]* | :heavy_minus_sign: | Reject TLS certificates that cannot be verified for the discovery endpoint. Falls back to the source-level setting if not specified. | +| `max_response_body_size` | *Optional[str]* | :heavy_minus_sign: | Maximum size of the HTTP SD response body. Responses exceeding this limit will be rejected. Defaults to 20 MB. | | `username` | *Optional[str]* | :heavy_minus_sign: | Username for Prometheus Basic authentication | | `password` | *Optional[str]* | :heavy_minus_sign: | Password for Prometheus Basic authentication | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a secret that references your credentials | diff --git a/docs/models/inputelasticinput.md b/docs/models/inputelasticinput.md index 24485b06e..94103bb5c 100644 --- a/docs/models/inputelasticinput.md +++ b/docs/models/inputelasticinput.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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/inputeventhubamqpauth.md b/docs/models/inputeventhubamqpauth.md index 1e6c48874..ae910561d 100644 --- a/docs/models/inputeventhubamqpauth.md +++ b/docs/models/inputeventhubamqpauth.md @@ -9,7 +9,7 @@ | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `client_secret_auth_type` | [Optional[models.AuthenticationMethodOptionsAuth]](../models/authenticationmethodoptionsauth.md) | :heavy_minus_sign: | N/A | | `client_text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | -| `certificate` | [Optional[models.CertificateTypeAzureBlobAuthTypeClientCert]](../models/certificatetypeazureblobauthtypeclientcert.md) | :heavy_minus_sign: | N/A | +| `certificate` | [Optional[models.InputEventhubAmqpCertificate]](../models/inputeventhubamqpcertificate.md) | :heavy_minus_sign: | N/A | | `oauth_endpoint` | [Optional[models.MicrosoftEntraIDAuthenticationEndpointOptionsSasl]](../models/microsoftentraidauthenticationendpointoptionssasl.md) | :heavy_minus_sign: | Endpoint used to acquire authentication tokens from Azure | | `client_id` | *Optional[str]* | :heavy_minus_sign: | client_id to pass in the OAuth request parameter | | `tenant_id` | *Optional[str]* | :heavy_minus_sign: | Directory ID (tenant identifier) in Azure Active Directory | diff --git a/docs/models/inputeventhubamqpcertificate.md b/docs/models/inputeventhubamqpcertificate.md new file mode 100644 index 000000000..e9bc74b88 --- /dev/null +++ b/docs/models/inputeventhubamqpcertificate.md @@ -0,0 +1,11 @@ +# InputEventhubAmqpCertificate + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| `certificate_name` | *str* | :heavy_check_mark: | The certificate you registered as credentials for your app in the Azure portal | +| `cert_path` | *str* | :heavy_check_mark: | Path on server containing certificates to use. PEM format. Can reference $ENV_VARS. | +| `priv_key_path` | *str* | :heavy_check_mark: | Path on server containing the private key to use. PEM format. Can reference $ENV_VARS. | +| `passphrase` | *Optional[str]* | :heavy_minus_sign: | Passphrase to use to decrypt private key | \ No newline at end of file diff --git a/docs/models/inputeventhubamqpinput.md b/docs/models/inputeventhubamqpinput.md index 165974177..9c4f3c4a7 100644 --- a/docs/models/inputeventhubamqpinput.md +++ b/docs/models/inputeventhubamqpinput.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `event_hub_name` | *Optional[str]* | :heavy_minus_sign: | The name of the Event Hub to consume from | @@ -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..1f1a2427e 100644 --- a/docs/models/inputeventhubinput.md +++ b/docs/models/inputeventhubinput.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `brokers` | List[*str*] | :heavy_check_mark: | List of Event Hubs Kafka brokers to connect to (example: 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. | @@ -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..86a1e694d 100644 --- a/docs/models/inputexecinput.md +++ b/docs/models/inputexecinput.md @@ -12,7 +12,7 @@ | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `command` | *str* | :heavy_check_mark: | Command to execute; supports Bourne shell (or CMD on Windows) syntax | @@ -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..95cb39da9 100644 --- a/docs/models/inputfileinput.md +++ b/docs/models/inputfileinput.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `mode` | [Optional[models.InputFileMode]](../models/inputfilemode.md) | :heavy_minus_sign: | Choose how to discover files to monitor | @@ -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..7e8ca8082 100644 --- a/docs/models/inputfirehoseinput.md +++ b/docs/models/inputfirehoseinput.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..f3932a172 100644 --- a/docs/models/inputgooglepubsubinput.md +++ b/docs/models/inputgooglepubsubinput.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `topic_name` | *str* | :heavy_check_mark: | ID of the topic to receive events from. When Monitor subscription is enabled, any value may be entered. | @@ -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..5326c97f0 100644 --- a/docs/models/inputgrafanagrafanainput1.md +++ b/docs/models/inputgrafanagrafanainput1.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..67c40444f 100644 --- a/docs/models/inputgrafanagrafanainput2.md +++ b/docs/models/inputgrafanagrafanainput2.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..85b0b506b 100644 --- a/docs/models/inputhttpinput.md +++ b/docs/models/inputhttpinput.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..40c26df09 100644 --- a/docs/models/inputhttprawinput.md +++ b/docs/models/inputhttprawinput.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..cd3eebc51 100644 --- a/docs/models/inputjournalfilesinput.md +++ b/docs/models/inputjournalfilesinput.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `path` | *str* | :heavy_check_mark: | Directory path to search for journals. Environment variables will be resolved, e.g. $CRIBL_EDGE_FS_ROOT/var/log/journal/$MACHINE_ID. | @@ -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..538773596 100644 --- a/docs/models/inputkafkainput.md +++ b/docs/models/inputkafkainput.md @@ -7,12 +7,12 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `brokers` | List[*str*] | :heavy_check_mark: | Enter each Kafka bootstrap server you want to use. Specify the hostname and port (such as mykafkabroker:9092) or just the hostname (in which case @{product} will assign port 9092). | @@ -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..6a6625622 100644 --- a/docs/models/inputkinesisinput.md +++ b/docs/models/inputkinesisinput.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `stream_name` | *str* | :heavy_check_mark: | Kinesis Data Stream to read data from | @@ -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..c571725f2 100644 --- a/docs/models/inputkubeeventsinput.md +++ b/docs/models/inputkubeeventsinput.md @@ -7,16 +7,16 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `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 48ee5367d..b6b5dc01a 100644 --- a/docs/models/inputkubelogsinput.md +++ b/docs/models/inputkubelogsinput.md @@ -7,22 +7,24 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `interval` | *Optional[float]* | :heavy_minus_sign: | Time, in seconds, between checks for new containers. Default is 15 secs. | | `rules` | List[[models.InputKubeLogsRule](../models/inputkubelogsrule.md)] | :heavy_minus_sign: | Add rules to decide which Pods to collect logs from. Logs are collected if no rules are given or if all the rules' expressions evaluate to true. | | `timestamps` | *Optional[bool]* | :heavy_minus_sign: | For use when containers do not emit a timestamp, prefix each line of output with a timestamp. If you enable this setting, you can use the Kubernetes Logs Event Breaker and the kubernetes_logs Pre-processing Pipeline to remove them from the events after the timestamps are extracted. | +| `line_buffer_limit` | *Optional[float]* | :heavy_minus_sign: | Maximum bytes to buffer while reassembling a single log line. A line that exceeds this size is flushed as-is, either whole or partially. The default is 1048576 (1 MB). | +| `lb_disable_assembly` | *Optional[bool]* | :heavy_minus_sign: | Internal flag to disable LB worker payload reassembly. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `persistence` | [Optional[models.DiskSpoolingType]](../models/diskspoolingtype.md) | :heavy_minus_sign: | N/A | | `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..7cc71e929 100644 --- a/docs/models/inputkubemetricsinput.md +++ b/docs/models/inputkubemetricsinput.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `interval` | *Optional[float]* | :heavy_minus_sign: | Time, in seconds, between consecutive metrics collections. Default is 15 secs. | @@ -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..d9f87167f 100644 --- a/docs/models/inputlokiinput.md +++ b/docs/models/inputlokiinput.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..eb96a6565 100644 --- a/docs/models/inputmetricsinput.md +++ b/docs/models/inputmetricsinput.md @@ -7,12 +7,12 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | 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. | @@ -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..ab2602edd 100644 --- a/docs/models/inputmicrosoftgraphinput.md +++ b/docs/models/inputmicrosoftgraphinput.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `url` | *str* | :heavy_check_mark: | Microsoft Graph API endpoint URL. (ex. https://graph.microsoft.com/v1.0/admin/exchange/tracing/messageTraces) | @@ -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..804eeca8a 100644 --- a/docs/models/inputmodeldriventelemetryinput.md +++ b/docs/models/inputmodeldriventelemetryinput.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..60a40e0a0 100644 --- a/docs/models/inputmskinput.md +++ b/docs/models/inputmskinput.md @@ -7,12 +7,12 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `brokers` | List[*str*] | :heavy_check_mark: | Enter each Kafka bootstrap server you want to use. Specify the hostname and port (such as mykafkabroker:9092) or just the hostname (in which case @{product} will assign port 9092). | @@ -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..48c1ef3fa 100644 --- a/docs/models/inputnetflowinput.md +++ b/docs/models/inputnetflowinput.md @@ -7,12 +7,12 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | 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. | @@ -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..3f494872b 100644 --- a/docs/models/inputoffice365mgmtinput.md +++ b/docs/models/inputoffice365mgmtinput.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `plan_type` | [models.SubscriptionPlanOptions](../models/subscriptionplanoptions.md) | :heavy_check_mark: | Microsoft 365 subscription plan for your organization, typically Microsoft 365 Enterprise | @@ -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..cecb28d2e 100644 --- a/docs/models/inputoffice365msgtraceinput.md +++ b/docs/models/inputoffice365msgtraceinput.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `url` | *str* | :heavy_check_mark: | URL to use when retrieving report data. | @@ -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..80f54f13f 100644 --- a/docs/models/inputoffice365serviceinput.md +++ b/docs/models/inputoffice365serviceinput.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `plan_type` | [Optional[models.SubscriptionPlanOptions]](../models/subscriptionplanoptions.md) | :heavy_minus_sign: | Microsoft 365 subscription plan for your organization, typically Microsoft 365 Enterprise | @@ -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..5fb4631a2 100644 --- a/docs/models/inputoktainput.md +++ b/docs/models/inputoktainput.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `okta_domain` | *str* | :heavy_check_mark: | Your Okta domain (example: your-org). Do not include .okta.com, https://, or trailing slashes. | @@ -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..306f86767 100644 --- a/docs/models/inputopenaicompliancelogsinput.md +++ b/docs/models/inputopenaicompliancelogsinput.md @@ -7,12 +7,12 @@ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | @@ -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/inputopenaicontentconfig.md b/docs/models/inputopenaicontentconfig.md index b14b00567..b7c996c7f 100644 --- a/docs/models/inputopenaicontentconfig.md +++ b/docs/models/inputopenaicontentconfig.md @@ -3,23 +3,23 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `state_tracking` | *Optional[bool]* | :heavy_minus_sign: | Track collection progress between consecutive scheduled executions. | -| `state_update_expression` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that defines how to update the state from an event | -| `state_merge_expression` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that defines which state to keep when merging task state | -| `manage_state` | [Optional[models.InputOpenaiManageState]](../models/inputopenaimanagestate.md) | :heavy_minus_sign: | N/A | -| `request_params` | List[[models.RequestParamConfInputOpenai](../models/requestparamconfinputopenai.md)] | :heavy_check_mark: | Query-string parameters to send with this endpoint | -| `pagination_type` | [models.InputOpenaiPaginationType](../models/inputopenaipaginationtype.md) | :heavy_check_mark: | N/A | -| `pagination_attribute` | List[*str*] | :heavy_minus_sign: | N/A | -| `pagination_last_page_expr` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `max_pages` | *Optional[float]* | :heavy_minus_sign: | Maximum number of pages to retrieve per collection task. Set to 0 only when unlimited pagination is required. | -| `pagination_next_relation_attribute` | *Optional[str]* | :heavy_minus_sign: | Used only for RFC 5988 link-header pagination | -| `pagination_cur_relation_attribute` | *Optional[str]* | :heavy_minus_sign: | Optional relation that represents the current page | -| `cron_schedule` | *str* | :heavy_check_mark: | A cron schedule on which to run this job | -| `earliest` | *str* | :heavy_check_mark: | Relative to the current time | -| `latest` | *str* | :heavy_check_mark: | Relative to the current time | -| `job_timeout` | *Optional[str]* | :heavy_minus_sign: | Maximum time the job is allowed to run (examples: 30, 45s, 15m). Enter 0 for unlimited time. | -| `log_level` | [Optional[models.InputOpenaiLogLevel]](../models/inputopenailoglevel.md) | :heavy_minus_sign: | Collector runtime log level. | -| `endpoint_metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields automatically added to events from this Content Type | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `state_tracking` | *Optional[bool]* | :heavy_minus_sign: | Track collection progress between consecutive scheduled executions. | +| `state_update_expression` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that defines how to update the state from an event | +| `state_merge_expression` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that defines which state to keep when merging task state | +| `manage_state` | [Optional[models.InputOpenaiManageState]](../models/inputopenaimanagestate.md) | :heavy_minus_sign: | N/A | +| `request_params` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauthSecret](../models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.md)] | :heavy_check_mark: | Query-string parameters to send with this endpoint | +| `pagination_type` | [models.InputOpenaiPaginationType](../models/inputopenaipaginationtype.md) | :heavy_check_mark: | N/A | +| `pagination_attribute` | List[*str*] | :heavy_minus_sign: | N/A | +| `pagination_last_page_expr` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `max_pages` | *Optional[float]* | :heavy_minus_sign: | Maximum number of pages to retrieve per collection task. Set to 0 only when unlimited pagination is required. | +| `pagination_next_relation_attribute` | *Optional[str]* | :heavy_minus_sign: | Used only for RFC 5988 link-header pagination | +| `pagination_cur_relation_attribute` | *Optional[str]* | :heavy_minus_sign: | Optional relation that represents the current page | +| `cron_schedule` | *str* | :heavy_check_mark: | A cron schedule on which to run this job | +| `earliest` | *str* | :heavy_check_mark: | Relative to the current time | +| `latest` | *str* | :heavy_check_mark: | Relative to the current time | +| `job_timeout` | *Optional[str]* | :heavy_minus_sign: | Maximum time the job is allowed to run (examples: 30, 45s, 15m). Enter 0 for unlimited time. | +| `log_level` | [Optional[models.InputOpenaiLogLevel]](../models/inputopenailoglevel.md) | :heavy_minus_sign: | Collector runtime log level. | +| `endpoint_metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields automatically added to events from this Content Type | \ No newline at end of file diff --git a/docs/models/inputopenaiinput.md b/docs/models/inputopenaiinput.md index bf97a446a..03c0408cf 100644 --- a/docs/models/inputopenaiinput.md +++ b/docs/models/inputopenaiinput.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `openai_organization` | *Optional[str]* | :heavy_minus_sign: | Optional `OpenAI-Organization` request header value, typically `org-xxxxxxxxxxxxxxxxxxxxxxxx` | @@ -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..31d835271 100644 --- a/docs/models/inputopentelemetryinput.md +++ b/docs/models/inputopentelemetryinput.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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/inputprometheusdiscoverytype.md b/docs/models/inputprometheusdiscoverytype.md index 8fbbaaf1c..8daa9348a 100644 --- a/docs/models/inputprometheusdiscoverytype.md +++ b/docs/models/inputprometheusdiscoverytype.md @@ -15,8 +15,9 @@ value = InputPrometheusDiscoveryType.STATIC ## Values -| Name | Value | -| -------- | -------- | -| `STATIC` | static | -| `DNS` | dns | -| `EC2` | ec2 | \ No newline at end of file +| Name | Value | +| --------- | --------- | +| `STATIC` | static | +| `DNS` | dns | +| `EC2` | ec2 | +| `HTTP_SD` | http_sd | \ No newline at end of file diff --git a/docs/models/inputprometheusinput.md b/docs/models/inputprometheusinput.md index 6c44ebabf..2c4a82990 100644 --- a/docs/models/inputprometheusinput.md +++ b/docs/models/inputprometheusinput.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `dimension_list` | List[*str*] | :heavy_minus_sign: | Other dimensions to include in events | @@ -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 | @@ -49,6 +49,10 @@ | `assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Amazon Resource Name (ARN) of the role to assume | | `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). | +| `http_discovery_url` | *Optional[str]* | :heavy_minus_sign: | URL to fetch target groups from (must be http or https) | +| `http_discovery_headers` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauthSecret](../models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.md)] | :heavy_minus_sign: | Extra headers to send with the discovery request | +| `http_discovery_reject_unauthorized` | *Optional[bool]* | :heavy_minus_sign: | Reject TLS certificates that cannot be verified for the discovery endpoint. Falls back to the source-level setting if not specified. | +| `max_response_body_size` | *Optional[str]* | :heavy_minus_sign: | Maximum size of the HTTP SD response body. Responses exceeding this limit will be rejected. Defaults to 20 MB. | | `username` | *Optional[str]* | :heavy_minus_sign: | Username for Prometheus Basic authentication | | `password` | *Optional[str]* | :heavy_minus_sign: | Password for Prometheus Basic authentication | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a secret that references your credentials | diff --git a/docs/models/inputprometheusrwinput.md b/docs/models/inputprometheusrwinput.md index b79545937..efaa00219 100644 --- a/docs/models/inputprometheusrwinput.md +++ b/docs/models/inputprometheusrwinput.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..c7d506f06 100644 --- a/docs/models/inputrawudpinput.md +++ b/docs/models/inputrawudpinput.md @@ -7,12 +7,12 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | 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. | @@ -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/inputresponse.md b/docs/models/inputresponse.md index 5a04b4a11..fcb933228 100644 --- a/docs/models/inputresponse.md +++ b/docs/models/inputresponse.md @@ -395,6 +395,18 @@ value: models.InputResponseInputZscalerHec = /* values here */ value: models.InputResponseInputCloudflareHec = /* values here */ ``` +### `models.InputResponseInputSysdigHec` + +```python +value: models.InputResponseInputSysdigHec = /* values here */ +``` + +### `models.InputResponseInputUpwindHec` + +```python +value: models.InputResponseInputUpwindHec = /* values here */ +``` + ### `models.InputResponseInputOpenaiComplianceLogs` ```python diff --git a/docs/models/inputresponseauth.md b/docs/models/inputresponseauth.md index c4eadd92d..8e7839451 100644 --- a/docs/models/inputresponseauth.md +++ b/docs/models/inputresponseauth.md @@ -9,7 +9,7 @@ | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `client_secret_auth_type` | [Optional[models.AuthenticationMethodOptionsAuth]](../models/authenticationmethodoptionsauth.md) | :heavy_minus_sign: | N/A | | `client_text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | -| `certificate` | [Optional[models.CertificateTypeAzureBlobAuthTypeClientCert]](../models/certificatetypeazureblobauthtypeclientcert.md) | :heavy_minus_sign: | N/A | +| `certificate` | [Optional[models.InputResponseCertificate]](../models/inputresponsecertificate.md) | :heavy_minus_sign: | N/A | | `oauth_endpoint` | [Optional[models.MicrosoftEntraIDAuthenticationEndpointOptionsSasl]](../models/microsoftentraidauthenticationendpointoptionssasl.md) | :heavy_minus_sign: | Endpoint used to acquire authentication tokens from Azure | | `client_id` | *Optional[str]* | :heavy_minus_sign: | client_id to pass in the OAuth request parameter | | `tenant_id` | *Optional[str]* | :heavy_minus_sign: | Directory ID (tenant identifier) in Azure Active Directory | diff --git a/docs/models/inputresponseauthtokencloudflarehec.md b/docs/models/inputresponseauthtokencloudflarehec.md deleted file mode 100644 index 6f8d1890f..000000000 --- a/docs/models/inputresponseauthtokencloudflarehec.md +++ /dev/null @@ -1,14 +0,0 @@ -# InputResponseAuthTokenCloudflareHec - - -## Fields - -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | -| `auth_type` | [Optional[models.InputResponseAuthenticationMethodCloudflareHec]](../models/inputresponseauthenticationmethodcloudflarehec.md) | :heavy_minus_sign: | Select Secret to use a text secret to authenticate | -| `token_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | -| `token` | *Optional[str]* | :heavy_minus_sign: | Shared secret to be provided by any client (Authorization: ) | -| `enabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `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/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/inputresponsecertificate.md b/docs/models/inputresponsecertificate.md new file mode 100644 index 000000000..37d6d8718 --- /dev/null +++ b/docs/models/inputresponsecertificate.md @@ -0,0 +1,11 @@ +# InputResponseCertificate + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| `certificate_name` | *str* | :heavy_check_mark: | The certificate you registered as credentials for your app in the Azure portal | +| `cert_path` | *str* | :heavy_check_mark: | Path on server containing certificates to use. PEM format. Can reference $ENV_VARS. | +| `priv_key_path` | *str* | :heavy_check_mark: | Path on server containing the private key to use. PEM format. Can reference $ENV_VARS. | +| `passphrase` | *Optional[str]* | :heavy_minus_sign: | Passphrase to use to decrypt private key | \ No newline at end of file diff --git a/docs/models/inputresponsecontentconfiganthropiccompliance.md b/docs/models/inputresponsecontentconfiganthropiccompliance.md index d35e8fd3c..8636fed87 100644 --- a/docs/models/inputresponsecontentconfiganthropiccompliance.md +++ b/docs/models/inputresponsecontentconfiganthropiccompliance.md @@ -5,14 +5,14 @@ | Field | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | -| `content_type` | *str* | :heavy_check_mark: | N/A | +| `content_type` | [models.InputResponseEndpointName](../models/inputresponseendpointname.md) | :heavy_check_mark: | N/A | | `content_description` | *Optional[str]* | :heavy_minus_sign: | N/A | | `enabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | | `state_tracking` | *Optional[bool]* | :heavy_minus_sign: | Track collection progress between consecutive scheduled executions | | `state_update_expression` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that defines how to update the state from an event | | `state_merge_expression` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that defines which state to keep when merging task state | | `manage_state` | [Optional[models.InputResponseManageStateAnthropicCompliance]](../models/inputresponsemanagestateanthropiccompliance.md) | :heavy_minus_sign: | N/A | +| `earliest` | *Optional[str]* | :heavy_minus_sign: | Earliest time for data collection, relative to now | +| `latest` | *Optional[str]* | :heavy_minus_sign: | Latest time for data collection, relative to now | | `cron_schedule` | *str* | :heavy_check_mark: | Schedule on which to run this collection job | -| `earliest` | *str* | :heavy_check_mark: | Earliest time for data collection, relative to now | -| `latest` | *str* | :heavy_check_mark: | Latest time for data collection, relative to now | | `job_timeout` | *Optional[str]* | :heavy_minus_sign: | Maximum time the job is allowed to run (examples: 30, 45s, 15m). Enter 0 for unlimited time. | \ No newline at end of file diff --git a/docs/models/inputresponsecontentconfigopenai.md b/docs/models/inputresponsecontentconfigopenai.md index 611385ef1..1d2cda71b 100644 --- a/docs/models/inputresponsecontentconfigopenai.md +++ b/docs/models/inputresponsecontentconfigopenai.md @@ -3,27 +3,27 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | -| `content_type` | *str* | :heavy_check_mark: | N/A | -| `content_description` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `collect_path` | *str* | :heavy_check_mark: | OpenAI Organization API path | -| `docs_url` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `state_tracking` | *Optional[bool]* | :heavy_minus_sign: | Track collection progress between consecutive scheduled executions. | -| `state_update_expression` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that defines how to update the state from an event | -| `state_merge_expression` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that defines which state to keep when merging task state | -| `manage_state` | [Optional[models.InputResponseManageStateOpenai]](../models/inputresponsemanagestateopenai.md) | :heavy_minus_sign: | N/A | -| `request_params` | List[[models.RequestParamConfInputOpenai](../models/requestparamconfinputopenai.md)] | :heavy_check_mark: | Query-string parameters to send with this endpoint | -| `pagination_type` | [models.InputResponsePaginationType](../models/inputresponsepaginationtype.md) | :heavy_check_mark: | N/A | -| `pagination_attribute` | List[*str*] | :heavy_minus_sign: | N/A | -| `pagination_last_page_expr` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `max_pages` | *Optional[float]* | :heavy_minus_sign: | Maximum number of pages to retrieve per collection task. Set to 0 only when unlimited pagination is required. | -| `pagination_next_relation_attribute` | *Optional[str]* | :heavy_minus_sign: | Used only for RFC 5988 link-header pagination | -| `pagination_cur_relation_attribute` | *Optional[str]* | :heavy_minus_sign: | Optional relation that represents the current page | -| `cron_schedule` | *str* | :heavy_check_mark: | A cron schedule on which to run this job | -| `earliest` | *str* | :heavy_check_mark: | Relative to the current time | -| `latest` | *str* | :heavy_check_mark: | Relative to the current time | -| `job_timeout` | *Optional[str]* | :heavy_minus_sign: | Maximum time the job is allowed to run (examples: 30, 45s, 15m). Enter 0 for unlimited time. | -| `log_level` | [Optional[models.InputResponseLogLevelOpenai]](../models/inputresponseloglevelopenai.md) | :heavy_minus_sign: | Collector runtime log level. | -| `endpoint_metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields automatically added to events from this Content Type | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| `content_type` | *str* | :heavy_check_mark: | N/A | +| `content_description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `collect_path` | *str* | :heavy_check_mark: | OpenAI Organization API path | +| `docs_url` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `state_tracking` | *Optional[bool]* | :heavy_minus_sign: | Track collection progress between consecutive scheduled executions. | +| `state_update_expression` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that defines how to update the state from an event | +| `state_merge_expression` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that defines which state to keep when merging task state | +| `manage_state` | [Optional[models.InputResponseManageStateOpenai]](../models/inputresponsemanagestateopenai.md) | :heavy_minus_sign: | N/A | +| `request_params` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauthSecret](../models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.md)] | :heavy_check_mark: | Query-string parameters to send with this endpoint | +| `pagination_type` | [models.InputResponsePaginationType](../models/inputresponsepaginationtype.md) | :heavy_check_mark: | N/A | +| `pagination_attribute` | List[*str*] | :heavy_minus_sign: | N/A | +| `pagination_last_page_expr` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `max_pages` | *Optional[float]* | :heavy_minus_sign: | Maximum number of pages to retrieve per collection task. Set to 0 only when unlimited pagination is required. | +| `pagination_next_relation_attribute` | *Optional[str]* | :heavy_minus_sign: | Used only for RFC 5988 link-header pagination | +| `pagination_cur_relation_attribute` | *Optional[str]* | :heavy_minus_sign: | Optional relation that represents the current page | +| `cron_schedule` | *str* | :heavy_check_mark: | A cron schedule on which to run this job | +| `earliest` | *str* | :heavy_check_mark: | Relative to the current time | +| `latest` | *str* | :heavy_check_mark: | Relative to the current time | +| `job_timeout` | *Optional[str]* | :heavy_minus_sign: | Maximum time the job is allowed to run (examples: 30, 45s, 15m). Enter 0 for unlimited time. | +| `log_level` | [Optional[models.InputResponseLogLevelOpenai]](../models/inputresponseloglevelopenai.md) | :heavy_minus_sign: | Collector runtime log level. | +| `endpoint_metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields automatically added to events from this Content Type | \ No newline at end of file diff --git a/docs/models/inputresponsediscoverytypeedgeprometheus.md b/docs/models/inputresponsediscoverytypeedgeprometheus.md index cca6ea656..397d64fe5 100644 --- a/docs/models/inputresponsediscoverytypeedgeprometheus.md +++ b/docs/models/inputresponsediscoverytypeedgeprometheus.md @@ -22,4 +22,5 @@ value = InputResponseDiscoveryTypeEdgePrometheus.STATIC | `EC2` | ec2 | | `K8S_NODE` | k8s-node | | `K8S_PODS` | k8s-pods | -| `K8S_SERVICE_MONITOR` | k8s-service-monitor | \ No newline at end of file +| `K8S_SERVICE_MONITOR` | k8s-service-monitor | +| `HTTP_SD` | http_sd | \ No newline at end of file diff --git a/docs/models/inputresponsediscoverytypeprometheus.md b/docs/models/inputresponsediscoverytypeprometheus.md index 0c4aaec64..bb98c4de2 100644 --- a/docs/models/inputresponsediscoverytypeprometheus.md +++ b/docs/models/inputresponsediscoverytypeprometheus.md @@ -15,8 +15,9 @@ value = InputResponseDiscoveryTypePrometheus.STATIC ## Values -| Name | Value | -| -------- | -------- | -| `STATIC` | static | -| `DNS` | dns | -| `EC2` | ec2 | \ No newline at end of file +| Name | Value | +| --------- | --------- | +| `STATIC` | static | +| `DNS` | dns | +| `EC2` | ec2 | +| `HTTP_SD` | http_sd | \ No newline at end of file diff --git a/docs/models/inputresponseendpointname.md b/docs/models/inputresponseendpointname.md new file mode 100644 index 000000000..0e29ba467 --- /dev/null +++ b/docs/models/inputresponseendpointname.md @@ -0,0 +1,22 @@ +# InputResponseEndpointName + +## Example Usage + +```python +from cribl_control_plane.models import InputResponseEndpointName + +value = InputResponseEndpointName.ACTIVITIES + +# Open enum: unrecognized values are captured as UnrecognizedStr +``` + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `ACTIVITIES` | activities | +| `CHATS` | chats | +| `PROJECTS` | projects | +| `GROUPS` | groups | +| `ORGANIZATIONS` | organizations | \ No newline at end of file diff --git a/docs/models/inputresponseinputanthropiccompliance.md b/docs/models/inputresponseinputanthropiccompliance.md index b397e44cb..7fa833a02 100644 --- a/docs/models/inputresponseinputanthropiccompliance.md +++ b/docs/models/inputresponseinputanthropiccompliance.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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 21354b351..4f435ac2a 100644 --- a/docs/models/inputresponseinputappleunifiedlogs.md +++ b/docs/models/inputresponseinputappleunifiedlogs.md @@ -3,24 +3,24 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `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 | -| `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | -| `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | -| `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | -| `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | -| `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | -| `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | -| `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | -| `predicate` | *str* | :heavy_check_mark: | String to filter log entries, in NSPredicate format (e.g., subsystem == "com.apple.security" or process == "kernel"). See [Predicate format reference](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/Predicates/AdditionalChapters/Introduction.html) 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 | -| `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. | -| `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 +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `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: | If true, the Source is disabled and will not collect data. | +| `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | +| `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | +| `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | +| `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | +| `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | +| `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | +| `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | +| `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: | 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. | +| `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/inputresponseinputappscope.md b/docs/models/inputresponseinputappscope.md index fe03f671d..0ba565354 100644 --- a/docs/models/inputresponseinputappscope.md +++ b/docs/models/inputresponseinputappscope.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..7080974c8 100644 --- a/docs/models/inputresponseinputazureblob.md +++ b/docs/models/inputresponseinputazureblob.md @@ -7,12 +7,12 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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 6bd83f651..007f85c1d 100644 --- a/docs/models/inputresponseinputcloudflarehec.md +++ b/docs/models/inputresponseinputcloudflarehec.md @@ -6,19 +6,19 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | | `port` | *float* | :heavy_check_mark: | Port to listen on | -| `auth_tokens` | List[[models.InputResponseAuthTokenCloudflareHec](../models/inputresponseauthtokencloudflarehec.md)] | :heavy_minus_sign: | Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted. | +| `auth_tokens` | List[[models.AuthTokenConfInputCloudflareHec](../models/authtokenconfinputcloudflarehec.md)] | :heavy_minus_sign: | Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted. | | `tls` | [Optional[models.InputResponseTLSSettingsServerSide]](../models/inputresponsetlssettingsserverside.md) | :heavy_minus_sign: | N/A | | `max_active_req` | *Optional[float]* | :heavy_minus_sign: | Maximum number of active requests allowed per Worker Process. Set to 0 for unlimited. Caution: Increasing the limit above the default value, or setting it to unlimited, may degrade performance and reduce throughput. | | `max_requests_per_socket` | *Optional[int]* | :heavy_minus_sign: | Maximum number of requests per socket before @{product} instructs the client to close the connection. Default is 0 (unlimited). | @@ -33,12 +33,12 @@ | `hec_api` | *str* | :heavy_check_mark: | Absolute path on which to listen for the Cloudflare HTTP Event Collector API requests. This input supports the /event endpoint. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to every event. May be overridden by fields added at the token or request level. | | `allowed_indexes` | List[*str*] | :heavy_minus_sign: | List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level. | -| `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 | | `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 | +| `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: | 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..1193986cb 100644 --- a/docs/models/inputresponseinputcollection.md +++ b/docs/models/inputresponseinputcollection.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | diff --git a/docs/models/inputresponseinputconfluentcloud.md b/docs/models/inputresponseinputconfluentcloud.md index 73880f01d..ec031517f 100644 --- a/docs/models/inputresponseinputconfluentcloud.md +++ b/docs/models/inputresponseinputconfluentcloud.md @@ -7,12 +7,12 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..ef491048e 100644 --- a/docs/models/inputresponseinputcribl.md +++ b/docs/models/inputresponseinputcribl.md @@ -7,18 +7,18 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `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..9eb856558 100644 --- a/docs/models/inputresponseinputcriblhttp.md +++ b/docs/models/inputresponseinputcriblhttp.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..f904a13f3 100644 --- a/docs/models/inputresponseinputcribllakehttp.md +++ b/docs/models/inputresponseinputcribllakehttp.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..89174af96 100644 --- a/docs/models/inputresponseinputcriblmetrics.md +++ b/docs/models/inputresponseinputcriblmetrics.md @@ -7,19 +7,19 @@ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `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..94f19fd3c 100644 --- a/docs/models/inputresponseinputcribltcp.md +++ b/docs/models/inputresponseinputcribltcp.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..2a1c4d8ac 100644 --- a/docs/models/inputresponseinputcrowdstrike.md +++ b/docs/models/inputresponseinputcrowdstrike.md @@ -7,12 +7,12 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -38,14 +38,22 @@ | `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). | | `enable_sqs_assume_role` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials when accessing Amazon SQS | +| `shared_credentials` | *Optional[bool]* | :heavy_minus_sign: | Use the same credential settings for S3 and SQS | +| `shared_assume_role_arn` | *Optional[bool]* | :heavy_minus_sign: | Use the same settings for S3 and SQS | | `preprocess` | [Optional[models.PreprocessType]](../models/preprocesstype.md) | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `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 | +| `sqs_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Amazon Resource Name (ARN) of the role to assume | +| `sqs_assume_role_external_id` | *Optional[str]* | :heavy_minus_sign: | External ID to use when assuming role | +| `sqs_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). | +| `sqs_aws_authentication_method` | [Optional[models.SqsAuthenticationMethodOptions]](../models/sqsauthenticationmethodoptions.md) | :heavy_minus_sign: | Choose Auto to use IAM roles | +| `sqs_aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | +| `sqs_aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `tag_after_processing` | [Optional[models.TagAfterProcessingOptions]](../models/tagafterprocessingoptions.md) | :heavy_minus_sign: | N/A | | `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. | | `processed_tag_value` | *Optional[str]* | :heavy_minus_sign: | The value for the S3 object tag applied after processing. This field accepts an expression for dynamic generation. | @@ -59,5 +67,8 @@ | `template_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_aws_api_key` | *Optional[str]* | :heavy_minus_sign: | 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_sqs_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime. | +| `template_sqs_assume_role_external_id` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime. | +| `template_sqs_aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime. | | `notifications` | List[[models.NotificationUnion](../models/notificationunion.md)] | :heavy_minus_sign: | Notifications attached to the Source. | | `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/inputresponseinputdatadogagent.md b/docs/models/inputresponseinputdatadogagent.md index 65a16bc62..a3e57fe1b 100644 --- a/docs/models/inputresponseinputdatadogagent.md +++ b/docs/models/inputresponseinputdatadogagent.md @@ -3,40 +3,42 @@ ## Fields -| 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 | -| `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | -| `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | -| `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | -| `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | -| `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | -| `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | -| `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | -| `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | -| `port` | *float* | :heavy_check_mark: | Port to listen on | -| `tls` | [Optional[models.TLSSettingsServerSideType]](../models/tlssettingsserversidetype.md) | :heavy_minus_sign: | N/A | -| `max_active_req` | *Optional[float]* | :heavy_minus_sign: | Maximum number of active requests allowed per Worker Process. Set to 0 for unlimited. Caution: Increasing the limit above the default value, or setting it to unlimited, may degrade performance and reduce throughput. | -| `max_requests_per_socket` | *Optional[int]* | :heavy_minus_sign: | Maximum number of requests per socket before @{product} instructs the client to close the connection. Default is 0 (unlimited). | -| `enable_proxy_header` | *Optional[bool]* | :heavy_minus_sign: | Extract the client IP and port from PROXY protocol v1/v2. When enabled, the X-Forwarded-For header is ignored. Disable to use the X-Forwarded-For header for client IP extraction. | -| `capture_headers` | *Optional[bool]* | :heavy_minus_sign: | Add request headers to events, in the __headers field | -| `activity_log_sample_rate` | *Optional[float]* | :heavy_minus_sign: | How often request activity is logged at the `info` level. A value of 1 would log every request, 10 every 10th request, etc. | -| `request_timeout` | *Optional[float]* | :heavy_minus_sign: | How long to wait for an incoming request to complete before aborting it. Use 0 to disable. | -| `socket_timeout` | *Optional[float]* | :heavy_minus_sign: | How long @{product} should wait before assuming that an inactive socket has timed out. To wait forever, set to 0. | -| `keep_alive_timeout` | *Optional[float]* | :heavy_minus_sign: | After the last response is sent, @{product} will wait this long for additional data before closing the socket connection. Minimum 1 second, maximum 600 seconds (10 minutes). | -| `enable_health_check` | *Optional[bool]* | :heavy_minus_sign: | Expose the /cribl_health endpoint, which returns 200 OK when this Source is healthy | -| `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. | -| `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 | -| `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. | -| `template_port` | *Optional[str]* | :heavy_minus_sign: | 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` | List[[models.NotificationUnion](../models/notificationunion.md)] | :heavy_minus_sign: | Notifications attached to the Source. | -| `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 +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | +| `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. | +| `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | +| `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | +| `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | +| `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | +| `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | +| `port` | *float* | :heavy_check_mark: | Port to listen on | +| `tls` | [Optional[models.TLSSettingsServerSideType]](../models/tlssettingsserversidetype.md) | :heavy_minus_sign: | N/A | +| `max_active_req` | *Optional[float]* | :heavy_minus_sign: | Maximum number of active requests allowed per Worker Process. Set to 0 for unlimited. Caution: Increasing the limit above the default value, or setting it to unlimited, may degrade performance and reduce throughput. | +| `max_requests_per_socket` | *Optional[int]* | :heavy_minus_sign: | Maximum number of requests per socket before @{product} instructs the client to close the connection. Default is 0 (unlimited). | +| `enable_proxy_header` | *Optional[bool]* | :heavy_minus_sign: | Extract the client IP and port from PROXY protocol v1/v2. When enabled, the X-Forwarded-For header is ignored. Disable to use the X-Forwarded-For header for client IP extraction. | +| `capture_headers` | *Optional[bool]* | :heavy_minus_sign: | Add request headers to events, in the __headers field | +| `activity_log_sample_rate` | *Optional[float]* | :heavy_minus_sign: | How often request activity is logged at the `info` level. A value of 1 would log every request, 10 every 10th request, etc. | +| `request_timeout` | *Optional[float]* | :heavy_minus_sign: | How long to wait for an incoming request to complete before aborting it. Use 0 to disable. | +| `socket_timeout` | *Optional[float]* | :heavy_minus_sign: | How long @{product} should wait before assuming that an inactive socket has timed out. To wait forever, set to 0. | +| `keep_alive_timeout` | *Optional[float]* | :heavy_minus_sign: | After the last response is sent, @{product} will wait this long for additional data before closing the socket connection. Minimum 1 second, maximum 600 seconds (10 minutes). | +| `enable_health_check` | *Optional[bool]* | :heavy_minus_sign: | Expose the /cribl_health endpoint, which returns 200 OK when this Source is healthy | +| `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. | +| `extract_metrics` | *Optional[bool]* | :heavy_minus_sign: | Extract each incoming metric to multiple events, one per data point. Recommended when sending metrics to a statsd-type output. If sending metrics to DatadogHQ or any destination that accepts arbitrary JSON, leave disabled. | +| `sampling_rate` | *Optional[float]* | :heavy_minus_sign: | The rate_by_service hint sent to connected tracers as the catch-all sampling rate. Applies to any service/environment not explicitly listed in Per-Service Sampling Rules. 1.0 = keep all traces (default); 0.0 = suggest dropping all. | +| `sampling_rules` | List[[models.InputResponseSamplingRule](../models/inputresponsesamplingrule.md)] | :heavy_minus_sign: | Per-service sampling rate hints. Each row maps to a "service:,env:" key in the rate_by_service response sent to tracers. | +| `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: | 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. | +| `template_port` | *Optional[str]* | :heavy_minus_sign: | 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` | List[[models.NotificationUnion](../models/notificationunion.md)] | :heavy_minus_sign: | Notifications attached to the Source. | +| `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/inputresponseinputdatagen.md b/docs/models/inputresponseinputdatagen.md index 9041ca5a7..e121089f5 100644 --- a/docs/models/inputresponseinputdatagen.md +++ b/docs/models/inputresponseinputdatagen.md @@ -7,18 +7,18 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `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 a824285cc..e49c22025 100644 --- a/docs/models/inputresponseinputedgeprometheus.md +++ b/docs/models/inputresponseinputedgeprometheus.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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. | @@ -50,6 +50,10 @@ | `scrape_port_expr` | *Optional[str]* | :heavy_minus_sign: | The port number in the metrics URL for discovered targets. | | `scrape_path_expr` | *Optional[str]* | :heavy_minus_sign: | Path to use when collecting metrics from discovered targets | | `pod_filter` | List[[models.InputResponsePodFilter](../models/inputresponsepodfilter.md)] | :heavy_minus_sign: |
Add rules to decide which pods to discover for metrics.
Pods are searched if no rules are given or of all the rules'
expressions evaluate to true.
| +| `http_discovery_url` | *Optional[str]* | :heavy_minus_sign: | URL to fetch target groups from (must be http or https) | +| `http_discovery_headers` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauthSecret](../models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.md)] | :heavy_minus_sign: | Extra headers to send with the discovery request | +| `http_discovery_reject_unauthorized` | *Optional[bool]* | :heavy_minus_sign: | Reject TLS certificates that cannot be verified for the discovery endpoint. Falls back to the source-level setting if not specified. | +| `max_response_body_size` | *Optional[str]* | :heavy_minus_sign: | Maximum size of the HTTP SD response body. Responses exceeding this limit will be rejected. Defaults to 20 MB. | | `username` | *Optional[str]* | :heavy_minus_sign: | Username for Prometheus Basic authentication | | `password` | *Optional[str]* | :heavy_minus_sign: | Password for Prometheus Basic authentication | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a secret that references your credentials | diff --git a/docs/models/inputresponseinputelastic.md b/docs/models/inputresponseinputelastic.md index 0d8e941e1..0a332f921 100644 --- a/docs/models/inputresponseinputelastic.md +++ b/docs/models/inputresponseinputelastic.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..65c816aa1 100644 --- a/docs/models/inputresponseinputeventhub.md +++ b/docs/models/inputresponseinputeventhub.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..372b87f52 100644 --- a/docs/models/inputresponseinputeventhubamqp.md +++ b/docs/models/inputresponseinputeventhubamqp.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..67fdb071e 100644 --- a/docs/models/inputresponseinputexec.md +++ b/docs/models/inputresponseinputexec.md @@ -12,7 +12,7 @@ | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..c07df9c3a 100644 --- a/docs/models/inputresponseinputfile.md +++ b/docs/models/inputresponseinputfile.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..8b50e0a92 100644 --- a/docs/models/inputresponseinputfirehose.md +++ b/docs/models/inputresponseinputfirehose.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..ca750723d 100644 --- a/docs/models/inputresponseinputgooglepubsub.md +++ b/docs/models/inputresponseinputgooglepubsub.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..3bd8b827d 100644 --- a/docs/models/inputresponseinputgrafanagrafana1.md +++ b/docs/models/inputresponseinputgrafanagrafana1.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..689ee8aa4 100644 --- a/docs/models/inputresponseinputgrafanagrafana2.md +++ b/docs/models/inputresponseinputgrafanagrafana2.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..e6ce1cb7f 100644 --- a/docs/models/inputresponseinputhttp.md +++ b/docs/models/inputresponseinputhttp.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..cabd7e8c9 100644 --- a/docs/models/inputresponseinputhttpraw.md +++ b/docs/models/inputresponseinputhttpraw.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..9f83f34bc 100644 --- a/docs/models/inputresponseinputjournalfiles.md +++ b/docs/models/inputresponseinputjournalfiles.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..8969e830e 100644 --- a/docs/models/inputresponseinputkafka.md +++ b/docs/models/inputresponseinputkafka.md @@ -7,12 +7,12 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..40fc51b0d 100644 --- a/docs/models/inputresponseinputkinesis.md +++ b/docs/models/inputresponseinputkinesis.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..28d312530 100644 --- a/docs/models/inputresponseinputkubeevents.md +++ b/docs/models/inputresponseinputkubeevents.md @@ -7,18 +7,18 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `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 c9a3cc231..b18f4c03b 100644 --- a/docs/models/inputresponseinputkubelogs.md +++ b/docs/models/inputresponseinputkubelogs.md @@ -7,24 +7,26 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `interval` | *Optional[float]* | :heavy_minus_sign: | Time, in seconds, between checks for new containers. Default is 15 secs. | | `rules` | List[[models.InputResponseRuleKubeLogs](../models/inputresponserulekubelogs.md)] | :heavy_minus_sign: | Add rules to decide which Pods to collect logs from. Logs are collected if no rules are given or if all the rules' expressions evaluate to true. | | `timestamps` | *Optional[bool]* | :heavy_minus_sign: | For use when containers do not emit a timestamp, prefix each line of output with a timestamp. If you enable this setting, you can use the Kubernetes Logs Event Breaker and the kubernetes_logs Pre-processing Pipeline to remove them from the events after the timestamps are extracted. | +| `line_buffer_limit` | *Optional[float]* | :heavy_minus_sign: | Maximum bytes to buffer while reassembling a single log line. A line that exceeds this size is flushed as-is, either whole or partially. The default is 1048576 (1 MB). | +| `lb_disable_assembly` | *Optional[bool]* | :heavy_minus_sign: | Internal flag to disable LB worker payload reassembly. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `persistence` | [Optional[models.DiskSpoolingType]](../models/diskspoolingtype.md) | :heavy_minus_sign: | N/A | | `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..cc17cee6a 100644 --- a/docs/models/inputresponseinputkubemetrics.md +++ b/docs/models/inputresponseinputkubemetrics.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..22e5549d9 100644 --- a/docs/models/inputresponseinputloki.md +++ b/docs/models/inputresponseinputloki.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..5ee60d9d2 100644 --- a/docs/models/inputresponseinputmetrics.md +++ b/docs/models/inputresponseinputmetrics.md @@ -7,12 +7,12 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..ddfe7839d 100644 --- a/docs/models/inputresponseinputmicrosoftgraph.md +++ b/docs/models/inputresponseinputmicrosoftgraph.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..e4cf1ce66 100644 --- a/docs/models/inputresponseinputmodeldriventelemetry.md +++ b/docs/models/inputresponseinputmodeldriventelemetry.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..35ae9941c 100644 --- a/docs/models/inputresponseinputmsk.md +++ b/docs/models/inputresponseinputmsk.md @@ -7,12 +7,12 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..1308bfedf 100644 --- a/docs/models/inputresponseinputnetflow.md +++ b/docs/models/inputresponseinputnetflow.md @@ -7,12 +7,12 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..a0acab6a8 100644 --- a/docs/models/inputresponseinputoffice365mgmt.md +++ b/docs/models/inputresponseinputoffice365mgmt.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..6951080b6 100644 --- a/docs/models/inputresponseinputoffice365msgtrace.md +++ b/docs/models/inputresponseinputoffice365msgtrace.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..9acf49ce1 100644 --- a/docs/models/inputresponseinputoffice365service.md +++ b/docs/models/inputresponseinputoffice365service.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..777536c98 100644 --- a/docs/models/inputresponseinputokta.md +++ b/docs/models/inputresponseinputokta.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..c4768bfaa 100644 --- a/docs/models/inputresponseinputopenai.md +++ b/docs/models/inputresponseinputopenai.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..88943afcd 100644 --- a/docs/models/inputresponseinputopenaicompliancelogs.md +++ b/docs/models/inputresponseinputopenaicompliancelogs.md @@ -7,12 +7,12 @@ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..4a390529b 100644 --- a/docs/models/inputresponseinputopentelemetry.md +++ b/docs/models/inputresponseinputopentelemetry.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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 5c30996a5..347871ae0 100644 --- a/docs/models/inputresponseinputprometheus.md +++ b/docs/models/inputresponseinputprometheus.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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 | @@ -50,6 +50,10 @@ | `assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Amazon Resource Name (ARN) of the role to assume | | `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). | +| `http_discovery_url` | *Optional[str]* | :heavy_minus_sign: | URL to fetch target groups from (must be http or https) | +| `http_discovery_headers` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauthSecret](../models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.md)] | :heavy_minus_sign: | Extra headers to send with the discovery request | +| `http_discovery_reject_unauthorized` | *Optional[bool]* | :heavy_minus_sign: | Reject TLS certificates that cannot be verified for the discovery endpoint. Falls back to the source-level setting if not specified. | +| `max_response_body_size` | *Optional[str]* | :heavy_minus_sign: | Maximum size of the HTTP SD response body. Responses exceeding this limit will be rejected. Defaults to 20 MB. | | `username` | *Optional[str]* | :heavy_minus_sign: | Username for Prometheus Basic authentication | | `password` | *Optional[str]* | :heavy_minus_sign: | Password for Prometheus Basic authentication | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a secret that references your credentials | diff --git a/docs/models/inputresponseinputprometheusrw.md b/docs/models/inputresponseinputprometheusrw.md index df36442de..4c4072dd9 100644 --- a/docs/models/inputresponseinputprometheusrw.md +++ b/docs/models/inputresponseinputprometheusrw.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..c19c450ca 100644 --- a/docs/models/inputresponseinputrawudp.md +++ b/docs/models/inputresponseinputrawudp.md @@ -7,12 +7,12 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..ea589adee 100644 --- a/docs/models/inputresponseinputs3.md +++ b/docs/models/inputresponseinputs3.md @@ -7,12 +7,12 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -38,6 +38,8 @@ | `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). | | `enable_sqs_assume_role` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials when accessing Amazon SQS | +| `shared_credentials` | *Optional[bool]* | :heavy_minus_sign: | Use the same credential settings for S3 and SQS | +| `shared_assume_role_arn` | *Optional[bool]* | :heavy_minus_sign: | Use the same settings for S3 and SQS | | `preprocess` | [Optional[models.PreprocessType]](../models/preprocesstype.md) | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `parquet_chunk_size_mb` | *Optional[float]* | :heavy_minus_sign: | Maximum file size for each Parquet chunk | @@ -46,9 +48,15 @@ | `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 | +| `sqs_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Amazon Resource Name (ARN) of the role to assume | +| `sqs_assume_role_external_id` | *Optional[str]* | :heavy_minus_sign: | External ID to use when assuming role | +| `sqs_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). | +| `sqs_aws_authentication_method` | [Optional[models.SqsAuthenticationMethodOptions]](../models/sqsauthenticationmethodoptions.md) | :heavy_minus_sign: | Choose Auto to use IAM roles | +| `sqs_aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | +| `sqs_aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `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. | | `processed_tag_value` | *Optional[str]* | :heavy_minus_sign: | The value for the S3 object tag applied after processing. This field accepts an expression for dynamic generation. | | `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. | @@ -61,5 +69,8 @@ | `template_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_aws_api_key` | *Optional[str]* | :heavy_minus_sign: | 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_sqs_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime. | +| `template_sqs_assume_role_external_id` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime. | +| `template_sqs_aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime. | | `notifications` | List[[models.NotificationUnion](../models/notificationunion.md)] | :heavy_minus_sign: | Notifications attached to the Source. | | `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/inputresponseinputs3inventory.md b/docs/models/inputresponseinputs3inventory.md index da9047dfc..27d335db3 100644 --- a/docs/models/inputresponseinputs3inventory.md +++ b/docs/models/inputresponseinputs3inventory.md @@ -7,12 +7,12 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -38,6 +38,8 @@ | `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). | | `enable_sqs_assume_role` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials when accessing Amazon SQS | +| `shared_credentials` | *Optional[bool]* | :heavy_minus_sign: | Use the same credential settings for S3 and SQS | +| `shared_assume_role_arn` | *Optional[bool]* | :heavy_minus_sign: | Use the same settings for S3 and SQS | | `preprocess` | [Optional[models.PreprocessType]](../models/preprocesstype.md) | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `parquet_chunk_size_mb` | *Optional[float]* | :heavy_minus_sign: | Maximum file size for each Parquet chunk | @@ -47,9 +49,15 @@ | `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 | +| `sqs_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Amazon Resource Name (ARN) of the role to assume | +| `sqs_assume_role_external_id` | *Optional[str]* | :heavy_minus_sign: | External ID to use when assuming role | +| `sqs_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). | +| `sqs_aws_authentication_method` | [Optional[models.SqsAuthenticationMethodOptions]](../models/sqsauthenticationmethodoptions.md) | :heavy_minus_sign: | Choose Auto to use IAM roles | +| `sqs_aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | +| `sqs_aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `tag_after_processing` | [Optional[models.TagAfterProcessingOptions]](../models/tagafterprocessingoptions.md) | :heavy_minus_sign: | N/A | | `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. | | `processed_tag_value` | *Optional[str]* | :heavy_minus_sign: | The value for the S3 object tag applied after processing. This field accepts an expression for dynamic generation. | @@ -63,5 +71,8 @@ | `template_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_aws_api_key` | *Optional[str]* | :heavy_minus_sign: | 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_sqs_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime. | +| `template_sqs_assume_role_external_id` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime. | +| `template_sqs_aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime. | | `notifications` | List[[models.NotificationUnion](../models/notificationunion.md)] | :heavy_minus_sign: | Notifications attached to the Source. | | `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/inputresponseinputsecuritylake.md b/docs/models/inputresponseinputsecuritylake.md index 2ee653947..cce1f4baf 100644 --- a/docs/models/inputresponseinputsecuritylake.md +++ b/docs/models/inputresponseinputsecuritylake.md @@ -7,12 +7,12 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -38,6 +38,8 @@ | `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). | | `enable_sqs_assume_role` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials when accessing Amazon SQS | +| `shared_credentials` | *Optional[bool]* | :heavy_minus_sign: | Use the same credential settings for S3 and SQS | +| `shared_assume_role_arn` | *Optional[bool]* | :heavy_minus_sign: | Use the same settings for S3 and SQS | | `preprocess` | [Optional[models.PreprocessType]](../models/preprocesstype.md) | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `parquet_chunk_size_mb` | *Optional[float]* | :heavy_minus_sign: | Maximum file size for each Parquet chunk | @@ -45,9 +47,15 @@ | `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 | +| `sqs_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Amazon Resource Name (ARN) of the role to assume | +| `sqs_assume_role_external_id` | *Optional[str]* | :heavy_minus_sign: | External ID to use when assuming role | +| `sqs_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). | +| `sqs_aws_authentication_method` | [Optional[models.SqsAuthenticationMethodOptions]](../models/sqsauthenticationmethodoptions.md) | :heavy_minus_sign: | Choose Auto to use IAM roles | +| `sqs_aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | +| `sqs_aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `tag_after_processing` | [Optional[models.TagAfterProcessingOptions]](../models/tagafterprocessingoptions.md) | :heavy_minus_sign: | N/A | | `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. | | `processed_tag_value` | *Optional[str]* | :heavy_minus_sign: | The value for the S3 object tag applied after processing. This field accepts an expression for dynamic generation. | @@ -61,5 +69,8 @@ | `template_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_aws_api_key` | *Optional[str]* | :heavy_minus_sign: | 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_sqs_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime. | +| `template_sqs_assume_role_external_id` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime. | +| `template_sqs_aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime. | | `notifications` | List[[models.NotificationUnion](../models/notificationunion.md)] | :heavy_minus_sign: | Notifications attached to the Source. | | `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/inputresponseinputservicenowtable.md b/docs/models/inputresponseinputservicenowtable.md index 86d12d6ef..45891a715 100644 --- a/docs/models/inputresponseinputservicenowtable.md +++ b/docs/models/inputresponseinputservicenowtable.md @@ -7,12 +7,12 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..c46dc7148 100644 --- a/docs/models/inputresponseinputsnmp.md +++ b/docs/models/inputresponseinputsnmp.md @@ -7,12 +7,12 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..01df2fc11 100644 --- a/docs/models/inputresponseinputsplunk.md +++ b/docs/models/inputresponseinputsplunk.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..88d92cbf1 100644 --- a/docs/models/inputresponseinputsplunkhec.md +++ b/docs/models/inputresponseinputsplunkhec.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..8113d4402 100644 --- a/docs/models/inputresponseinputsplunksearch.md +++ b/docs/models/inputresponseinputsplunksearch.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..e6dbee80a 100644 --- a/docs/models/inputresponseinputsqs.md +++ b/docs/models/inputresponseinputsqs.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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 new file mode 100644 index 000000000..f6b514691 --- /dev/null +++ b/docs/models/inputresponseinputsysdighec.md @@ -0,0 +1,49 @@ +# InputResponseInputSysdigHec + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | +| `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. | +| `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | +| `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | +| `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | +| `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | +| `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | +| `port` | *float* | :heavy_check_mark: | Port to listen on | +| `auth_tokens` | List[[models.AuthTokenConfInputCloudflareHec](../models/authtokenconfinputcloudflarehec.md)] | :heavy_minus_sign: | Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted. | +| `tls` | [Optional[models.TLSSettingsServerSideType]](../models/tlssettingsserversidetype.md) | :heavy_minus_sign: | N/A | +| `max_active_req` | *Optional[float]* | :heavy_minus_sign: | Maximum number of active requests allowed per Worker Process. Set to 0 for unlimited. Caution: Increasing the limit above the default value, or setting it to unlimited, may degrade performance and reduce throughput. | +| `max_requests_per_socket` | *Optional[int]* | :heavy_minus_sign: | Maximum number of requests per socket before @{product} instructs the client to close the connection. Default is 0 (unlimited). | +| `enable_proxy_header` | *Optional[bool]* | :heavy_minus_sign: | Extract the client IP and port from PROXY protocol v1/v2. When enabled, the X-Forwarded-For header is ignored. Disable to use the X-Forwarded-For header for client IP extraction. | +| `capture_headers` | *Optional[bool]* | :heavy_minus_sign: | Add request headers to events, in the __headers field | +| `activity_log_sample_rate` | *Optional[float]* | :heavy_minus_sign: | How often request activity is logged at the `info` level. A value of 1 would log every request, 10 every 10th request, etc. | +| `request_timeout` | *Optional[float]* | :heavy_minus_sign: | How long to wait for an incoming request to complete before aborting it. Use 0 to disable. | +| `socket_timeout` | *Optional[float]* | :heavy_minus_sign: | How long @{product} should wait before assuming that an inactive socket has timed out. To wait forever, set to 0. | +| `keep_alive_timeout` | *Optional[float]* | :heavy_minus_sign: | After the last response is sent, @{product} will wait this long for additional data before closing the socket connection. Minimum 1 second, maximum 600 seconds (10 minutes). | +| `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. | +| `hec_api` | *str* | :heavy_check_mark: | Absolute path on which to listen for the Sysdig HTTP Event Collector API requests. This input supports the /event and /raw endpoints. | +| `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to every event. May be overridden by fields added at the token or request level. | +| `allowed_indexes` | List[*str*] | :heavy_minus_sign: | List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level. | +| `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: | 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. | +| `template_port` | *Optional[str]* | :heavy_minus_sign: | 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_hec_api` | *Optional[str]* | :heavy_minus_sign: | Binds 'hecAPI' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'hecAPI' at runtime. | +| `template_allowed_indexes` | *Optional[str]* | :heavy_minus_sign: | Binds 'allowedIndexes' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'allowedIndexes' at runtime. | +| `template_access_control_allow_origin` | *Optional[str]* | :heavy_minus_sign: | Binds 'accessControlAllowOrigin' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowOrigin' at runtime. | +| `template_access_control_allow_headers` | *Optional[str]* | :heavy_minus_sign: | Binds 'accessControlAllowHeaders' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowHeaders' at runtime. | +| `notifications` | List[[models.NotificationUnion](../models/notificationunion.md)] | :heavy_minus_sign: | Notifications attached to the Source. | +| `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/inputresponseinputsyslogsyslog1.md b/docs/models/inputresponseinputsyslogsyslog1.md index 183a15185..fa882dad2 100644 --- a/docs/models/inputresponseinputsyslogsyslog1.md +++ b/docs/models/inputresponseinputsyslogsyslog1.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..a8c8135b5 100644 --- a/docs/models/inputresponseinputsyslogsyslog2.md +++ b/docs/models/inputresponseinputsyslogsyslog2.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..4ec1dfdb8 100644 --- a/docs/models/inputresponseinputsystemmetrics.md +++ b/docs/models/inputresponseinputsystemmetrics.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..84ca8c23c 100644 --- a/docs/models/inputresponseinputsystemstate.md +++ b/docs/models/inputresponseinputsystemstate.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..18de40bd8 100644 --- a/docs/models/inputresponseinputtcp.md +++ b/docs/models/inputresponseinputtcp.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..c840ff56f 100644 --- a/docs/models/inputresponseinputtcpjson.md +++ b/docs/models/inputresponseinputtcpjson.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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/inputresponseinputupwindhec.md b/docs/models/inputresponseinputupwindhec.md new file mode 100644 index 000000000..7aafe8caa --- /dev/null +++ b/docs/models/inputresponseinputupwindhec.md @@ -0,0 +1,49 @@ +# InputResponseInputUpwindHec + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | +| `type` | [models.InputResponseTypeUpwindHec](../models/inputresponsetypeupwindhec.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. | +| `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | +| `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | +| `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | +| `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | +| `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | +| `port` | *float* | :heavy_check_mark: | Port to listen on | +| `auth_tokens` | List[[models.AuthTokenConfInputCloudflareHec](../models/authtokenconfinputcloudflarehec.md)] | :heavy_minus_sign: | Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted. | +| `tls` | [Optional[models.TLSSettingsServerSideType]](../models/tlssettingsserversidetype.md) | :heavy_minus_sign: | N/A | +| `max_active_req` | *Optional[float]* | :heavy_minus_sign: | Maximum number of active requests allowed per Worker Process. Set to 0 for unlimited. Caution: Increasing the limit above the default value, or setting it to unlimited, may degrade performance and reduce throughput. | +| `max_requests_per_socket` | *Optional[int]* | :heavy_minus_sign: | Maximum number of requests per socket before @{product} instructs the client to close the connection. Default is 0 (unlimited). | +| `enable_proxy_header` | *Optional[bool]* | :heavy_minus_sign: | Extract the client IP and port from PROXY protocol v1/v2. When enabled, the X-Forwarded-For header is ignored. Disable to use the X-Forwarded-For header for client IP extraction. | +| `capture_headers` | *Optional[bool]* | :heavy_minus_sign: | Add request headers to events, in the __headers field | +| `activity_log_sample_rate` | *Optional[float]* | :heavy_minus_sign: | How often request activity is logged at the `info` level. A value of 1 would log every request, 10 every 10th request, etc. | +| `request_timeout` | *Optional[float]* | :heavy_minus_sign: | How long to wait for an incoming request to complete before aborting it. Use 0 to disable. | +| `socket_timeout` | *Optional[float]* | :heavy_minus_sign: | How long @{product} should wait before assuming that an inactive socket has timed out. To wait forever, set to 0. | +| `keep_alive_timeout` | *Optional[float]* | :heavy_minus_sign: | After the last response is sent, @{product} will wait this long for additional data before closing the socket connection. Minimum 1 second, maximum 600 seconds (10 minutes). | +| `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. | +| `hec_api` | *str* | :heavy_check_mark: | Absolute path on which to listen for the Upwind HTTP Event Collector API requests. This input supports the /event endpoint. | +| `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to every event. May be overridden by fields added at the token or request level. | +| `allowed_indexes` | List[*str*] | :heavy_minus_sign: | List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level. | +| `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: | 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. | +| `template_port` | *Optional[str]* | :heavy_minus_sign: | 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_hec_api` | *Optional[str]* | :heavy_minus_sign: | Binds 'hecAPI' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'hecAPI' at runtime. | +| `template_allowed_indexes` | *Optional[str]* | :heavy_minus_sign: | Binds 'allowedIndexes' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'allowedIndexes' at runtime. | +| `template_access_control_allow_origin` | *Optional[str]* | :heavy_minus_sign: | Binds 'accessControlAllowOrigin' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowOrigin' at runtime. | +| `template_access_control_allow_headers` | *Optional[str]* | :heavy_minus_sign: | Binds 'accessControlAllowHeaders' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowHeaders' at runtime. | +| `notifications` | List[[models.NotificationUnion](../models/notificationunion.md)] | :heavy_minus_sign: | Notifications attached to the Source. | +| `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/inputresponseinputwef.md b/docs/models/inputresponseinputwef.md index 78a9b3386..68dedc7bd 100644 --- a/docs/models/inputresponseinputwef.md +++ b/docs/models/inputresponseinputwef.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..3cf80c3f0 100644 --- a/docs/models/inputresponseinputwindowsmetrics.md +++ b/docs/models/inputresponseinputwindowsmetrics.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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 3b2a7eb64..be18623f9 100644 --- a/docs/models/inputresponseinputwineventlogs.md +++ b/docs/models/inputresponseinputwineventlogs.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -23,8 +23,8 @@ | `interval` | *Optional[float]* | :heavy_minus_sign: | Time, in seconds, between checking for new entries (Applicable for pre-4.8.0 nodes that use Windows Tools) | | `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[float]* | :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 | +| `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: | 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..1e4461994 100644 --- a/docs/models/inputresponseinputwiz.md +++ b/docs/models/inputresponseinputwiz.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..b0623a4d9 100644 --- a/docs/models/inputresponseinputwizwebhook.md +++ b/docs/models/inputresponseinputwizwebhook.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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 2dc37c4a1..3ddc4455b 100644 --- a/docs/models/inputresponseinputzscalerhec.md +++ b/docs/models/inputresponseinputzscalerhec.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -33,15 +33,18 @@ | `hec_api` | *str* | :heavy_check_mark: | Absolute path on which to listen for the Zscaler HTTP Event Collector API requests. This input supports the /event endpoint. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to every event. May be overridden by fields added at the token or request level. | | `allowed_indexes` | List[*str*] | :heavy_minus_sign: | List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level. | +| `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 | | `hec_acks` | *Optional[bool]* | :heavy_minus_sign: | Whether to enable Zscaler HEC acknowledgements | -| `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: | Enable to 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. | | `template_port` | *Optional[str]* | :heavy_minus_sign: | 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_hec_api` | *Optional[str]* | :heavy_minus_sign: | Binds 'hecAPI' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'hecAPI' at runtime. | +| `template_allowed_indexes` | *Optional[str]* | :heavy_minus_sign: | Binds 'allowedIndexes' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'allowedIndexes' at runtime. | +| `template_access_control_allow_origin` | *Optional[str]* | :heavy_minus_sign: | Binds 'accessControlAllowOrigin' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowOrigin' at runtime. | +| `template_access_control_allow_headers` | *Optional[str]* | :heavy_minus_sign: | Binds 'accessControlAllowHeaders' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowHeaders' at runtime. | | `notifications` | List[[models.NotificationUnion](../models/notificationunion.md)] | :heavy_minus_sign: | Notifications attached to the Source. | | `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/inputresponseproxymodedatadogagent.md b/docs/models/inputresponseproxymodedatadogagent.md index 9245e798f..54c90a73c 100644 --- a/docs/models/inputresponseproxymodedatadogagent.md +++ b/docs/models/inputresponseproxymodedatadogagent.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `enabled` | *bool* | :heavy_check_mark: | Toggle to Yes to send key validation requests from Datadog Agent to the Datadog API. If toggled to No (the default), Stream handles key validation requests by always responding that the key is valid. | -| `reject_unauthorized` | *Optional[bool]* | :heavy_minus_sign: | Whether to reject certificates that cannot be verified against a valid CA (e.g., self-signed certificates). | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `enabled` | *bool* | :heavy_check_mark: | Forward key validation requests from the Datadog Agent to the Datadog API. If disabled, Stream handles key validation requests locally by always responding that the key is valid. | +| `reject_unauthorized` | *Optional[bool]* | :heavy_minus_sign: | Whether to reject certificates that cannot be verified against a valid CA (such as self-signed certificates) | \ No newline at end of file diff --git a/docs/models/inputresponsesamplingrule.md b/docs/models/inputresponsesamplingrule.md new file mode 100644 index 000000000..396cc83ae --- /dev/null +++ b/docs/models/inputresponsesamplingrule.md @@ -0,0 +1,10 @@ +# InputResponseSamplingRule + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | +| `service` | *str* | :heavy_check_mark: | Datadog service name | +| `environment` | *str* | :heavy_check_mark: | Datadog environment name (example: prod, staging) | +| `rate` | *float* | :heavy_check_mark: | Sampling rate for this service/environment combination (0.0–1.0) | \ No newline at end of file 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 new file mode 100644 index 000000000..bf78a72db --- /dev/null +++ b/docs/models/inputresponsetypesysdighec.md @@ -0,0 +1,18 @@ +# InputResponseTypeSysdigHec + +Source type identifier. + +## Example Usage + +```python +from cribl_control_plane.models import InputResponseTypeSysdigHec + +value = InputResponseTypeSysdigHec.SYSDIG_HEC +``` + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `SYSDIG_HEC` | sysdig_hec | \ No newline at end of file diff --git a/docs/models/inputresponsetypeupwindhec.md b/docs/models/inputresponsetypeupwindhec.md new file mode 100644 index 000000000..a711dc799 --- /dev/null +++ b/docs/models/inputresponsetypeupwindhec.md @@ -0,0 +1,18 @@ +# InputResponseTypeUpwindHec + +Source type identifier. + +## Example Usage + +```python +from cribl_control_plane.models import InputResponseTypeUpwindHec + +value = InputResponseTypeUpwindHec.UPWIND_HEC +``` + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `UPWIND_HEC` | upwind_hec | \ No newline at end of file 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..0200291bd 100644 --- a/docs/models/inputs3input.md +++ b/docs/models/inputs3input.md @@ -7,12 +7,12 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `queue_name` | *str* | :heavy_check_mark: | 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}`. | @@ -37,6 +37,8 @@ | `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). | | `enable_sqs_assume_role` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials when accessing Amazon SQS | +| `shared_credentials` | *Optional[bool]* | :heavy_minus_sign: | Use the same credential settings for S3 and SQS | +| `shared_assume_role_arn` | *Optional[bool]* | :heavy_minus_sign: | Use the same settings for S3 and SQS | | `preprocess` | [Optional[models.PreprocessType]](../models/preprocesstype.md) | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `parquet_chunk_size_mb` | *Optional[float]* | :heavy_minus_sign: | Maximum file size for each Parquet chunk | @@ -45,9 +47,15 @@ | `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 | +| `sqs_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Amazon Resource Name (ARN) of the role to assume | +| `sqs_assume_role_external_id` | *Optional[str]* | :heavy_minus_sign: | External ID to use when assuming role | +| `sqs_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). | +| `sqs_aws_authentication_method` | [Optional[models.SqsAuthenticationMethodOptions]](../models/sqsauthenticationmethodoptions.md) | :heavy_minus_sign: | Choose Auto to use IAM roles | +| `sqs_aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | +| `sqs_aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `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. | | `processed_tag_value` | *Optional[str]* | :heavy_minus_sign: | The value for the S3 object tag applied after processing. This field accepts an expression for dynamic generation. | | `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. | @@ -59,4 +67,7 @@ | `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_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_aws_api_key` | *Optional[str]* | :heavy_minus_sign: | 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. | \ No newline at end of file +| `template_aws_api_key` | *Optional[str]* | :heavy_minus_sign: | 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_sqs_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime. | +| `template_sqs_assume_role_external_id` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime. | +| `template_sqs_aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime. | \ No newline at end of file diff --git a/docs/models/inputs3inventoryinput.md b/docs/models/inputs3inventoryinput.md index 5d6b2331e..58f7053d6 100644 --- a/docs/models/inputs3inventoryinput.md +++ b/docs/models/inputs3inventoryinput.md @@ -7,12 +7,12 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `queue_name` | *str* | :heavy_check_mark: | 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}`. | @@ -37,6 +37,8 @@ | `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). | | `enable_sqs_assume_role` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials when accessing Amazon SQS | +| `shared_credentials` | *Optional[bool]* | :heavy_minus_sign: | Use the same credential settings for S3 and SQS | +| `shared_assume_role_arn` | *Optional[bool]* | :heavy_minus_sign: | Use the same settings for S3 and SQS | | `preprocess` | [Optional[models.PreprocessType]](../models/preprocesstype.md) | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `parquet_chunk_size_mb` | *Optional[float]* | :heavy_minus_sign: | Maximum file size for each Parquet chunk | @@ -46,9 +48,15 @@ | `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 | +| `sqs_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Amazon Resource Name (ARN) of the role to assume | +| `sqs_assume_role_external_id` | *Optional[str]* | :heavy_minus_sign: | External ID to use when assuming role | +| `sqs_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). | +| `sqs_aws_authentication_method` | [Optional[models.SqsAuthenticationMethodOptions]](../models/sqsauthenticationmethodoptions.md) | :heavy_minus_sign: | Choose Auto to use IAM roles | +| `sqs_aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | +| `sqs_aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `tag_after_processing` | [Optional[models.TagAfterProcessingOptions]](../models/tagafterprocessingoptions.md) | :heavy_minus_sign: | N/A | | `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. | | `processed_tag_value` | *Optional[str]* | :heavy_minus_sign: | The value for the S3 object tag applied after processing. This field accepts an expression for dynamic generation. | @@ -61,4 +69,7 @@ | `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_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_aws_api_key` | *Optional[str]* | :heavy_minus_sign: | 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. | \ No newline at end of file +| `template_aws_api_key` | *Optional[str]* | :heavy_minus_sign: | 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_sqs_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime. | +| `template_sqs_assume_role_external_id` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime. | +| `template_sqs_aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime. | \ No newline at end of file diff --git a/docs/models/inputsecuritylakeinput.md b/docs/models/inputsecuritylakeinput.md index 9204172d6..9f7d0e6d9 100644 --- a/docs/models/inputsecuritylakeinput.md +++ b/docs/models/inputsecuritylakeinput.md @@ -7,12 +7,12 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `queue_name` | *str* | :heavy_check_mark: | 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}`. | @@ -37,6 +37,8 @@ | `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). | | `enable_sqs_assume_role` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials when accessing Amazon SQS | +| `shared_credentials` | *Optional[bool]* | :heavy_minus_sign: | Use the same credential settings for S3 and SQS | +| `shared_assume_role_arn` | *Optional[bool]* | :heavy_minus_sign: | Use the same settings for S3 and SQS | | `preprocess` | [Optional[models.PreprocessType]](../models/preprocesstype.md) | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `parquet_chunk_size_mb` | *Optional[float]* | :heavy_minus_sign: | Maximum file size for each Parquet chunk | @@ -44,9 +46,15 @@ | `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 | +| `sqs_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Amazon Resource Name (ARN) of the role to assume | +| `sqs_assume_role_external_id` | *Optional[str]* | :heavy_minus_sign: | External ID to use when assuming role | +| `sqs_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). | +| `sqs_aws_authentication_method` | [Optional[models.SqsAuthenticationMethodOptions]](../models/sqsauthenticationmethodoptions.md) | :heavy_minus_sign: | Choose Auto to use IAM roles | +| `sqs_aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | +| `sqs_aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `tag_after_processing` | [Optional[models.TagAfterProcessingOptions]](../models/tagafterprocessingoptions.md) | :heavy_minus_sign: | N/A | | `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. | | `processed_tag_value` | *Optional[str]* | :heavy_minus_sign: | The value for the S3 object tag applied after processing. This field accepts an expression for dynamic generation. | @@ -59,4 +67,7 @@ | `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_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_aws_api_key` | *Optional[str]* | :heavy_minus_sign: | 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. | \ No newline at end of file +| `template_aws_api_key` | *Optional[str]* | :heavy_minus_sign: | 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_sqs_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime. | +| `template_sqs_assume_role_external_id` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime. | +| `template_sqs_aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime. | \ No newline at end of file diff --git a/docs/models/inputservicenowtableinput.md b/docs/models/inputservicenowtableinput.md index 22e501ea3..f23caab16 100644 --- a/docs/models/inputservicenowtableinput.md +++ b/docs/models/inputservicenowtableinput.md @@ -7,12 +7,12 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `instance` | *str* | :heavy_check_mark: | ServiceNow instance base URL for Table API requests. Enter a literal URL (http or https and the instance host, for example a hostname ending in .service-now.com) or a Cribl expression that resolves to a URL. | @@ -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..44d779ad5 100644 --- a/docs/models/inputsnmpinput.md +++ b/docs/models/inputsnmpinput.md @@ -7,12 +7,12 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | 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. | @@ -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..1159ed61d 100644 --- a/docs/models/inputsplunkhec.md +++ b/docs/models/inputsplunkhec.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cribl_source_provenance` | [Optional[models.InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint]](../models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md) | :heavy_minus_sign: | Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | @@ -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..e27ad6204 100644 --- a/docs/models/inputsplunkhecinput.md +++ b/docs/models/inputsplunkhecinput.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..361e8c34a 100644 --- a/docs/models/inputsplunkinput.md +++ b/docs/models/inputsplunkinput.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..ab1ed4427 100644 --- a/docs/models/inputsplunksearchinput.md +++ b/docs/models/inputsplunksearchinput.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `search_head` | *str* | :heavy_check_mark: | Search head base URL. Can be an expression. Default is https://localhost:8089. | @@ -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..17018639b 100644 --- a/docs/models/inputsqsinput.md +++ b/docs/models/inputsqsinput.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `queue_name` | *str* | :heavy_check_mark: | The name, URL, or ARN of the SQS queue to read events 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 only be evaluated at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`. | @@ -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 new file mode 100644 index 000000000..d7f17c698 --- /dev/null +++ b/docs/models/inputsysdighecinput.md @@ -0,0 +1,46 @@ +# InputSysdigHecInput + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | +| `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. | +| `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | +| `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | +| `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | +| `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | +| `port` | *float* | :heavy_check_mark: | Port to listen on | +| `auth_tokens` | List[[models.AuthTokenConfInputCloudflareHec](../models/authtokenconfinputcloudflarehec.md)] | :heavy_minus_sign: | Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted. | +| `tls` | [Optional[models.TLSSettingsServerSideType]](../models/tlssettingsserversidetype.md) | :heavy_minus_sign: | N/A | +| `max_active_req` | *Optional[float]* | :heavy_minus_sign: | Maximum number of active requests allowed per Worker Process. Set to 0 for unlimited. Caution: Increasing the limit above the default value, or setting it to unlimited, may degrade performance and reduce throughput. | +| `max_requests_per_socket` | *Optional[int]* | :heavy_minus_sign: | Maximum number of requests per socket before @{product} instructs the client to close the connection. Default is 0 (unlimited). | +| `enable_proxy_header` | *Optional[bool]* | :heavy_minus_sign: | Extract the client IP and port from PROXY protocol v1/v2. When enabled, the X-Forwarded-For header is ignored. Disable to use the X-Forwarded-For header for client IP extraction. | +| `capture_headers` | *Optional[bool]* | :heavy_minus_sign: | Add request headers to events, in the __headers field | +| `activity_log_sample_rate` | *Optional[float]* | :heavy_minus_sign: | How often request activity is logged at the `info` level. A value of 1 would log every request, 10 every 10th request, etc. | +| `request_timeout` | *Optional[float]* | :heavy_minus_sign: | How long to wait for an incoming request to complete before aborting it. Use 0 to disable. | +| `socket_timeout` | *Optional[float]* | :heavy_minus_sign: | How long @{product} should wait before assuming that an inactive socket has timed out. To wait forever, set to 0. | +| `keep_alive_timeout` | *Optional[float]* | :heavy_minus_sign: | After the last response is sent, @{product} will wait this long for additional data before closing the socket connection. Minimum 1 second, maximum 600 seconds (10 minutes). | +| `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. | +| `hec_api` | *str* | :heavy_check_mark: | Absolute path on which to listen for the Sysdig HTTP Event Collector API requests. This input supports the /event and /raw endpoints. | +| `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to every event. May be overridden by fields added at the token or request level. | +| `allowed_indexes` | List[*str*] | :heavy_minus_sign: | List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level. | +| `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: | 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. | +| `template_port` | *Optional[str]* | :heavy_minus_sign: | 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_hec_api` | *Optional[str]* | :heavy_minus_sign: | Binds 'hecAPI' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'hecAPI' at runtime. | +| `template_allowed_indexes` | *Optional[str]* | :heavy_minus_sign: | Binds 'allowedIndexes' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'allowedIndexes' at runtime. | +| `template_access_control_allow_origin` | *Optional[str]* | :heavy_minus_sign: | Binds 'accessControlAllowOrigin' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowOrigin' at runtime. | +| `template_access_control_allow_headers` | *Optional[str]* | :heavy_minus_sign: | Binds 'accessControlAllowHeaders' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowHeaders' at runtime. | \ No newline at end of file diff --git a/docs/models/inputsysdighectype.md b/docs/models/inputsysdighectype.md new file mode 100644 index 000000000..6c4e8f72f --- /dev/null +++ b/docs/models/inputsysdighectype.md @@ -0,0 +1,18 @@ +# InputSysdigHecType + +Source type identifier. + +## Example Usage + +```python +from cribl_control_plane.models import InputSysdigHecType + +value = InputSysdigHecType.SYSDIG_HEC +``` + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `SYSDIG_HEC` | sysdig_hec | \ No newline at end of file diff --git a/docs/models/inputsyslogsysloginput1.md b/docs/models/inputsyslogsysloginput1.md index 482876285..66f1aee39 100644 --- a/docs/models/inputsyslogsysloginput1.md +++ b/docs/models/inputsyslogsysloginput1.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | 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. | @@ -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..b12907f5c 100644 --- a/docs/models/inputsyslogsysloginput2.md +++ b/docs/models/inputsyslogsysloginput2.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | 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. | @@ -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..21eab6c1b 100644 --- a/docs/models/inputsystemmetricsinput.md +++ b/docs/models/inputsystemmetricsinput.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `interval` | *Optional[float]* | :heavy_minus_sign: | Time, in seconds, between consecutive metric collections. Default is 10 seconds. | @@ -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..a7abd7d1e 100644 --- a/docs/models/inputsystemstateinput.md +++ b/docs/models/inputsystemstateinput.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `interval` | *Optional[float]* | :heavy_minus_sign: | Time, in seconds, between consecutive state collections. Default is 300 seconds (5 minutes). | @@ -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..10bdb9412 100644 --- a/docs/models/inputtcpinput.md +++ b/docs/models/inputtcpinput.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..fdf12a5ca 100644 --- a/docs/models/inputtcpjsoninput.md +++ b/docs/models/inputtcpjsoninput.md @@ -7,12 +7,12 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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/inputupwindhecinput.md b/docs/models/inputupwindhecinput.md new file mode 100644 index 000000000..17957e6ab --- /dev/null +++ b/docs/models/inputupwindhecinput.md @@ -0,0 +1,46 @@ +# InputUpwindHecInput + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | +| `type` | [models.InputUpwindHecType](../models/inputupwindhectype.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. | +| `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | +| `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | +| `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | +| `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | +| `port` | *float* | :heavy_check_mark: | Port to listen on | +| `auth_tokens` | List[[models.AuthTokenConfInputCloudflareHec](../models/authtokenconfinputcloudflarehec.md)] | :heavy_minus_sign: | Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted. | +| `tls` | [Optional[models.TLSSettingsServerSideType]](../models/tlssettingsserversidetype.md) | :heavy_minus_sign: | N/A | +| `max_active_req` | *Optional[float]* | :heavy_minus_sign: | Maximum number of active requests allowed per Worker Process. Set to 0 for unlimited. Caution: Increasing the limit above the default value, or setting it to unlimited, may degrade performance and reduce throughput. | +| `max_requests_per_socket` | *Optional[int]* | :heavy_minus_sign: | Maximum number of requests per socket before @{product} instructs the client to close the connection. Default is 0 (unlimited). | +| `enable_proxy_header` | *Optional[bool]* | :heavy_minus_sign: | Extract the client IP and port from PROXY protocol v1/v2. When enabled, the X-Forwarded-For header is ignored. Disable to use the X-Forwarded-For header for client IP extraction. | +| `capture_headers` | *Optional[bool]* | :heavy_minus_sign: | Add request headers to events, in the __headers field | +| `activity_log_sample_rate` | *Optional[float]* | :heavy_minus_sign: | How often request activity is logged at the `info` level. A value of 1 would log every request, 10 every 10th request, etc. | +| `request_timeout` | *Optional[float]* | :heavy_minus_sign: | How long to wait for an incoming request to complete before aborting it. Use 0 to disable. | +| `socket_timeout` | *Optional[float]* | :heavy_minus_sign: | How long @{product} should wait before assuming that an inactive socket has timed out. To wait forever, set to 0. | +| `keep_alive_timeout` | *Optional[float]* | :heavy_minus_sign: | After the last response is sent, @{product} will wait this long for additional data before closing the socket connection. Minimum 1 second, maximum 600 seconds (10 minutes). | +| `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. | +| `hec_api` | *str* | :heavy_check_mark: | Absolute path on which to listen for the Upwind HTTP Event Collector API requests. This input supports the /event endpoint. | +| `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to every event. May be overridden by fields added at the token or request level. | +| `allowed_indexes` | List[*str*] | :heavy_minus_sign: | List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level. | +| `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: | 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. | +| `template_port` | *Optional[str]* | :heavy_minus_sign: | 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_hec_api` | *Optional[str]* | :heavy_minus_sign: | Binds 'hecAPI' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'hecAPI' at runtime. | +| `template_allowed_indexes` | *Optional[str]* | :heavy_minus_sign: | Binds 'allowedIndexes' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'allowedIndexes' at runtime. | +| `template_access_control_allow_origin` | *Optional[str]* | :heavy_minus_sign: | Binds 'accessControlAllowOrigin' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowOrigin' at runtime. | +| `template_access_control_allow_headers` | *Optional[str]* | :heavy_minus_sign: | Binds 'accessControlAllowHeaders' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowHeaders' at runtime. | \ No newline at end of file diff --git a/docs/models/inputupwindhectype.md b/docs/models/inputupwindhectype.md new file mode 100644 index 000000000..579440eb6 --- /dev/null +++ b/docs/models/inputupwindhectype.md @@ -0,0 +1,18 @@ +# InputUpwindHecType + +Source type identifier. + +## Example Usage + +```python +from cribl_control_plane.models import InputUpwindHecType + +value = InputUpwindHecType.UPWIND_HEC +``` + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `UPWIND_HEC` | upwind_hec | \ No newline at end of file diff --git a/docs/models/inputwefinput.md b/docs/models/inputwefinput.md index 98f387287..df9b0be6d 100644 --- a/docs/models/inputwefinput.md +++ b/docs/models/inputwefinput.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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..c10ade77d 100644 --- a/docs/models/inputwindowsmetricsinput.md +++ b/docs/models/inputwindowsmetricsinput.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `interval` | *Optional[float]* | :heavy_minus_sign: | Time, in seconds, between consecutive metric collections. Default is 10 seconds. | @@ -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 8d2125e24..cf6f3fa39 100644 --- a/docs/models/inputwineventlogsinput.md +++ b/docs/models/inputwineventlogsinput.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `log_names` | List[*str*] | :heavy_check_mark: | Enter the event logs to collect. Run "Get-WinEvent -ListLog *" in PowerShell to see the available logs. | @@ -22,8 +22,8 @@ | `interval` | *Optional[float]* | :heavy_minus_sign: | Time, in seconds, between checking for new entries (Applicable for pre-4.8.0 nodes that use Windows Tools) | | `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[float]* | :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 | +| `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: | 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..9010c283b 100644 --- a/docs/models/inputwizinput.md +++ b/docs/models/inputwizinput.md @@ -7,12 +7,12 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `endpoint` | *str* | :heavy_check_mark: | The Wiz GraphQL API endpoint. Example: https://api.us1.app.wiz.io/graphql | @@ -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..615ec94ea 100644 --- a/docs/models/inputwizwebhookinput.md +++ b/docs/models/inputwizwebhookinput.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -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 a5a68bdf5..d441197a5 100644 --- a/docs/models/inputzscalerhecinput.md +++ b/docs/models/inputzscalerhecinput.md @@ -6,13 +6,13 @@ | 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. | | `pq_enabled` | *Optional[bool]* | :heavy_minus_sign: | Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers). | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `connections` | List[[models.ConnectionConfInputCollection](../models/connectionconfinputcollection.md)] | :heavy_minus_sign: | Direct connections to Destinations, and optionally via a Pipeline or a Pack | | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `host` | *str* | :heavy_check_mark: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | @@ -32,13 +32,16 @@ | `hec_api` | *str* | :heavy_check_mark: | Absolute path on which to listen for the Zscaler HTTP Event Collector API requests. This input supports the /event endpoint. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to every event. May be overridden by fields added at the token or request level. | | `allowed_indexes` | List[*str*] | :heavy_minus_sign: | List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level. | +| `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 | | `hec_acks` | *Optional[bool]* | :heavy_minus_sign: | Whether to enable Zscaler HEC acknowledgements | -| `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: | Enable to 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. | | `template_port` | *Optional[str]* | :heavy_minus_sign: | 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_hec_api` | *Optional[str]* | :heavy_minus_sign: | Binds 'hecAPI' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'hecAPI' at runtime. | \ No newline at end of file +| `template_hec_api` | *Optional[str]* | :heavy_minus_sign: | Binds 'hecAPI' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'hecAPI' at runtime. | +| `template_allowed_indexes` | *Optional[str]* | :heavy_minus_sign: | Binds 'allowedIndexes' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'allowedIndexes' at runtime. | +| `template_access_control_allow_origin` | *Optional[str]* | :heavy_minus_sign: | Binds 'accessControlAllowOrigin' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowOrigin' at runtime. | +| `template_access_control_allow_headers` | *Optional[str]* | :heavy_minus_sign: | Binds 'accessControlAllowHeaders' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowHeaders' at runtime. | \ No newline at end of file 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/jobinfo.md b/docs/models/jobinfo.md index 597eac405..9539ef445 100644 --- a/docs/models/jobinfo.md +++ b/docs/models/jobinfo.md @@ -5,10 +5,11 @@ Detailed information about a job, including its configuration, status, and stati ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `args` | [models.RunnableJob](../models/runnablejob.md) | :heavy_check_mark: | N/A | -| `id` | *str* | :heavy_check_mark: | Unique identifier for the job. | -| `keep` | *Optional[bool]* | :heavy_minus_sign: | If true, retain the job and its artifacts instead of deleting according to the time-to-live or retention policy. The job persists until it is manually deleted. | -| `stats` | Dict[str, [models.AdditionalPropertiesTypeJobInfoStats](../models/additionalpropertiestypejobinfostats.md)] | :heavy_check_mark: | Counters and metrics collected during job execution. | -| `status` | [models.JobStatus](../models/jobstatus.md) | :heavy_check_mark: | Status of a job, including its current state and failure reason. | \ No newline at end of file +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `args` | [models.RunnableJob](../models/runnablejob.md) | :heavy_check_mark: | N/A | +| `id` | *str* | :heavy_check_mark: | Unique identifier for the job. | +| `keep` | *Optional[bool]* | :heavy_minus_sign: | If true, retain the job and its artifacts instead of deleting according to the time-to-live or retention policy. The job persists until it is manually deleted. | +| `stats` | Dict[str, [models.AdditionalPropertiesTypeJobInfoStats](../models/additionalpropertiestypejobinfostats.md)] | :heavy_check_mark: | Counters and metrics collected during job execution. | +| `status` | [models.JobStatus](../models/jobstatus.md) | :heavy_check_mark: | Status of a job, including its current state and failure reason. | +| `worker_owner` | *Optional[str]* | :heavy_minus_sign: | The GUID of the worker node that owns this artifact, set when the job ran on a Captain while the leader was offline. When present, the leader proxies read access to the artifact; mutating actions (replay, delete, stop) are not supported. | \ No newline at end of file diff --git a/docs/models/joinconfiguration.md b/docs/models/joinconfiguration.md index c10797a67..36498389f 100644 --- a/docs/models/joinconfiguration.md +++ b/docs/models/joinconfiguration.md @@ -1,5 +1,7 @@ # JoinConfiguration +Configuration specific to the Pipeline Function. + ## Fields diff --git a/docs/models/kubetypeheartbeatmetadata.md b/docs/models/kubetypeheartbeatmetadata.md index 4d37b36eb..287b27555 100644 --- a/docs/models/kubetypeheartbeatmetadata.md +++ b/docs/models/kubetypeheartbeatmetadata.md @@ -3,11 +3,11 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | -| `enabled` | *bool* | :heavy_check_mark: | N/A | -| `namespace` | *str* | :heavy_check_mark: | N/A | -| `node` | *str* | :heavy_check_mark: | N/A | -| `owner` | [Optional[models.OwnerTypeHeartbeatMetadataKube]](../models/ownertypeheartbeatmetadatakube.md) | :heavy_minus_sign: | N/A | -| `pod` | *str* | :heavy_check_mark: | N/A | -| `source` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | +| `enabled` | *bool* | :heavy_check_mark: | If true, the Kubernetes metadata collector is enabled on the node. Otherwise, false. | +| `namespace` | *str* | :heavy_check_mark: | Kubernetes Namespace name. | +| `node` | *str* | :heavy_check_mark: | Kubernetes Node name. | +| `owner` | [Optional[models.OwnerTypeHeartbeatMetadataKube]](../models/ownertypeheartbeatmetadatakube.md) | :heavy_minus_sign: | N/A | +| `pod` | *str* | :heavy_check_mark: | Kubernetes Pod name. | +| `source` | *str* | :heavy_check_mark: | Kubernetes config source. | \ No newline at end of file diff --git a/docs/models/lakedatasetmetrics.md b/docs/models/lakedatasetmetrics.md index d6c6c2232..b1e550633 100644 --- a/docs/models/lakedatasetmetrics.md +++ b/docs/models/lakedatasetmetrics.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | -| `current_size_bytes` | *float* | :heavy_check_mark: | Total current logical size of the Dataset, in bytes. | -| `metrics_date` | *str* | :heavy_check_mark: | Timestamp (ISO 8601) when the metrics snapshot was generated. | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | +| `current_size_bytes` | *float* | :heavy_check_mark: | Total current logical size of the Dataset, in bytes. | +| `metrics_date` | *str* | :heavy_check_mark: | Timestamp (in Unix time) when the metrics snapshot was generated, as a YYYY-MM-DD calendar date. | \ No newline at end of file diff --git a/docs/models/lakedatasetsearchconfig.md b/docs/models/lakedatasetsearchconfig.md index d59331858..fe8282380 100644 --- a/docs/models/lakedatasetsearchconfig.md +++ b/docs/models/lakedatasetsearchconfig.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | | `datatypes` | List[*str*] | :heavy_minus_sign: | Datatype identifiers assigned to the Dataset for search-time event classification. | -| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of Dataset search configuration. | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Dataset search configuration. | | `metadata` | [Optional[models.DatasetMetadata]](../models/datasetmetadata.md) | :heavy_minus_sign: | N/A | | `path_filters` | List[[models.ObjectStorageFilter](../models/objectstoragefilter.md)] | :heavy_minus_sign: | Glob-to-Datatype mappings for the Lake bucket path. Used only for search execution v2. | | `search_version` | [Optional[models.SearchVersion]](../models/searchversion.md) | :heavy_minus_sign: | N/A | diff --git a/docs/models/lakeexportconfiguration.md b/docs/models/lakeexportconfiguration.md index 6a9362902..29cbe8db4 100644 --- a/docs/models/lakeexportconfiguration.md +++ b/docs/models/lakeexportconfiguration.md @@ -1,5 +1,7 @@ # LakeExportConfiguration +Configuration specific to the Pipeline Function. + ## Fields diff --git a/docs/models/listinputrequest.md b/docs/models/listinputrequest.md index 5497305dd..103001665 100644 --- a/docs/models/listinputrequest.md +++ b/docs/models/listinputrequest.md @@ -5,4 +5,6 @@ | Field | Type | Required | Description | | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `type` | List[*str*] | :heavy_minus_sign: | Type of Source to include in the results. Each request can include only one type parameter; multiple parameters per request are not supported. | \ No newline at end of file +| `type` | List[*str*] | :heavy_minus_sign: | Type of Source to include in the results. Each request can include only one type parameter; multiple parameters per request are not supported. | +| `offset` | *Optional[int]* | :heavy_minus_sign: | Pagination offset | +| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of items to return | \ No newline at end of file diff --git a/docs/models/listinputresponse.md b/docs/models/listinputresponse.md new file mode 100644 index 000000000..74b93ac8c --- /dev/null +++ b/docs/models/listinputresponse.md @@ -0,0 +1,8 @@ +# ListInputResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | +| `result` | [models.ListInputResponseBody](../models/listinputresponsebody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/listinputresponsebody.md b/docs/models/listinputresponsebody.md new file mode 100644 index 000000000..6c5442ce8 --- /dev/null +++ b/docs/models/listinputresponsebody.md @@ -0,0 +1,19 @@ +# ListInputResponseBody + +List of Source objects. + + +## Supported Types + +### `models.CountedInputResponse` + +```python +value: models.CountedInputResponse = /* values here */ +``` + +### `models.PaginatedInputResponse` + +```python +value: models.PaginatedInputResponse = /* values here */ +``` + diff --git a/docs/models/listoutputrequest.md b/docs/models/listoutputrequest.md index 47116d251..30dec3793 100644 --- a/docs/models/listoutputrequest.md +++ b/docs/models/listoutputrequest.md @@ -5,4 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `type` | [Optional[models.DestinationType]](../models/destinationtype.md) | :heavy_minus_sign: | Type of Destination to include in the results. Each request can include only one type parameter; multiple parameters per request are not supported. | \ No newline at end of file +| `type` | [Optional[models.DestinationType]](../models/destinationtype.md) | :heavy_minus_sign: | Type of Destination to include in the results. Each request can include only one type parameter; multiple parameters per request are not supported. | +| `offset` | *Optional[int]* | :heavy_minus_sign: | Pagination offset | +| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of items to return | \ No newline at end of file diff --git a/docs/models/listoutputresponse.md b/docs/models/listoutputresponse.md new file mode 100644 index 000000000..e6c0b9378 --- /dev/null +++ b/docs/models/listoutputresponse.md @@ -0,0 +1,8 @@ +# ListOutputResponse + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | +| `result` | [models.ListOutputResponseBody](../models/listoutputresponsebody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/listoutputresponsebody.md b/docs/models/listoutputresponsebody.md new file mode 100644 index 000000000..033006275 --- /dev/null +++ b/docs/models/listoutputresponsebody.md @@ -0,0 +1,19 @@ +# ListOutputResponseBody + +List of Destination objects. + + +## Supported Types + +### `models.CountedOutputResponse` + +```python +value: models.CountedOutputResponse = /* values here */ +``` + +### `models.PaginatedOutputResponse` + +```python +value: models.PaginatedOutputResponse = /* values here */ +``` + diff --git a/docs/models/loglevelforfailedlookups.md b/docs/models/loglevelforfailedlookups.md index adf47ed5f..e7474a803 100644 --- a/docs/models/loglevelforfailedlookups.md +++ b/docs/models/loglevelforfailedlookups.md @@ -1,5 +1,7 @@ # LogLevelForFailedLookups +Log level to use when a DNS lookup fails. + ## Example Usage ```python diff --git a/docs/models/outputclickhousemappingtype.md b/docs/models/mappingtypeoptions.md similarity index 66% rename from docs/models/outputclickhousemappingtype.md rename to docs/models/mappingtypeoptions.md index 4615d2892..dd9cfdabd 100644 --- a/docs/models/outputclickhousemappingtype.md +++ b/docs/models/mappingtypeoptions.md @@ -1,13 +1,13 @@ -# OutputClickHouseMappingType +# MappingTypeOptions How event fields are mapped to ClickHouse columns ## Example Usage ```python -from cribl_control_plane.models import OutputClickHouseMappingType +from cribl_control_plane.models import MappingTypeOptions -value = OutputClickHouseMappingType.AUTOMATIC +value = MappingTypeOptions.AUTOMATIC # Open enum: unrecognized values are captured as UnrecognizedStr ``` diff --git a/docs/models/masterworkerentry.md b/docs/models/masterworkerentry.md index 9ef95951a..072ba8244 100644 --- a/docs/models/masterworkerentry.md +++ b/docs/models/masterworkerentry.md @@ -3,21 +3,22 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | -| `connection_protocol` | [Optional[models.ConnectionProtocol]](../models/connectionprotocol.md) | :heavy_minus_sign: | N/A | -| `deployable` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `disconnected` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `first_msg_time` | *float* | :heavy_check_mark: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `id` | *str* | :heavy_check_mark: | N/A | -| `info` | [models.NodeProvidedInfo](../models/nodeprovidedinfo.md) | :heavy_check_mark: | N/A | -| `last_metrics` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | -| `last_msg_time` | *float* | :heavy_check_mark: | N/A | -| `metadata` | [Optional[models.HeartbeatMetadata]](../models/heartbeatmetadata.md) | :heavy_minus_sign: | N/A | -| `node_upgrade_status` | [Optional[models.NodeUpgradeStatus]](../models/nodeupgradestatus.md) | :heavy_minus_sign: | N/A | -| `provisioning_token_id` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `status` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `type` | [Optional[models.MasterWorkerEntryType]](../models/masterworkerentrytype.md) | :heavy_minus_sign: | N/A | -| `worker_processes` | *float* | :heavy_check_mark: | N/A | -| `workers` | [Optional[models.MasterWorkerEntryWorkers]](../models/masterworkerentryworkers.md) | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | +| `connection_protocol` | [Optional[models.ConnectionProtocol]](../models/connectionprotocol.md) | :heavy_minus_sign: | N/A | +| `deployable` | *Optional[bool]* | :heavy_minus_sign: | If true, the node can receive configuration deployments. Otherwise, false. | +| `disconnected` | *Optional[bool]* | :heavy_minus_sign: | If true, the node is disconnected from the Leader. Otherwise, false. | +| `first_msg_time` | *int* | :heavy_check_mark: | Timestamp (in Unix time) when the Leader first received a message from the node. | +| `group` | *str* | :heavy_check_mark: | The id of the Worker Group, Edge Fleet, or Outpost Group that contains the node. | +| `id` | *str* | :heavy_check_mark: | Unique identifier for the node. | +| `info` | [models.NodeProvidedInfo](../models/nodeprovidedinfo.md) | :heavy_check_mark: | N/A | +| `last_metrics` | Dict[str, *Any*] | :heavy_minus_sign: | Latest total, input, and destination metrics cached for UI display. | +| `last_msg_time` | *int* | :heavy_check_mark: | Timestamp (in Unix time) when the Leader last received a message from the node. | +| `metadata` | [Optional[models.HeartbeatMetadata]](../models/heartbeatmetadata.md) | :heavy_minus_sign: | N/A | +| `node_upgrade_status` | [Optional[models.NodeUpgradeStatus]](../models/nodeupgradestatus.md) | :heavy_minus_sign: | N/A | +| `offline_duration_ms` | *Optional[int]* | :heavy_minus_sign: | Configured ephemeral offline duration, in milliseconds. | +| `provisioning_token_id` | *Optional[str]* | :heavy_minus_sign: | The id of the provisioning token used to authenticate the node, if used. | +| `status` | *Optional[str]* | :heavy_minus_sign: | Health status reported for the node. | +| `type` | [Optional[models.MasterWorkerEntryType]](../models/masterworkerentrytype.md) | :heavy_minus_sign: | RPC message type reported by the node. | +| `worker_processes` | *int* | :heavy_check_mark: | Number of Worker Processes running on the node. | +| `workers` | [Optional[models.MasterWorkerProcesses]](../models/masterworkerprocesses.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/masterworkerentrytype.md b/docs/models/masterworkerentrytype.md index 8db4703f1..101ebb3f4 100644 --- a/docs/models/masterworkerentrytype.md +++ b/docs/models/masterworkerentrytype.md @@ -1,5 +1,7 @@ # MasterWorkerEntryType +RPC message type reported by the node. + ## Example Usage ```python diff --git a/docs/models/masterworkerentryworkers.md b/docs/models/masterworkerentryworkers.md deleted file mode 100644 index 92c77eedc..000000000 --- a/docs/models/masterworkerentryworkers.md +++ /dev/null @@ -1,8 +0,0 @@ -# MasterWorkerEntryWorkers - - -## Fields - -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `count` | *float* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/masterworkerprocesses.md b/docs/models/masterworkerprocesses.md new file mode 100644 index 000000000..01e21c292 --- /dev/null +++ b/docs/models/masterworkerprocesses.md @@ -0,0 +1,8 @@ +# MasterWorkerProcesses + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | +| `count` | *int* | :heavy_check_mark: | Number of Worker Processes represented by the node entry. | \ No newline at end of file diff --git a/docs/models/requestparamconfinputopenai.md b/docs/models/metadataconfaddhectokenrequest.md similarity index 91% rename from docs/models/requestparamconfinputopenai.md rename to docs/models/metadataconfaddhectokenrequest.md index 8ac0da18f..6aa14eb10 100644 --- a/docs/models/requestparamconfinputopenai.md +++ b/docs/models/metadataconfaddhectokenrequest.md @@ -1,4 +1,4 @@ -# RequestParamConfInputOpenai +# MetadataConfAddHecTokenRequest ## Fields diff --git a/docs/models/metadataconfinputcollection.md b/docs/models/metadataconfinputcollection.md index 69ce87497..58fa3a0a0 100644 --- a/docs/models/metadataconfinputcollection.md +++ b/docs/models/metadataconfinputcollection.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -| `name` | *str* | :heavy_check_mark: | N/A | +| `name` | *str* | :heavy_check_mark: | Name of the metadata field. | | `value` | *str* | :heavy_check_mark: | JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.) | \ No newline at end of file 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/nodeosinfo.md b/docs/models/nodeosinfo.md new file mode 100644 index 000000000..067cc41b4 --- /dev/null +++ b/docs/models/nodeosinfo.md @@ -0,0 +1,8 @@ +# NodeOsInfo + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | +| `addresses` | List[*str*] | :heavy_check_mark: | Network addresses reported by the node operating system. | \ No newline at end of file diff --git a/docs/models/nodeprovidedinfo.md b/docs/models/nodeprovidedinfo.md index f47a28a10..187031b9d 100644 --- a/docs/models/nodeprovidedinfo.md +++ b/docs/models/nodeprovidedinfo.md @@ -3,29 +3,29 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | -| `api_port` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `api_scheme` | [Optional[models.APIScheme]](../models/apischeme.md) | :heavy_minus_sign: | N/A | -| `architecture` | *str* | :heavy_check_mark: | N/A | -| `aws` | [Optional[models.AwsTypeHeartbeatMetadata]](../models/awstypeheartbeatmetadata.md) | :heavy_minus_sign: | N/A | -| `azure` | [Optional[models.AzureTypeHeartbeatMetadata]](../models/azuretypeheartbeatmetadata.md) | :heavy_minus_sign: | N/A | -| `conn_ip` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `cpus` | *float* | :heavy_check_mark: | N/A | -| `cribl` | [models.HBCriblInfo](../models/hbcriblinfo.md) | :heavy_check_mark: | N/A | -| `env` | Dict[str, *str*] | :heavy_check_mark: | N/A | -| `free_disk_space` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `host_os` | [Optional[models.HostOsTypeHeartbeatMetadata]](../models/hostostypeheartbeatmetadata.md) | :heavy_minus_sign: | N/A | -| `hostname` | *str* | :heavy_check_mark: | N/A | -| `is_captain` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `is_saas_worker` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `kube` | [Optional[models.KubeTypeHeartbeatMetadata]](../models/kubetypeheartbeatmetadata.md) | :heavy_minus_sign: | N/A | -| `local_time` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `metadata` | [Optional[models.HeartbeatMetadata]](../models/heartbeatmetadata.md) | :heavy_minus_sign: | N/A | -| `node` | *str* | :heavy_check_mark: | N/A | -| `os` | [Optional[models.OsUnion]](../models/osunion.md) | :heavy_minus_sign: | N/A | -| `outpost` | [Optional[models.OutpostNodeInfo]](../models/outpostnodeinfo.md) | :heavy_minus_sign: | N/A | -| `platform` | *str* | :heavy_check_mark: | N/A | -| `release` | *str* | :heavy_check_mark: | N/A | -| `total_disk_space` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `totalmem` | *float* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | +| `api_port` | *Optional[int]* | :heavy_minus_sign: | API port exposed by the node. | | +| `api_scheme` | [Optional[models.APIScheme]](../models/apischeme.md) | :heavy_minus_sign: | N/A | | +| `architecture` | *str* | :heavy_check_mark: | CPU architecture. | **Example 1:** x64
**Example 2:** arm64 | +| `aws` | [Optional[models.AwsTypeHeartbeatMetadata]](../models/awstypeheartbeatmetadata.md) | :heavy_minus_sign: | N/A | | +| `azure` | [Optional[models.AzureTypeHeartbeatMetadata]](../models/azuretypeheartbeatmetadata.md) | :heavy_minus_sign: | N/A | | +| `conn_ip` | *Optional[str]* | :heavy_minus_sign: | Remote ip:port for the worker socket. | | +| `cpus` | *int* | :heavy_check_mark: | Number of CPU cores available on the node. | | +| `cribl` | [models.HBCriblInfo](../models/hbcriblinfo.md) | :heavy_check_mark: | N/A | | +| `env` | Dict[str, *str*] | :heavy_check_mark: | Environment variables reported by the node. | | +| `free_disk_space` | *Optional[int]* | :heavy_minus_sign: | Free disk space on the node, in bytes. | | +| `host_os` | [Optional[models.HostOsTypeHeartbeatMetadata]](../models/hostostypeheartbeatmetadata.md) | :heavy_minus_sign: | N/A | | +| `hostname` | *str* | :heavy_check_mark: | Hostname reported by the node. | | +| `is_captain` | *Optional[bool]* | :heavy_minus_sign: | If true, the node considers itself the elected captain for its group. Otherwise, false. | | +| `is_saas_worker` | *Optional[bool]* | :heavy_minus_sign: | If true, the node runs in Cribl.Cloud. Otherwise, false. | | +| `kube` | [Optional[models.KubeTypeHeartbeatMetadata]](../models/kubetypeheartbeatmetadata.md) | :heavy_minus_sign: | N/A | | +| `local_time` | *Optional[int]* | :heavy_minus_sign: | Local timestamp (in Unix time) on the node, in milliseconds. | | +| `metadata` | [Optional[models.HeartbeatMetadata]](../models/heartbeatmetadata.md) | :heavy_minus_sign: | N/A | | +| `node` | *str* | :heavy_check_mark: | Node.js runtime version running on the node. | | +| `os` | [Optional[models.Os]](../models/os.md) | :heavy_minus_sign: | Operating system metadata collected from the node. | | +| `outpost` | [Optional[models.OutpostNodeInfo]](../models/outpostnodeinfo.md) | :heavy_minus_sign: | N/A | | +| `platform` | *str* | :heavy_check_mark: | Operating system platform. | **Example 1:** linux
**Example 2:** win32 | +| `release` | *str* | :heavy_check_mark: | Operating system kernel release. | | +| `total_disk_space` | *Optional[int]* | :heavy_minus_sign: | Total disk space on the node, in bytes. | | +| `totalmem` | *int* | :heavy_check_mark: | Total memory on the node, in bytes. | | \ No newline at end of file diff --git a/docs/models/nodeupgradestatus.md b/docs/models/nodeupgradestatus.md index 70e86b10d..3e9f1fc10 100644 --- a/docs/models/nodeupgradestatus.md +++ b/docs/models/nodeupgradestatus.md @@ -9,4 +9,4 @@ | `failed` | [Optional[models.NodeFailedUpgradeStatus]](../models/nodefailedupgradestatus.md) | :heavy_minus_sign: | N/A | | `skipped` | [Optional[models.NodeSkippedUpgradeStatus]](../models/nodeskippedupgradestatus.md) | :heavy_minus_sign: | N/A | | `state` | [models.NodeUpgradeState](../models/nodeupgradestate.md) | :heavy_check_mark: | N/A | -| `timestamp` | *float* | :heavy_check_mark: | N/A | \ No newline at end of file +| `timestamp` | *int* | :heavy_check_mark: | Timestamp (in Unix time) when the node entered the upgrade state, in milliseconds. | \ No newline at end of file diff --git a/docs/models/notificationconfigforsmtptarget1.md b/docs/models/notificationconfigforsmtptarget1.md index 3db847d26..183f2995e 100644 --- a/docs/models/notificationconfigforsmtptarget1.md +++ b/docs/models/notificationconfigforsmtptarget1.md @@ -1,5 +1,7 @@ # NotificationConfigForSMTPTarget1 +Simple Mail Transfer Protocol (SMTP) configuration for the Notification target. + ## Fields @@ -7,4 +9,4 @@ | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | | `subject` | *Optional[str]* | :heavy_minus_sign: | Email subject | | `body` | *Optional[str]* | :heavy_minus_sign: | Email body | -| `email_recipient` | [Optional[models.EmailRecipient1]](../models/emailrecipient1.md) | :heavy_minus_sign: | N/A | \ No newline at end of file +| `email_recipient` | [Optional[models.EmailRecipient1]](../models/emailrecipient1.md) | :heavy_minus_sign: | Email recipient settings for the Notification target. | \ No newline at end of file diff --git a/docs/models/notificationconfigforsmtptarget2.md b/docs/models/notificationconfigforsmtptarget2.md index f136bf34a..05185f0cc 100644 --- a/docs/models/notificationconfigforsmtptarget2.md +++ b/docs/models/notificationconfigforsmtptarget2.md @@ -1,5 +1,7 @@ # NotificationConfigForSMTPTarget2 +Simple Mail Transfer Protocol (SMTP) configuration for the Notification target. + ## Fields @@ -7,4 +9,4 @@ | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | | `subject` | *Optional[str]* | :heavy_minus_sign: | Email subject | | `body` | *Optional[str]* | :heavy_minus_sign: | Email body | -| `email_recipient` | [Optional[models.EmailRecipient2]](../models/emailrecipient2.md) | :heavy_minus_sign: | N/A | \ No newline at end of file +| `email_recipient` | [Optional[models.EmailRecipient2]](../models/emailrecipient2.md) | :heavy_minus_sign: | Email recipient settings for the Notification target. | \ No newline at end of file diff --git a/docs/models/notificationconfigforsmtptarget3.md b/docs/models/notificationconfigforsmtptarget3.md index 84dd159e5..b3c8c325f 100644 --- a/docs/models/notificationconfigforsmtptarget3.md +++ b/docs/models/notificationconfigforsmtptarget3.md @@ -1,5 +1,7 @@ # NotificationConfigForSMTPTarget3 +Simple Mail Transfer Protocol (SMTP) configuration for the Notification target. + ## Fields @@ -7,4 +9,4 @@ | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | | `subject` | *Optional[str]* | :heavy_minus_sign: | Email subject | | `body` | *Optional[str]* | :heavy_minus_sign: | Email body | -| `email_recipient` | [Optional[models.EmailRecipient3]](../models/emailrecipient3.md) | :heavy_minus_sign: | N/A | \ No newline at end of file +| `email_recipient` | [Optional[models.EmailRecipient3]](../models/emailrecipient3.md) | :heavy_minus_sign: | Email recipient settings for the Notification target. | \ No newline at end of file diff --git a/docs/models/notifyconfiguration.md b/docs/models/notifyconfiguration.md index 3772c80b0..24cb78213 100644 --- a/docs/models/notifyconfiguration.md +++ b/docs/models/notifyconfiguration.md @@ -1,5 +1,7 @@ # NotifyConfiguration +Configuration specific to the Pipeline Function. + ## Fields diff --git a/docs/models/numerifyformatfix.md b/docs/models/numerifyformatfix.md index 5c5033075..7f3a22c3e 100644 --- a/docs/models/numerifyformatfix.md +++ b/docs/models/numerifyformatfix.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `format_` | [Optional[models.NumerifyFormatFixFormat]](../models/numerifyformatfixformat.md) | :heavy_minus_sign: | N/A | +| `format_` | [Optional[models.NumerifyFormatFixFormat]](../models/numerifyformatfixformat.md) | :heavy_minus_sign: | Numeric format to apply after type conversion. | | `digits` | *Optional[float]* | :heavy_minus_sign: | Number of digits after the decimal point, between 0 and 20. If left blank, defaults to 2. | | `depth` | *Optional[int]* | :heavy_minus_sign: | Depth to which the Numerify Function will search within a nested event. Depth greater than 5 (the default) could decrease performance. | | `ignore_fields` | List[*str*] | :heavy_minus_sign: | Fields to NOT numerify. Takes precedence over 'Include expression' when set. Supports wildcards. A '!' before field name(s) means: numerify all fields EXCEPT these. For syntax details, see [Wildcard Lists](https://docs.cribl.io/stream/introduction-reference/#wildcard-lists). | diff --git a/docs/models/numerifyformatfixformat.md b/docs/models/numerifyformatfixformat.md index f9fe07e52..8d69286b6 100644 --- a/docs/models/numerifyformatfixformat.md +++ b/docs/models/numerifyformatfixformat.md @@ -1,5 +1,7 @@ # NumerifyFormatFixFormat +Numeric format to apply after type conversion. + ## Example Usage ```python diff --git a/docs/models/numerifyformatnone.md b/docs/models/numerifyformatnone.md index 222115870..9bb7fb945 100644 --- a/docs/models/numerifyformatnone.md +++ b/docs/models/numerifyformatnone.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `format_` | [Optional[models.NumerifyFormatNoneFormat]](../models/numerifyformatnoneformat.md) | :heavy_minus_sign: | N/A | +| `format_` | [Optional[models.NumerifyFormatNoneFormat]](../models/numerifyformatnoneformat.md) | :heavy_minus_sign: | Numeric format to apply after type conversion. | | `depth` | *Optional[int]* | :heavy_minus_sign: | Depth to which the Numerify Function will search within a nested event. Depth greater than 5 (the default) could decrease performance. | | `ignore_fields` | List[*str*] | :heavy_minus_sign: | Fields to NOT numerify. Takes precedence over 'Include expression' when set. Supports wildcards. A '!' before field name(s) means: numerify all fields EXCEPT these. For syntax details, see [Wildcard Lists](https://docs.cribl.io/stream/introduction-reference/#wildcard-lists). | | `filter_expr` | *Optional[str]* | :heavy_minus_sign: | Optional JavaScript expression to determine whether a field should be numerified. If left blank, all fields will be numerified. Use the 'name' and 'value' global variables to access fields' names/values. Examples: `value != null`, `name=='fieldname'`. You can access other fields' values via `__e.`. | diff --git a/docs/models/numerifyformatnoneformat.md b/docs/models/numerifyformatnoneformat.md index 6f37d2c41..ded1fc206 100644 --- a/docs/models/numerifyformatnoneformat.md +++ b/docs/models/numerifyformatnoneformat.md @@ -1,5 +1,7 @@ # NumerifyFormatNoneFormat +Numeric format to apply after type conversion. + ## Example Usage ```python diff --git a/docs/models/objectstoragefilter.md b/docs/models/objectstoragefilter.md index 2f01cc937..653dd7af9 100644 --- a/docs/models/objectstoragefilter.md +++ b/docs/models/objectstoragefilter.md @@ -3,8 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -| `data_path_format` | [Optional[models.PathFilterDataFormat]](../models/pathfilterdataformat.md) | :heavy_minus_sign: | N/A | -| `data_type_id` | *str* | :heavy_check_mark: | Datatype identifier that maps filtered objects to a data type definition. | -| `filter_` | *str* | :heavy_check_mark: | Glob pattern for selecting files within the storage path. | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data_path_format` | [Optional[models.PathFilterDataFormat]](../models/pathfilterdataformat.md) | :heavy_minus_sign: | N/A | +| `data_type_id` | *str* | :heavy_check_mark: | Datatype identifier that maps filtered objects to a data type definition. | +| `filter_` | *str* | :heavy_check_mark: | Glob pattern for selecting files within the storage path. | +| `preprocess_outer_json` | *Optional[bool]* | :heavy_minus_sign: | When true, instructs the C++ reader to unwrap the outer JSON envelope before applying the user datatype to the nested _raw field. Set for Cribl Lake NDJSON filters only. | \ No newline at end of file diff --git a/docs/models/scalarorarray.md b/docs/models/oldmode.md similarity index 65% rename from docs/models/scalarorarray.md rename to docs/models/oldmode.md index 0b269f9cc..b5f2e6f94 100644 --- a/docs/models/scalarorarray.md +++ b/docs/models/oldmode.md @@ -1,4 +1,6 @@ -# ScalarOrArray +# OldMode + +File mode of the original file. May be an array for combined diffs. ## Supported Types diff --git a/docs/models/os.md b/docs/models/os.md index 049e90073..f39659b0e 100644 --- a/docs/models/os.md +++ b/docs/models/os.md @@ -1,8 +1,19 @@ # Os +Operating system metadata collected from the node. -## Fields -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `addresses` | List[*str*] | :heavy_check_mark: | N/A | \ No newline at end of file +## Supported Types + +### `models.NodeOsInfo` + +```python +value: models.NodeOsInfo = /* values here */ +``` + +### `models.OsTypeHeartbeatMetadata` + +```python +value: models.OsTypeHeartbeatMetadata = /* values here */ +``` + diff --git a/docs/models/ostypeheartbeatmetadata.md b/docs/models/ostypeheartbeatmetadata.md new file mode 100644 index 000000000..3e927ea07 --- /dev/null +++ b/docs/models/ostypeheartbeatmetadata.md @@ -0,0 +1,11 @@ +# OsTypeHeartbeatMetadata + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | +| `addresses` | List[*str*] | :heavy_check_mark: | Network addresses reported by the operating system. | +| `enabled` | *bool* | :heavy_check_mark: | If true, the operating system metadata collector is enabled on the node. Otherwise, false. | +| `id` | *str* | :heavy_check_mark: | Operating system distribution name. | +| `version` | *str* | :heavy_check_mark: | Operating system version. | \ No newline at end of file diff --git a/docs/models/osunion.md b/docs/models/osunion.md deleted file mode 100644 index 2744993ec..000000000 --- a/docs/models/osunion.md +++ /dev/null @@ -1,17 +0,0 @@ -# OsUnion - - -## Supported Types - -### `models.HostOsTypeHeartbeatMetadata` - -```python -value: models.HostOsTypeHeartbeatMetadata = /* values here */ -``` - -### `models.Os` - -```python -value: models.Os = /* values here */ -``` - diff --git a/docs/models/outpostnodeinfo.md b/docs/models/outpostnodeinfo.md index 1d582629d..5567817cb 100644 --- a/docs/models/outpostnodeinfo.md +++ b/docs/models/outpostnodeinfo.md @@ -3,8 +3,8 @@ ## Fields -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `groupname` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `guid` | *str* | :heavy_check_mark: | N/A | -| `host` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | +| `groupname` | *Optional[str]* | :heavy_minus_sign: | Name of the Outpost Group that contains the Outpost Node. | +| `guid` | *str* | :heavy_check_mark: | Unique identifier for the Outpost Node. | +| `host` | *str* | :heavy_check_mark: | Hostname or IP address for the Outpost Node. | \ No newline at end of file diff --git a/docs/models/output.md b/docs/models/output.md index a2fbaf4ac..37c81d20e 100644 --- a/docs/models/output.md +++ b/docs/models/output.md @@ -123,6 +123,12 @@ value: models.OutputHoneycomb = /* values here */ value: models.OutputAzureEventhub = /* values here */ ``` +### `models.OutputGoogleBigquery` + +```python +value: models.OutputGoogleBigquery = /* values here */ +``` + ### `models.OutputGoogleChronicle` ```python @@ -141,6 +147,12 @@ value: models.OutputGoogleCloudStorage = /* values here */ value: models.OutputGoogleCloudLogging = /* values here */ ``` +### `models.OutputGoogleCloudObservability` + +```python +value: models.OutputGoogleCloudObservability = /* values here */ +``` + ### `models.OutputGooglePubsub` ```python @@ -279,6 +291,12 @@ value: models.OutputGrafanaCloudUnion = /* values here */ value: models.OutputLoki = /* values here */ ``` +### `models.OutputAmazonManagedPrometheus` + +```python +value: models.OutputAmazonManagedPrometheus = /* values here */ +``` + ### `models.OutputPrometheus` ```python @@ -369,6 +387,12 @@ value: models.OutputDiskSpool = /* values here */ value: models.OutputClickHouse = /* values here */ ``` +### `models.OutputCustomerMetricsStorage` + +```python +value: models.OutputCustomerMetricsStorage = /* values here */ +``` + ### `models.OutputLocalSearchStorage` ```python @@ -471,3 +495,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..62519a376 100644 --- a/docs/models/outputalibabaclouds3.md +++ b/docs/models/outputalibabaclouds3.md @@ -10,8 +10,8 @@ | `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} | -| `aws_authentication_method` | [Optional[models.AuthenticationMethodOptionsSecret]](../models/authenticationmethodoptionssecret.md) | :heavy_minus_sign: | Authentication method. | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | +| `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,11 @@ | `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 | +| `enable_assume_role` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials to access Alibaba OSS | +| `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). | +| `assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | ARN of the RAM role to assume. Format: acs:ram:::role/. Example: acs:ram::123456789:role/OSSAccessRole | +| `assume_role_external_id` | *Optional[str]* | :heavy_minus_sign: | External ID for the assumed role (optional, for security when configured in the role trust policy) | +| `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 | @@ -69,5 +73,7 @@ | `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_object_acl` | *Optional[str]* | :heavy_minus_sign: | 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` | *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_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_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/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..019d6302d 100644 --- a/docs/models/outputalphasocs3.md +++ b/docs/models/outputalphasocs3.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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 | @@ -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/outputamazonmanagedprometheus.md b/docs/models/outputamazonmanagedprometheus.md new file mode 100644 index 000000000..f71c71263 --- /dev/null +++ b/docs/models/outputamazonmanagedprometheus.md @@ -0,0 +1,61 @@ +# OutputAmazonManagedPrometheus + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this output | +| `type` | [models.OutputAmazonManagedPrometheusType](../models/outputamazonmanagedprometheustype.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. These fields are added as dimensions to generated metrics. | +| `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: | Metadata tags used for categorization and filtering. | +| `url` | *str* | :heavy_check_mark: | The Amazon Managed Service for Prometheus remote_write endpoint | +| `aws_authentication_method` | [models.AuthenticationMethodOptionsAutoSecret](../models/authenticationmethodoptionsautosecret.md) | :heavy_check_mark: | AWS authentication method. Choose Auto to use IAM roles. | +| `aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `region` | *str* | :heavy_check_mark: | Region where the AMSP is located | +| `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. | +| `enable_assume_role` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials to access AMSP | +| `assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Amazon Resource Name (ARN) of the role to assume | +| `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). | +| `metric_rename_expr` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[bool]* | :heavy_minus_sign: | Generate and send metadata (`type` and `metricFamilyName`) requests | +| `use_prometheus_histogram_bucket_suffix` | *Optional[bool]* | :heavy_minus_sign: | Serialize histogram bucket series as `_bucket` to match Prometheus histogram naming convention | +| `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | +| `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum uncompressed size, in KB, of the request body. The 1 MB cap is intentional and protects against data that compresses poorly, since oversized requests fail with a non-retryable 413. | +| `max_payload_events` | *Optional[float]* | :heavy_minus_sign: | Maximum number of events to include in the request body. Default is 0 (unlimited). | +| `timeout_sec` | *Optional[float]* | :heavy_minus_sign: | Amount of time, in seconds, to wait for a request to complete before canceling it | +| `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 Body size limit. | +| `extra_http_headers` | List[[models.ExtraHTTPHeaderConfInputElastic](../models/extrahttpheaderconfinputelastic.md)] | :heavy_minus_sign: | Headers to add to all events. SigV4-managed headers and the Prometheus remote-write protocol version header are generated by this Destination and cannot be configured here. | +| `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. | +| `failed_request_logging_mode` | [Optional[models.FailedRequestLoggingModeOptions]](../models/failedrequestloggingmodeoptions.md) | :heavy_minus_sign: | Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below. | +| `safe_headers` | List[*str*] | :heavy_minus_sign: | List of headers that are safe to log in plain text | +| `response_retry_settings` | List[[models.ResponseRetrySettingConfOutputWebhook](../models/responseretrysettingconfoutputwebhook.md)] | :heavy_minus_sign: | Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable) | +| `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: | 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 | +| `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. | +| `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. | +| `pq_max_buffer_size` | *Optional[float]* | :heavy_minus_sign: | 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` | *Optional[float]* | :heavy_minus_sign: | How long (in seconds) to wait for backpressure to resolve before engaging the queue | +| `pq_max_file_size` | *Optional[str]* | :heavy_minus_sign: | The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.) | +| `pq_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. | +| `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | +| `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | +| `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | +| `pq_controls` | [Optional[models.OutputAmazonManagedPrometheusPqControls]](../models/outputamazonmanagedprometheuspqcontrols.md) | :heavy_minus_sign: | N/A | +| `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_url` | *Optional[str]* | :heavy_minus_sign: | 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_secret_key` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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` | *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/outputamazonmanagedprometheuspqcontrols.md b/docs/models/outputamazonmanagedprometheuspqcontrols.md new file mode 100644 index 000000000..52bf34614 --- /dev/null +++ b/docs/models/outputamazonmanagedprometheuspqcontrols.md @@ -0,0 +1,7 @@ +# OutputAmazonManagedPrometheusPqControls + + +## Fields + +| Field | Type | Required | Description | +| ----------- | ----------- | ----------- | ----------- | \ No newline at end of file diff --git a/docs/models/outputamazonmanagedprometheustype.md b/docs/models/outputamazonmanagedprometheustype.md new file mode 100644 index 000000000..be368f8d1 --- /dev/null +++ b/docs/models/outputamazonmanagedprometheustype.md @@ -0,0 +1,16 @@ +# OutputAmazonManagedPrometheusType + +## Example Usage + +```python +from cribl_control_plane.models import OutputAmazonManagedPrometheusType + +value = OutputAmazonManagedPrometheusType.AMAZON_MANAGED_PROMETHEUS +``` + + +## Values + +| Name | Value | +| --------------------------- | --------------------------- | +| `AMAZON_MANAGED_PROMETHEUS` | amazon_managed_prometheus | \ No newline at end of file diff --git a/docs/models/outputazureblob.md b/docs/models/outputazureblob.md index 22a2f35d4..ca0f3fba2 100644 --- a/docs/models/outputazureblob.md +++ b/docs/models/outputazureblob.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `container_name` | *str* | :heavy_check_mark: | 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"]}`. | | `create_container` | *Optional[bool]* | :heavy_minus_sign: | Create the configured container in Azure Blob Storage if it does not already exist | | `dest_path` | *Optional[str]* | :heavy_minus_sign: | 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"]}`. | @@ -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 1ab3fbafd..1dfaad3d2 100644 --- a/docs/models/outputazuredataexplorer.md +++ b/docs/models/outputazuredataexplorer.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cluster_url` | *str* | :heavy_check_mark: | The base URI for your cluster. Typically, `https://..kusto.windows.net`. | | `database` | *str* | :heavy_check_mark: | Name of the database containing the table where data will be ingested | | `table` | *str* | :heavy_check_mark: | Name of the table to ingest data into | @@ -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 | @@ -89,7 +89,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputAzureDataExplorerPqControls]](../models/outputazuredataexplorerpqcontrols.md) | :heavy_minus_sign: | N/A | | `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_cluster_url` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputazureeventhub.md b/docs/models/outputazureeventhub.md index a77fbf5e7..44bdceff2 100644 --- a/docs/models/outputazureeventhub.md +++ b/docs/models/outputazureeventhub.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `brokers` | List[*str*] | :heavy_check_mark: | 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* | :heavy_check_mark: | The name of the Event Hub (Kafka Topic) to publish events. Can be overwritten using field __topicOut. | | `ack` | [Optional[models.AcknowledgmentsOptions]](../models/acknowledgmentsoptions.md) | :heavy_minus_sign: | Control the number of required acknowledgments | @@ -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. | @@ -40,7 +40,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputAzureEventhubPqControls]](../models/outputazureeventhubpqcontrols.md) | :heavy_minus_sign: | N/A | | `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/outputazurelogs.md b/docs/models/outputazurelogs.md index d16afc1a0..764b78372 100644 --- a/docs/models/outputazurelogs.md +++ b/docs/models/outputazurelogs.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `log_type` | *str* | :heavy_check_mark: | 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. | | `resource_id` | *Optional[str]* | :heavy_minus_sign: | 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]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | @@ -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. | @@ -41,7 +41,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputAzureLogsPqControls]](../models/outputazurelogspqcontrols.md) | :heavy_minus_sign: | N/A | | `workspace_id` | *Optional[str]* | :heavy_minus_sign: | Azure Log Analytics Workspace ID. See Azure Dashboard Workspace > Advanced settings. | | `workspace_key` | *Optional[str]* | :heavy_minus_sign: | Azure Log Analytics Workspace Primary or Secondary Shared Key. See Azure Dashboard Workspace > Advanced settings. | diff --git a/docs/models/outputchronicle.md b/docs/models/outputchronicle.md index a3b8b8295..8a67cbcce 100644 --- a/docs/models/outputchronicle.md +++ b/docs/models/outputchronicle.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `api_version` | *Optional[str]* | :heavy_minus_sign: | N/A | | `authentication_method` | [Optional[models.OutputChronicleAuthenticationMethod]](../models/outputchronicleauthenticationmethod.md) | :heavy_minus_sign: | N/A | | `response_retry_settings` | List[[models.ResponseRetrySettingConfOutputWebhook](../models/responseretrysettingconfoutputwebhook.md)] | :heavy_minus_sign: | Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable) | @@ -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. | @@ -51,7 +51,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputChroniclePqControls]](../models/outputchroniclepqcontrols.md) | :heavy_minus_sign: | N/A | | `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_region` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputclickhouse.md b/docs/models/outputclickhouse.md index ca6429585..fa553f8e0 100644 --- a/docs/models/outputclickhouse.md +++ b/docs/models/outputclickhouse.md @@ -10,13 +10,13 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `url` | *str* | :heavy_check_mark: | URL of the ClickHouse instance. Example: http://localhost:8123/ | | `auth_type` | [Optional[models.AuthenticationTypeOptions]](../models/authenticationtypeoptions.md) | :heavy_minus_sign: | N/A | | `database` | *str* | :heavy_check_mark: | N/A | | `table_name` | *str* | :heavy_check_mark: | 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 "_". | -| `format_` | [Optional[models.OutputClickHouseFormat]](../models/outputclickhouseformat.md) | :heavy_minus_sign: | Data format to use when sending data to ClickHouse. Defaults to JSON Compact. | -| `mapping_type` | [Optional[models.OutputClickHouseMappingType]](../models/outputclickhousemappingtype.md) | :heavy_minus_sign: | How event fields are mapped to ClickHouse columns | +| `format_` | [Optional[models.FormatOptions]](../models/formatoptions.md) | :heavy_minus_sign: | Data format to use when sending data to ClickHouse. Defaults to JSON Compact. | +| `mapping_type` | [Optional[models.MappingTypeOptions]](../models/mappingtypeoptions.md) | :heavy_minus_sign: | How event fields are mapped to ClickHouse columns | | `async_inserts` | *Optional[bool]* | :heavy_minus_sign: | 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` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPathExtended]](../models/tlssettingsclientsidetypecapathcertpathextended.md) | :heavy_minus_sign: | N/A | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | @@ -33,9 +33,10 @@ | `response_retry_settings` | List[[models.ResponseRetrySettingConfOutputWebhook](../models/responseretrysettingconfoutputwebhook.md)] | :heavy_minus_sign: | Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable) | | `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. | +| `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 | @@ -43,7 +44,7 @@ | `wait_for_async_inserts` | *Optional[bool]* | :heavy_minus_sign: | 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` | List[*str*] | :heavy_minus_sign: | Fields to exclude from sending to ClickHouse | | `describe_table` | *Optional[str]* | :heavy_minus_sign: | Retrieves the table schema from ClickHouse and populates the Column Mapping table | -| `column_mappings` | List[[models.OutputClickHouseColumnMapping](../models/outputclickhousecolumnmapping.md)] | :heavy_minus_sign: | N/A | +| `column_mappings` | List[[models.ColumnMappingConfOutputClickHouse](../models/columnmappingconfoutputclickhouse.md)] | :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. | | `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. | @@ -54,7 +55,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputClickHousePqControls]](../models/outputclickhousepqcontrols.md) | :heavy_minus_sign: | N/A | | `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_url` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputcloudflarer2.md b/docs/models/outputcloudflarer2.md index ae66d7ba6..4b071801d 100644 --- a/docs/models/outputcloudflarer2.md +++ b/docs/models/outputcloudflarer2.md @@ -10,8 +10,8 @@ | `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} | -| `aws_authentication_method` | [Optional[models.OutputCloudflareR2AuthenticationMethod]](../models/outputcloudflarer2authenticationmethod.md) | :heavy_minus_sign: | AWS authentication method. Choose Auto to use IAM roles. | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | +| `aws_authentication_method` | [Optional[models.AuthenticationMethodOptionsAutoSecret]](../models/authenticationmethodoptionsautosecret.md) | :heavy_minus_sign: | AWS authentication method. Choose Auto to use IAM roles. | | `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 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}` | @@ -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..166e1dbdb 100644 --- a/docs/models/outputcloudians3.md +++ b/docs/models/outputcloudians3.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `endpoint` | *str* | :heavy_check_mark: | Cloudian HyperStore S3-compatible endpoint URL (example: https://s3.hyperstore.example.com) | | `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 | @@ -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 bd3b09c06..9f60c507b 100644 --- a/docs/models/outputcloudwatch.md +++ b/docs/models/outputcloudwatch.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `log_group_name` | *str* | :heavy_check_mark: | CloudWatch log group to associate events with | | `log_stream_name` | *str* | :heavy_check_mark: | 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 | | `aws_authentication_method` | [Optional[models.AuthenticationMethodOptionsS3CollectorConf]](../models/authenticationmethodoptionss3collectorconf.md) | :heavy_minus_sign: | AWS authentication method. Choose Auto to use IAM roles. | @@ -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. | @@ -40,7 +40,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputCloudwatchPqControls]](../models/outputcloudwatchpqcontrols.md) | :heavy_minus_sign: | N/A | | `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_log_group_name` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputconfluentcloud.md b/docs/models/outputconfluentcloud.md index d458c221f..516ce5db1 100644 --- a/docs/models/outputconfluentcloud.md +++ b/docs/models/outputconfluentcloud.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `brokers` | List[*str*] | :heavy_check_mark: | List of Confluent Cloud bootstrap servers to use, such as yourAccount.confluent.cloud:9092. | | `tls` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPath]](../models/tlssettingsclientsidetypecapathcertpath.md) | :heavy_minus_sign: | N/A | | `topic` | *str* | :heavy_check_mark: | The topic to publish events to. Can be overridden using the __topicOut field. | @@ -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. | @@ -44,7 +44,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputConfluentCloudPqControls]](../models/outputconfluentcloudpqcontrols.md) | :heavy_minus_sign: | N/A | | `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/outputcriblhttp.md b/docs/models/outputcriblhttp.md index e4062382c..868f71b05 100644 --- a/docs/models/outputcriblhttp.md +++ b/docs/models/outputcriblhttp.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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. | | `tls` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPath]](../models/tlssettingsclientsidetypecapathcertpath.md) | :heavy_minus_sign: | N/A | | `token_ttl_minutes` | *Optional[float]* | :heavy_minus_sign: | The number of minutes before the internally generated authentication token expires. Valid values are between 1 and 60. | @@ -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 | @@ -48,7 +48,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputCriblHTTPPqControls]](../models/outputcriblhttppqcontrols.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputcribllake.md b/docs/models/outputcribllake.md index 7c5ace487..c34d275e0 100644 --- a/docs/models/outputcribllake.md +++ b/docs/models/outputcribllake.md @@ -10,19 +10,7 @@ | `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` | *Optional[str]* | :heavy_minus_sign: | S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint. | -| `enable_assume_role` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials to access S3 | -| `assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Amazon Resource Name (ARN) of the role to assume | -| `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). | -| `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` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | Region where the S3 bucket is located | -| `dest_path` | *Optional[str]* | :heavy_minus_sign: | Lake dataset to send the data to. | -| `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 | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `stage_path` | *Optional[str]* | :heavy_minus_sign: | 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 | @@ -40,31 +28,33 @@ | `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 | -| `aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`) | -| `object_acl` | [Optional[models.ObjectACLOptions]](../models/objectacloptions.md) | :heavy_minus_sign: | Object ACL to assign to uploaded objects | -| `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 | -| `aws_authentication_method` | [Optional[models.OutputCriblLakeAwsAuthenticationMethod]](../models/outputcribllakeawsauthenticationmethod.md) | :heavy_minus_sign: | N/A | +| `dest_path` | *Optional[str]* | :heavy_minus_sign: | Lake dataset to send the data to. | | `format_` | [Optional[models.OutputCriblLakeFormat]](../models/outputcribllakeformat.md) | :heavy_minus_sign: | N/A | -| `max_concurrent_file_parts` | *Optional[float]* | :heavy_minus_sign: | Maximum number of parts to upload in parallel per file. Minimum part size is 5MB. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `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: | 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 | +| `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_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *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_region` | *Optional[str]* | :heavy_minus_sign: | 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` | *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_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_aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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. | \ No newline at end of file +| `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_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/outputcribllakeawsauthenticationmethod.md b/docs/models/outputcribllakeawsauthenticationmethod.md deleted file mode 100644 index 852ed23e4..000000000 --- a/docs/models/outputcribllakeawsauthenticationmethod.md +++ /dev/null @@ -1,20 +0,0 @@ -# OutputCriblLakeAwsAuthenticationMethod - -## Example Usage - -```python -from cribl_control_plane.models import OutputCriblLakeAwsAuthenticationMethod - -value = OutputCriblLakeAwsAuthenticationMethod.AUTO - -# Open enum: unrecognized values are captured as UnrecognizedStr -``` - - -## Values - -| Name | Value | -| ---------- | ---------- | -| `AUTO` | auto | -| `AUTO_RPC` | auto_rpc | -| `MANUAL` | manual | \ No newline at end of file diff --git a/docs/models/outputcribllakeformat.md b/docs/models/outputcribllakeformat.md index d0d65f537..7ccfafa2c 100644 --- a/docs/models/outputcribllakeformat.md +++ b/docs/models/outputcribllakeformat.md @@ -13,9 +13,8 @@ value = OutputCriblLakeFormat.JSON ## Values -| Name | Value | -| ---------- | ---------- | -| `JSON` | json | -| `PARQUET` | parquet | -| `DDSS` | ddss | -| `NETSKOPE` | netskope | \ No newline at end of file +| Name | Value | +| --------- | --------- | +| `JSON` | json | +| `PARQUET` | parquet | +| `RAW` | raw | \ No newline at end of file diff --git a/docs/models/outputcriblsearchengine.md b/docs/models/outputcriblsearchengine.md index e3514ef22..a8c9f2928 100644 --- a/docs/models/outputcriblsearchengine.md +++ b/docs/models/outputcriblsearchengine.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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. | | `tls` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPath]](../models/tlssettingsclientsidetypecapathcertpath.md) | :heavy_minus_sign: | N/A | | `token_ttl_minutes` | *Optional[float]* | :heavy_minus_sign: | The number of minutes before the internally generated authentication token expires. Valid values are between 1 and 60. | @@ -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 | @@ -48,7 +48,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputCriblSearchEnginePqControls]](../models/outputcriblsearchenginepqcontrols.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputcribltcp.md b/docs/models/outputcribltcp.md index 549beb1b9..4e6fc97af 100644 --- a/docs/models/outputcribltcp.md +++ b/docs/models/outputcribltcp.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `load_balanced` | *Optional[bool]* | :heavy_minus_sign: | Use load-balanced destinations | | `compression` | [Optional[models.CompressionOptionsGzipNone]](../models/compressionoptionsgzipnone.md) | :heavy_minus_sign: | Codec to use to compress the data before sending | | `log_failed_requests` | *Optional[bool]* | :heavy_minus_sign: | Use to troubleshoot issues with sending data | @@ -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 | @@ -40,7 +40,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputCriblTCPPqControls]](../models/outputcribltcppqcontrols.md) | :heavy_minus_sign: | N/A | | `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. | diff --git a/docs/models/outputcrowdstrikenextgensiem.md b/docs/models/outputcrowdstrikenextgensiem.md index 1d594fd2b..19456808b 100644 --- a/docs/models/outputcrowdstrikenextgensiem.md +++ b/docs/models/outputcrowdstrikenextgensiem.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `url` | *str* | :heavy_check_mark: | URL provided from a CrowdStrike data connector.
Example: https://ingest..crowdstrike.com/api/ingest/hec//v1/services/collector | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | | `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size, in KB, of the request body | @@ -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. | @@ -42,7 +42,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputCrowdstrikeNextGenSiemPqControls]](../models/outputcrowdstrikenextgensiempqcontrols.md) | :heavy_minus_sign: | N/A | | `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_url` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputcustomermetricsstorage.md b/docs/models/outputcustomermetricsstorage.md new file mode 100644 index 000000000..91cdbab38 --- /dev/null +++ b/docs/models/outputcustomermetricsstorage.md @@ -0,0 +1,65 @@ +# OutputCustomerMetricsStorage + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this output | +| `type` | [models.OutputCustomerMetricsStorageType](../models/outputcustomermetricsstoragetype.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: | Metadata tags used for categorization and filtering. | +| `url` | *str* | :heavy_check_mark: | URL of the ClickHouse instance. Example: http://localhost:8123/ | +| `auth_type` | [Optional[models.AuthenticationTypeOptions]](../models/authenticationtypeoptions.md) | :heavy_minus_sign: | N/A | +| `database` | *str* | :heavy_check_mark: | N/A | +| `table_name` | *str* | :heavy_check_mark: | 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 "_". | +| `format_` | [Optional[models.FormatOptions]](../models/formatoptions.md) | :heavy_minus_sign: | Data format to use when sending data to ClickHouse. Defaults to JSON Compact. | +| `mapping_type` | [Optional[models.MappingTypeOptions]](../models/mappingtypeoptions.md) | :heavy_minus_sign: | How event fields are mapped to ClickHouse columns | +| `async_inserts` | *Optional[bool]* | :heavy_minus_sign: | 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` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPathExtended]](../models/tlssettingsclientsidetypecapathcertpathextended.md) | :heavy_minus_sign: | N/A | +| `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | +| `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size, in KB, of the request body | +| `max_payload_events` | *Optional[float]* | :heavy_minus_sign: | Maximum number of events to include in the request body. Default is 0 (unlimited). | +| `compress` | *Optional[bool]* | :heavy_minus_sign: | Compress the payload body before sending | +| `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. | +| `timeout_sec` | *Optional[float]* | :heavy_minus_sign: | Amount of time, in seconds, to wait for a request to complete before canceling it | +| `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 Body size limit. | +| `extra_http_headers` | List[[models.ExtraHTTPHeaderConfInputElastic](../models/extrahttpheaderconfinputelastic.md)] | :heavy_minus_sign: | Headers to add to all events | +| `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. | +| `failed_request_logging_mode` | [Optional[models.FailedRequestLoggingModeOptions]](../models/failedrequestloggingmodeoptions.md) | :heavy_minus_sign: | Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below. | +| `safe_headers` | List[*str*] | :heavy_minus_sign: | List of headers that are safe to log in plain text | +| `response_retry_settings` | List[[models.ResponseRetrySettingConfOutputWebhook](../models/responseretrysettingconfoutputwebhook.md)] | :heavy_minus_sign: | Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable) | +| `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. | +| `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: | 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 | +| `sql_username` | *Optional[str]* | :heavy_minus_sign: | Username for certificate authentication | +| `wait_for_async_inserts` | *Optional[bool]* | :heavy_minus_sign: | 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` | List[*str*] | :heavy_minus_sign: | Fields to exclude from sending to ClickHouse | +| `describe_table` | *Optional[str]* | :heavy_minus_sign: | Retrieves the table schema from ClickHouse and populates the Column Mapping table | +| `column_mappings` | List[[models.ColumnMappingConfOutputClickHouse](../models/columnmappingconfoutputclickhouse.md)] | :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. | +| `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. | +| `pq_max_buffer_size` | *Optional[float]* | :heavy_minus_sign: | 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` | *Optional[float]* | :heavy_minus_sign: | How long (in seconds) to wait for backpressure to resolve before engaging the queue | +| `pq_max_file_size` | *Optional[str]* | :heavy_minus_sign: | The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.) | +| `pq_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. | +| `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | +| `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | +| `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | +| `pq_controls` | [Optional[models.OutputCustomerMetricsStoragePqControls]](../models/outputcustomermetricsstoragepqcontrols.md) | :heavy_minus_sign: | N/A | +| `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_url` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *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/outputcustomermetricsstoragepqcontrols.md b/docs/models/outputcustomermetricsstoragepqcontrols.md new file mode 100644 index 000000000..8006f6a24 --- /dev/null +++ b/docs/models/outputcustomermetricsstoragepqcontrols.md @@ -0,0 +1,7 @@ +# OutputCustomerMetricsStoragePqControls + + +## Fields + +| Field | Type | Required | Description | +| ----------- | ----------- | ----------- | ----------- | \ No newline at end of file diff --git a/docs/models/outputcustomermetricsstoragetype.md b/docs/models/outputcustomermetricsstoragetype.md new file mode 100644 index 000000000..793383e34 --- /dev/null +++ b/docs/models/outputcustomermetricsstoragetype.md @@ -0,0 +1,16 @@ +# OutputCustomerMetricsStorageType + +## Example Usage + +```python +from cribl_control_plane.models import OutputCustomerMetricsStorageType + +value = OutputCustomerMetricsStorageType.CUSTOMER_METRICS_STORAGE +``` + + +## Values + +| Name | Value | +| -------------------------- | -------------------------- | +| `CUSTOMER_METRICS_STORAGE` | customer_metrics_storage | \ No newline at end of file diff --git a/docs/models/outputdatabricks.md b/docs/models/outputdatabricks.md index eec5660bf..2ab51124c 100644 --- a/docs/models/outputdatabricks.md +++ b/docs/models/outputdatabricks.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `dest_path` | *Optional[str]* | :heavy_minus_sign: | Optional path to prepend to files before uploading. | | `stage_path` | *Optional[str]* | :heavy_minus_sign: | Filesystem location in which to buffer files before compressing and moving to final destination. Use performant, stable storage. | | `add_id_to_stage_path` | *Optional[bool]* | :heavy_minus_sign: | Add the Output ID value to staging location | @@ -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 7692aea60..d16ac23b9 100644 --- a/docs/models/outputdatadog.md +++ b/docs/models/outputdatadog.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `content_type` | [Optional[models.OutputDatadogSendLogsAs]](../models/outputdatadogsendlogsas.md) | :heavy_minus_sign: | The content type to use when sending logs | | `message` | *Optional[str]* | :heavy_minus_sign: | 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]* | :heavy_minus_sign: | 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. | @@ -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. | @@ -51,7 +51,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputDatadogPqControls]](../models/outputdatadogpqcontrols.md) | :heavy_minus_sign: | N/A | | `api_key` | *Optional[str]* | :heavy_minus_sign: | Organization's API key in Datadog | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/outputdataset.md b/docs/models/outputdataset.md index cdd216563..bb1ee7ef8 100644 --- a/docs/models/outputdataset.md +++ b/docs/models/outputdataset.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `message_field` | *Optional[str]* | :heavy_minus_sign: | 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` | List[*str*] | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | Name of the event field that contains the `serverHost` identifier. If not specified, defaults to `cribl_`. | @@ -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. | @@ -46,7 +46,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputDatasetPqControls]](../models/outputdatasetpqcontrols.md) | :heavy_minus_sign: | N/A | | `api_key` | *Optional[str]* | :heavy_minus_sign: | A 'Log Write Access' API key for the DataSet account | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/outputdefault.md b/docs/models/outputdefault.md index 6293a98d4..f6faf3648 100644 --- a/docs/models/outputdefault.md +++ b/docs/models/outputdefault.md @@ -10,6 +10,6 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `default_id` | *Nullable[str]* | :heavy_check_mark: | ID of the default output. This will be used whenever a nonexistent/deleted output is referenced. | | `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/outputdells3.md b/docs/models/outputdells3.md index 601965f17..205d1483e 100644 --- a/docs/models/outputdells3.md +++ b/docs/models/outputdells3.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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 | @@ -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/outputdevnull.md b/docs/models/outputdevnull.md index a537f69b9..0d41cfe92 100644 --- a/docs/models/outputdevnull.md +++ b/docs/models/outputdevnull.md @@ -10,5 +10,5 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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/outputdiskspool.md b/docs/models/outputdiskspool.md index 2005b84d7..cf4833988 100644 --- a/docs/models/outputdiskspool.md +++ b/docs/models/outputdiskspool.md @@ -10,11 +10,11 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `time_window` | *Optional[str]* | :heavy_minus_sign: | Time period for grouping spooled events. Default is 10m. | | `max_data_size` | *Optional[str]* | :heavy_minus_sign: | Maximum disk space that can be consumed before older buckets are deleted. Examples: 420MB, 4GB. Default is 1GB. | | `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..4e24b3820 100644 --- a/docs/models/outputdls3.md +++ b/docs/models/outputdls3.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `endpoint` | *Optional[str]* | :heavy_minus_sign: | S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint. | | `enable_assume_role` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials to access S3 | | `assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Amazon Resource Name (ARN) of the role to assume | @@ -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 1961734ff..8a603f240 100644 --- a/docs/models/outputdynatracehttp.md +++ b/docs/models/outputdynatracehttp.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `method` | [Optional[models.MethodOptions]](../models/methodoptions.md) | :heavy_minus_sign: | The method to use when sending events | | `keep_alive` | *Optional[bool]* | :heavy_minus_sign: | Disable to close the connection immediately after sending the outgoing request | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | @@ -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. | @@ -44,7 +44,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputDynatraceHTTPPqControls]](../models/outputdynatracehttppqcontrols.md) | :heavy_minus_sign: | N/A | | `token` | *Optional[str]* | :heavy_minus_sign: | Bearer token to include in the authorization header | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/outputdynatraceotlp.md b/docs/models/outputdynatraceotlp.md index 64dd5d101..c7a905269 100644 --- a/docs/models/outputdynatraceotlp.md +++ b/docs/models/outputdynatraceotlp.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `protocol` | [models.OutputDynatraceOtlpProtocol](../models/outputdynatraceotlpprotocol.md) | :heavy_check_mark: | Select a transport option for Dynatrace | | `endpoint` | *str* | :heavy_check_mark: | 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` | [models.OtlpVersionOptions131](../models/otlpversionoptions131.md) | :heavy_check_mark: | The version of OTLP Protobuf definitions to use when structuring data to send | @@ -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 | @@ -52,7 +52,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputDynatraceOtlpPqControls]](../models/outputdynatraceotlppqcontrols.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputelastic.md b/docs/models/outputelastic.md index 04f6a6da8..a18d4a64c 100644 --- a/docs/models/outputelastic.md +++ b/docs/models/outputelastic.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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. | | `index` | *str* | :heavy_check_mark: | 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. | | `doc_type` | *Optional[str]* | :heavy_minus_sign: | Document type to use for events. Can be overwritten by an event's __type field. | @@ -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 | @@ -52,7 +52,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputElasticPqControls]](../models/outputelasticpqcontrols.md) | :heavy_minus_sign: | N/A | | `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_index` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputelasticcloud.md b/docs/models/outputelasticcloud.md index fd4a59db1..6018639ab 100644 --- a/docs/models/outputelasticcloud.md +++ b/docs/models/outputelasticcloud.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `url` | *str* | :heavy_check_mark: | Enter Cloud ID of the Elastic Cloud environment to send events to | | `index` | *str* | :heavy_check_mark: | 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. | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | @@ -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. | @@ -42,7 +42,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputElasticCloudPqControls]](../models/outputelasticcloudpqcontrols.md) | :heavy_minus_sign: | N/A | | `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_url` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputexabeam.md b/docs/models/outputexabeam.md index 87e24d5e2..e5b7592a1 100644 --- a/docs/models/outputexabeam.md +++ b/docs/models/outputexabeam.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `bucket` | *str* | :heavy_check_mark: | 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* | :heavy_check_mark: | Region where the bucket is located | | `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. | @@ -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..4188bac02 100644 --- a/docs/models/outputfilesystem.md +++ b/docs/models/outputfilesystem.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `dest_path` | *str* | :heavy_check_mark: | Final destination for the output files | | `stage_path` | *Optional[str]* | :heavy_minus_sign: | 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 | @@ -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/outputgooglebigquery.md b/docs/models/outputgooglebigquery.md new file mode 100644 index 000000000..62866be81 --- /dev/null +++ b/docs/models/outputgooglebigquery.md @@ -0,0 +1,42 @@ +# OutputGoogleBigquery + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this output | +| `type` | [models.OutputGoogleBigqueryType](../models/outputgooglebigquerytype.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: | Metadata tags used for categorization and filtering. | +| `project_id` | *str* | :heavy_check_mark: | Google Cloud project ID that contains the BigQuery dataset | +| `dataset_id` | *str* | :heavy_check_mark: | BigQuery dataset ID | +| `table_id` | *str* | :heavy_check_mark: | BigQuery table ID | +| `timestamp_column` | *Optional[str]* | :heavy_minus_sign: | Column name to write event time (`_time`) as a BigQuery TIMESTAMP. Used for time partitioning | +| `google_auth_method` | [models.OutputGoogleBigqueryGoogleAuthenticationMethod](../models/outputgooglebigquerygoogleauthenticationmethod.md) | :heavy_check_mark: | Choose Auto to use Google Application Default Credentials (ADC), or Secret to select or create a stored secret that references Google service account credentials | +| `secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | +| `flush_period` | *Optional[float]* | :heavy_minus_sign: | Maximum time to wait before sending a batch (when batch size limit is not reached) | +| `max_queue_size` | *Optional[float]* | :heavy_minus_sign: | Maximum number of queued batches before blocking | +| `max_record_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size (KB) of a single append request. BigQuery limit is 10 MB | +| `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: | 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. | +| `pq_max_buffer_size` | *Optional[float]* | :heavy_minus_sign: | 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` | *Optional[float]* | :heavy_minus_sign: | How long (in seconds) to wait for backpressure to resolve before engaging the queue | +| `pq_max_file_size` | *Optional[str]* | :heavy_minus_sign: | The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.) | +| `pq_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. | +| `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | +| `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | +| `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | +| `pq_controls` | [Optional[models.OutputGoogleBigqueryPqControls]](../models/outputgooglebigquerypqcontrols.md) | :heavy_minus_sign: | N/A | +| `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_project_id` | *Optional[str]* | :heavy_minus_sign: | Binds 'projectId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'projectId' at runtime. | +| `template_dataset_id` | *Optional[str]* | :heavy_minus_sign: | Binds 'datasetId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'datasetId' at runtime. | +| `template_table_id` | *Optional[str]* | :heavy_minus_sign: | Binds 'tableId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tableId' 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/outputgooglebigquerygoogleauthenticationmethod.md b/docs/models/outputgooglebigquerygoogleauthenticationmethod.md new file mode 100644 index 000000000..f224ad61b --- /dev/null +++ b/docs/models/outputgooglebigquerygoogleauthenticationmethod.md @@ -0,0 +1,21 @@ +# OutputGoogleBigqueryGoogleAuthenticationMethod + +Choose Auto to use Google Application Default Credentials (ADC), or Secret to select or create a stored secret that references Google service account credentials + +## Example Usage + +```python +from cribl_control_plane.models import OutputGoogleBigqueryGoogleAuthenticationMethod + +value = OutputGoogleBigqueryGoogleAuthenticationMethod.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/outputgooglebigquerypqcontrols.md b/docs/models/outputgooglebigquerypqcontrols.md new file mode 100644 index 000000000..fd1cecbf6 --- /dev/null +++ b/docs/models/outputgooglebigquerypqcontrols.md @@ -0,0 +1,7 @@ +# OutputGoogleBigqueryPqControls + + +## Fields + +| Field | Type | Required | Description | +| ----------- | ----------- | ----------- | ----------- | \ No newline at end of file diff --git a/docs/models/outputgooglebigquerytype.md b/docs/models/outputgooglebigquerytype.md new file mode 100644 index 000000000..05154bd05 --- /dev/null +++ b/docs/models/outputgooglebigquerytype.md @@ -0,0 +1,16 @@ +# OutputGoogleBigqueryType + +## Example Usage + +```python +from cribl_control_plane.models import OutputGoogleBigqueryType + +value = OutputGoogleBigqueryType.GOOGLE_BIGQUERY +``` + + +## Values + +| Name | Value | +| ----------------- | ----------------- | +| `GOOGLE_BIGQUERY` | google_bigquery | \ No newline at end of file diff --git a/docs/models/outputgooglechronicle.md b/docs/models/outputgooglechronicle.md index 972c7e82e..ea00dcec1 100644 --- a/docs/models/outputgooglechronicle.md +++ b/docs/models/outputgooglechronicle.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `api_version` | [Optional[models.OutputGoogleChronicleAPIVersion]](../models/outputgooglechronicleapiversion.md) | :heavy_minus_sign: | N/A | | `authentication_method` | [Optional[models.OutputGoogleChronicleAuthenticationMethod]](../models/outputgooglechronicleauthenticationmethod.md) | :heavy_minus_sign: | N/A | | `response_retry_settings` | List[[models.ResponseRetrySettingConfOutputWebhook](../models/responseretrysettingconfoutputwebhook.md)] | :heavy_minus_sign: | Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable) | @@ -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. | @@ -53,7 +53,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputGoogleChroniclePqControls]](../models/outputgooglechroniclepqcontrols.md) | :heavy_minus_sign: | N/A | | `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_api_version` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputgooglecloudlogging.md b/docs/models/outputgooglecloudlogging.md index ef51b3f0f..313d8261d 100644 --- a/docs/models/outputgooglecloudlogging.md +++ b/docs/models/outputgooglecloudlogging.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `log_location_type` | [models.OutputGoogleCloudLoggingLogLocationType](../models/outputgooglecloudloggingloglocationtype.md) | :heavy_check_mark: | N/A | | `log_name_expression` | *str* | :heavy_check_mark: | 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. | | `sanitize_log_names` | *Optional[bool]* | :heavy_minus_sign: | N/A | @@ -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. | @@ -73,7 +73,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputGoogleCloudLoggingPqControls]](../models/outputgooglecloudloggingpqcontrols.md) | :heavy_minus_sign: | N/A | | `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_log_location_type` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputgooglecloudobservability.md b/docs/models/outputgooglecloudobservability.md new file mode 100644 index 000000000..e8e8b8ef1 --- /dev/null +++ b/docs/models/outputgooglecloudobservability.md @@ -0,0 +1,47 @@ +# OutputGoogleCloudObservability + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this output | +| `type` | [models.OutputGoogleCloudObservabilityType](../models/outputgooglecloudobservabilitytype.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: | Metadata tags used for categorization and filtering. | +| `protocol` | [Optional[models.OutputGoogleCloudObservabilityProtocol]](../models/outputgooglecloudobservabilityprotocol.md) | :heavy_minus_sign: | N/A | +| `otlp_version` | [Optional[models.OutputGoogleCloudObservabilityOtlpVersion]](../models/outputgooglecloudobservabilityotlpversion.md) | :heavy_minus_sign: | N/A | +| `endpoint` | [Optional[models.OutputGoogleCloudObservabilityEndpoint]](../models/outputgooglecloudobservabilityendpoint.md) | :heavy_minus_sign: | 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. | +| `google_auth_method` | [models.OutputGoogleCloudObservabilityGoogleAuthenticationMethod](../models/outputgooglecloudobservabilitygoogleauthenticationmethod.md) | :heavy_check_mark: | Choose Auto to use Google Application Default Credentials (ADC). Choose Secret to select or create a stored secret that references Google service account credentials. | +| `metadata` | List[[models.KeyValueMetadataConfOutputFilesystem](../models/keyvaluemetadataconfoutputfilesystem.md)] | :heavy_minus_sign: | 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` | *Optional[bool]* | :heavy_minus_sign: | Batch event data upon dynamic metadata (whether presented or not) | +| `dynamic_headers_field` | *Optional[str]* | :heavy_minus_sign: | When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events. | +| `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | +| `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size, in KB, of the request body sent to Google Cloud Observability | +| `timeout_sec` | *Optional[float]* | :heavy_minus_sign: | Amount of time, in seconds, to wait for a request to complete before canceling it | +| `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 Body size limit. | +| `failed_request_logging_mode` | [Optional[models.FailedRequestLoggingModeOptions]](../models/failedrequestloggingmodeoptions.md) | :heavy_minus_sign: | Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below. | +| `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). 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: | 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. | +| `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. | +| `pq_max_buffer_size` | *Optional[float]* | :heavy_minus_sign: | 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` | *Optional[float]* | :heavy_minus_sign: | How long (in seconds) to wait for backpressure to resolve before engaging the queue | +| `pq_max_file_size` | *Optional[str]* | :heavy_minus_sign: | The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.) | +| `pq_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. | +| `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | +| `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | +| `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | +| `pq_controls` | [Optional[models.OutputGoogleCloudObservabilityPqControls]](../models/outputgooglecloudobservabilitypqcontrols.md) | :heavy_minus_sign: | N/A | +| `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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` | *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/outputgooglecloudobservabilityendpoint.md b/docs/models/outputgooglecloudobservabilityendpoint.md new file mode 100644 index 000000000..49e4160e1 --- /dev/null +++ b/docs/models/outputgooglecloudobservabilityendpoint.md @@ -0,0 +1,20 @@ +# OutputGoogleCloudObservabilityEndpoint + +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. + +## Example Usage + +```python +from cribl_control_plane.models import OutputGoogleCloudObservabilityEndpoint + +value = OutputGoogleCloudObservabilityEndpoint.TELEMETRY_GOOGLEAPIS_COM_443 + +# Open enum: unrecognized values are captured as UnrecognizedStr +``` + + +## Values + +| Name | Value | +| ------------------------------ | ------------------------------ | +| `TELEMETRY_GOOGLEAPIS_COM_443` | telemetry.googleapis.com:443 | \ No newline at end of file diff --git a/docs/models/outputgooglecloudobservabilitygoogleauthenticationmethod.md b/docs/models/outputgooglecloudobservabilitygoogleauthenticationmethod.md new file mode 100644 index 000000000..7402471fb --- /dev/null +++ b/docs/models/outputgooglecloudobservabilitygoogleauthenticationmethod.md @@ -0,0 +1,21 @@ +# OutputGoogleCloudObservabilityGoogleAuthenticationMethod + +Choose Auto to use Google Application Default Credentials (ADC). Choose Secret to select or create a stored secret that references Google service account credentials. + +## Example Usage + +```python +from cribl_control_plane.models import OutputGoogleCloudObservabilityGoogleAuthenticationMethod + +value = OutputGoogleCloudObservabilityGoogleAuthenticationMethod.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/outputgooglecloudobservabilityotlpversion.md b/docs/models/outputgooglecloudobservabilityotlpversion.md new file mode 100644 index 000000000..b05c4dd75 --- /dev/null +++ b/docs/models/outputgooglecloudobservabilityotlpversion.md @@ -0,0 +1,18 @@ +# OutputGoogleCloudObservabilityOtlpVersion + +## Example Usage + +```python +from cribl_control_plane.models import OutputGoogleCloudObservabilityOtlpVersion + +value = OutputGoogleCloudObservabilityOtlpVersion.ONE_DOT_3_DOT_1 + +# Open enum: unrecognized values are captured as UnrecognizedStr +``` + + +## Values + +| Name | Value | +| ----------------- | ----------------- | +| `ONE_DOT_3_DOT_1` | 1.3.1 | \ No newline at end of file diff --git a/docs/models/outputgooglecloudobservabilitypqcontrols.md b/docs/models/outputgooglecloudobservabilitypqcontrols.md new file mode 100644 index 000000000..80ad6c5e5 --- /dev/null +++ b/docs/models/outputgooglecloudobservabilitypqcontrols.md @@ -0,0 +1,7 @@ +# OutputGoogleCloudObservabilityPqControls + + +## Fields + +| Field | Type | Required | Description | +| ----------- | ----------- | ----------- | ----------- | \ No newline at end of file diff --git a/docs/models/outputgooglecloudobservabilityprotocol.md b/docs/models/outputgooglecloudobservabilityprotocol.md new file mode 100644 index 000000000..a1d99c675 --- /dev/null +++ b/docs/models/outputgooglecloudobservabilityprotocol.md @@ -0,0 +1,18 @@ +# OutputGoogleCloudObservabilityProtocol + +## Example Usage + +```python +from cribl_control_plane.models import OutputGoogleCloudObservabilityProtocol + +value = OutputGoogleCloudObservabilityProtocol.GRPC + +# Open enum: unrecognized values are captured as UnrecognizedStr +``` + + +## Values + +| Name | Value | +| ------ | ------ | +| `GRPC` | grpc | \ No newline at end of file diff --git a/docs/models/outputgooglecloudobservabilitytype.md b/docs/models/outputgooglecloudobservabilitytype.md new file mode 100644 index 000000000..8bf74322f --- /dev/null +++ b/docs/models/outputgooglecloudobservabilitytype.md @@ -0,0 +1,16 @@ +# OutputGoogleCloudObservabilityType + +## Example Usage + +```python +from cribl_control_plane.models import OutputGoogleCloudObservabilityType + +value = OutputGoogleCloudObservabilityType.GOOGLE_CLOUD_OBSERVABILITY +``` + + +## Values + +| Name | Value | +| ---------------------------- | ---------------------------- | +| `GOOGLE_CLOUD_OBSERVABILITY` | google_cloud_observability | \ No newline at end of file diff --git a/docs/models/outputgooglecloudstorage.md b/docs/models/outputgooglecloudstorage.md index 2e463e916..9c5492763 100644 --- a/docs/models/outputgooglecloudstorage.md +++ b/docs/models/outputgooglecloudstorage.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `bucket` | *str* | :heavy_check_mark: | 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* | :heavy_check_mark: | Region where the bucket is located | | `endpoint` | *str* | :heavy_check_mark: | Google Cloud Storage service endpoint | @@ -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 a33e8946d..7b50ee831 100644 --- a/docs/models/outputgooglepubsub.md +++ b/docs/models/outputgooglepubsub.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `topic_name` | *str* | :heavy_check_mark: | ID of the topic to send events to. | | `create_topic` | *Optional[bool]* | :heavy_minus_sign: | If enabled, create topic if it does not exist. | | `ordered_delivery` | *Optional[bool]* | :heavy_minus_sign: | 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. | @@ -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. | @@ -36,7 +36,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputGooglePubsubPqControls]](../models/outputgooglepubsubpqcontrols.md) | :heavy_minus_sign: | N/A | | `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_topic_name` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputgrafanacloudgrafanacloud1.md b/docs/models/outputgrafanacloudgrafanacloud1.md index d888cae40..ebe904157 100644 --- a/docs/models/outputgrafanacloudgrafanacloud1.md +++ b/docs/models/outputgrafanacloudgrafanacloud1.md @@ -10,12 +10,12 @@ | `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. These fields are added as dimensions and labels to generated metrics and logs, respectively. | | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `loki_url` | *str* | :heavy_check_mark: | The endpoint to send logs to, such as https://logs-prod-us-central1.grafana.net | | `prometheus_url` | *Optional[str]* | :heavy_minus_sign: | 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]* | :heavy_minus_sign: | 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` | [Optional[models.MessageFormatOptions]](../models/messageformatoptions.md) | :heavy_minus_sign: | Format to use when sending logs to Loki (Protobuf or JSON) | -| `labels` | List[[models.RequestParamConfInputOpenai](../models/requestparamconfinputopenai.md)] | :heavy_minus_sign: | 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"}' | +| `labels` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauthSecret](../models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.md)] | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | [Optional[models.PrometheusAuthType]](../models/prometheusauthtype.md) | :heavy_minus_sign: | N/A | | `loki_auth` | [Optional[models.PrometheusAuthType]](../models/prometheusauthtype.md) | :heavy_minus_sign: | N/A | @@ -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. | @@ -45,7 +45,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputGrafanaCloudPqControls1]](../models/outputgrafanacloudpqcontrols1.md) | :heavy_minus_sign: | N/A | | `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_loki_url` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputgrafanacloudgrafanacloud2.md b/docs/models/outputgrafanacloudgrafanacloud2.md index 91662b964..8a792d383 100644 --- a/docs/models/outputgrafanacloudgrafanacloud2.md +++ b/docs/models/outputgrafanacloudgrafanacloud2.md @@ -10,12 +10,12 @@ | `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. These fields are added as dimensions and labels to generated metrics and logs, respectively. | | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `loki_url` | *Optional[str]* | :heavy_minus_sign: | The endpoint to send logs to, such as https://logs-prod-us-central1.grafana.net | | `prometheus_url` | *str* | :heavy_check_mark: | 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]* | :heavy_minus_sign: | 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` | [Optional[models.MessageFormatOptions]](../models/messageformatoptions.md) | :heavy_minus_sign: | Format to use when sending logs to Loki (Protobuf or JSON) | -| `labels` | List[[models.RequestParamConfInputOpenai](../models/requestparamconfinputopenai.md)] | :heavy_minus_sign: | 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"}' | +| `labels` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauthSecret](../models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.md)] | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | [Optional[models.PrometheusAuthType]](../models/prometheusauthtype.md) | :heavy_minus_sign: | N/A | | `loki_auth` | [Optional[models.PrometheusAuthType]](../models/prometheusauthtype.md) | :heavy_minus_sign: | N/A | @@ -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. | @@ -45,7 +45,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputGrafanaCloudPqControls2]](../models/outputgrafanacloudpqcontrols2.md) | :heavy_minus_sign: | N/A | | `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_loki_url` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputgraphite.md b/docs/models/outputgraphite.md index d9e7794c5..a3179d1f5 100644 --- a/docs/models/outputgraphite.md +++ b/docs/models/outputgraphite.md @@ -10,14 +10,14 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `protocol` | [models.DestinationProtocolOptions](../models/destinationprotocoloptions.md) | :heavy_check_mark: | Protocol to use when communicating with the destination. | | `host` | *str* | :heavy_check_mark: | The hostname of the destination. | | `port` | *float* | :heavy_check_mark: | Destination port. | | `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 | @@ -32,7 +32,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputGraphitePqControls]](../models/outputgraphitepqcontrols.md) | :heavy_minus_sign: | N/A | | `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/outputhoneycomb.md b/docs/models/outputhoneycomb.md index 8ce989b4a..a320fe0a7 100644 --- a/docs/models/outputhoneycomb.md +++ b/docs/models/outputhoneycomb.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `dataset` | *str* | :heavy_check_mark: | Name of the dataset to send events to – e.g., observability | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | | `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size, in KB, of the request body | @@ -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. | @@ -39,7 +39,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputHoneycombPqControls]](../models/outputhoneycombpqcontrols.md) | :heavy_minus_sign: | N/A | | `team` | *Optional[str]* | :heavy_minus_sign: | Team API key where the dataset belongs | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/outputhumiohec.md b/docs/models/outputhumiohec.md index 9adbee40a..e08605cc4 100644 --- a/docs/models/outputhumiohec.md +++ b/docs/models/outputhumiohec.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `url` | *str* | :heavy_check_mark: | 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 | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | | `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size, in KB, of the request body | @@ -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. | @@ -42,7 +42,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputHumioHecPqControls]](../models/outputhumiohecpqcontrols.md) | :heavy_minus_sign: | N/A | | `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_url` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputibmclouds3.md b/docs/models/outputibmclouds3.md new file mode 100644 index 000000000..7c3d81c4d --- /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: | Metadata tags used for categorization and filtering. | +| `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 566614c7c..f55aa9a68 100644 --- a/docs/models/outputinfluxdb.md +++ b/docs/models/outputinfluxdb.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `url` | *str* | :heavy_check_mark: | URL of an InfluxDB cluster to send events to, e.g., http://localhost:8086/write | | `use_v2_api` | *Optional[bool]* | :heavy_minus_sign: | The v2 API can be enabled with InfluxDB versions 1.8 and later. | | `timestamp_precision` | [Optional[models.OutputInfluxdbTimestampPrecision]](../models/outputinfluxdbtimestampprecision.md) | :heavy_minus_sign: | Sets the precision for the supplied Unix time values. Defaults to milliseconds. | @@ -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. | @@ -46,7 +46,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputInfluxdbPqControls]](../models/outputinfluxdbpqcontrols.md) | :heavy_minus_sign: | N/A | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | diff --git a/docs/models/outputkafka.md b/docs/models/outputkafka.md index 35c6148a7..ce3cfce22 100644 --- a/docs/models/outputkafka.md +++ b/docs/models/outputkafka.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `brokers` | List[*str*] | :heavy_check_mark: | 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* | :heavy_check_mark: | The topic to publish events to. Can be overridden using the __topicOut field. | | `ack` | [Optional[models.AcknowledgmentsOptionsAllLeader]](../models/acknowledgmentsoptionsallleader.md) | :heavy_minus_sign: | Control the number of required acknowledgments. | @@ -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. | @@ -44,7 +44,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputKafkaPqControls]](../models/outputkafkapqcontrols.md) | :heavy_minus_sign: | N/A | | `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_topic` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputkinesis.md b/docs/models/outputkinesis.md index c291c36b0..94552fc3a 100644 --- a/docs/models/outputkinesis.md +++ b/docs/models/outputkinesis.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `stream_name` | *str* | :heavy_check_mark: | Kinesis stream name to send events to. | | `aws_authentication_method` | [Optional[models.AuthenticationMethodOptionsS3CollectorConf]](../models/authenticationmethodoptionss3collectorconf.md) | :heavy_minus_sign: | AWS authentication method. Choose Auto to use IAM roles. | | `aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | N/A | @@ -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 | @@ -43,7 +43,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputKinesisPqControls]](../models/outputkinesispqcontrols.md) | :heavy_minus_sign: | N/A | | `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_stream_name` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputlocalsearchstorage.md b/docs/models/outputlocalsearchstorage.md index e0369f8ac..240da28a1 100644 --- a/docs/models/outputlocalsearchstorage.md +++ b/docs/models/outputlocalsearchstorage.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `url` | *str* | :heavy_check_mark: | URL of the database instance. Example: http://localhost:8123/ | | `auth_type` | [Optional[models.AuthenticationTypeOptions]](../models/authenticationtypeoptions.md) | :heavy_minus_sign: | N/A | | `database` | *str* | :heavy_check_mark: | N/A | @@ -33,10 +33,11 @@ | `response_retry_settings` | List[[models.ResponseRetrySettingConfOutputWebhook](../models/responseretrysettingconfoutputwebhook.md)] | :heavy_minus_sign: | Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable) | | `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. | +| `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 | | `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 | @@ -55,7 +56,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputLocalSearchStoragePqControls]](../models/outputlocalsearchstoragepqcontrols.md) | :heavy_minus_sign: | N/A | | `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_url` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputloki.md b/docs/models/outputloki.md index 5feaf7d5f..a9651ffc2 100644 --- a/docs/models/outputloki.md +++ b/docs/models/outputloki.md @@ -10,11 +10,11 @@ | `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. These fields are added as labels to generated logs. | | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `url` | *str* | :heavy_check_mark: | The endpoint to send logs to | | `message` | *Optional[str]* | :heavy_minus_sign: | 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` | [Optional[models.MessageFormatOptions]](../models/messageformatoptions.md) | :heavy_minus_sign: | Format to use when sending logs to Loki (Protobuf or JSON) | -| `labels` | List[[models.RequestParamConfInputOpenai](../models/requestparamconfinputopenai.md)] | :heavy_minus_sign: | 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"}' | +| `labels` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauthSecret](../models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.md)] | :heavy_minus_sign: | 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` | [Optional[models.AuthenticationTypeOptionsPrometheusAuthBasicCredentialsSecret]](../models/authenticationtypeoptionsprometheusauthbasiccredentialssecret.md) | :heavy_minus_sign: | N/A | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | 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` | *Optional[float]* | :heavy_minus_sign: | 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. | @@ -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 | @@ -49,7 +49,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputLokiPqControls]](../models/outputlokipqcontrols.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputmicrosoftfabric.md b/docs/models/outputmicrosoftfabric.md index 062a185e1..32a80d299 100644 --- a/docs/models/outputmicrosoftfabric.md +++ b/docs/models/outputmicrosoftfabric.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `topic` | *str* | :heavy_check_mark: | Topic name from Fabric Eventstream's endpoint | | `ack` | [Optional[models.AcknowledgmentsOptions]](../models/acknowledgmentsoptions.md) | :heavy_minus_sign: | Control the number of required acknowledgments | | `format_` | [Optional[models.RecordDataFormatOptions]](../models/recorddataformatoptions.md) | :heavy_minus_sign: | Format to use to serialize events before writing to the Event Hubs Kafka brokers | @@ -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. | @@ -40,7 +40,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputMicrosoftFabricPqControls]](../models/outputmicrosoftfabricpqcontrols.md) | :heavy_minus_sign: | N/A | | `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_topic` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputminio.md b/docs/models/outputminio.md index 6d69f46e4..037767c4d 100644 --- a/docs/models/outputminio.md +++ b/docs/models/outputminio.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `aws_authentication_method` | [Optional[models.AuthenticationMethodOptionsS3CollectorConf]](../models/authenticationmethodoptionss3collectorconf.md) | :heavy_minus_sign: | AWS authentication method. Choose Auto to use IAM roles. | | `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 | @@ -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 b45d5a645..389594104 100644 --- a/docs/models/outputmsk.md +++ b/docs/models/outputmsk.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `brokers` | List[*str*] | :heavy_check_mark: | 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* | :heavy_check_mark: | The topic to publish events to. Can be overridden using the __topicOut field. | | `ack` | [Optional[models.AcknowledgmentsOptionsAllLeader]](../models/acknowledgmentsoptionsallleader.md) | :heavy_minus_sign: | Control the number of required acknowledgments. | @@ -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 | @@ -55,7 +55,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputMskPqControls]](../models/outputmskpqcontrols.md) | :heavy_minus_sign: | N/A | | `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_topic` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputnetflow.md b/docs/models/outputnetflow.md index cb333dd7a..7043b9589 100644 --- a/docs/models/outputnetflow.md +++ b/docs/models/outputnetflow.md @@ -10,10 +10,10 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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 2cb304309..520021450 100644 --- a/docs/models/outputnewrelic.md +++ b/docs/models/outputnewrelic.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `region` | [Optional[models.RegionOptions]](../models/regionoptions.md) | :heavy_minus_sign: | Which New Relic region endpoint to use. | | `log_type` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | Name of field to send as log message value. If not present, event will be serialized and sent as JSON. | @@ -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. | @@ -44,7 +44,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputNewrelicPqControls]](../models/outputnewrelicpqcontrols.md) | :heavy_minus_sign: | N/A | | `api_key` | *Optional[str]* | :heavy_minus_sign: | New Relic API key. Can be overridden using __newRelic_apiKey field. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/outputnewrelicevents.md b/docs/models/outputnewrelicevents.md index c62cfe1fa..f8d27d3fc 100644 --- a/docs/models/outputnewrelicevents.md +++ b/docs/models/outputnewrelicevents.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `region` | [Optional[models.RegionOptions]](../models/regionoptions.md) | :heavy_minus_sign: | Which New Relic region endpoint to use. | | `account_id` | *str* | :heavy_check_mark: | New Relic account ID | | `event_type` | *str* | :heavy_check_mark: | 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). | @@ -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. | @@ -42,7 +42,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputNewrelicEventsPqControls]](../models/outputnewreliceventspqcontrols.md) | :heavy_minus_sign: | N/A | | `api_key` | *Optional[str]* | :heavy_minus_sign: | New Relic API key. Can be overridden using __newRelic_apiKey field. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/outputnewrelicfieldname.md b/docs/models/outputnewrelicfieldname.md index 211a4eee8..7901c3656 100644 --- a/docs/models/outputnewrelicfieldname.md +++ b/docs/models/outputnewrelicfieldname.md @@ -1,5 +1,7 @@ # OutputNewrelicFieldName +Name of the metadata field. + ## Example Usage ```python diff --git a/docs/models/outputnewrelicmetadatum.md b/docs/models/outputnewrelicmetadatum.md index b44683642..c0f0f1c84 100644 --- a/docs/models/outputnewrelicmetadatum.md +++ b/docs/models/outputnewrelicmetadatum.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -| `name` | [models.OutputNewrelicFieldName](../models/outputnewrelicfieldname.md) | :heavy_check_mark: | N/A | +| `name` | [models.OutputNewrelicFieldName](../models/outputnewrelicfieldname.md) | :heavy_check_mark: | Name of the metadata field. | | `value` | *str* | :heavy_check_mark: | JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.) | \ No newline at end of file diff --git a/docs/models/outputnutanixobjects.md b/docs/models/outputnutanixobjects.md index 5ce0d7beb..092fbd373 100644 --- a/docs/models/outputnutanixobjects.md +++ b/docs/models/outputnutanixobjects.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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 | @@ -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 af1ec5133..4714958b8 100644 --- a/docs/models/outputopentelemetry.md +++ b/docs/models/outputopentelemetry.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `protocol` | [Optional[models.ProtocolOptions]](../models/protocoloptions.md) | :heavy_minus_sign: | Select a transport option for OpenTelemetry | | `endpoint` | *str* | :heavy_check_mark: | 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. | | `otlp_version` | [Optional[models.OutputOpenTelemetryOTLPVersion]](../models/outputopentelemetryotlpversion.md) | :heavy_minus_sign: | The version of OTLP Protobuf definitions to use when structuring data to send | @@ -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 | @@ -64,7 +64,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputOpenTelemetryPqControls]](../models/outputopentelemetrypqcontrols.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputprometheus.md b/docs/models/outputprometheus.md index 5abd3ff59..90a9d7f41 100644 --- a/docs/models/outputprometheus.md +++ b/docs/models/outputprometheus.md @@ -10,7 +10,7 @@ | `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. These fields are added as dimensions to generated metrics. | | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `url` | *str* | :heavy_check_mark: | The endpoint to send metrics to | | `metric_rename_expr` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[bool]* | :heavy_minus_sign: | Generate and send metadata (`type` and `metricFamilyName`) requests | @@ -29,8 +29,8 @@ | `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 | -| `auth_type` | [Optional[models.AuthenticationTypeOptionsPrometheusAuth]](../models/authenticationtypeoptionsprometheusauth.md) | :heavy_minus_sign: | Remote Write authentication type | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `auth_type` | [Optional[models.OutputPrometheusAuthenticationType]](../models/outputprometheusauthenticationtype.md) | :heavy_minus_sign: | Remote Write authentication type | +| `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. | @@ -42,14 +42,26 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputPrometheusPqControls]](../models/outputprometheuspqcontrols.md) | :heavy_minus_sign: | N/A | | `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 | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a secret that references your credentials | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | +| `aws_authentication_method` | [Optional[models.AuthenticationMethodOptionsAutoSecret]](../models/authenticationmethodoptionsautosecret.md) | :heavy_minus_sign: | AWS authentication method. Choose Auto to use IAM roles. | +| `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | +| `region` | *Optional[str]* | :heavy_minus_sign: | AWS region used to sign Remote Write requests | +| `aws_service` | *Optional[str]* | :heavy_minus_sign: | ID used to sign Remote Write requests (for example, `aps` for Amazon Managed Service for Prometheus) | +| `enable_assume_role` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials to access Prometheus | +| `assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Amazon Resource Name (ARN) of the role to assume | +| `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). | | `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_url` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *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 +| `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_region` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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. | \ No newline at end of file diff --git a/docs/models/outputprometheusauthenticationtype.md b/docs/models/outputprometheusauthenticationtype.md new file mode 100644 index 000000000..9695a3cb8 --- /dev/null +++ b/docs/models/outputprometheusauthenticationtype.md @@ -0,0 +1,25 @@ +# OutputPrometheusAuthenticationType + +Remote Write authentication type + +## Example Usage + +```python +from cribl_control_plane.models import OutputPrometheusAuthenticationType + +value = OutputPrometheusAuthenticationType.NONE + +# Open enum: unrecognized values are captured as UnrecognizedStr +``` + + +## Values + +| Name | Value | +| -------------------- | -------------------- | +| `NONE` | none | +| `BASIC` | basic | +| `CREDENTIALS_SECRET` | credentialsSecret | +| `TOKEN` | token | +| `TEXT_SECRET` | textSecret | +| `AWS_SIGV4` | aws_sigv4 | \ No newline at end of file diff --git a/docs/models/outputresponse.md b/docs/models/outputresponse.md index f448adbf2..706c2178b 100644 --- a/docs/models/outputresponse.md +++ b/docs/models/outputresponse.md @@ -125,6 +125,12 @@ value: models.OutputResponseOutputHoneycomb = /* values here */ value: models.OutputResponseOutputAzureEventhub = /* values here */ ``` +### `models.OutputResponseOutputGoogleBigquery` + +```python +value: models.OutputResponseOutputGoogleBigquery = /* values here */ +``` + ### `models.OutputResponseOutputGoogleChronicle` ```python @@ -143,6 +149,12 @@ value: models.OutputResponseOutputGoogleCloudStorage = /* values here */ value: models.OutputResponseOutputGoogleCloudLogging = /* values here */ ``` +### `models.OutputResponseOutputGoogleCloudObservability` + +```python +value: models.OutputResponseOutputGoogleCloudObservability = /* values here */ +``` + ### `models.OutputResponseOutputGooglePubsub` ```python @@ -281,6 +293,12 @@ value: models.OutputResponseOutputGrafanaCloudUnion = /* values here */ value: models.OutputResponseOutputLoki = /* values here */ ``` +### `models.OutputResponseOutputAmazonManagedPrometheus` + +```python +value: models.OutputResponseOutputAmazonManagedPrometheus = /* values here */ +``` + ### `models.OutputResponseOutputPrometheus` ```python @@ -371,6 +389,12 @@ value: models.OutputResponseOutputDiskSpool = /* values here */ value: models.OutputResponseOutputClickHouse = /* values here */ ``` +### `models.OutputResponseOutputCustomerMetricsStorage` + +```python +value: models.OutputResponseOutputCustomerMetricsStorage = /* values here */ +``` + ### `models.OutputResponseOutputLocalSearchStorage` ```python @@ -473,3 +497,9 @@ value: models.OutputResponseOutputScalityS3 = /* values here */ value: models.OutputResponseOutputAlibabaCloudS3 = /* values here */ ``` +### `models.OutputResponseOutputIbmCloudS3` + +```python +value: models.OutputResponseOutputIbmCloudS3 = /* values here */ +``` + diff --git a/docs/models/outputresponseauthenticationmethodcloudflarer2.md b/docs/models/outputresponseauthenticationmethodalibabaclouds3.md similarity index 59% rename from docs/models/outputresponseauthenticationmethodcloudflarer2.md rename to docs/models/outputresponseauthenticationmethodalibabaclouds3.md index 740acc399..192672b29 100644 --- a/docs/models/outputresponseauthenticationmethodcloudflarer2.md +++ b/docs/models/outputresponseauthenticationmethodalibabaclouds3.md @@ -1,13 +1,13 @@ -# OutputResponseAuthenticationMethodCloudflareR2 +# OutputResponseAuthenticationMethodAlibabaCloudS3 -AWS authentication method. Choose Auto to use IAM roles. +Authentication method. ## Example Usage ```python -from cribl_control_plane.models import OutputResponseAuthenticationMethodCloudflareR2 +from cribl_control_plane.models import OutputResponseAuthenticationMethodAlibabaCloudS3 -value = OutputResponseAuthenticationMethodCloudflareR2.AUTO +value = OutputResponseAuthenticationMethodAlibabaCloudS3.AUTO # Open enum: unrecognized values are captured as UnrecognizedStr ``` diff --git a/docs/models/outputresponseauthenticationtypeprometheus.md b/docs/models/outputresponseauthenticationtypeprometheus.md new file mode 100644 index 000000000..3502fd9e8 --- /dev/null +++ b/docs/models/outputresponseauthenticationtypeprometheus.md @@ -0,0 +1,25 @@ +# OutputResponseAuthenticationTypePrometheus + +Remote Write authentication type + +## Example Usage + +```python +from cribl_control_plane.models import OutputResponseAuthenticationTypePrometheus + +value = OutputResponseAuthenticationTypePrometheus.NONE + +# Open enum: unrecognized values are captured as UnrecognizedStr +``` + + +## Values + +| Name | Value | +| -------------------- | -------------------- | +| `NONE` | none | +| `BASIC` | basic | +| `CREDENTIALS_SECRET` | credentialsSecret | +| `TOKEN` | token | +| `TEXT_SECRET` | textSecret | +| `AWS_SIGV4` | aws_sigv4 | \ No newline at end of file diff --git a/docs/models/outputresponseawsauthenticationmethod.md b/docs/models/outputresponseawsauthenticationmethod.md deleted file mode 100644 index ece03bd2b..000000000 --- a/docs/models/outputresponseawsauthenticationmethod.md +++ /dev/null @@ -1,20 +0,0 @@ -# OutputResponseAwsAuthenticationMethod - -## Example Usage - -```python -from cribl_control_plane.models import OutputResponseAwsAuthenticationMethod - -value = OutputResponseAwsAuthenticationMethod.AUTO - -# Open enum: unrecognized values are captured as UnrecognizedStr -``` - - -## Values - -| Name | Value | -| ---------- | ---------- | -| `AUTO` | auto | -| `AUTO_RPC` | auto_rpc | -| `MANUAL` | manual | \ No newline at end of file diff --git a/docs/models/createoutputsystembypackcolumnmappinglocalsearchstorage.md b/docs/models/outputresponsecolumnmapping.md similarity index 96% rename from docs/models/createoutputsystembypackcolumnmappinglocalsearchstorage.md rename to docs/models/outputresponsecolumnmapping.md index 6451932a3..da19034fb 100644 --- a/docs/models/createoutputsystembypackcolumnmappinglocalsearchstorage.md +++ b/docs/models/outputresponsecolumnmapping.md @@ -1,4 +1,4 @@ -# CreateOutputSystemByPackColumnMappingLocalSearchStorage +# OutputResponseColumnMapping ## Fields diff --git a/docs/models/outputresponsecolumnmappingclickhouse.md b/docs/models/outputresponsecolumnmappingclickhouse.md deleted file mode 100644 index a3fbf6f70..000000000 --- a/docs/models/outputresponsecolumnmappingclickhouse.md +++ /dev/null @@ -1,10 +0,0 @@ -# OutputResponseColumnMappingClickHouse - - -## Fields - -| Field | Type | Required | Description | -| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | -| `column_name` | *str* | :heavy_check_mark: | Name of the column in ClickHouse that will store field value | -| `column_type` | *Optional[str]* | :heavy_minus_sign: | Type of the column in the ClickHouse database | -| `column_value_expression` | *str* | :heavy_check_mark: | JavaScript expression to compute value to be inserted into ClickHouse table | \ No newline at end of file diff --git a/docs/models/outputresponseendpoint.md b/docs/models/outputresponseendpointdynatracehttp.md similarity index 63% rename from docs/models/outputresponseendpoint.md rename to docs/models/outputresponseendpointdynatracehttp.md index a4d01cb74..457043554 100644 --- a/docs/models/outputresponseendpoint.md +++ b/docs/models/outputresponseendpointdynatracehttp.md @@ -1,11 +1,11 @@ -# OutputResponseEndpoint +# OutputResponseEndpointDynatraceHTTP ## Example Usage ```python -from cribl_control_plane.models import OutputResponseEndpoint +from cribl_control_plane.models import OutputResponseEndpointDynatraceHTTP -value = OutputResponseEndpoint.CLOUD +value = OutputResponseEndpointDynatraceHTTP.CLOUD # Open enum: unrecognized values are captured as UnrecognizedStr ``` diff --git a/docs/models/outputresponseendpointgooglecloudobservability.md b/docs/models/outputresponseendpointgooglecloudobservability.md new file mode 100644 index 000000000..805328bef --- /dev/null +++ b/docs/models/outputresponseendpointgooglecloudobservability.md @@ -0,0 +1,20 @@ +# OutputResponseEndpointGoogleCloudObservability + +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. + +## Example Usage + +```python +from cribl_control_plane.models import OutputResponseEndpointGoogleCloudObservability + +value = OutputResponseEndpointGoogleCloudObservability.TELEMETRY_GOOGLEAPIS_COM_443 + +# Open enum: unrecognized values are captured as UnrecognizedStr +``` + + +## Values + +| Name | Value | +| ------------------------------ | ------------------------------ | +| `TELEMETRY_GOOGLEAPIS_COM_443` | telemetry.googleapis.com:443 | \ No newline at end of file diff --git a/docs/models/outputresponsefieldname.md b/docs/models/outputresponsefieldname.md index 592bf6faf..74a6cbe75 100644 --- a/docs/models/outputresponsefieldname.md +++ b/docs/models/outputresponsefieldname.md @@ -1,5 +1,7 @@ # OutputResponseFieldName +Name of the metadata field. + ## Example Usage ```python diff --git a/docs/models/outputresponseformatclickhouse.md b/docs/models/outputresponseformatclickhouse.md deleted file mode 100644 index 78dd3a465..000000000 --- a/docs/models/outputresponseformatclickhouse.md +++ /dev/null @@ -1,21 +0,0 @@ -# OutputResponseFormatClickHouse - -Data format to use when sending data to ClickHouse. Defaults to JSON Compact. - -## Example Usage - -```python -from cribl_control_plane.models import OutputResponseFormatClickHouse - -value = OutputResponseFormatClickHouse.JSON_COMPACT_EACH_ROW_WITH_NAMES - -# Open enum: unrecognized values are captured as UnrecognizedStr -``` - - -## Values - -| Name | Value | -| ---------------------------------- | ---------------------------------- | -| `JSON_COMPACT_EACH_ROW_WITH_NAMES` | json-compact-each-row-with-names | -| `JSON_EACH_ROW` | json-each-row | \ No newline at end of file diff --git a/docs/models/outputresponseformatcribllake.md b/docs/models/outputresponseformatcribllake.md index 15ceac097..a859c00af 100644 --- a/docs/models/outputresponseformatcribllake.md +++ b/docs/models/outputresponseformatcribllake.md @@ -13,9 +13,8 @@ value = OutputResponseFormatCriblLake.JSON ## Values -| Name | Value | -| ---------- | ---------- | -| `JSON` | json | -| `PARQUET` | parquet | -| `DDSS` | ddss | -| `NETSKOPE` | netskope | \ No newline at end of file +| Name | Value | +| --------- | --------- | +| `JSON` | json | +| `PARQUET` | parquet | +| `RAW` | raw | \ No newline at end of file diff --git a/docs/models/outputresponsegoogleauthenticationmethodgooglebigquery.md b/docs/models/outputresponsegoogleauthenticationmethodgooglebigquery.md new file mode 100644 index 000000000..981fe80d1 --- /dev/null +++ b/docs/models/outputresponsegoogleauthenticationmethodgooglebigquery.md @@ -0,0 +1,21 @@ +# OutputResponseGoogleAuthenticationMethodGoogleBigquery + +Choose Auto to use Google Application Default Credentials (ADC), or Secret to select or create a stored secret that references Google service account credentials + +## Example Usage + +```python +from cribl_control_plane.models import OutputResponseGoogleAuthenticationMethodGoogleBigquery + +value = OutputResponseGoogleAuthenticationMethodGoogleBigquery.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/outputresponsegoogleauthenticationmethodgooglecloudobservability.md b/docs/models/outputresponsegoogleauthenticationmethodgooglecloudobservability.md new file mode 100644 index 000000000..3549215f2 --- /dev/null +++ b/docs/models/outputresponsegoogleauthenticationmethodgooglecloudobservability.md @@ -0,0 +1,21 @@ +# OutputResponseGoogleAuthenticationMethodGoogleCloudObservability + +Choose Auto to use Google Application Default Credentials (ADC). Choose Secret to select or create a stored secret that references Google service account credentials. + +## Example Usage + +```python +from cribl_control_plane.models import OutputResponseGoogleAuthenticationMethodGoogleCloudObservability + +value = OutputResponseGoogleAuthenticationMethodGoogleCloudObservability.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/outputresponsemappingtypelocalsearchstorage.md b/docs/models/outputresponsemappingtype.md similarity index 72% rename from docs/models/outputresponsemappingtypelocalsearchstorage.md rename to docs/models/outputresponsemappingtype.md index a4b26f03a..8bcc916e1 100644 --- a/docs/models/outputresponsemappingtypelocalsearchstorage.md +++ b/docs/models/outputresponsemappingtype.md @@ -1,13 +1,13 @@ -# OutputResponseMappingTypeLocalSearchStorage +# OutputResponseMappingType How event fields are mapped to columns. ## Example Usage ```python -from cribl_control_plane.models import OutputResponseMappingTypeLocalSearchStorage +from cribl_control_plane.models import OutputResponseMappingType -value = OutputResponseMappingTypeLocalSearchStorage.AUTOMATIC +value = OutputResponseMappingType.AUTOMATIC # Open enum: unrecognized values are captured as UnrecognizedStr ``` diff --git a/docs/models/outputresponsemappingtypeclickhouse.md b/docs/models/outputresponsemappingtypeclickhouse.md deleted file mode 100644 index f2fc97fde..000000000 --- a/docs/models/outputresponsemappingtypeclickhouse.md +++ /dev/null @@ -1,21 +0,0 @@ -# OutputResponseMappingTypeClickHouse - -How event fields are mapped to ClickHouse columns - -## Example Usage - -```python -from cribl_control_plane.models import OutputResponseMappingTypeClickHouse - -value = OutputResponseMappingTypeClickHouse.AUTOMATIC - -# Open enum: unrecognized values are captured as UnrecognizedStr -``` - - -## Values - -| Name | Value | -| ----------- | ----------- | -| `AUTOMATIC` | automatic | -| `CUSTOM` | custom | \ No newline at end of file diff --git a/docs/models/outputresponsemetadatum.md b/docs/models/outputresponsemetadatum.md index b4ebe313d..7e935eb1e 100644 --- a/docs/models/outputresponsemetadatum.md +++ b/docs/models/outputresponsemetadatum.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -| `name` | [models.OutputResponseFieldName](../models/outputresponsefieldname.md) | :heavy_check_mark: | N/A | +| `name` | [models.OutputResponseFieldName](../models/outputresponsefieldname.md) | :heavy_check_mark: | Name of the metadata field. | | `value` | *str* | :heavy_check_mark: | JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.) | \ No newline at end of file diff --git a/docs/models/outputresponseotlpversiongooglecloudobservability.md b/docs/models/outputresponseotlpversiongooglecloudobservability.md new file mode 100644 index 000000000..664f1579f --- /dev/null +++ b/docs/models/outputresponseotlpversiongooglecloudobservability.md @@ -0,0 +1,18 @@ +# OutputResponseOtlpVersionGoogleCloudObservability + +## Example Usage + +```python +from cribl_control_plane.models import OutputResponseOtlpVersionGoogleCloudObservability + +value = OutputResponseOtlpVersionGoogleCloudObservability.ONE_DOT_3_DOT_1 + +# Open enum: unrecognized values are captured as UnrecognizedStr +``` + + +## Values + +| Name | Value | +| ----------------- | ----------------- | +| `ONE_DOT_3_DOT_1` | 1.3.1 | \ No newline at end of file diff --git a/docs/models/outputresponseotlpversion.md b/docs/models/outputresponseotlpversionopentelemetry.md similarity index 78% rename from docs/models/outputresponseotlpversion.md rename to docs/models/outputresponseotlpversionopentelemetry.md index f58bf837f..57096bfc0 100644 --- a/docs/models/outputresponseotlpversion.md +++ b/docs/models/outputresponseotlpversionopentelemetry.md @@ -1,13 +1,13 @@ -# OutputResponseOTLPVersion +# OutputResponseOTLPVersionOpenTelemetry The version of OTLP Protobuf definitions to use when structuring data to send ## Example Usage ```python -from cribl_control_plane.models import OutputResponseOTLPVersion +from cribl_control_plane.models import OutputResponseOTLPVersionOpenTelemetry -value = OutputResponseOTLPVersion.ZERO_DOT_10_DOT_0 +value = OutputResponseOTLPVersionOpenTelemetry.ZERO_DOT_10_DOT_0 # Open enum: unrecognized values are captured as UnrecognizedStr ``` diff --git a/docs/models/outputresponseoutputalibabaclouds3.md b/docs/models/outputresponseoutputalibabaclouds3.md index 332ebc293..fbea4a8da 100644 --- a/docs/models/outputresponseoutputalibabaclouds3.md +++ b/docs/models/outputresponseoutputalibabaclouds3.md @@ -10,8 +10,8 @@ | `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} | -| `aws_authentication_method` | [Optional[models.AuthenticationMethodOptionsSecret]](../models/authenticationmethodoptionssecret.md) | :heavy_minus_sign: | Authentication method. | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | +| `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,11 @@ | `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 | +| `enable_assume_role` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials to access Alibaba OSS | +| `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). | +| `assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | ARN of the RAM role to assume. Format: acs:ram:::role/. Example: acs:ram::123456789:role/OSSAccessRole | +| `assume_role_external_id` | *Optional[str]* | :heavy_minus_sign: | External ID for the assumed role (optional, for security when configured in the role trust policy) | +| `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 | @@ -69,6 +73,8 @@ | `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_object_acl` | *Optional[str]* | :heavy_minus_sign: | 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` | *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_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_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. | diff --git a/docs/models/outputresponseoutputalphasocs3.md b/docs/models/outputresponseoutputalphasocs3.md index 229294f8c..421c9cfb4 100644 --- a/docs/models/outputresponseoutputalphasocs3.md +++ b/docs/models/outputresponseoutputalphasocs3.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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 | @@ -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/outputresponseoutputamazonmanagedprometheus.md b/docs/models/outputresponseoutputamazonmanagedprometheus.md new file mode 100644 index 000000000..fa7619bd8 --- /dev/null +++ b/docs/models/outputresponseoutputamazonmanagedprometheus.md @@ -0,0 +1,63 @@ +# OutputResponseOutputAmazonManagedPrometheus + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this output | +| `type` | [models.OutputResponseTypeAmazonManagedPrometheus](../models/outputresponsetypeamazonmanagedprometheus.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. These fields are added as dimensions to generated metrics. | +| `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: | Metadata tags used for categorization and filtering. | +| `url` | *str* | :heavy_check_mark: | The Amazon Managed Service for Prometheus remote_write endpoint | +| `aws_authentication_method` | [models.AuthenticationMethodOptionsAutoSecret](../models/authenticationmethodoptionsautosecret.md) | :heavy_check_mark: | AWS authentication method. Choose Auto to use IAM roles. | +| `aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `region` | *str* | :heavy_check_mark: | Region where the AMSP is located | +| `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. | +| `enable_assume_role` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials to access AMSP | +| `assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Amazon Resource Name (ARN) of the role to assume | +| `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). | +| `metric_rename_expr` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[bool]* | :heavy_minus_sign: | Generate and send metadata (`type` and `metricFamilyName`) requests | +| `use_prometheus_histogram_bucket_suffix` | *Optional[bool]* | :heavy_minus_sign: | Serialize histogram bucket series as `_bucket` to match Prometheus histogram naming convention | +| `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | +| `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum uncompressed size, in KB, of the request body. The 1 MB cap is intentional and protects against data that compresses poorly, since oversized requests fail with a non-retryable 413. | +| `max_payload_events` | *Optional[float]* | :heavy_minus_sign: | Maximum number of events to include in the request body. Default is 0 (unlimited). | +| `timeout_sec` | *Optional[float]* | :heavy_minus_sign: | Amount of time, in seconds, to wait for a request to complete before canceling it | +| `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 Body size limit. | +| `extra_http_headers` | List[[models.ExtraHTTPHeaderConfInputElastic](../models/extrahttpheaderconfinputelastic.md)] | :heavy_minus_sign: | Headers to add to all events. SigV4-managed headers and the Prometheus remote-write protocol version header are generated by this Destination and cannot be configured here. | +| `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. | +| `failed_request_logging_mode` | [Optional[models.FailedRequestLoggingModeOptions]](../models/failedrequestloggingmodeoptions.md) | :heavy_minus_sign: | Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below. | +| `safe_headers` | List[*str*] | :heavy_minus_sign: | List of headers that are safe to log in plain text | +| `response_retry_settings` | List[[models.ResponseRetrySettingConfOutputWebhook](../models/responseretrysettingconfoutputwebhook.md)] | :heavy_minus_sign: | Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable) | +| `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: | 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 | +| `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. | +| `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. | +| `pq_max_buffer_size` | *Optional[float]* | :heavy_minus_sign: | 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` | *Optional[float]* | :heavy_minus_sign: | How long (in seconds) to wait for backpressure to resolve before engaging the queue | +| `pq_max_file_size` | *Optional[str]* | :heavy_minus_sign: | The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.) | +| `pq_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. | +| `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | +| `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | +| `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | +| `pq_controls` | [Optional[models.OutputResponsePqControlsAmazonManagedPrometheus]](../models/outputresponsepqcontrolsamazonmanagedprometheus.md) | :heavy_minus_sign: | N/A | +| `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_url` | *Optional[str]* | :heavy_minus_sign: | 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_secret_key` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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` | *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. | +| `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/outputresponseoutputazureblob.md b/docs/models/outputresponseoutputazureblob.md index adbddf0a2..49764e5f7 100644 --- a/docs/models/outputresponseoutputazureblob.md +++ b/docs/models/outputresponseoutputazureblob.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `container_name` | *str* | :heavy_check_mark: | 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"]}`. | | `create_container` | *Optional[bool]* | :heavy_minus_sign: | Create the configured container in Azure Blob Storage if it does not already exist | | `dest_path` | *Optional[str]* | :heavy_minus_sign: | 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"]}`. | @@ -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 bec92ecaa..60bfdc006 100644 --- a/docs/models/outputresponseoutputazuredataexplorer.md +++ b/docs/models/outputresponseoutputazuredataexplorer.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `cluster_url` | *str* | :heavy_check_mark: | The base URI for your cluster. Typically, `https://..kusto.windows.net`. | | `database` | *str* | :heavy_check_mark: | Name of the database containing the table where data will be ingested | | `table` | *str* | :heavy_check_mark: | Name of the table to ingest data into | @@ -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 | @@ -89,7 +89,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsAzureDataExplorer]](../models/outputresponsepqcontrolsazuredataexplorer.md) | :heavy_minus_sign: | N/A | | `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_cluster_url` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputresponseoutputazureeventhub.md b/docs/models/outputresponseoutputazureeventhub.md index e7ca87336..05721d7ef 100644 --- a/docs/models/outputresponseoutputazureeventhub.md +++ b/docs/models/outputresponseoutputazureeventhub.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `brokers` | List[*str*] | :heavy_check_mark: | 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* | :heavy_check_mark: | The name of the Event Hub (Kafka Topic) to publish events. Can be overwritten using field __topicOut. | | `ack` | [Optional[models.AcknowledgmentsOptions]](../models/acknowledgmentsoptions.md) | :heavy_minus_sign: | Control the number of required acknowledgments | @@ -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. | @@ -40,7 +40,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsAzureEventhub]](../models/outputresponsepqcontrolsazureeventhub.md) | :heavy_minus_sign: | N/A | | `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/outputresponseoutputazurelogs.md b/docs/models/outputresponseoutputazurelogs.md index b0cae51e4..78eb34e3a 100644 --- a/docs/models/outputresponseoutputazurelogs.md +++ b/docs/models/outputresponseoutputazurelogs.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `log_type` | *str* | :heavy_check_mark: | 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. | | `resource_id` | *Optional[str]* | :heavy_minus_sign: | 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]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | @@ -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. | @@ -41,7 +41,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsAzureLogs]](../models/outputresponsepqcontrolsazurelogs.md) | :heavy_minus_sign: | N/A | | `workspace_id` | *Optional[str]* | :heavy_minus_sign: | Azure Log Analytics Workspace ID. See Azure Dashboard Workspace > Advanced settings. | | `workspace_key` | *Optional[str]* | :heavy_minus_sign: | Azure Log Analytics Workspace Primary or Secondary Shared Key. See Azure Dashboard Workspace > Advanced settings. | diff --git a/docs/models/outputresponseoutputchronicle.md b/docs/models/outputresponseoutputchronicle.md index 4894bd548..3bb1a77f4 100644 --- a/docs/models/outputresponseoutputchronicle.md +++ b/docs/models/outputresponseoutputchronicle.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `api_version` | *Optional[str]* | :heavy_minus_sign: | N/A | | `authentication_method` | [Optional[models.OutputResponseAuthenticationMethodChronicle]](../models/outputresponseauthenticationmethodchronicle.md) | :heavy_minus_sign: | N/A | | `response_retry_settings` | List[[models.ResponseRetrySettingConfOutputWebhook](../models/responseretrysettingconfoutputwebhook.md)] | :heavy_minus_sign: | Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable) | @@ -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. | @@ -51,7 +51,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsChronicle]](../models/outputresponsepqcontrolschronicle.md) | :heavy_minus_sign: | N/A | | `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_region` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputresponseoutputclickhouse.md b/docs/models/outputresponseoutputclickhouse.md index 11dada65c..0ca03aa6c 100644 --- a/docs/models/outputresponseoutputclickhouse.md +++ b/docs/models/outputresponseoutputclickhouse.md @@ -10,13 +10,13 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `url` | *str* | :heavy_check_mark: | URL of the ClickHouse instance. Example: http://localhost:8123/ | | `auth_type` | [Optional[models.AuthenticationTypeOptions]](../models/authenticationtypeoptions.md) | :heavy_minus_sign: | N/A | | `database` | *str* | :heavy_check_mark: | N/A | | `table_name` | *str* | :heavy_check_mark: | 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 "_". | -| `format_` | [Optional[models.OutputResponseFormatClickHouse]](../models/outputresponseformatclickhouse.md) | :heavy_minus_sign: | Data format to use when sending data to ClickHouse. Defaults to JSON Compact. | -| `mapping_type` | [Optional[models.OutputResponseMappingTypeClickHouse]](../models/outputresponsemappingtypeclickhouse.md) | :heavy_minus_sign: | How event fields are mapped to ClickHouse columns | +| `format_` | [Optional[models.FormatOptions]](../models/formatoptions.md) | :heavy_minus_sign: | Data format to use when sending data to ClickHouse. Defaults to JSON Compact. | +| `mapping_type` | [Optional[models.MappingTypeOptions]](../models/mappingtypeoptions.md) | :heavy_minus_sign: | How event fields are mapped to ClickHouse columns | | `async_inserts` | *Optional[bool]* | :heavy_minus_sign: | 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` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPathExtended]](../models/tlssettingsclientsidetypecapathcertpathextended.md) | :heavy_minus_sign: | N/A | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | @@ -33,9 +33,10 @@ | `response_retry_settings` | List[[models.ResponseRetrySettingConfOutputWebhook](../models/responseretrysettingconfoutputwebhook.md)] | :heavy_minus_sign: | Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable) | | `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. | +| `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 | @@ -43,7 +44,7 @@ | `wait_for_async_inserts` | *Optional[bool]* | :heavy_minus_sign: | 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` | List[*str*] | :heavy_minus_sign: | Fields to exclude from sending to ClickHouse | | `describe_table` | *Optional[str]* | :heavy_minus_sign: | Retrieves the table schema from ClickHouse and populates the Column Mapping table | -| `column_mappings` | List[[models.OutputResponseColumnMappingClickHouse](../models/outputresponsecolumnmappingclickhouse.md)] | :heavy_minus_sign: | N/A | +| `column_mappings` | List[[models.ColumnMappingConfOutputClickHouse](../models/columnmappingconfoutputclickhouse.md)] | :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. | | `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. | @@ -54,7 +55,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsClickHouse]](../models/outputresponsepqcontrolsclickhouse.md) | :heavy_minus_sign: | N/A | | `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_url` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputresponseoutputcloudflarer2.md b/docs/models/outputresponseoutputcloudflarer2.md index d1afbd961..20747ca49 100644 --- a/docs/models/outputresponseoutputcloudflarer2.md +++ b/docs/models/outputresponseoutputcloudflarer2.md @@ -10,8 +10,8 @@ | `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} | -| `aws_authentication_method` | [Optional[models.OutputResponseAuthenticationMethodCloudflareR2]](../models/outputresponseauthenticationmethodcloudflarer2.md) | :heavy_minus_sign: | AWS authentication method. Choose Auto to use IAM roles. | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | +| `aws_authentication_method` | [Optional[models.AuthenticationMethodOptionsAutoSecret]](../models/authenticationmethodoptionsautosecret.md) | :heavy_minus_sign: | AWS authentication method. Choose Auto to use IAM roles. | | `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 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}` | @@ -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..ecec1e8fa 100644 --- a/docs/models/outputresponseoutputcloudians3.md +++ b/docs/models/outputresponseoutputcloudians3.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `endpoint` | *str* | :heavy_check_mark: | Cloudian HyperStore S3-compatible endpoint URL (example: https://s3.hyperstore.example.com) | | `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 | @@ -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 dc3eec502..de512f6c4 100644 --- a/docs/models/outputresponseoutputcloudwatch.md +++ b/docs/models/outputresponseoutputcloudwatch.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `log_group_name` | *str* | :heavy_check_mark: | CloudWatch log group to associate events with | | `log_stream_name` | *str* | :heavy_check_mark: | 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 | | `aws_authentication_method` | [Optional[models.AuthenticationMethodOptionsS3CollectorConf]](../models/authenticationmethodoptionss3collectorconf.md) | :heavy_minus_sign: | AWS authentication method. Choose Auto to use IAM roles. | @@ -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. | @@ -40,7 +40,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsCloudwatch]](../models/outputresponsepqcontrolscloudwatch.md) | :heavy_minus_sign: | N/A | | `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_log_group_name` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputresponseoutputconfluentcloud.md b/docs/models/outputresponseoutputconfluentcloud.md index 00c35636c..c6a26a64c 100644 --- a/docs/models/outputresponseoutputconfluentcloud.md +++ b/docs/models/outputresponseoutputconfluentcloud.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `brokers` | List[*str*] | :heavy_check_mark: | List of Confluent Cloud bootstrap servers to use, such as yourAccount.confluent.cloud:9092. | | `tls` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPath]](../models/tlssettingsclientsidetypecapathcertpath.md) | :heavy_minus_sign: | N/A | | `topic` | *str* | :heavy_check_mark: | The topic to publish events to. Can be overridden using the __topicOut field. | @@ -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. | @@ -44,7 +44,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsConfluentCloud]](../models/outputresponsepqcontrolsconfluentcloud.md) | :heavy_minus_sign: | N/A | | `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/outputresponseoutputcriblhttp.md b/docs/models/outputresponseoutputcriblhttp.md index 4582826df..b29dd2336 100644 --- a/docs/models/outputresponseoutputcriblhttp.md +++ b/docs/models/outputresponseoutputcriblhttp.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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. | | `tls` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPath]](../models/tlssettingsclientsidetypecapathcertpath.md) | :heavy_minus_sign: | N/A | | `token_ttl_minutes` | *Optional[float]* | :heavy_minus_sign: | The number of minutes before the internally generated authentication token expires. Valid values are between 1 and 60. | @@ -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 | @@ -48,7 +48,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsCriblHTTP]](../models/outputresponsepqcontrolscriblhttp.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputresponseoutputcribllake.md b/docs/models/outputresponseoutputcribllake.md index 967cc6925..cc3bf0bc7 100644 --- a/docs/models/outputresponseoutputcribllake.md +++ b/docs/models/outputresponseoutputcribllake.md @@ -10,19 +10,7 @@ | `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` | *Optional[str]* | :heavy_minus_sign: | S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint. | -| `enable_assume_role` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials to access S3 | -| `assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Amazon Resource Name (ARN) of the role to assume | -| `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). | -| `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` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | Region where the S3 bucket is located | -| `dest_path` | *Optional[str]* | :heavy_minus_sign: | Lake dataset to send the data to. | -| `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 | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `stage_path` | *Optional[str]* | :heavy_minus_sign: | 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 | @@ -40,33 +28,35 @@ | `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 | -| `aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`) | -| `object_acl` | [Optional[models.ObjectACLOptions]](../models/objectacloptions.md) | :heavy_minus_sign: | Object ACL to assign to uploaded objects | -| `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 | -| `aws_authentication_method` | [Optional[models.OutputResponseAwsAuthenticationMethod]](../models/outputresponseawsauthenticationmethod.md) | :heavy_minus_sign: | N/A | +| `dest_path` | *Optional[str]* | :heavy_minus_sign: | Lake dataset to send the data to. | | `format_` | [Optional[models.OutputResponseFormatCriblLake]](../models/outputresponseformatcribllake.md) | :heavy_minus_sign: | N/A | -| `max_concurrent_file_parts` | *Optional[float]* | :heavy_minus_sign: | Maximum number of parts to upload in parallel per file. Minimum part size is 5MB. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `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: | 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 | +| `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_assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *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_region` | *Optional[str]* | :heavy_minus_sign: | 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` | *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_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_aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_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_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/outputresponseoutputcriblsearchengine.md b/docs/models/outputresponseoutputcriblsearchengine.md index 96119247e..4c958c6ef 100644 --- a/docs/models/outputresponseoutputcriblsearchengine.md +++ b/docs/models/outputresponseoutputcriblsearchengine.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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. | | `tls` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPath]](../models/tlssettingsclientsidetypecapathcertpath.md) | :heavy_minus_sign: | N/A | | `token_ttl_minutes` | *Optional[float]* | :heavy_minus_sign: | The number of minutes before the internally generated authentication token expires. Valid values are between 1 and 60. | @@ -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 | @@ -48,7 +48,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsCriblSearchEngine]](../models/outputresponsepqcontrolscriblsearchengine.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputresponseoutputcribltcp.md b/docs/models/outputresponseoutputcribltcp.md index 18d6acdd5..8a09d790e 100644 --- a/docs/models/outputresponseoutputcribltcp.md +++ b/docs/models/outputresponseoutputcribltcp.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `load_balanced` | *Optional[bool]* | :heavy_minus_sign: | Use load-balanced destinations | | `compression` | [Optional[models.CompressionOptionsGzipNone]](../models/compressionoptionsgzipnone.md) | :heavy_minus_sign: | Codec to use to compress the data before sending | | `log_failed_requests` | *Optional[bool]* | :heavy_minus_sign: | Use to troubleshoot issues with sending data | @@ -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 | @@ -40,7 +40,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsCriblTCP]](../models/outputresponsepqcontrolscribltcp.md) | :heavy_minus_sign: | N/A | | `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. | diff --git a/docs/models/outputresponseoutputcrowdstrikenextgensiem.md b/docs/models/outputresponseoutputcrowdstrikenextgensiem.md index 3dbca64ab..c11cd1371 100644 --- a/docs/models/outputresponseoutputcrowdstrikenextgensiem.md +++ b/docs/models/outputresponseoutputcrowdstrikenextgensiem.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `url` | *str* | :heavy_check_mark: | URL provided from a CrowdStrike data connector.
Example: https://ingest..crowdstrike.com/api/ingest/hec//v1/services/collector | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | | `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size, in KB, of the request body | @@ -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. | @@ -42,7 +42,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsCrowdstrikeNextGenSiem]](../models/outputresponsepqcontrolscrowdstrikenextgensiem.md) | :heavy_minus_sign: | N/A | | `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_url` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputresponseoutputcustomermetricsstorage.md b/docs/models/outputresponseoutputcustomermetricsstorage.md new file mode 100644 index 000000000..d3673e973 --- /dev/null +++ b/docs/models/outputresponseoutputcustomermetricsstorage.md @@ -0,0 +1,67 @@ +# OutputResponseOutputCustomerMetricsStorage + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this output | +| `type` | [models.OutputResponseTypeCustomerMetricsStorage](../models/outputresponsetypecustomermetricsstorage.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: | Metadata tags used for categorization and filtering. | +| `url` | *str* | :heavy_check_mark: | URL of the ClickHouse instance. Example: http://localhost:8123/ | +| `auth_type` | [Optional[models.AuthenticationTypeOptions]](../models/authenticationtypeoptions.md) | :heavy_minus_sign: | N/A | +| `database` | *str* | :heavy_check_mark: | N/A | +| `table_name` | *str* | :heavy_check_mark: | 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 "_". | +| `format_` | [Optional[models.FormatOptions]](../models/formatoptions.md) | :heavy_minus_sign: | Data format to use when sending data to ClickHouse. Defaults to JSON Compact. | +| `mapping_type` | [Optional[models.MappingTypeOptions]](../models/mappingtypeoptions.md) | :heavy_minus_sign: | How event fields are mapped to ClickHouse columns | +| `async_inserts` | *Optional[bool]* | :heavy_minus_sign: | 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` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPathExtended]](../models/tlssettingsclientsidetypecapathcertpathextended.md) | :heavy_minus_sign: | N/A | +| `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | +| `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size, in KB, of the request body | +| `max_payload_events` | *Optional[float]* | :heavy_minus_sign: | Maximum number of events to include in the request body. Default is 0 (unlimited). | +| `compress` | *Optional[bool]* | :heavy_minus_sign: | Compress the payload body before sending | +| `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. | +| `timeout_sec` | *Optional[float]* | :heavy_minus_sign: | Amount of time, in seconds, to wait for a request to complete before canceling it | +| `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 Body size limit. | +| `extra_http_headers` | List[[models.ExtraHTTPHeaderConfInputElastic](../models/extrahttpheaderconfinputelastic.md)] | :heavy_minus_sign: | Headers to add to all events | +| `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. | +| `failed_request_logging_mode` | [Optional[models.FailedRequestLoggingModeOptions]](../models/failedrequestloggingmodeoptions.md) | :heavy_minus_sign: | Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below. | +| `safe_headers` | List[*str*] | :heavy_minus_sign: | List of headers that are safe to log in plain text | +| `response_retry_settings` | List[[models.ResponseRetrySettingConfOutputWebhook](../models/responseretrysettingconfoutputwebhook.md)] | :heavy_minus_sign: | Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable) | +| `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. | +| `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: | 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 | +| `sql_username` | *Optional[str]* | :heavy_minus_sign: | Username for certificate authentication | +| `wait_for_async_inserts` | *Optional[bool]* | :heavy_minus_sign: | 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` | List[*str*] | :heavy_minus_sign: | Fields to exclude from sending to ClickHouse | +| `describe_table` | *Optional[str]* | :heavy_minus_sign: | Retrieves the table schema from ClickHouse and populates the Column Mapping table | +| `column_mappings` | List[[models.ColumnMappingConfOutputClickHouse](../models/columnmappingconfoutputclickhouse.md)] | :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. | +| `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. | +| `pq_max_buffer_size` | *Optional[float]* | :heavy_minus_sign: | 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` | *Optional[float]* | :heavy_minus_sign: | How long (in seconds) to wait for backpressure to resolve before engaging the queue | +| `pq_max_file_size` | *Optional[str]* | :heavy_minus_sign: | The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.) | +| `pq_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. | +| `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | +| `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | +| `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | +| `pq_controls` | [Optional[models.OutputResponsePqControlsCustomerMetricsStorage]](../models/outputresponsepqcontrolscustomermetricsstorage.md) | :heavy_minus_sign: | N/A | +| `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_url` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *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. | +| `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/outputresponseoutputdatabricks.md b/docs/models/outputresponseoutputdatabricks.md index c270f0235..e5acddafb 100644 --- a/docs/models/outputresponseoutputdatabricks.md +++ b/docs/models/outputresponseoutputdatabricks.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `dest_path` | *Optional[str]* | :heavy_minus_sign: | Optional path to prepend to files before uploading. | | `stage_path` | *Optional[str]* | :heavy_minus_sign: | Filesystem location in which to buffer files before compressing and moving to final destination. Use performant, stable storage. | | `add_id_to_stage_path` | *Optional[bool]* | :heavy_minus_sign: | Add the Output ID value to staging location | @@ -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 91ffb40ec..51a1bcffa 100644 --- a/docs/models/outputresponseoutputdatadog.md +++ b/docs/models/outputresponseoutputdatadog.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `content_type` | [Optional[models.OutputResponseSendLogsAs]](../models/outputresponsesendlogsas.md) | :heavy_minus_sign: | The content type to use when sending logs | | `message` | *Optional[str]* | :heavy_minus_sign: | 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]* | :heavy_minus_sign: | 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. | @@ -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. | @@ -51,7 +51,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsDatadog]](../models/outputresponsepqcontrolsdatadog.md) | :heavy_minus_sign: | N/A | | `api_key` | *Optional[str]* | :heavy_minus_sign: | Organization's API key in Datadog | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/outputresponseoutputdataset.md b/docs/models/outputresponseoutputdataset.md index 14c1c8847..960e84911 100644 --- a/docs/models/outputresponseoutputdataset.md +++ b/docs/models/outputresponseoutputdataset.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `message_field` | *Optional[str]* | :heavy_minus_sign: | 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` | List[*str*] | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | Name of the event field that contains the `serverHost` identifier. If not specified, defaults to `cribl_`. | @@ -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. | @@ -46,7 +46,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsDataset]](../models/outputresponsepqcontrolsdataset.md) | :heavy_minus_sign: | N/A | | `api_key` | *Optional[str]* | :heavy_minus_sign: | A 'Log Write Access' API key for the DataSet account | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/outputresponseoutputdefault.md b/docs/models/outputresponseoutputdefault.md index 4c070d043..4bf456d5f 100644 --- a/docs/models/outputresponseoutputdefault.md +++ b/docs/models/outputresponseoutputdefault.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `default_id` | *Nullable[str]* | :heavy_check_mark: | ID of the default output. This will be used whenever a nonexistent/deleted output is referenced. | | `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/outputresponseoutputdells3.md b/docs/models/outputresponseoutputdells3.md index e84687fbc..1e87c39bf 100644 --- a/docs/models/outputresponseoutputdells3.md +++ b/docs/models/outputresponseoutputdells3.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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 | @@ -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/outputresponseoutputdevnull.md b/docs/models/outputresponseoutputdevnull.md index f0cc8258e..2b4460b72 100644 --- a/docs/models/outputresponseoutputdevnull.md +++ b/docs/models/outputresponseoutputdevnull.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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/outputresponseoutputdiskspool.md b/docs/models/outputresponseoutputdiskspool.md index de9863aef..ec3586d48 100644 --- a/docs/models/outputresponseoutputdiskspool.md +++ b/docs/models/outputresponseoutputdiskspool.md @@ -10,13 +10,13 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `time_window` | *Optional[str]* | :heavy_minus_sign: | Time period for grouping spooled events. Default is 10m. | | `max_data_size` | *Optional[str]* | :heavy_minus_sign: | Maximum disk space that can be consumed before older buckets are deleted. Examples: 420MB, 4GB. Default is 1GB. | | `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..343d7a422 100644 --- a/docs/models/outputresponseoutputdls3.md +++ b/docs/models/outputresponseoutputdls3.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `endpoint` | *Optional[str]* | :heavy_minus_sign: | S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint. | | `enable_assume_role` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials to access S3 | | `assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Amazon Resource Name (ARN) of the role to assume | @@ -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 66a1ff6b8..266979597 100644 --- a/docs/models/outputresponseoutputdynatracehttp.md +++ b/docs/models/outputresponseoutputdynatracehttp.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `method` | [Optional[models.MethodOptions]](../models/methodoptions.md) | :heavy_minus_sign: | The method to use when sending events | | `keep_alive` | *Optional[bool]* | :heavy_minus_sign: | Disable to close the connection immediately after sending the outgoing request | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | @@ -30,10 +30,10 @@ | `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.OutputResponseAuthenticationTypeDynatraceHTTP]](../models/outputresponseauthenticationtypedynatracehttp.md) | :heavy_minus_sign: | N/A | | `format_` | [models.OutputResponseFormatDynatraceHTTP](../models/outputresponseformatdynatracehttp.md) | :heavy_check_mark: | How to format events before sending. Defaults to JSON. Plaintext is not currently supported. | -| `endpoint` | [models.OutputResponseEndpoint](../models/outputresponseendpoint.md) | :heavy_check_mark: | N/A | +| `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. | @@ -44,7 +44,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsDynatraceHTTP]](../models/outputresponsepqcontrolsdynatracehttp.md) | :heavy_minus_sign: | N/A | | `token` | *Optional[str]* | :heavy_minus_sign: | Bearer token to include in the authorization header | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/outputresponseoutputdynatraceotlp.md b/docs/models/outputresponseoutputdynatraceotlp.md index 2715a3023..a63128d9e 100644 --- a/docs/models/outputresponseoutputdynatraceotlp.md +++ b/docs/models/outputresponseoutputdynatraceotlp.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `protocol` | [models.OutputResponseProtocolDynatraceOtlp](../models/outputresponseprotocoldynatraceotlp.md) | :heavy_check_mark: | Select a transport option for Dynatrace | | `endpoint` | *str* | :heavy_check_mark: | 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` | [models.OtlpVersionOptions131](../models/otlpversionoptions131.md) | :heavy_check_mark: | The version of OTLP Protobuf definitions to use when structuring data to send | @@ -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 | @@ -52,7 +52,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsDynatraceOtlp]](../models/outputresponsepqcontrolsdynatraceotlp.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputresponseoutputelastic.md b/docs/models/outputresponseoutputelastic.md index b71adef89..c4dbfd8c6 100644 --- a/docs/models/outputresponseoutputelastic.md +++ b/docs/models/outputresponseoutputelastic.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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. | | `index` | *str* | :heavy_check_mark: | 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. | | `doc_type` | *Optional[str]* | :heavy_minus_sign: | Document type to use for events. Can be overwritten by an event's __type field. | @@ -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 | @@ -52,7 +52,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsElastic]](../models/outputresponsepqcontrolselastic.md) | :heavy_minus_sign: | N/A | | `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_index` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputresponseoutputelasticcloud.md b/docs/models/outputresponseoutputelasticcloud.md index b91fb995e..4231ec1e9 100644 --- a/docs/models/outputresponseoutputelasticcloud.md +++ b/docs/models/outputresponseoutputelasticcloud.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `url` | *str* | :heavy_check_mark: | Enter Cloud ID of the Elastic Cloud environment to send events to | | `index` | *str* | :heavy_check_mark: | 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. | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | @@ -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. | @@ -42,7 +42,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsElasticCloud]](../models/outputresponsepqcontrolselasticcloud.md) | :heavy_minus_sign: | N/A | | `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_url` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputresponseoutputexabeam.md b/docs/models/outputresponseoutputexabeam.md index ba48df427..cad42b338 100644 --- a/docs/models/outputresponseoutputexabeam.md +++ b/docs/models/outputresponseoutputexabeam.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `bucket` | *str* | :heavy_check_mark: | 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* | :heavy_check_mark: | Region where the bucket is located | | `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. | @@ -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..510442312 100644 --- a/docs/models/outputresponseoutputfilesystem.md +++ b/docs/models/outputresponseoutputfilesystem.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `dest_path` | *str* | :heavy_check_mark: | Final destination for the output files | | `stage_path` | *Optional[str]* | :heavy_minus_sign: | 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 | @@ -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/outputresponseoutputgooglebigquery.md b/docs/models/outputresponseoutputgooglebigquery.md new file mode 100644 index 000000000..786bb2fd9 --- /dev/null +++ b/docs/models/outputresponseoutputgooglebigquery.md @@ -0,0 +1,44 @@ +# OutputResponseOutputGoogleBigquery + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this output | +| `type` | [models.OutputResponseTypeGoogleBigquery](../models/outputresponsetypegooglebigquery.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: | Metadata tags used for categorization and filtering. | +| `project_id` | *str* | :heavy_check_mark: | Google Cloud project ID that contains the BigQuery dataset | +| `dataset_id` | *str* | :heavy_check_mark: | BigQuery dataset ID | +| `table_id` | *str* | :heavy_check_mark: | BigQuery table ID | +| `timestamp_column` | *Optional[str]* | :heavy_minus_sign: | Column name to write event time (`_time`) as a BigQuery TIMESTAMP. Used for time partitioning | +| `google_auth_method` | [models.OutputResponseGoogleAuthenticationMethodGoogleBigquery](../models/outputresponsegoogleauthenticationmethodgooglebigquery.md) | :heavy_check_mark: | Choose Auto to use Google Application Default Credentials (ADC), or Secret to select or create a stored secret that references Google service account credentials | +| `secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | +| `flush_period` | *Optional[float]* | :heavy_minus_sign: | Maximum time to wait before sending a batch (when batch size limit is not reached) | +| `max_queue_size` | *Optional[float]* | :heavy_minus_sign: | Maximum number of queued batches before blocking | +| `max_record_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size (KB) of a single append request. BigQuery limit is 10 MB | +| `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: | 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. | +| `pq_max_buffer_size` | *Optional[float]* | :heavy_minus_sign: | 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` | *Optional[float]* | :heavy_minus_sign: | How long (in seconds) to wait for backpressure to resolve before engaging the queue | +| `pq_max_file_size` | *Optional[str]* | :heavy_minus_sign: | The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.) | +| `pq_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. | +| `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | +| `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | +| `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | +| `pq_controls` | [Optional[models.OutputResponsePqControlsGoogleBigquery]](../models/outputresponsepqcontrolsgooglebigquery.md) | :heavy_minus_sign: | N/A | +| `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_project_id` | *Optional[str]* | :heavy_minus_sign: | Binds 'projectId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'projectId' at runtime. | +| `template_dataset_id` | *Optional[str]* | :heavy_minus_sign: | Binds 'datasetId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'datasetId' at runtime. | +| `template_table_id` | *Optional[str]* | :heavy_minus_sign: | Binds 'tableId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tableId' 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. | +| `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/outputresponseoutputgooglechronicle.md b/docs/models/outputresponseoutputgooglechronicle.md index a648b988b..807e5366d 100644 --- a/docs/models/outputresponseoutputgooglechronicle.md +++ b/docs/models/outputresponseoutputgooglechronicle.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `api_version` | [Optional[models.OutputResponseAPIVersion]](../models/outputresponseapiversion.md) | :heavy_minus_sign: | N/A | | `authentication_method` | [Optional[models.OutputResponseAuthenticationMethodGoogleChronicle]](../models/outputresponseauthenticationmethodgooglechronicle.md) | :heavy_minus_sign: | N/A | | `response_retry_settings` | List[[models.ResponseRetrySettingConfOutputWebhook](../models/responseretrysettingconfoutputwebhook.md)] | :heavy_minus_sign: | Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable) | @@ -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. | @@ -53,7 +53,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsGoogleChronicle]](../models/outputresponsepqcontrolsgooglechronicle.md) | :heavy_minus_sign: | N/A | | `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_api_version` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputresponseoutputgooglecloudlogging.md b/docs/models/outputresponseoutputgooglecloudlogging.md index 70c034cd7..6afd05e00 100644 --- a/docs/models/outputresponseoutputgooglecloudlogging.md +++ b/docs/models/outputresponseoutputgooglecloudlogging.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `log_location_type` | [models.OutputResponseLogLocationType](../models/outputresponseloglocationtype.md) | :heavy_check_mark: | N/A | | `log_name_expression` | *str* | :heavy_check_mark: | 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. | | `sanitize_log_names` | *Optional[bool]* | :heavy_minus_sign: | N/A | @@ -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. | @@ -73,7 +73,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsGoogleCloudLogging]](../models/outputresponsepqcontrolsgooglecloudlogging.md) | :heavy_minus_sign: | N/A | | `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_log_location_type` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputresponseoutputgooglecloudobservability.md b/docs/models/outputresponseoutputgooglecloudobservability.md new file mode 100644 index 000000000..fae9dd38f --- /dev/null +++ b/docs/models/outputresponseoutputgooglecloudobservability.md @@ -0,0 +1,49 @@ +# OutputResponseOutputGoogleCloudObservability + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this output | +| `type` | [models.OutputResponseTypeGoogleCloudObservability](../models/outputresponsetypegooglecloudobservability.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: | Metadata tags used for categorization and filtering. | +| `protocol` | [Optional[models.OutputResponseProtocolGoogleCloudObservability]](../models/outputresponseprotocolgooglecloudobservability.md) | :heavy_minus_sign: | N/A | +| `otlp_version` | [Optional[models.OutputResponseOtlpVersionGoogleCloudObservability]](../models/outputresponseotlpversiongooglecloudobservability.md) | :heavy_minus_sign: | N/A | +| `endpoint` | [Optional[models.OutputResponseEndpointGoogleCloudObservability]](../models/outputresponseendpointgooglecloudobservability.md) | :heavy_minus_sign: | 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. | +| `google_auth_method` | [models.OutputResponseGoogleAuthenticationMethodGoogleCloudObservability](../models/outputresponsegoogleauthenticationmethodgooglecloudobservability.md) | :heavy_check_mark: | Choose Auto to use Google Application Default Credentials (ADC). Choose Secret to select or create a stored secret that references Google service account credentials. | +| `metadata` | List[[models.KeyValueMetadataConfOutputFilesystem](../models/keyvaluemetadataconfoutputfilesystem.md)] | :heavy_minus_sign: | 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` | *Optional[bool]* | :heavy_minus_sign: | Batch event data upon dynamic metadata (whether presented or not) | +| `dynamic_headers_field` | *Optional[str]* | :heavy_minus_sign: | When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events. | +| `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | +| `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size, in KB, of the request body sent to Google Cloud Observability | +| `timeout_sec` | *Optional[float]* | :heavy_minus_sign: | Amount of time, in seconds, to wait for a request to complete before canceling it | +| `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 Body size limit. | +| `failed_request_logging_mode` | [Optional[models.FailedRequestLoggingModeOptions]](../models/failedrequestloggingmodeoptions.md) | :heavy_minus_sign: | Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below. | +| `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). 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: | 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. | +| `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. | +| `pq_max_buffer_size` | *Optional[float]* | :heavy_minus_sign: | 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` | *Optional[float]* | :heavy_minus_sign: | How long (in seconds) to wait for backpressure to resolve before engaging the queue | +| `pq_max_file_size` | *Optional[str]* | :heavy_minus_sign: | The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.) | +| `pq_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. | +| `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | +| `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | +| `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | +| `pq_controls` | [Optional[models.OutputResponsePqControlsGoogleCloudObservability]](../models/outputresponsepqcontrolsgooglecloudobservability.md) | :heavy_minus_sign: | N/A | +| `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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` | *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. | +| `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/outputresponseoutputgooglecloudstorage.md b/docs/models/outputresponseoutputgooglecloudstorage.md index 5be304f15..dd4748ba9 100644 --- a/docs/models/outputresponseoutputgooglecloudstorage.md +++ b/docs/models/outputresponseoutputgooglecloudstorage.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `bucket` | *str* | :heavy_check_mark: | 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* | :heavy_check_mark: | Region where the bucket is located | | `endpoint` | *str* | :heavy_check_mark: | Google Cloud Storage service endpoint | @@ -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 b5a97c255..2c18b936b 100644 --- a/docs/models/outputresponseoutputgooglepubsub.md +++ b/docs/models/outputresponseoutputgooglepubsub.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `topic_name` | *str* | :heavy_check_mark: | ID of the topic to send events to. | | `create_topic` | *Optional[bool]* | :heavy_minus_sign: | If enabled, create topic if it does not exist. | | `ordered_delivery` | *Optional[bool]* | :heavy_minus_sign: | 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. | @@ -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. | @@ -36,7 +36,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsGooglePubsub]](../models/outputresponsepqcontrolsgooglepubsub.md) | :heavy_minus_sign: | N/A | | `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_topic_name` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputresponseoutputgrafanacloudgrafanacloud1.md b/docs/models/outputresponseoutputgrafanacloudgrafanacloud1.md index 56f4da7eb..ca87fed25 100644 --- a/docs/models/outputresponseoutputgrafanacloudgrafanacloud1.md +++ b/docs/models/outputresponseoutputgrafanacloudgrafanacloud1.md @@ -10,12 +10,12 @@ | `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. These fields are added as dimensions and labels to generated metrics and logs, respectively. | | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `loki_url` | *str* | :heavy_check_mark: | The endpoint to send logs to, such as https://logs-prod-us-central1.grafana.net | | `prometheus_url` | *Optional[str]* | :heavy_minus_sign: | 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]* | :heavy_minus_sign: | 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` | [Optional[models.MessageFormatOptions]](../models/messageformatoptions.md) | :heavy_minus_sign: | Format to use when sending logs to Loki (Protobuf or JSON) | -| `labels` | List[[models.RequestParamConfInputOpenai](../models/requestparamconfinputopenai.md)] | :heavy_minus_sign: | 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"}' | +| `labels` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauthSecret](../models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.md)] | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | [Optional[models.PrometheusAuthType]](../models/prometheusauthtype.md) | :heavy_minus_sign: | N/A | | `loki_auth` | [Optional[models.PrometheusAuthType]](../models/prometheusauthtype.md) | :heavy_minus_sign: | N/A | @@ -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. | @@ -45,7 +45,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponseOutputGrafanaCloudPqControls1]](../models/outputresponseoutputgrafanacloudpqcontrols1.md) | :heavy_minus_sign: | N/A | | `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_loki_url` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputresponseoutputgrafanacloudgrafanacloud2.md b/docs/models/outputresponseoutputgrafanacloudgrafanacloud2.md index 5eb88d2fb..dc9b4c8e3 100644 --- a/docs/models/outputresponseoutputgrafanacloudgrafanacloud2.md +++ b/docs/models/outputresponseoutputgrafanacloudgrafanacloud2.md @@ -10,12 +10,12 @@ | `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. These fields are added as dimensions and labels to generated metrics and logs, respectively. | | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `loki_url` | *Optional[str]* | :heavy_minus_sign: | The endpoint to send logs to, such as https://logs-prod-us-central1.grafana.net | | `prometheus_url` | *str* | :heavy_check_mark: | 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]* | :heavy_minus_sign: | 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` | [Optional[models.MessageFormatOptions]](../models/messageformatoptions.md) | :heavy_minus_sign: | Format to use when sending logs to Loki (Protobuf or JSON) | -| `labels` | List[[models.RequestParamConfInputOpenai](../models/requestparamconfinputopenai.md)] | :heavy_minus_sign: | 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"}' | +| `labels` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauthSecret](../models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.md)] | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | [Optional[models.PrometheusAuthType]](../models/prometheusauthtype.md) | :heavy_minus_sign: | N/A | | `loki_auth` | [Optional[models.PrometheusAuthType]](../models/prometheusauthtype.md) | :heavy_minus_sign: | N/A | @@ -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. | @@ -45,7 +45,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponseOutputGrafanaCloudPqControls2]](../models/outputresponseoutputgrafanacloudpqcontrols2.md) | :heavy_minus_sign: | N/A | | `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_loki_url` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputresponseoutputgraphite.md b/docs/models/outputresponseoutputgraphite.md index da616d16a..26f7f7ed4 100644 --- a/docs/models/outputresponseoutputgraphite.md +++ b/docs/models/outputresponseoutputgraphite.md @@ -10,14 +10,14 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `protocol` | [models.DestinationProtocolOptions](../models/destinationprotocoloptions.md) | :heavy_check_mark: | Protocol to use when communicating with the destination. | | `host` | *str* | :heavy_check_mark: | The hostname of the destination. | | `port` | *float* | :heavy_check_mark: | Destination port. | | `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 | @@ -32,7 +32,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsGraphite]](../models/outputresponsepqcontrolsgraphite.md) | :heavy_minus_sign: | N/A | | `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. | diff --git a/docs/models/outputresponseoutputhoneycomb.md b/docs/models/outputresponseoutputhoneycomb.md index f05145228..4f6e09b60 100644 --- a/docs/models/outputresponseoutputhoneycomb.md +++ b/docs/models/outputresponseoutputhoneycomb.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `dataset` | *str* | :heavy_check_mark: | Name of the dataset to send events to – e.g., observability | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | | `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size, in KB, of the request body | @@ -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. | @@ -39,7 +39,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsHoneycomb]](../models/outputresponsepqcontrolshoneycomb.md) | :heavy_minus_sign: | N/A | | `team` | *Optional[str]* | :heavy_minus_sign: | Team API key where the dataset belongs | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/outputresponseoutputhumiohec.md b/docs/models/outputresponseoutputhumiohec.md index bd689410d..00dc0e817 100644 --- a/docs/models/outputresponseoutputhumiohec.md +++ b/docs/models/outputresponseoutputhumiohec.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `url` | *str* | :heavy_check_mark: | 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 | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | | `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size, in KB, of the request body | @@ -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. | @@ -42,7 +42,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsHumioHec]](../models/outputresponsepqcontrolshumiohec.md) | :heavy_minus_sign: | N/A | | `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_url` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputresponseoutputibmclouds3.md b/docs/models/outputresponseoutputibmclouds3.md new file mode 100644 index 000000000..5bfe91a63 --- /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: | Metadata tags used for categorization and filtering. | +| `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 de907bb35..8eea301e1 100644 --- a/docs/models/outputresponseoutputinfluxdb.md +++ b/docs/models/outputresponseoutputinfluxdb.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `url` | *str* | :heavy_check_mark: | URL of an InfluxDB cluster to send events to, e.g., http://localhost:8086/write | | `use_v2_api` | *Optional[bool]* | :heavy_minus_sign: | The v2 API can be enabled with InfluxDB versions 1.8 and later. | | `timestamp_precision` | [Optional[models.OutputResponseTimestampPrecision]](../models/outputresponsetimestampprecision.md) | :heavy_minus_sign: | Sets the precision for the supplied Unix time values. Defaults to milliseconds. | @@ -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. | @@ -46,7 +46,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsInfluxdb]](../models/outputresponsepqcontrolsinfluxdb.md) | :heavy_minus_sign: | N/A | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | diff --git a/docs/models/outputresponseoutputkafka.md b/docs/models/outputresponseoutputkafka.md index 88dd788be..e0f563695 100644 --- a/docs/models/outputresponseoutputkafka.md +++ b/docs/models/outputresponseoutputkafka.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `brokers` | List[*str*] | :heavy_check_mark: | 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* | :heavy_check_mark: | The topic to publish events to. Can be overridden using the __topicOut field. | | `ack` | [Optional[models.AcknowledgmentsOptionsAllLeader]](../models/acknowledgmentsoptionsallleader.md) | :heavy_minus_sign: | Control the number of required acknowledgments. | @@ -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. | @@ -44,7 +44,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsKafka]](../models/outputresponsepqcontrolskafka.md) | :heavy_minus_sign: | N/A | | `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_topic` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputresponseoutputkinesis.md b/docs/models/outputresponseoutputkinesis.md index 9cb077905..4cd8b99d7 100644 --- a/docs/models/outputresponseoutputkinesis.md +++ b/docs/models/outputresponseoutputkinesis.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `stream_name` | *str* | :heavy_check_mark: | Kinesis stream name to send events to. | | `aws_authentication_method` | [Optional[models.AuthenticationMethodOptionsS3CollectorConf]](../models/authenticationmethodoptionss3collectorconf.md) | :heavy_minus_sign: | AWS authentication method. Choose Auto to use IAM roles. | | `aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | N/A | @@ -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 | @@ -43,7 +43,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsKinesis]](../models/outputresponsepqcontrolskinesis.md) | :heavy_minus_sign: | N/A | | `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_stream_name` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputresponseoutputlocalsearchstorage.md b/docs/models/outputresponseoutputlocalsearchstorage.md index 6853eb121..0c7f85b89 100644 --- a/docs/models/outputresponseoutputlocalsearchstorage.md +++ b/docs/models/outputresponseoutputlocalsearchstorage.md @@ -10,13 +10,13 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `url` | *str* | :heavy_check_mark: | URL of the database instance. Example: http://localhost:8123/ | | `auth_type` | [Optional[models.AuthenticationTypeOptions]](../models/authenticationtypeoptions.md) | :heavy_minus_sign: | N/A | | `database` | *str* | :heavy_check_mark: | N/A | | `table_name` | *str* | :heavy_check_mark: | 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 "_". | | `format_` | [Optional[models.OutputResponseFormatLocalSearchStorage]](../models/outputresponseformatlocalsearchstorage.md) | :heavy_minus_sign: | Data format to use when sending data. Defaults to JSON Compact. | -| `mapping_type` | [Optional[models.OutputResponseMappingTypeLocalSearchStorage]](../models/outputresponsemappingtypelocalsearchstorage.md) | :heavy_minus_sign: | How event fields are mapped to columns. | +| `mapping_type` | [Optional[models.OutputResponseMappingType]](../models/outputresponsemappingtype.md) | :heavy_minus_sign: | How event fields are mapped to columns. | | `async_inserts` | *Optional[bool]* | :heavy_minus_sign: | Collect data into batches for later processing. Disable to write to a table immediately. | | `tls` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPathExtended]](../models/tlssettingsclientsidetypecapathcertpathextended.md) | :heavy_minus_sign: | N/A | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | @@ -33,10 +33,11 @@ | `response_retry_settings` | List[[models.ResponseRetrySettingConfOutputWebhook](../models/responseretrysettingconfoutputwebhook.md)] | :heavy_minus_sign: | Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable) | | `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. | +| `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 | | `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 | @@ -44,7 +45,7 @@ | `wait_for_async_inserts` | *Optional[bool]* | :heavy_minus_sign: | 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` | List[*str*] | :heavy_minus_sign: | Fields to exclude from sending | | `describe_table` | *Optional[str]* | :heavy_minus_sign: | Retrieves the table schema and populates the Column Mapping table | -| `column_mappings` | List[[models.OutputResponseColumnMappingLocalSearchStorage](../models/outputresponsecolumnmappinglocalsearchstorage.md)] | :heavy_minus_sign: | N/A | +| `column_mappings` | List[[models.OutputResponseColumnMapping](../models/outputresponsecolumnmapping.md)] | :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. | | `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. | @@ -55,7 +56,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsLocalSearchStorage]](../models/outputresponsepqcontrolslocalsearchstorage.md) | :heavy_minus_sign: | N/A | | `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_url` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputresponseoutputloki.md b/docs/models/outputresponseoutputloki.md index cf94421d1..ec97272f0 100644 --- a/docs/models/outputresponseoutputloki.md +++ b/docs/models/outputresponseoutputloki.md @@ -10,11 +10,11 @@ | `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. These fields are added as labels to generated logs. | | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `url` | *str* | :heavy_check_mark: | The endpoint to send logs to | | `message` | *Optional[str]* | :heavy_minus_sign: | 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` | [Optional[models.MessageFormatOptions]](../models/messageformatoptions.md) | :heavy_minus_sign: | Format to use when sending logs to Loki (Protobuf or JSON) | -| `labels` | List[[models.RequestParamConfInputOpenai](../models/requestparamconfinputopenai.md)] | :heavy_minus_sign: | 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"}' | +| `labels` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauthSecret](../models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.md)] | :heavy_minus_sign: | 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` | [Optional[models.AuthenticationTypeOptionsPrometheusAuthBasicCredentialsSecret]](../models/authenticationtypeoptionsprometheusauthbasiccredentialssecret.md) | :heavy_minus_sign: | N/A | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | 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` | *Optional[float]* | :heavy_minus_sign: | 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. | @@ -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 | @@ -49,7 +49,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsLoki]](../models/outputresponsepqcontrolsloki.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputresponseoutputmicrosoftfabric.md b/docs/models/outputresponseoutputmicrosoftfabric.md index b5dbd9fb6..4f26d8d78 100644 --- a/docs/models/outputresponseoutputmicrosoftfabric.md +++ b/docs/models/outputresponseoutputmicrosoftfabric.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `topic` | *str* | :heavy_check_mark: | Topic name from Fabric Eventstream's endpoint | | `ack` | [Optional[models.AcknowledgmentsOptions]](../models/acknowledgmentsoptions.md) | :heavy_minus_sign: | Control the number of required acknowledgments | | `format_` | [Optional[models.RecordDataFormatOptions]](../models/recorddataformatoptions.md) | :heavy_minus_sign: | Format to use to serialize events before writing to the Event Hubs Kafka brokers | @@ -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. | @@ -40,7 +40,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsMicrosoftFabric]](../models/outputresponsepqcontrolsmicrosoftfabric.md) | :heavy_minus_sign: | N/A | | `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_topic` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputresponseoutputminio.md b/docs/models/outputresponseoutputminio.md index d4df7071d..fc8c84edb 100644 --- a/docs/models/outputresponseoutputminio.md +++ b/docs/models/outputresponseoutputminio.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `aws_authentication_method` | [Optional[models.AuthenticationMethodOptionsS3CollectorConf]](../models/authenticationmethodoptionss3collectorconf.md) | :heavy_minus_sign: | AWS authentication method. Choose Auto to use IAM roles. | | `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 | @@ -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 07f162364..f8eefb7e4 100644 --- a/docs/models/outputresponseoutputmsk.md +++ b/docs/models/outputresponseoutputmsk.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `brokers` | List[*str*] | :heavy_check_mark: | 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* | :heavy_check_mark: | The topic to publish events to. Can be overridden using the __topicOut field. | | `ack` | [Optional[models.AcknowledgmentsOptionsAllLeader]](../models/acknowledgmentsoptionsallleader.md) | :heavy_minus_sign: | Control the number of required acknowledgments. | @@ -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 | @@ -55,7 +55,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsMsk]](../models/outputresponsepqcontrolsmsk.md) | :heavy_minus_sign: | N/A | | `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_topic` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputresponseoutputnetflow.md b/docs/models/outputresponseoutputnetflow.md index 92627c6c0..03e345d13 100644 --- a/docs/models/outputresponseoutputnetflow.md +++ b/docs/models/outputresponseoutputnetflow.md @@ -10,11 +10,11 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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 7bfd1de1f..7158fd582 100644 --- a/docs/models/outputresponseoutputnewrelic.md +++ b/docs/models/outputresponseoutputnewrelic.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `region` | [Optional[models.RegionOptions]](../models/regionoptions.md) | :heavy_minus_sign: | Which New Relic region endpoint to use. | | `log_type` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | Name of field to send as log message value. If not present, event will be serialized and sent as JSON. | @@ -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. | @@ -44,7 +44,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsNewrelic]](../models/outputresponsepqcontrolsnewrelic.md) | :heavy_minus_sign: | N/A | | `api_key` | *Optional[str]* | :heavy_minus_sign: | New Relic API key. Can be overridden using __newRelic_apiKey field. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/outputresponseoutputnewrelicevents.md b/docs/models/outputresponseoutputnewrelicevents.md index 28544b778..eefecfefd 100644 --- a/docs/models/outputresponseoutputnewrelicevents.md +++ b/docs/models/outputresponseoutputnewrelicevents.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `region` | [Optional[models.RegionOptions]](../models/regionoptions.md) | :heavy_minus_sign: | Which New Relic region endpoint to use. | | `account_id` | *str* | :heavy_check_mark: | New Relic account ID | | `event_type` | *str* | :heavy_check_mark: | 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). | @@ -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. | @@ -42,7 +42,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsNewrelicEvents]](../models/outputresponsepqcontrolsnewrelicevents.md) | :heavy_minus_sign: | N/A | | `api_key` | *Optional[str]* | :heavy_minus_sign: | New Relic API key. Can be overridden using __newRelic_apiKey field. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/outputresponseoutputnutanixobjects.md b/docs/models/outputresponseoutputnutanixobjects.md index 0c3533111..77865f7a2 100644 --- a/docs/models/outputresponseoutputnutanixobjects.md +++ b/docs/models/outputresponseoutputnutanixobjects.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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 | @@ -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 db25e5a50..630b3fbb4 100644 --- a/docs/models/outputresponseoutputopentelemetry.md +++ b/docs/models/outputresponseoutputopentelemetry.md @@ -10,10 +10,10 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `protocol` | [Optional[models.ProtocolOptions]](../models/protocoloptions.md) | :heavy_minus_sign: | Select a transport option for OpenTelemetry | | `endpoint` | *str* | :heavy_check_mark: | 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. | -| `otlp_version` | [Optional[models.OutputResponseOTLPVersion]](../models/outputresponseotlpversion.md) | :heavy_minus_sign: | The version of OTLP Protobuf definitions to use when structuring data to send | +| `otlp_version` | [Optional[models.OutputResponseOTLPVersionOpenTelemetry]](../models/outputresponseotlpversionopentelemetry.md) | :heavy_minus_sign: | The version of OTLP Protobuf definitions to use when structuring data to send | | `compress` | [Optional[models.CompressionOptionsDeflateGzip]](../models/compressionoptionsdeflategzip.md) | :heavy_minus_sign: | Type of compression to apply to messages sent to the OpenTelemetry endpoint | | `http_compress` | [Optional[models.CompressionOptionsMessages]](../models/compressionoptionsmessages.md) | :heavy_minus_sign: | Type of compression to apply to messages sent to the OpenTelemetry endpoint | | `auth_type` | [Optional[models.OutputResponseAuthenticationTypeOpenTelemetry]](../models/outputresponseauthenticationtypeopentelemetry.md) | :heavy_minus_sign: | N/A | @@ -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 | @@ -64,7 +64,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsOpenTelemetry]](../models/outputresponsepqcontrolsopentelemetry.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputresponseoutputprometheus.md b/docs/models/outputresponseoutputprometheus.md index cdaf2eed6..c88a1a778 100644 --- a/docs/models/outputresponseoutputprometheus.md +++ b/docs/models/outputresponseoutputprometheus.md @@ -10,7 +10,7 @@ | `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. These fields are added as dimensions to generated metrics. | | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `url` | *str* | :heavy_check_mark: | The endpoint to send metrics to | | `metric_rename_expr` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[bool]* | :heavy_minus_sign: | Generate and send metadata (`type` and `metricFamilyName`) requests | @@ -29,8 +29,8 @@ | `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 | -| `auth_type` | [Optional[models.AuthenticationTypeOptionsPrometheusAuth]](../models/authenticationtypeoptionsprometheusauth.md) | :heavy_minus_sign: | Remote Write authentication type | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `auth_type` | [Optional[models.OutputResponseAuthenticationTypePrometheus]](../models/outputresponseauthenticationtypeprometheus.md) | :heavy_minus_sign: | Remote Write authentication type | +| `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. | @@ -42,16 +42,28 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsPrometheus]](../models/outputresponsepqcontrolsprometheus.md) | :heavy_minus_sign: | N/A | | `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 | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a secret that references your credentials | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | +| `aws_authentication_method` | [Optional[models.AuthenticationMethodOptionsAutoSecret]](../models/authenticationmethodoptionsautosecret.md) | :heavy_minus_sign: | AWS authentication method. Choose Auto to use IAM roles. | +| `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | +| `region` | *Optional[str]* | :heavy_minus_sign: | AWS region used to sign Remote Write requests | +| `aws_service` | *Optional[str]* | :heavy_minus_sign: | ID used to sign Remote Write requests (for example, `aps` for Amazon Managed Service for Prometheus) | +| `enable_assume_role` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials to access Prometheus | +| `assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Amazon Resource Name (ARN) of the role to assume | +| `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). | | `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_url` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *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_region` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | 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/outputresponseoutputring.md b/docs/models/outputresponseoutputring.md index 09f15d584..a26af7b39 100644 --- a/docs/models/outputresponseoutputring.md +++ b/docs/models/outputresponseoutputring.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `format_` | [Optional[models.OutputResponseDataFormatRing]](../models/outputresponsedataformatring.md) | :heavy_minus_sign: | Format of the output data. | | `partition_expr` | *Optional[str]* | :heavy_minus_sign: | JS expression to define how files are partitioned and organized. If left blank, Cribl Stream will fallback on event.__partition. | | `max_data_size` | *Optional[str]* | :heavy_minus_sign: | Maximum disk space allowed to be consumed (examples: 420MB, 4GB). When limit is reached, older data will be deleted. | @@ -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..6c296e8f1 100644 --- a/docs/models/outputresponseoutputrouter.md +++ b/docs/models/outputresponseoutputrouter.md @@ -10,9 +10,9 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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..2cc21c569 100644 --- a/docs/models/outputresponseoutputs3.md +++ b/docs/models/outputresponseoutputs3.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `endpoint` | *Optional[str]* | :heavy_minus_sign: | S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint. | | `enable_assume_role` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials to access S3 | | `assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Amazon Resource Name (ARN) of the role to assume | @@ -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..85d389d24 100644 --- a/docs/models/outputresponseoutputscalitys3.md +++ b/docs/models/outputresponseoutputscalitys3.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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 | @@ -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..8d8c98d83 100644 --- a/docs/models/outputresponseoutputsecuritylake.md +++ b/docs/models/outputresponseoutputsecuritylake.md @@ -10,7 +10,7 @@ | `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. These fields are added as dimensions and labels to generated metrics and logs, respectively. | | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `endpoint` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials to access S3 | | `assume_role_arn` | *str* | :heavy_check_mark: | Amazon Resource Name (ARN) of the role to assume | @@ -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 03581a783..b326d4597 100644 --- a/docs/models/outputresponseoutputsentinel.md +++ b/docs/models/outputresponseoutputsentinel.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `keep_alive` | *Optional[bool]* | :heavy_minus_sign: | Disable to close the connection immediately after sending the outgoing request | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | | `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size (KB) of the request body (defaults to the API's maximum limit of 1000 KB) | @@ -30,11 +30,15 @@ | `auth_type` | [Optional[models.OutputResponseAuthType]](../models/outputresponseauthtype.md) | :heavy_minus_sign: | N/A | | `login_url` | *str* | :heavy_check_mark: | URL for OAuth | | `secret` | *str* | :heavy_check_mark: | Secret parameter value to pass in request body | +| `refresh_token_field` | *Optional[str]* | :heavy_minus_sign: | Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, @{product} will use the refresh token to obtain new access tokens without re-sending credentials. | +| `rotate_refresh_token` | *Optional[bool]* | :heavy_minus_sign: | @{product} will update the stored value on each successful refresh. Enable if the server issues a new refresh token on every use. | +| `refresh_url` | *Optional[str]* | :heavy_minus_sign: | Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL. | +| `refresh_request_params` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauthSecret](../models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.md)] | :heavy_minus_sign: | Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, @{product} sends only grant_type, refresh_token, and client_secret. | | `client_id` | *str* | :heavy_check_mark: | JavaScript expression to compute the Client ID for the Azure application. Can be a constant. | | `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 | @@ -54,7 +58,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsSentinel]](../models/outputresponsepqcontrolssentinel.md) | :heavy_minus_sign: | N/A | | `url` | *Optional[str]* | :heavy_minus_sign: | URL to send events to. Can be overwritten by an event's __url field. | | `dcr_id` | *Optional[str]* | :heavy_minus_sign: | Immutable ID for the Data Collection Rule (DCR) | @@ -65,6 +69,7 @@ | `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_login_url` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_refresh_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime. | | `template_client_id` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputresponseoutputsentineloneaisiem.md b/docs/models/outputresponseoutputsentineloneaisiem.md index fe8aedf29..cec5c1913 100644 --- a/docs/models/outputresponseoutputsentineloneaisiem.md +++ b/docs/models/outputresponseoutputsentineloneaisiem.md @@ -10,9 +10,7 @@ | `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} | -| `region` | [models.OutputResponseRegion](../models/outputresponseregion.md) | :heavy_check_mark: | 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` | [models.OutputResponseAISIEMEndpointPath](../models/outputresponseaisiemendpointpath.md) | :heavy_check_mark: | 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). | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | | `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size, in KB, of the request body | | `max_payload_events` | *Optional[float]* | :heavy_minus_sign: | Maximum number of events to include in the request body. Default is 0 (unlimited). | @@ -27,8 +25,10 @@ | `response_retry_settings` | List[[models.ResponseRetrySettingConfOutputWebhook](../models/responseretrysettingconfoutputwebhook.md)] | :heavy_minus_sign: | Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable) | | `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. | +| `region` | [models.OutputResponseRegion](../models/outputresponseregion.md) | :heavy_check_mark: | 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` | [models.OutputResponseAISIEMEndpointPath](../models/outputresponseaisiemendpointpath.md) | :heavy_check_mark: | 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). | | `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]+)?$. | @@ -56,7 +56,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsSentinelOneAiSiem]](../models/outputresponsepqcontrolssentineloneaisiem.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputresponseoutputservicenow.md b/docs/models/outputresponseoutputservicenow.md index 048caa378..b6406f8d0 100644 --- a/docs/models/outputresponseoutputservicenow.md +++ b/docs/models/outputresponseoutputservicenow.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `endpoint` | *str* | :heavy_check_mark: | 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* | :heavy_check_mark: | Select or create a stored text secret | | `auth_token_name` | *Optional[str]* | :heavy_minus_sign: | N/A | @@ -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 | @@ -52,7 +52,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsServiceNow]](../models/outputresponsepqcontrolsservicenow.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputresponseoutputsignalfx.md b/docs/models/outputresponseoutputsignalfx.md index 06a2885de..ed97d0e27 100644 --- a/docs/models/outputresponseoutputsignalfx.md +++ b/docs/models/outputresponseoutputsignalfx.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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 | | `realm` | *str* | :heavy_check_mark: | 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). | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | @@ -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. | @@ -41,7 +41,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsSignalfx]](../models/outputresponsepqcontrolssignalfx.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputresponseoutputsnmp.md b/docs/models/outputresponseoutputsnmp.md index 1d322cef9..059cacb46 100644 --- a/docs/models/outputresponseoutputsnmp.md +++ b/docs/models/outputresponseoutputsnmp.md @@ -3,17 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this output | -| `type` | [models.OutputResponseTypeSnmp](../models/outputresponsetypesnmp.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} | -| `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. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `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 +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this output | +| `type` | [models.OutputResponseTypeSnmp](../models/outputresponsetypesnmp.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: | Metadata tags used for categorization and filtering. | +| `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: | 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. | +| `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/outputresponseoutputsns.md b/docs/models/outputresponseoutputsns.md index 82625ca81..ae5e04d8a 100644 --- a/docs/models/outputresponseoutputsns.md +++ b/docs/models/outputresponseoutputsns.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `topic_arn` | *str* | :heavy_check_mark: | 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* | :heavy_check_mark: | 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}`. | | `max_retries` | *Optional[float]* | :heavy_minus_sign: | Maximum number of retries before the output returns an error. Note that not all errors are retryable. The retries use an exponential backoff policy. | @@ -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. | @@ -38,7 +38,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsSns]](../models/outputresponsepqcontrolssns.md) | :heavy_minus_sign: | N/A | | `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_topic_arn` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputresponseoutputsplunk.md b/docs/models/outputresponseoutputsplunk.md index 54b1b8174..591a6b5ee 100644 --- a/docs/models/outputresponseoutputsplunk.md +++ b/docs/models/outputresponseoutputsplunk.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `host` | *str* | :heavy_check_mark: | The hostname of the receiver | | `port` | *float* | :heavy_check_mark: | The port to connect to on the provided host | | `nested_fields` | [Optional[models.NestedFieldSerializationOptions]](../models/nestedfieldserializationoptions.md) | :heavy_minus_sign: | How to serialize nested fields into index-time fields | @@ -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. | @@ -37,7 +37,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsSplunk]](../models/outputresponsepqcontrolssplunk.md) | :heavy_minus_sign: | N/A | | `auth_token` | *Optional[str]* | :heavy_minus_sign: | Shared secret token to use when establishing a connection to a Splunk indexer. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/outputresponseoutputsplunkhec.md b/docs/models/outputresponseoutputsplunkhec.md index 7b7584771..c82d786e6 100644 --- a/docs/models/outputresponseoutputsplunkhec.md +++ b/docs/models/outputresponseoutputsplunkhec.md @@ -10,10 +10,8 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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. | -| `next_queue` | *Optional[str]* | :heavy_minus_sign: | In the Splunk app, define which Splunk processing queue to send the events after HEC processing. | -| `tcp_routing` | *Optional[str]* | :heavy_minus_sign: | In the Splunk app, set the value of _TCP_ROUTING for events that do not have _ctrl._TCP_ROUTING set. | | `tls` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPathExtended]](../models/tlssettingsclientsidetypecapathcertpathextended.md) | :heavy_minus_sign: | N/A | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | | `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size, in KB, of the request body | @@ -30,8 +28,10 @@ | `response_retry_settings` | List[[models.ResponseRetrySettingConfOutputWebhook](../models/responseretrysettingconfoutputwebhook.md)] | :heavy_minus_sign: | Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable) | | `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. | +| `next_queue` | *Optional[str]* | :heavy_minus_sign: | In the Splunk app, define which Splunk processing queue to send the events after HEC processing. | +| `tcp_routing` | *Optional[str]* | :heavy_minus_sign: | In the Splunk app, set the value of _TCP_ROUTING for events that do not have _ctrl._TCP_ROUTING set. | | `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 | @@ -50,7 +50,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsSplunkHec]](../models/outputresponsepqcontrolssplunkhec.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputresponseoutputsplunklb.md b/docs/models/outputresponseoutputsplunklb.md index 0a923ddba..fc02c81a7 100644 --- a/docs/models/outputresponseoutputsplunklb.md +++ b/docs/models/outputresponseoutputsplunklb.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `dns_resolve_period_sec` | *Optional[float]* | :heavy_minus_sign: | The interval in which to re-resolve any hostnames and pick up destinations from A records | | `load_balance_stats_period_sec` | *Optional[float]* | :heavy_minus_sign: | How far back in time to keep traffic stats for load balancing purposes | | `max_concurrent_senders` | *Optional[float]* | :heavy_minus_sign: | 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. | @@ -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. | @@ -43,7 +43,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsSplunkLb]](../models/outputresponsepqcontrolssplunklb.md) | :heavy_minus_sign: | N/A | | `auth_token` | *Optional[str]* | :heavy_minus_sign: | Shared secret token to use when establishing a connection to a Splunk indexer. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/outputresponseoutputsqs.md b/docs/models/outputresponseoutputsqs.md index 3aa627e9f..78de22d6c 100644 --- a/docs/models/outputresponseoutputsqs.md +++ b/docs/models/outputresponseoutputsqs.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `queue_name` | *str* | :heavy_check_mark: | 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` | [models.OutputResponseQueueType](../models/outputresponsequeuetype.md) | :heavy_check_mark: | The queue type used (or created). Defaults to Standard. | | `aws_account_id` | *Optional[str]* | :heavy_minus_sign: | SQS queue owner's AWS account ID. Leave empty if SQS queue is in same AWS account. | @@ -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. | @@ -44,7 +44,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsSqs]](../models/outputresponsepqcontrolssqs.md) | :heavy_minus_sign: | N/A | | `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_queue_name` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputresponseoutputstatsd.md b/docs/models/outputresponseoutputstatsd.md index babbd4cd3..40a7fb436 100644 --- a/docs/models/outputresponseoutputstatsd.md +++ b/docs/models/outputresponseoutputstatsd.md @@ -10,14 +10,14 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `protocol` | [models.DestinationProtocolOptions](../models/destinationprotocoloptions.md) | :heavy_check_mark: | Protocol to use when communicating with the destination. | | `host` | *str* | :heavy_check_mark: | The hostname of the destination. | | `port` | *float* | :heavy_check_mark: | Destination port. | | `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 | @@ -32,7 +32,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsStatsd]](../models/outputresponsepqcontrolsstatsd.md) | :heavy_minus_sign: | N/A | | `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. | diff --git a/docs/models/outputresponseoutputstatsdext.md b/docs/models/outputresponseoutputstatsdext.md index 94ddb821f..c81ef4695 100644 --- a/docs/models/outputresponseoutputstatsdext.md +++ b/docs/models/outputresponseoutputstatsdext.md @@ -10,14 +10,14 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `protocol` | [models.DestinationProtocolOptions](../models/destinationprotocoloptions.md) | :heavy_check_mark: | Protocol to use when communicating with the destination. | | `host` | *str* | :heavy_check_mark: | The hostname of the destination. | | `port` | *float* | :heavy_check_mark: | Destination port. | | `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 | @@ -32,7 +32,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsStatsdExt]](../models/outputresponsepqcontrolsstatsdext.md) | :heavy_minus_sign: | N/A | | `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. | diff --git a/docs/models/outputresponseoutputstorjs3.md b/docs/models/outputresponseoutputstorjs3.md index 98f46632e..14e03f2ab 100644 --- a/docs/models/outputresponseoutputstorjs3.md +++ b/docs/models/outputresponseoutputstorjs3.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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 | @@ -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 aeb149234..b0553f421 100644 --- a/docs/models/outputresponseoutputsumologic.md +++ b/docs/models/outputresponseoutputsumologic.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `url` | *str* | :heavy_check_mark: | Sumo Logic HTTP collector URL to which events should be sent | | `custom_source` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | Override the source category configured on the Sumo Logic HTTP collector. This can also be overridden at the event level with the __sourceCategory field. | @@ -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. | @@ -42,7 +42,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsSumoLogic]](../models/outputresponsepqcontrolssumologic.md) | :heavy_minus_sign: | N/A | | `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_url` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputresponseoutputsyslog.md b/docs/models/outputresponseoutputsyslog.md index a2fcb552c..0407772f1 100644 --- a/docs/models/outputresponseoutputsyslog.md +++ b/docs/models/outputresponseoutputsyslog.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `protocol` | [Optional[models.OutputResponseProtocolSyslog]](../models/outputresponseprotocolsyslog.md) | :heavy_minus_sign: | The network protocol to use for sending out syslog messages | | `facility` | [Optional[models.OutputResponseFacility]](../models/outputresponsefacility.md) | :heavy_minus_sign: | Default value for message facility. Will be overwritten by value of __facility if set. Defaults to user. | | `severity` | [Optional[models.OutputResponseSeveritySyslog]](../models/outputresponseseveritysyslog.md) | :heavy_minus_sign: | Default value for message severity. Will be overwritten by value of __severity if set. Defaults to notice. | @@ -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 | @@ -46,7 +46,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsSyslog]](../models/outputresponsepqcontrolssyslog.md) | :heavy_minus_sign: | N/A | | `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/outputresponseoutputtcpjson.md b/docs/models/outputresponseoutputtcpjson.md index c4436801d..af2d746c0 100644 --- a/docs/models/outputresponseoutputtcpjson.md +++ b/docs/models/outputresponseoutputtcpjson.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `load_balanced` | *Optional[bool]* | :heavy_minus_sign: | Use load-balanced destinations | | `compression` | [Optional[models.CompressionOptionsGzipNone]](../models/compressionoptionsgzipnone.md) | :heavy_minus_sign: | Codec to use to compress the data before sending | | `log_failed_requests` | *Optional[bool]* | :heavy_minus_sign: | Use to troubleshoot issues with sending data | @@ -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 | @@ -40,7 +40,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsTcpjson]](../models/outputresponsepqcontrolstcpjson.md) | :heavy_minus_sign: | N/A | | `auth_token` | *Optional[str]* | :heavy_minus_sign: | Optional authentication token to include as part of the connection header | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/outputresponseoutputwavefront.md b/docs/models/outputresponseoutputwavefront.md index 211715a96..07a723e89 100644 --- a/docs/models/outputresponseoutputwavefront.md +++ b/docs/models/outputresponseoutputwavefront.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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 | | `domain` | *str* | :heavy_check_mark: | WaveFront domain name, e.g. "longboard" | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | @@ -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. | @@ -41,7 +41,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsWavefront]](../models/outputresponsepqcontrolswavefront.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputresponseoutputwebhookwebhook1.md b/docs/models/outputresponseoutputwebhookwebhook1.md index fe2ea4720..3b7d4e4f8 100644 --- a/docs/models/outputresponseoutputwebhookwebhook1.md +++ b/docs/models/outputresponseoutputwebhookwebhook1.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `method` | [Optional[models.MethodOptions]](../models/methodoptions.md) | :heavy_minus_sign: | The method to use when sending events | | `format_` | [Optional[models.OutputResponseOutputWebhookFormat1]](../models/outputresponseoutputwebhookformat1.md) | :heavy_minus_sign: | How to format events before sending out | | `keep_alive` | *Optional[bool]* | :heavy_minus_sign: | Disable to close the connection immediately after sending the outgoing request | @@ -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. | @@ -52,7 +52,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponseOutputWebhookPqControls1]](../models/outputresponseoutputwebhookpqcontrols1.md) | :heavy_minus_sign: | N/A | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | @@ -67,6 +67,10 @@ | `token_timeout_secs` | *Optional[float]* | :heavy_minus_sign: | How often the OAuth token should be refreshed. | | `oauth_params` | List[[models.OauthParamConfInputServicenowTable](../models/oauthparamconfinputservicenowtable.md)] | :heavy_minus_sign: | 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` | List[[models.OauthHeaderConfInputServicenowTable](../models/oauthheaderconfinputservicenowtable.md)] | :heavy_minus_sign: | 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. | +| `refresh_token_field` | *Optional[str]* | :heavy_minus_sign: | Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, @{product} will use the refresh token to obtain new access tokens without re-sending credentials. | +| `rotate_refresh_token` | *Optional[bool]* | :heavy_minus_sign: | @{product} will update the stored value on each successful refresh. Enable if the server issues a new refresh token on every use. | +| `refresh_url` | *Optional[str]* | :heavy_minus_sign: | Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL. | +| `refresh_request_params` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauthSecret](../models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.md)] | :heavy_minus_sign: | Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, @{product} sends only grant_type, refresh_token, and client_secret. | | `url` | *str* | :heavy_check_mark: | URL of a webhook endpoint 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.OutputResponseOutputWebhookURL1](../models/outputresponseoutputwebhookurl1.md)] | :heavy_minus_sign: | N/A | @@ -77,6 +81,7 @@ | `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_login_url` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_refresh_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime. | | `template_url` | *Optional[str]* | :heavy_minus_sign: | 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` | 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/outputresponseoutputwebhookwebhook2.md b/docs/models/outputresponseoutputwebhookwebhook2.md index 8d0f9b8d0..60ab95beb 100644 --- a/docs/models/outputresponseoutputwebhookwebhook2.md +++ b/docs/models/outputresponseoutputwebhookwebhook2.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `method` | [Optional[models.MethodOptions]](../models/methodoptions.md) | :heavy_minus_sign: | The method to use when sending events | | `format_` | [Optional[models.OutputResponseOutputWebhookFormat2]](../models/outputresponseoutputwebhookformat2.md) | :heavy_minus_sign: | How to format events before sending out | | `keep_alive` | *Optional[bool]* | :heavy_minus_sign: | Disable to close the connection immediately after sending the outgoing request | @@ -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. | @@ -52,7 +52,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponseOutputWebhookPqControls2]](../models/outputresponseoutputwebhookpqcontrols2.md) | :heavy_minus_sign: | N/A | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | @@ -67,6 +67,10 @@ | `token_timeout_secs` | *Optional[float]* | :heavy_minus_sign: | How often the OAuth token should be refreshed. | | `oauth_params` | List[[models.OauthParamConfInputServicenowTable](../models/oauthparamconfinputservicenowtable.md)] | :heavy_minus_sign: | 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` | List[[models.OauthHeaderConfInputServicenowTable](../models/oauthheaderconfinputservicenowtable.md)] | :heavy_minus_sign: | 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. | +| `refresh_token_field` | *Optional[str]* | :heavy_minus_sign: | Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, @{product} will use the refresh token to obtain new access tokens without re-sending credentials. | +| `rotate_refresh_token` | *Optional[bool]* | :heavy_minus_sign: | @{product} will update the stored value on each successful refresh. Enable if the server issues a new refresh token on every use. | +| `refresh_url` | *Optional[str]* | :heavy_minus_sign: | Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL. | +| `refresh_request_params` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauthSecret](../models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.md)] | :heavy_minus_sign: | Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, @{product} sends only grant_type, refresh_token, and client_secret. | | `url` | *Optional[str]* | :heavy_minus_sign: | URL of a webhook endpoint 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.OutputResponseOutputWebhookURL2](../models/outputresponseoutputwebhookurl2.md)] | :heavy_check_mark: | N/A | @@ -77,6 +81,7 @@ | `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_login_url` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_refresh_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime. | | `template_url` | *Optional[str]* | :heavy_minus_sign: | 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` | 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/outputresponseoutputwizhec.md b/docs/models/outputresponseoutputwizhec.md index eb2257c0d..b7a8bcf1c 100644 --- a/docs/models/outputresponseoutputwizhec.md +++ b/docs/models/outputresponseoutputwizhec.md @@ -10,9 +10,7 @@ | `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} | -| `next_queue` | *Optional[str]* | :heavy_minus_sign: | In the Splunk app, define which Splunk processing queue to send the events after HEC processing. | -| `tcp_routing` | *Optional[str]* | :heavy_minus_sign: | In the Splunk app, set the value of _TCP_ROUTING for events that do not have _ctrl._TCP_ROUTING set. | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `tls` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPathExtended]](../models/tlssettingsclientsidetypecapathcertpathextended.md) | :heavy_minus_sign: | N/A | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | | `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size, in KB, of the request body | @@ -28,12 +26,14 @@ | `response_retry_settings` | List[[models.ResponseRetrySettingConfOutputWebhook](../models/responseretrysettingconfoutputwebhook.md)] | :heavy_minus_sign: | Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable) | | `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 | | `wiz_connector_id` | *str* | :heavy_check_mark: | 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* | :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 | +| `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: | Optional description for this configuration. | +| `token` | *Optional[str]* | :heavy_minus_sign: | Wiz Defend Auth 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. | | `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. | @@ -44,15 +44,13 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsWizHec]](../models/outputresponsepqcontrolswizhec.md) | :heavy_minus_sign: | N/A | -| `token` | *Optional[str]* | :heavy_minus_sign: | Wiz Defend Auth token | -| `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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` | *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_wiz_environment` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_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. | | `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/outputresponseoutputxsiam.md b/docs/models/outputresponseoutputxsiam.md index 61315f652..0b4bd6e0e 100644 --- a/docs/models/outputresponseoutputxsiam.md +++ b/docs/models/outputresponseoutputxsiam.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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. | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | | `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size, in KB, of the request body | @@ -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 | @@ -48,7 +48,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputResponsePqControlsXsiam]](../models/outputresponsepqcontrolsxsiam.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputresponsepqcontrolsamazonmanagedprometheus.md b/docs/models/outputresponsepqcontrolsamazonmanagedprometheus.md new file mode 100644 index 000000000..62e9c8d41 --- /dev/null +++ b/docs/models/outputresponsepqcontrolsamazonmanagedprometheus.md @@ -0,0 +1,7 @@ +# OutputResponsePqControlsAmazonManagedPrometheus + + +## Fields + +| Field | Type | Required | Description | +| ----------- | ----------- | ----------- | ----------- | \ No newline at end of file diff --git a/docs/models/outputresponsepqcontrolscustomermetricsstorage.md b/docs/models/outputresponsepqcontrolscustomermetricsstorage.md new file mode 100644 index 000000000..eb6becd10 --- /dev/null +++ b/docs/models/outputresponsepqcontrolscustomermetricsstorage.md @@ -0,0 +1,7 @@ +# OutputResponsePqControlsCustomerMetricsStorage + + +## Fields + +| Field | Type | Required | Description | +| ----------- | ----------- | ----------- | ----------- | \ No newline at end of file diff --git a/docs/models/outputresponsepqcontrolsgooglebigquery.md b/docs/models/outputresponsepqcontrolsgooglebigquery.md new file mode 100644 index 000000000..a69d73b1d --- /dev/null +++ b/docs/models/outputresponsepqcontrolsgooglebigquery.md @@ -0,0 +1,7 @@ +# OutputResponsePqControlsGoogleBigquery + + +## Fields + +| Field | Type | Required | Description | +| ----------- | ----------- | ----------- | ----------- | \ No newline at end of file diff --git a/docs/models/outputresponsepqcontrolsgooglecloudobservability.md b/docs/models/outputresponsepqcontrolsgooglecloudobservability.md new file mode 100644 index 000000000..c78010b2c --- /dev/null +++ b/docs/models/outputresponsepqcontrolsgooglecloudobservability.md @@ -0,0 +1,7 @@ +# OutputResponsePqControlsGoogleCloudObservability + + +## Fields + +| Field | Type | Required | Description | +| ----------- | ----------- | ----------- | ----------- | \ No newline at end of file diff --git a/docs/models/outputresponseprotocolgooglecloudobservability.md b/docs/models/outputresponseprotocolgooglecloudobservability.md new file mode 100644 index 000000000..b85ff7357 --- /dev/null +++ b/docs/models/outputresponseprotocolgooglecloudobservability.md @@ -0,0 +1,18 @@ +# OutputResponseProtocolGoogleCloudObservability + +## Example Usage + +```python +from cribl_control_plane.models import OutputResponseProtocolGoogleCloudObservability + +value = OutputResponseProtocolGoogleCloudObservability.GRPC + +# Open enum: unrecognized values are captured as UnrecognizedStr +``` + + +## Values + +| Name | Value | +| ------ | ------ | +| `GRPC` | grpc | \ No newline at end of file diff --git a/docs/models/outputresponsetypeamazonmanagedprometheus.md b/docs/models/outputresponsetypeamazonmanagedprometheus.md new file mode 100644 index 000000000..e3536b359 --- /dev/null +++ b/docs/models/outputresponsetypeamazonmanagedprometheus.md @@ -0,0 +1,16 @@ +# OutputResponseTypeAmazonManagedPrometheus + +## Example Usage + +```python +from cribl_control_plane.models import OutputResponseTypeAmazonManagedPrometheus + +value = OutputResponseTypeAmazonManagedPrometheus.AMAZON_MANAGED_PROMETHEUS +``` + + +## Values + +| Name | Value | +| --------------------------- | --------------------------- | +| `AMAZON_MANAGED_PROMETHEUS` | amazon_managed_prometheus | \ No newline at end of file diff --git a/docs/models/outputresponsetypecustomermetricsstorage.md b/docs/models/outputresponsetypecustomermetricsstorage.md new file mode 100644 index 000000000..e3a19e145 --- /dev/null +++ b/docs/models/outputresponsetypecustomermetricsstorage.md @@ -0,0 +1,16 @@ +# OutputResponseTypeCustomerMetricsStorage + +## Example Usage + +```python +from cribl_control_plane.models import OutputResponseTypeCustomerMetricsStorage + +value = OutputResponseTypeCustomerMetricsStorage.CUSTOMER_METRICS_STORAGE +``` + + +## Values + +| Name | Value | +| -------------------------- | -------------------------- | +| `CUSTOMER_METRICS_STORAGE` | customer_metrics_storage | \ No newline at end of file diff --git a/docs/models/outputresponsetypegooglebigquery.md b/docs/models/outputresponsetypegooglebigquery.md new file mode 100644 index 000000000..ad66a36ea --- /dev/null +++ b/docs/models/outputresponsetypegooglebigquery.md @@ -0,0 +1,16 @@ +# OutputResponseTypeGoogleBigquery + +## Example Usage + +```python +from cribl_control_plane.models import OutputResponseTypeGoogleBigquery + +value = OutputResponseTypeGoogleBigquery.GOOGLE_BIGQUERY +``` + + +## Values + +| Name | Value | +| ----------------- | ----------------- | +| `GOOGLE_BIGQUERY` | google_bigquery | \ No newline at end of file diff --git a/docs/models/outputresponsetypegooglecloudobservability.md b/docs/models/outputresponsetypegooglecloudobservability.md new file mode 100644 index 000000000..4f5cca0b4 --- /dev/null +++ b/docs/models/outputresponsetypegooglecloudobservability.md @@ -0,0 +1,16 @@ +# OutputResponseTypeGoogleCloudObservability + +## Example Usage + +```python +from cribl_control_plane.models import OutputResponseTypeGoogleCloudObservability + +value = OutputResponseTypeGoogleCloudObservability.GOOGLE_CLOUD_OBSERVABILITY +``` + + +## Values + +| Name | Value | +| ---------------------------- | ---------------------------- | +| `GOOGLE_CLOUD_OBSERVABILITY` | google_cloud_observability | \ No newline at end of file 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..bd1a740f0 100644 --- a/docs/models/outputring.md +++ b/docs/models/outputring.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `format_` | [Optional[models.OutputRingDataFormat]](../models/outputringdataformat.md) | :heavy_minus_sign: | Format of the output data. | | `partition_expr` | *Optional[str]* | :heavy_minus_sign: | JS expression to define how files are partitioned and organized. If left blank, Cribl Stream will fallback on event.__partition. | | `max_data_size` | *Optional[str]* | :heavy_minus_sign: | Maximum disk space allowed to be consumed (examples: 420MB, 4GB). When limit is reached, older data will be deleted. | @@ -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..2d94bb6ad 100644 --- a/docs/models/outputrouter.md +++ b/docs/models/outputrouter.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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..abe3d6998 100644 --- a/docs/models/outputs3.md +++ b/docs/models/outputs3.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `endpoint` | *Optional[str]* | :heavy_minus_sign: | S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint. | | `enable_assume_role` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials to access S3 | | `assume_role_arn` | *Optional[str]* | :heavy_minus_sign: | Amazon Resource Name (ARN) of the role to assume | @@ -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..9cd858382 100644 --- a/docs/models/outputscalitys3.md +++ b/docs/models/outputscalitys3.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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 | @@ -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..3386dfaf9 100644 --- a/docs/models/outputsecuritylake.md +++ b/docs/models/outputsecuritylake.md @@ -10,7 +10,7 @@ | `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. These fields are added as dimensions and labels to generated metrics and logs, respectively. | | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `endpoint` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[bool]* | :heavy_minus_sign: | Use Assume Role credentials to access S3 | | `assume_role_arn` | *str* | :heavy_check_mark: | Amazon Resource Name (ARN) of the role to assume | @@ -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 752a2fae2..ede943cd6 100644 --- a/docs/models/outputsentinel.md +++ b/docs/models/outputsentinel.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `keep_alive` | *Optional[bool]* | :heavy_minus_sign: | Disable to close the connection immediately after sending the outgoing request | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | | `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size (KB) of the request body (defaults to the API's maximum limit of 1000 KB) | @@ -30,11 +30,15 @@ | `auth_type` | [Optional[models.OutputSentinelAuthType]](../models/outputsentinelauthtype.md) | :heavy_minus_sign: | N/A | | `login_url` | *str* | :heavy_check_mark: | URL for OAuth | | `secret` | *str* | :heavy_check_mark: | Secret parameter value to pass in request body | +| `refresh_token_field` | *Optional[str]* | :heavy_minus_sign: | Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, @{product} will use the refresh token to obtain new access tokens without re-sending credentials. | +| `rotate_refresh_token` | *Optional[bool]* | :heavy_minus_sign: | @{product} will update the stored value on each successful refresh. Enable if the server issues a new refresh token on every use. | +| `refresh_url` | *Optional[str]* | :heavy_minus_sign: | Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL. | +| `refresh_request_params` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauthSecret](../models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.md)] | :heavy_minus_sign: | Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, @{product} sends only grant_type, refresh_token, and client_secret. | | `client_id` | *str* | :heavy_check_mark: | JavaScript expression to compute the Client ID for the Azure application. Can be a constant. | | `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 | @@ -54,7 +58,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputSentinelPqControls]](../models/outputsentinelpqcontrols.md) | :heavy_minus_sign: | N/A | | `url` | *Optional[str]* | :heavy_minus_sign: | URL to send events to. Can be overwritten by an event's __url field. | | `dcr_id` | *Optional[str]* | :heavy_minus_sign: | Immutable ID for the Data Collection Rule (DCR) | @@ -65,6 +69,7 @@ | `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_login_url` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_refresh_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime. | | `template_client_id` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputsentineloneaisiem.md b/docs/models/outputsentineloneaisiem.md index ad9bba0de..ce4ef3774 100644 --- a/docs/models/outputsentineloneaisiem.md +++ b/docs/models/outputsentineloneaisiem.md @@ -10,9 +10,7 @@ | `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} | -| `region` | [models.OutputSentinelOneAiSiemRegion](../models/outputsentineloneaisiemregion.md) | :heavy_check_mark: | 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` | [models.OutputSentinelOneAISIEMAISIEMEndpointPath](../models/outputsentineloneaisiemaisiemendpointpath.md) | :heavy_check_mark: | 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). | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | | `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size, in KB, of the request body | | `max_payload_events` | *Optional[float]* | :heavy_minus_sign: | Maximum number of events to include in the request body. Default is 0 (unlimited). | @@ -27,8 +25,10 @@ | `response_retry_settings` | List[[models.ResponseRetrySettingConfOutputWebhook](../models/responseretrysettingconfoutputwebhook.md)] | :heavy_minus_sign: | Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable) | | `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. | +| `region` | [models.OutputSentinelOneAiSiemRegion](../models/outputsentineloneaisiemregion.md) | :heavy_check_mark: | 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` | [models.OutputSentinelOneAISIEMAISIEMEndpointPath](../models/outputsentineloneaisiemaisiemendpointpath.md) | :heavy_check_mark: | 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). | | `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]+)?$. | @@ -56,7 +56,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputSentinelOneAiSiemPqControls]](../models/outputsentineloneaisiempqcontrols.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputservicenow.md b/docs/models/outputservicenow.md index 65b5a07b8..6f2782f9a 100644 --- a/docs/models/outputservicenow.md +++ b/docs/models/outputservicenow.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `endpoint` | *str* | :heavy_check_mark: | 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* | :heavy_check_mark: | Select or create a stored text secret | | `auth_token_name` | *Optional[str]* | :heavy_minus_sign: | N/A | @@ -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 | @@ -52,7 +52,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputServiceNowPqControls]](../models/outputservicenowpqcontrols.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputsignalfx.md b/docs/models/outputsignalfx.md index f244f2b5a..fe08069fc 100644 --- a/docs/models/outputsignalfx.md +++ b/docs/models/outputsignalfx.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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 | | `realm` | *str* | :heavy_check_mark: | 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). | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | @@ -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. | @@ -41,7 +41,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputSignalfxPqControls]](../models/outputsignalfxpqcontrols.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputsnmp.md b/docs/models/outputsnmp.md index 8a8a2a7be..d24994df6 100644 --- a/docs/models/outputsnmp.md +++ b/docs/models/outputsnmp.md @@ -3,15 +3,17 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this output | -| `type` | [models.OutputSnmpType](../models/outputsnmptype.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} | -| `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. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `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 +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this output | +| `type` | [models.OutputSnmpType](../models/outputsnmptype.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: | Metadata tags used for categorization and filtering. | +| `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: | 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 d99e2979c..e0e2f60d8 100644 --- a/docs/models/outputsns.md +++ b/docs/models/outputsns.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `topic_arn` | *str* | :heavy_check_mark: | 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* | :heavy_check_mark: | 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}`. | | `max_retries` | *Optional[float]* | :heavy_minus_sign: | Maximum number of retries before the output returns an error. Note that not all errors are retryable. The retries use an exponential backoff policy. | @@ -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. | @@ -38,7 +38,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputSnsPqControls]](../models/outputsnspqcontrols.md) | :heavy_minus_sign: | N/A | | `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_topic_arn` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputsplunk.md b/docs/models/outputsplunk.md index 7522cd01f..ce1fad8b0 100644 --- a/docs/models/outputsplunk.md +++ b/docs/models/outputsplunk.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `host` | *str* | :heavy_check_mark: | The hostname of the receiver | | `port` | *float* | :heavy_check_mark: | The port to connect to on the provided host | | `nested_fields` | [Optional[models.NestedFieldSerializationOptions]](../models/nestedfieldserializationoptions.md) | :heavy_minus_sign: | How to serialize nested fields into index-time fields | @@ -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. | @@ -37,7 +37,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputSplunkPqControls]](../models/outputsplunkpqcontrols.md) | :heavy_minus_sign: | N/A | | `auth_token` | *Optional[str]* | :heavy_minus_sign: | Shared secret token to use when establishing a connection to a Splunk indexer. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/outputsplunkhec.md b/docs/models/outputsplunkhec.md index df4d82c7d..cb802e596 100644 --- a/docs/models/outputsplunkhec.md +++ b/docs/models/outputsplunkhec.md @@ -10,10 +10,8 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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. | -| `next_queue` | *Optional[str]* | :heavy_minus_sign: | In the Splunk app, define which Splunk processing queue to send the events after HEC processing. | -| `tcp_routing` | *Optional[str]* | :heavy_minus_sign: | In the Splunk app, set the value of _TCP_ROUTING for events that do not have _ctrl._TCP_ROUTING set. | | `tls` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPathExtended]](../models/tlssettingsclientsidetypecapathcertpathextended.md) | :heavy_minus_sign: | N/A | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | | `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size, in KB, of the request body | @@ -30,8 +28,10 @@ | `response_retry_settings` | List[[models.ResponseRetrySettingConfOutputWebhook](../models/responseretrysettingconfoutputwebhook.md)] | :heavy_minus_sign: | Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable) | | `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. | +| `next_queue` | *Optional[str]* | :heavy_minus_sign: | In the Splunk app, define which Splunk processing queue to send the events after HEC processing. | +| `tcp_routing` | *Optional[str]* | :heavy_minus_sign: | In the Splunk app, set the value of _TCP_ROUTING for events that do not have _ctrl._TCP_ROUTING set. | | `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 | @@ -50,7 +50,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputSplunkHecPqControls]](../models/outputsplunkhecpqcontrols.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputsplunklb.md b/docs/models/outputsplunklb.md index d0e05aadb..ce36ae4f1 100644 --- a/docs/models/outputsplunklb.md +++ b/docs/models/outputsplunklb.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `dns_resolve_period_sec` | *Optional[float]* | :heavy_minus_sign: | The interval in which to re-resolve any hostnames and pick up destinations from A records | | `load_balance_stats_period_sec` | *Optional[float]* | :heavy_minus_sign: | How far back in time to keep traffic stats for load balancing purposes | | `max_concurrent_senders` | *Optional[float]* | :heavy_minus_sign: | 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. | @@ -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. | @@ -43,7 +43,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputSplunkLbPqControls]](../models/outputsplunklbpqcontrols.md) | :heavy_minus_sign: | N/A | | `auth_token` | *Optional[str]* | :heavy_minus_sign: | Shared secret token to use when establishing a connection to a Splunk indexer. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/outputsqs.md b/docs/models/outputsqs.md index 5236cbcd8..1e2514fb0 100644 --- a/docs/models/outputsqs.md +++ b/docs/models/outputsqs.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `queue_name` | *str* | :heavy_check_mark: | 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` | [models.OutputSqsQueueType](../models/outputsqsqueuetype.md) | :heavy_check_mark: | The queue type used (or created). Defaults to Standard. | | `aws_account_id` | *Optional[str]* | :heavy_minus_sign: | SQS queue owner's AWS account ID. Leave empty if SQS queue is in same AWS account. | @@ -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. | @@ -44,7 +44,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputSqsPqControls]](../models/outputsqspqcontrols.md) | :heavy_minus_sign: | N/A | | `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_queue_name` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputstatsd.md b/docs/models/outputstatsd.md index d79fe9600..f18f206af 100644 --- a/docs/models/outputstatsd.md +++ b/docs/models/outputstatsd.md @@ -10,14 +10,14 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `protocol` | [models.DestinationProtocolOptions](../models/destinationprotocoloptions.md) | :heavy_check_mark: | Protocol to use when communicating with the destination. | | `host` | *str* | :heavy_check_mark: | The hostname of the destination. | | `port` | *float* | :heavy_check_mark: | Destination port. | | `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 | @@ -32,7 +32,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputStatsdPqControls]](../models/outputstatsdpqcontrols.md) | :heavy_minus_sign: | N/A | | `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/outputstatsdext.md b/docs/models/outputstatsdext.md index 640dc7ea4..ce73f41a5 100644 --- a/docs/models/outputstatsdext.md +++ b/docs/models/outputstatsdext.md @@ -10,14 +10,14 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `protocol` | [models.DestinationProtocolOptions](../models/destinationprotocoloptions.md) | :heavy_check_mark: | Protocol to use when communicating with the destination. | | `host` | *str* | :heavy_check_mark: | The hostname of the destination. | | `port` | *float* | :heavy_check_mark: | Destination port. | | `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 | @@ -32,7 +32,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputStatsdExtPqControls]](../models/outputstatsdextpqcontrols.md) | :heavy_minus_sign: | N/A | | `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/outputstorjs3.md b/docs/models/outputstorjs3.md index c619ea4e0..b693c2afc 100644 --- a/docs/models/outputstorjs3.md +++ b/docs/models/outputstorjs3.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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 | @@ -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 ec54e31e3..ba359b48f 100644 --- a/docs/models/outputsumologic.md +++ b/docs/models/outputsumologic.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `url` | *str* | :heavy_check_mark: | Sumo Logic HTTP collector URL to which events should be sent | | `custom_source` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | Override the source category configured on the Sumo Logic HTTP collector. This can also be overridden at the event level with the __sourceCategory field. | @@ -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. | @@ -42,7 +42,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputSumoLogicPqControls]](../models/outputsumologicpqcontrols.md) | :heavy_minus_sign: | N/A | | `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_url` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputsyslog.md b/docs/models/outputsyslog.md index 4699edcba..8847ae0af 100644 --- a/docs/models/outputsyslog.md +++ b/docs/models/outputsyslog.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `protocol` | [Optional[models.OutputSyslogProtocol]](../models/outputsyslogprotocol.md) | :heavy_minus_sign: | The network protocol to use for sending out syslog messages | | `facility` | [Optional[models.OutputSyslogFacility]](../models/outputsyslogfacility.md) | :heavy_minus_sign: | Default value for message facility. Will be overwritten by value of __facility if set. Defaults to user. | | `severity` | [Optional[models.OutputSyslogSeverity]](../models/outputsyslogseverity.md) | :heavy_minus_sign: | Default value for message severity. Will be overwritten by value of __severity if set. Defaults to notice. | @@ -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 | @@ -46,7 +46,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputSyslogPqControls]](../models/outputsyslogpqcontrols.md) | :heavy_minus_sign: | N/A | | `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/outputtcpjson.md b/docs/models/outputtcpjson.md index 810e43c53..e76be3155 100644 --- a/docs/models/outputtcpjson.md +++ b/docs/models/outputtcpjson.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `load_balanced` | *Optional[bool]* | :heavy_minus_sign: | Use load-balanced destinations | | `compression` | [Optional[models.CompressionOptionsGzipNone]](../models/compressionoptionsgzipnone.md) | :heavy_minus_sign: | Codec to use to compress the data before sending | | `log_failed_requests` | *Optional[bool]* | :heavy_minus_sign: | Use to troubleshoot issues with sending data | @@ -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 | @@ -40,7 +40,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputTcpjsonPqControls]](../models/outputtcpjsonpqcontrols.md) | :heavy_minus_sign: | N/A | | `auth_token` | *Optional[str]* | :heavy_minus_sign: | Optional authentication token to include as part of the connection header | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/outputwavefront.md b/docs/models/outputwavefront.md index 3ef8c5e9a..81a96a76a 100644 --- a/docs/models/outputwavefront.md +++ b/docs/models/outputwavefront.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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 | | `domain` | *str* | :heavy_check_mark: | WaveFront domain name, e.g. "longboard" | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | @@ -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. | @@ -41,7 +41,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputWavefrontPqControls]](../models/outputwavefrontpqcontrols.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/outputwebhookwebhook1.md b/docs/models/outputwebhookwebhook1.md index b67c88a4e..8de168110 100644 --- a/docs/models/outputwebhookwebhook1.md +++ b/docs/models/outputwebhookwebhook1.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `method` | [Optional[models.MethodOptions]](../models/methodoptions.md) | :heavy_minus_sign: | The method to use when sending events | | `format_` | [Optional[models.OutputWebhookFormat1]](../models/outputwebhookformat1.md) | :heavy_minus_sign: | How to format events before sending out | | `keep_alive` | *Optional[bool]* | :heavy_minus_sign: | Disable to close the connection immediately after sending the outgoing request | @@ -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. | @@ -52,7 +52,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputWebhookPqControls1]](../models/outputwebhookpqcontrols1.md) | :heavy_minus_sign: | N/A | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | @@ -67,6 +67,10 @@ | `token_timeout_secs` | *Optional[float]* | :heavy_minus_sign: | How often the OAuth token should be refreshed. | | `oauth_params` | List[[models.OauthParamConfInputServicenowTable](../models/oauthparamconfinputservicenowtable.md)] | :heavy_minus_sign: | 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` | List[[models.OauthHeaderConfInputServicenowTable](../models/oauthheaderconfinputservicenowtable.md)] | :heavy_minus_sign: | 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. | +| `refresh_token_field` | *Optional[str]* | :heavy_minus_sign: | Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, @{product} will use the refresh token to obtain new access tokens without re-sending credentials. | +| `rotate_refresh_token` | *Optional[bool]* | :heavy_minus_sign: | @{product} will update the stored value on each successful refresh. Enable if the server issues a new refresh token on every use. | +| `refresh_url` | *Optional[str]* | :heavy_minus_sign: | Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL. | +| `refresh_request_params` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauthSecret](../models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.md)] | :heavy_minus_sign: | Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, @{product} sends only grant_type, refresh_token, and client_secret. | | `url` | *str* | :heavy_check_mark: | URL of a webhook endpoint 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.OutputWebhookURL1](../models/outputwebhookurl1.md)] | :heavy_minus_sign: | N/A | @@ -77,4 +81,5 @@ | `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_login_url` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_refresh_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime. | | `template_url` | *Optional[str]* | :heavy_minus_sign: | 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. | \ No newline at end of file diff --git a/docs/models/outputwebhookwebhook2.md b/docs/models/outputwebhookwebhook2.md index e1028d42c..4a3bd07de 100644 --- a/docs/models/outputwebhookwebhook2.md +++ b/docs/models/outputwebhookwebhook2.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `method` | [Optional[models.MethodOptions]](../models/methodoptions.md) | :heavy_minus_sign: | The method to use when sending events | | `format_` | [Optional[models.OutputWebhookFormat2]](../models/outputwebhookformat2.md) | :heavy_minus_sign: | How to format events before sending out | | `keep_alive` | *Optional[bool]* | :heavy_minus_sign: | Disable to close the connection immediately after sending the outgoing request | @@ -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. | @@ -52,7 +52,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputWebhookPqControls2]](../models/outputwebhookpqcontrols2.md) | :heavy_minus_sign: | N/A | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | @@ -67,6 +67,10 @@ | `token_timeout_secs` | *Optional[float]* | :heavy_minus_sign: | How often the OAuth token should be refreshed. | | `oauth_params` | List[[models.OauthParamConfInputServicenowTable](../models/oauthparamconfinputservicenowtable.md)] | :heavy_minus_sign: | 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` | List[[models.OauthHeaderConfInputServicenowTable](../models/oauthheaderconfinputservicenowtable.md)] | :heavy_minus_sign: | 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. | +| `refresh_token_field` | *Optional[str]* | :heavy_minus_sign: | Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, @{product} will use the refresh token to obtain new access tokens without re-sending credentials. | +| `rotate_refresh_token` | *Optional[bool]* | :heavy_minus_sign: | @{product} will update the stored value on each successful refresh. Enable if the server issues a new refresh token on every use. | +| `refresh_url` | *Optional[str]* | :heavy_minus_sign: | Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL. | +| `refresh_request_params` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauthSecret](../models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.md)] | :heavy_minus_sign: | Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, @{product} sends only grant_type, refresh_token, and client_secret. | | `url` | *Optional[str]* | :heavy_minus_sign: | URL of a webhook endpoint 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.OutputWebhookURL2](../models/outputwebhookurl2.md)] | :heavy_check_mark: | N/A | @@ -77,4 +81,5 @@ | `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_login_url` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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_refresh_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime. | | `template_url` | *Optional[str]* | :heavy_minus_sign: | 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. | \ No newline at end of file diff --git a/docs/models/outputwizhec.md b/docs/models/outputwizhec.md index e545f55cc..b70b15a8e 100644 --- a/docs/models/outputwizhec.md +++ b/docs/models/outputwizhec.md @@ -10,9 +10,7 @@ | `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} | -| `next_queue` | *Optional[str]* | :heavy_minus_sign: | In the Splunk app, define which Splunk processing queue to send the events after HEC processing. | -| `tcp_routing` | *Optional[str]* | :heavy_minus_sign: | In the Splunk app, set the value of _TCP_ROUTING for events that do not have _ctrl._TCP_ROUTING set. | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `tls` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPathExtended]](../models/tlssettingsclientsidetypecapathcertpathextended.md) | :heavy_minus_sign: | N/A | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | | `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size, in KB, of the request body | @@ -28,12 +26,14 @@ | `response_retry_settings` | List[[models.ResponseRetrySettingConfOutputWebhook](../models/responseretrysettingconfoutputwebhook.md)] | :heavy_minus_sign: | Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable) | | `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 | | `wiz_connector_id` | *str* | :heavy_check_mark: | 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* | :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 | +| `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: | Optional description for this configuration. | +| `token` | *Optional[str]* | :heavy_minus_sign: | Wiz Defend Auth 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. | | `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. | @@ -44,13 +44,11 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputWizHecPqControls]](../models/outputwizhecpqcontrols.md) | :heavy_minus_sign: | N/A | -| `token` | *Optional[str]* | :heavy_minus_sign: | Wiz Defend Auth token | -| `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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` | *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_wiz_environment` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | 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. | \ No newline at end of file +| `template_wiz_sourcetype` | *Optional[str]* | :heavy_minus_sign: | 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_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/outputxsiam.md b/docs/models/outputxsiam.md index 7bb711793..cd7ffde99 100644 --- a/docs/models/outputxsiam.md +++ b/docs/models/outputxsiam.md @@ -10,7 +10,7 @@ | `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} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `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. | | `concurrency` | *Optional[float]* | :heavy_minus_sign: | Maximum number of ongoing requests before blocking | | `max_payload_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size, in KB, of the request body | @@ -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 | @@ -48,7 +48,7 @@ | `pq_path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //. | | `pq_compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | | `pq_on_backpressure` | [Optional[models.QueueFullBehaviorOptions]](../models/queuefullbehavioroptions.md) | :heavy_minus_sign: | 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` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `pq_max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB. | | `pq_controls` | [Optional[models.OutputXsiamPqControls]](../models/outputxsiampqcontrols.md) | :heavy_minus_sign: | N/A | | `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_failed_request_logging_mode` | *Optional[str]* | :heavy_minus_sign: | 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. | diff --git a/docs/models/ownertypeheartbeatmetadatakube.md b/docs/models/ownertypeheartbeatmetadatakube.md index 220b723b0..e49acc746 100644 --- a/docs/models/ownertypeheartbeatmetadatakube.md +++ b/docs/models/ownertypeheartbeatmetadatakube.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `kind` | *str* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | +| `kind` | *str* | :heavy_check_mark: | Kubernetes owner resource kind. | +| `name` | *str* | :heavy_check_mark: | Kubernetes owner resource name. | \ No newline at end of file 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/paginatedconfiggroup.md b/docs/models/paginatedconfiggroup.md new file mode 100644 index 000000000..3042bcb40 --- /dev/null +++ b/docs/models/paginatedconfiggroup.md @@ -0,0 +1,12 @@ +# PaginatedConfigGroup + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `items` | List[[models.ConfigGroup](../models/configgroup.md)] | :heavy_check_mark: | the pre-limited items in the list of results | +| `count` | *int* | :heavy_check_mark: | number of items present in the items array | +| `offset` | *int* | :heavy_check_mark: | pagination offset | +| `limit` | *int* | :heavy_check_mark: | pagination limit | +| `total_count` | *Optional[int]* | :heavy_minus_sign: | total number of items available (present when limit is set) | \ No newline at end of file diff --git a/docs/models/paginatedcribllakedataset.md b/docs/models/paginatedcribllakedataset.md new file mode 100644 index 000000000..4a870fc21 --- /dev/null +++ b/docs/models/paginatedcribllakedataset.md @@ -0,0 +1,12 @@ +# PaginatedCriblLakeDataset + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | +| `items` | List[[models.CriblLakeDataset](../models/cribllakedataset.md)] | :heavy_check_mark: | the pre-limited items in the list of results | +| `count` | *int* | :heavy_check_mark: | number of items present in the items array | +| `offset` | *int* | :heavy_check_mark: | pagination offset | +| `limit` | *int* | :heavy_check_mark: | pagination limit | +| `total_count` | *Optional[int]* | :heavy_minus_sign: | total number of items available (present when limit is set) | \ No newline at end of file diff --git a/docs/models/paginateddistributedsummary.md b/docs/models/paginateddistributedsummary.md new file mode 100644 index 000000000..6f052b56d --- /dev/null +++ b/docs/models/paginateddistributedsummary.md @@ -0,0 +1,12 @@ +# PaginatedDistributedSummary + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | +| `items` | List[[models.DistributedSummary](../models/distributedsummary.md)] | :heavy_check_mark: | the pre-limited items in the list of results | +| `count` | *int* | :heavy_check_mark: | number of items present in the items array | +| `offset` | *int* | :heavy_check_mark: | pagination offset | +| `limit` | *int* | :heavy_check_mark: | pagination limit | +| `total_count` | *Optional[int]* | :heavy_minus_sign: | total number of items available (present when limit is set) | \ No newline at end of file diff --git a/docs/models/paginatedfunctionresponse.md b/docs/models/paginatedfunctionresponse.md new file mode 100644 index 000000000..98dc9fd48 --- /dev/null +++ b/docs/models/paginatedfunctionresponse.md @@ -0,0 +1,12 @@ +# PaginatedFunctionResponse + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | +| `items` | List[[models.FunctionResponse](../models/functionresponse.md)] | :heavy_check_mark: | the pre-limited items in the list of results | +| `count` | *int* | :heavy_check_mark: | number of items present in the items array | +| `offset` | *int* | :heavy_check_mark: | pagination offset | +| `limit` | *int* | :heavy_check_mark: | pagination limit | +| `total_count` | *Optional[int]* | :heavy_minus_sign: | total number of items available (present when limit is set) | \ No newline at end of file diff --git a/docs/models/paginatedgitlogresult.md b/docs/models/paginatedgitlogresult.md new file mode 100644 index 000000000..014422648 --- /dev/null +++ b/docs/models/paginatedgitlogresult.md @@ -0,0 +1,12 @@ +# PaginatedGitLogResult + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `items` | List[[models.GitLogResult](../models/gitlogresult.md)] | :heavy_check_mark: | the pre-limited items in the list of results | +| `count` | *int* | :heavy_check_mark: | number of items present in the items array | +| `offset` | *int* | :heavy_check_mark: | pagination offset | +| `limit` | *int* | :heavy_check_mark: | pagination limit | +| `total_count` | *Optional[int]* | :heavy_minus_sign: | total number of items available (present when limit is set) | \ No newline at end of file diff --git a/docs/models/paginatedinputresponse.md b/docs/models/paginatedinputresponse.md new file mode 100644 index 000000000..7681d700d --- /dev/null +++ b/docs/models/paginatedinputresponse.md @@ -0,0 +1,12 @@ +# PaginatedInputResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `items` | List[[models.InputResponse](../models/inputresponse.md)] | :heavy_check_mark: | the pre-limited items in the list of results | +| `count` | *int* | :heavy_check_mark: | number of items present in the items array | +| `offset` | *int* | :heavy_check_mark: | pagination offset | +| `limit` | *int* | :heavy_check_mark: | pagination limit | +| `total_count` | *Optional[int]* | :heavy_minus_sign: | total number of items available (present when limit is set) | \ No newline at end of file diff --git a/docs/models/paginatedinputstatus.md b/docs/models/paginatedinputstatus.md new file mode 100644 index 000000000..b39e999e2 --- /dev/null +++ b/docs/models/paginatedinputstatus.md @@ -0,0 +1,12 @@ +# PaginatedInputStatus + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `items` | List[[models.InputStatus](../models/inputstatus.md)] | :heavy_check_mark: | the pre-limited items in the list of results | +| `count` | *int* | :heavy_check_mark: | number of items present in the items array | +| `offset` | *int* | :heavy_check_mark: | pagination offset | +| `limit` | *int* | :heavy_check_mark: | pagination limit | +| `total_count` | *Optional[int]* | :heavy_minus_sign: | total number of items available (present when limit is set) | \ No newline at end of file diff --git a/docs/models/paginatedmasterworkerentry.md b/docs/models/paginatedmasterworkerentry.md new file mode 100644 index 000000000..cf13bca1d --- /dev/null +++ b/docs/models/paginatedmasterworkerentry.md @@ -0,0 +1,12 @@ +# PaginatedMasterWorkerEntry + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | +| `items` | List[[models.MasterWorkerEntry](../models/masterworkerentry.md)] | :heavy_check_mark: | the pre-limited items in the list of results | +| `count` | *int* | :heavy_check_mark: | number of items present in the items array | +| `offset` | *int* | :heavy_check_mark: | pagination offset | +| `limit` | *int* | :heavy_check_mark: | pagination limit | +| `total_count` | *Optional[int]* | :heavy_minus_sign: | total number of items available (present when limit is set) | \ No newline at end of file diff --git a/docs/models/paginatedoutputresponse.md b/docs/models/paginatedoutputresponse.md new file mode 100644 index 000000000..7a8b4b527 --- /dev/null +++ b/docs/models/paginatedoutputresponse.md @@ -0,0 +1,12 @@ +# PaginatedOutputResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `items` | List[[models.OutputResponse](../models/outputresponse.md)] | :heavy_check_mark: | the pre-limited items in the list of results | +| `count` | *int* | :heavy_check_mark: | number of items present in the items array | +| `offset` | *int* | :heavy_check_mark: | pagination offset | +| `limit` | *int* | :heavy_check_mark: | pagination limit | +| `total_count` | *Optional[int]* | :heavy_minus_sign: | total number of items available (present when limit is set) | \ No newline at end of file diff --git a/docs/models/paginatedoutputstatus.md b/docs/models/paginatedoutputstatus.md new file mode 100644 index 000000000..e2b5041d2 --- /dev/null +++ b/docs/models/paginatedoutputstatus.md @@ -0,0 +1,12 @@ +# PaginatedOutputStatus + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `items` | List[[models.OutputStatus](../models/outputstatus.md)] | :heavy_check_mark: | the pre-limited items in the list of results | +| `count` | *int* | :heavy_check_mark: | number of items present in the items array | +| `offset` | *int* | :heavy_check_mark: | pagination offset | +| `limit` | *int* | :heavy_check_mark: | pagination limit | +| `total_count` | *Optional[int]* | :heavy_minus_sign: | total number of items available (present when limit is set) | \ No newline at end of file diff --git a/docs/models/paginatedpackinfo.md b/docs/models/paginatedpackinfo.md new file mode 100644 index 000000000..5b6e941d5 --- /dev/null +++ b/docs/models/paginatedpackinfo.md @@ -0,0 +1,12 @@ +# PaginatedPackInfo + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `items` | List[[models.PackInfo](../models/packinfo.md)] | :heavy_check_mark: | the pre-limited items in the list of results | +| `count` | *int* | :heavy_check_mark: | number of items present in the items array | +| `offset` | *int* | :heavy_check_mark: | pagination offset | +| `limit` | *int* | :heavy_check_mark: | pagination limit | +| `total_count` | *Optional[int]* | :heavy_minus_sign: | total number of items available (present when limit is set) | \ No newline at end of file diff --git a/docs/models/paginatedpipeline.md b/docs/models/paginatedpipeline.md new file mode 100644 index 000000000..eaa9dee4b --- /dev/null +++ b/docs/models/paginatedpipeline.md @@ -0,0 +1,12 @@ +# PaginatedPipeline + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `items` | List[[models.Pipeline](../models/pipeline.md)] | :heavy_check_mark: | the pre-limited items in the list of results | +| `count` | *int* | :heavy_check_mark: | number of items present in the items array | +| `offset` | *int* | :heavy_check_mark: | pagination offset | +| `limit` | *int* | :heavy_check_mark: | pagination limit | +| `total_count` | *Optional[int]* | :heavy_minus_sign: | total number of items available (present when limit is set) | \ No newline at end of file diff --git a/docs/models/paginatedsavedjobresponse.md b/docs/models/paginatedsavedjobresponse.md new file mode 100644 index 000000000..b9ede9bca --- /dev/null +++ b/docs/models/paginatedsavedjobresponse.md @@ -0,0 +1,12 @@ +# PaginatedSavedJobResponse + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | +| `items` | List[[models.SavedJobResponse](../models/savedjobresponse.md)] | :heavy_check_mark: | the pre-limited items in the list of results | +| `count` | *int* | :heavy_check_mark: | number of items present in the items array | +| `offset` | *int* | :heavy_check_mark: | pagination offset | +| `limit` | *int* | :heavy_check_mark: | pagination limit | +| `total_count` | *Optional[int]* | :heavy_minus_sign: | total number of items available (present when limit is set) | \ No newline at end of file diff --git a/docs/models/piisettings.md b/docs/models/piisettings.md index f8088c34b..d0109e9dd 100644 --- a/docs/models/piisettings.md +++ b/docs/models/piisettings.md @@ -3,6 +3,6 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------- | ---------------------- | ---------------------- | ---------------------- | -| `enable_pii_detection` | *bool* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| `enable_pii_detection` | *bool* | :heavy_check_mark: | If true, enable PII detection for events processed by the Cribl instance. Otherwise, false. | \ No newline at end of file diff --git a/docs/models/pipeline.md b/docs/models/pipeline.md index f3f8ebe1b..588f118c2 100644 --- a/docs/models/pipeline.md +++ b/docs/models/pipeline.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | -| `id` | *str* | :heavy_check_mark: | N/A | -| `conf` | [models.PipelineConf](../models/pipelineconf.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | Unique identifier for the Pipeline. | +| `conf` | [models.PipelineConf](../models/pipelineconf.md) | :heavy_check_mark: | Configuration for the Pipeline, including functions and settings. | \ No newline at end of file diff --git a/docs/models/pipelineconf.md b/docs/models/pipelineconf.md index 43f2003a7..81656530f 100644 --- a/docs/models/pipelineconf.md +++ b/docs/models/pipelineconf.md @@ -1,14 +1,16 @@ # PipelineConf +Configuration for the Pipeline, including functions and settings. + ## Fields | Field | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `async_func_timeout` | *Optional[int]* | :heavy_minus_sign: | Time (in ms) to wait for an async function to complete processing of a data item | -| `output` | *Optional[str]* | :heavy_minus_sign: | The output destination for events processed by this Pipeline | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | -| `functions` | List[[models.PipelineFunctionConf](../models/pipelinefunctionconf.md)] | :heavy_minus_sign: | List of Functions to pass data through | -| `groups` | Dict[str, [models.PipelineGroups](../models/pipelinegroups.md)] | :heavy_minus_sign: | N/A | +| `async_func_timeout` | *Optional[int]* | :heavy_minus_sign: | Timeout (in milliseconds) for asynchronous Pipeline functions. | +| `output` | *Optional[str]* | :heavy_minus_sign: | The output destination for events processed by this Pipeline. | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline. | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | +| `functions` | List[[models.PipelineFunctionConf](../models/pipelinefunctionconf.md)] | :heavy_minus_sign: | List of Functions to pass data through the Pipeline. | +| `groups` | Dict[str, [models.PipelineGroups](../models/pipelinegroups.md)] | :heavy_minus_sign: | Named groups of Pipeline functions for organizational display in the UI. | | `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/pipelinefunctionaggregatemetrics.md b/docs/models/pipelinefunctionaggregatemetrics.md index 117494a66..b783ea35c 100644 --- a/docs/models/pipelinefunctionaggregatemetrics.md +++ b/docs/models/pipelinefunctionaggregatemetrics.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.PipelineFunctionAggregateMetricsConf](../models/pipelinefunctionaggregatemetricsconf.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionAggregateMetricsID](../models/pipelinefunctionaggregatemetricsid.md) | :heavy_check_mark: | Identifier of the Function. Always aggregate_metrics | aggregate_metrics | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.PipelineFunctionAggregateMetricsConf](../models/pipelinefunctionaggregatemetricsconf.md) | :heavy_check_mark: | Configuration specific to the Pipeline Function. | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file diff --git a/docs/models/pipelinefunctionaggregatemetricsconf.md b/docs/models/pipelinefunctionaggregatemetricsconf.md index 6456bcf86..b9d7e50ca 100644 --- a/docs/models/pipelinefunctionaggregatemetricsconf.md +++ b/docs/models/pipelinefunctionaggregatemetricsconf.md @@ -1,5 +1,7 @@ # PipelineFunctionAggregateMetricsConf +Configuration specific to the Pipeline Function. + ## Fields 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..4ee39e87f 100644 --- a/docs/models/pipelinefunctionaggregation.md +++ b/docs/models/pipelinefunctionaggregation.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.PipelineFunctionAggregationConf](../models/pipelinefunctionaggregationconf.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionAggregationID](../models/pipelinefunctionaggregationid.md) | :heavy_check_mark: | Identifier of the Function. Always aggregation | aggregation | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.PipelineFunctionAggregationConf](../models/pipelinefunctionaggregationconf.md) | :heavy_check_mark: | Configuration specific to the Pipeline Function. | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file diff --git a/docs/models/pipelinefunctionaggregationconf.md b/docs/models/pipelinefunctionaggregationconf.md index 6da636294..b4e5f1141 100644 --- a/docs/models/pipelinefunctionaggregationconf.md +++ b/docs/models/pipelinefunctionaggregationconf.md @@ -1,5 +1,7 @@ # PipelineFunctionAggregationConf +Configuration specific to the Pipeline Function. + ## Fields 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..ec8c61e8d 100644 --- a/docs/models/pipelinefunctionautotimestamp.md +++ b/docs/models/pipelinefunctionautotimestamp.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.FunctionConfSchemaAutoTimestamp](../models/functionconfschemaautotimestamp.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionAutoTimestampID](../models/pipelinefunctionautotimestampid.md) | :heavy_check_mark: | Identifier of the Function. Always auto_timestamp | auto_timestamp | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.FunctionConfSchemaAutoTimestamp](../models/functionconfschemaautotimestamp.md) | :heavy_check_mark: | N/A | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..63f29e262 100644 --- a/docs/models/pipelinefunctioncef.md +++ b/docs/models/pipelinefunctioncef.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.FunctionConfSchemaCef](../models/functionconfschemacef.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionCefID](../models/pipelinefunctioncefid.md) | :heavy_check_mark: | Identifier of the Function. Always cef | cef | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.FunctionConfSchemaCef](../models/functionconfschemacef.md) | :heavy_check_mark: | N/A | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..ec425037d 100644 --- a/docs/models/pipelinefunctioncefinput.md +++ b/docs/models/pipelinefunctioncefinput.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.FunctionConfSchemaCefInput](../models/functionconfschemacefinput.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionCefID](../models/pipelinefunctioncefid.md) | :heavy_check_mark: | Identifier of the Function. Always cef | cef | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.FunctionConfSchemaCefInput](../models/functionconfschemacefinput.md) | :heavy_check_mark: | N/A | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file diff --git a/docs/models/pipelinefunctionchain.md b/docs/models/pipelinefunctionchain.md index 71b7e940e..390047504 100644 --- a/docs/models/pipelinefunctionchain.md +++ b/docs/models/pipelinefunctionchain.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.PipelineFunctionChainConf](../models/pipelinefunctionchainconf.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionChainID](../models/pipelinefunctionchainid.md) | :heavy_check_mark: | Identifier of the Function. Always chain | chain | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.PipelineFunctionChainConf](../models/pipelinefunctionchainconf.md) | :heavy_check_mark: | Configuration specific to the Pipeline Function. | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file diff --git a/docs/models/pipelinefunctionchainconf.md b/docs/models/pipelinefunctionchainconf.md index 553c96d9a..5e2c17b90 100644 --- a/docs/models/pipelinefunctionchainconf.md +++ b/docs/models/pipelinefunctionchainconf.md @@ -1,5 +1,7 @@ # PipelineFunctionChainConf +Configuration specific to the Pipeline Function. + ## Fields 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..a1ba76752 100644 --- a/docs/models/pipelinefunctionclone.md +++ b/docs/models/pipelinefunctionclone.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.FunctionConfSchemaClone](../models/functionconfschemaclone.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionCloneID](../models/pipelinefunctioncloneid.md) | :heavy_check_mark: | Identifier of the Function. Always clone | clone | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.FunctionConfSchemaClone](../models/functionconfschemaclone.md) | :heavy_check_mark: | N/A | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..2792d5494 100644 --- a/docs/models/pipelinefunctioncode.md +++ b/docs/models/pipelinefunctioncode.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.FunctionConfSchemaCode](../models/functionconfschemacode.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionCodeID](../models/pipelinefunctioncodeid.md) | :heavy_check_mark: | Identifier of the Function. Always code | code | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.FunctionConfSchemaCode](../models/functionconfschemacode.md) | :heavy_check_mark: | N/A | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..293180b95 100644 --- a/docs/models/pipelinefunctioncomment.md +++ b/docs/models/pipelinefunctioncomment.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.FunctionConfSchemaComment](../models/functionconfschemacomment.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionCommentID](../models/pipelinefunctioncommentid.md) | :heavy_check_mark: | Identifier of the Function. Always comment | comment | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.FunctionConfSchemaComment](../models/functionconfschemacomment.md) | :heavy_check_mark: | N/A | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..dbd07a458 100644 --- a/docs/models/pipelinefunctiondistinct.md +++ b/docs/models/pipelinefunctiondistinct.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.DistinctConfiguration](../models/distinctconfiguration.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionDistinctID](../models/pipelinefunctiondistinctid.md) | :heavy_check_mark: | Identifier of the Function. Always distinct | distinct | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.DistinctConfiguration](../models/distinctconfiguration.md) | :heavy_check_mark: | Configuration specific to the Pipeline Function. | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..2b867107a 100644 --- a/docs/models/pipelinefunctiondnslookup.md +++ b/docs/models/pipelinefunctiondnslookup.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.FunctionConfSchemaDNSLookup](../models/functionconfschemadnslookup.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionDNSLookupID](../models/pipelinefunctiondnslookupid.md) | :heavy_check_mark: | Identifier of the Function. Always dns_lookup | dns_lookup | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.FunctionConfSchemaDNSLookup](../models/functionconfschemadnslookup.md) | :heavy_check_mark: | N/A | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..354b42564 100644 --- a/docs/models/pipelinefunctiondrop.md +++ b/docs/models/pipelinefunctiondrop.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.FunctionConfSchemaDrop](../models/functionconfschemadrop.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionDropID](../models/pipelinefunctiondropid.md) | :heavy_check_mark: | Identifier of the Function. Always drop | drop | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.FunctionConfSchemaDrop](../models/functionconfschemadrop.md) | :heavy_check_mark: | N/A | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file diff --git a/docs/models/pipelinefunctiondropdimensions.md b/docs/models/pipelinefunctiondropdimensions.md index 92db1aed4..b7f9eef25 100644 --- a/docs/models/pipelinefunctiondropdimensions.md +++ b/docs/models/pipelinefunctiondropdimensions.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.PipelineFunctionDropDimensionsConf](../models/pipelinefunctiondropdimensionsconf.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionDropDimensionsID](../models/pipelinefunctiondropdimensionsid.md) | :heavy_check_mark: | Identifier of the Function. Always drop_dimensions | drop_dimensions | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.PipelineFunctionDropDimensionsConf](../models/pipelinefunctiondropdimensionsconf.md) | :heavy_check_mark: | Configuration specific to the Pipeline Function. | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file diff --git a/docs/models/pipelinefunctiondropdimensionsconf.md b/docs/models/pipelinefunctiondropdimensionsconf.md index 55e90c339..c96fb74bd 100644 --- a/docs/models/pipelinefunctiondropdimensionsconf.md +++ b/docs/models/pipelinefunctiondropdimensionsconf.md @@ -1,5 +1,7 @@ # PipelineFunctionDropDimensionsConf +Configuration specific to the Pipeline Function. + ## Fields 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..af6899eab 100644 --- a/docs/models/pipelinefunctiondynamicsampling.md +++ b/docs/models/pipelinefunctiondynamicsampling.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.PipelineFunctionDynamicSamplingConf](../models/pipelinefunctiondynamicsamplingconf.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionDynamicSamplingID](../models/pipelinefunctiondynamicsamplingid.md) | :heavy_check_mark: | Identifier of the Function. Always dynamic_sampling | dynamic_sampling | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.PipelineFunctionDynamicSamplingConf](../models/pipelinefunctiondynamicsamplingconf.md) | :heavy_check_mark: | Configuration specific to the Pipeline Function. | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file diff --git a/docs/models/pipelinefunctiondynamicsamplingconf.md b/docs/models/pipelinefunctiondynamicsamplingconf.md index fd2b930c9..7b4ecdecf 100644 --- a/docs/models/pipelinefunctiondynamicsamplingconf.md +++ b/docs/models/pipelinefunctiondynamicsamplingconf.md @@ -1,5 +1,7 @@ # PipelineFunctionDynamicSamplingConf +Configuration specific to the Pipeline Function. + ## Fields 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..be286b6f1 100644 --- a/docs/models/pipelinefunctioneval.md +++ b/docs/models/pipelinefunctioneval.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.FunctionConfSchemaEval](../models/functionconfschemaeval.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionEvalID](../models/pipelinefunctionevalid.md) | :heavy_check_mark: | Identifier of the Function. Always eval | eval | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.FunctionConfSchemaEval](../models/functionconfschemaeval.md) | :heavy_check_mark: | N/A | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..5281cb8c2 100644 --- a/docs/models/pipelinefunctioneventbreaker.md +++ b/docs/models/pipelinefunctioneventbreaker.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.PipelineFunctionEventBreakerConf](../models/pipelinefunctioneventbreakerconf.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionEventBreakerID](../models/pipelinefunctioneventbreakerid.md) | :heavy_check_mark: | Identifier of the Function. Always event_breaker | event_breaker | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.PipelineFunctionEventBreakerConf](../models/pipelinefunctioneventbreakerconf.md) | :heavy_check_mark: | Configuration specific to the Pipeline Function. | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file diff --git a/docs/models/pipelinefunctioneventbreakerconf.md b/docs/models/pipelinefunctioneventbreakerconf.md index 8cc9377b9..431060770 100644 --- a/docs/models/pipelinefunctioneventbreakerconf.md +++ b/docs/models/pipelinefunctioneventbreakerconf.md @@ -1,5 +1,7 @@ # PipelineFunctionEventBreakerConf +Configuration specific to the Pipeline Function. + ## Supported Types 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..f38d3bbed 100644 --- a/docs/models/pipelinefunctioneventstats.md +++ b/docs/models/pipelinefunctioneventstats.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.EventstatsConfiguration](../models/eventstatsconfiguration.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionEventstatsID](../models/pipelinefunctioneventstatsid.md) | :heavy_check_mark: | Identifier of the Function. Always eventstats | eventstats | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.EventstatsConfiguration](../models/eventstatsconfiguration.md) | :heavy_check_mark: | Configuration specific to the Pipeline Function. | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..d63c6a15b 100644 --- a/docs/models/pipelinefunctionexternaldata.md +++ b/docs/models/pipelinefunctionexternaldata.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.FunctionConfSchemaExternaldata](../models/functionconfschemaexternaldata.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionExternaldataID](../models/pipelinefunctionexternaldataid.md) | :heavy_check_mark: | Identifier of the Function. Always externaldata | externaldata | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.FunctionConfSchemaExternaldata](../models/functionconfschemaexternaldata.md) | :heavy_check_mark: | N/A | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..79f1f1f1b 100644 --- a/docs/models/pipelinefunctionflatten.md +++ b/docs/models/pipelinefunctionflatten.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.FunctionConfSchemaFlatten](../models/functionconfschemaflatten.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionFlattenID](../models/pipelinefunctionflattenid.md) | :heavy_check_mark: | Identifier of the Function. Always flatten | flatten | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.FunctionConfSchemaFlatten](../models/functionconfschemaflatten.md) | :heavy_check_mark: | N/A | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..2ced575ab 100644 --- a/docs/models/pipelinefunctionfoldkeys.md +++ b/docs/models/pipelinefunctionfoldkeys.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.FunctionConfSchemaFoldkeys](../models/functionconfschemafoldkeys.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionFoldkeysID](../models/pipelinefunctionfoldkeysid.md) | :heavy_check_mark: | Identifier of the Function. Always foldkeys | foldkeys | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.FunctionConfSchemaFoldkeys](../models/functionconfschemafoldkeys.md) | :heavy_check_mark: | N/A | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..aca612f8a 100644 --- a/docs/models/pipelinefunctiongenstats.md +++ b/docs/models/pipelinefunctiongenstats.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.FunctionConfSchemaGenStats](../models/functionconfschemagenstats.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionGenStatsID](../models/pipelinefunctiongenstatsid.md) | :heavy_check_mark: | Identifier of the Function. Always gen_stats | gen_stats | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.FunctionConfSchemaGenStats](../models/functionconfschemagenstats.md) | :heavy_check_mark: | N/A | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..d7ebe4cc1 100644 --- a/docs/models/pipelinefunctiongeoip.md +++ b/docs/models/pipelinefunctiongeoip.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.PipelineFunctionGeoipConf](../models/pipelinefunctiongeoipconf.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionGeoipID](../models/pipelinefunctiongeoipid.md) | :heavy_check_mark: | Identifier of the Function. Always geoip | geoip | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.PipelineFunctionGeoipConf](../models/pipelinefunctiongeoipconf.md) | :heavy_check_mark: | Configuration specific to the Pipeline Function. | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file diff --git a/docs/models/pipelinefunctiongeoipconf.md b/docs/models/pipelinefunctiongeoipconf.md index 776008499..7c190200e 100644 --- a/docs/models/pipelinefunctiongeoipconf.md +++ b/docs/models/pipelinefunctiongeoipconf.md @@ -1,5 +1,7 @@ # PipelineFunctionGeoipConf +Configuration specific to the Pipeline Function. + ## Fields @@ -8,5 +10,5 @@ | `file` | *str* | :heavy_check_mark: | Select an uploaded Maxmind database, or specify path to a Maxmind database with .mmdb extension | | `in_field` | *Optional[str]* | :heavy_minus_sign: | Field name in which to find an IP to look up. Can be nested. | | `out_field` | *Optional[str]* | :heavy_minus_sign: | Field name in which to store the GeoIP lookup results | -| `additional_fields` | List[[models.AdditionalField](../models/additionalfield.md)] | :heavy_minus_sign: | N/A | +| `additional_fields` | List[[models.AdditionalField](../models/additionalfield.md)] | :heavy_minus_sign: | Additional IP fields on which to perform GeoIP lookups. | | `out_field_mappings` | [Optional[models.OutputFieldMappings]](../models/outputfieldmappings.md) | :heavy_minus_sign: | Search-specific mappings for granular control over event enrichment | \ No newline at end of file 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..ecc996455 100644 --- a/docs/models/pipelinefunctiongrok.md +++ b/docs/models/pipelinefunctiongrok.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.PipelineFunctionGrokConf](../models/pipelinefunctiongrokconf.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionGrokID](../models/pipelinefunctiongrokid.md) | :heavy_check_mark: | Identifier of the Function. Always grok | grok | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.PipelineFunctionGrokConf](../models/pipelinefunctiongrokconf.md) | :heavy_check_mark: | Configuration specific to the Pipeline Function. | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file diff --git a/docs/models/pipelinefunctiongrokconf.md b/docs/models/pipelinefunctiongrokconf.md index 693119508..f3a89c3e0 100644 --- a/docs/models/pipelinefunctiongrokconf.md +++ b/docs/models/pipelinefunctiongrokconf.md @@ -1,10 +1,12 @@ # PipelineFunctionGrokConf +Configuration specific to the Pipeline Function. + ## Fields | Field | Type | Required | Description | | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | | `pattern` | *str* | :heavy_check_mark: | Grok pattern to extract fields. Syntax supported: %{PATTERN_NAME:FIELD_NAME} | -| `pattern_list` | List[[models.PatternListConfSerdeTypeGrok](../models/patternlistconfserdetypegrok.md)] | :heavy_minus_sign: | N/A | +| `pattern_list` | List[[models.PatternListConfSerdeTypeGrok](../models/patternlistconfserdetypegrok.md)] | :heavy_minus_sign: | Additional Grok patterns to apply to the source field. | | `source` | *Optional[str]* | :heavy_minus_sign: | Field on which to perform Grok extractions | \ No newline at end of file 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..2a71256fc 100644 --- a/docs/models/pipelinefunctionhandlebars.md +++ b/docs/models/pipelinefunctionhandlebars.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.PipelineFunctionHandlebarsConf](../models/pipelinefunctionhandlebarsconf.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionHandlebarsID](../models/pipelinefunctionhandlebarsid.md) | :heavy_check_mark: | Identifier of the Function. Always handlebars | handlebars | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.PipelineFunctionHandlebarsConf](../models/pipelinefunctionhandlebarsconf.md) | :heavy_check_mark: | Configuration specific to the Pipeline Function. | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file diff --git a/docs/models/pipelinefunctionhandlebarsconf.md b/docs/models/pipelinefunctionhandlebarsconf.md index 526363d04..37fb9cff5 100644 --- a/docs/models/pipelinefunctionhandlebarsconf.md +++ b/docs/models/pipelinefunctionhandlebarsconf.md @@ -1,5 +1,7 @@ # PipelineFunctionHandlebarsConf +Configuration specific to the Pipeline Function. + ## Fields 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..3cd844df6 100644 --- a/docs/models/pipelinefunctionjoin.md +++ b/docs/models/pipelinefunctionjoin.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.JoinConfiguration](../models/joinconfiguration.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionJoinID](../models/pipelinefunctionjoinid.md) | :heavy_check_mark: | Identifier of the Function. Always join | join | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.JoinConfiguration](../models/joinconfiguration.md) | :heavy_check_mark: | Configuration specific to the Pipeline Function. | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..4600905dd 100644 --- a/docs/models/pipelinefunctionjsonunroll.md +++ b/docs/models/pipelinefunctionjsonunroll.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.PipelineFunctionJSONUnrollConf](../models/pipelinefunctionjsonunrollconf.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionJSONUnrollID](../models/pipelinefunctionjsonunrollid.md) | :heavy_check_mark: | Identifier of the Function. Always json_unroll | json_unroll | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.PipelineFunctionJSONUnrollConf](../models/pipelinefunctionjsonunrollconf.md) | :heavy_check_mark: | Configuration specific to the Pipeline Function. | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file diff --git a/docs/models/pipelinefunctionjsonunrollconf.md b/docs/models/pipelinefunctionjsonunrollconf.md index 469463f0f..436d0711f 100644 --- a/docs/models/pipelinefunctionjsonunrollconf.md +++ b/docs/models/pipelinefunctionjsonunrollconf.md @@ -1,5 +1,7 @@ # PipelineFunctionJSONUnrollConf +Configuration specific to the Pipeline Function. + ## Fields 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..78ec5c892 100644 --- a/docs/models/pipelinefunctionlakeexport.md +++ b/docs/models/pipelinefunctionlakeexport.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.LakeExportConfiguration](../models/lakeexportconfiguration.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionLakeExportID](../models/pipelinefunctionlakeexportid.md) | :heavy_check_mark: | Identifier of the Function. Always lake_export | lake_export | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.LakeExportConfiguration](../models/lakeexportconfiguration.md) | :heavy_check_mark: | Configuration specific to the Pipeline Function. | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..02da9bb0f 100644 --- a/docs/models/pipelinefunctionlimit.md +++ b/docs/models/pipelinefunctionlimit.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.FunctionConfSchemaLimit](../models/functionconfschemalimit.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionLimitID](../models/pipelinefunctionlimitid.md) | :heavy_check_mark: | Identifier of the Function. Always limit | limit | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.FunctionConfSchemaLimit](../models/functionconfschemalimit.md) | :heavy_check_mark: | N/A | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..412260bd3 100644 --- a/docs/models/pipelinefunctionlocalsearchdatatypeparser.md +++ b/docs/models/pipelinefunctionlocalsearchdatatypeparser.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.FunctionConfSchemaLocalSearchDatatypeParser](../models/functionconfschemalocalsearchdatatypeparser.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionLocalSearchDatatypeParserID](../models/pipelinefunctionlocalsearchdatatypeparserid.md) | :heavy_check_mark: | Identifier of the Function. Always local_search_datatype_parser | local_search_datatype_parser | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.FunctionConfSchemaLocalSearchDatatypeParser](../models/functionconfschemalocalsearchdatatypeparser.md) | :heavy_check_mark: | N/A | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..3e37f0664 100644 --- a/docs/models/pipelinefunctionlocalsearchrulesetrunner.md +++ b/docs/models/pipelinefunctionlocalsearchrulesetrunner.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.FunctionConfSchemaLocalSearchRulesetRunner](../models/functionconfschemalocalsearchrulesetrunner.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionLocalSearchRulesetRunnerID](../models/pipelinefunctionlocalsearchrulesetrunnerid.md) | :heavy_check_mark: | Identifier of the Function. Always local_search_ruleset_runner | local_search_ruleset_runner | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.FunctionConfSchemaLocalSearchRulesetRunner](../models/functionconfschemalocalsearchrulesetrunner.md) | :heavy_check_mark: | N/A | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..ed7ad86eb 100644 --- a/docs/models/pipelinefunctionlocalsearchschemamapper.md +++ b/docs/models/pipelinefunctionlocalsearchschemamapper.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.FunctionConfSchemaLocalSearchSchemaMapper](../models/functionconfschemalocalsearchschemamapper.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionLocalSearchSchemaMapperID](../models/pipelinefunctionlocalsearchschemamapperid.md) | :heavy_check_mark: | Identifier of the Function. Always local_search_schema_mapper | local_search_schema_mapper | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.FunctionConfSchemaLocalSearchSchemaMapper](../models/functionconfschemalocalsearchschemamapper.md) | :heavy_check_mark: | N/A | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..8f2d146b2 100644 --- a/docs/models/pipelinefunctionlocalsearchtimerangenormalizer.md +++ b/docs/models/pipelinefunctionlocalsearchtimerangenormalizer.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.FunctionConfSchemaLocalSearchTimeRangeNormalizer](../models/functionconfschemalocalsearchtimerangenormalizer.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionLocalSearchTimeRangeNormalizerID](../models/pipelinefunctionlocalsearchtimerangenormalizerid.md) | :heavy_check_mark: | Identifier of the Function. Always local_search_time_range_normalizer | local_search_time_range_normalizer | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.FunctionConfSchemaLocalSearchTimeRangeNormalizer](../models/functionconfschemalocalsearchtimerangenormalizer.md) | :heavy_check_mark: | N/A | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..bf50f92b5 100644 --- a/docs/models/pipelinefunctionlocalsearchtransformer.md +++ b/docs/models/pipelinefunctionlocalsearchtransformer.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.FunctionConfSchemaLocalSearchTransformer](../models/functionconfschemalocalsearchtransformer.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionLocalSearchTransformerID](../models/pipelinefunctionlocalsearchtransformerid.md) | :heavy_check_mark: | Identifier of the Function. Always local_search_transformer | local_search_transformer | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.FunctionConfSchemaLocalSearchTransformer](../models/functionconfschemalocalsearchtransformer.md) | :heavy_check_mark: | N/A | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..329155f94 100644 --- a/docs/models/pipelinefunctionlookup.md +++ b/docs/models/pipelinefunctionlookup.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.PipelineFunctionLookupConf](../models/pipelinefunctionlookupconf.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionLookupID](../models/pipelinefunctionlookupid.md) | :heavy_check_mark: | Identifier of the Function. Always lookup | lookup | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.PipelineFunctionLookupConf](../models/pipelinefunctionlookupconf.md) | :heavy_check_mark: | Configuration specific to the Pipeline Function. | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file diff --git a/docs/models/pipelinefunctionlookupconf.md b/docs/models/pipelinefunctionlookupconf.md index 9f311b58e..dce4343f7 100644 --- a/docs/models/pipelinefunctionlookupconf.md +++ b/docs/models/pipelinefunctionlookupconf.md @@ -1,5 +1,7 @@ # PipelineFunctionLookupConf +Configuration specific to the Pipeline Function. + ## Fields 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..32a153aa2 100644 --- a/docs/models/pipelinefunctionmask.md +++ b/docs/models/pipelinefunctionmask.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.PipelineFunctionMaskConf](../models/pipelinefunctionmaskconf.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionMaskID](../models/pipelinefunctionmaskid.md) | :heavy_check_mark: | Identifier of the Function. Always mask | mask | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.PipelineFunctionMaskConf](../models/pipelinefunctionmaskconf.md) | :heavy_check_mark: | Configuration specific to the Pipeline Function. | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file diff --git a/docs/models/pipelinefunctionmaskconf.md b/docs/models/pipelinefunctionmaskconf.md index d082fc24a..04db7e50f 100644 --- a/docs/models/pipelinefunctionmaskconf.md +++ b/docs/models/pipelinefunctionmaskconf.md @@ -1,11 +1,13 @@ # PipelineFunctionMaskConf +Configuration specific to the Pipeline Function. + ## Fields | Field | Type | Required | Description | | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | -| `rules` | List[[models.PipelineFunctionMaskRule](../models/pipelinefunctionmaskrule.md)] | :heavy_check_mark: | N/A | +| `rules` | List[[models.PipelineFunctionMaskRule](../models/pipelinefunctionmaskrule.md)] | :heavy_check_mark: | List of masking rules, each specifying a regex to match and an expression to replace matched content. | | `fields` | List[*str*] | :heavy_minus_sign: | Fields on which to apply the masking rules. Supports * wildcards, except when used on internal fields. | | `depth` | *Optional[int]* | :heavy_minus_sign: | Depth to which the Mask Function will search for fields to mask | | `flags` | List[[models.AddConfFunctionConfSchemaAggregation](../models/addconffunctionconfschemaaggregation.md)] | :heavy_minus_sign: | Fields to evaluate if one or more masking rules are matched | \ No newline at end of file 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..6d56dfca4 100644 --- a/docs/models/pipelinefunctionmvexpand.md +++ b/docs/models/pipelinefunctionmvexpand.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.PipelineFunctionMvExpandConf](../models/pipelinefunctionmvexpandconf.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionMvExpandID](../models/pipelinefunctionmvexpandid.md) | :heavy_check_mark: | Identifier of the Function. Always mv_expand | mv_expand | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.PipelineFunctionMvExpandConf](../models/pipelinefunctionmvexpandconf.md) | :heavy_check_mark: | Configuration specific to the Pipeline Function. | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file diff --git a/docs/models/pipelinefunctionmvexpandconf.md b/docs/models/pipelinefunctionmvexpandconf.md index 07854980a..013ebcfb2 100644 --- a/docs/models/pipelinefunctionmvexpandconf.md +++ b/docs/models/pipelinefunctionmvexpandconf.md @@ -1,5 +1,7 @@ # PipelineFunctionMvExpandConf +Configuration specific to the Pipeline Function. + ## Fields 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..a60f10aaa 100644 --- a/docs/models/pipelinefunctionmvpull.md +++ b/docs/models/pipelinefunctionmvpull.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.PipelineFunctionMvPullConf](../models/pipelinefunctionmvpullconf.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionMvPullID](../models/pipelinefunctionmvpullid.md) | :heavy_check_mark: | Identifier of the Function. Always mv_pull | mv_pull | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.PipelineFunctionMvPullConf](../models/pipelinefunctionmvpullconf.md) | :heavy_check_mark: | Configuration specific to the Pipeline Function. | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file diff --git a/docs/models/pipelinefunctionmvpullconf.md b/docs/models/pipelinefunctionmvpullconf.md index 802a17956..fddb5a263 100644 --- a/docs/models/pipelinefunctionmvpullconf.md +++ b/docs/models/pipelinefunctionmvpullconf.md @@ -1,5 +1,7 @@ # PipelineFunctionMvPullConf +Configuration specific to the Pipeline Function. + ## Fields 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..fbe37d0d0 100644 --- a/docs/models/pipelinefunctionnotificationpolicies.md +++ b/docs/models/pipelinefunctionnotificationpolicies.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.FunctionConfSchemaNotificationPolicies](../models/functionconfschemanotificationpolicies.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionNotificationPoliciesID](../models/pipelinefunctionnotificationpoliciesid.md) | :heavy_check_mark: | Identifier of the Function. Always notification_policies | notification_policies | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.FunctionConfSchemaNotificationPolicies](../models/functionconfschemanotificationpolicies.md) | :heavy_check_mark: | N/A | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..1c15f338f 100644 --- a/docs/models/pipelinefunctionnotifications.md +++ b/docs/models/pipelinefunctionnotifications.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.PipelineFunctionNotificationsConf](../models/pipelinefunctionnotificationsconf.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionNotificationsID](../models/pipelinefunctionnotificationsid.md) | :heavy_check_mark: | Identifier of the Function. Always notifications | notifications | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.PipelineFunctionNotificationsConf](../models/pipelinefunctionnotificationsconf.md) | :heavy_check_mark: | Configuration specific to the Pipeline Function. | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file diff --git a/docs/models/pipelinefunctionnotificationsconf.md b/docs/models/pipelinefunctionnotificationsconf.md index 7e6786786..d9e9b09ee 100644 --- a/docs/models/pipelinefunctionnotificationsconf.md +++ b/docs/models/pipelinefunctionnotificationsconf.md @@ -1,5 +1,7 @@ # PipelineFunctionNotificationsConf +Configuration specific to the Pipeline Function. + ## Fields 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..a1ad3aef6 100644 --- a/docs/models/pipelinefunctionnotify.md +++ b/docs/models/pipelinefunctionnotify.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.NotifyConfiguration](../models/notifyconfiguration.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionNotifyID](../models/pipelinefunctionnotifyid.md) | :heavy_check_mark: | Identifier of the Function. Always notify | notify | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.NotifyConfiguration](../models/notifyconfiguration.md) | :heavy_check_mark: | Configuration specific to the Pipeline Function. | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..d52cab570 100644 --- a/docs/models/pipelinefunctionnumerify.md +++ b/docs/models/pipelinefunctionnumerify.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.FunctionConfSchemaNumerify](../models/functionconfschemanumerify.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionNumerifyID](../models/pipelinefunctionnumerifyid.md) | :heavy_check_mark: | Identifier of the Function. Always numerify | numerify | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.FunctionConfSchemaNumerify](../models/functionconfschemanumerify.md) | :heavy_check_mark: | N/A | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..5a1df30b0 100644 --- a/docs/models/pipelinefunctionotlplogs.md +++ b/docs/models/pipelinefunctionotlplogs.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.FunctionConfSchemaOtlpLogs](../models/functionconfschemaotlplogs.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionOtlpLogsID](../models/pipelinefunctionotlplogsid.md) | :heavy_check_mark: | Identifier of the Function. Always otlp_logs | otlp_logs | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.FunctionConfSchemaOtlpLogs](../models/functionconfschemaotlplogs.md) | :heavy_check_mark: | N/A | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..3bc49bc0f 100644 --- a/docs/models/pipelinefunctionotlpmetrics.md +++ b/docs/models/pipelinefunctionotlpmetrics.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.FunctionConfSchemaOtlpMetrics](../models/functionconfschemaotlpmetrics.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionOtlpMetricsID](../models/pipelinefunctionotlpmetricsid.md) | :heavy_check_mark: | Identifier of the Function. Always otlp_metrics | otlp_metrics | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.FunctionConfSchemaOtlpMetrics](../models/functionconfschemaotlpmetrics.md) | :heavy_check_mark: | N/A | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..e8b210083 100644 --- a/docs/models/pipelinefunctionotlptraces.md +++ b/docs/models/pipelinefunctionotlptraces.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.FunctionConfSchemaOtlpTraces](../models/functionconfschemaotlptraces.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionOtlpTracesID](../models/pipelinefunctionotlptracesid.md) | :heavy_check_mark: | Identifier of the Function. Always otlp_traces | otlp_traces | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.FunctionConfSchemaOtlpTraces](../models/functionconfschemaotlptraces.md) | :heavy_check_mark: | N/A | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..91eab8f07 100644 --- a/docs/models/pipelinefunctionpack.md +++ b/docs/models/pipelinefunctionpack.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.PipelineFunctionPackConf](../models/pipelinefunctionpackconf.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionPackID](../models/pipelinefunctionpackid.md) | :heavy_check_mark: | Identifier of the Function. Always pack | pack | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.PipelineFunctionPackConf](../models/pipelinefunctionpackconf.md) | :heavy_check_mark: | Configuration specific to the Pipeline Function. | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file diff --git a/docs/models/pipelinefunctionpackconf.md b/docs/models/pipelinefunctionpackconf.md index 96947063d..9870ab7c3 100644 --- a/docs/models/pipelinefunctionpackconf.md +++ b/docs/models/pipelinefunctionpackconf.md @@ -1,5 +1,7 @@ # PipelineFunctionPackConf +Configuration specific to the Pipeline Function. + ## Fields 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..8407f53bd 100644 --- a/docs/models/pipelinefunctionpivot.md +++ b/docs/models/pipelinefunctionpivot.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.SimplePivotConfiguration](../models/simplepivotconfiguration.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionPivotID](../models/pipelinefunctionpivotid.md) | :heavy_check_mark: | Identifier of the Function. Always pivot | pivot | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.SimplePivotConfiguration](../models/simplepivotconfiguration.md) | :heavy_check_mark: | Configuration specific to the Pipeline Function. | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..69b9a26a5 100644 --- a/docs/models/pipelinefunctionpublishmetrics.md +++ b/docs/models/pipelinefunctionpublishmetrics.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.FunctionConfSchemaPublishMetrics](../models/functionconfschemapublishmetrics.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionPublishMetricsID](../models/pipelinefunctionpublishmetricsid.md) | :heavy_check_mark: | Identifier of the Function. Always publish_metrics | publish_metrics | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.FunctionConfSchemaPublishMetrics](../models/functionconfschemapublishmetrics.md) | :heavy_check_mark: | N/A | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..91deb728f 100644 --- a/docs/models/pipelinefunctionredis.md +++ b/docs/models/pipelinefunctionredis.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.PipelineFunctionRedisConf](../models/pipelinefunctionredisconf.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionRedisID](../models/pipelinefunctionredisid.md) | :heavy_check_mark: | Identifier of the Function. Always redis | redis | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.PipelineFunctionRedisConf](../models/pipelinefunctionredisconf.md) | :heavy_check_mark: | Configuration specific to the Pipeline Function. | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file diff --git a/docs/models/pipelinefunctionredisconf.md b/docs/models/pipelinefunctionredisconf.md index bac12224b..19bb023df 100644 --- a/docs/models/pipelinefunctionredisconf.md +++ b/docs/models/pipelinefunctionredisconf.md @@ -1,5 +1,7 @@ # PipelineFunctionRedisConf +Configuration specific to the Pipeline Function. + ## Supported Types 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..fa0084c61 100644 --- a/docs/models/pipelinefunctionregexextract.md +++ b/docs/models/pipelinefunctionregexextract.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.PipelineFunctionRegexExtractConf](../models/pipelinefunctionregexextractconf.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionRegexExtractID](../models/pipelinefunctionregexextractid.md) | :heavy_check_mark: | Identifier of the Function. Always regex_extract | regex_extract | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.PipelineFunctionRegexExtractConf](../models/pipelinefunctionregexextractconf.md) | :heavy_check_mark: | Configuration specific to the Pipeline Function. | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file diff --git a/docs/models/pipelinefunctionregexextractconf.md b/docs/models/pipelinefunctionregexextractconf.md index eb7e3d1d1..82d112a6d 100644 --- a/docs/models/pipelinefunctionregexextractconf.md +++ b/docs/models/pipelinefunctionregexextractconf.md @@ -1,12 +1,14 @@ # PipelineFunctionRegexExtractConf +Configuration specific to the Pipeline Function. + ## Fields | Field | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `regex` | *str* | :heavy_check_mark: | Regex literal with named capturing groups, such as (?bar), or _NAME_ and _VALUE_ capturing groups, such as (?<_NAME_0>[^ =]+)=(?<_VALUE_0>[^,]+) | -| `regex_list` | List[[models.RegexListConfSerdeTypeRegex](../models/regexlistconfserdetyperegex.md)] | :heavy_minus_sign: | N/A | +| `regex_list` | List[[models.RegexListConfSerdeTypeRegex](../models/regexlistconfserdetyperegex.md)] | :heavy_minus_sign: | Additional regex patterns to apply for field extraction. | | `source` | *Optional[str]* | :heavy_minus_sign: | Field on which to perform regex field extraction | | `iterations` | *Optional[float]* | :heavy_minus_sign: | The maximum number of times to apply regex to source field when the global flag is set, or when using _NAME_ and _VALUE_ capturing groups | | `field_name_expression` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression to format field names when _NAME_n and _VALUE_n capturing groups are used. Original field name is in global variable 'name'. Example: To append XX to all field names, use `${name}_XX` (backticks are literal). If empty, names will be sanitized using this regex: /^[_0-9]+\|[^a-zA-Z0-9_]+/g. You can access other fields values via __e.. | 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..8eb4557b3 100644 --- a/docs/models/pipelinefunctionregexfilter.md +++ b/docs/models/pipelinefunctionregexfilter.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.FunctionConfSchemaRegexFilter](../models/functionconfschemaregexfilter.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionRegexFilterID](../models/pipelinefunctionregexfilterid.md) | :heavy_check_mark: | Identifier of the Function. Always regex_filter | regex_filter | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.FunctionConfSchemaRegexFilter](../models/functionconfschemaregexfilter.md) | :heavy_check_mark: | N/A | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..297a0087b 100644 --- a/docs/models/pipelinefunctionrename.md +++ b/docs/models/pipelinefunctionrename.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.FunctionConfSchemaRename](../models/functionconfschemarename.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionRenameID](../models/pipelinefunctionrenameid.md) | :heavy_check_mark: | Identifier of the Function. Always rename | rename | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.FunctionConfSchemaRename](../models/functionconfschemarename.md) | :heavy_check_mark: | N/A | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..3901f9b99 100644 --- a/docs/models/pipelinefunctionrollupmetrics.md +++ b/docs/models/pipelinefunctionrollupmetrics.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.FunctionConfSchemaRollupMetrics](../models/functionconfschemarollupmetrics.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionRollupMetricsID](../models/pipelinefunctionrollupmetricsid.md) | :heavy_check_mark: | Identifier of the Function. Always rollup_metrics | rollup_metrics | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.FunctionConfSchemaRollupMetrics](../models/functionconfschemarollupmetrics.md) | :heavy_check_mark: | N/A | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..6207eaff9 100644 --- a/docs/models/pipelinefunctionsampling.md +++ b/docs/models/pipelinefunctionsampling.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.FunctionConfSchemaSampling](../models/functionconfschemasampling.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionSamplingID](../models/pipelinefunctionsamplingid.md) | :heavy_check_mark: | Identifier of the Function. Always sampling | sampling | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.FunctionConfSchemaSampling](../models/functionconfschemasampling.md) | :heavy_check_mark: | N/A | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..eacd4f331 100644 --- a/docs/models/pipelinefunctionsearchengineexport.md +++ b/docs/models/pipelinefunctionsearchengineexport.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.SearchEngineExportConfiguration](../models/searchengineexportconfiguration.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionSearchEngineExportID](../models/pipelinefunctionsearchengineexportid.md) | :heavy_check_mark: | Identifier of the Function. Always search_engine_export | search_engine_export | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.SearchEngineExportConfiguration](../models/searchengineexportconfiguration.md) | :heavy_check_mark: | Configuration specific to the Pipeline Function. | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..69297697f 100644 --- a/docs/models/pipelinefunctionsend.md +++ b/docs/models/pipelinefunctionsend.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.SendConfiguration](../models/sendconfiguration.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionSendID](../models/pipelinefunctionsendid.md) | :heavy_check_mark: | Identifier of the Function. Always send | send | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.SendConfiguration](../models/sendconfiguration.md) | :heavy_check_mark: | Configuration specific to the Pipeline Function. | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..60b67348a 100644 --- a/docs/models/pipelinefunctionsensitivedatascanner.md +++ b/docs/models/pipelinefunctionsensitivedatascanner.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.PipelineFunctionSensitiveDataScannerConf](../models/pipelinefunctionsensitivedatascannerconf.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionSensitiveDataScannerID](../models/pipelinefunctionsensitivedatascannerid.md) | :heavy_check_mark: | Identifier of the Function. Always sensitive_data_scanner | sensitive_data_scanner | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.PipelineFunctionSensitiveDataScannerConf](../models/pipelinefunctionsensitivedatascannerconf.md) | :heavy_check_mark: | Configuration specific to the Pipeline Function. | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file diff --git a/docs/models/pipelinefunctionsensitivedatascannerconf.md b/docs/models/pipelinefunctionsensitivedatascannerconf.md index 86af73cf1..d8d7f597a 100644 --- a/docs/models/pipelinefunctionsensitivedatascannerconf.md +++ b/docs/models/pipelinefunctionsensitivedatascannerconf.md @@ -1,13 +1,15 @@ # PipelineFunctionSensitiveDataScannerConf +Configuration specific to the Pipeline Function. + ## Fields | Field | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | -| `rules` | List[[models.PipelineFunctionSensitiveDataScannerRule](../models/pipelinefunctionsensitivedatascannerrule.md)] | :heavy_check_mark: | N/A | +| `rules` | List[[models.PipelineFunctionSensitiveDataScannerRule](../models/pipelinefunctionsensitivedatascannerrule.md)] | :heavy_check_mark: | List of scanning rulesets to apply, each with a ruleset ID and a mitigation expression. | | `fields` | List[*str*] | :heavy_minus_sign: | Rulesets act on the events contained in these fields. Mitigation expressions apply to the scan results. Supports wildcards (*). | | `exclude_fields` | List[*str*] | :heavy_minus_sign: | Fields that the mitigation expression will not be applied to. Supports wildcards (*). | | `flags` | List[[models.Flag](../models/flag.md)] | :heavy_minus_sign: | Fields to add when mitigation is applied to an event | | `include_detected_rules` | *Optional[bool]* | :heavy_minus_sign: | Add matching ruleset IDs to a field called "__detected" | -| `background_detection` | *Optional[bool]* | :heavy_minus_sign: | N/A | \ No newline at end of file +| `background_detection` | *Optional[bool]* | :heavy_minus_sign: | Run detection in the background without blocking event processing. | \ No newline at end of file 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..02cf5dd77 100644 --- a/docs/models/pipelinefunctionserde.md +++ b/docs/models/pipelinefunctionserde.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.PipelineFunctionSerdeConf](../models/pipelinefunctionserdeconf.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionSerdeID](../models/pipelinefunctionserdeid.md) | :heavy_check_mark: | Identifier of the Function. Always serde | serde | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.PipelineFunctionSerdeConf](../models/pipelinefunctionserdeconf.md) | :heavy_check_mark: | Configuration specific to the Pipeline Function. | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file diff --git a/docs/models/pipelinefunctionserdeconf.md b/docs/models/pipelinefunctionserdeconf.md index b29cea1e7..3b3691428 100644 --- a/docs/models/pipelinefunctionserdeconf.md +++ b/docs/models/pipelinefunctionserdeconf.md @@ -1,5 +1,7 @@ # PipelineFunctionSerdeConf +Configuration specific to the Pipeline Function. + ## Supported Types @@ -33,6 +35,12 @@ value: models.SerdeTypeJSON = /* values here */ value: models.SerdeTypeRegex = /* values here */ ``` +### `models.SerdeTypeAuto` + +```python +value: models.SerdeTypeAuto = /* values here */ +``` + ### `models.SerdeTypeGrok` ```python 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..41dbfc99a 100644 --- a/docs/models/pipelinefunctionserialize.md +++ b/docs/models/pipelinefunctionserialize.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.PipelineFunctionSerializeConf](../models/pipelinefunctionserializeconf.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionSerializeID](../models/pipelinefunctionserializeid.md) | :heavy_check_mark: | Identifier of the Function. Always serialize | serialize | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.PipelineFunctionSerializeConf](../models/pipelinefunctionserializeconf.md) | :heavy_check_mark: | Configuration specific to the Pipeline Function. | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file diff --git a/docs/models/pipelinefunctionserializeconf.md b/docs/models/pipelinefunctionserializeconf.md index b6f5703f3..72adb398a 100644 --- a/docs/models/pipelinefunctionserializeconf.md +++ b/docs/models/pipelinefunctionserializeconf.md @@ -1,5 +1,7 @@ # PipelineFunctionSerializeConf +Configuration specific to the Pipeline Function. + ## Supported Types 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..4c763effd 100644 --- a/docs/models/pipelinefunctionsidlookup.md +++ b/docs/models/pipelinefunctionsidlookup.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.FunctionConfSchemaSidlookup](../models/functionconfschemasidlookup.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionSidlookupID](../models/pipelinefunctionsidlookupid.md) | :heavy_check_mark: | Identifier of the Function. Always sidlookup | sidlookup | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.FunctionConfSchemaSidlookup](../models/functionconfschemasidlookup.md) | :heavy_check_mark: | N/A | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..51aa5ef52 100644 --- a/docs/models/pipelinefunctionsignalfilter.md +++ b/docs/models/pipelinefunctionsignalfilter.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.FunctionConfSchemaSignalFilter](../models/functionconfschemasignalfilter.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionSignalFilterID](../models/pipelinefunctionsignalfilterid.md) | :heavy_check_mark: | Identifier of the Function. Always signal_filter | signal_filter | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.FunctionConfSchemaSignalFilter](../models/functionconfschemasignalfilter.md) | :heavy_check_mark: | N/A | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..9bba6720d 100644 --- a/docs/models/pipelinefunctionsnmptrapserialize.md +++ b/docs/models/pipelinefunctionsnmptrapserialize.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.FunctionConfSchemaSnmpTrapSerialize](../models/functionconfschemasnmptrapserialize.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionSnmpTrapSerializeID](../models/pipelinefunctionsnmptrapserializeid.md) | :heavy_check_mark: | Identifier of the Function. Always snmp_trap_serialize | snmp_trap_serialize | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.FunctionConfSchemaSnmpTrapSerialize](../models/functionconfschemasnmptrapserialize.md) | :heavy_check_mark: | N/A | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..737fda364 100644 --- a/docs/models/pipelinefunctionsort.md +++ b/docs/models/pipelinefunctionsort.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.SortConfiguration](../models/sortconfiguration.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionSortID](../models/pipelinefunctionsortid.md) | :heavy_check_mark: | Identifier of the Function. Always sort | sort | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.SortConfiguration](../models/sortconfiguration.md) | :heavy_check_mark: | Configuration specific to the Pipeline Function. | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..3f5f5f93c 100644 --- a/docs/models/pipelinefunctionstore.md +++ b/docs/models/pipelinefunctionstore.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.StoreFunctionConfiguration](../models/storefunctionconfiguration.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionStoreID](../models/pipelinefunctionstoreid.md) | :heavy_check_mark: | Identifier of the Function. Always store | store | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.StoreFunctionConfiguration](../models/storefunctionconfiguration.md) | :heavy_check_mark: | Configuration specific to the Pipeline Function. | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..74d92ef7e 100644 --- a/docs/models/pipelinefunctionsuppress.md +++ b/docs/models/pipelinefunctionsuppress.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.PipelineFunctionSuppressConf](../models/pipelinefunctionsuppressconf.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionSuppressID](../models/pipelinefunctionsuppressid.md) | :heavy_check_mark: | Identifier of the Function. Always suppress | suppress | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.PipelineFunctionSuppressConf](../models/pipelinefunctionsuppressconf.md) | :heavy_check_mark: | Configuration specific to the Pipeline Function. | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file diff --git a/docs/models/pipelinefunctionsuppressconf.md b/docs/models/pipelinefunctionsuppressconf.md index 7fdd75fb2..fbbb8cc3a 100644 --- a/docs/models/pipelinefunctionsuppressconf.md +++ b/docs/models/pipelinefunctionsuppressconf.md @@ -1,5 +1,7 @@ # PipelineFunctionSuppressConf +Configuration specific to the Pipeline Function. + ## Fields 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..fff717bd7 100644 --- a/docs/models/pipelinefunctiontee.md +++ b/docs/models/pipelinefunctiontee.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.PipelineFunctionTeeConf](../models/pipelinefunctionteeconf.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionTeeID](../models/pipelinefunctionteeid.md) | :heavy_check_mark: | Identifier of the Function. Always tee | tee | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.PipelineFunctionTeeConf](../models/pipelinefunctionteeconf.md) | :heavy_check_mark: | Configuration specific to the Pipeline Function. | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file diff --git a/docs/models/pipelinefunctionteeconf.md b/docs/models/pipelinefunctionteeconf.md index 80c3cd273..cd20fcfcc 100644 --- a/docs/models/pipelinefunctionteeconf.md +++ b/docs/models/pipelinefunctionteeconf.md @@ -1,11 +1,13 @@ # PipelineFunctionTeeConf +Configuration specific to the Pipeline Function. + ## Fields | Field | Type | Required | Description | | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | | `command` | *str* | :heavy_check_mark: | Command to execute and feed events to, via stdin. One JSON-formatted event per line. | -| `args` | List[*str*] | :heavy_minus_sign: | N/A | +| `args` | List[*str*] | :heavy_minus_sign: | Command-line arguments to pass to the command. | | `restart_on_exit` | *Optional[bool]* | :heavy_minus_sign: | Restart the process if it exits and/or we fail to write to it | | `env` | Dict[str, *str*] | :heavy_minus_sign: | Environment variables to overwrite or set | \ No newline at end of file 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..a7c061f58 100644 --- a/docs/models/pipelinefunctiontrimtimestamp.md +++ b/docs/models/pipelinefunctiontrimtimestamp.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.FunctionConfSchemaTrimTimestamp](../models/functionconfschematrimtimestamp.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionTrimTimestampID](../models/pipelinefunctiontrimtimestampid.md) | :heavy_check_mark: | Identifier of the Function. Always trim_timestamp | trim_timestamp | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.FunctionConfSchemaTrimTimestamp](../models/functionconfschematrimtimestamp.md) | :heavy_check_mark: | N/A | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..2bdd73673 100644 --- a/docs/models/pipelinefunctionunion.md +++ b/docs/models/pipelinefunctionunion.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.UnionConfiguration](../models/unionconfiguration.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionUnionID](../models/pipelinefunctionunionid.md) | :heavy_check_mark: | Identifier of the Function. Always union | union | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.UnionConfiguration](../models/unionconfiguration.md) | :heavy_check_mark: | Configuration specific to the Pipeline Function. | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file 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..0521fa933 100644 --- a/docs/models/pipelinefunctionunroll.md +++ b/docs/models/pipelinefunctionunroll.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.PipelineFunctionUnrollConf](../models/pipelinefunctionunrollconf.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionUnrollID](../models/pipelinefunctionunrollid.md) | :heavy_check_mark: | Identifier of the Function. Always unroll | unroll | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.PipelineFunctionUnrollConf](../models/pipelinefunctionunrollconf.md) | :heavy_check_mark: | Configuration specific to the Pipeline Function. | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file diff --git a/docs/models/pipelinefunctionunrollconf.md b/docs/models/pipelinefunctionunrollconf.md index 21a412770..09142f36f 100644 --- a/docs/models/pipelinefunctionunrollconf.md +++ b/docs/models/pipelinefunctionunrollconf.md @@ -1,5 +1,7 @@ # PipelineFunctionUnrollConf +Configuration specific to the Pipeline Function. + ## Fields 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..c994ef602 100644 --- a/docs/models/pipelinefunctionwindow.md +++ b/docs/models/pipelinefunctionwindow.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.PipelineFunctionWindowConf](../models/pipelinefunctionwindowconf.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionWindowID](../models/pipelinefunctionwindowid.md) | :heavy_check_mark: | Identifier of the Function. Always window | window | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.PipelineFunctionWindowConf](../models/pipelinefunctionwindowconf.md) | :heavy_check_mark: | Configuration specific to the Pipeline Function. | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file diff --git a/docs/models/pipelinefunctionwindowconf.md b/docs/models/pipelinefunctionwindowconf.md index 46c777823..0bb07923d 100644 --- a/docs/models/pipelinefunctionwindowconf.md +++ b/docs/models/pipelinefunctionwindowconf.md @@ -1,5 +1,7 @@ # PipelineFunctionWindowConf +Configuration specific to the Pipeline Function. + ## Fields 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..f6ad06699 100644 --- a/docs/models/pipelinefunctionxmlunroll.md +++ b/docs/models/pipelinefunctionxmlunroll.md @@ -3,12 +3,12 @@ ## Fields -| 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 | -| `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 | -| `conf` | [models.PipelineFunctionXMLUnrollConf](../models/pipelinefunctionxmlunrollconf.md) | :heavy_check_mark: | N/A | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Group ID | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression that selects data to pass through the Function. | | +| `id` | [models.PipelineFunctionXMLUnrollID](../models/pipelinefunctionxmlunrollid.md) | :heavy_check_mark: | Identifier of the Function. Always xml_unroll | xml_unroll | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pipeline function. | | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable the Pipeline function so that events are not passed through it. Otherwise, false. | | +| `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false. | | +| `conf` | [models.PipelineFunctionXMLUnrollConf](../models/pipelinefunctionxmlunrollconf.md) | :heavy_check_mark: | Configuration specific to the Pipeline Function. | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the group that contains the Pipeline Function. | | \ No newline at end of file diff --git a/docs/models/pipelinefunctionxmlunrollconf.md b/docs/models/pipelinefunctionxmlunrollconf.md index 8b8ac7fe4..85f65bc69 100644 --- a/docs/models/pipelinefunctionxmlunrollconf.md +++ b/docs/models/pipelinefunctionxmlunrollconf.md @@ -1,5 +1,7 @@ # PipelineFunctionXMLUnrollConf +Configuration specific to the Pipeline Function. + ## Fields 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/pipelinegroups.md b/docs/models/pipelinegroups.md index b425e424d..cfda9e687 100644 --- a/docs/models/pipelinegroups.md +++ b/docs/models/pipelinegroups.md @@ -3,8 +3,8 @@ ## Fields -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `name` | *str* | :heavy_check_mark: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | +| `name` | *str* | :heavy_check_mark: | Name of the group. | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the group. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, disable all items in the group. Otherwise, false. | \ No newline at end of file diff --git a/docs/models/pipelineinput.md b/docs/models/pipelineinput.md index 268ac73bb..04c1ba0d6 100644 --- a/docs/models/pipelineinput.md +++ b/docs/models/pipelineinput.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------ | ------------------------------------------ | ------------------------------------------ | ------------------------------------------ | -| `id` | *str* | :heavy_check_mark: | N/A | -| `conf` | [models.ConfInput](../models/confinput.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | Unique identifier for the Pipeline. | +| `conf` | [models.ConfInput](../models/confinput.md) | :heavy_check_mark: | Configuration for the Pipeline, including functions and settings. | \ No newline at end of file diff --git a/docs/models/policy.md b/docs/models/policy.md index d1f546302..529d2cc00 100644 --- a/docs/models/policy.md +++ b/docs/models/policy.md @@ -7,9 +7,9 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *str* | :heavy_check_mark: | Unique identifier for this policy | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, this policy will be skipped during evaluation | -| `wait_to_group` | *Optional[float]* | :heavy_minus_sign: | Time to wait (in minutes) to group similar alerts before sending | +| `wait_to_group` | *Optional[int]* | :heavy_minus_sign: | Time to wait (in minutes) to group similar alerts before sending | | `group_by_labels` | List[*str*] | :heavy_minus_sign: | Event fields to use for grouping | | `conditions` | List[List[[models.Condition](../models/condition.md)]] | :heavy_minus_sign: | List of conditions. If ANY condition matches (OR), the policy applies. Each condition is a list of tags that must ALL match (AND). | | `template_target_pairs` | List[[models.TemplateTargetPairConfFunctionConfSchemaNotificationPolicies](../models/templatetargetpairconffunctionconfschemanotificationpolicies.md)] | :heavy_check_mark: | List of targets to route to and the templates to use | | `final` | *Optional[bool]* | :heavy_minus_sign: | If true, stop evaluating further policies after this one matches | -| `order` | *float* | :heavy_check_mark: | Evaluation order of this policy (lower numbers evaluated first) | \ No newline at end of file +| `order` | *int* | :heavy_check_mark: | Evaluation order of this policy (lower numbers evaluated first) | \ No newline at end of file diff --git a/docs/models/pqtype.md b/docs/models/pqtype.md index 326dc05c2..c6bc620c2 100644 --- a/docs/models/pqtype.md +++ b/docs/models/pqtype.md @@ -6,11 +6,11 @@ | Field | Type | Required | Description | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `mode` | [Optional[models.ModeOptionsPq]](../models/modeoptionspq.md) | :heavy_minus_sign: | With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine. | -| `max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB. | +| `max_buffer_size_bytes` | *Optional[str]* | :heavy_minus_sign: | The maximum size to hold in memory before 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_buffer_size` | *Optional[float]* | :heavy_minus_sign: | Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use maxBufferSizeBytes instead. | | `commit_frequency` | *Optional[float]* | :heavy_minus_sign: | The number of events to send downstream before committing that Stream has read them | | `max_file_size` | *Optional[str]* | :heavy_minus_sign: | The maximum size to store in each queue file before closing and optionally compressing. Enter a numeral with units of KB, MB, etc. | | `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/proxytypesystemsettingsconf.md b/docs/models/proxytypesystemsettingsconf.md index 07423fbf7..67e2bd57f 100644 --- a/docs/models/proxytypesystemsettingsconf.md +++ b/docs/models/proxytypesystemsettingsconf.md @@ -1,8 +1,10 @@ # ProxyTypeSystemSettingsConf +HTTP proxy configuration for outbound connections. + ## Fields -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `use_env_vars` | *bool* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `use_env_vars` | *bool* | :heavy_check_mark: | If true, use proxy settings from environment variables (HTTP_PROXY, HTTPS_PROXY, NO_PROXY). Otherwise, false. | \ No newline at end of file diff --git a/docs/models/redisauthtypecredentialssecret.md b/docs/models/redisauthtypecredentialssecret.md index a8683fbd6..f91c678ec 100644 --- a/docs/models/redisauthtypecredentialssecret.md +++ b/docs/models/redisauthtypecredentialssecret.md @@ -5,9 +5,9 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `auth_type` | [Optional[models.RedisAuthTypeCredentialsSecretAuthenticationMethod]](../models/redisauthtypecredentialssecretauthenticationmethod.md) | :heavy_minus_sign: | N/A | +| `auth_type` | [Optional[models.RedisAuthTypeCredentialsSecretAuthenticationMethod]](../models/redisauthtypecredentialssecretauthenticationmethod.md) | :heavy_minus_sign: | Authentication method to use when connecting to Redis. | | `credentials_secret` | *str* | :heavy_check_mark: | Secret that references Redis username and password | -| `commands` | List[[models.RedisAuthTypeCredentialsSecretCommand](../models/redisauthtypecredentialssecretcommand.md)] | :heavy_check_mark: | N/A | +| `commands` | List[[models.RedisAuthTypeCredentialsSecretCommand](../models/redisauthtypecredentialssecretcommand.md)] | :heavy_check_mark: | List of Redis commands to execute against the specified keys. | | `deployment_type` | [Optional[models.RedisAuthTypeCredentialsSecretDeploymentType]](../models/redisauthtypecredentialssecretdeploymenttype.md) | :heavy_minus_sign: | How the Redis server is configured. Defaults to Standalone | | `max_block_secs` | *Optional[float]* | :heavy_minus_sign: | Maximum amount of time (seconds) to wait before assuming that Redis is down and passing events through. Use 0 to disable. | | `enable_client_side_caching` | *Optional[bool]* | :heavy_minus_sign: | Enable client-side cache. Redundant when using Redis write operations. See more options at Settings > General > Limits > Redis Cache. | @@ -17,9 +17,9 @@ | `root_nodes` | List[[models.RootNodeConfRedisDeploymentTypeCluster](../models/rootnodeconfredisdeploymenttypecluster.md)] | :heavy_minus_sign: | Root nodes to which the cluster connection should be initiated | | `tls` | *Optional[bool]* | :heavy_minus_sign: | Use TLS for connections to this cluster | | `scale_reads` | [Optional[models.ScaleReadsOptionsRedisDeploymentTypeCluster]](../models/scalereadsoptionsredisdeploymenttypecluster.md) | :heavy_minus_sign: | Which nodes read commands should be sent to | -| `master_name` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `username` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `master_name` | *Optional[str]* | :heavy_minus_sign: | Name of the Redis Sentinel master group to connect to. | +| `username` | *Optional[str]* | :heavy_minus_sign: | Username for Redis authentication. | | `template_username` | *Optional[str]* | :heavy_minus_sign: | Binds 'username' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'username' at runtime. | -| `password` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `password` | *Optional[str]* | :heavy_minus_sign: | Password for Redis authentication. | | `template_password` | *Optional[str]* | :heavy_minus_sign: | Binds 'password' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'password' at runtime. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Secret that references Redis admin password | \ No newline at end of file diff --git a/docs/models/redisauthtypecredentialssecretauthenticationmethod.md b/docs/models/redisauthtypecredentialssecretauthenticationmethod.md index f34f9459b..f1c108936 100644 --- a/docs/models/redisauthtypecredentialssecretauthenticationmethod.md +++ b/docs/models/redisauthtypecredentialssecretauthenticationmethod.md @@ -1,5 +1,7 @@ # RedisAuthTypeCredentialsSecretAuthenticationMethod +Authentication method to use when connecting to Redis. + ## Example Usage ```python diff --git a/docs/models/redisauthtypemanual.md b/docs/models/redisauthtypemanual.md index 13df8cf3e..73c2d1848 100644 --- a/docs/models/redisauthtypemanual.md +++ b/docs/models/redisauthtypemanual.md @@ -5,12 +5,12 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `auth_type` | [Optional[models.RedisAuthTypeManualAuthenticationMethod]](../models/redisauthtypemanualauthenticationmethod.md) | :heavy_minus_sign: | N/A | -| `username` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `password` | *str* | :heavy_check_mark: | N/A | +| `auth_type` | [Optional[models.RedisAuthTypeManualAuthenticationMethod]](../models/redisauthtypemanualauthenticationmethod.md) | :heavy_minus_sign: | Authentication method to use when connecting to Redis. | +| `username` | *Optional[str]* | :heavy_minus_sign: | Username for Redis authentication. | +| `password` | *str* | :heavy_check_mark: | Password for Redis authentication. | | `template_username` | *Optional[str]* | :heavy_minus_sign: | Binds 'username' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'username' at runtime. | | `template_password` | *Optional[str]* | :heavy_minus_sign: | Binds 'password' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'password' at runtime. | -| `commands` | List[[models.RedisAuthTypeManualCommand](../models/redisauthtypemanualcommand.md)] | :heavy_check_mark: | N/A | +| `commands` | List[[models.RedisAuthTypeManualCommand](../models/redisauthtypemanualcommand.md)] | :heavy_check_mark: | List of Redis commands to execute against the specified keys. | | `deployment_type` | [Optional[models.RedisAuthTypeManualDeploymentType]](../models/redisauthtypemanualdeploymenttype.md) | :heavy_minus_sign: | How the Redis server is configured. Defaults to Standalone | | `max_block_secs` | *Optional[float]* | :heavy_minus_sign: | Maximum amount of time (seconds) to wait before assuming that Redis is down and passing events through. Use 0 to disable. | | `enable_client_side_caching` | *Optional[bool]* | :heavy_minus_sign: | Enable client-side cache. Redundant when using Redis write operations. See more options at Settings > General > Limits > Redis Cache. | @@ -20,6 +20,6 @@ | `root_nodes` | List[[models.RootNodeConfRedisDeploymentTypeCluster](../models/rootnodeconfredisdeploymenttypecluster.md)] | :heavy_minus_sign: | Root nodes to which the cluster connection should be initiated | | `tls` | *Optional[bool]* | :heavy_minus_sign: | Use TLS for connections to this cluster | | `scale_reads` | [Optional[models.ScaleReadsOptionsRedisDeploymentTypeCluster]](../models/scalereadsoptionsredisdeploymenttypecluster.md) | :heavy_minus_sign: | Which nodes read commands should be sent to | -| `master_name` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `master_name` | *Optional[str]* | :heavy_minus_sign: | Name of the Redis Sentinel master group to connect to. | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Secret that references Redis username and password | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Secret that references Redis admin password | \ No newline at end of file diff --git a/docs/models/redisauthtypemanualauthenticationmethod.md b/docs/models/redisauthtypemanualauthenticationmethod.md index af13750db..3165798e3 100644 --- a/docs/models/redisauthtypemanualauthenticationmethod.md +++ b/docs/models/redisauthtypemanualauthenticationmethod.md @@ -1,5 +1,7 @@ # RedisAuthTypeManualAuthenticationMethod +Authentication method to use when connecting to Redis. + ## Example Usage ```python diff --git a/docs/models/redisauthtypenone.md b/docs/models/redisauthtypenone.md index 76ff1a9ad..5481b3a1f 100644 --- a/docs/models/redisauthtypenone.md +++ b/docs/models/redisauthtypenone.md @@ -5,8 +5,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `auth_type` | [Optional[models.RedisAuthTypeNoneAuthenticationMethod]](../models/redisauthtypenoneauthenticationmethod.md) | :heavy_minus_sign: | N/A | -| `commands` | List[[models.RedisAuthTypeNoneCommand](../models/redisauthtypenonecommand.md)] | :heavy_check_mark: | N/A | +| `auth_type` | [Optional[models.RedisAuthTypeNoneAuthenticationMethod]](../models/redisauthtypenoneauthenticationmethod.md) | :heavy_minus_sign: | Authentication method to use when connecting to Redis. | +| `commands` | List[[models.RedisAuthTypeNoneCommand](../models/redisauthtypenonecommand.md)] | :heavy_check_mark: | List of Redis commands to execute against the specified keys. | | `deployment_type` | [Optional[models.RedisAuthTypeNoneDeploymentType]](../models/redisauthtypenonedeploymenttype.md) | :heavy_minus_sign: | How the Redis server is configured. Defaults to Standalone | | `max_block_secs` | *Optional[float]* | :heavy_minus_sign: | Maximum amount of time (seconds) to wait before assuming that Redis is down and passing events through. Use 0 to disable. | | `enable_client_side_caching` | *Optional[bool]* | :heavy_minus_sign: | Enable client-side cache. Redundant when using Redis write operations. See more options at Settings > General > Limits > Redis Cache. | @@ -16,10 +16,10 @@ | `root_nodes` | List[[models.RootNodeConfRedisDeploymentTypeCluster](../models/rootnodeconfredisdeploymenttypecluster.md)] | :heavy_minus_sign: | Root nodes to which the cluster connection should be initiated | | `tls` | *Optional[bool]* | :heavy_minus_sign: | Use TLS for connections to this cluster | | `scale_reads` | [Optional[models.ScaleReadsOptionsRedisDeploymentTypeCluster]](../models/scalereadsoptionsredisdeploymenttypecluster.md) | :heavy_minus_sign: | Which nodes read commands should be sent to | -| `master_name` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `username` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `master_name` | *Optional[str]* | :heavy_minus_sign: | Name of the Redis Sentinel master group to connect to. | +| `username` | *Optional[str]* | :heavy_minus_sign: | Username for Redis authentication. | | `template_username` | *Optional[str]* | :heavy_minus_sign: | Binds 'username' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'username' at runtime. | -| `password` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `password` | *Optional[str]* | :heavy_minus_sign: | Password for Redis authentication. | | `template_password` | *Optional[str]* | :heavy_minus_sign: | Binds 'password' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'password' at runtime. | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Secret that references Redis username and password | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Secret that references Redis admin password | \ No newline at end of file diff --git a/docs/models/redisauthtypenoneauthenticationmethod.md b/docs/models/redisauthtypenoneauthenticationmethod.md index 8bca43d2d..533738a70 100644 --- a/docs/models/redisauthtypenoneauthenticationmethod.md +++ b/docs/models/redisauthtypenoneauthenticationmethod.md @@ -1,5 +1,7 @@ # RedisAuthTypeNoneAuthenticationMethod +Authentication method to use when connecting to Redis. + ## Example Usage ```python diff --git a/docs/models/redisauthtypetextsecret.md b/docs/models/redisauthtypetextsecret.md index d905c3a41..8a63a284e 100644 --- a/docs/models/redisauthtypetextsecret.md +++ b/docs/models/redisauthtypetextsecret.md @@ -5,9 +5,9 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `auth_type` | [Optional[models.RedisAuthTypeTextSecretAuthenticationMethod]](../models/redisauthtypetextsecretauthenticationmethod.md) | :heavy_minus_sign: | N/A | +| `auth_type` | [Optional[models.RedisAuthTypeTextSecretAuthenticationMethod]](../models/redisauthtypetextsecretauthenticationmethod.md) | :heavy_minus_sign: | Authentication method to use when connecting to Redis. | | `text_secret` | *str* | :heavy_check_mark: | Secret that references Redis admin password | -| `commands` | List[[models.RedisAuthTypeTextSecretCommand](../models/redisauthtypetextsecretcommand.md)] | :heavy_check_mark: | N/A | +| `commands` | List[[models.RedisAuthTypeTextSecretCommand](../models/redisauthtypetextsecretcommand.md)] | :heavy_check_mark: | List of Redis commands to execute against the specified keys. | | `deployment_type` | [Optional[models.RedisAuthTypeTextSecretDeploymentType]](../models/redisauthtypetextsecretdeploymenttype.md) | :heavy_minus_sign: | How the Redis server is configured. Defaults to Standalone | | `max_block_secs` | *Optional[float]* | :heavy_minus_sign: | Maximum amount of time (seconds) to wait before assuming that Redis is down and passing events through. Use 0 to disable. | | `enable_client_side_caching` | *Optional[bool]* | :heavy_minus_sign: | Enable client-side cache. Redundant when using Redis write operations. See more options at Settings > General > Limits > Redis Cache. | @@ -17,9 +17,9 @@ | `root_nodes` | List[[models.RootNodeConfRedisDeploymentTypeCluster](../models/rootnodeconfredisdeploymenttypecluster.md)] | :heavy_minus_sign: | Root nodes to which the cluster connection should be initiated | | `tls` | *Optional[bool]* | :heavy_minus_sign: | Use TLS for connections to this cluster | | `scale_reads` | [Optional[models.ScaleReadsOptionsRedisDeploymentTypeCluster]](../models/scalereadsoptionsredisdeploymenttypecluster.md) | :heavy_minus_sign: | Which nodes read commands should be sent to | -| `master_name` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `username` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `master_name` | *Optional[str]* | :heavy_minus_sign: | Name of the Redis Sentinel master group to connect to. | +| `username` | *Optional[str]* | :heavy_minus_sign: | Username for Redis authentication. | | `template_username` | *Optional[str]* | :heavy_minus_sign: | Binds 'username' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'username' at runtime. | -| `password` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `password` | *Optional[str]* | :heavy_minus_sign: | Password for Redis authentication. | | `template_password` | *Optional[str]* | :heavy_minus_sign: | Binds 'password' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'password' at runtime. | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Secret that references Redis username and password | \ No newline at end of file diff --git a/docs/models/redisauthtypetextsecretauthenticationmethod.md b/docs/models/redisauthtypetextsecretauthenticationmethod.md index c6c7c9640..77b5a3717 100644 --- a/docs/models/redisauthtypetextsecretauthenticationmethod.md +++ b/docs/models/redisauthtypetextsecretauthenticationmethod.md @@ -1,5 +1,7 @@ # RedisAuthTypeTextSecretAuthenticationMethod +Authentication method to use when connecting to Redis. + ## Example Usage ```python diff --git a/docs/models/redisdeploymenttypecluster.md b/docs/models/redisdeploymenttypecluster.md index 472f52016..2e343be0c 100644 --- a/docs/models/redisdeploymenttypecluster.md +++ b/docs/models/redisdeploymenttypecluster.md @@ -10,16 +10,16 @@ | `tls` | *Optional[bool]* | :heavy_minus_sign: | Use TLS for connections to this cluster | | `scale_reads` | [Optional[models.ScaleReadsOptionsRedisDeploymentTypeCluster]](../models/scalereadsoptionsredisdeploymenttypecluster.md) | :heavy_minus_sign: | Which nodes read commands should be sent to | | `tls_options` | [Optional[models.TLSOptionsTypeRedisDeploymentTypeStandalone]](../models/tlsoptionstyperedisdeploymenttypestandalone.md) | :heavy_minus_sign: | N/A | -| `commands` | List[[models.RedisDeploymentTypeClusterCommand](../models/redisdeploymenttypeclustercommand.md)] | :heavy_check_mark: | N/A | -| `auth_type` | [Optional[models.RedisDeploymentTypeClusterAuthenticationMethod]](../models/redisdeploymenttypeclusterauthenticationmethod.md) | :heavy_minus_sign: | N/A | +| `commands` | List[[models.RedisDeploymentTypeClusterCommand](../models/redisdeploymenttypeclustercommand.md)] | :heavy_check_mark: | List of Redis commands to execute against the specified keys. | +| `auth_type` | [Optional[models.RedisDeploymentTypeClusterAuthenticationMethod]](../models/redisdeploymenttypeclusterauthenticationmethod.md) | :heavy_minus_sign: | Authentication method to use when connecting to Redis. | | `max_block_secs` | *Optional[float]* | :heavy_minus_sign: | Maximum amount of time (seconds) to wait before assuming that Redis is down and passing events through. Use 0 to disable. | | `enable_client_side_caching` | *Optional[bool]* | :heavy_minus_sign: | Enable client-side cache. Redundant when using Redis write operations. See more options at Settings > General > Limits > Redis Cache. | | `url` | *Optional[str]* | :heavy_minus_sign: | Redis URL to connect to. Format: redis[s]://[[user][:password@]][host][:port][/db-number][?db=db-number[&password=bar[&option=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: `myBucket-${C.vars.myVar}` | | `template_url` | *Optional[str]* | :heavy_minus_sign: | 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. | -| `master_name` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `username` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `master_name` | *Optional[str]* | :heavy_minus_sign: | Name of the Redis Sentinel master group to connect to. | +| `username` | *Optional[str]* | :heavy_minus_sign: | Username for Redis authentication. | | `template_username` | *Optional[str]* | :heavy_minus_sign: | Binds 'username' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'username' at runtime. | -| `password` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `password` | *Optional[str]* | :heavy_minus_sign: | Password for Redis authentication. | | `template_password` | *Optional[str]* | :heavy_minus_sign: | Binds 'password' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'password' at runtime. | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Secret that references Redis username and password | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Secret that references Redis admin password | \ No newline at end of file diff --git a/docs/models/redisdeploymenttypeclusterauthenticationmethod.md b/docs/models/redisdeploymenttypeclusterauthenticationmethod.md index eea27703f..541f4b705 100644 --- a/docs/models/redisdeploymenttypeclusterauthenticationmethod.md +++ b/docs/models/redisdeploymenttypeclusterauthenticationmethod.md @@ -1,5 +1,7 @@ # RedisDeploymentTypeClusterAuthenticationMethod +Authentication method to use when connecting to Redis. + ## Example Usage ```python diff --git a/docs/models/redisdeploymenttypesentinel.md b/docs/models/redisdeploymenttypesentinel.md index ad2818e72..e9ee2bf6d 100644 --- a/docs/models/redisdeploymenttypesentinel.md +++ b/docs/models/redisdeploymenttypesentinel.md @@ -6,20 +6,20 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `deployment_type` | [Optional[models.RedisDeploymentTypeSentinelDeploymentType]](../models/redisdeploymenttypesentineldeploymenttype.md) | :heavy_minus_sign: | How the Redis server is configured. Defaults to Standalone | -| `master_name` | *str* | :heavy_check_mark: | N/A | +| `master_name` | *str* | :heavy_check_mark: | Name of the Redis Sentinel master group to connect to. | | `root_nodes` | List[[models.RootNodeConfRedisDeploymentTypeCluster](../models/rootnodeconfredisdeploymenttypecluster.md)] | :heavy_minus_sign: | Root nodes to which the cluster connection should be initiated | | `tls` | *Optional[bool]* | :heavy_minus_sign: | Use TLS for connections to this cluster | | `tls_options` | [Optional[models.TLSOptionsTypeRedisDeploymentTypeStandalone]](../models/tlsoptionstyperedisdeploymenttypestandalone.md) | :heavy_minus_sign: | N/A | -| `commands` | List[[models.RedisDeploymentTypeSentinelCommand](../models/redisdeploymenttypesentinelcommand.md)] | :heavy_check_mark: | N/A | -| `auth_type` | [Optional[models.RedisDeploymentTypeSentinelAuthenticationMethod]](../models/redisdeploymenttypesentinelauthenticationmethod.md) | :heavy_minus_sign: | N/A | +| `commands` | List[[models.RedisDeploymentTypeSentinelCommand](../models/redisdeploymenttypesentinelcommand.md)] | :heavy_check_mark: | List of Redis commands to execute against the specified keys. | +| `auth_type` | [Optional[models.RedisDeploymentTypeSentinelAuthenticationMethod]](../models/redisdeploymenttypesentinelauthenticationmethod.md) | :heavy_minus_sign: | Authentication method to use when connecting to Redis. | | `max_block_secs` | *Optional[float]* | :heavy_minus_sign: | Maximum amount of time (seconds) to wait before assuming that Redis is down and passing events through. Use 0 to disable. | | `enable_client_side_caching` | *Optional[bool]* | :heavy_minus_sign: | Enable client-side cache. Redundant when using Redis write operations. See more options at Settings > General > Limits > Redis Cache. | | `url` | *Optional[str]* | :heavy_minus_sign: | Redis URL to connect to. Format: redis[s]://[[user][:password@]][host][:port][/db-number][?db=db-number[&password=bar[&option=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: `myBucket-${C.vars.myVar}` | | `template_url` | *Optional[str]* | :heavy_minus_sign: | 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. | | `scale_reads` | [Optional[models.ScaleReadsOptionsRedisDeploymentTypeCluster]](../models/scalereadsoptionsredisdeploymenttypecluster.md) | :heavy_minus_sign: | Which nodes read commands should be sent to | -| `username` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `username` | *Optional[str]* | :heavy_minus_sign: | Username for Redis authentication. | | `template_username` | *Optional[str]* | :heavy_minus_sign: | Binds 'username' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'username' at runtime. | -| `password` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `password` | *Optional[str]* | :heavy_minus_sign: | Password for Redis authentication. | | `template_password` | *Optional[str]* | :heavy_minus_sign: | Binds 'password' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'password' at runtime. | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Secret that references Redis username and password | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Secret that references Redis admin password | \ No newline at end of file diff --git a/docs/models/redisdeploymenttypesentinelauthenticationmethod.md b/docs/models/redisdeploymenttypesentinelauthenticationmethod.md index a330d9007..bc495e535 100644 --- a/docs/models/redisdeploymenttypesentinelauthenticationmethod.md +++ b/docs/models/redisdeploymenttypesentinelauthenticationmethod.md @@ -1,5 +1,7 @@ # RedisDeploymentTypeSentinelAuthenticationMethod +Authentication method to use when connecting to Redis. + ## Example Usage ```python diff --git a/docs/models/redisdeploymenttypestandalone.md b/docs/models/redisdeploymenttypestandalone.md index ac3d13b45..d6addab54 100644 --- a/docs/models/redisdeploymenttypestandalone.md +++ b/docs/models/redisdeploymenttypestandalone.md @@ -9,17 +9,17 @@ | `url` | *str* | :heavy_check_mark: | Redis URL to connect to. Format: redis[s]://[[user][:password@]][host][:port][/db-number][?db=db-number[&password=bar[&option=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: `myBucket-${C.vars.myVar}` | | `tls_options` | [Optional[models.TLSOptionsTypeRedisDeploymentTypeStandalone]](../models/tlsoptionstyperedisdeploymenttypestandalone.md) | :heavy_minus_sign: | N/A | | `template_url` | *Optional[str]* | :heavy_minus_sign: | 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. | -| `commands` | List[[models.RedisDeploymentTypeStandaloneCommand](../models/redisdeploymenttypestandalonecommand.md)] | :heavy_check_mark: | N/A | -| `auth_type` | [Optional[models.RedisDeploymentTypeStandaloneAuthenticationMethod]](../models/redisdeploymenttypestandaloneauthenticationmethod.md) | :heavy_minus_sign: | N/A | +| `commands` | List[[models.RedisDeploymentTypeStandaloneCommand](../models/redisdeploymenttypestandalonecommand.md)] | :heavy_check_mark: | List of Redis commands to execute against the specified keys. | +| `auth_type` | [Optional[models.RedisDeploymentTypeStandaloneAuthenticationMethod]](../models/redisdeploymenttypestandaloneauthenticationmethod.md) | :heavy_minus_sign: | Authentication method to use when connecting to Redis. | | `max_block_secs` | *Optional[float]* | :heavy_minus_sign: | Maximum amount of time (seconds) to wait before assuming that Redis is down and passing events through. Use 0 to disable. | | `enable_client_side_caching` | *Optional[bool]* | :heavy_minus_sign: | Enable client-side cache. Redundant when using Redis write operations. See more options at Settings > General > Limits > Redis Cache. | | `root_nodes` | List[[models.RootNodeConfRedisDeploymentTypeCluster](../models/rootnodeconfredisdeploymenttypecluster.md)] | :heavy_minus_sign: | Root nodes to which the cluster connection should be initiated | | `tls` | *Optional[bool]* | :heavy_minus_sign: | Use TLS for connections to this cluster | | `scale_reads` | [Optional[models.ScaleReadsOptionsRedisDeploymentTypeCluster]](../models/scalereadsoptionsredisdeploymenttypecluster.md) | :heavy_minus_sign: | Which nodes read commands should be sent to | -| `master_name` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `username` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `master_name` | *Optional[str]* | :heavy_minus_sign: | Name of the Redis Sentinel master group to connect to. | +| `username` | *Optional[str]* | :heavy_minus_sign: | Username for Redis authentication. | | `template_username` | *Optional[str]* | :heavy_minus_sign: | Binds 'username' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'username' at runtime. | -| `password` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `password` | *Optional[str]* | :heavy_minus_sign: | Password for Redis authentication. | | `template_password` | *Optional[str]* | :heavy_minus_sign: | Binds 'password' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'password' at runtime. | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Secret that references Redis username and password | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Secret that references Redis admin password | \ No newline at end of file diff --git a/docs/models/redisdeploymenttypestandaloneauthenticationmethod.md b/docs/models/redisdeploymenttypestandaloneauthenticationmethod.md index 1d8a46d3e..d5b457900 100644 --- a/docs/models/redisdeploymenttypestandaloneauthenticationmethod.md +++ b/docs/models/redisdeploymenttypestandaloneauthenticationmethod.md @@ -1,5 +1,7 @@ # RedisDeploymentTypeStandaloneAuthenticationMethod +Authentication method to use when connecting to Redis. + ## Example Usage ```python diff --git a/docs/models/refreshrequestparamconfhealthcheckauthenticationoauth.md b/docs/models/refreshrequestparamconfhealthcheckauthenticationoauth.md new file mode 100644 index 000000000..2b7837a9e --- /dev/null +++ b/docs/models/refreshrequestparamconfhealthcheckauthenticationoauth.md @@ -0,0 +1,9 @@ +# RefreshRequestParamConfHealthCheckAuthenticationOauth + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `name` | *str* | :heavy_check_mark: | Parameter name. | +| `value` | *str* | :heavy_check_mark: | Parameter value. | \ No newline at end of file diff --git a/docs/models/eventbreakerrulefields.md b/docs/models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.md similarity index 85% rename from docs/models/eventbreakerrulefields.md rename to docs/models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.md index 96dcebab6..fa8aa5d8f 100644 --- a/docs/models/eventbreakerrulefields.md +++ b/docs/models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.md @@ -1,4 +1,4 @@ -# EventBreakerRuleFields +# RefreshRequestParamConfHealthCheckAuthenticationOauthSecret ## Fields diff --git a/docs/models/remote.md b/docs/models/remote.md index 3f157ca9a..5e03bf3c7 100644 --- a/docs/models/remote.md +++ b/docs/models/remote.md @@ -1,5 +1,7 @@ # Remote +URL of the configured remote Git repository, with credentials redacted. false if no remote is configured. + ## Supported Types diff --git a/docs/models/renamed.md b/docs/models/renamed.md index 7d3ba3c27..d77cb5573 100644 --- a/docs/models/renamed.md +++ b/docs/models/renamed.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `from_` | *str* | :heavy_check_mark: | N/A | -| `to` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------- | ------------------------------------- | ------------------------------------- | ------------------------------------- | +| `from_` | *str* | :heavy_check_mark: | Original file path before the rename. | +| `to` | *str* | :heavy_check_mark: | New file path after the rename. | \ No newline at end of file diff --git a/docs/models/restauthenticationbasic.md b/docs/models/restauthenticationbasic.md index 35c408057..81c85cd50 100644 --- a/docs/models/restauthenticationbasic.md +++ b/docs/models/restauthenticationbasic.md @@ -40,6 +40,11 @@ | `client_secret_param_value` | *Optional[str]* | :heavy_minus_sign: | Secret value to add to HTTP requests as the 'client secret' parameter. Value is stored encrypted on disk and automatically added to request parameters. | | `template_client_secret_param_value` | *Optional[str]* | :heavy_minus_sign: | Binds 'clientSecretParamValue' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientSecretParamValue' at runtime. | | `auth_request_params` | List[[models.CollectRequestParamConfRestCollectMethodGet](../models/collectrequestparamconfrestcollectmethodget.md)] | :heavy_minus_sign: | OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded. | +| `refresh_token_field` | *Optional[str]* | :heavy_minus_sign: | Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials. | +| `rotate_refresh_token` | *Optional[bool]* | :heavy_minus_sign: | The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use. | +| `refresh_url` | *Optional[str]* | :heavy_minus_sign: | Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL. | +| `template_refresh_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime. | +| `refresh_request_params` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauth](../models/refreshrequestparamconfhealthcheckauthenticationoauth.md)] | :heavy_minus_sign: | Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a text secret that contains the client secret's value | | `scopes` | List[*str*] | :heavy_minus_sign: | Scopes to use during authentication. See [Google's docs](https://developers.google.com/identity/protocols/oauth2/scopes) for more information. | | `service_account_credentials` | *Optional[str]* | :heavy_minus_sign: | Contents of Google Cloud service account credentials (JSON keys) file. To upload a file, click the upload icon in this field's upper right. | diff --git a/docs/models/restauthenticationbasicsecret.md b/docs/models/restauthenticationbasicsecret.md index 30feda417..408720a3e 100644 --- a/docs/models/restauthenticationbasicsecret.md +++ b/docs/models/restauthenticationbasicsecret.md @@ -40,6 +40,11 @@ | `client_secret_param_value` | *Optional[str]* | :heavy_minus_sign: | Secret value to add to HTTP requests as the 'client secret' parameter. Value is stored encrypted on disk and automatically added to request parameters. | | `template_client_secret_param_value` | *Optional[str]* | :heavy_minus_sign: | Binds 'clientSecretParamValue' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientSecretParamValue' at runtime. | | `auth_request_params` | List[[models.CollectRequestParamConfRestCollectMethodGet](../models/collectrequestparamconfrestcollectmethodget.md)] | :heavy_minus_sign: | OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded. | +| `refresh_token_field` | *Optional[str]* | :heavy_minus_sign: | Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials. | +| `rotate_refresh_token` | *Optional[bool]* | :heavy_minus_sign: | The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use. | +| `refresh_url` | *Optional[str]* | :heavy_minus_sign: | Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL. | +| `template_refresh_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime. | +| `refresh_request_params` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauth](../models/refreshrequestparamconfhealthcheckauthenticationoauth.md)] | :heavy_minus_sign: | Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a text secret that contains the client secret's value | | `scopes` | List[*str*] | :heavy_minus_sign: | Scopes to use during authentication. See [Google's docs](https://developers.google.com/identity/protocols/oauth2/scopes) for more information. | | `service_account_credentials` | *Optional[str]* | :heavy_minus_sign: | Contents of Google Cloud service account credentials (JSON keys) file. To upload a file, click the upload icon in this field's upper right. | diff --git a/docs/models/restauthenticationgoogleoauth.md b/docs/models/restauthenticationgoogleoauth.md index 17f02b7a4..1add61eea 100644 --- a/docs/models/restauthenticationgoogleoauth.md +++ b/docs/models/restauthenticationgoogleoauth.md @@ -45,6 +45,11 @@ | `client_secret_param_value` | *Optional[str]* | :heavy_minus_sign: | Secret value to add to HTTP requests as the 'client secret' parameter. Value is stored encrypted on disk and automatically added to request parameters. | | `template_client_secret_param_value` | *Optional[str]* | :heavy_minus_sign: | Binds 'clientSecretParamValue' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientSecretParamValue' at runtime. | | `auth_request_params` | List[[models.CollectRequestParamConfRestCollectMethodGet](../models/collectrequestparamconfrestcollectmethodget.md)] | :heavy_minus_sign: | OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded. | +| `refresh_token_field` | *Optional[str]* | :heavy_minus_sign: | Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials. | +| `rotate_refresh_token` | *Optional[bool]* | :heavy_minus_sign: | The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use. | +| `refresh_url` | *Optional[str]* | :heavy_minus_sign: | Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL. | +| `template_refresh_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime. | +| `refresh_request_params` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauth](../models/refreshrequestparamconfhealthcheckauthenticationoauth.md)] | :heavy_minus_sign: | Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a text secret that contains the client secret's value | | `hmac_function_id` | *Optional[str]* | :heavy_minus_sign: | Select or create an HMAC Function to use with authentication | | `template_collect_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'collectUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'collectUrl' at runtime. | \ No newline at end of file diff --git a/docs/models/restauthenticationgoogleoauthsecret.md b/docs/models/restauthenticationgoogleoauthsecret.md index fb636c067..3ff9a5849 100644 --- a/docs/models/restauthenticationgoogleoauthsecret.md +++ b/docs/models/restauthenticationgoogleoauthsecret.md @@ -44,6 +44,11 @@ | `client_secret_param_value` | *Optional[str]* | :heavy_minus_sign: | Secret value to add to HTTP requests as the 'client secret' parameter. Value is stored encrypted on disk and automatically added to request parameters. | | `template_client_secret_param_value` | *Optional[str]* | :heavy_minus_sign: | Binds 'clientSecretParamValue' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientSecretParamValue' at runtime. | | `auth_request_params` | List[[models.CollectRequestParamConfRestCollectMethodGet](../models/collectrequestparamconfrestcollectmethodget.md)] | :heavy_minus_sign: | OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded. | +| `refresh_token_field` | *Optional[str]* | :heavy_minus_sign: | Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials. | +| `rotate_refresh_token` | *Optional[bool]* | :heavy_minus_sign: | The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use. | +| `refresh_url` | *Optional[str]* | :heavy_minus_sign: | Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL. | +| `template_refresh_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime. | +| `refresh_request_params` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauth](../models/refreshrequestparamconfhealthcheckauthenticationoauth.md)] | :heavy_minus_sign: | Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret. | | `service_account_credentials` | *Optional[str]* | :heavy_minus_sign: | Contents of Google Cloud service account credentials (JSON keys) file. To upload a file, click the upload icon in this field's upper right. | | `template_service_account_credentials` | *Optional[str]* | :heavy_minus_sign: | Binds 'serviceAccountCredentials' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serviceAccountCredentials' at runtime. | | `hmac_function_id` | *Optional[str]* | :heavy_minus_sign: | Select or create an HMAC Function to use with authentication | diff --git a/docs/models/restauthenticationhmac.md b/docs/models/restauthenticationhmac.md index bff24fe4c..aa5cc47a4 100644 --- a/docs/models/restauthenticationhmac.md +++ b/docs/models/restauthenticationhmac.md @@ -41,6 +41,11 @@ | `client_secret_param_value` | *Optional[str]* | :heavy_minus_sign: | Secret value to add to HTTP requests as the 'client secret' parameter. Value is stored encrypted on disk and automatically added to request parameters. | | `template_client_secret_param_value` | *Optional[str]* | :heavy_minus_sign: | Binds 'clientSecretParamValue' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientSecretParamValue' at runtime. | | `auth_request_params` | List[[models.CollectRequestParamConfRestCollectMethodGet](../models/collectrequestparamconfrestcollectmethodget.md)] | :heavy_minus_sign: | OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded. | +| `refresh_token_field` | *Optional[str]* | :heavy_minus_sign: | Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials. | +| `rotate_refresh_token` | *Optional[bool]* | :heavy_minus_sign: | The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use. | +| `refresh_url` | *Optional[str]* | :heavy_minus_sign: | Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL. | +| `template_refresh_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime. | +| `refresh_request_params` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauth](../models/refreshrequestparamconfhealthcheckauthenticationoauth.md)] | :heavy_minus_sign: | Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a text secret that contains the client secret's value | | `scopes` | List[*str*] | :heavy_minus_sign: | Scopes to use during authentication. See [Google's docs](https://developers.google.com/identity/protocols/oauth2/scopes) for more information. | | `service_account_credentials` | *Optional[str]* | :heavy_minus_sign: | Contents of Google Cloud service account credentials (JSON keys) file. To upload a file, click the upload icon in this field's upper right. | diff --git a/docs/models/restauthenticationlogin.md b/docs/models/restauthenticationlogin.md index f473c0c0c..6652b7142 100644 --- a/docs/models/restauthenticationlogin.md +++ b/docs/models/restauthenticationlogin.md @@ -40,6 +40,11 @@ | `client_secret_param_value` | *Optional[str]* | :heavy_minus_sign: | Secret value to add to HTTP requests as the 'client secret' parameter. Value is stored encrypted on disk and automatically added to request parameters. | | `template_client_secret_param_value` | *Optional[str]* | :heavy_minus_sign: | Binds 'clientSecretParamValue' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientSecretParamValue' at runtime. | | `auth_request_params` | List[[models.CollectRequestParamConfRestCollectMethodGet](../models/collectrequestparamconfrestcollectmethodget.md)] | :heavy_minus_sign: | OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded. | +| `refresh_token_field` | *Optional[str]* | :heavy_minus_sign: | Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials. | +| `rotate_refresh_token` | *Optional[bool]* | :heavy_minus_sign: | The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use. | +| `refresh_url` | *Optional[str]* | :heavy_minus_sign: | Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL. | +| `template_refresh_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime. | +| `refresh_request_params` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauth](../models/refreshrequestparamconfhealthcheckauthenticationoauth.md)] | :heavy_minus_sign: | Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a text secret that contains the client secret's value | | `scopes` | List[*str*] | :heavy_minus_sign: | Scopes to use during authentication. See [Google's docs](https://developers.google.com/identity/protocols/oauth2/scopes) for more information. | | `service_account_credentials` | *Optional[str]* | :heavy_minus_sign: | Contents of Google Cloud service account credentials (JSON keys) file. To upload a file, click the upload icon in this field's upper right. | diff --git a/docs/models/restauthenticationloginsecret.md b/docs/models/restauthenticationloginsecret.md index 68d2a0438..1870cab00 100644 --- a/docs/models/restauthenticationloginsecret.md +++ b/docs/models/restauthenticationloginsecret.md @@ -40,6 +40,11 @@ | `client_secret_param_value` | *Optional[str]* | :heavy_minus_sign: | Secret value to add to HTTP requests as the 'client secret' parameter. Value is stored encrypted on disk and automatically added to request parameters. | | `template_client_secret_param_value` | *Optional[str]* | :heavy_minus_sign: | Binds 'clientSecretParamValue' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientSecretParamValue' at runtime. | | `auth_request_params` | List[[models.CollectRequestParamConfRestCollectMethodGet](../models/collectrequestparamconfrestcollectmethodget.md)] | :heavy_minus_sign: | OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded. | +| `refresh_token_field` | *Optional[str]* | :heavy_minus_sign: | Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials. | +| `rotate_refresh_token` | *Optional[bool]* | :heavy_minus_sign: | The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use. | +| `refresh_url` | *Optional[str]* | :heavy_minus_sign: | Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL. | +| `template_refresh_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime. | +| `refresh_request_params` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauth](../models/refreshrequestparamconfhealthcheckauthenticationoauth.md)] | :heavy_minus_sign: | Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a text secret that contains the client secret's value | | `scopes` | List[*str*] | :heavy_minus_sign: | Scopes to use during authentication. See [Google's docs](https://developers.google.com/identity/protocols/oauth2/scopes) for more information. | | `service_account_credentials` | *Optional[str]* | :heavy_minus_sign: | Contents of Google Cloud service account credentials (JSON keys) file. To upload a file, click the upload icon in this field's upper right. | diff --git a/docs/models/restauthenticationnone.md b/docs/models/restauthenticationnone.md index 3c80d5d1f..07f7b2e7d 100644 --- a/docs/models/restauthenticationnone.md +++ b/docs/models/restauthenticationnone.md @@ -40,6 +40,11 @@ | `client_secret_param_value` | *Optional[str]* | :heavy_minus_sign: | Secret value to add to HTTP requests as the 'client secret' parameter. Value is stored encrypted on disk and automatically added to request parameters. | | `template_client_secret_param_value` | *Optional[str]* | :heavy_minus_sign: | Binds 'clientSecretParamValue' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientSecretParamValue' at runtime. | | `auth_request_params` | List[[models.CollectRequestParamConfRestCollectMethodGet](../models/collectrequestparamconfrestcollectmethodget.md)] | :heavy_minus_sign: | OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded. | +| `refresh_token_field` | *Optional[str]* | :heavy_minus_sign: | Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials. | +| `rotate_refresh_token` | *Optional[bool]* | :heavy_minus_sign: | The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use. | +| `refresh_url` | *Optional[str]* | :heavy_minus_sign: | Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL. | +| `template_refresh_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime. | +| `refresh_request_params` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauth](../models/refreshrequestparamconfhealthcheckauthenticationoauth.md)] | :heavy_minus_sign: | Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a text secret that contains the client secret's value | | `scopes` | List[*str*] | :heavy_minus_sign: | Scopes to use during authentication. See [Google's docs](https://developers.google.com/identity/protocols/oauth2/scopes) for more information. | | `service_account_credentials` | *Optional[str]* | :heavy_minus_sign: | Contents of Google Cloud service account credentials (JSON keys) file. To upload a file, click the upload icon in this field's upper right. | diff --git a/docs/models/restauthenticationoauth.md b/docs/models/restauthenticationoauth.md index 873c1ef6c..eb7ea853d 100644 --- a/docs/models/restauthenticationoauth.md +++ b/docs/models/restauthenticationoauth.md @@ -14,8 +14,13 @@ | `client_secret_param_value` | *str* | :heavy_check_mark: | Secret value to add to HTTP requests as the 'client secret' parameter. Value is stored encrypted on disk and automatically added to request parameters. | | `auth_request_params` | List[[models.CollectRequestParamConfRestCollectMethodGet](../models/collectrequestparamconfrestcollectmethodget.md)] | :heavy_minus_sign: | OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded. | | `auth_request_headers` | List[[models.CollectRequestParamConfRestCollectMethodGet](../models/collectrequestparamconfrestcollectmethodget.md)] | :heavy_minus_sign: | N/A | +| `refresh_token_field` | *Optional[str]* | :heavy_minus_sign: | Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials. | +| `rotate_refresh_token` | *Optional[bool]* | :heavy_minus_sign: | The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use. | +| `refresh_url` | *Optional[str]* | :heavy_minus_sign: | Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL. | +| `refresh_request_params` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauth](../models/refreshrequestparamconfhealthcheckauthenticationoauth.md)] | :heavy_minus_sign: | Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret. | | `template_login_url` | *Optional[str]* | :heavy_minus_sign: | 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_client_secret_param_value` | *Optional[str]* | :heavy_minus_sign: | Binds 'clientSecretParamValue' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientSecretParamValue' at runtime. | +| `template_refresh_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime. | | `discovery` | [Optional[models.RestAuthenticationOauthDiscovery]](../models/restauthenticationoauthdiscovery.md) | :heavy_minus_sign: | N/A | | `collect_url` | *str* | :heavy_check_mark: | URL (constant or JavaScript expression) to use for the Collect operation | | `collect_method` | [models.RestAuthenticationOauthCollectMethod](../models/restauthenticationoauthcollectmethod.md) | :heavy_check_mark: | N/A | diff --git a/docs/models/restauthenticationoauthsecret.md b/docs/models/restauthenticationoauthsecret.md index d5dc2f992..2a34f5c5d 100644 --- a/docs/models/restauthenticationoauthsecret.md +++ b/docs/models/restauthenticationoauthsecret.md @@ -14,6 +14,11 @@ | `text_secret` | *str* | :heavy_check_mark: | Select or create a text secret that contains the client secret's value | | `auth_request_params` | List[[models.CollectRequestParamConfRestCollectMethodGet](../models/collectrequestparamconfrestcollectmethodget.md)] | :heavy_minus_sign: | OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded. | | `auth_request_headers` | List[[models.CollectRequestParamConfRestCollectMethodGet](../models/collectrequestparamconfrestcollectmethodget.md)] | :heavy_minus_sign: | N/A | +| `refresh_token_field` | *Optional[str]* | :heavy_minus_sign: | Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials. | +| `rotate_refresh_token` | *Optional[bool]* | :heavy_minus_sign: | The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use. | +| `refresh_url` | *Optional[str]* | :heavy_minus_sign: | Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL. | +| `refresh_request_params` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauth](../models/refreshrequestparamconfhealthcheckauthenticationoauth.md)] | :heavy_minus_sign: | Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret. | +| `template_refresh_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime. | | `discovery` | [Optional[models.RestAuthenticationOauthSecretDiscovery]](../models/restauthenticationoauthsecretdiscovery.md) | :heavy_minus_sign: | N/A | | `collect_url` | *str* | :heavy_check_mark: | URL (constant or JavaScript expression) to use for the Collect operation | | `collect_method` | [models.RestAuthenticationOauthSecretCollectMethod](../models/restauthenticationoauthsecretcollectmethod.md) | :heavy_check_mark: | N/A | diff --git a/docs/models/restcollectmethodget.md b/docs/models/restcollectmethodget.md index e463193c5..5232e44ca 100644 --- a/docs/models/restcollectmethodget.md +++ b/docs/models/restcollectmethodget.md @@ -41,6 +41,11 @@ | `client_secret_param_value` | *Optional[str]* | :heavy_minus_sign: | Secret value to add to HTTP requests as the 'client secret' parameter. Value is stored encrypted on disk and automatically added to request parameters. | | `template_client_secret_param_value` | *Optional[str]* | :heavy_minus_sign: | Binds 'clientSecretParamValue' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientSecretParamValue' at runtime. | | `auth_request_params` | List[[models.CollectRequestParamConfRestCollectMethodGet](../models/collectrequestparamconfrestcollectmethodget.md)] | :heavy_minus_sign: | OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded. | +| `refresh_token_field` | *Optional[str]* | :heavy_minus_sign: | Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials. | +| `rotate_refresh_token` | *Optional[bool]* | :heavy_minus_sign: | The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use. | +| `refresh_url` | *Optional[str]* | :heavy_minus_sign: | Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL. | +| `template_refresh_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime. | +| `refresh_request_params` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauth](../models/refreshrequestparamconfhealthcheckauthenticationoauth.md)] | :heavy_minus_sign: | Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a text secret that contains the client secret's value | | `scopes` | List[*str*] | :heavy_minus_sign: | Scopes to use during authentication. See [Google's docs](https://developers.google.com/identity/protocols/oauth2/scopes) for more information. | | `service_account_credentials` | *Optional[str]* | :heavy_minus_sign: | Contents of Google Cloud service account credentials (JSON keys) file. To upload a file, click the upload icon in this field's upper right. | diff --git a/docs/models/restcollectmethodother.md b/docs/models/restcollectmethodother.md index aae06df03..49184e3d6 100644 --- a/docs/models/restcollectmethodother.md +++ b/docs/models/restcollectmethodother.md @@ -43,6 +43,11 @@ | `client_secret_param_value` | *Optional[str]* | :heavy_minus_sign: | Secret value to add to HTTP requests as the 'client secret' parameter. Value is stored encrypted on disk and automatically added to request parameters. | | `template_client_secret_param_value` | *Optional[str]* | :heavy_minus_sign: | Binds 'clientSecretParamValue' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientSecretParamValue' at runtime. | | `auth_request_params` | List[[models.CollectRequestParamConfRestCollectMethodGet](../models/collectrequestparamconfrestcollectmethodget.md)] | :heavy_minus_sign: | OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded. | +| `refresh_token_field` | *Optional[str]* | :heavy_minus_sign: | Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials. | +| `rotate_refresh_token` | *Optional[bool]* | :heavy_minus_sign: | The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use. | +| `refresh_url` | *Optional[str]* | :heavy_minus_sign: | Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL. | +| `template_refresh_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime. | +| `refresh_request_params` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauth](../models/refreshrequestparamconfhealthcheckauthenticationoauth.md)] | :heavy_minus_sign: | Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a text secret that contains the client secret's value | | `scopes` | List[*str*] | :heavy_minus_sign: | Scopes to use during authentication. See [Google's docs](https://developers.google.com/identity/protocols/oauth2/scopes) for more information. | | `service_account_credentials` | *Optional[str]* | :heavy_minus_sign: | Contents of Google Cloud service account credentials (JSON keys) file. To upload a file, click the upload icon in this field's upper right. | diff --git a/docs/models/restcollectmethodpost.md b/docs/models/restcollectmethodpost.md index bec34adc6..ecf059718 100644 --- a/docs/models/restcollectmethodpost.md +++ b/docs/models/restcollectmethodpost.md @@ -41,6 +41,11 @@ | `client_secret_param_value` | *Optional[str]* | :heavy_minus_sign: | Secret value to add to HTTP requests as the 'client secret' parameter. Value is stored encrypted on disk and automatically added to request parameters. | | `template_client_secret_param_value` | *Optional[str]* | :heavy_minus_sign: | Binds 'clientSecretParamValue' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientSecretParamValue' at runtime. | | `auth_request_params` | List[[models.CollectRequestParamConfRestCollectMethodGet](../models/collectrequestparamconfrestcollectmethodget.md)] | :heavy_minus_sign: | OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded. | +| `refresh_token_field` | *Optional[str]* | :heavy_minus_sign: | Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials. | +| `rotate_refresh_token` | *Optional[bool]* | :heavy_minus_sign: | The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use. | +| `refresh_url` | *Optional[str]* | :heavy_minus_sign: | Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL. | +| `template_refresh_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime. | +| `refresh_request_params` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauth](../models/refreshrequestparamconfhealthcheckauthenticationoauth.md)] | :heavy_minus_sign: | Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a text secret that contains the client secret's value | | `scopes` | List[*str*] | :heavy_minus_sign: | Scopes to use during authentication. See [Google's docs](https://developers.google.com/identity/protocols/oauth2/scopes) for more information. | | `service_account_credentials` | *Optional[str]* | :heavy_minus_sign: | Contents of Google Cloud service account credentials (JSON keys) file. To upload a file, click the upload icon in this field's upper right. | diff --git a/docs/models/restcollectmethodpostwithbody.md b/docs/models/restcollectmethodpostwithbody.md index ca005b016..c69abeee3 100644 --- a/docs/models/restcollectmethodpostwithbody.md +++ b/docs/models/restcollectmethodpostwithbody.md @@ -41,6 +41,11 @@ | `client_secret_param_value` | *Optional[str]* | :heavy_minus_sign: | Secret value to add to HTTP requests as the 'client secret' parameter. Value is stored encrypted on disk and automatically added to request parameters. | | `template_client_secret_param_value` | *Optional[str]* | :heavy_minus_sign: | Binds 'clientSecretParamValue' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientSecretParamValue' at runtime. | | `auth_request_params` | List[[models.CollectRequestParamConfRestCollectMethodGet](../models/collectrequestparamconfrestcollectmethodget.md)] | :heavy_minus_sign: | OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded. | +| `refresh_token_field` | *Optional[str]* | :heavy_minus_sign: | Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials. | +| `rotate_refresh_token` | *Optional[bool]* | :heavy_minus_sign: | The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use. | +| `refresh_url` | *Optional[str]* | :heavy_minus_sign: | Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL. | +| `template_refresh_url` | *Optional[str]* | :heavy_minus_sign: | Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime. | +| `refresh_request_params` | List[[models.RefreshRequestParamConfHealthCheckAuthenticationOauth](../models/refreshrequestparamconfhealthcheckauthenticationoauth.md)] | :heavy_minus_sign: | Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a text secret that contains the client secret's value | | `scopes` | List[*str*] | :heavy_minus_sign: | Scopes to use during authentication. See [Google's docs](https://developers.google.com/identity/protocols/oauth2/scopes) for more information. | | `service_account_credentials` | *Optional[str]* | :heavy_minus_sign: | Contents of Google Cloud service account credentials (JSON keys) file. To upload a file, click the upload icon in this field's upper right. | diff --git a/docs/models/rollbacksettings.md b/docs/models/rollbacksettings.md index e097781d1..35add9342 100644 --- a/docs/models/rollbacksettings.md +++ b/docs/models/rollbacksettings.md @@ -3,8 +3,8 @@ ## Fields -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `rollback_enabled` | *bool* | :heavy_check_mark: | N/A | -| `rollback_retries` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `rollback_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | +| `rollback_enabled` | *bool* | :heavy_check_mark: | If true, enable automatic rollback if an upgrade fails. Otherwise, false. | +| `rollback_retries` | *Optional[int]* | :heavy_minus_sign: | Number of times to retry a rollback before marking it as failed. | +| `rollback_timeout` | *Optional[int]* | :heavy_minus_sign: | Maximum duration in milliseconds to wait for a rollback to complete before marking it as failed. | \ No newline at end of file diff --git a/docs/models/rulesettype.md b/docs/models/rulesettype.md index 05a3f5b5e..8c1f62d94 100644 --- a/docs/models/rulesettype.md +++ b/docs/models/rulesettype.md @@ -1,5 +1,7 @@ # RulesetType +Type of ruleset to apply: dataset or datatype. + ## Example Usage ```python diff --git a/docs/models/runnablejobcollection.md b/docs/models/runnablejobcollection.md index 8b9e7ca48..97bc50be6 100644 --- a/docs/models/runnablejobcollection.md +++ b/docs/models/runnablejobcollection.md @@ -14,7 +14,7 @@ | `resume_on_boot` | *Optional[bool]* | :heavy_minus_sign: | Resume the ad hoc job if a failure condition causes Stream to restart during job execution | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | | `schedule` | [Optional[models.ScheduleTypeRunnableJobCollection]](../models/scheduletyperunnablejobcollection.md) | :heavy_minus_sign: | Configuration for a scheduled job | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `worker_affinity` | *Optional[bool]* | :heavy_minus_sign: | If enabled, tasks are created and run by the same Worker Node | | `collector` | [models.Collector](../models/collector.md) | :heavy_check_mark: | Collector configuration | | `input` | [Optional[models.RunnableJobCollectionTypeCollectionWithBreakerRulesetsConstraint]](../models/runnablejobcollectiontypecollectionwithbreakerrulesetsconstraint.md) | :heavy_minus_sign: | N/A | diff --git a/docs/models/runnablejobexecutor.md b/docs/models/runnablejobexecutor.md index e12134549..96eaa776e 100644 --- a/docs/models/runnablejobexecutor.md +++ b/docs/models/runnablejobexecutor.md @@ -14,7 +14,7 @@ | `resume_on_boot` | *Optional[bool]* | :heavy_minus_sign: | Resume the ad hoc job if a failure condition causes Stream to restart during job execution | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | | `schedule` | [Optional[models.ScheduleTypeRunnableJobCollection]](../models/scheduletyperunnablejobcollection.md) | :heavy_minus_sign: | Configuration for a scheduled job | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `executor` | [models.ExecutorTypeRunnableJobExecutor](../models/executortyperunnablejobexecutor.md) | :heavy_check_mark: | N/A | | `run` | [models.RunnableJobExecutorRun](../models/runnablejobexecutorrun.md) | :heavy_check_mark: | N/A | | `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/runnablejobscheduledsearch.md b/docs/models/runnablejobscheduledsearch.md index 296640c30..e7ba9f671 100644 --- a/docs/models/runnablejobscheduledsearch.md +++ b/docs/models/runnablejobscheduledsearch.md @@ -14,6 +14,6 @@ | `resume_on_boot` | *Optional[bool]* | :heavy_minus_sign: | Resume the ad hoc job if a failure condition causes Stream to restart during job execution | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | | `schedule` | [Optional[models.ScheduleTypeRunnableJobCollection]](../models/scheduletyperunnablejobcollection.md) | :heavy_minus_sign: | Configuration for a scheduled job | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `saved_query_id` | *str* | :heavy_check_mark: | Identifies which search query to run | | `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/savedjobcollection.md b/docs/models/savedjobcollection.md index cb7044723..583e90ace 100644 --- a/docs/models/savedjobcollection.md +++ b/docs/models/savedjobcollection.md @@ -14,7 +14,7 @@ | `resume_on_boot` | *Optional[bool]* | :heavy_minus_sign: | Resume the ad hoc job if a failure condition causes Stream to restart during job execution | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | | `schedule` | [Optional[models.ScheduleTypeSavedJobResponseCollection]](../models/scheduletypesavedjobresponsecollection.md) | :heavy_minus_sign: | Configuration for a scheduled job | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `worker_affinity` | *Optional[bool]* | :heavy_minus_sign: | If enabled, tasks are created and run by the same Worker Node | | `collector` | [models.Collector](../models/collector.md) | :heavy_check_mark: | Collector configuration | | `input` | [Optional[models.RunnableJobCollectionTypeCollectionWithBreakerRulesetsConstraint]](../models/runnablejobcollectiontypecollectionwithbreakerrulesetsconstraint.md) | :heavy_minus_sign: | N/A | diff --git a/docs/models/savedjobexecutor.md b/docs/models/savedjobexecutor.md index 747b6d7d5..047b8d6ab 100644 --- a/docs/models/savedjobexecutor.md +++ b/docs/models/savedjobexecutor.md @@ -14,6 +14,6 @@ | `resume_on_boot` | *Optional[bool]* | :heavy_minus_sign: | Resume the ad hoc job if a failure condition causes Stream to restart during job execution | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | | `schedule` | [Optional[models.ScheduleTypeSavedJobResponseCollection]](../models/scheduletypesavedjobresponsecollection.md) | :heavy_minus_sign: | Configuration for a scheduled job | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `executor` | [models.ExecutorTypeRunnableJobExecutor](../models/executortyperunnablejobexecutor.md) | :heavy_check_mark: | N/A | | `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/savedjobresponsecollection.md b/docs/models/savedjobresponsecollection.md index 8b7f3dc40..223941bc8 100644 --- a/docs/models/savedjobresponsecollection.md +++ b/docs/models/savedjobresponsecollection.md @@ -14,7 +14,7 @@ | `resume_on_boot` | *Optional[bool]* | :heavy_minus_sign: | Resume the ad hoc job if a failure condition causes Stream to restart during job execution | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | | `schedule` | [Optional[models.ScheduleTypeSavedJobResponseCollection]](../models/scheduletypesavedjobresponsecollection.md) | :heavy_minus_sign: | Configuration for a scheduled job | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `worker_affinity` | *Optional[bool]* | :heavy_minus_sign: | If enabled, tasks are created and run by the same Worker Node | | `collector` | [models.Collector](../models/collector.md) | :heavy_check_mark: | Collector configuration | | `input` | [Optional[models.RunnableJobCollectionTypeCollectionWithBreakerRulesetsConstraint]](../models/runnablejobcollectiontypecollectionwithbreakerrulesetsconstraint.md) | :heavy_minus_sign: | N/A | diff --git a/docs/models/savedjobresponseexecutor.md b/docs/models/savedjobresponseexecutor.md index 57588f882..a4c0d6540 100644 --- a/docs/models/savedjobresponseexecutor.md +++ b/docs/models/savedjobresponseexecutor.md @@ -14,7 +14,7 @@ | `resume_on_boot` | *Optional[bool]* | :heavy_minus_sign: | Resume the ad hoc job if a failure condition causes Stream to restart during job execution | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | | `schedule` | [Optional[models.ScheduleTypeSavedJobResponseCollection]](../models/scheduletypesavedjobresponsecollection.md) | :heavy_minus_sign: | Configuration for a scheduled job | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `executor` | [models.ExecutorTypeRunnableJobExecutor](../models/executortyperunnablejobexecutor.md) | :heavy_check_mark: | N/A | | `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. | | `saved_state` | Dict[str, [models.AdditionalPropertiesTypeEnrichedFieldsSavedState](../models/additionalpropertiestypeenrichedfieldssavedstate.md)] | :heavy_minus_sign: | Runtime collection state. | diff --git a/docs/models/savedjobresponsescheduledsearch.md b/docs/models/savedjobresponsescheduledsearch.md index ff1142ef8..af541f6d0 100644 --- a/docs/models/savedjobresponsescheduledsearch.md +++ b/docs/models/savedjobresponsescheduledsearch.md @@ -14,7 +14,7 @@ | `resume_on_boot` | *Optional[bool]* | :heavy_minus_sign: | Resume the ad hoc job if a failure condition causes Stream to restart during job execution | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | | `schedule` | [Optional[models.ScheduleTypeSavedJobResponseCollection]](../models/scheduletypesavedjobresponsecollection.md) | :heavy_minus_sign: | Configuration for a scheduled job | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `saved_query_id` | *str* | :heavy_check_mark: | Identifies which search query to run | | `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. | | `saved_state` | Dict[str, [models.AdditionalPropertiesTypeEnrichedFieldsSavedState](../models/additionalpropertiestypeenrichedfieldssavedstate.md)] | :heavy_minus_sign: | Runtime collection state. | diff --git a/docs/models/savedjobscheduledsearch.md b/docs/models/savedjobscheduledsearch.md index de25acdb0..429181e93 100644 --- a/docs/models/savedjobscheduledsearch.md +++ b/docs/models/savedjobscheduledsearch.md @@ -14,6 +14,6 @@ | `resume_on_boot` | *Optional[bool]* | :heavy_minus_sign: | Resume the ad hoc job if a failure condition causes Stream to restart during job execution | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | | `schedule` | [Optional[models.ScheduleTypeSavedJobResponseCollection]](../models/scheduletypesavedjobresponsecollection.md) | :heavy_minus_sign: | Configuration for a scheduled job | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags used for categorization and filtering. | | `saved_query_id` | *str* | :heavy_check_mark: | Identifies which search query to run | | `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/searchengineexportconfiguration.md b/docs/models/searchengineexportconfiguration.md index 406c6f443..dea75eb79 100644 --- a/docs/models/searchengineexportconfiguration.md +++ b/docs/models/searchengineexportconfiguration.md @@ -1,5 +1,7 @@ # SearchEngineExportConfiguration +Configuration specific to the Pipeline Function. + ## Fields diff --git a/docs/models/secureversion.md b/docs/models/secureversion.md new file mode 100644 index 000000000..26af14c90 --- /dev/null +++ b/docs/models/secureversion.md @@ -0,0 +1,21 @@ +# SecureVersion + +## Example Usage + +```python +from cribl_control_plane.models import SecureVersion + +value = SecureVersion.TL_SV1_3 + +# Open enum: unrecognized values are captured as UnrecognizedStr +``` + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `TL_SV1_3` | TLSv1.3 | +| `TL_SV1_2` | TLSv1.2 | +| `TL_SV1_1` | TLSv1.1 | +| `TL_SV1` | TLSv1 | \ No newline at end of file diff --git a/docs/models/sendconfiguration.md b/docs/models/sendconfiguration.md index 9ef258890..ff0d8675a 100644 --- a/docs/models/sendconfiguration.md +++ b/docs/models/sendconfiguration.md @@ -1,5 +1,7 @@ # SendConfiguration +Configuration specific to the Pipeline Function. + ## Fields diff --git a/docs/models/serdetypeauto.md b/docs/models/serdetypeauto.md new file mode 100644 index 000000000..5c01918e6 --- /dev/null +++ b/docs/models/serdetypeauto.md @@ -0,0 +1,23 @@ +# SerdeTypeAuto + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `type` | [models.SerdeTypeAutoType](../models/serdetypeautotype.md) | :heavy_check_mark: | Parser or formatter type to use | +| `tag_datatype` | *Optional[bool]* | :heavy_minus_sign: | Keep the detected datatype field and set isParsed to true on each event. Enable this when events are bound for downstream Cribl Search processing. | +| `mode` | [models.SerdeTypeAutoOperationMode](../models/serdetypeautooperationmode.md) | :heavy_check_mark: | Extract creates new fields. Reserialize extracts and filters fields, and then reserializes. | +| `keep` | List[*str*] | :heavy_minus_sign: | List of fields to keep. Supports wildcards (*). Takes precedence over 'Fields to remove'. | +| `remove` | List[*str*] | :heavy_minus_sign: | List of fields to remove. Supports wildcards (*). Cannot remove fields that match 'Fields to keep'. | +| `field_filter_expr` | *Optional[str]* | :heavy_minus_sign: | Expression evaluated against {index, name, value} context. Return truthy to keep a field, or falsy to remove it. | +| `allowed_key_chars` | List[*str*] | :heavy_minus_sign: | A list of characters that may be present in a key name, even though they are normally separator or control characters | +| `allowed_value_chars` | List[*str*] | :heavy_minus_sign: | A list of characters that may be present in a value, even though they are normally separator or control characters | +| `fields` | List[*str*] | :heavy_minus_sign: | The fields to be extracted, listed in order. Will auto-generate if empty. | +| `regex` | *Optional[str]* | :heavy_minus_sign: | Regex literal with named capturing groups, such as (?bar), or _NAME_ and _VALUE_ capturing groups, such as(?<_NAME_0>[^ =]+)=(?<_VALUE_0>[^,]+) | +| `regex_list` | List[[models.RegexListConfSerdeTypeRegex](../models/regexlistconfserdetyperegex.md)] | :heavy_minus_sign: | Additional regex patterns to apply for field extraction. | +| `iterations` | *Optional[float]* | :heavy_minus_sign: | The maximum number of times to apply regex to source field when the global flag is set, or when using _NAME_ and _VALUE_ capturing groups | +| `field_name_expression` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression to format field names when _NAME_n and _VALUE_n capturing groups are used. Original field name is in global variable 'name'. Example: To append XX to all field names, use `${name}_XX` (backticks are literal). If empty, names will be sanitized using this regex: /^[_0-9]+\|[^a-zA-Z0-9_]+/g. You can access other fields values via __e.. | +| `overwrite` | *Optional[bool]* | :heavy_minus_sign: | Overwrite existing event fields with extracted values. If disabled, existing fields will be converted to an array. | +| `pattern` | *Optional[str]* | :heavy_minus_sign: | Grok pattern to extract fields. Syntax supported: %{PATTERN_NAME:FIELD_NAME} | +| `pattern_list` | List[[models.PatternListConfSerdeTypeGrok](../models/patternlistconfserdetypegrok.md)] | :heavy_minus_sign: | Additional Grok patterns to apply to the source field. | \ No newline at end of file diff --git a/docs/models/serdetypeautooperationmode.md b/docs/models/serdetypeautooperationmode.md new file mode 100644 index 000000000..fff4d0cc7 --- /dev/null +++ b/docs/models/serdetypeautooperationmode.md @@ -0,0 +1,21 @@ +# SerdeTypeAutoOperationMode + +Extract creates new fields. Reserialize extracts and filters fields, and then reserializes. + +## Example Usage + +```python +from cribl_control_plane.models import SerdeTypeAutoOperationMode + +value = SerdeTypeAutoOperationMode.EXTRACT + +# Open enum: unrecognized values are captured as UnrecognizedStr +``` + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `EXTRACT` | extract | +| `RESERIALIZE` | reserialize | \ No newline at end of file diff --git a/docs/models/serdetypeautotype.md b/docs/models/serdetypeautotype.md new file mode 100644 index 000000000..fc8976379 --- /dev/null +++ b/docs/models/serdetypeautotype.md @@ -0,0 +1,28 @@ +# SerdeTypeAutoType + +Parser or formatter type to use + +## Example Usage + +```python +from cribl_control_plane.models import SerdeTypeAutoType + +value = SerdeTypeAutoType.CSV + +# Open enum: unrecognized values are captured as UnrecognizedStr +``` + + +## Values + +| Name | Value | +| ------- | ------- | +| `CSV` | csv | +| `ELFF` | elff | +| `CLF` | clf | +| `KVP` | kvp | +| `JSON` | json | +| `DELIM` | delim | +| `REGEX` | regex | +| `GROK` | grok | +| `AUTO` | auto | \ No newline at end of file diff --git a/docs/models/serdetypecsv.md b/docs/models/serdetypecsv.md index 308bcd0b5..581ec0f3f 100644 --- a/docs/models/serdetypecsv.md +++ b/docs/models/serdetypecsv.md @@ -5,20 +5,21 @@ | Field | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `type` | [models.TypeOptions](../models/typeoptions.md) | :heavy_check_mark: | Parser or formatter type to use | +| `type` | [models.SerdeTypeCsvType](../models/serdetypecsvtype.md) | :heavy_check_mark: | Parser or formatter type to use | +| `src_field` | *Optional[str]* | :heavy_minus_sign: | Field containing text to be parsed | +| `dst_field` | *Optional[str]* | :heavy_minus_sign: | Name of the field to add fields to. Extract mode only. | | `fields` | List[*str*] | :heavy_minus_sign: | The fields to be extracted, listed in order. Will auto-generate if empty. | | `keep` | List[*str*] | :heavy_minus_sign: | List of fields to keep. Supports wildcards (*). Takes precedence over 'Fields to remove'. | | `remove` | List[*str*] | :heavy_minus_sign: | List of fields to remove. Supports wildcards (*). Cannot remove fields that match 'Fields to keep'. | | `field_filter_expr` | *Optional[str]* | :heavy_minus_sign: | Expression evaluated against {index, name, value} context. Return truthy to keep a field, or falsy to remove it. | | `mode` | [models.SerdeTypeCsvOperationMode](../models/serdetypecsvoperationmode.md) | :heavy_check_mark: | Extract creates new fields. Reserialize extracts and filters fields, and then reserializes. | -| `src_field` | *Optional[str]* | :heavy_minus_sign: | Field containing text to be parsed | -| `dst_field` | *Optional[str]* | :heavy_minus_sign: | Name of the field to add fields to. Extract mode only. | | `allowed_key_chars` | List[*str*] | :heavy_minus_sign: | A list of characters that may be present in a key name, even though they are normally separator or control characters | | `allowed_value_chars` | List[*str*] | :heavy_minus_sign: | A list of characters that may be present in a value, even though they are normally separator or control characters | | `regex` | *Optional[str]* | :heavy_minus_sign: | Regex literal with named capturing groups, such as (?bar), or _NAME_ and _VALUE_ capturing groups, such as(?<_NAME_0>[^ =]+)=(?<_VALUE_0>[^,]+) | -| `regex_list` | List[[models.RegexListConfSerdeTypeRegex](../models/regexlistconfserdetyperegex.md)] | :heavy_minus_sign: | N/A | +| `regex_list` | List[[models.RegexListConfSerdeTypeRegex](../models/regexlistconfserdetyperegex.md)] | :heavy_minus_sign: | Additional regex patterns to apply for field extraction. | | `iterations` | *Optional[float]* | :heavy_minus_sign: | The maximum number of times to apply regex to source field when the global flag is set, or when using _NAME_ and _VALUE_ capturing groups | | `field_name_expression` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression to format field names when _NAME_n and _VALUE_n capturing groups are used. Original field name is in global variable 'name'. Example: To append XX to all field names, use `${name}_XX` (backticks are literal). If empty, names will be sanitized using this regex: /^[_0-9]+\|[^a-zA-Z0-9_]+/g. You can access other fields values via __e.. | | `overwrite` | *Optional[bool]* | :heavy_minus_sign: | Overwrite existing event fields with extracted values. If disabled, existing fields will be converted to an array. | +| `tag_datatype` | *Optional[bool]* | :heavy_minus_sign: | Keep the detected datatype field and set isParsed to true on each event. Enable this when events are bound for downstream Cribl Search processing. | | `pattern` | *Optional[str]* | :heavy_minus_sign: | Grok pattern to extract fields. Syntax supported: %{PATTERN_NAME:FIELD_NAME} | -| `pattern_list` | List[[models.PatternListConfSerdeTypeGrok](../models/patternlistconfserdetypegrok.md)] | :heavy_minus_sign: | N/A | \ No newline at end of file +| `pattern_list` | List[[models.PatternListConfSerdeTypeGrok](../models/patternlistconfserdetypegrok.md)] | :heavy_minus_sign: | Additional Grok patterns to apply to the source field. | \ No newline at end of file diff --git a/docs/models/typeoptions.md b/docs/models/serdetypecsvtype.md similarity index 70% rename from docs/models/typeoptions.md rename to docs/models/serdetypecsvtype.md index 2662f780e..19a9e2cf3 100644 --- a/docs/models/typeoptions.md +++ b/docs/models/serdetypecsvtype.md @@ -1,13 +1,13 @@ -# TypeOptions +# SerdeTypeCsvType Parser or formatter type to use ## Example Usage ```python -from cribl_control_plane.models import TypeOptions +from cribl_control_plane.models import SerdeTypeCsvType -value = TypeOptions.CSV +value = SerdeTypeCsvType.CSV # Open enum: unrecognized values are captured as UnrecognizedStr ``` @@ -24,4 +24,5 @@ value = TypeOptions.CSV | `JSON` | json | | `DELIM` | delim | | `REGEX` | regex | -| `GROK` | grok | \ No newline at end of file +| `GROK` | grok | +| `AUTO` | auto | \ No newline at end of file diff --git a/docs/models/serdetypedelim.md b/docs/models/serdetypedelim.md index 6c5eab0f4..07ab8a722 100644 --- a/docs/models/serdetypedelim.md +++ b/docs/models/serdetypedelim.md @@ -5,7 +5,9 @@ | Field | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `type` | [models.TypeOptions](../models/typeoptions.md) | :heavy_check_mark: | Parser or formatter type to use | +| `type` | [models.SerdeTypeDelimType](../models/serdetypedelimtype.md) | :heavy_check_mark: | Parser or formatter type to use | +| `src_field` | *Optional[str]* | :heavy_minus_sign: | Field containing text to be parsed | +| `dst_field` | *Optional[str]* | :heavy_minus_sign: | Name of the field to add fields to. Extract mode only. | | `fields` | List[*str*] | :heavy_minus_sign: | The fields to be extracted, listed in order. Will auto-generate if empty. | | `keep` | List[*str*] | :heavy_minus_sign: | List of fields to keep. Supports wildcards (*). Takes precedence over 'Fields to remove'. | | `remove` | List[*str*] | :heavy_minus_sign: | List of fields to remove. Supports wildcards (*). Cannot remove fields that match 'Fields to keep'. | @@ -15,14 +17,13 @@ | `escape_char` | *Optional[str]* | :heavy_minus_sign: | Escape character used to escape delimiter or quote character | | `null_value` | *Optional[str]* | :heavy_minus_sign: | Field value representing the null value. Null fields will be omitted. | | `mode` | [models.SerdeTypeDelimOperationMode](../models/serdetypedelimoperationmode.md) | :heavy_check_mark: | Extract creates new fields. Reserialize extracts and filters fields, and then reserializes. | -| `src_field` | *Optional[str]* | :heavy_minus_sign: | Field containing text to be parsed | -| `dst_field` | *Optional[str]* | :heavy_minus_sign: | Name of the field to add fields to. Extract mode only. | | `allowed_key_chars` | List[*str*] | :heavy_minus_sign: | A list of characters that may be present in a key name, even though they are normally separator or control characters | | `allowed_value_chars` | List[*str*] | :heavy_minus_sign: | A list of characters that may be present in a value, even though they are normally separator or control characters | | `regex` | *Optional[str]* | :heavy_minus_sign: | Regex literal with named capturing groups, such as (?bar), or _NAME_ and _VALUE_ capturing groups, such as(?<_NAME_0>[^ =]+)=(?<_VALUE_0>[^,]+) | -| `regex_list` | List[[models.RegexListConfSerdeTypeRegex](../models/regexlistconfserdetyperegex.md)] | :heavy_minus_sign: | N/A | +| `regex_list` | List[[models.RegexListConfSerdeTypeRegex](../models/regexlistconfserdetyperegex.md)] | :heavy_minus_sign: | Additional regex patterns to apply for field extraction. | | `iterations` | *Optional[float]* | :heavy_minus_sign: | The maximum number of times to apply regex to source field when the global flag is set, or when using _NAME_ and _VALUE_ capturing groups | | `field_name_expression` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression to format field names when _NAME_n and _VALUE_n capturing groups are used. Original field name is in global variable 'name'. Example: To append XX to all field names, use `${name}_XX` (backticks are literal). If empty, names will be sanitized using this regex: /^[_0-9]+\|[^a-zA-Z0-9_]+/g. You can access other fields values via __e.. | | `overwrite` | *Optional[bool]* | :heavy_minus_sign: | Overwrite existing event fields with extracted values. If disabled, existing fields will be converted to an array. | +| `tag_datatype` | *Optional[bool]* | :heavy_minus_sign: | Keep the detected datatype field and set isParsed to true on each event. Enable this when events are bound for downstream Cribl Search processing. | | `pattern` | *Optional[str]* | :heavy_minus_sign: | Grok pattern to extract fields. Syntax supported: %{PATTERN_NAME:FIELD_NAME} | -| `pattern_list` | List[[models.PatternListConfSerdeTypeGrok](../models/patternlistconfserdetypegrok.md)] | :heavy_minus_sign: | N/A | \ No newline at end of file +| `pattern_list` | List[[models.PatternListConfSerdeTypeGrok](../models/patternlistconfserdetypegrok.md)] | :heavy_minus_sign: | Additional Grok patterns to apply to the source field. | \ No newline at end of file diff --git a/docs/models/serdetypedelimtype.md b/docs/models/serdetypedelimtype.md new file mode 100644 index 000000000..8985b4847 --- /dev/null +++ b/docs/models/serdetypedelimtype.md @@ -0,0 +1,28 @@ +# SerdeTypeDelimType + +Parser or formatter type to use + +## Example Usage + +```python +from cribl_control_plane.models import SerdeTypeDelimType + +value = SerdeTypeDelimType.CSV + +# Open enum: unrecognized values are captured as UnrecognizedStr +``` + + +## Values + +| Name | Value | +| ------- | ------- | +| `CSV` | csv | +| `ELFF` | elff | +| `CLF` | clf | +| `KVP` | kvp | +| `JSON` | json | +| `DELIM` | delim | +| `REGEX` | regex | +| `GROK` | grok | +| `AUTO` | auto | \ No newline at end of file diff --git a/docs/models/serdetypegrok.md b/docs/models/serdetypegrok.md index c3e4b5da1..d2a59ce6f 100644 --- a/docs/models/serdetypegrok.md +++ b/docs/models/serdetypegrok.md @@ -5,12 +5,12 @@ | Field | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `type` | [models.TypeOptions](../models/typeoptions.md) | :heavy_check_mark: | Parser or formatter type to use | -| `pattern` | *str* | :heavy_check_mark: | Grok pattern to extract fields. Syntax supported: %{PATTERN_NAME:FIELD_NAME} | -| `pattern_list` | List[[models.PatternListConfSerdeTypeGrok](../models/patternlistconfserdetypegrok.md)] | :heavy_minus_sign: | N/A | -| `mode` | [models.SerdeTypeGrokOperationMode](../models/serdetypegrokoperationmode.md) | :heavy_check_mark: | Extract creates new fields. Reserialize extracts and filters fields, and then reserializes. | +| `type` | [models.SerdeTypeGrokType](../models/serdetypegroktype.md) | :heavy_check_mark: | Parser or formatter type to use | | `src_field` | *Optional[str]* | :heavy_minus_sign: | Field containing text to be parsed | | `dst_field` | *Optional[str]* | :heavy_minus_sign: | Name of the field to add fields to. Extract mode only. | +| `pattern` | *str* | :heavy_check_mark: | Grok pattern to extract fields. Syntax supported: %{PATTERN_NAME:FIELD_NAME} | +| `pattern_list` | List[[models.PatternListConfSerdeTypeGrok](../models/patternlistconfserdetypegrok.md)] | :heavy_minus_sign: | Additional Grok patterns to apply to the source field. | +| `mode` | [models.SerdeTypeGrokOperationMode](../models/serdetypegrokoperationmode.md) | :heavy_check_mark: | Extract creates new fields. Reserialize extracts and filters fields, and then reserializes. | | `keep` | List[*str*] | :heavy_minus_sign: | List of fields to keep. Supports wildcards (*). Takes precedence over 'Fields to remove'. | | `remove` | List[*str*] | :heavy_minus_sign: | List of fields to remove. Supports wildcards (*). Cannot remove fields that match 'Fields to keep'. | | `field_filter_expr` | *Optional[str]* | :heavy_minus_sign: | Expression evaluated against {index, name, value} context. Return truthy to keep a field, or falsy to remove it. | @@ -18,7 +18,8 @@ | `allowed_value_chars` | List[*str*] | :heavy_minus_sign: | A list of characters that may be present in a value, even though they are normally separator or control characters | | `fields` | List[*str*] | :heavy_minus_sign: | The fields to be extracted, listed in order. Will auto-generate if empty. | | `regex` | *Optional[str]* | :heavy_minus_sign: | Regex literal with named capturing groups, such as (?bar), or _NAME_ and _VALUE_ capturing groups, such as(?<_NAME_0>[^ =]+)=(?<_VALUE_0>[^,]+) | -| `regex_list` | List[[models.RegexListConfSerdeTypeRegex](../models/regexlistconfserdetyperegex.md)] | :heavy_minus_sign: | N/A | +| `regex_list` | List[[models.RegexListConfSerdeTypeRegex](../models/regexlistconfserdetyperegex.md)] | :heavy_minus_sign: | Additional regex patterns to apply for field extraction. | | `iterations` | *Optional[float]* | :heavy_minus_sign: | The maximum number of times to apply regex to source field when the global flag is set, or when using _NAME_ and _VALUE_ capturing groups | | `field_name_expression` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression to format field names when _NAME_n and _VALUE_n capturing groups are used. Original field name is in global variable 'name'. Example: To append XX to all field names, use `${name}_XX` (backticks are literal). If empty, names will be sanitized using this regex: /^[_0-9]+\|[^a-zA-Z0-9_]+/g. You can access other fields values via __e.. | -| `overwrite` | *Optional[bool]* | :heavy_minus_sign: | Overwrite existing event fields with extracted values. If disabled, existing fields will be converted to an array. | \ No newline at end of file +| `overwrite` | *Optional[bool]* | :heavy_minus_sign: | Overwrite existing event fields with extracted values. If disabled, existing fields will be converted to an array. | +| `tag_datatype` | *Optional[bool]* | :heavy_minus_sign: | Keep the detected datatype field and set isParsed to true on each event. Enable this when events are bound for downstream Cribl Search processing. | \ No newline at end of file diff --git a/docs/models/serdetypegroktype.md b/docs/models/serdetypegroktype.md new file mode 100644 index 000000000..f8a6bc68f --- /dev/null +++ b/docs/models/serdetypegroktype.md @@ -0,0 +1,28 @@ +# SerdeTypeGrokType + +Parser or formatter type to use + +## Example Usage + +```python +from cribl_control_plane.models import SerdeTypeGrokType + +value = SerdeTypeGrokType.CSV + +# Open enum: unrecognized values are captured as UnrecognizedStr +``` + + +## Values + +| Name | Value | +| ------- | ------- | +| `CSV` | csv | +| `ELFF` | elff | +| `CLF` | clf | +| `KVP` | kvp | +| `JSON` | json | +| `DELIM` | delim | +| `REGEX` | regex | +| `GROK` | grok | +| `AUTO` | auto | \ No newline at end of file diff --git a/docs/models/serdetypejson.md b/docs/models/serdetypejson.md index faa2b1f6f..2249c0ba7 100644 --- a/docs/models/serdetypejson.md +++ b/docs/models/serdetypejson.md @@ -5,20 +5,21 @@ | Field | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `type` | [models.TypeOptions](../models/typeoptions.md) | :heavy_check_mark: | Parser or formatter type to use | +| `type` | [models.SerdeTypeJSONType](../models/serdetypejsontype.md) | :heavy_check_mark: | Parser or formatter type to use | +| `src_field` | *Optional[str]* | :heavy_minus_sign: | Field containing text to be parsed | +| `dst_field` | *Optional[str]* | :heavy_minus_sign: | Name of the field to add fields to. Extract mode only. | | `keep` | List[*str*] | :heavy_minus_sign: | List of fields to keep. Supports wildcards (*). Takes precedence over 'Fields to remove'. | | `remove` | List[*str*] | :heavy_minus_sign: | List of fields to remove. Supports wildcards (*). Cannot remove fields that match 'Fields to keep'. | | `field_filter_expr` | *Optional[str]* | :heavy_minus_sign: | Expression evaluated against {index, name, value} context. Return truthy to keep a field, or falsy to remove it. | | `mode` | [models.SerdeTypeJSONOperationMode](../models/serdetypejsonoperationmode.md) | :heavy_check_mark: | Extract creates new fields. Reserialize extracts and filters fields, and then reserializes. | -| `src_field` | *Optional[str]* | :heavy_minus_sign: | Field containing text to be parsed | -| `dst_field` | *Optional[str]* | :heavy_minus_sign: | Name of the field to add fields to. Extract mode only. | | `allowed_key_chars` | List[*str*] | :heavy_minus_sign: | A list of characters that may be present in a key name, even though they are normally separator or control characters | | `allowed_value_chars` | List[*str*] | :heavy_minus_sign: | A list of characters that may be present in a value, even though they are normally separator or control characters | | `fields` | List[*str*] | :heavy_minus_sign: | The fields to be extracted, listed in order. Will auto-generate if empty. | | `regex` | *Optional[str]* | :heavy_minus_sign: | Regex literal with named capturing groups, such as (?bar), or _NAME_ and _VALUE_ capturing groups, such as(?<_NAME_0>[^ =]+)=(?<_VALUE_0>[^,]+) | -| `regex_list` | List[[models.RegexListConfSerdeTypeRegex](../models/regexlistconfserdetyperegex.md)] | :heavy_minus_sign: | N/A | +| `regex_list` | List[[models.RegexListConfSerdeTypeRegex](../models/regexlistconfserdetyperegex.md)] | :heavy_minus_sign: | Additional regex patterns to apply for field extraction. | | `iterations` | *Optional[float]* | :heavy_minus_sign: | The maximum number of times to apply regex to source field when the global flag is set, or when using _NAME_ and _VALUE_ capturing groups | | `field_name_expression` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression to format field names when _NAME_n and _VALUE_n capturing groups are used. Original field name is in global variable 'name'. Example: To append XX to all field names, use `${name}_XX` (backticks are literal). If empty, names will be sanitized using this regex: /^[_0-9]+\|[^a-zA-Z0-9_]+/g. You can access other fields values via __e.. | | `overwrite` | *Optional[bool]* | :heavy_minus_sign: | Overwrite existing event fields with extracted values. If disabled, existing fields will be converted to an array. | +| `tag_datatype` | *Optional[bool]* | :heavy_minus_sign: | Keep the detected datatype field and set isParsed to true on each event. Enable this when events are bound for downstream Cribl Search processing. | | `pattern` | *Optional[str]* | :heavy_minus_sign: | Grok pattern to extract fields. Syntax supported: %{PATTERN_NAME:FIELD_NAME} | -| `pattern_list` | List[[models.PatternListConfSerdeTypeGrok](../models/patternlistconfserdetypegrok.md)] | :heavy_minus_sign: | N/A | \ No newline at end of file +| `pattern_list` | List[[models.PatternListConfSerdeTypeGrok](../models/patternlistconfserdetypegrok.md)] | :heavy_minus_sign: | Additional Grok patterns to apply to the source field. | \ No newline at end of file diff --git a/docs/models/serdetypejsontype.md b/docs/models/serdetypejsontype.md new file mode 100644 index 000000000..c1d5f60cf --- /dev/null +++ b/docs/models/serdetypejsontype.md @@ -0,0 +1,28 @@ +# SerdeTypeJSONType + +Parser or formatter type to use + +## Example Usage + +```python +from cribl_control_plane.models import SerdeTypeJSONType + +value = SerdeTypeJSONType.CSV + +# Open enum: unrecognized values are captured as UnrecognizedStr +``` + + +## Values + +| Name | Value | +| ------- | ------- | +| `CSV` | csv | +| `ELFF` | elff | +| `CLF` | clf | +| `KVP` | kvp | +| `JSON` | json | +| `DELIM` | delim | +| `REGEX` | regex | +| `GROK` | grok | +| `AUTO` | auto | \ No newline at end of file diff --git a/docs/models/serdetypekvp.md b/docs/models/serdetypekvp.md index 77c1309d9..f56a80db3 100644 --- a/docs/models/serdetypekvp.md +++ b/docs/models/serdetypekvp.md @@ -5,7 +5,9 @@ | Field | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `type` | [models.TypeOptions](../models/typeoptions.md) | :heavy_check_mark: | Parser or formatter type to use | +| `type` | [models.SerdeTypeKvpType](../models/serdetypekvptype.md) | :heavy_check_mark: | Parser or formatter type to use | +| `src_field` | *Optional[str]* | :heavy_minus_sign: | Field containing text to be parsed | +| `dst_field` | *Optional[str]* | :heavy_minus_sign: | Name of the field to add fields to. Extract mode only. | | `keep` | List[*str*] | :heavy_minus_sign: | List of fields to keep. Supports wildcards (*). Takes precedence over 'Fields to remove'. | | `remove` | List[*str*] | :heavy_minus_sign: | List of fields to remove. Supports wildcards (*). Cannot remove fields that match 'Fields to keep'. | | `field_filter_expr` | *Optional[str]* | :heavy_minus_sign: | Expression evaluated against {index, name, value} context. Return truthy to keep a field, or falsy to remove it. | @@ -13,13 +15,12 @@ | `allowed_key_chars` | List[*str*] | :heavy_minus_sign: | A list of characters that may be present in a key name, even though they are normally separator or control characters | | `allowed_value_chars` | List[*str*] | :heavy_minus_sign: | A list of characters that may be present in a value, even though they are normally separator or control characters | | `mode` | [models.SerdeTypeKvpOperationMode](../models/serdetypekvpoperationmode.md) | :heavy_check_mark: | Extract creates new fields. Reserialize extracts and filters fields, and then reserializes. | -| `src_field` | *Optional[str]* | :heavy_minus_sign: | Field containing text to be parsed | -| `dst_field` | *Optional[str]* | :heavy_minus_sign: | Name of the field to add fields to. Extract mode only. | | `fields` | List[*str*] | :heavy_minus_sign: | The fields to be extracted, listed in order. Will auto-generate if empty. | | `regex` | *Optional[str]* | :heavy_minus_sign: | Regex literal with named capturing groups, such as (?bar), or _NAME_ and _VALUE_ capturing groups, such as(?<_NAME_0>[^ =]+)=(?<_VALUE_0>[^,]+) | -| `regex_list` | List[[models.RegexListConfSerdeTypeRegex](../models/regexlistconfserdetyperegex.md)] | :heavy_minus_sign: | N/A | +| `regex_list` | List[[models.RegexListConfSerdeTypeRegex](../models/regexlistconfserdetyperegex.md)] | :heavy_minus_sign: | Additional regex patterns to apply for field extraction. | | `iterations` | *Optional[float]* | :heavy_minus_sign: | The maximum number of times to apply regex to source field when the global flag is set, or when using _NAME_ and _VALUE_ capturing groups | | `field_name_expression` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression to format field names when _NAME_n and _VALUE_n capturing groups are used. Original field name is in global variable 'name'. Example: To append XX to all field names, use `${name}_XX` (backticks are literal). If empty, names will be sanitized using this regex: /^[_0-9]+\|[^a-zA-Z0-9_]+/g. You can access other fields values via __e.. | | `overwrite` | *Optional[bool]* | :heavy_minus_sign: | Overwrite existing event fields with extracted values. If disabled, existing fields will be converted to an array. | +| `tag_datatype` | *Optional[bool]* | :heavy_minus_sign: | Keep the detected datatype field and set isParsed to true on each event. Enable this when events are bound for downstream Cribl Search processing. | | `pattern` | *Optional[str]* | :heavy_minus_sign: | Grok pattern to extract fields. Syntax supported: %{PATTERN_NAME:FIELD_NAME} | -| `pattern_list` | List[[models.PatternListConfSerdeTypeGrok](../models/patternlistconfserdetypegrok.md)] | :heavy_minus_sign: | N/A | \ No newline at end of file +| `pattern_list` | List[[models.PatternListConfSerdeTypeGrok](../models/patternlistconfserdetypegrok.md)] | :heavy_minus_sign: | Additional Grok patterns to apply to the source field. | \ No newline at end of file diff --git a/docs/models/serdetypekvptype.md b/docs/models/serdetypekvptype.md new file mode 100644 index 000000000..98eeffe87 --- /dev/null +++ b/docs/models/serdetypekvptype.md @@ -0,0 +1,28 @@ +# SerdeTypeKvpType + +Parser or formatter type to use + +## Example Usage + +```python +from cribl_control_plane.models import SerdeTypeKvpType + +value = SerdeTypeKvpType.CSV + +# Open enum: unrecognized values are captured as UnrecognizedStr +``` + + +## Values + +| Name | Value | +| ------- | ------- | +| `CSV` | csv | +| `ELFF` | elff | +| `CLF` | clf | +| `KVP` | kvp | +| `JSON` | json | +| `DELIM` | delim | +| `REGEX` | regex | +| `GROK` | grok | +| `AUTO` | auto | \ No newline at end of file diff --git a/docs/models/serdetyperegex.md b/docs/models/serdetyperegex.md index d902250fe..34509b883 100644 --- a/docs/models/serdetyperegex.md +++ b/docs/models/serdetyperegex.md @@ -5,20 +5,21 @@ | Field | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `type` | [models.TypeOptions](../models/typeoptions.md) | :heavy_check_mark: | Parser or formatter type to use | +| `type` | [models.SerdeTypeRegexType](../models/serdetyperegextype.md) | :heavy_check_mark: | Parser or formatter type to use | +| `src_field` | *Optional[str]* | :heavy_minus_sign: | Field containing text to be parsed | +| `dst_field` | *Optional[str]* | :heavy_minus_sign: | Name of the field to add fields to. Extract mode only. | | `regex` | *str* | :heavy_check_mark: | Regex literal with named capturing groups, such as (?bar), or _NAME_ and _VALUE_ capturing groups, such as(?<_NAME_0>[^ =]+)=(?<_VALUE_0>[^,]+) | -| `regex_list` | List[[models.RegexListConfSerdeTypeRegex](../models/regexlistconfserdetyperegex.md)] | :heavy_minus_sign: | N/A | +| `regex_list` | List[[models.RegexListConfSerdeTypeRegex](../models/regexlistconfserdetyperegex.md)] | :heavy_minus_sign: | Additional regex patterns to apply for field extraction. | | `iterations` | *Optional[float]* | :heavy_minus_sign: | The maximum number of times to apply regex to source field when the global flag is set, or when using _NAME_ and _VALUE_ capturing groups | | `field_name_expression` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression to format field names when _NAME_n and _VALUE_n capturing groups are used. Original field name is in global variable 'name'. Example: To append XX to all field names, use `${name}_XX` (backticks are literal). If empty, names will be sanitized using this regex: /^[_0-9]+\|[^a-zA-Z0-9_]+/g. You can access other fields values via __e.. | | `overwrite` | *Optional[bool]* | :heavy_minus_sign: | Overwrite existing event fields with extracted values. If disabled, existing fields will be converted to an array. | | `mode` | [models.SerdeTypeRegexOperationMode](../models/serdetyperegexoperationmode.md) | :heavy_check_mark: | Extract creates new fields. Reserialize extracts and filters fields, and then reserializes. | -| `src_field` | *Optional[str]* | :heavy_minus_sign: | Field containing text to be parsed | -| `dst_field` | *Optional[str]* | :heavy_minus_sign: | Name of the field to add fields to. Extract mode only. | | `keep` | List[*str*] | :heavy_minus_sign: | List of fields to keep. Supports wildcards (*). Takes precedence over 'Fields to remove'. | | `remove` | List[*str*] | :heavy_minus_sign: | List of fields to remove. Supports wildcards (*). Cannot remove fields that match 'Fields to keep'. | | `field_filter_expr` | *Optional[str]* | :heavy_minus_sign: | Expression evaluated against {index, name, value} context. Return truthy to keep a field, or falsy to remove it. | | `allowed_key_chars` | List[*str*] | :heavy_minus_sign: | A list of characters that may be present in a key name, even though they are normally separator or control characters | | `allowed_value_chars` | List[*str*] | :heavy_minus_sign: | A list of characters that may be present in a value, even though they are normally separator or control characters | | `fields` | List[*str*] | :heavy_minus_sign: | The fields to be extracted, listed in order. Will auto-generate if empty. | +| `tag_datatype` | *Optional[bool]* | :heavy_minus_sign: | Keep the detected datatype field and set isParsed to true on each event. Enable this when events are bound for downstream Cribl Search processing. | | `pattern` | *Optional[str]* | :heavy_minus_sign: | Grok pattern to extract fields. Syntax supported: %{PATTERN_NAME:FIELD_NAME} | -| `pattern_list` | List[[models.PatternListConfSerdeTypeGrok](../models/patternlistconfserdetypegrok.md)] | :heavy_minus_sign: | N/A | \ No newline at end of file +| `pattern_list` | List[[models.PatternListConfSerdeTypeGrok](../models/patternlistconfserdetypegrok.md)] | :heavy_minus_sign: | Additional Grok patterns to apply to the source field. | \ No newline at end of file diff --git a/docs/models/serdetyperegextype.md b/docs/models/serdetyperegextype.md new file mode 100644 index 000000000..64ba21925 --- /dev/null +++ b/docs/models/serdetyperegextype.md @@ -0,0 +1,28 @@ +# SerdeTypeRegexType + +Parser or formatter type to use + +## Example Usage + +```python +from cribl_control_plane.models import SerdeTypeRegexType + +value = SerdeTypeRegexType.CSV + +# Open enum: unrecognized values are captured as UnrecognizedStr +``` + + +## Values + +| Name | Value | +| ------- | ------- | +| `CSV` | csv | +| `ELFF` | elff | +| `CLF` | clf | +| `KVP` | kvp | +| `JSON` | json | +| `DELIM` | delim | +| `REGEX` | regex | +| `GROK` | grok | +| `AUTO` | auto | \ No newline at end of file diff --git a/docs/models/shutdowntypesystemsettingsconf.md b/docs/models/shutdowntypesystemsettingsconf.md index 0efb209d3..aa6e8d086 100644 --- a/docs/models/shutdowntypesystemsettingsconf.md +++ b/docs/models/shutdowntypesystemsettingsconf.md @@ -1,8 +1,10 @@ # ShutdownTypeSystemSettingsConf +Graceful shutdown configuration. + ## Fields -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `drain_timeout` | *float* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `drain_timeout` | *int* | :heavy_check_mark: | Maximum time in milliseconds to wait for in-flight events to drain before forcing a shutdown. | \ No newline at end of file diff --git a/docs/models/simplepivotconfiguration.md b/docs/models/simplepivotconfiguration.md index 2e4a24ef8..d39d9e895 100644 --- a/docs/models/simplepivotconfiguration.md +++ b/docs/models/simplepivotconfiguration.md @@ -1,5 +1,7 @@ # SimplePivotConfiguration +Configuration specific to the Pipeline Function. + ## Fields diff --git a/docs/models/snisettings.md b/docs/models/snisettings.md index 370277669..be94623e4 100644 --- a/docs/models/snisettings.md +++ b/docs/models/snisettings.md @@ -3,6 +3,6 @@ ## Fields -| Field | Type | Required | Description | -| --------------------- | --------------------- | --------------------- | --------------------- | -| `disable_sni_routing` | *bool* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | +| `disable_sni_routing` | *bool* | :heavy_check_mark: | If true, disable Server Name Indication (SNI) routing. Otherwise, false. | \ No newline at end of file diff --git a/docs/models/socketstypesystemsettingsconf.md b/docs/models/socketstypesystemsettingsconf.md index 3f5f63652..5db0a8176 100644 --- a/docs/models/socketstypesystemsettingsconf.md +++ b/docs/models/socketstypesystemsettingsconf.md @@ -1,8 +1,10 @@ # SocketsTypeSystemSettingsConf +Unix domain socket configuration. + ## Fields -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `directory` | *Optional[str]* | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | +| `directory` | *Optional[str]* | :heavy_minus_sign: | Filesystem directory path where Unix domain socket files are created. | \ No newline at end of file diff --git a/docs/models/sortconfiguration.md b/docs/models/sortconfiguration.md index ec4484e17..ef5ca5630 100644 --- a/docs/models/sortconfiguration.md +++ b/docs/models/sortconfiguration.md @@ -1,5 +1,7 @@ # SortConfiguration +Configuration specific to the Pipeline Function. + ## Fields diff --git a/docs/models/sqsauthenticationmethodoptions.md b/docs/models/sqsauthenticationmethodoptions.md new file mode 100644 index 000000000..210797672 --- /dev/null +++ b/docs/models/sqsauthenticationmethodoptions.md @@ -0,0 +1,21 @@ +# SqsAuthenticationMethodOptions + +Choose Auto to use IAM roles + +## Example Usage + +```python +from cribl_control_plane.models import SqsAuthenticationMethodOptions + +value = SqsAuthenticationMethodOptions.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/ssltypesystemsettingsconfapi.md b/docs/models/ssltypesystemsettingsconfapi.md index 51986a3bb..e8df7e642 100644 --- a/docs/models/ssltypesystemsettingsconfapi.md +++ b/docs/models/ssltypesystemsettingsconfapi.md @@ -1,12 +1,14 @@ # SslTypeSystemSettingsConfAPI +TLS configuration for the API server. + ## Fields -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `ca_path` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `cert_path` | *str* | :heavy_check_mark: | N/A | -| `disabled` | *bool* | :heavy_check_mark: | N/A | -| `passphrase` | *str* | :heavy_check_mark: | N/A | -| `priv_key_path` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | +| `ca_path` | *Optional[str]* | :heavy_minus_sign: | Filesystem path to the PEM-encoded Certificate Authority (CA) certificate for client authentication. | +| `cert_path` | *str* | :heavy_check_mark: | Filesystem path to the PEM-encoded TLS certificate. | +| `disabled` | *bool* | :heavy_check_mark: | If true, TLS is disabled for the API server. Otherwise, false. | +| `passphrase` | *str* | :heavy_check_mark: | Passphrase to decrypt the TLS private key, if encrypted. | +| `priv_key_path` | *str* | :heavy_check_mark: | Filesystem path to the PEM-encoded TLS private key. | \ No newline at end of file diff --git a/docs/models/statustype.md b/docs/models/statustype.md index f0eb8e71c..d011c0c03 100644 --- a/docs/models/statustype.md +++ b/docs/models/statustype.md @@ -5,11 +5,11 @@ Runtime status: health, metrics, and optional persistent-queue info. Fields may ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | -| `error` | [Optional[models.StatusError]](../models/statuserror.md) | :heavy_minus_sign: | N/A | -| `health` | [Optional[models.HealthStringType]](../models/healthstringtype.md) | :heavy_minus_sign: | N/A | -| `metrics` | Dict[str, *Any*] | :heavy_minus_sign: | Metrics data for the Source or Destination. | -| `pq` | [Optional[models.WorkerPQStatus]](../models/workerpqstatus.md) | :heavy_minus_sign: | N/A | -| `timestamp` | *Optional[float]* | :heavy_minus_sign: | Timestamp (in Unix time) when the status was last updated. | -| `use_status_from_lb` | *Optional[bool]* | :heavy_minus_sign: | Set to prefer status from the LB process, not from the worker process. | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | +| `error` | [Optional[models.StatusError]](../models/statuserror.md) | :heavy_minus_sign: | N/A | +| `health` | [Optional[models.HealthOptionsStatus]](../models/healthoptionsstatus.md) | :heavy_minus_sign: | Overall health status of the Source or Destination. | +| `metrics` | Dict[str, *Any*] | :heavy_minus_sign: | Metrics data for the Source or Destination. | +| `pq` | [Optional[models.WorkerPQStatus]](../models/workerpqstatus.md) | :heavy_minus_sign: | N/A | +| `timestamp` | *Optional[int]* | :heavy_minus_sign: | Timestamp (in Unix time) when the status was last updated. | +| `use_status_from_lb` | *Optional[bool]* | :heavy_minus_sign: | Set to prefer status from the LB process, not from the worker process. | \ No newline at end of file diff --git a/docs/models/storageclassoptionscribllakedataset.md b/docs/models/storageclassoptionscribllakedataset.md index b832db2b5..ee664cb72 100644 --- a/docs/models/storageclassoptionscribllakedataset.md +++ b/docs/models/storageclassoptionscribllakedataset.md @@ -7,7 +7,7 @@ Storage class used for objects written to the Dataset. ```python from cribl_control_plane.models import StorageClassOptionsCriblLakeDataset -value = StorageClassOptionsCriblLakeDataset.DEEP_ARCHIVE +value = StorageClassOptionsCriblLakeDataset.ARCHIVE # Open enum: unrecognized values are captured as UnrecognizedStr ``` @@ -17,9 +17,14 @@ value = StorageClassOptionsCriblLakeDataset.DEEP_ARCHIVE | Name | Value | | --------------------- | --------------------- | +| `ARCHIVE` | Archive | +| `COLD` | Cold | +| `COOL` | Cool | | `DEEP_ARCHIVE` | DEEP_ARCHIVE | | `GLACIER` | GLACIER | | `GLACIER_IR` | GLACIER_IR | +| `HOT` | Hot | +| `INFERRED` | Inferred | | `INTELLIGENT_TIERING` | INTELLIGENT_TIERING | | `ONEZONE_IA` | ONEZONE_IA | | `STANDARD` | STANDARD | diff --git a/docs/models/storefunctionconfiguration.md b/docs/models/storefunctionconfiguration.md index d151dbeef..f00bb56ba 100644 --- a/docs/models/storefunctionconfiguration.md +++ b/docs/models/storefunctionconfiguration.md @@ -1,5 +1,7 @@ # StoreFunctionConfiguration +Configuration specific to the Pipeline Function. + ## Fields diff --git a/docs/models/summary.md b/docs/models/summary.md index c27e33abf..f84b3cab8 100644 --- a/docs/models/summary.md +++ b/docs/models/summary.md @@ -1,10 +1,12 @@ # Summary +Summary of line changes in the commit. + ## Fields -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `changes` | *float* | :heavy_check_mark: | N/A | -| `deletions` | *float* | :heavy_check_mark: | N/A | -| `insertions` | *float* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | +| `changes` | *int* | :heavy_check_mark: | Total number of lines changed (insertions plus deletions). | +| `deletions` | *int* | :heavy_check_mark: | Number of lines deleted. | +| `insertions` | *int* | :heavy_check_mark: | Number of lines inserted. | \ No newline at end of file diff --git a/docs/models/supporttypesystemsettingsconf.md b/docs/models/supporttypesystemsettingsconf.md index 716158d25..59d399c70 100644 --- a/docs/models/supporttypesystemsettingsconf.md +++ b/docs/models/supporttypesystemsettingsconf.md @@ -1,10 +1,12 @@ # SupportTypeSystemSettingsConf +Support and diagnostics settings. + ## Fields | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | -| `feature_flag_overrides` | List[[models.FeatureFlagOverrideConfSystemSettingsConf](../models/featureflagoverrideconfsystemsettingsconf.md)] | :heavy_minus_sign: | N/A | -| `log_file_max_files` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `log_file_max_size` | *Optional[str]* | :heavy_minus_sign: | N/A | \ No newline at end of file +| `feature_flag_overrides` | List[[models.FeatureFlagOverrideConfSystemSettingsConf](../models/featureflagoverrideconfsystemsettingsconf.md)] | :heavy_minus_sign: | List of feature flag overrides applied to this Cribl instance. | +| `log_file_max_files` | *Optional[int]* | :heavy_minus_sign: | Maximum number of log files to retain before rotating. | +| `log_file_max_size` | *Optional[str]* | :heavy_minus_sign: | Maximum size of each log file. Value is a numeral and unit such as 10 MB. | \ No newline at end of file diff --git a/docs/models/systemsettingsconf.md b/docs/models/systemsettingsconf.md index 77da2a96e..f650276bc 100644 --- a/docs/models/systemsettingsconf.md +++ b/docs/models/systemsettingsconf.md @@ -5,19 +5,19 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -| `api` | [models.APITypeSystemSettingsConf](../models/apitypesystemsettingsconf.md) | :heavy_check_mark: | N/A | -| `apps` | [Optional[models.AppsTypeSystemSettingsConf]](../models/appstypesystemsettingsconf.md) | :heavy_minus_sign: | N/A | +| `api` | [models.APITypeSystemSettingsConf](../models/apitypesystemsettingsconf.md) | :heavy_check_mark: | API server configuration for the Cribl instance. | +| `apps` | [Optional[models.AppsTypeSystemSettingsConf]](../models/appstypesystemsettingsconf.md) | :heavy_minus_sign: | App configuration. | | `backups` | [models.BackupsSettingsUnion](../models/backupssettingsunion.md) | :heavy_check_mark: | N/A | -| `custom_logo` | [Optional[models.CustomLogoTypeSystemSettingsConf]](../models/customlogotypesystemsettingsconf.md) | :heavy_minus_sign: | N/A | +| `custom_logo` | [Optional[models.CustomLogoTypeSystemSettingsConf]](../models/customlogotypesystemsettingsconf.md) | :heavy_minus_sign: | Custom logo configuration for the Cribl UI login page and navigation bar. | | `pii` | [models.PiiSettingsUnion](../models/piisettingsunion.md) | :heavy_check_mark: | N/A | -| `proxy` | [models.ProxyTypeSystemSettingsConf](../models/proxytypesystemsettingsconf.md) | :heavy_check_mark: | N/A | +| `proxy` | [models.ProxyTypeSystemSettingsConf](../models/proxytypesystemsettingsconf.md) | :heavy_check_mark: | HTTP proxy configuration for outbound connections. | | `rollback` | [models.RollbackSettingsUnion](../models/rollbacksettingsunion.md) | :heavy_check_mark: | N/A | -| `shutdown` | [models.ShutdownTypeSystemSettingsConf](../models/shutdowntypesystemsettingsconf.md) | :heavy_check_mark: | N/A | +| `shutdown` | [models.ShutdownTypeSystemSettingsConf](../models/shutdowntypesystemsettingsconf.md) | :heavy_check_mark: | Graceful shutdown configuration. | | `sni` | [models.SniSettingsUnion](../models/snisettingsunion.md) | :heavy_check_mark: | N/A | -| `sockets` | [Optional[models.SocketsTypeSystemSettingsConf]](../models/socketstypesystemsettingsconf.md) | :heavy_minus_sign: | N/A | -| `support` | [Optional[models.SupportTypeSystemSettingsConf]](../models/supporttypesystemsettingsconf.md) | :heavy_minus_sign: | N/A | -| `system` | [models.SystemTypeSystemSettingsConf](../models/systemtypesystemsettingsconf.md) | :heavy_check_mark: | N/A | +| `sockets` | [Optional[models.SocketsTypeSystemSettingsConf]](../models/socketstypesystemsettingsconf.md) | :heavy_minus_sign: | Unix domain socket configuration. | +| `support` | [Optional[models.SupportTypeSystemSettingsConf]](../models/supporttypesystemsettingsconf.md) | :heavy_minus_sign: | Support and diagnostics settings. | +| `system` | [models.SystemTypeSystemSettingsConf](../models/systemtypesystemsettingsconf.md) | :heavy_check_mark: | System-level operational settings for the Cribl instance. | | `tls` | [models.TLSSettingsUnion](../models/tlssettingsunion.md) | :heavy_check_mark: | N/A | | `upgrade_group_settings` | [models.UpgradeGroupSettings](../models/upgradegroupsettings.md) | :heavy_check_mark: | N/A | | `upgrade_settings` | [models.UpgradeSettings](../models/upgradesettings.md) | :heavy_check_mark: | N/A | -| `workers` | [models.WorkersTypeSystemSettingsConf](../models/workerstypesystemsettingsconf.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| `workers` | [models.WorkersTypeSystemSettingsConf](../models/workerstypesystemsettingsconf.md) | :heavy_check_mark: | Worker Process configuration. | \ No newline at end of file diff --git a/docs/models/systemtypesystemsettingsconf.md b/docs/models/systemtypesystemsettingsconf.md index f7ad8e686..dbeba3011 100644 --- a/docs/models/systemtypesystemsettingsconf.md +++ b/docs/models/systemtypesystemsettingsconf.md @@ -1,9 +1,11 @@ # SystemTypeSystemSettingsConf +System-level operational settings for the Cribl instance. + ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | -| `intercom` | *bool* | :heavy_check_mark: | N/A | -| `upgrade` | [models.UpgradeOptionsSystemSettingsConfSystem](../models/upgradeoptionssystemsettingsconfsystem.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | +| `intercom` | *bool* | :heavy_check_mark: | If true, enable Intercom integration for in-product messaging. Otherwise, false. | +| `upgrade` | [models.UpgradeOptionsSystemSettingsConfSystem](../models/upgradeoptionssystemsettingsconfsystem.md) | :heavy_check_mark: | Upgrade permission policy: api to allow upgrades from the UI or API or false to disable. | \ No newline at end of file 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/targetconfig1.md b/docs/models/targetconfig1.md index 3b8709192..a05f1cd41 100644 --- a/docs/models/targetconfig1.md +++ b/docs/models/targetconfig1.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -| `conf` | [Optional[models.NotificationConfigForSMTPTarget1]](../models/notificationconfigforsmtptarget1.md) | :heavy_minus_sign: | N/A | -| `id` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file +| `conf` | [Optional[models.NotificationConfigForSMTPTarget1]](../models/notificationconfigforsmtptarget1.md) | :heavy_minus_sign: | Simple Mail Transfer Protocol (SMTP) configuration for the Notification target. | +| `id` | *str* | :heavy_check_mark: | The id of the Notification target. | \ No newline at end of file diff --git a/docs/models/targetconfig2.md b/docs/models/targetconfig2.md index 23a8e96b0..115b98202 100644 --- a/docs/models/targetconfig2.md +++ b/docs/models/targetconfig2.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -| `conf` | [Optional[models.NotificationConfigForSMTPTarget2]](../models/notificationconfigforsmtptarget2.md) | :heavy_minus_sign: | N/A | -| `id` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file +| `conf` | [Optional[models.NotificationConfigForSMTPTarget2]](../models/notificationconfigforsmtptarget2.md) | :heavy_minus_sign: | Simple Mail Transfer Protocol (SMTP) configuration for the Notification target. | +| `id` | *str* | :heavy_check_mark: | The id of the Notification target. | \ No newline at end of file diff --git a/docs/models/targetconfig3.md b/docs/models/targetconfig3.md index d9401e906..19cb0597f 100644 --- a/docs/models/targetconfig3.md +++ b/docs/models/targetconfig3.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -| `conf` | [Optional[models.NotificationConfigForSMTPTarget3]](../models/notificationconfigforsmtptarget3.md) | :heavy_minus_sign: | N/A | -| `id` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file +| `conf` | [Optional[models.NotificationConfigForSMTPTarget3]](../models/notificationconfigforsmtptarget3.md) | :heavy_minus_sign: | Simple Mail Transfer Protocol (SMTP) configuration for the Notification target. | +| `id` | *str* | :heavy_check_mark: | The id of the Notification target. | \ No newline at end of file diff --git a/docs/models/tlsclientparams.md b/docs/models/tlsclientparams.md new file mode 100644 index 000000000..169aa78a7 --- /dev/null +++ b/docs/models/tlsclientparams.md @@ -0,0 +1,18 @@ +# TLSClientParams + +TLS client connection settings. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `ca_path` | *Optional[str]* | :heavy_minus_sign: | Path to the Certificate Authority (CA) certificate file in PEM format. | +| `cert_path` | *Optional[str]* | :heavy_minus_sign: | Path to the client certificate file in PEM format. | +| `disabled` | *bool* | :heavy_check_mark: | If true, TLS is disabled for the connection. | +| `max_version` | [Optional[models.SecureVersion]](../models/secureversion.md) | :heavy_minus_sign: | N/A | +| `min_version` | [Optional[models.SecureVersion]](../models/secureversion.md) | :heavy_minus_sign: | N/A | +| `passphrase` | *Optional[str]* | :heavy_minus_sign: | Passphrase for the private key. | +| `priv_key_path` | *Optional[str]* | :heavy_minus_sign: | Path to the private key file in PEM format. | +| `reject_unauthorized` | *Optional[bool]* | :heavy_minus_sign: | If true, reject connections to servers with unverified TLS certificates. | +| `servername` | *Optional[str]* | :heavy_minus_sign: | Server name for TLS Server Name Indication (SNI) extension. | \ No newline at end of file diff --git a/docs/models/tlssettings.md b/docs/models/tlssettings.md index 3d1b726fc..130e066e8 100644 --- a/docs/models/tlssettings.md +++ b/docs/models/tlssettings.md @@ -3,10 +3,10 @@ ## Fields -| Field | Type | Required | Description | -| --------------------- | --------------------- | --------------------- | --------------------- | -| `default_cipher_list` | *str* | :heavy_check_mark: | N/A | -| `default_ecdh_curve` | *str* | :heavy_check_mark: | N/A | -| `max_version` | *str* | :heavy_check_mark: | N/A | -| `min_version` | *str* | :heavy_check_mark: | N/A | -| `reject_unauthorized` | *bool* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `default_cipher_list` | *str* | :heavy_check_mark: | Cipher suite list to use for TLS connections. DEFAULT means the system default. | +| `default_ecdh_curve` | *str* | :heavy_check_mark: | ECDH curve name for TLS key exchange. Use auto to let Node.js choose. | +| `max_version` | *str* | :heavy_check_mark: | Maximum TLS protocol version to accept. | +| `min_version` | *str* | :heavy_check_mark: | Minimum TLS protocol version to accept. | +| `reject_unauthorized` | *bool* | :heavy_check_mark: | If true, reject TLS certificates that cannot be verified against a valid Certificate Authority. Otherwise, false. | \ 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/unionconfiguration.md b/docs/models/unionconfiguration.md index 1d340b666..f14dccfa9 100644 --- a/docs/models/unionconfiguration.md +++ b/docs/models/unionconfiguration.md @@ -1,5 +1,7 @@ # UnionConfiguration +Configuration specific to the Pipeline Function. + ## Fields diff --git a/docs/models/updatehectokenrequest.md b/docs/models/updatehectokenrequest.md index 56f5b0de8..13324a963 100644 --- a/docs/models/updatehectokenrequest.md +++ b/docs/models/updatehectokenrequest.md @@ -8,4 +8,4 @@ | `allowed_indexes_at_token` | List[*str*] | :heavy_minus_sign: | List of index names that the HEC token is allowed to write to. | | `description` | *Optional[str]* | :heavy_minus_sign: | Brief description for the HEC token. | | `enabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the HEC token is enabled. Otherwise, false. | -| `metadata` | List[[models.EventBreakerRuleFields](../models/eventbreakerrulefields.md)] | :heavy_minus_sign: | Array of key-value pairs to associate with the HEC token for tagging, categorization, or providing additional context. Each item in the array is an object with a name and a value. | \ No newline at end of file +| `metadata` | List[[models.MetadataConfAddHecTokenRequest](../models/metadataconfaddhectokenrequest.md)] | :heavy_minus_sign: | Array of key-value pairs to associate with the HEC token for tagging, categorization, or providing additional context. Each item in the array is an object with a name and a value. | \ No newline at end of file diff --git a/docs/models/updateinputhectokenbyidandtokenrequest.md b/docs/models/updateinputhectokenbyidandtokenrequest.md index 9ad7ac5e5..7a367eed9 100644 --- a/docs/models/updateinputhectokenbyidandtokenrequest.md +++ b/docs/models/updateinputhectokenbyidandtokenrequest.md @@ -3,8 +3,8 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | -| `id` | *str* | :heavy_check_mark: | The id of the Splunk HEC Source. | -| `token` | *str* | :heavy_check_mark: | The HEC token value to update. | -| `update_hec_token_request` | [models.UpdateHecTokenRequest](../models/updatehectokenrequest.md) | :heavy_check_mark: | UpdateHecTokenRequest object. | \ No newline at end of file +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | The id of the Splunk HEC Source. | +| `token` | *str* | :heavy_check_mark: | The HEC token value whose metadata you want to update. Must match an existing token on the Source. | +| `update_hec_token_request` | [models.UpdateHecTokenRequest](../models/updatehectokenrequest.md) | :heavy_check_mark: | UpdateHecTokenRequest object. | \ No newline at end of file diff --git a/docs/models/updateinputsystemhectokenbypackandidandtokenrequest.md b/docs/models/updateinputsystemhectokenbypackandidandtokenrequest.md index 1afa4ca45..56af09dbe 100644 --- a/docs/models/updateinputsystemhectokenbypackandidandtokenrequest.md +++ b/docs/models/updateinputsystemhectokenbypackandidandtokenrequest.md @@ -3,9 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | -| `id` | *str* | :heavy_check_mark: | The id of the Splunk HEC Source. | -| `token` | *str* | :heavy_check_mark: | The HEC token value to update. | -| `pack` | *str* | :heavy_check_mark: | The id of the Pack. | -| `update_hec_token_request` | [models.UpdateHecTokenRequest](../models/updatehectokenrequest.md) | :heavy_check_mark: | UpdateHecTokenRequest object. | \ No newline at end of file +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | The id of the Splunk HEC Source. | +| `token` | *str* | :heavy_check_mark: | The HEC token value whose metadata you want to update. Must match an existing token on the Source. | +| `pack` | *str* | :heavy_check_mark: | The id of the Pack. | +| `update_hec_token_request` | [models.UpdateHecTokenRequest](../models/updatehectokenrequest.md) | :heavy_check_mark: | UpdateHecTokenRequest object. | \ No newline at end of file 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/updatepacksrequest.md b/docs/models/updatepacksrequest.md index d2fa4ad9e..525525cf0 100644 --- a/docs/models/updatepacksrequest.md +++ b/docs/models/updatepacksrequest.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | Filename of the Pack file to upload. | -| `request_body` | *Union[bytes, IO[bytes], io.BufferedReader]* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | +| `filename` | *str* | :heavy_check_mark: | Filename of the Pack file to upload. | +| `request_body` | *Union[bytes, IO[bytes], io.IOBase]* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/updateconfiggroupbyproductandidrequest.md b/docs/models/updateproductsgroupsbyproductandidrequest.md similarity index 97% rename from docs/models/updateconfiggroupbyproductandidrequest.md rename to docs/models/updateproductsgroupsbyproductandidrequest.md index 9601498d2..8e7983d9d 100644 --- a/docs/models/updateconfiggroupbyproductandidrequest.md +++ b/docs/models/updateproductsgroupsbyproductandidrequest.md @@ -1,4 +1,4 @@ -# UpdateConfigGroupByProductAndIDRequest +# UpdateProductsGroupsByProductAndIDRequest ## Fields diff --git a/docs/models/updateconfiggroupdeploybyproductandidrequest.md b/docs/models/updateproductsgroupsdeploybyproductandidrequest.md similarity index 97% rename from docs/models/updateconfiggroupdeploybyproductandidrequest.md rename to docs/models/updateproductsgroupsdeploybyproductandidrequest.md index 92107dca9..bda9c11b0 100644 --- a/docs/models/updateconfiggroupdeploybyproductandidrequest.md +++ b/docs/models/updateproductsgroupsdeploybyproductandidrequest.md @@ -1,4 +1,4 @@ -# UpdateConfigGroupDeployByProductAndIDRequest +# UpdateProductsGroupsDeployByProductAndIDRequest ## Fields 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/upgradegroupsettings.md b/docs/models/upgradegroupsettings.md index 4369c8593..2250209cc 100644 --- a/docs/models/upgradegroupsettings.md +++ b/docs/models/upgradegroupsettings.md @@ -3,9 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `is_rolling` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `quantity` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `retry_count` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `retry_delay` | *Optional[float]* | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | +| `is_rolling` | *Optional[bool]* | :heavy_minus_sign: | If true, perform a rolling upgrade that updates nodes incrementally. If false, upgrade all nodes simultaneously. | +| `quantity` | *Optional[int]* | :heavy_minus_sign: | Percentage of nodes to upgrade at a time during a rolling upgrade. | +| `retry_count` | *Optional[int]* | :heavy_minus_sign: | Number of times to retry upgrading a node before marking it as failed. | +| `retry_delay` | *Optional[int]* | :heavy_minus_sign: | Delay in milliseconds between upgrade retries when a node fails to upgrade. | \ No newline at end of file diff --git a/docs/models/upgradeoptionssystemsettingsconfsystem.md b/docs/models/upgradeoptionssystemsettingsconfsystem.md index 9425e5272..efd59669a 100644 --- a/docs/models/upgradeoptionssystemsettingsconfsystem.md +++ b/docs/models/upgradeoptionssystemsettingsconfsystem.md @@ -1,11 +1,13 @@ # UpgradeOptionsSystemSettingsConfSystem +Upgrade permission policy: api to allow upgrades from the UI or API or false to disable. + ## Example Usage ```python from cribl_control_plane.models import UpgradeOptionsSystemSettingsConfSystem -value = UpgradeOptionsSystemSettingsConfSystem.FALSE +value = UpgradeOptionsSystemSettingsConfSystem.API # Open enum: unrecognized values are captured as UnrecognizedStr ``` @@ -15,5 +17,5 @@ value = UpgradeOptionsSystemSettingsConfSystem.FALSE | Name | Value | | ------- | ------- | -| `FALSE` | false | -| `API` | api | \ No newline at end of file +| `API` | api | +| `FALSE` | false | \ No newline at end of file diff --git a/docs/models/upgradepackageurls.md b/docs/models/upgradepackageurls.md index 57332c327..3d94f89fe 100644 --- a/docs/models/upgradepackageurls.md +++ b/docs/models/upgradepackageurls.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `package_hash_url` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `package_url` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | +| `package_hash_url` | *Optional[str]* | :heavy_minus_sign: | URL of the hash file used to verify the package download. | +| `package_url` | *str* | :heavy_check_mark: | URL of the upgrade package file. | \ No newline at end of file diff --git a/docs/models/upgradesettings.md b/docs/models/upgradesettings.md index 1e54fbd15..a1a8de4a5 100644 --- a/docs/models/upgradesettings.md +++ b/docs/models/upgradesettings.md @@ -3,10 +3,10 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | -| `automatic_upgrade_check_period` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disable_automatic_upgrade` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `enable_legacy_edge_upgrade` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `package_urls` | List[[models.UpgradePackageUrls](../models/upgradepackageurls.md)] | :heavy_minus_sign: | N/A | -| `upgrade_source` | *Optional[str]* | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | +| `automatic_upgrade_check_period` | *Optional[str]* | :heavy_minus_sign: | How frequently to check for available upgrades. Value is a duration string such as 24h. | +| `disable_automatic_upgrade` | *Optional[bool]* | :heavy_minus_sign: | If true, automatic upgrades are disabled. Otherwise, false. | +| `enable_legacy_edge_upgrade` | *Optional[bool]* | :heavy_minus_sign: | If true, enable the legacy upgrade flow for Edge Nodes. Otherwise, false. | +| `package_urls` | List[[models.UpgradePackageUrls](../models/upgradepackageurls.md)] | :heavy_minus_sign: | List of custom package URLs to use for manual upgrades. | +| `upgrade_source` | *Optional[str]* | :heavy_minus_sign: | Upgrade source: cribl for official Cribl packages or custom for a custom package URL. | \ 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/models/v3user.md b/docs/models/v3user.md index fa751b515..492480467 100644 --- a/docs/models/v3user.md +++ b/docs/models/v3user.md @@ -1,5 +1,7 @@ # V3User +SNMPv3 user configuration, including authentication and privacy protocol settings. + ## Supported Types diff --git a/docs/models/distributedsummaryworkers.md b/docs/models/workers.md similarity index 97% rename from docs/models/distributedsummaryworkers.md rename to docs/models/workers.md index c9becd8c1..7eaedce49 100644 --- a/docs/models/distributedsummaryworkers.md +++ b/docs/models/workers.md @@ -1,4 +1,6 @@ -# DistributedSummaryWorkers +# Workers + +Worker or Edge Node counts and health statistics in the deployment summary. ## Fields diff --git a/docs/models/workerstypesystemsettingsconf.md b/docs/models/workerstypesystemsettingsconf.md index 2f8e10d1c..09abcfe89 100644 --- a/docs/models/workerstypesystemsettingsconf.md +++ b/docs/models/workerstypesystemsettingsconf.md @@ -1,15 +1,21 @@ # WorkersTypeSystemSettingsConf +Worker Process configuration. + ## Fields -| Field | Type | Required | Description | -| -------------------------- | -------------------------- | -------------------------- | -------------------------- | -| `count` | *float* | :heavy_check_mark: | N/A | -| `enable_heap_snapshots` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `load_throttle_perc` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `memory` | *float* | :heavy_check_mark: | N/A | -| `minimum` | *float* | :heavy_check_mark: | N/A | -| `startup_max_conns` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `startup_throttle_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `v8_single_thread` | *Optional[bool]* | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| `count` | *int* | :heavy_check_mark: | Number of Worker Processes to spawn. Set to 0 to use the number of available CPU cores. | +| `enable_heap_snapshots` | *Optional[bool]* | :heavy_minus_sign: | If true, enable V8 heap snapshot generation on out-of-memory errors. Otherwise, false. | +| `load_throttle_perc` | *Optional[int]* | :heavy_minus_sign: | CPU load percentage threshold above which new connections are throttled. | +| `memory` | *int* | :heavy_check_mark: | Maximum memory (in MB) per Worker Process. Set to 0 for no limit. | +| `minimum` | *int* | :heavy_check_mark: | Minimum number of Worker Processes to keep running. | +| `restart_unresponsive_processes` | *Optional[bool]* | :heavy_minus_sign: | If true, automatically restart Worker Processes that become unresponsive. Otherwise, false. | +| `startup_max_conns` | *Optional[int]* | :heavy_minus_sign: | Maximum number of connections to accept during Worker Process startup before throttling begins. | +| `startup_throttle_timeout` | *Optional[int]* | :heavy_minus_sign: | Timeout in milliseconds to wait for Worker Processes to reach idle before ending the startup throttle period. | +| `v8_single_thread` | *Optional[bool]* | :heavy_minus_sign: | If true, run all worker threads in a single V8 isolate. Otherwise, false. | +| `worker_process_config_update_concurrency` | *Optional[int]* | :heavy_minus_sign: | Maximum number of Worker Processes that can reload configuration concurrently. | +| `worker_process_reload_timeout` | *Optional[int]* | :heavy_minus_sign: | Timeout in milliseconds to wait for a Worker Process to reload configuration before treating the reload as failed. | +| `worker_thread_pool_size` | *Optional[int]* | :heavy_minus_sign: | Size of the Worker thread pool used for CPU-bound tasks. | \ No newline at end of file diff --git a/docs/sdks/acl/README.md b/docs/sdks/acl/README.md index 9bcfffa08..82c699622 100644 --- a/docs/sdks/acl/README.md +++ b/docs/sdks/acl/README.md @@ -12,7 +12,7 @@ Get the Access Control List (ACL) for the specified Worker Group, Outpost Group, ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -25,7 +25,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.groups.acl.get(product=models.ProductsCore.EDGE, id="", type_=models.RbacResource.MACROS) + res = ccp_client.groups.acl.get(product=models.ProductsCore.OUTPOST, id="") # Handle response print(res) @@ -49,5 +49,6 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/branches/README.md b/docs/sdks/branches/README.md index 847be3b80..6b82ec5f5 100644 --- a/docs/sdks/branches/README.md +++ b/docs/sdks/branches/README.md @@ -13,7 +13,7 @@ Get a list of all branches in the Git repository used for Cribl configuration. ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -47,6 +47,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -56,7 +57,7 @@ Get the name of the Git branch that the Cribl configuration is checked out to. U ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -90,5 +91,6 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/captures/README.md b/docs/sdks/captures/README.md index c009dd6d3..3705c0143 100644 --- a/docs/sdks/captures/README.md +++ b/docs/sdks/captures/README.md @@ -147,5 +147,6 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/collectorssdk/README.md b/docs/sdks/collectorssdk/README.md index 951a0687c..9fc388b25 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 @@ -33,8 +33,10 @@ with CriblControlPlane( res = ccp_client.collectors.list() - # Handle response - print(res) + while res is not None: + # Handle items + + res = res.next() ``` @@ -42,17 +44,20 @@ 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. | +| `offset` | *Optional[int]* | :heavy_minus_sign: | Pagination offset | +| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of items to return | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response -**[models.CountedSavedJobResponse](../../models/countedsavedjobresponse.md)** +**[models.GetSavedJobResponse](../../models/getsavedjobresponse.md)** ### Errors | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -305,6 +310,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 @@ -322,6 +363,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -331,7 +373,7 @@ Get the specified Collector. ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -366,6 +408,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -608,6 +651,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 @@ -626,6 +965,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -635,7 +975,7 @@ Delete the specified Collector. ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -670,5 +1010,6 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/commits/README.md b/docs/sdks/commits/README.md index 2a3f907e9..63f03207d 100644 --- a/docs/sdks/commits/README.md +++ b/docs/sdks/commits/README.md @@ -14,11 +14,11 @@ ## list -List the commit history.

Analogous to git log for the Cribl configuration, allowing you to audit and review changes over time. +List the commit history.

Analogous to git log for the Cribl configuration, allowing you to audit and review changes over time. ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -31,10 +31,12 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.versions.commits.list(count=893.58) + res = ccp_client.versions.commits.list() - # Handle response - print(res) + while res is not None: + # Handle items + + res = res.next() ``` @@ -43,22 +45,25 @@ with CriblControlPlane( | Parameter | Type | Required | Description | | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | | `count` | *Optional[int]* | :heavy_minus_sign: | Maximum number of commits to return in the response for this request. | +| `offset` | *Optional[int]* | :heavy_minus_sign: | Pagination offset | +| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of items to return | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response -**[models.CountedGitLogResult](../../models/countedgitlogresult.md)** +**[models.GetVersionResponse](../../models/getversionresponse.md)** ### Errors | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | ## create -Create a new commit for pending changes to the Cribl configuration. Any merge conflicts indicated in the response must be resolved using Git.

To commit only a subset of configuration changes, specify the files to include in the commit in the files array. +Create a new commit for pending changes to the Cribl configuration. Any merge conflicts indicated in the response must be resolved using Git.

To commit only a subset of configuration changes, specify the files to include in the commit in the files array. ### Example Usage: VersionCommitExamplesCommitAll @@ -104,16 +109,37 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: VersionCommitResponseExamplesCommitCreated + + +```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.versions.commits.create(message="") + + # Handle response + print(res) + ``` ### Parameters -| Parameter | Type | Required | Description | -| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | -| `message` | *str* | :heavy_check_mark: | N/A | -| `effective` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `files` | List[*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 | +| -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | +| `message` | *str* | :heavy_check_mark: | Commit message to use for the new Git commit. | +| `effective` | *Optional[bool]* | :heavy_minus_sign: | If true, apply the commit to the group's effective configuration. Otherwise, false. | +| `files` | List[*str*] | :heavy_minus_sign: | Array of file paths to include in the commit, relative to the configuration root. If omitted, all pending changes are committed. | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response @@ -123,6 +149,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -132,7 +159,7 @@ Get the diff for a commit. Default is the latest commit (HEAD). ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -145,7 +172,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.versions.commits.diff(commit="", filename="example.file", diff_line_limit=6362) + res = ccp_client.versions.commits.diff() # Handle response print(res) @@ -169,16 +196,17 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | ## push -Push all local commits from the local repository to the remote repository. +Push all local commits from the local repository to the remote repository.

Requires at least one local commit that has not been pushed. Returns an error if the remote repository cannot be reached or the push is rejected. ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -212,12 +240,13 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | ## revert -Revert a commit in the local repository. +Revert a commit in the local repository by creating a new commit that undoes the changes introduced by the specified commit.

Use the force field to proceed even when the working directory is not clean. ### Example Usage: VersionRevertExamplesForceRevertWithMessage @@ -260,16 +289,37 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: VersionRevertResponseExamplesRevertResult + + +```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.versions.commits.revert(commit="") + + # Handle response + print(res) + ``` ### Parameters -| Parameter | Type | Required | Description | -| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | -| `commit` | *str* | :heavy_check_mark: | N/A | -| `force` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `message` | *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 | +| ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | +| `commit` | *str* | :heavy_check_mark: | SHA-1 hash of the commit to revert. | +| `force` | *Optional[bool]* | :heavy_minus_sign: | If true, force the revert even when the working directory is not clean. Otherwise, false. | +| `message` | *Optional[str]* | :heavy_minus_sign: | Custom message to use for the revert commit. If omitted, a default message is generated. | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response @@ -279,6 +329,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -288,7 +339,7 @@ Get the diff and log message for a commit. Default is the latest commit (HEAD). ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -301,7 +352,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.versions.commits.get(commit="", filename="example.file", diff_line_limit=7771.94) + res = ccp_client.versions.commits.get() # Handle response print(res) @@ -325,16 +376,17 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | ## undo -Discard all uncommitted (staged) configuration changes, resetting the working directory to the last committed state. Use only if you are certain that you do not need to preserve your local changes. +Discard all uncommitted (staged) configuration changes, resetting the working directory to the last committed state. Use only if you are certain that you do not need to preserve your local changes.

When applied globally (no group), triggers a Cribl restart to reload the reverted configuration. Returns false if the working directory is already clean. ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -368,5 +420,6 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/files/README.md b/docs/sdks/commitsfiles/README.md similarity index 91% rename from docs/sdks/files/README.md rename to docs/sdks/commitsfiles/README.md index bf67473f8..68f96e313 100644 --- a/docs/sdks/files/README.md +++ b/docs/sdks/commitsfiles/README.md @@ -13,7 +13,7 @@ Get a count of the files that changed since a commit. Default is the latest comm ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -26,7 +26,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.versions.commits.files.count(commit="") + res = ccp_client.versions.commits.files.count() # Handle response print(res) @@ -48,6 +48,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -57,7 +58,7 @@ Get the names and statuses of files that changed since a commit. Default is the ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -70,7 +71,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.versions.commits.files.list(commit="") + res = ccp_client.versions.commits.files.list() # Handle response print(res) @@ -92,5 +93,6 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/configsversions/README.md b/docs/sdks/configsversions/README.md index 06f1ee800..28245d0ab 100644 --- a/docs/sdks/configsversions/README.md +++ b/docs/sdks/configsversions/README.md @@ -12,7 +12,7 @@ Get the configuration version for the specified Worker Group, Outpost Group, or ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -48,5 +48,6 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/cribl/README.md b/docs/sdks/cribl/README.md index c3b23522d..2c662f1ee 100644 --- a/docs/sdks/cribl/README.md +++ b/docs/sdks/cribl/README.md @@ -9,11 +9,11 @@ ## list -Get Cribl system settings. +Get the current Cribl system settings. ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -47,14 +47,15 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | ## update -Update Cribl system settings. +Update the specified Cribl system settings.

Provide a complete representation of the system settings that you want to update in the request body. This endpoint does not support partial updates. Cribl removes any omitted fields when updating the system settings.

Confirm that the configuration in your request body is correct before sending the request. If the configuration is incorrect, the updated system settings might not function as expected. -### Example Usage +### Example Usage: UpdateSystemSettingsExamplesUpdateApiSettings ```python @@ -115,28 +116,64 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: UpdateSystemSettingsResponseExamplesUpdateApiSettings + + +```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.system.settings.cribl.update(api={ + "disabled": True, + "host": "both-draw.com", + "port": 379506, + }, backups={}, pii={}, proxy={ + "use_env_vars": False, + }, rollback={}, shutdown={ + "drain_timeout": 506758, + }, sni={}, system={ + "intercom": False, + "upgrade": models.UpgradeOptionsSystemSettingsConfSystem.API, + }, tls={}, upgrade_group_settings={}, upgrade_settings={}, workers={ + "count": 8927, + "memory": 142072, + "minimum": 242438, + }) + + # Handle response + print(res) + ``` ### Parameters | Parameter | Type | Required | Description | | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | -| `api` | [models.APITypeSystemSettingsConf](../../models/apitypesystemsettingsconf.md) | :heavy_check_mark: | N/A | +| `api` | [models.APITypeSystemSettingsConf](../../models/apitypesystemsettingsconf.md) | :heavy_check_mark: | API server configuration for the Cribl instance. | | `backups` | [models.BackupsSettingsUnion](../../models/backupssettingsunion.md) | :heavy_check_mark: | N/A | | `pii` | [models.PiiSettingsUnion](../../models/piisettingsunion.md) | :heavy_check_mark: | N/A | -| `proxy` | [models.ProxyTypeSystemSettingsConf](../../models/proxytypesystemsettingsconf.md) | :heavy_check_mark: | N/A | +| `proxy` | [models.ProxyTypeSystemSettingsConf](../../models/proxytypesystemsettingsconf.md) | :heavy_check_mark: | HTTP proxy configuration for outbound connections. | | `rollback` | [models.RollbackSettingsUnion](../../models/rollbacksettingsunion.md) | :heavy_check_mark: | N/A | -| `shutdown` | [models.ShutdownTypeSystemSettingsConf](../../models/shutdowntypesystemsettingsconf.md) | :heavy_check_mark: | N/A | +| `shutdown` | [models.ShutdownTypeSystemSettingsConf](../../models/shutdowntypesystemsettingsconf.md) | :heavy_check_mark: | Graceful shutdown configuration. | | `sni` | [models.SniSettingsUnion](../../models/snisettingsunion.md) | :heavy_check_mark: | N/A | -| `system` | [models.SystemTypeSystemSettingsConf](../../models/systemtypesystemsettingsconf.md) | :heavy_check_mark: | N/A | +| `system` | [models.SystemTypeSystemSettingsConf](../../models/systemtypesystemsettingsconf.md) | :heavy_check_mark: | System-level operational settings for the Cribl instance. | | `tls` | [models.TLSSettingsUnion](../../models/tlssettingsunion.md) | :heavy_check_mark: | N/A | | `upgrade_group_settings` | [models.UpgradeGroupSettings](../../models/upgradegroupsettings.md) | :heavy_check_mark: | N/A | | `upgrade_settings` | [models.UpgradeSettings](../../models/upgradesettings.md) | :heavy_check_mark: | N/A | -| `workers` | [models.WorkersTypeSystemSettingsConf](../../models/workerstypesystemsettingsconf.md) | :heavy_check_mark: | N/A | -| `apps` | [Optional[models.AppsTypeSystemSettingsConf]](../../models/appstypesystemsettingsconf.md) | :heavy_minus_sign: | N/A | -| `custom_logo` | [Optional[models.CustomLogoTypeSystemSettingsConf]](../../models/customlogotypesystemsettingsconf.md) | :heavy_minus_sign: | N/A | -| `sockets` | [Optional[models.SocketsTypeSystemSettingsConf]](../../models/socketstypesystemsettingsconf.md) | :heavy_minus_sign: | N/A | -| `support` | [Optional[models.SupportTypeSystemSettingsConf]](../../models/supporttypesystemsettingsconf.md) | :heavy_minus_sign: | N/A | +| `workers` | [models.WorkersTypeSystemSettingsConf](../../models/workerstypesystemsettingsconf.md) | :heavy_check_mark: | Worker Process configuration. | +| `apps` | [Optional[models.AppsTypeSystemSettingsConf]](../../models/appstypesystemsettingsconf.md) | :heavy_minus_sign: | App configuration. | +| `custom_logo` | [Optional[models.CustomLogoTypeSystemSettingsConf]](../../models/customlogotypesystemsettingsconf.md) | :heavy_minus_sign: | Custom logo configuration for the Cribl UI login page and navigation bar. | +| `sockets` | [Optional[models.SocketsTypeSystemSettingsConf]](../../models/socketstypesystemsettingsconf.md) | :heavy_minus_sign: | Unix domain socket configuration. | +| `support` | [Optional[models.SupportTypeSystemSettingsConf]](../../models/supporttypesystemsettingsconf.md) | :heavy_minus_sign: | Support and diagnostics settings. | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response @@ -147,5 +184,6 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/databaseconnections/README.md b/docs/sdks/databaseconnections/README.md index b8786c04e..781d2e836 100644 --- a/docs/sdks/databaseconnections/README.md +++ b/docs/sdks/databaseconnections/README.md @@ -6,8 +6,8 @@ Actions related to DatabaseConnections ### Available Operations -* [list](#list) - List Database Connections -* [create](#create) - Create Database Connection +* [list](#list) - List all Database Connections +* [create](#create) - Create a Database Connection * [get](#get) - Get a Database Connection * [update](#update) - Update a Database Connection * [delete](#delete) - Delete a Database Connection @@ -18,7 +18,7 @@ Get a list of all Database Connections. ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -33,26 +33,31 @@ with CriblControlPlane( res = ccp_client.database_connections.list() - # Handle response - print(res) + while res is not None: + # Handle items + + res = res.next() ``` ### Parameters -| Parameter | Type | Required | Description | -| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | -| `database_type` | [Optional[models.DatabaseConnectionType]](../../models/databaseconnectiontype.md) | :heavy_minus_sign: | Type of Database Connections to include in the results. | -| `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 | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `database_type` | [Optional[models.DatabaseConnectionType]](../../models/databaseconnectiontype.md) | :heavy_minus_sign: | Filter results by database engine type. Use this parameter to return only Database Connections for the specified engine. | +| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of Database Connections to return in the response for this request. Use with offset to paginate the response into manageable batches. | +| `offset` | *Optional[int]* | :heavy_minus_sign: | Starting point from which to retrieve results for this request. Use with limit to paginate the response into manageable batches. | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response -**[models.CountedDatabaseConnectionConfig](../../models/counteddatabaseconnectionconfig.md)** +**[models.GetDatabaseConnectionConfigResponse](../../models/getdatabaseconnectionconfigresponse.md)** ### Errors | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -60,6 +65,27 @@ with CriblControlPlane( Create a new Database Connection. +### Example Usage: DatabaseConnectionBadRequestResponseExamplesInvalidDatabaseConnectionRequest + + +```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.database_connections.create(auth_type=models.DatabaseConnectionAuthType.CONNECTION_STRING, database_type=models.DatabaseConnectionType.POSTGRES, description="Production MySQL database for customer data", id="mysql-prod-db", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", connection_timeout=10000, creds_secrets="oracle-production-credentials", password="yourPassword", request_timeout=30000, tags="production,mysql,customer-data", text_secret="mysql-production-connection", user="yourUsername") + + # Handle response + print(res) + +``` ### Example Usage: DatabaseConnectionExamplesMySQLWithConnectionString @@ -75,7 +101,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.database_connections.create(auth_type="connectionString", database_type=models.DatabaseConnectionType.MYSQL, description="Production MySQL database for customer data", id="mysql-prod-db", connection_string="mysql://admin:password123@mysql.example.com:3306/production?ssl=true", connection_timeout=10000, tags="production,mysql,customer-data") + res = ccp_client.database_connections.create(auth_type=models.DatabaseConnectionAuthType.CONNECTION_STRING, database_type=models.DatabaseConnectionType.MYSQL, description="Production MySQL database for customer data", id="mysql-prod-db", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", connection_timeout=10000, creds_secrets="oracle-production-credentials", password="yourPassword", request_timeout=30000, tags="production,mysql,customer-data", text_secret="mysql-production-connection", user="yourUsername") # Handle response print(res) @@ -96,7 +122,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.database_connections.create(auth_type="secret", database_type=models.DatabaseConnectionType.MYSQL, description="Analytics MySQL database", id="mysql-analytics-db", connection_timeout=15000, tags="analytics,mysql", text_secret="mysql-analytics-connection") + res = ccp_client.database_connections.create(auth_type=models.DatabaseConnectionAuthType.SECRET, database_type=models.DatabaseConnectionType.MYSQL, description="Analytics MySQL database", id="mysql-analytics-db", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", connection_timeout=15000, creds_secrets="oracle-production-credentials", password="yourPassword", request_timeout=30000, tags="analytics,mysql", text_secret="mysql-analytics-connection", user="yourUsername") # Handle response print(res) @@ -117,7 +143,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.database_connections.create(auth_type="connectionString", database_type=models.DatabaseConnectionType.ORACLE, description="Oracle ERP database", id="oracle-erp", connection_string="oracle.example.com:1521/ORCL", connection_timeout=15000, password="Oracle_Pass456!", tags="erp,oracle,finance", user="erp_user") + res = ccp_client.database_connections.create(auth_type=models.DatabaseConnectionAuthType.CONNECTION_STRING, database_type=models.DatabaseConnectionType.ORACLE, description="Oracle ERP database", id="oracle-erp", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="oracle.example.com:1521/ORCL", connection_timeout=15000, creds_secrets="oracle-production-credentials", password="yourPassword", request_timeout=30000, tags="erp,oracle,finance", text_secret="mysql-production-connection", user="yourUsername") # Handle response print(res) @@ -138,7 +164,31 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.database_connections.create(auth_type="secrets", database_type=models.DatabaseConnectionType.ORACLE, description="High-security Oracle database with credential secrets", id="oracle-secure-db", connection_timeout=15000, creds_secrets="oracle-secure-credentials", tags="secure,oracle,sensitive-data", text_secret="oracle-secure-connection") + res = ccp_client.database_connections.create(auth_type=models.DatabaseConnectionAuthType.SECRETS, database_type=models.DatabaseConnectionType.ORACLE, description="High-security Oracle database with credential secrets", id="oracle-secure-db", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", connection_timeout=15000, creds_secrets="oracle-secure-credentials", password="yourPassword", request_timeout=30000, tags="secure,oracle,sensitive-data", text_secret="oracle-secure-connection", user="yourUsername") + + # Handle response + print(res) + +``` +### Example Usage: DatabaseConnectionExamplesOracleWithMutualTLS + + +```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.database_connections.create(auth_type=models.DatabaseConnectionAuthType.CONNECTION_STRING, database_type=models.DatabaseConnectionType.ORACLE, description="Oracle database reached over TCPS with mutual TLS", id="oracle-mtls-db", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="tcps://oracle.example.com:2484/ORCL", connection_timeout=15000, creds_secrets="oracle-production-credentials", password="Oracle_Pass456!", request_timeout=30000, tags="erp,oracle,mtls,production", text_secret="mysql-production-connection", tls=models.TLSClientParams( + disabled=False, + reject_unauthorized=True, + ), user="erp_user") # Handle response print(res) @@ -159,7 +209,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.database_connections.create(auth_type="secret", database_type=models.DatabaseConnectionType.ORACLE, description="Oracle data warehouse", id="oracle-warehouse", connection_timeout=20000, password="Warehouse_Pass789!", tags="warehouse,oracle,reporting", text_secret="oracle-warehouse-connection", user="warehouse_user") + res = ccp_client.database_connections.create(auth_type=models.DatabaseConnectionAuthType.SECRET, database_type=models.DatabaseConnectionType.ORACLE, description="Oracle data warehouse", id="oracle-warehouse", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", connection_timeout=20000, creds_secrets="oracle-production-credentials", password="yourPassword", request_timeout=30000, tags="warehouse,oracle,reporting", text_secret="oracle-warehouse-connection", user="yourUsername") # Handle response print(res) @@ -180,7 +230,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.database_connections.create(auth_type="connectionString", database_type=models.DatabaseConnectionType.POSTGRES, description="Data warehouse PostgreSQL database", id="postgres-warehouse", connection_string="postgresql://warehouse_user:SecurePass456@postgres.example.com:5432/warehouse?sslmode=require", connection_timeout=15000, tags="warehouse,postgres,reporting") + res = ccp_client.database_connections.create(auth_type=models.DatabaseConnectionAuthType.CONNECTION_STRING, database_type=models.DatabaseConnectionType.POSTGRES, description="Data warehouse PostgreSQL database", id="postgres-warehouse", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="postgresql://yourUsername:yourPassword@postgres.example.com:5432/warehouse?sslmode=require", connection_timeout=15000, creds_secrets="oracle-production-credentials", password="yourPassword", request_timeout=30000, tags="warehouse,postgres,reporting", text_secret="mysql-production-connection", user="yourUsername") # Handle response print(res) @@ -201,7 +251,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.database_connections.create(auth_type="secret", database_type=models.DatabaseConnectionType.POSTGRES, description="Logs PostgreSQL database", id="postgres-logs", connection_timeout=10000, tags="logs,postgres", text_secret="postgres-logs-connection") + res = ccp_client.database_connections.create(auth_type=models.DatabaseConnectionAuthType.SECRET, database_type=models.DatabaseConnectionType.POSTGRES, description="Logs PostgreSQL database", id="postgres-logs", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", connection_timeout=10000, creds_secrets="oracle-production-credentials", password="yourPassword", request_timeout=30000, tags="logs,postgres", text_secret="postgres-logs-connection", user="yourUsername") # Handle response print(res) @@ -222,7 +272,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.database_connections.create(auth_type="configObj", database_type=models.DatabaseConnectionType.SQLSERVER, description="Reporting SQL Server database with custom config", id="sqlserver-reporting", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"report_user\",\"password\":\"Report_Pass123!\",\"options\":{\"encrypt\":true,\"trustServerCertificate\":false,\"connectTimeout\":20000}}", request_timeout=60000, tags="reporting,sqlserver,analytics") + res = ccp_client.database_connections.create(auth_type=models.DatabaseConnectionAuthType.CONFIG_OBJ, database_type=models.DatabaseConnectionType.SQLSERVER, description="Reporting SQL Server database with custom config", id="sqlserver-reporting", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"encrypt\":true,\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", connection_timeout=10000, creds_secrets="oracle-production-credentials", password="yourPassword", request_timeout=60000, tags="reporting,sqlserver,analytics", text_secret="mysql-production-connection", user="yourUsername") # Handle response print(res) @@ -243,7 +293,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.database_connections.create(auth_type="connectionString", database_type=models.DatabaseConnectionType.SQLSERVER, description="ERP SQL Server database", id="sqlserver-erp", connection_string="Server=sqlserver.example.com;Database=ERP;User Id=erp_admin;Password=ERP_Pass789!;Encrypt=true", connection_timeout=15000, request_timeout=30000, tags="erp,sqlserver,finance") + res = ccp_client.database_connections.create(auth_type=models.DatabaseConnectionAuthType.CONNECTION_STRING, database_type=models.DatabaseConnectionType.SQLSERVER, description="ERP SQL Server database", id="sqlserver-erp", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="Server=sqlserver.example.com;Database=ERP;User Id=yourUsername;Password=yourPassword;Encrypt=true", connection_timeout=15000, creds_secrets="oracle-production-credentials", password="yourPassword", request_timeout=30000, tags="erp,sqlserver,finance", text_secret="mysql-production-connection", user="yourUsername") # Handle response print(res) @@ -264,7 +314,28 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.database_connections.create(auth_type="secret", database_type=models.DatabaseConnectionType.SQLSERVER, description="CRM SQL Server database", id="sqlserver-crm", connection_timeout=15000, request_timeout=15000, tags="crm,sqlserver,sales", text_secret="sqlserver-crm-connection") + res = ccp_client.database_connections.create(auth_type=models.DatabaseConnectionAuthType.SECRET, database_type=models.DatabaseConnectionType.SQLSERVER, description="CRM SQL Server database", id="sqlserver-crm", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", connection_timeout=15000, creds_secrets="oracle-production-credentials", password="yourPassword", request_timeout=15000, tags="crm,sqlserver,sales", text_secret="sqlserver-crm-connection", user="yourUsername") + + # Handle response + print(res) + +``` +### Example Usage: DatabaseConnectionResponseExamplesMySQLDatabaseConnection + + +```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.database_connections.create(auth_type=models.DatabaseConnectionAuthType.CONNECTION_STRING, database_type=models.DatabaseConnectionType.POSTGRES, description="Production MySQL database for customer data", id="mysql-prod-db", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", connection_timeout=10000, creds_secrets="oracle-production-credentials", password="yourPassword", request_timeout=30000, tags="production,mysql,customer-data", text_secret="mysql-production-connection", user="yourUsername") # Handle response print(res) @@ -273,33 +344,36 @@ with CriblControlPlane( ### Parameters -| Parameter | Type | Required | Description | -| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | -| `auth_type` | *str* | :heavy_check_mark: | N/A | -| `database_type` | [models.DatabaseConnectionType](../../models/databaseconnectiontype.md) | :heavy_check_mark: | N/A | -| `description` | *str* | :heavy_check_mark: | N/A | -| `id` | *str* | :heavy_check_mark: | N/A | -| `config_obj` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `connection_string` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `connection_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `creds_secrets` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `password` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `request_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `tags` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `text_secret` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `user` | *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 | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `auth_type` | [models.DatabaseConnectionAuthType](../../models/databaseconnectionauthtype.md) | :heavy_check_mark: | N/A | | +| `database_type` | [models.DatabaseConnectionType](../../models/databaseconnectiontype.md) | :heavy_check_mark: | N/A | | +| `description` | *str* | :heavy_check_mark: | Brief description of the Database Connection. | Production MySQL database for customer data | +| `id` | *str* | :heavy_check_mark: | Unique identifier for the Database Connection. | mysql-prod-db | +| `config_obj` | *Optional[str]* | :heavy_minus_sign: | JSON configuration object for advanced SQL Server connection settings. | {
"server": "sqlserver.example.com",
"database": "Reporting",
"user": "yourUsername",
"password": "yourPassword",
"options": {
"trustServerCertificate": false,
"connectTimeout": 20000
}
} | +| `connection_string` | *Optional[str]* | :heavy_minus_sign: | Database connection string with embedded credentials or server information. | mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true | +| `connection_timeout` | *Optional[int]* | :heavy_minus_sign: | Maximum time (in milliseconds) to wait when establishing the database connection. | 10000 | +| `creds_secrets` | *Optional[str]* | :heavy_minus_sign: | Name of the stored credentials secret containing username and password. Used with Oracle connections. | oracle-production-credentials | +| `password` | *Optional[str]* | :heavy_minus_sign: | Database password for authentication. Used with Oracle connections. | yourPassword | +| `request_timeout` | *Optional[int]* | :heavy_minus_sign: | Maximum time (in milliseconds) to wait for a database query to complete. Applies to SQL Server connections only. | 30000 | +| `tags` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of tags for categorizing and filtering Database Connections. | production,mysql,customer-data | +| `text_secret` | *Optional[str]* | :heavy_minus_sign: | Name of the stored text secret containing the connection string. | mysql-production-connection | +| `tls` | [Optional[models.TLSClientParams]](../../models/tlsclientparams.md) | :heavy_minus_sign: | TLS client connection settings. | | +| `user` | *Optional[str]* | :heavy_minus_sign: | Database username for authentication. Used with Oracle connections. | yourUsername | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | | ### Response -**[models.CountedDatabaseConnectionConfig](../../models/counteddatabaseconnectionconfig.md)** +**[models.DatabaseConnectionResponseEnvelope](../../models/databaseconnectionresponseenvelope.md)** ### Errors -| Error Type | Status Code | Content Type | -| ---------------- | ---------------- | ---------------- | -| errors.Error | 500 | application/json | -| errors.APIError | 4XX, 5XX | \*/\* | +| Error Type | Status Code | Content Type | +| ----------------------- | ----------------------- | ----------------------- | +| errors.RestAPIJSONError | 400 | application/json | +| errors.Error | 401 | application/json | +| errors.Error | 500 | application/json | +| errors.APIError | 4XX, 5XX | \*/\* | ## get @@ -307,7 +381,7 @@ Get the specified Database Connection. ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -336,19 +410,42 @@ with CriblControlPlane( ### Response -**[models.CountedDatabaseConnectionConfig](../../models/counteddatabaseconnectionconfig.md)** +**[models.DatabaseConnectionResponseEnvelope](../../models/databaseconnectionresponseenvelope.md)** ### Errors -| Error Type | Status Code | Content Type | -| ---------------- | ---------------- | ---------------- | -| errors.Error | 500 | application/json | -| errors.APIError | 4XX, 5XX | \*/\* | +| Error Type | Status Code | Content Type | +| ----------------------- | ----------------------- | ----------------------- | +| errors.Error | 401 | application/json | +| errors.RestAPIJSONError | 404 | application/json | +| errors.Error | 500 | application/json | +| errors.APIError | 4XX, 5XX | \*/\* | ## update Update the specified Database Connection.

Provide a complete representation of the Database Connection that you want to update in the request body. This endpoint does not support partial updates. Cribl removes any omitted fields when updating the Database Connection.

Confirm that the configuration in your request body is correct before sending the request. If the configuration is incorrect, the updated Database Connection might not function as expected. +### Example Usage: DatabaseConnectionBadRequestResponseExamplesInvalidDatabaseConnectionRequest + + +```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.database_connections.update(id_param="", auth_type=models.DatabaseConnectionAuthType.CONFIG_OBJ, database_type=models.DatabaseConnectionType.SQLSERVER, description="Production MySQL database for customer data", id="mysql-prod-db", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", connection_timeout=10000, creds_secrets="oracle-production-credentials", password="yourPassword", request_timeout=30000, tags="production,mysql,customer-data", text_secret="mysql-production-connection", user="yourUsername") + + # Handle response + print(res) + +``` ### Example Usage: DatabaseConnectionExamplesMySQLWithConnectionString @@ -364,7 +461,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.database_connections.update(id_param="", auth_type="connectionString", database_type=models.DatabaseConnectionType.MYSQL, description="Production MySQL database for customer data", id="mysql-prod-db", connection_string="mysql://admin:password123@mysql.example.com:3306/production?ssl=true", connection_timeout=10000, tags="production,mysql,customer-data") + res = ccp_client.database_connections.update(id_param="", auth_type=models.DatabaseConnectionAuthType.CONNECTION_STRING, database_type=models.DatabaseConnectionType.MYSQL, description="Production MySQL database for customer data", id="mysql-prod-db", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="mysql://admin:password123@mysql.example.com:3306/production?ssl=true", connection_timeout=10000, creds_secrets="oracle-production-credentials", password="yourPassword", request_timeout=30000, tags="production,mysql,customer-data", text_secret="mysql-production-connection", user="yourUsername") # Handle response print(res) @@ -385,7 +482,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.database_connections.update(id_param="", auth_type="secret", database_type=models.DatabaseConnectionType.MYSQL, description="Analytics MySQL database", id="mysql-analytics-db", connection_timeout=15000, tags="analytics,mysql", text_secret="mysql-analytics-connection") + res = ccp_client.database_connections.update(id_param="", auth_type=models.DatabaseConnectionAuthType.SECRET, database_type=models.DatabaseConnectionType.MYSQL, description="Analytics MySQL database", id="mysql-analytics-db", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", connection_timeout=15000, creds_secrets="oracle-production-credentials", password="yourPassword", request_timeout=30000, tags="analytics,mysql", text_secret="mysql-analytics-connection", user="yourUsername") # Handle response print(res) @@ -406,7 +503,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.database_connections.update(id_param="", auth_type="connectionString", database_type=models.DatabaseConnectionType.ORACLE, description="Oracle ERP database", id="oracle-erp", connection_string="oracle.example.com:1521/ORCL", connection_timeout=15000, password="Oracle_Pass456!", tags="erp,oracle,finance", user="erp_user") + res = ccp_client.database_connections.update(id_param="", auth_type=models.DatabaseConnectionAuthType.CONNECTION_STRING, database_type=models.DatabaseConnectionType.ORACLE, description="Oracle ERP database", id="oracle-erp", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="oracle.example.com:1521/ORCL", connection_timeout=15000, creds_secrets="oracle-production-credentials", password="Oracle_Pass456!", request_timeout=30000, tags="erp,oracle,finance", text_secret="mysql-production-connection", user="erp_user") # Handle response print(res) @@ -427,7 +524,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.database_connections.update(id_param="", auth_type="secrets", database_type=models.DatabaseConnectionType.ORACLE, description="High-security Oracle database with credential secrets", id="oracle-secure-db", connection_timeout=15000, creds_secrets="oracle-secure-credentials", tags="secure,oracle,sensitive-data", text_secret="oracle-secure-connection") + res = ccp_client.database_connections.update(id_param="", auth_type=models.DatabaseConnectionAuthType.SECRETS, database_type=models.DatabaseConnectionType.ORACLE, description="High-security Oracle database with credential secrets", id="oracle-secure-db", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", connection_timeout=15000, creds_secrets="oracle-secure-credentials", password="yourPassword", request_timeout=30000, tags="secure,oracle,sensitive-data", text_secret="oracle-secure-connection", user="yourUsername") # Handle response print(res) @@ -448,7 +545,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.database_connections.update(id_param="", auth_type="secret", database_type=models.DatabaseConnectionType.ORACLE, description="Oracle data warehouse", id="oracle-warehouse", connection_timeout=20000, password="Warehouse_Pass789!", tags="warehouse,oracle,reporting", text_secret="oracle-warehouse-connection", user="warehouse_user") + res = ccp_client.database_connections.update(id_param="", auth_type=models.DatabaseConnectionAuthType.SECRET, database_type=models.DatabaseConnectionType.ORACLE, description="Oracle data warehouse", id="oracle-warehouse", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", connection_timeout=20000, creds_secrets="oracle-production-credentials", password="Warehouse_Pass789!", request_timeout=30000, tags="warehouse,oracle,reporting", text_secret="oracle-warehouse-connection", user="warehouse_user") # Handle response print(res) @@ -469,7 +566,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.database_connections.update(id_param="", auth_type="connectionString", database_type=models.DatabaseConnectionType.POSTGRES, description="Data warehouse PostgreSQL database", id="postgres-warehouse", connection_string="postgresql://warehouse_user:SecurePass456@postgres.example.com:5432/warehouse?sslmode=require", connection_timeout=15000, tags="warehouse,postgres,reporting") + res = ccp_client.database_connections.update(id_param="", auth_type=models.DatabaseConnectionAuthType.CONNECTION_STRING, database_type=models.DatabaseConnectionType.POSTGRES, description="Data warehouse PostgreSQL database", id="postgres-warehouse", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="postgresql://warehouse_user:SecurePass456@postgres.example.com:5432/warehouse?sslmode=require", connection_timeout=15000, creds_secrets="oracle-production-credentials", password="yourPassword", request_timeout=30000, tags="warehouse,postgres,reporting", text_secret="mysql-production-connection", user="yourUsername") # Handle response print(res) @@ -490,7 +587,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.database_connections.update(id_param="", auth_type="secret", database_type=models.DatabaseConnectionType.POSTGRES, description="Logs PostgreSQL database", id="postgres-logs", connection_timeout=10000, tags="logs,postgres", text_secret="postgres-logs-connection") + res = ccp_client.database_connections.update(id_param="", auth_type=models.DatabaseConnectionAuthType.SECRET, database_type=models.DatabaseConnectionType.POSTGRES, description="Logs PostgreSQL database", id="postgres-logs", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", connection_timeout=10000, creds_secrets="oracle-production-credentials", password="yourPassword", request_timeout=30000, tags="logs,postgres", text_secret="postgres-logs-connection", user="yourUsername") # Handle response print(res) @@ -511,7 +608,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.database_connections.update(id_param="", auth_type="configObj", database_type=models.DatabaseConnectionType.SQLSERVER, description="Reporting SQL Server database with custom config", id="sqlserver-reporting", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"report_user\",\"password\":\"Report_Pass123!\",\"options\":{\"encrypt\":true,\"trustServerCertificate\":false,\"connectTimeout\":20000}}", request_timeout=60000, tags="reporting,sqlserver,analytics") + res = ccp_client.database_connections.update(id_param="", auth_type=models.DatabaseConnectionAuthType.CONFIG_OBJ, database_type=models.DatabaseConnectionType.SQLSERVER, description="Reporting SQL Server database with custom config", id="sqlserver-reporting", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"report_user\",\"password\":\"Report_Pass123!\",\"options\":{\"encrypt\":true,\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", connection_timeout=10000, creds_secrets="oracle-production-credentials", password="yourPassword", request_timeout=60000, tags="reporting,sqlserver,analytics", text_secret="mysql-production-connection", user="yourUsername") # Handle response print(res) @@ -532,7 +629,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.database_connections.update(id_param="", auth_type="connectionString", database_type=models.DatabaseConnectionType.SQLSERVER, description="ERP SQL Server database", id="sqlserver-erp", connection_string="Server=sqlserver.example.com;Database=ERP;User Id=erp_admin;Password=ERP_Pass789!;Encrypt=true", connection_timeout=15000, request_timeout=30000, tags="erp,sqlserver,finance") + res = ccp_client.database_connections.update(id_param="", auth_type=models.DatabaseConnectionAuthType.CONNECTION_STRING, database_type=models.DatabaseConnectionType.SQLSERVER, description="ERP SQL Server database", id="sqlserver-erp", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="Server=sqlserver.example.com;Database=ERP;User Id=erp_admin;Password=ERP_Pass789!;Encrypt=true", connection_timeout=15000, creds_secrets="oracle-production-credentials", password="yourPassword", request_timeout=30000, tags="erp,sqlserver,finance", text_secret="mysql-production-connection", user="yourUsername") # Handle response print(res) @@ -553,7 +650,28 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.database_connections.update(id_param="", auth_type="secret", database_type=models.DatabaseConnectionType.SQLSERVER, description="CRM SQL Server database", id="sqlserver-crm", connection_timeout=15000, request_timeout=15000, tags="crm,sqlserver,sales", text_secret="sqlserver-crm-connection") + res = ccp_client.database_connections.update(id_param="", auth_type=models.DatabaseConnectionAuthType.SECRET, database_type=models.DatabaseConnectionType.SQLSERVER, description="CRM SQL Server database", id="sqlserver-crm", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", connection_timeout=15000, creds_secrets="oracle-production-credentials", password="yourPassword", request_timeout=15000, tags="crm,sqlserver,sales", text_secret="sqlserver-crm-connection", user="yourUsername") + + # Handle response + print(res) + +``` +### Example Usage: DatabaseConnectionResponseExamplesMySQLDatabaseConnection + + +```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.database_connections.update(id_param="", auth_type=models.DatabaseConnectionAuthType.CONFIG_OBJ, database_type=models.DatabaseConnectionType.SQLSERVER, description="Production MySQL database for customer data", id="mysql-prod-db", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", connection_timeout=10000, creds_secrets="oracle-production-credentials", password="yourPassword", request_timeout=30000, tags="production,mysql,customer-data", text_secret="mysql-production-connection", user="yourUsername") # Handle response print(res) @@ -574,7 +692,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.database_connections.update(id_param="", auth_type="connectionString", database_type=models.DatabaseConnectionType.MYSQL, description="Production MySQL database for customer data", id="mysql-prod-db", connection_string="mysql://admin:password123@mysql.example.com:3306/production?ssl=true", connection_timeout=10000, tags="production,mysql,customer-data") + res = ccp_client.database_connections.update(id_param="", auth_type=models.DatabaseConnectionAuthType.CONNECTION_STRING, database_type=models.DatabaseConnectionType.MYSQL, description="Production MySQL database for customer data", id="mysql-prod-db", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="mysql://admin:password123@mysql.example.com:3306/production?ssl=true", connection_timeout=10000, creds_secrets="oracle-production-credentials", password="yourPassword", request_timeout=30000, tags="production,mysql,customer-data", text_secret="mysql-production-connection", user="yourUsername") # Handle response print(res) @@ -595,7 +713,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.database_connections.update(id_param="", auth_type="secret", database_type=models.DatabaseConnectionType.MYSQL, description="Analytics MySQL database", id="mysql-analytics-db", connection_timeout=15000, tags="analytics,mysql", text_secret="mysql-analytics-connection") + res = ccp_client.database_connections.update(id_param="", auth_type=models.DatabaseConnectionAuthType.SECRET, database_type=models.DatabaseConnectionType.MYSQL, description="Analytics MySQL database", id="mysql-analytics-db", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", connection_timeout=15000, creds_secrets="oracle-production-credentials", password="yourPassword", request_timeout=30000, tags="analytics,mysql", text_secret="mysql-analytics-connection", user="yourUsername") # Handle response print(res) @@ -616,7 +734,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.database_connections.update(id_param="", auth_type="connectionString", database_type=models.DatabaseConnectionType.ORACLE, description="Oracle ERP database", id="oracle-erp", connection_string="oracle.example.com:1521/ORCL", connection_timeout=15000, password="Oracle_Pass456!", tags="erp,oracle,finance", user="erp_user") + res = ccp_client.database_connections.update(id_param="", auth_type=models.DatabaseConnectionAuthType.CONNECTION_STRING, database_type=models.DatabaseConnectionType.ORACLE, description="Oracle ERP database", id="oracle-erp", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="oracle.example.com:1521/ORCL", connection_timeout=15000, creds_secrets="oracle-production-credentials", password="Oracle_Pass456!", request_timeout=30000, tags="erp,oracle,finance", text_secret="mysql-production-connection", user="erp_user") # Handle response print(res) @@ -637,7 +755,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.database_connections.update(id_param="", auth_type="secrets", database_type=models.DatabaseConnectionType.ORACLE, description="High-security Oracle database with credential secrets", id="oracle-secure-db", connection_timeout=15000, creds_secrets="oracle-secure-credentials", tags="secure,oracle,sensitive-data", text_secret="oracle-secure-connection") + res = ccp_client.database_connections.update(id_param="", auth_type=models.DatabaseConnectionAuthType.SECRETS, database_type=models.DatabaseConnectionType.ORACLE, description="High-security Oracle database with credential secrets", id="oracle-secure-db", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", connection_timeout=15000, creds_secrets="oracle-secure-credentials", password="yourPassword", request_timeout=30000, tags="secure,oracle,sensitive-data", text_secret="oracle-secure-connection", user="yourUsername") # Handle response print(res) @@ -658,7 +776,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.database_connections.update(id_param="", auth_type="secret", database_type=models.DatabaseConnectionType.ORACLE, description="Oracle data warehouse", id="oracle-warehouse", connection_timeout=20000, password="Warehouse_Pass789!", tags="warehouse,oracle,reporting", text_secret="oracle-warehouse-connection", user="warehouse_user") + res = ccp_client.database_connections.update(id_param="", auth_type=models.DatabaseConnectionAuthType.SECRET, database_type=models.DatabaseConnectionType.ORACLE, description="Oracle data warehouse", id="oracle-warehouse", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", connection_timeout=20000, creds_secrets="oracle-production-credentials", password="Warehouse_Pass789!", request_timeout=30000, tags="warehouse,oracle,reporting", text_secret="oracle-warehouse-connection", user="warehouse_user") # Handle response print(res) @@ -679,7 +797,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.database_connections.update(id_param="", auth_type="connectionString", database_type=models.DatabaseConnectionType.POSTGRES, description="Data warehouse PostgreSQL database", id="postgres-warehouse", connection_string="postgresql://warehouse_user:SecurePass456@postgres.example.com:5432/warehouse?sslmode=require", connection_timeout=15000, tags="warehouse,postgres,reporting") + res = ccp_client.database_connections.update(id_param="", auth_type=models.DatabaseConnectionAuthType.CONNECTION_STRING, database_type=models.DatabaseConnectionType.POSTGRES, description="Data warehouse PostgreSQL database", id="postgres-warehouse", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="postgresql://warehouse_user:SecurePass456@postgres.example.com:5432/warehouse?sslmode=require", connection_timeout=15000, creds_secrets="oracle-production-credentials", password="yourPassword", request_timeout=30000, tags="warehouse,postgres,reporting", text_secret="mysql-production-connection", user="yourUsername") # Handle response print(res) @@ -700,7 +818,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.database_connections.update(id_param="", auth_type="secret", database_type=models.DatabaseConnectionType.POSTGRES, description="Logs PostgreSQL database", id="postgres-logs", connection_timeout=10000, tags="logs,postgres", text_secret="postgres-logs-connection") + res = ccp_client.database_connections.update(id_param="", auth_type=models.DatabaseConnectionAuthType.SECRET, database_type=models.DatabaseConnectionType.POSTGRES, description="Logs PostgreSQL database", id="postgres-logs", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", connection_timeout=10000, creds_secrets="oracle-production-credentials", password="yourPassword", request_timeout=30000, tags="logs,postgres", text_secret="postgres-logs-connection", user="yourUsername") # Handle response print(res) @@ -721,7 +839,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.database_connections.update(id_param="", auth_type="configObj", database_type=models.DatabaseConnectionType.SQLSERVER, description="Reporting SQL Server database with custom config", id="sqlserver-reporting", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"report_user\",\"password\":\"Report_Pass123!\",\"options\":{\"encrypt\":true,\"trustServerCertificate\":false,\"connectTimeout\":20000}}", request_timeout=60000, tags="reporting,sqlserver,analytics") + res = ccp_client.database_connections.update(id_param="", auth_type=models.DatabaseConnectionAuthType.CONFIG_OBJ, database_type=models.DatabaseConnectionType.SQLSERVER, description="Reporting SQL Server database with custom config", id="sqlserver-reporting", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"report_user\",\"password\":\"Report_Pass123!\",\"options\":{\"encrypt\":true,\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", connection_timeout=10000, creds_secrets="oracle-production-credentials", password="yourPassword", request_timeout=60000, tags="reporting,sqlserver,analytics", text_secret="mysql-production-connection", user="yourUsername") # Handle response print(res) @@ -742,7 +860,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.database_connections.update(id_param="", auth_type="connectionString", database_type=models.DatabaseConnectionType.SQLSERVER, description="ERP SQL Server database", id="sqlserver-erp", connection_string="Server=sqlserver.example.com;Database=ERP;User Id=erp_admin;Password=ERP_Pass789!;Encrypt=true", connection_timeout=15000, request_timeout=30000, tags="erp,sqlserver,finance") + res = ccp_client.database_connections.update(id_param="", auth_type=models.DatabaseConnectionAuthType.CONNECTION_STRING, database_type=models.DatabaseConnectionType.SQLSERVER, description="ERP SQL Server database", id="sqlserver-erp", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="Server=sqlserver.example.com;Database=ERP;User Id=erp_admin;Password=ERP_Pass789!;Encrypt=true", connection_timeout=15000, creds_secrets="oracle-production-credentials", password="yourPassword", request_timeout=30000, tags="erp,sqlserver,finance", text_secret="mysql-production-connection", user="yourUsername") # Handle response print(res) @@ -763,7 +881,217 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.database_connections.update(id_param="", auth_type="secret", database_type=models.DatabaseConnectionType.SQLSERVER, description="CRM SQL Server database", id="sqlserver-crm", connection_timeout=15000, request_timeout=15000, tags="crm,sqlserver,sales", text_secret="sqlserver-crm-connection") + res = ccp_client.database_connections.update(id_param="", auth_type=models.DatabaseConnectionAuthType.SECRET, database_type=models.DatabaseConnectionType.SQLSERVER, description="CRM SQL Server database", id="sqlserver-crm", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", connection_timeout=15000, creds_secrets="oracle-production-credentials", password="yourPassword", request_timeout=15000, tags="crm,sqlserver,sales", text_secret="sqlserver-crm-connection", user="yourUsername") + + # Handle response + print(res) + +``` +### Example Usage: UpdateDatabaseConnectionExamplesUpdateMySQLDatabaseConnectionWithConnectionString + + +```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.database_connections.update(id_param="", auth_type=models.DatabaseConnectionAuthType.CONNECTION_STRING, database_type=models.DatabaseConnectionType.MYSQL, description="Production MySQL database for customer data", id="mysql-prod-db", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", connection_timeout=10000, creds_secrets="oracle-production-credentials", password="yourPassword", request_timeout=30000, tags="production,mysql,customer-data", text_secret="mysql-production-connection", user="yourUsername") + + # Handle response + print(res) + +``` +### Example Usage: UpdateDatabaseConnectionExamplesUpdateMySQLDatabaseConnectionWithSecret + + +```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.database_connections.update(id_param="", auth_type=models.DatabaseConnectionAuthType.SECRET, database_type=models.DatabaseConnectionType.MYSQL, description="Analytics MySQL database", id="mysql-analytics-db", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", connection_timeout=15000, creds_secrets="oracle-production-credentials", password="yourPassword", request_timeout=30000, tags="analytics,mysql", text_secret="mysql-analytics-connection", user="yourUsername") + + # Handle response + print(res) + +``` +### Example Usage: UpdateDatabaseConnectionExamplesUpdateOracleDatabaseConnectionWithConnectionString + + +```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.database_connections.update(id_param="", auth_type=models.DatabaseConnectionAuthType.CONNECTION_STRING, database_type=models.DatabaseConnectionType.ORACLE, description="Oracle ERP database", id="oracle-erp", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="oracle.example.com:1521/ORCL", connection_timeout=15000, creds_secrets="oracle-production-credentials", password="yourPassword", request_timeout=30000, tags="erp,oracle,finance", text_secret="mysql-production-connection", user="yourUsername") + + # Handle response + print(res) + +``` +### Example Usage: UpdateDatabaseConnectionExamplesUpdateOracleDatabaseConnectionWithCredentialsSecrets + + +```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.database_connections.update(id_param="", auth_type=models.DatabaseConnectionAuthType.SECRETS, database_type=models.DatabaseConnectionType.ORACLE, description="High-security Oracle database with credential secrets", id="oracle-secure-db", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", connection_timeout=15000, creds_secrets="oracle-secure-credentials", password="yourPassword", request_timeout=30000, tags="secure,oracle,sensitive-data", text_secret="oracle-secure-connection", user="yourUsername") + + # Handle response + print(res) + +``` +### Example Usage: UpdateDatabaseConnectionExamplesUpdateOracleDatabaseConnectionWithSecret + + +```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.database_connections.update(id_param="", auth_type=models.DatabaseConnectionAuthType.SECRET, database_type=models.DatabaseConnectionType.ORACLE, description="Oracle data warehouse", id="oracle-warehouse", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", connection_timeout=20000, creds_secrets="oracle-production-credentials", password="yourPassword", request_timeout=30000, tags="warehouse,oracle,reporting", text_secret="oracle-warehouse-connection", user="yourUsername") + + # Handle response + print(res) + +``` +### Example Usage: UpdateDatabaseConnectionExamplesUpdatePostgreSQLDatabaseConnectionWithConnectionString + + +```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.database_connections.update(id_param="", auth_type=models.DatabaseConnectionAuthType.CONNECTION_STRING, database_type=models.DatabaseConnectionType.POSTGRES, description="Data warehouse PostgreSQL database", id="postgres-warehouse", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="postgresql://yourUsername:yourPassword@postgres.example.com:5432/warehouse?sslmode=require", connection_timeout=15000, creds_secrets="oracle-production-credentials", password="yourPassword", request_timeout=30000, tags="warehouse,postgres,reporting", text_secret="mysql-production-connection", user="yourUsername") + + # Handle response + print(res) + +``` +### Example Usage: UpdateDatabaseConnectionExamplesUpdatePostgreSQLDatabaseConnectionWithSecret + + +```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.database_connections.update(id_param="", auth_type=models.DatabaseConnectionAuthType.SECRET, database_type=models.DatabaseConnectionType.POSTGRES, description="Logs PostgreSQL database", id="postgres-logs", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", connection_timeout=10000, creds_secrets="oracle-production-credentials", password="yourPassword", request_timeout=30000, tags="logs,postgres", text_secret="postgres-logs-connection", user="yourUsername") + + # Handle response + print(res) + +``` +### Example Usage: UpdateDatabaseConnectionExamplesUpdateSQLServerDatabaseConnectionWithConfigObject + + +```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.database_connections.update(id_param="", auth_type=models.DatabaseConnectionAuthType.CONFIG_OBJ, database_type=models.DatabaseConnectionType.SQLSERVER, description="Reporting SQL Server database with custom config", id="sqlserver-reporting", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"encrypt\":true,\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", connection_timeout=10000, creds_secrets="oracle-production-credentials", password="yourPassword", request_timeout=60000, tags="reporting,sqlserver,analytics", text_secret="mysql-production-connection", user="yourUsername") + + # Handle response + print(res) + +``` +### Example Usage: UpdateDatabaseConnectionExamplesUpdateSQLServerDatabaseConnectionWithConnectionString + + +```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.database_connections.update(id_param="", auth_type=models.DatabaseConnectionAuthType.CONNECTION_STRING, database_type=models.DatabaseConnectionType.SQLSERVER, description="ERP SQL Server database", id="sqlserver-erp", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="Server=sqlserver.example.com;Database=ERP;User Id=yourUsername;Password=yourPassword;Encrypt=true", connection_timeout=15000, creds_secrets="oracle-production-credentials", password="yourPassword", request_timeout=30000, tags="erp,sqlserver,finance", text_secret="mysql-production-connection", user="yourUsername") + + # Handle response + print(res) + +``` +### Example Usage: UpdateDatabaseConnectionExamplesUpdateSQLServerDatabaseConnectionWithSecret + + +```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.database_connections.update(id_param="", auth_type=models.DatabaseConnectionAuthType.SECRET, database_type=models.DatabaseConnectionType.SQLSERVER, description="CRM SQL Server database", id="sqlserver-crm", config_obj="{\"server\":\"sqlserver.example.com\",\"database\":\"Reporting\",\"user\":\"yourUsername\",\"password\":\"yourPassword\",\"options\":{\"trustServerCertificate\":false,\"connectTimeout\":20000}}", connection_string="mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true", connection_timeout=15000, creds_secrets="oracle-production-credentials", password="yourPassword", request_timeout=15000, tags="crm,sqlserver,sales", text_secret="sqlserver-crm-connection", user="yourUsername") # Handle response print(res) @@ -772,34 +1100,37 @@ with CriblControlPlane( ### Parameters -| Parameter | Type | Required | Description | -| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | -| `id_param` | *str* | :heavy_check_mark: | The id of the Database Connection to update. | -| `auth_type` | *str* | :heavy_check_mark: | N/A | -| `database_type` | [models.DatabaseConnectionType](../../models/databaseconnectiontype.md) | :heavy_check_mark: | N/A | -| `description` | *str* | :heavy_check_mark: | N/A | -| `id` | *str* | :heavy_check_mark: | N/A | -| `config_obj` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `connection_string` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `connection_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `creds_secrets` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `password` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `request_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `tags` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `text_secret` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `user` | *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 | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id_param` | *str* | :heavy_check_mark: | The id of the Database Connection to update. | | +| `auth_type` | [models.DatabaseConnectionAuthType](../../models/databaseconnectionauthtype.md) | :heavy_check_mark: | N/A | | +| `database_type` | [models.DatabaseConnectionType](../../models/databaseconnectiontype.md) | :heavy_check_mark: | N/A | | +| `description` | *str* | :heavy_check_mark: | Brief description of the Database Connection. | Production MySQL database for customer data | +| `id` | *str* | :heavy_check_mark: | Unique identifier for the Database Connection. | mysql-prod-db | +| `config_obj` | *Optional[str]* | :heavy_minus_sign: | JSON configuration object for advanced SQL Server connection settings. | {
"server": "sqlserver.example.com",
"database": "Reporting",
"user": "yourUsername",
"password": "yourPassword",
"options": {
"trustServerCertificate": false,
"connectTimeout": 20000
}
} | +| `connection_string` | *Optional[str]* | :heavy_minus_sign: | Database connection string with embedded credentials or server information. | mysql://yourUsername:yourPassword@mysql.example.com:3306/production?ssl=true | +| `connection_timeout` | *Optional[int]* | :heavy_minus_sign: | Maximum time (in milliseconds) to wait when establishing the database connection. | 10000 | +| `creds_secrets` | *Optional[str]* | :heavy_minus_sign: | Name of the stored credentials secret containing username and password. Used with Oracle connections. | oracle-production-credentials | +| `password` | *Optional[str]* | :heavy_minus_sign: | Database password for authentication. Used with Oracle connections. | yourPassword | +| `request_timeout` | *Optional[int]* | :heavy_minus_sign: | Maximum time (in milliseconds) to wait for a database query to complete. Applies to SQL Server connections only. | 30000 | +| `tags` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of tags for categorizing and filtering Database Connections. | production,mysql,customer-data | +| `text_secret` | *Optional[str]* | :heavy_minus_sign: | Name of the stored text secret containing the connection string. | mysql-production-connection | +| `tls` | [Optional[models.TLSClientParams]](../../models/tlsclientparams.md) | :heavy_minus_sign: | TLS client connection settings. | | +| `user` | *Optional[str]* | :heavy_minus_sign: | Database username for authentication. Used with Oracle connections. | yourUsername | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | | ### Response -**[models.CountedDatabaseConnectionConfig](../../models/counteddatabaseconnectionconfig.md)** +**[models.DatabaseConnectionResponseEnvelope](../../models/databaseconnectionresponseenvelope.md)** ### Errors -| Error Type | Status Code | Content Type | -| ---------------- | ---------------- | ---------------- | -| errors.Error | 500 | application/json | -| errors.APIError | 4XX, 5XX | \*/\* | +| Error Type | Status Code | Content Type | +| ----------------------- | ----------------------- | ----------------------- | +| errors.Error | 401 | application/json | +| errors.RestAPIJSONError | 400, 404 | application/json | +| errors.Error | 500 | application/json | +| errors.APIError | 4XX, 5XX | \*/\* | ## delete @@ -807,7 +1138,7 @@ Delete the specified Database Connection. ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -836,11 +1167,13 @@ with CriblControlPlane( ### Response -**[models.CountedDatabaseConnectionConfig](../../models/counteddatabaseconnectionconfig.md)** +**[models.DatabaseConnectionResponseEnvelope](../../models/databaseconnectionresponseenvelope.md)** ### Errors -| Error Type | Status Code | Content Type | -| ---------------- | ---------------- | ---------------- | -| errors.Error | 500 | application/json | -| errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file +| Error Type | Status Code | Content Type | +| ----------------------- | ----------------------- | ----------------------- | +| errors.Error | 401 | application/json | +| errors.RestAPIJSONError | 404 | application/json | +| errors.Error | 500 | application/json | +| errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/datasets/README.md b/docs/sdks/datasets/README.md index 47ef73a4b..9b1dd5f19 100644 --- a/docs/sdks/datasets/README.md +++ b/docs/sdks/datasets/README.md @@ -31,8 +31,10 @@ with CriblControlPlane( res = ccp_client.lakes.datasets.list(lake_id="", storage_location_id="", exclude_ddss=True, exclude_deleted=True, exclude_internal=False, exclude_byos=False) - # Handle response - print(res) + while res is not None: + # Handle items + + res = res.next() ``` @@ -44,20 +46,24 @@ with CriblControlPlane( | `storage_location_id` | *Optional[str]* | :heavy_minus_sign: | Filter datasets by storage location ID. Use default for default storage location. | | `format_` | [Optional[models.GetCriblLakeDatasetByLakeIDFormat]](../../models/getcribllakedatasetbylakeidformat.md) | :heavy_minus_sign: | Filter datasets by format. Set to ddss to return only DDSS datasets. | | `exclude_ddss` | *Optional[bool]* | :heavy_minus_sign: | Exclude DDSS format datasets from the response. | +| `exclude_netskope` | *Optional[bool]* | :heavy_minus_sign: | Exclude Netskope format datasets from the response. | | `exclude_deleted` | *Optional[bool]* | :heavy_minus_sign: | Exclude deleted datasets from the response. | | `exclude_internal` | *Optional[bool]* | :heavy_minus_sign: | Exclude internal datasets (those with IDs starting with cribl_) from the response. | | `exclude_byos` | *Optional[bool]* | :heavy_minus_sign: | Exclude BYOS (Bring Your Own Storage) datasets from the response. | | `include_metrics` | *Optional[bool]* | :heavy_minus_sign: | Set to true to include storage metrics for each Lake Dataset. Otherwise, false (default). Requires a Cribl Lake metrics license. | +| `offset` | *Optional[int]* | :heavy_minus_sign: | Pagination offset | +| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of items to return | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response -**[models.CountedCriblLakeDataset](../../models/countedcribllakedataset.md)** +**[models.GetCriblLakeDatasetByLakeIDResponse](../../models/getcribllakedatasetbylakeidresponse.md)** ### Errors | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -169,12 +175,12 @@ with CriblControlPlane( | `deletion_started_at` | *Optional[float]* | :heavy_minus_sign: | Timestamp (in Unix time) when Dataset deletion was initiated, in milliseconds. | | `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Dataset. | | `format_` | [Optional[models.FormatOptionsCriblLakeDataset]](../../models/formatoptionscribllakedataset.md) | :heavy_minus_sign: | Storage format used for data persisted in the Dataset. | -| `http_da_used` | *Optional[bool]* | :heavy_minus_sign: | If true, the Dataset is used by Direct Access HTTP. | +| `http_da_used` | *Optional[bool]* | :heavy_minus_sign: | If true, the Dataset is used by Direct Access HTTP. Otherwise, false. | | `metrics` | [Optional[models.LakeDatasetMetrics]](../../models/lakedatasetmetrics.md) | :heavy_minus_sign: | N/A | | `retention_period_in_days` | *Optional[int]* | :heavy_minus_sign: | Dataset retention period, in days. | | `search_config` | [Optional[models.LakeDatasetSearchConfig]](../../models/lakedatasetsearchconfig.md) | :heavy_minus_sign: | N/A | | `storage_class` | [Optional[models.StorageClassOptionsCriblLakeDataset]](../../models/storageclassoptionscribllakedataset.md) | :heavy_minus_sign: | Storage class used for objects written to the Dataset. | -| `storage_location_id` | *Optional[str]* | :heavy_minus_sign: | Identifier for the Storage Location that backs the Dataset. Mutually exclusive with bucketName. | +| `storage_location_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for the Storage Location that backs the Dataset. Mutually exclusive with bucketName. | | `view_name` | *Optional[str]* | :heavy_minus_sign: | Name of the ClickHouse view for the Dataset on the Lakehouse. | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | @@ -186,6 +192,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -232,6 +239,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -318,13 +326,13 @@ with CriblControlPlane( | `deletion_started_at` | *Optional[float]* | :heavy_minus_sign: | Timestamp (in Unix time) when Dataset deletion was initiated, in milliseconds. | | `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Dataset. | | `format_` | [Optional[models.FormatOptionsCriblLakeDataset]](../../models/formatoptionscribllakedataset.md) | :heavy_minus_sign: | Storage format used for data persisted in the Dataset. | -| `http_da_used` | *Optional[bool]* | :heavy_minus_sign: | If true, the Dataset is used by Direct Access HTTP. | -| `id` | *Optional[str]* | :heavy_minus_sign: | Dataset identifier. Optional; the path parameter id is authoritative. | +| `http_da_used` | *Optional[bool]* | :heavy_minus_sign: | If true, the Dataset is used by Direct Access HTTP. Otherwise, false. | +| `id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for the Dataset. Optional; the path parameter id is authoritative. | | `metrics` | [Optional[models.LakeDatasetMetrics]](../../models/lakedatasetmetrics.md) | :heavy_minus_sign: | N/A | | `retention_period_in_days` | *Optional[int]* | :heavy_minus_sign: | Dataset retention period, in days. | | `search_config` | [Optional[models.LakeDatasetSearchConfig]](../../models/lakedatasetsearchconfig.md) | :heavy_minus_sign: | N/A | | `storage_class` | [Optional[models.StorageClassOptionsCriblLakeDataset]](../../models/storageclassoptionscribllakedataset.md) | :heavy_minus_sign: | Storage class used for objects written to the Dataset. | -| `storage_location_id` | *Optional[str]* | :heavy_minus_sign: | Identifier for the Storage Location that backs the Dataset. Mutually exclusive with bucketName. | +| `storage_location_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for the Storage Location that backs the Dataset. Mutually exclusive with bucketName. | | `view_name` | *Optional[str]* | :heavy_minus_sign: | Name of the ClickHouse view for the Dataset on the Lakehouse. | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | @@ -336,6 +344,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -381,5 +390,6 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/destinations/README.md b/docs/sdks/destinations/README.md index b2dfeb76d..3d6d68c7e 100644 --- a/docs/sdks/destinations/README.md +++ b/docs/sdks/destinations/README.md @@ -16,9 +16,9 @@ Actions related to Destinations Get a list of all Destinations. -### Example Usage +### Example Usage: OutputResponseExamplesS3Destination - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -33,8 +33,56 @@ with CriblControlPlane( res = ccp_client.destinations.list() - # Handle response - print(res) + while res is not None: + # Handle items + + res = res.next() + +``` +### Example Usage: OutputResponseExamplesSplunkHecDestination + + +```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.list() + + while res is not None: + # Handle items + + res = res.next() + +``` +### Example Usage: OutputResponseExamplesSyslogDestination + + +```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.list() + + while res is not None: + # Handle items + + res = res.next() ``` @@ -43,16 +91,19 @@ with CriblControlPlane( | Parameter | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `type` | [Optional[models.DestinationType]](../../models/destinationtype.md) | :heavy_minus_sign: | Type of Destination to include in the results. Each request can include only one type parameter; multiple parameters per request are not supported. | +| `offset` | *Optional[int]* | :heavy_minus_sign: | Pagination offset | +| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of items to return | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response -**[models.CountedOutputResponse](../../models/countedoutputresponse.md)** +**[models.ListOutputResponse](../../models/listoutputresponse.md)** ### Errors | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -86,6 +137,33 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: OutputCreateExamplesAmazonManagedPrometheus + + +```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": "amazon-managed-prometheus-output", + "type": models.CreateOutputTypeAmazonManagedPrometheus.AMAZON_MANAGED_PROMETHEUS, + "url": "https://aps-workspaces.us-east-1.amazonaws.com/workspaces/ws-example/api/v1/remote_write", + "aws_authentication_method": models.AuthenticationMethodOptionsAutoSecret.AUTO, + "region": "us-east-1", + }) + + # Handle response + print(res) + ``` ### Example Usage: OutputCreateExamplesAzureBlob @@ -554,6 +632,33 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: OutputCreateExamplesCustomerMetricsStorage + + +```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": "customer-metrics-storage-output", + "type": models.CreateOutputTypeCustomerMetricsStorage.CUSTOMER_METRICS_STORAGE, + "url": "http://localhost:8123/", + "database": "default", + "table_name": "mytable", + }) + + # Handle response + print(res) + ``` ### Example Usage: OutputCreateExamplesDatabricks @@ -706,7 +811,7 @@ with CriblControlPlane( "type": models.CreateOutputTypeDynatraceHTTP.DYNATRACE_HTTP, "auth_type": models.CreateOutputAuthenticationTypeDynatraceHTTP.TOKEN, "format_": models.CreateOutputFormatDynatraceHTTP.JSON_ARRAY, - "endpoint": models.CreateOutputEndpoint.CLOUD, + "endpoint": models.CreateOutputEndpointDynatraceHTTP.CLOUD, "telemetry_type": models.CreateOutputTelemetryType.LOGS, "token": "your-api-key", }) @@ -848,6 +953,34 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: OutputCreateExamplesGoogleBigQuery + + +```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": "google-bigquery-output", + "type": models.CreateOutputTypeGoogleBigquery.GOOGLE_BIGQUERY, + "project_id": "my-project", + "dataset_id": "my-dataset", + "table_id": "my-table", + "google_auth_method": models.CreateOutputGoogleAuthenticationMethodGoogleBigquery.AUTO, + }) + + # Handle response + print(res) + ``` ### Example Usage: OutputCreateExamplesGoogleChronicle @@ -902,6 +1035,31 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: OutputCreateExamplesGoogleCloudObservability + + +```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": "google-cloud-observability-output", + "type": models.CreateOutputTypeGoogleCloudObservability.GOOGLE_CLOUD_OBSERVABILITY, + "google_auth_method": models.CreateOutputGoogleAuthenticationMethodGoogleCloudObservability.AUTO, + }) + + # Handle response + print(res) + ``` ### Example Usage: OutputCreateExamplesGoogleCloudStorage @@ -2161,6 +2319,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 @@ -2188,6 +2373,88 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: OutputResponseExamplesS3Destination + + +```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": "", + "type": models.CreateOutputTypeGoogleChronicle.GOOGLE_CHRONICLE, + "log_format_type": models.CreateOutputSendEventsAs.UDM, + }) + + # Handle response + print(res) + +``` +### Example Usage: OutputResponseExamplesSplunkHecDestination + + +```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": "", + "type": models.CreateOutputTypeMinio.MINIO, + "bucket": "", + "stage_path": "", + "endpoint": "", + }) + + # Handle response + print(res) + +``` +### Example Usage: OutputResponseExamplesSyslogDestination + + +```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": "", + "type": models.CreateOutputTypeSecurityLake.SECURITY_LAKE, + "assume_role_arn": "", + "bucket": "", + "region": "", + "stage_path": "", + "account_id": "", + "custom_source": "", + }) + + # Handle response + print(res) + ``` ### Parameters @@ -2205,6 +2472,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -2212,9 +2480,51 @@ with CriblControlPlane( Get the specified Destination. -### Example Usage +### Example Usage: OutputResponseExamplesS3Destination + + +```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.get(id="") + + # Handle response + print(res) + +``` +### Example Usage: OutputResponseExamplesSplunkHecDestination - + +```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.get(id="") + + # Handle response + print(res) + +``` +### Example Usage: OutputResponseExamplesSyslogDestination + + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -2249,6 +2559,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -4409,6 +4720,77 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: OutputResponseExamplesS3Destination + + +```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={ + "type": models.OutputDatasetType.DATASET, + }) + + # Handle response + print(res) + +``` +### Example Usage: OutputResponseExamplesSplunkHecDestination + + +```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={ + "type": models.OutputAzureBlobType.AZURE_BLOB, + "container_name": "", + "stage_path": "", + }) + + # Handle response + print(res) + +``` +### Example Usage: OutputResponseExamplesSyslogDestination + + +```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={ + "type": models.OutputSplunkHecType.SPLUNK_HEC, + }) + + # Handle response + print(res) + ``` ### Example Usage: UpdateOutputExamplesAlphasocS3 @@ -4436,6 +4818,33 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: UpdateOutputExamplesAmazonManagedPrometheus + + +```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": "amazon-managed-prometheus-output", + "type": models.OutputAmazonManagedPrometheusType.AMAZON_MANAGED_PROMETHEUS, + "url": "https://aps-workspaces.us-east-1.amazonaws.com/workspaces/ws-example/api/v1/remote_write", + "aws_authentication_method": models.AuthenticationMethodOptionsAutoSecret.AUTO, + "region": "us-east-1", + }) + + # Handle response + print(res) + ``` ### Example Usage: UpdateOutputExamplesAzureBlob @@ -4904,6 +5313,33 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: UpdateOutputExamplesCustomerMetricsStorage + + +```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": "customer-metrics-storage-output", + "type": models.OutputCustomerMetricsStorageType.CUSTOMER_METRICS_STORAGE, + "url": "http://localhost:8123/", + "database": "default", + "table_name": "mytable", + }) + + # Handle response + print(res) + ``` ### Example Usage: UpdateOutputExamplesDatabricks @@ -5223,6 +5659,34 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: UpdateOutputExamplesGoogleBigQuery + + +```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": "google-bigquery-output", + "type": models.OutputGoogleBigqueryType.GOOGLE_BIGQUERY, + "project_id": "my-project", + "dataset_id": "my-dataset", + "table_id": "my-table", + "google_auth_method": models.OutputGoogleBigqueryGoogleAuthenticationMethod.AUTO, + }) + + # Handle response + print(res) + ``` ### Example Usage: UpdateOutputExamplesGoogleChronicle @@ -5277,6 +5741,31 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: UpdateOutputExamplesGoogleCloudObservability + + +```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": "google-cloud-observability-output", + "type": models.OutputGoogleCloudObservabilityType.GOOGLE_CLOUD_OBSERVABILITY, + "google_auth_method": models.OutputGoogleCloudObservabilityGoogleAuthenticationMethod.AUTO, + }) + + # Handle response + print(res) + ``` ### Example Usage: UpdateOutputExamplesGoogleCloudStorage @@ -6536,6 +7025,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 @@ -6581,6 +7097,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -6588,9 +7105,51 @@ with CriblControlPlane( Delete the specified Destination. -### Example Usage +### Example Usage: OutputResponseExamplesS3Destination + + +```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.delete(id="") + + # Handle response + print(res) + +``` +### Example Usage: OutputResponseExamplesSplunkHecDestination + + +```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.delete(id="") + + # Handle response + print(res) + +``` +### Example Usage: OutputResponseExamplesSyslogDestination - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -6625,5 +7184,6 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/destinationspq/README.md b/docs/sdks/destinationspq/README.md index dc362cd3b..b5198c43a 100644 --- a/docs/sdks/destinationspq/README.md +++ b/docs/sdks/destinationspq/README.md @@ -13,7 +13,7 @@ Clear the persistent queue (PQ) for the specified Destination. ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -48,6 +48,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -92,5 +93,6 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/destinationsstatuses/README.md b/docs/sdks/destinationsstatuses/README.md index 76c5021f6..95211d70c 100644 --- a/docs/sdks/destinationsstatuses/README.md +++ b/docs/sdks/destinationsstatuses/README.md @@ -11,9 +11,9 @@ List status information and optional metrics for all configured Destinations in the Worker Group or Edge Fleet. -### Example Usage +### Example Usage: OutputStatusResponseExamplesGreenDestination - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -26,7 +26,30 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.destinations.statuses.list(metrics=False, type_=True) + res = ccp_client.destinations.statuses.list() + + while res is not None: + # Handle items + + res = res.next() + +``` +### Example Usage: OutputStatusResponseExamplesYellowDestination + + +```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.statuses.list() while res is not None: # Handle items @@ -53,6 +76,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -60,9 +84,30 @@ with CriblControlPlane( Get the status and optional metrics for the specified Destination. -### Example Usage +### Example Usage: OutputStatusResponseExamplesGreenDestination + + +```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.statuses.get(id="") + + # Handle response + print(res) + +``` +### Example Usage: OutputStatusResponseExamplesYellowDestination - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -75,7 +120,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.destinations.statuses.get(id="", metrics=False, type_=False) + res = ccp_client.destinations.statuses.get(id="") # Handle response print(res) @@ -99,5 +144,6 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/functions/README.md b/docs/sdks/functions/README.md index 37aa77833..cbfe68c68 100644 --- a/docs/sdks/functions/README.md +++ b/docs/sdks/functions/README.md @@ -15,7 +15,7 @@ Get a list of all Functions. ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -30,25 +30,31 @@ with CriblControlPlane( res = ccp_client.functions.list() - # Handle response - print(res) + while res is not None: + # Handle items + + res = res.next() ``` ### 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. | +| `offset` | *Optional[int]* | :heavy_minus_sign: | Pagination offset | +| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of items to return | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response -**[models.CountedFunctionResponse](../../models/countedfunctionresponse.md)** +**[models.GetFunctionsResponse](../../models/getfunctionsresponse.md)** ### Errors | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -56,9 +62,30 @@ with CriblControlPlane( Get the specified Function. -### Example Usage +### Example Usage: FunctionResponseExamplesDropFunction + + +```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.functions.get(id="") + + # Handle response + print(res) + +``` +### Example Usage: FunctionResponseExamplesEvalFunction - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -93,5 +120,6 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/groupssdk/README.md b/docs/sdks/groupssdk/README.md index 6b1f6bec2..7b10beea8 100644 --- a/docs/sdks/groupssdk/README.md +++ b/docs/sdks/groupssdk/README.md @@ -19,7 +19,7 @@ Get a list of all Worker Groups, Outpost Groups, or Edge Fleets for the specifie ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -32,10 +32,12 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.groups.list(product=models.ProductsCore.EDGE, fields="") + res = ccp_client.groups.list(product=models.ProductsCore.STREAM, fields="") - # Handle response - print(res) + while res is not None: + # Handle items + + res = res.next() ``` @@ -45,16 +47,19 @@ with CriblControlPlane( | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `product` | [models.ProductsCore](../../models/productscore.md) | :heavy_check_mark: | Name of the Cribl product to get the Worker Groups, Outpost Groups, or Edge Fleets for. | | `fields` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of additional properties to include in the response. Available values are git.commit, git.localChanges, and git.log. | +| `offset` | *Optional[int]* | :heavy_minus_sign: | Pagination offset | +| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of items to return | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response -**[models.CountedConfigGroup](../../models/countedconfiggroup.md)** +**[models.GetProductsGroupsByProductResponse](../../models/getproductsgroupsbyproductresponse.md)** ### Errors | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -64,7 +69,7 @@ Create a new Worker Group, Outpost Group, or Edge Fleet for the specified Cribl ### Example Usage: CreateGroupExamplesCloneWg - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -77,7 +82,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.groups.create(product=models.ProductsCore.EDGE, id="goatOnPremDollyWg", description="Worker Group cloned from goatOnPremIanWg with identical configuration", estimated_ingest_rate=models.EstimatedIngestRateOptionsConfigGroup.RATE48_MB_PER_SEC, name="goatonpremdollywg", on_prem=True, source_group_id="goatOnPremIanWg", type_=models.TypeOptionsConfigGroup.STREAM, worker_remote_access=True) + res = ccp_client.groups.create(product=models.ProductsCore.STREAM, id="goatOnPremDollyWg", description="Worker Group cloned from goatOnPremIanWg with identical configuration", estimated_ingest_rate=models.EstimatedIngestRateOptionsConfigGroup.RATE48_MB_PER_SEC, name="goatonpremdollywg", on_prem=True, source_group_id="goatOnPremIanWg", type_=models.TypeOptionsConfigGroup.STREAM, worker_remote_access=True) # Handle response print(res) @@ -85,7 +90,7 @@ with CriblControlPlane( ``` ### Example Usage: CreateGroupExamplesCloudWg - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -109,7 +114,7 @@ with CriblControlPlane( ``` ### Example Usage: CreateGroupExamplesEdgeFleet - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -122,7 +127,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.groups.create(product=models.ProductsCore.EDGE, id="goatIanEdgeFleet", description="Create a new Edge Fleet", estimated_ingest_rate=models.EstimatedIngestRateOptionsConfigGroup.RATE48_MB_PER_SEC, name="goatianedgefleet", on_prem=True, type_=models.TypeOptionsConfigGroup.EDGE, worker_remote_access=True) + res = ccp_client.groups.create(product=models.ProductsCore.OUTPOST, id="goatIanEdgeFleet", description="Create a new Edge Fleet", estimated_ingest_rate=models.EstimatedIngestRateOptionsConfigGroup.RATE48_MB_PER_SEC, name="goatianedgefleet", on_prem=True, type_=models.TypeOptionsConfigGroup.EDGE, worker_remote_access=True) # Handle response print(res) @@ -130,7 +135,7 @@ with CriblControlPlane( ``` ### Example Usage: CreateGroupExamplesOnPremWg - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -143,7 +148,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.groups.create(product=models.ProductsCore.EDGE, id="goatOnPremIanWg", description="Worker group in customer-managed deployment", estimated_ingest_rate=models.EstimatedIngestRateOptionsConfigGroup.RATE48_MB_PER_SEC, name="goatonpremianwg", on_prem=True, type_=models.TypeOptionsConfigGroup.STREAM, worker_remote_access=True) + res = ccp_client.groups.create(product=models.ProductsCore.STREAM, id="goatOnPremIanWg", description="Worker group in customer-managed deployment", estimated_ingest_rate=models.EstimatedIngestRateOptionsConfigGroup.RATE48_MB_PER_SEC, name="goatonpremianwg", on_prem=True, type_=models.TypeOptionsConfigGroup.STREAM, worker_remote_access=True) # Handle response print(res) @@ -152,27 +157,28 @@ with CriblControlPlane( ### Parameters -| Parameter | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `product` | [models.ProductsCore](../../models/productscore.md) | :heavy_check_mark: | Name of the Cribl product to add the Worker Group, Outpost Group, or Edge Fleet to. | | -| `id` | *str* | :heavy_check_mark: | Unique identifier. | | -| `cloud` | [Optional[models.ConfigGroupCloud]](../../models/configgroupcloud.md) | :heavy_minus_sign: | N/A | | -| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Worker Group, Outpost Group, or Edge Fleet. | | -| `estimated_ingest_rate` | [Optional[models.EstimatedIngestRateOptionsConfigGroup]](../../models/estimatedingestrateoptionsconfiggroup.md) | :heavy_minus_sign: | Estimated ingest rate for a Cribl.Cloud Worker Group, in GB/sec. | 4096 | -| `inherits` | *Optional[str]* | :heavy_minus_sign: | The id of the parent Edge Fleet. If provided, this Fleet inherits configuration from the specified parent Fleet. Applies only to Edge Fleets. | | -| `is_fleet` | *Optional[bool]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

Indicates whether this is an Edge Fleet. Deprecated. Use to identify Edge Fleets. | | -| `is_search` | *Optional[bool]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

Indicates whether this is an internal Search Group. Deprecated. Use to identify Search Groups. | | -| `max_worker_age` | *Optional[str]* | :heavy_minus_sign: | Maximum duration a Worker or Node can remain disconnected before the Leader removes it. The value is a numeral with units, such as 8h, 5d, 1w. | | -| `name` | *Optional[str]* | :heavy_minus_sign: | Name of the Worker Group, Outpost Group, or Edge Fleet. | | -| `on_prem` | *Optional[bool]* | :heavy_minus_sign: | If true, the Worker Group, Outpost Group, or Edge Fleet uses customer-hosted (on-prem) workers. If false, the Worker Group, Outpost Group, or Edge Fleet is managed in Cribl.Cloud. | | -| `provisioned` | *Optional[bool]* | :heavy_minus_sign: | If true, the Cribl.Cloud Worker Group has active Workers provisioned. Applies only to Cribl.Cloud Worker Groups. | | -| `source_group_id` | *Optional[str]* | :heavy_minus_sign: | The id of an existing Worker Group, Outpost Group, or Edge Fleet to copy configuration from when creating a new Group or Fleet. | | -| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags attached to the Worker Group, Outpost Group, or Edge Fleet for categorization, filtering, and tag-based routing and policy application. Useful for organizing Groups and Fleets and enabling tag-driven workflows in Cribl. | | -| `tags` | *Optional[str]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

Legacy system-level tags associated with the Worker Group, Outpost Group, or Edge Fleet. Use streamtags instead. | | -| `type` | [Optional[models.TypeOptionsConfigGroup]](../../models/typeoptionsconfiggroup.md) | :heavy_minus_sign: | Explicit type of the Worker Group, Outpost Group, or Edge Fleet. | | -| `upgrade_version` | *Optional[str]* | :heavy_minus_sign: | Target software upgrade version. Applies only to Outpost Groups and Edge Fleets. | | -| `worker_remote_access` | *Optional[bool]* | :heavy_minus_sign: | If true, the Leader allows remote access (teleporting) into the Workers or Nodes of the Worker Group, Outpost Group, or Edge Fleet. | | -| `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 | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `product` | [models.ProductsCore](../../models/productscore.md) | :heavy_check_mark: | Name of the Cribl product to add the Worker Group, Outpost Group, or Edge Fleet to. | | +| `id` | *str* | :heavy_check_mark: | Unique identifier. | | +| `cloud` | [Optional[models.ConfigGroupCloud]](../../models/configgroupcloud.md) | :heavy_minus_sign: | N/A | | +| `collectors_ha_enabled` | *Optional[bool]* | :heavy_minus_sign: | Keeps Collector jobs running if the Leader Node fails. Applies only to Stream Worker Groups. Always true for Cribl.Cloud groups; defaults to false for on-prem groups. to Stream Worker Groups. Always true for Cribl.Cloud groups; defaults to false for on-prem groups. | | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Worker Group, Outpost Group, or Edge Fleet. | | +| `estimated_ingest_rate` | [Optional[models.EstimatedIngestRateOptionsConfigGroup]](../../models/estimatedingestrateoptionsconfiggroup.md) | :heavy_minus_sign: | Estimated ingest rate for a Cribl.Cloud Worker Group, in GB/sec. | 4096 | +| `inherits` | *Optional[str]* | :heavy_minus_sign: | The id of the parent Edge Fleet. If provided, this Fleet inherits configuration from the specified parent Fleet. Applies only to Edge Fleets. | | +| `is_fleet` | *Optional[bool]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

Indicates whether this is an Edge Fleet. Deprecated. Use to identify Edge Fleets. | | +| `is_search` | *Optional[bool]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

Indicates whether this is an internal Search Group. Deprecated. Use to identify Search Groups. | | +| `max_worker_age` | *Optional[str]* | :heavy_minus_sign: | Maximum duration a Worker or Node can remain disconnected before the Leader removes it. The value is a numeral with units, such as 8h, 5d, 1w. | | +| `name` | *Optional[str]* | :heavy_minus_sign: | Name of the Worker Group, Outpost Group, or Edge Fleet. | | +| `on_prem` | *Optional[bool]* | :heavy_minus_sign: | If true, the Worker Group, Outpost Group, or Edge Fleet uses customer-hosted (on-prem) workers. If false, the Worker Group, Outpost Group, or Edge Fleet is managed in Cribl.Cloud. | | +| `provisioned` | *Optional[bool]* | :heavy_minus_sign: | If true, the Cribl.Cloud Worker Group has active Workers provisioned. Applies only to Cribl.Cloud Worker Groups. | | +| `source_group_id` | *Optional[str]* | :heavy_minus_sign: | The id of an existing Worker Group, Outpost Group, or Edge Fleet to copy configuration from when creating a new Group or Fleet. | | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Metadata tags attached to the Worker Group, Outpost Group, or Edge Fleet for categorization, filtering, and tag-based routing and policy application. Useful for organizing Groups and Fleets and enabling tag-driven workflows in Cribl. | | +| `tags` | *Optional[str]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

Legacy system-level tags associated with the Worker Group, Outpost Group, or Edge Fleet. Use streamtags instead. | | +| `type` | [Optional[models.TypeOptionsConfigGroup]](../../models/typeoptionsconfiggroup.md) | :heavy_minus_sign: | Explicit type of the Worker Group, Outpost Group, or Edge Fleet. | | +| `upgrade_version` | *Optional[str]* | :heavy_minus_sign: | Target software upgrade version. Applies only to Outpost Groups and Edge Fleets. | | +| `worker_remote_access` | *Optional[bool]* | :heavy_minus_sign: | If true, the Leader allows remote access (teleporting) into the Workers or Nodes of the Worker Group, Outpost Group, or Edge Fleet. | | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | | ### Response @@ -182,6 +188,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -191,7 +198,7 @@ Get the specified Worker Group, Outpost Group, or Edge Fleet. ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -204,7 +211,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.groups.get(product=models.ProductsCore.EDGE, id="", fields="") + res = ccp_client.groups.get(product=models.ProductsCore.EDGE, id="") # Handle response print(res) @@ -228,6 +235,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -237,7 +245,7 @@ Update the specified Worker Group, Outpost Group, or Edge Fleet.

Provid ### Example Usage: UpdateGroupExamplesScaleCloudWorkerGroup - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -250,7 +258,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.groups.update(product=models.ProductsCore.EDGE, id_param="", id="goatCloudIanWg", cloud={ + res = ccp_client.groups.update(product=models.ProductsCore.STREAM, id_param="", id="goatCloudIanWg", cloud={ "provider": models.CloudProvider.AWS, "region": "us-west-2", }, config_version="abc1234", deploying_worker_count=0, description="Scaled Worker Group with estimated ingest rate of 4096 (48 MB/s, 21 Worker Processes) for increased capacity", estimated_ingest_rate=models.EstimatedIngestRateOptionsConfigGroup.RATE48_MB_PER_SEC, incompatible_worker_count=0, lookup_deployments=[], name="goatcloudianwg", on_prem=False, provisioned=True, type_=models.TypeOptionsConfigGroup.STREAM, worker_count=3, worker_remote_access=True) @@ -261,7 +269,7 @@ with CriblControlPlane( ``` ### Example Usage: UpdateGroupExamplesUpdateOnPremWorkerGroup - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -289,6 +297,7 @@ with CriblControlPlane( | `id_param` | *str* | :heavy_check_mark: | The id of the Worker Group, Outpost Group, or Edge Fleet to update. | | | `id` | *str* | :heavy_check_mark: | Unique identifier. | | | `cloud` | [Optional[models.ConfigGroupCloud]](../../models/configgroupcloud.md) | :heavy_minus_sign: | N/A | | +| `collectors_ha_enabled` | *Optional[bool]* | :heavy_minus_sign: | Keeps Collector jobs running if the Leader Node fails. Applies only to Stream Worker Groups. Always true for Cribl.Cloud groups; defaults to false for on-prem groups. to Stream Worker Groups. Always true for Cribl.Cloud groups; defaults to false for on-prem groups. | | | `config_version` | *Optional[str]* | :heavy_minus_sign: | Commit hash of the deployed configuration version for the Worker Group, Outpost Group, or Edge Fleet. Automatically populated and returned in responses.

**Warning**: Do not change the value of configVersion in the body of PATCH requests. The PATCH request body must include the value as it appears in the GET /products/{product}/groups/{id} response. | | | `deploying_worker_count` | *Optional[int]* | :heavy_minus_sign: | Number of Workers or Nodes that are currently deploying the latest configuration version.

**Warning**: Do not change the value of deployingWorkerCount in the body of PATCH requests. The PATCH request body must include the value as it appears in the GET /products/{product}/groups/{id} response. | | | `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Worker Group, Outpost Group, or Edge Fleet. | | @@ -319,6 +328,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -328,7 +338,7 @@ Delete the specified Worker Group, Outpost Group, or Edge Fleet. ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -364,6 +374,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -373,7 +384,7 @@ Deploy commits to the specified Worker Group, Outpost Group, or Edge Fleet. ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -386,7 +397,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.groups.deploy(product=models.ProductsCore.STREAM, id="", version="") + res = ccp_client.groups.deploy(product=models.ProductsCore.EDGE, id="", version="") # Handle response print(res) @@ -411,5 +422,6 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/health/README.md b/docs/sdks/healthsdk/README.md similarity index 100% rename from docs/sdks/health/README.md rename to docs/sdks/healthsdk/README.md diff --git a/docs/sdks/hectokens/README.md b/docs/sdks/hectokens/README.md index 0284fc471..25749dade 100644 --- a/docs/sdks/hectokens/README.md +++ b/docs/sdks/hectokens/README.md @@ -59,6 +59,27 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: HecTokenResponseExamplesSplunkHecSource + + +```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.sources.hec_tokens.create(id="", token="") + + # Handle response + print(res) + ``` ### Parameters @@ -70,7 +91,7 @@ with CriblControlPlane( | `allowed_indexes_at_token` | List[*str*] | :heavy_minus_sign: | List of index names that the HEC token is allowed to write to. | | `description` | *Optional[str]* | :heavy_minus_sign: | Brief description for the HEC token. | | `enabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the HEC token is enabled. Otherwise, false. | -| `metadata` | List[[models.EventBreakerRuleFields](../../models/eventbreakerrulefields.md)] | :heavy_minus_sign: | Array of key-value pairs to associate with the HEC token for tagging, categorization, or providing additional context. Each item in the array is an object with a name and a value. | +| `metadata` | List[[models.MetadataConfAddHecTokenRequest](../../models/metadataconfaddhectokenrequest.md)] | :heavy_minus_sign: | Array of key-value pairs to associate with the HEC token for tagging, categorization, or providing additional context. Each item in the array is an object with a name and a value. | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response @@ -81,6 +102,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -136,6 +158,27 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: HecTokenResponseExamplesSplunkHecSource + + +```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.sources.hec_tokens.update(id="", token="") + + # Handle response + print(res) + ``` ### Parameters @@ -143,11 +186,11 @@ with CriblControlPlane( | Parameter | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | The id of the Splunk HEC Source. | -| `token` | *str* | :heavy_check_mark: | The HEC token value to update. | +| `token` | *str* | :heavy_check_mark: | The HEC token value whose metadata you want to update. Must match an existing token on the Source. | | `allowed_indexes_at_token` | List[*str*] | :heavy_minus_sign: | List of index names that the HEC token is allowed to write to. | | `description` | *Optional[str]* | :heavy_minus_sign: | Brief description for the HEC token. | | `enabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the HEC token is enabled. Otherwise, false. | -| `metadata` | List[[models.EventBreakerRuleFields](../../models/eventbreakerrulefields.md)] | :heavy_minus_sign: | Array of key-value pairs to associate with the HEC token for tagging, categorization, or providing additional context. Each item in the array is an object with a name and a value. | +| `metadata` | List[[models.MetadataConfAddHecTokenRequest](../../models/metadataconfaddhectokenrequest.md)] | :heavy_minus_sign: | Array of key-value pairs to associate with the HEC token for tagging, categorization, or providing additional context. Each item in the array is an object with a name and a value. | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response @@ -158,5 +201,6 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/nodes/README.md b/docs/sdks/nodes/README.md index a4579d1cc..7c09a082d 100644 --- a/docs/sdks/nodes/README.md +++ b/docs/sdks/nodes/README.md @@ -15,7 +15,7 @@ Get a count of all Worker, Edge, or Outpost Nodes for the specified Cribl produc ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -28,7 +28,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.nodes.count(product=models.ProductsCore.EDGE, filter_exp="") + res = ccp_client.nodes.count(product=models.ProductsCore.OUTPOST, filter_exp="group==\"default\"") # Handle response print(res) @@ -37,11 +37,11 @@ with CriblControlPlane( ### Parameters -| Parameter | Type | Required | Description | -| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | -| `product` | [models.ProductsCore](../../models/productscore.md) | :heavy_check_mark: | Name of the Cribl product to get the count of Worker, Edge, or Outpost Nodes for. | -| `filter_exp` | *Optional[str]* | :heavy_minus_sign: | Filter expression to evaluate against Nodes for inclusion in the response. | -| `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 | Example | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `product` | [models.ProductsCore](../../models/productscore.md) | :heavy_check_mark: | Name of the Cribl product to get the count of Worker, Edge, or Outpost Nodes for. | | +| `filter_exp` | *Optional[str]* | :heavy_minus_sign: | Filter expression to evaluate against Nodes for inclusion in the response. | group=="default" | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | | ### Response @@ -51,6 +51,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -60,7 +61,7 @@ Get detailed metadata for Worker, Edge, or Outpost Nodes for the specified Cribl ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -73,7 +74,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.nodes.list(product=models.ProductsCore.STREAM, filter_exp="", sort_exp="", filter_="", sort="", limit=881129, offset=990978) + res = ccp_client.nodes.list(product=models.ProductsCore.STREAM, filter_exp="group==\"default\"", filter_="%7B%22field%22%3A%22group%22%2C%22op%22%3A%22is%22%2C%22value%22%3A%22default%22%7D") while res is not None: # Handle items @@ -84,16 +85,16 @@ with CriblControlPlane( ### Parameters -| Parameter | Type | Required | Description | -| -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -| `product` | [models.ProductsCore](../../models/productscore.md) | :heavy_check_mark: | Name of the Cribl product to get Worker, Edge, or Outpost Nodes for. | -| `filter_exp` | *Optional[str]* | :heavy_minus_sign: | Filter expression to evaluate against Nodes for inclusion in the response. | -| `sort_exp` | *Optional[str]* | :heavy_minus_sign: | Sorting expression to evaluate against Nodes to specify the sort order for the response. | -| `filter_` | *Optional[str]* | :heavy_minus_sign: | JSON-stringified filter object to evaluate against Nodes for inclusion in the response. | -| `sort` | *Optional[str]* | :heavy_minus_sign: | JSON-stringified sorting object to evaluate against Nodes to specify the sort order for the response. | -| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of Nodes to return in the response for this request. Use with offset to paginate the response into manageable batches. | -| `offset` | *Optional[int]* | :heavy_minus_sign: | Starting point from which to retrieve results for this request. Use with limit to paginate the response into manageable batches. | -| `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 | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | +| `product` | [models.ProductsCore](../../models/productscore.md) | :heavy_check_mark: | Name of the Cribl product to get Worker, Edge, or Outpost Nodes for. | | +| `filter_exp` | *Optional[str]* | :heavy_minus_sign: | Filter expression to evaluate against Nodes for inclusion in the response. | group=="default" | +| `sort_exp` | *Optional[str]* | :heavy_minus_sign: | Sorting expression to evaluate against Nodes to specify the sort order for the response. | | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | JSON-stringified filter object to evaluate against Nodes for inclusion in the response. | %7B%22field%22%3A%22group%22%2C%22op%22%3A%22is%22%2C%22value%22%3A%22default%22%7D | +| `sort` | *Optional[str]* | :heavy_minus_sign: | JSON-stringified sorting object to evaluate against Nodes to specify the sort order for the response. | | +| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of Nodes to return in the response for this request. Use with offset to paginate the response into manageable batches. | | +| `offset` | *Optional[int]* | :heavy_minus_sign: | Starting point from which to retrieve results for this request. Use with limit to paginate the response into manageable batches. | | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | | ### Response @@ -103,6 +104,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -148,6 +150,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -197,5 +200,6 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/packs/README.md b/docs/sdks/packs/README.md index e5dd88df0..96aad48fb 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, @@ -164,6 +164,40 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: PackInstallResponseExamplesInstalledFromURL + + +```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.install(request={ + "version": "1.0.0", + "source": "", + "tags": { + "domain": [ + "security", + "observability", + ], + "technology": [ + "aws", + "splunk", + ], + }, + }) + + # Handle response + print(res) + ``` ### Parameters @@ -181,6 +215,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -190,7 +225,7 @@ Get a list of all Packs. ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -203,28 +238,33 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.packs.list(with_="") + res = ccp_client.packs.list() - # Handle response - print(res) + while res is not None: + # Handle items + + res = res.next() ``` ### 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. | +| `offset` | *Optional[int]* | :heavy_minus_sign: | Pagination offset | +| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of items to return | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response -**[models.CountedPackInfo](../../models/countedpackinfo.md)** +**[models.GetPacksResponse](../../models/getpacksresponse.md)** ### Errors | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -234,7 +274,7 @@ Upload a Pack file. Returns the source ID needed to install the Pac ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -259,7 +299,7 @@ with CriblControlPlane( | Parameter | Type | Required | Description | | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | | `filename` | *str* | :heavy_check_mark: | Filename of the Pack file to upload. | -| `request_body` | *Union[bytes, IO[bytes], io.BufferedReader]* | :heavy_check_mark: | N/A | +| `request_body` | *Union[bytes, IO[bytes], io.IOBase]* | :heavy_check_mark: | N/A | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response @@ -270,6 +310,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -277,9 +318,30 @@ with CriblControlPlane( Get the specified Pack. -### Example Usage +### Example Usage: PackGetResponseExamplesEmptyPack - + +```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.get(id="") + + # Handle response + print(res) + +``` +### Example Usage: PackGetResponseExamplesInstalledPack + + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -301,10 +363,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 @@ -314,6 +376,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -321,7 +384,7 @@ with CriblControlPlane( 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. -### Example Usage +### Example Usage: PackUpgradeExamplesUpgradeFromURL ```python @@ -341,18 +404,39 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: PackUpgradeResponseExamplesUpgraded + + +```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.update(id="", source="") + + # Handle response + print(res) + ``` ### 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 @@ -362,6 +446,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -371,7 +456,7 @@ Uninstall the specified Pack. ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -393,10 +478,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 @@ -406,5 +491,6 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/packsdestinations/README.md b/docs/sdks/packsdestinations/README.md index 8737771a6..f75ac911d 100644 --- a/docs/sdks/packsdestinations/README.md +++ b/docs/sdks/packsdestinations/README.md @@ -14,9 +14,9 @@ Get a list of all Destinations within the specified Pack. -### Example Usage +### Example Usage: OutputResponseExamplesS3Destination - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -31,8 +31,56 @@ with CriblControlPlane( res = ccp_client.packs.destinations.list(pack="") - # Handle response - print(res) + while res is not None: + # Handle items + + res = res.next() + +``` +### Example Usage: OutputResponseExamplesSplunkHecDestination + + +```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.list(pack="") + + while res is not None: + # Handle items + + res = res.next() + +``` +### Example Usage: OutputResponseExamplesSyslogDestination + + +```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.list(pack="") + + while res is not None: + # Handle items + + res = res.next() ``` @@ -42,16 +90,19 @@ with CriblControlPlane( | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `pack` | *str* | :heavy_check_mark: | The id of the Pack. | | `type` | [Optional[models.DestinationType]](../../models/destinationtype.md) | :heavy_minus_sign: | Type of Destination to include in the results. Each request can include only one type parameter; multiple parameters per request are not supported. | +| `offset` | *Optional[int]* | :heavy_minus_sign: | Pagination offset | +| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of items to return | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response -**[models.CountedOutputResponse](../../models/countedoutputresponse.md)** +**[models.GetOutputSystemByPackResponse](../../models/getoutputsystembypackresponse.md)** ### Errors | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -85,6 +136,33 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: OutputCreateExamplesAmazonManagedPrometheus + + +```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": "amazon-managed-prometheus-output", + "type": models.CreateOutputSystemByPackTypeAmazonManagedPrometheus.AMAZON_MANAGED_PROMETHEUS, + "url": "https://aps-workspaces.us-east-1.amazonaws.com/workspaces/ws-example/api/v1/remote_write", + "aws_authentication_method": models.AuthenticationMethodOptionsAutoSecret.AUTO, + "region": "us-east-1", + }) + + # Handle response + print(res) + ``` ### Example Usage: OutputCreateExamplesAzureBlob @@ -553,6 +631,33 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: OutputCreateExamplesCustomerMetricsStorage + + +```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": "customer-metrics-storage-output", + "type": models.CreateOutputSystemByPackTypeCustomerMetricsStorage.CUSTOMER_METRICS_STORAGE, + "url": "http://localhost:8123/", + "database": "default", + "table_name": "mytable", + }) + + # Handle response + print(res) + ``` ### Example Usage: OutputCreateExamplesDatabricks @@ -705,7 +810,7 @@ with CriblControlPlane( "type": models.CreateOutputSystemByPackTypeDynatraceHTTP.DYNATRACE_HTTP, "auth_type": models.CreateOutputSystemByPackAuthenticationTypeDynatraceHTTP.TOKEN, "format_": models.CreateOutputSystemByPackFormatDynatraceHTTP.JSON_ARRAY, - "endpoint": models.CreateOutputSystemByPackEndpoint.CLOUD, + "endpoint": models.CreateOutputSystemByPackEndpointDynatraceHTTP.CLOUD, "telemetry_type": models.CreateOutputSystemByPackTelemetryType.LOGS, "token": "your-api-key", }) @@ -847,6 +952,34 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: OutputCreateExamplesGoogleBigQuery + + +```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": "google-bigquery-output", + "type": models.CreateOutputSystemByPackTypeGoogleBigquery.GOOGLE_BIGQUERY, + "project_id": "my-project", + "dataset_id": "my-dataset", + "table_id": "my-table", + "google_auth_method": models.CreateOutputSystemByPackGoogleAuthenticationMethodGoogleBigquery.AUTO, + }) + + # Handle response + print(res) + ``` ### Example Usage: OutputCreateExamplesGoogleChronicle @@ -901,6 +1034,31 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: OutputCreateExamplesGoogleCloudObservability + + +```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": "google-cloud-observability-output", + "type": models.CreateOutputSystemByPackTypeGoogleCloudObservability.GOOGLE_CLOUD_OBSERVABILITY, + "google_auth_method": models.CreateOutputSystemByPackGoogleAuthenticationMethodGoogleCloudObservability.AUTO, + }) + + # Handle response + print(res) + ``` ### Example Usage: OutputCreateExamplesGoogleCloudStorage @@ -2160,6 +2318,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 @@ -2187,6 +2372,88 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: OutputResponseExamplesS3Destination + + +```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": "", + "type": models.CreateOutputSystemByPackTypeWizHec.WIZ_HEC, + "wiz_connector_id": "", + "wiz_environment": "", + "data_center": "", + "wiz_sourcetype": "", + }) + + # Handle response + print(res) + +``` +### Example Usage: OutputResponseExamplesSplunkHecDestination + + +```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": "", + "type": models.CreateOutputSystemByPackTypeGraphite.GRAPHITE, + "protocol": models.DestinationProtocolOptions.UDP, + "host": "enchanted-repeat.net", + "port": 6959.4, + }) + + # Handle response + print(res) + +``` +### Example Usage: OutputResponseExamplesSyslogDestination + + +```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": "", + "type": models.CreateOutputSystemByPackTypeCloudflareR2.CLOUDFLARE_R2, + "bucket": "", + "stage_path": "", + "endpoint": "", + }) + + # Handle response + print(res) + ``` ### Parameters @@ -2205,6 +2472,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -2212,9 +2480,51 @@ with CriblControlPlane( Get the specified Destination within the specified Pack. -### Example Usage +### Example Usage: OutputResponseExamplesS3Destination + + +```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.get(id="", pack="") + + # Handle response + print(res) - +``` +### Example Usage: OutputResponseExamplesSplunkHecDestination + + +```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.get(id="", pack="") + + # Handle response + print(res) + +``` +### Example Usage: OutputResponseExamplesSyslogDestination + + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -2250,6 +2560,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -4410,6 +4721,84 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: OutputResponseExamplesS3Destination + + +```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={ + "type": models.OutputSqsType.SQS, + "queue_name": "", + "queue_type": models.OutputSqsQueueType.FIFO, + }) + + # Handle response + print(res) + +``` +### Example Usage: OutputResponseExamplesSplunkHecDestination + + +```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={ + "type": models.OutputHoneycombType.HONEYCOMB, + "dataset": "", + }) + + # Handle response + print(res) + +``` +### Example Usage: OutputResponseExamplesSyslogDestination + + +```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={ + "type": models.OutputNetflowType.NETFLOW, + "hosts": [ + { + "host": "skeletal-skeleton.info", + "port": 8813.34, + }, + ], + }) + + # Handle response + print(res) + ``` ### Example Usage: UpdateOutputExamplesAlphasocS3 @@ -4437,6 +4826,33 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: UpdateOutputExamplesAmazonManagedPrometheus + + +```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": "amazon-managed-prometheus-output", + "type": models.OutputAmazonManagedPrometheusType.AMAZON_MANAGED_PROMETHEUS, + "url": "https://aps-workspaces.us-east-1.amazonaws.com/workspaces/ws-example/api/v1/remote_write", + "aws_authentication_method": models.AuthenticationMethodOptionsAutoSecret.AUTO, + "region": "us-east-1", + }) + + # Handle response + print(res) + ``` ### Example Usage: UpdateOutputExamplesAzureBlob @@ -4905,6 +5321,33 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: UpdateOutputExamplesCustomerMetricsStorage + + +```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": "customer-metrics-storage-output", + "type": models.OutputCustomerMetricsStorageType.CUSTOMER_METRICS_STORAGE, + "url": "http://localhost:8123/", + "database": "default", + "table_name": "mytable", + }) + + # Handle response + print(res) + ``` ### Example Usage: UpdateOutputExamplesDatabricks @@ -5224,6 +5667,34 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: UpdateOutputExamplesGoogleBigQuery + + +```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": "google-bigquery-output", + "type": models.OutputGoogleBigqueryType.GOOGLE_BIGQUERY, + "project_id": "my-project", + "dataset_id": "my-dataset", + "table_id": "my-table", + "google_auth_method": models.OutputGoogleBigqueryGoogleAuthenticationMethod.AUTO, + }) + + # Handle response + print(res) + ``` ### Example Usage: UpdateOutputExamplesGoogleChronicle @@ -5278,6 +5749,31 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: UpdateOutputExamplesGoogleCloudObservability + + +```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": "google-cloud-observability-output", + "type": models.OutputGoogleCloudObservabilityType.GOOGLE_CLOUD_OBSERVABILITY, + "google_auth_method": models.OutputGoogleCloudObservabilityGoogleAuthenticationMethod.AUTO, + }) + + # Handle response + print(res) + ``` ### Example Usage: UpdateOutputExamplesGoogleCloudStorage @@ -6537,6 +7033,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 @@ -6583,6 +7106,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -6590,9 +7114,51 @@ with CriblControlPlane( Delete the specified Destination within the specified Pack. -### Example Usage +### Example Usage: OutputResponseExamplesS3Destination + + +```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.delete(id="", pack="") + + # Handle response + print(res) + +``` +### Example Usage: OutputResponseExamplesSplunkHecDestination + + +```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.delete(id="", pack="") + + # Handle response + print(res) + +``` +### Example Usage: OutputResponseExamplesSyslogDestination - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -6628,5 +7194,6 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/packsdestinationspq/README.md b/docs/sdks/packsdestinationspq/README.md index 49ac0c613..f4060647f 100644 --- a/docs/sdks/packsdestinationspq/README.md +++ b/docs/sdks/packsdestinationspq/README.md @@ -13,7 +13,7 @@ Clear the persistent queue (PQ) for the specified Destination within the specifi ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -49,6 +49,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -94,5 +95,6 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/packsdestinationsstatuses/README.md b/docs/sdks/packsdestinationsstatuses/README.md index f21a8a222..6ee945218 100644 --- a/docs/sdks/packsdestinationsstatuses/README.md +++ b/docs/sdks/packsdestinationsstatuses/README.md @@ -11,9 +11,9 @@ List status information and optional metrics for all configured Destinations in the Worker Group or Edge Fleet within the specified Pack. -### Example Usage +### Example Usage: OutputStatusResponseExamplesGreenDestination - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -26,7 +26,30 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.packs.destinations.statuses.list(pack="", metrics=True, type_=True) + res = ccp_client.packs.destinations.statuses.list(pack="") + + while res is not None: + # Handle items + + res = res.next() + +``` +### Example Usage: OutputStatusResponseExamplesYellowDestination + + +```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.statuses.list(pack="") while res is not None: # Handle items @@ -54,6 +77,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -61,9 +85,30 @@ with CriblControlPlane( Get the status and optional metrics for the specified Destination within the specified Pack. -### Example Usage +### Example Usage: OutputStatusResponseExamplesGreenDestination + + +```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.statuses.get(id="", pack="") + + # Handle response + print(res) + +``` +### Example Usage: OutputStatusResponseExamplesYellowDestination - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -76,7 +121,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.packs.destinations.statuses.get(id="", pack="", metrics=True, type_=False) + res = ccp_client.packs.destinations.statuses.get(id="", pack="") # Handle response print(res) @@ -101,5 +146,6 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/packshectokens/README.md b/docs/sdks/packshectokens/README.md index e95294c24..29ad97451 100644 --- a/docs/sdks/packshectokens/README.md +++ b/docs/sdks/packshectokens/README.md @@ -59,6 +59,27 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: HecTokenResponseExamplesSplunkHecSource + + +```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.sources.hec_tokens.create(id="", pack="", token="") + + # Handle response + print(res) + ``` ### Parameters @@ -71,7 +92,7 @@ with CriblControlPlane( | `allowed_indexes_at_token` | List[*str*] | :heavy_minus_sign: | List of index names that the HEC token is allowed to write to. | | `description` | *Optional[str]* | :heavy_minus_sign: | Brief description for the HEC token. | | `enabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the HEC token is enabled. Otherwise, false. | -| `metadata` | List[[models.EventBreakerRuleFields](../../models/eventbreakerrulefields.md)] | :heavy_minus_sign: | Array of key-value pairs to associate with the HEC token for tagging, categorization, or providing additional context. Each item in the array is an object with a name and a value. | +| `metadata` | List[[models.MetadataConfAddHecTokenRequest](../../models/metadataconfaddhectokenrequest.md)] | :heavy_minus_sign: | Array of key-value pairs to associate with the HEC token for tagging, categorization, or providing additional context. Each item in the array is an object with a name and a value. | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response @@ -82,6 +103,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -137,6 +159,27 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: HecTokenResponseExamplesSplunkHecSource + + +```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.sources.hec_tokens.update(id="", token="", pack="") + + # Handle response + print(res) + ``` ### Parameters @@ -144,12 +187,12 @@ with CriblControlPlane( | Parameter | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | The id of the Splunk HEC Source. | -| `token` | *str* | :heavy_check_mark: | The HEC token value to update. | +| `token` | *str* | :heavy_check_mark: | The HEC token value whose metadata you want to update. Must match an existing token on the Source. | | `pack` | *str* | :heavy_check_mark: | The id of the Pack. | | `allowed_indexes_at_token` | List[*str*] | :heavy_minus_sign: | List of index names that the HEC token is allowed to write to. | | `description` | *Optional[str]* | :heavy_minus_sign: | Brief description for the HEC token. | | `enabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the HEC token is enabled. Otherwise, false. | -| `metadata` | List[[models.EventBreakerRuleFields](../../models/eventbreakerrulefields.md)] | :heavy_minus_sign: | Array of key-value pairs to associate with the HEC token for tagging, categorization, or providing additional context. Each item in the array is an object with a name and a value. | +| `metadata` | List[[models.MetadataConfAddHecTokenRequest](../../models/metadataconfaddhectokenrequest.md)] | :heavy_minus_sign: | Array of key-value pairs to associate with the HEC token for tagging, categorization, or providing additional context. Each item in the array is an object with a name and a value. | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response @@ -160,5 +203,6 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/packspipelines/README.md b/docs/sdks/packspipelines/README.md index d7c3ed86b..233804318 100644 --- a/docs/sdks/packspipelines/README.md +++ b/docs/sdks/packspipelines/README.md @@ -14,9 +14,9 @@ Get a list of all Pipelines within the specified Pack. -### Example Usage +### Example Usage: PipelineResponseExamplesEmptyPipeline - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -31,8 +31,33 @@ with CriblControlPlane( res = ccp_client.packs.pipelines.list(pack="") - # Handle response - print(res) + while res is not None: + # Handle items + + res = res.next() + +``` +### Example Usage: PipelineResponseExamplesEvalPipeline + + +```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.pipelines.list(pack="") + + while res is not None: + # Handle items + + res = res.next() ``` @@ -41,16 +66,19 @@ with CriblControlPlane( | Parameter | Type | Required | Description | | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | | `pack` | *str* | :heavy_check_mark: | The id of the Pack. | +| `offset` | *Optional[int]* | :heavy_minus_sign: | Pagination offset | +| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of items to return | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response -**[models.CountedPipeline](../../models/countedpipeline.md)** +**[models.GetPipelinesByPackResponse](../../models/getpipelinesbypackresponse.md)** ### Errors | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -1293,24 +1321,24 @@ with CriblControlPlane( "description": "Pipeline that extracts fields from key-value pair formatted data", "streamtags": [], "functions": [ - models.PipelineFunctionSerde( - filter_="true", - id=models.PipelineFunctionSerdeID.SERDE, - conf=models.SerdeTypeKvp( - type=models.TypeOptions.KVP, - keep=[ + { + "filter_": "true", + "id": models.PipelineFunctionSerdeID.SERDE, + "conf": { + "type": models.SerdeTypeKvpType.KVP, + "src_field": "_raw", + "keep": [ "a", "b", "c", ], - remove=[ + "remove": [ "*", ], - clean_fields=False, - mode=models.SerdeTypeKvpOperationMode.EXTRACT, - src_field="_raw", - ), - ), + "clean_fields": False, + "mode": models.SerdeTypeKvpOperationMode.EXTRACT, + }, + }, ], "groups": { @@ -1883,6 +1911,78 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: PipelineResponseExamplesEmptyPipeline + + +```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.pipelines.create(pack="", id="", conf={ + "functions": [ + { + "id": models.PipelineFunctionHandlebarsID.HANDLEBARS, + "conf": { + "templates": [ + { + "id": "", + "content": "", + "type": "", + }, + ], + }, + }, + ], + }) + + # Handle response + print(res) + +``` +### Example Usage: PipelineResponseExamplesEvalPipeline + + +```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.pipelines.create(pack="", id="", conf={ + "functions": [ + { + "id": models.PipelineFunctionHandlebarsID.HANDLEBARS, + "conf": { + "templates": [ + { + "id": "", + "content": "", + "type": "", + }, + ], + }, + }, + ], + }) + + # Handle response + print(res) + ``` ### Parameters @@ -1890,8 +1990,8 @@ with CriblControlPlane( | Parameter | Type | Required | Description | | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | | `pack` | *str* | :heavy_check_mark: | The id of the Pack. | -| `id` | *str* | :heavy_check_mark: | N/A | -| `conf` | [models.ConfInput](../../models/confinput.md) | :heavy_check_mark: | N/A | +| `id` | *str* | :heavy_check_mark: | Unique identifier for the Pipeline. | +| `conf` | [models.ConfInput](../../models/confinput.md) | :heavy_check_mark: | Configuration for the Pipeline, including functions and settings. | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response @@ -1902,6 +2002,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -1909,9 +2010,30 @@ with CriblControlPlane( Get the specified Pipeline within the specified Pack. -### Example Usage +### Example Usage: PipelineResponseExamplesEmptyPipeline - + +```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.pipelines.get(id="", pack="") + + # Handle response + print(res) + +``` +### Example Usage: PipelineResponseExamplesEvalPipeline + + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -1947,12 +2069,13 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | ## update -Update the specified Pipeline within the specified Pack.

Provide a complete representation of the Pipeline that you want to update in the request body. This endpoint does not support partial updates. Cribl removes any omitted fields when updating the Pipeline.

Confirm that the configuration in your request body is correct before sending the request. If the configuration is incorrect, the updated Pipeline might not function as expected. +Update the specified Pipeline within the specified Pack.

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

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

Confirm that the configuration in your request body is correct before sending the request.

If the configuration is incorrect, the updated Pipeline might not function as expected. ### Example Usage: PipelineExamplesAggregateMetrics @@ -3189,24 +3312,24 @@ with CriblControlPlane( "description": "Pipeline that extracts fields from key-value pair formatted data", "streamtags": [], "functions": [ - models.PipelineFunctionSerde( - filter_="true", - id=models.PipelineFunctionSerdeID.SERDE, - conf=models.SerdeTypeKvp( - type=models.TypeOptions.KVP, - keep=[ + { + "filter_": "true", + "id": models.PipelineFunctionSerdeID.SERDE, + "conf": { + "type": models.SerdeTypeKvpType.KVP, + "src_field": "_raw", + "keep": [ "a", "b", "c", ], - remove=[ + "remove": [ "*", ], - clean_fields=False, - mode=models.SerdeTypeKvpOperationMode.EXTRACT, - src_field="_raw", - ), - ), + "clean_fields": False, + "mode": models.SerdeTypeKvpOperationMode.EXTRACT, + }, + }, ], "groups": { @@ -3779,6 +3902,62 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: PipelineResponseExamplesEmptyPipeline + + +```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.pipelines.update(id_param="", pack="", id="", conf={ + "functions": [ + { + "id": models.PipelineFunctionEvalID.EVAL, + "conf": {}, + }, + ], + }) + + # Handle response + print(res) + +``` +### Example Usage: PipelineResponseExamplesEvalPipeline + + +```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.pipelines.update(id_param="", pack="", id="", conf={ + "functions": [ + { + "id": models.PipelineFunctionEvalID.EVAL, + "conf": {}, + }, + ], + }) + + # Handle response + print(res) + ``` ### Example Usage: UpdatePipelineExamplesAggregateMetrics @@ -5015,24 +5194,24 @@ with CriblControlPlane( "description": "Pipeline that extracts fields from key-value pair formatted data", "streamtags": [], "functions": [ - models.PipelineFunctionSerde( - filter_="true", - id=models.PipelineFunctionSerdeID.SERDE, - conf=models.SerdeTypeKvp( - type=models.TypeOptions.KVP, - keep=[ + { + "filter_": "true", + "id": models.PipelineFunctionSerdeID.SERDE, + "conf": { + "type": models.SerdeTypeKvpType.KVP, + "src_field": "_raw", + "keep": [ "a", "b", "c", ], - remove=[ + "remove": [ "*", ], - clean_fields=False, - mode=models.SerdeTypeKvpOperationMode.EXTRACT, - src_field="_raw", - ), - ), + "clean_fields": False, + "mode": models.SerdeTypeKvpOperationMode.EXTRACT, + }, + }, ], "groups": { @@ -5613,8 +5792,8 @@ with CriblControlPlane( | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | | `id_param` | *str* | :heavy_check_mark: | The id of the Pipeline to update. | | `pack` | *str* | :heavy_check_mark: | The id of the Pack. | -| `id` | *str* | :heavy_check_mark: | N/A | -| `conf` | [models.ConfInput](../../models/confinput.md) | :heavy_check_mark: | N/A | +| `id` | *str* | :heavy_check_mark: | Unique identifier for the Pipeline. | +| `conf` | [models.ConfInput](../../models/confinput.md) | :heavy_check_mark: | Configuration for the Pipeline, including functions and settings. | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response @@ -5625,6 +5804,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -5632,9 +5812,30 @@ with CriblControlPlane( Delete the specified Pipeline within the specified Pack. -### Example Usage +### Example Usage: PipelineResponseExamplesEmptyPipeline + + +```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.pipelines.delete(id="", pack="") + + # Handle response + print(res) + +``` +### Example Usage: PipelineResponseExamplesEvalPipeline - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -5670,5 +5871,6 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/packsroutes/README.md b/docs/sdks/packsroutes/README.md index 15c6c1e70..55eb17157 100644 --- a/docs/sdks/packsroutes/README.md +++ b/docs/sdks/packsroutes/README.md @@ -6,16 +6,37 @@ * [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 Get a list of all Routes within the specified Pack. -### Example Usage +### Example Usage: RoutesResponseExamplesDefaultRoutingTable - + +```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.routes.list(pack="") + + # Handle response + print(res) + +``` +### Example Usage: RoutesResponseExamplesMultiRouteTable + + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -50,6 +71,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -57,9 +79,30 @@ with CriblControlPlane( Get the specified Routing table within the specified Pack. -### Example Usage +### Example Usage: RoutesResponseExamplesDefaultRoutingTable - + +```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.routes.get(id="", pack="") + + # Handle response + print(res) + +``` +### Example Usage: RoutesResponseExamplesMultiRouteTable + + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -95,13 +138,56 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | ## 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 + + +```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.routes.update(id_param="", pack="", id="", routes=[]) + + # Handle response + print(res) + +``` +### Example Usage: RoutesResponseExamplesMultiRouteTable + + +```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.routes.update(id_param="", pack="", id="", routes=[]) + + # Handle response + print(res) + +``` ### Example Usage: RoutesUpdateExamplesBasicRoute @@ -253,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 @@ -271,6 +357,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -407,6 +494,53 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: RoutesResponseExamplesDefaultRoutingTable + + +```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.routes.append(id="", pack="", request_body=[ + { + "name": "", + "pipeline": "", + }, + ]) + + # Handle response + print(res) + +``` +### Example Usage: RoutesResponseExamplesMultiRouteTable + + +```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.routes.append(id="", pack="", request_body=[]) + + # Handle response + print(res) + ``` ### Parameters @@ -426,5 +560,6 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/packssamples/README.md b/docs/sdks/packssamples/README.md index bd6b29a42..d8189e506 100644 --- a/docs/sdks/packssamples/README.md +++ b/docs/sdks/packssamples/README.md @@ -13,7 +13,7 @@ Get sample event data for the specified Destination to validate the configuratio ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -49,6 +49,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -114,6 +115,66 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: OutputTestResponseExamplesFailedTest + + +```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.samples.create(id="", pack="", events=[ + { + "key": "", + "key1": "", + "key2": "", + }, + { + + }, + ]) + + # Handle response + print(res) + +``` +### Example Usage: OutputTestResponseExamplesSuccessfulTest + + +```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.samples.create(id="", pack="", events=[ + { + "key": "", + "key1": "", + "key2": "", + }, + { + + }, + ]) + + # Handle response + print(res) + ``` ### Parameters @@ -133,5 +194,6 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/packssources/README.md b/docs/sdks/packssources/README.md index 4ee776842..406aefadc 100644 --- a/docs/sdks/packssources/README.md +++ b/docs/sdks/packssources/README.md @@ -14,9 +14,9 @@ Get a list of all Sources within the specified Pack. -### Example Usage +### Example Usage: InputResponseExamplesHttpSource - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -31,8 +31,56 @@ with CriblControlPlane( res = ccp_client.packs.sources.list(pack="") - # Handle response - print(res) + while res is not None: + # Handle items + + res = res.next() + +``` +### Example Usage: InputResponseExamplesSplunkHecSource + + +```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.sources.list(pack="") + + while res is not None: + # Handle items + + res = res.next() + +``` +### Example Usage: InputResponseExamplesSyslogSource + + +```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.sources.list(pack="") + + while res is not None: + # Handle items + + res = res.next() ``` @@ -42,16 +90,19 @@ with CriblControlPlane( | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | | `pack` | *str* | :heavy_check_mark: | The id of the Pack. | | `type` | List[*str*] | :heavy_minus_sign: | Type of Source to include in the results. Each request can include only one type parameter; multiple parameters per request are not supported. | +| `offset` | *Optional[int]* | :heavy_minus_sign: | Pagination offset | +| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of items to return | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response -**[models.CountedInputResponse](../../models/countedinputresponse.md)** +**[models.GetInputSystemByPackResponse](../../models/getinputsystembypackresponse.md)** ### Errors | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -82,15 +133,15 @@ with CriblControlPlane( "text_secret": "anthropic-api-key-secret", "content_config": [ { - "content_type": "activities", + "content_type": models.CreateInputSystemByPackEndpointName.ACTIVITIES, "content_description": "Compliance Activities", "enabled": True, "state_tracking": True, "state_update_expression": "__timestampExtracted !== false && {latestTime: (state.latestTime || 0) > _time ? state.latestTime : _time}", "state_merge_expression": "prevState.latestTime > newState.latestTime ? prevState : newState", - "cron_schedule": "*/5 * * * *", "earliest": "-7d@d", "latest": "now", + "cron_schedule": "*/5 * * * *", "job_timeout": "300", }, ], @@ -550,19 +601,19 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.packs.sources.create(pack="", request_body=models.CreateInputSystemByPackInputEventhubAmqp( - id="eventhub-amqp-source", - type=models.CreateInputSystemByPackTypeEventhubAmqp.EVENTHUB_AMQP, - send_to_routes=True, - pq_enabled=False, - event_hub_name="my-event-hub", - consumer_group="$Default", - checkpointing=models.CreateInputSystemByPackCheckpointing( - blob_store=models.CreateInputSystemByPackAzureBlobStorage( - container_name="my-container", - ), - ), - )) + res = ccp_client.packs.sources.create(pack="", request_body={ + "id": "eventhub-amqp-source", + "type": models.CreateInputSystemByPackTypeEventhubAmqp.EVENTHUB_AMQP, + "send_to_routes": True, + "pq_enabled": False, + "event_hub_name": "my-event-hub", + "consumer_group": "$Default", + "checkpointing": { + "blob_store": { + "container_name": "my-container", + }, + }, + }) # Handle response print(res) @@ -1692,6 +1743,35 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: InputCreateExamplesSysdigHec + + +```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.sources.create(pack="", request_body={ + "id": "sysdig-hec-source", + "type": models.CreateInputSystemByPackTypeSysdigHec.SYSDIG_HEC, + "send_to_routes": True, + "pq_enabled": False, + "host": "0.0.0.0", + "port": 8088, + "hec_api": "/services/collector", + }) + + # Handle response + print(res) + ``` ### Example Usage: InputCreateExamplesSyslog @@ -1828,6 +1908,35 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: InputCreateExamplesUpwindHec + + +```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.sources.create(pack="", request_body={ + "id": "upwind-hec-source", + "type": models.CreateInputSystemByPackTypeUpwindHec.UPWIND_HEC, + "send_to_routes": True, + "pq_enabled": False, + "host": "0.0.0.0", + "port": 8088, + "hec_api": "/services/collector", + }) + + # Handle response + print(res) + ``` ### Example Usage: InputCreateExamplesWef @@ -2008,6 +2117,83 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: InputResponseExamplesHttpSource + + +```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.sources.create(pack="", request_body={ + "id": "", + "type": models.CreateInputSystemByPackTypeCribl.CRIBL, + }) + + # Handle response + print(res) + +``` +### Example Usage: InputResponseExamplesSplunkHecSource + + +```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.sources.create(pack="", request_body={ + "id": "", + "type": models.CreateInputSystemByPackTypeWizWebhook.WIZ_WEBHOOK, + "host": "improbable-championship.name", + "port": 7426.73, + }) + + # Handle response + print(res) + +``` +### Example Usage: InputResponseExamplesSyslogSource + + +```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.sources.create(pack="", request_body={ + "id": "", + "type": models.CreateInputSystemByPackTypeWef.WEF, + "host": "tender-vanadyl.name", + "port": 8788.99, + "subscriptions": [], + }) + + # Handle response + print(res) + ``` ### Parameters @@ -2026,6 +2212,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -2033,9 +2220,51 @@ with CriblControlPlane( Get the specified Source within the specified Pack. -### Example Usage +### Example Usage: InputResponseExamplesHttpSource + + +```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.sources.get(id="", pack="") + + # Handle response + print(res) + +``` +### Example Usage: InputResponseExamplesSplunkHecSource + + +```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.sources.get(id="", pack="") + + # Handle response + print(res) + +``` +### Example Usage: InputResponseExamplesSyslogSource + + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -2071,6 +2300,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -2101,15 +2331,15 @@ with CriblControlPlane( "text_secret": "anthropic-api-key-secret", "content_config": [ { - "content_type": "activities", + "content_type": models.InputAnthropicComplianceEndpointName.ACTIVITIES, "content_description": "Compliance Activities", "enabled": True, "state_tracking": True, "state_update_expression": "__timestampExtracted !== false && {latestTime: (state.latestTime || 0) > _time ? state.latestTime : _time}", "state_merge_expression": "prevState.latestTime > newState.latestTime ? prevState : newState", - "cron_schedule": "*/5 * * * *", "earliest": "-7d@d", "latest": "now", + "cron_schedule": "*/5 * * * *", "job_timeout": "300", }, ], @@ -2569,19 +2799,19 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.packs.sources.update(id="", pack="", input_=models.InputEventhubAmqpInput( - id="eventhub-amqp-source", - type=models.InputEventhubAmqpType.EVENTHUB_AMQP, - send_to_routes=True, - pq_enabled=False, - event_hub_name="my-event-hub", - consumer_group="$Default", - checkpointing=models.InputEventhubAmqpCheckpointing( - blob_store=models.InputEventhubAmqpAzureBlobStorage( - container_name="my-container", - ), - ), - )) + res = ccp_client.packs.sources.update(id="", pack="", input_={ + "id": "eventhub-amqp-source", + "type": models.InputEventhubAmqpType.EVENTHUB_AMQP, + "send_to_routes": True, + "pq_enabled": False, + "event_hub_name": "my-event-hub", + "consumer_group": "$Default", + "checkpointing": { + "blob_store": { + "container_name": "my-container", + }, + }, + }) # Handle response print(res) @@ -4079,6 +4309,81 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: InputResponseExamplesHttpSource + + +```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.sources.update(id="", pack="", input_={ + "type": models.InputAzureBlobType.AZURE_BLOB, + "queue_name": "", + }) + + # Handle response + print(res) + +``` +### Example Usage: InputResponseExamplesSplunkHecSource + + +```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.sources.update(id="", pack="", input_={ + "type": models.InputMicrosoftGraphType.MICROSOFT_GRAPH, + "url": "https://huge-hovel.net", + "interval": 217787, + }) + + # Handle response + print(res) + +``` +### Example Usage: InputResponseExamplesSyslogSource + + +```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.sources.update(id="", pack="", input_={ + "type": models.InputOffice365MgmtType.OFFICE365_MGMT, + "plan_type": models.SubscriptionPlanOptions.DOD, + "tenant_id": "", + "app_id": "", + }) + + # Handle response + print(res) + ``` ### Example Usage: UpdateInputExamplesAnthropicCompliance @@ -4103,15 +4408,15 @@ with CriblControlPlane( "text_secret": "anthropic-api-key-secret", "content_config": [ { - "content_type": "activities", + "content_type": models.InputAnthropicComplianceEndpointName.ACTIVITIES, "content_description": "Compliance Activities", "enabled": True, "state_tracking": True, "state_update_expression": "__timestampExtracted !== false && {latestTime: (state.latestTime || 0) > _time ? state.latestTime : _time}", "state_merge_expression": "prevState.latestTime > newState.latestTime ? prevState : newState", - "cron_schedule": "*/5 * * * *", "earliest": "-7d@d", "latest": "now", + "cron_schedule": "*/5 * * * *", "job_timeout": "300", }, ], @@ -4623,19 +4928,19 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.packs.sources.update(id="", pack="", input_=models.InputEventhubAmqpInput( - id="eventhub-amqp-source", - type=models.InputEventhubAmqpType.EVENTHUB_AMQP, - send_to_routes=True, - pq_enabled=False, - event_hub_name="my-event-hub", - consumer_group="$Default", - checkpointing=models.InputEventhubAmqpCheckpointing( - blob_store=models.InputEventhubAmqpAzureBlobStorage( - container_name="my-container", - ), - ), - )) + res = ccp_client.packs.sources.update(id="", pack="", input_={ + "id": "eventhub-amqp-source", + "type": models.InputEventhubAmqpType.EVENTHUB_AMQP, + "send_to_routes": True, + "pq_enabled": False, + "event_hub_name": "my-event-hub", + "consumer_group": "$Default", + "checkpointing": { + "blob_store": { + "container_name": "my-container", + }, + }, + }) # Handle response print(res) @@ -5765,6 +6070,35 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: UpdateInputExamplesSysdigHec + + +```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.sources.update(id="", pack="", input_={ + "id": "sysdig-hec-source", + "type": models.InputSysdigHecType.SYSDIG_HEC, + "send_to_routes": True, + "pq_enabled": False, + "host": "0.0.0.0", + "port": 8088, + "hec_api": "/services/collector", + }) + + # Handle response + print(res) + ``` ### Example Usage: UpdateInputExamplesSyslog @@ -5901,6 +6235,35 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: UpdateInputExamplesUpwindHec + + +```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.sources.update(id="", pack="", input_={ + "id": "upwind-hec-source", + "type": models.InputUpwindHecType.UPWIND_HEC, + "send_to_routes": True, + "pq_enabled": False, + "host": "0.0.0.0", + "port": 8088, + "hec_api": "/services/collector", + }) + + # Handle response + print(res) + ``` ### Example Usage: UpdateInputExamplesWef @@ -6100,6 +6463,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -6107,9 +6471,51 @@ with CriblControlPlane( Delete the specified Source within the specified Pack. -### Example Usage +### Example Usage: InputResponseExamplesHttpSource + + +```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.sources.delete(id="", pack="") + + # Handle response + print(res) + +``` +### Example Usage: InputResponseExamplesSplunkHecSource + + +```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.sources.delete(id="", pack="") + + # Handle response + print(res) + +``` +### Example Usage: InputResponseExamplesSyslogSource - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -6145,5 +6551,6 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/packssourcespq/README.md b/docs/sdks/packssourcespq/README.md index c77d3279d..a768f19d3 100644 --- a/docs/sdks/packssourcespq/README.md +++ b/docs/sdks/packssourcespq/README.md @@ -13,7 +13,7 @@ Clear the persistent queue (PQ) for the specified Source within the specified Pa ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -49,6 +49,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -58,7 +59,7 @@ Get information about the latest job to clear the persistent queue (PQ) for the ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -94,5 +95,6 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/packssourcesstatuses/README.md b/docs/sdks/packssourcesstatuses/README.md index 94ed120c5..1a1ea9e86 100644 --- a/docs/sdks/packssourcesstatuses/README.md +++ b/docs/sdks/packssourcesstatuses/README.md @@ -11,9 +11,9 @@ List status information and optional metrics for all configured Sources in the Worker Group or Edge Fleet within the specified Pack. -### Example Usage +### Example Usage: InputStatusResponseExamplesGreenSource - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -26,7 +26,30 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.packs.sources.statuses.list(pack="", metrics=True, type_=False) + res = ccp_client.packs.sources.statuses.list(pack="") + + while res is not None: + # Handle items + + res = res.next() + +``` +### Example Usage: InputStatusResponseExamplesYellowSource + + +```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.sources.statuses.list(pack="") while res is not None: # Handle items @@ -54,6 +77,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -61,9 +85,30 @@ with CriblControlPlane( Get the status and optional metrics for the specified Source within the specified Pack. -### Example Usage +### Example Usage: InputStatusResponseExamplesGreenSource + + +```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.sources.statuses.get(id="", pack="") + + # Handle response + print(res) + +``` +### Example Usage: InputStatusResponseExamplesYellowSource - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -76,7 +121,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.packs.sources.statuses.get(id="", pack="", metrics=True, type_=True) + res = ccp_client.packs.sources.statuses.get(id="", pack="") # Handle response print(res) @@ -101,5 +146,6 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/pipelines/README.md b/docs/sdks/pipelines/README.md index ada74d7b5..ed4e500e8 100644 --- a/docs/sdks/pipelines/README.md +++ b/docs/sdks/pipelines/README.md @@ -16,9 +16,9 @@ Actions related to Pipelines Get a list of all Pipelines. -### Example Usage +### Example Usage: PipelineResponseExamplesEmptyPipeline - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -33,8 +33,33 @@ with CriblControlPlane( res = ccp_client.pipelines.list() - # Handle response - print(res) + while res is not None: + # Handle items + + res = res.next() + +``` +### Example Usage: PipelineResponseExamplesEvalPipeline + + +```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.pipelines.list() + + while res is not None: + # Handle items + + res = res.next() ``` @@ -42,16 +67,19 @@ with CriblControlPlane( | Parameter | Type | Required | Description | | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | +| `offset` | *Optional[int]* | :heavy_minus_sign: | Pagination offset | +| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of items to return | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response -**[models.CountedPipeline](../../models/countedpipeline.md)** +**[models.GetPipelinesResponse](../../models/getpipelinesresponse.md)** ### Errors | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -1294,24 +1322,24 @@ with CriblControlPlane( "description": "Pipeline that extracts fields from key-value pair formatted data", "streamtags": [], "functions": [ - models.PipelineFunctionSerde( - filter_="true", - id=models.PipelineFunctionSerdeID.SERDE, - conf=models.SerdeTypeKvp( - type=models.TypeOptions.KVP, - keep=[ + { + "filter_": "true", + "id": models.PipelineFunctionSerdeID.SERDE, + "conf": { + "type": models.SerdeTypeKvpType.KVP, + "src_field": "_raw", + "keep": [ "a", "b", "c", ], - remove=[ + "remove": [ "*", ], - clean_fields=False, - mode=models.SerdeTypeKvpOperationMode.EXTRACT, - src_field="_raw", - ), - ), + "clean_fields": False, + "mode": models.SerdeTypeKvpOperationMode.EXTRACT, + }, + }, ], "groups": { @@ -1884,14 +1912,70 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: PipelineResponseExamplesEmptyPipeline + + +```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.pipelines.create(id="", conf={ + "functions": [ + { + "id": models.PipelineFunctionLimitID.LIMIT, + "conf": {}, + }, + ], + }) + + # Handle response + print(res) + +``` +### Example Usage: PipelineResponseExamplesEvalPipeline + + +```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.pipelines.create(id="", conf={ + "functions": [ + { + "id": models.PipelineFunctionLimitID.LIMIT, + "conf": {}, + }, + ], + }) + + # Handle response + print(res) + ``` ### Parameters | Parameter | Type | Required | Description | | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | -| `id` | *str* | :heavy_check_mark: | N/A | -| `conf` | [models.ConfInput](../../models/confinput.md) | :heavy_check_mark: | N/A | +| `id` | *str* | :heavy_check_mark: | Unique identifier for the Pipeline. | +| `conf` | [models.ConfInput](../../models/confinput.md) | :heavy_check_mark: | Configuration for the Pipeline, including functions and settings. | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response @@ -1902,6 +1986,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -1909,9 +1994,30 @@ with CriblControlPlane( Delete the specified Pipeline. -### Example Usage +### Example Usage: PipelineResponseExamplesEmptyPipeline - + +```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.pipelines.delete(id="") + + # Handle response + print(res) + +``` +### Example Usage: PipelineResponseExamplesEvalPipeline + + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -1946,6 +2052,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -1953,9 +2060,30 @@ with CriblControlPlane( Get the specified Pipeline. -### Example Usage +### Example Usage: PipelineResponseExamplesEmptyPipeline - + +```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.pipelines.get(id="") + + # Handle response + print(res) + +``` +### Example Usage: PipelineResponseExamplesEvalPipeline + + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -1990,12 +2118,13 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | ## update -Update the specified Pipeline.

Provide a complete representation of the Pipeline that you want to update in the request body. This endpoint does not support partial updates. Cribl removes any omitted fields when updating the Pipeline.

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

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

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

Confirm that the configuration in your request body is correct before sending the request.

If the configuration is incorrect, the updated Pipeline might not function as expected. ### Example Usage: PipelineExamplesAggregateMetrics @@ -3232,24 +3361,24 @@ with CriblControlPlane( "description": "Pipeline that extracts fields from key-value pair formatted data", "streamtags": [], "functions": [ - models.PipelineFunctionSerde( - filter_="true", - id=models.PipelineFunctionSerdeID.SERDE, - conf=models.SerdeTypeKvp( - type=models.TypeOptions.KVP, - keep=[ + { + "filter_": "true", + "id": models.PipelineFunctionSerdeID.SERDE, + "conf": { + "type": models.SerdeTypeKvpType.KVP, + "src_field": "_raw", + "keep": [ "a", "b", "c", ], - remove=[ + "remove": [ "*", ], - clean_fields=False, - mode=models.SerdeTypeKvpOperationMode.EXTRACT, - src_field="_raw", - ), - ), + "clean_fields": False, + "mode": models.SerdeTypeKvpOperationMode.EXTRACT, + }, + }, ], "groups": { @@ -3822,6 +3951,76 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: PipelineResponseExamplesEmptyPipeline + + +```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.pipelines.update(id_param="", id="", conf={ + "functions": [ + { + "id": models.PipelineFunctionMaskID.MASK, + "conf": { + "rules": [ + { + "match_regex": "", + "replace_expr": "", + }, + ], + }, + }, + ], + }) + + # Handle response + print(res) + +``` +### Example Usage: PipelineResponseExamplesEvalPipeline + + +```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.pipelines.update(id_param="", id="", conf={ + "functions": [ + { + "id": models.PipelineFunctionMaskID.MASK, + "conf": { + "rules": [ + { + "match_regex": "", + "replace_expr": "", + }, + ], + }, + }, + ], + }) + + # Handle response + print(res) + ``` ### Example Usage: UpdatePipelineExamplesAggregateMetrics @@ -5058,24 +5257,24 @@ with CriblControlPlane( "description": "Pipeline that extracts fields from key-value pair formatted data", "streamtags": [], "functions": [ - models.PipelineFunctionSerde( - filter_="true", - id=models.PipelineFunctionSerdeID.SERDE, - conf=models.SerdeTypeKvp( - type=models.TypeOptions.KVP, - keep=[ + { + "filter_": "true", + "id": models.PipelineFunctionSerdeID.SERDE, + "conf": { + "type": models.SerdeTypeKvpType.KVP, + "src_field": "_raw", + "keep": [ "a", "b", "c", ], - remove=[ + "remove": [ "*", ], - clean_fields=False, - mode=models.SerdeTypeKvpOperationMode.EXTRACT, - src_field="_raw", - ), - ), + "clean_fields": False, + "mode": models.SerdeTypeKvpOperationMode.EXTRACT, + }, + }, ], "groups": { @@ -5655,8 +5854,8 @@ with CriblControlPlane( | Parameter | Type | Required | Description | | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | | `id_param` | *str* | :heavy_check_mark: | The id of the Pipeline to update. | -| `id` | *str* | :heavy_check_mark: | N/A | -| `conf` | [models.ConfInput](../../models/confinput.md) | :heavy_check_mark: | N/A | +| `id` | *str* | :heavy_check_mark: | Unique identifier for the Pipeline. | +| `conf` | [models.ConfInput](../../models/confinput.md) | :heavy_check_mark: | Configuration for the Pipeline, including functions and settings. | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response @@ -5667,5 +5866,6 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/routessdk/README.md b/docs/sdks/routessdk/README.md index 05bf85eb6..f40958c23 100644 --- a/docs/sdks/routessdk/README.md +++ b/docs/sdks/routessdk/README.md @@ -8,16 +8,37 @@ 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 Get a list of all Routes. -### Example Usage +### Example Usage: RoutesResponseExamplesDefaultRoutingTable - + +```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.routes.list() + + # Handle response + print(res) + +``` +### Example Usage: RoutesResponseExamplesMultiRouteTable + + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -51,6 +72,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -58,9 +80,30 @@ with CriblControlPlane( Get the specified Routing table. -### Example Usage +### Example Usage: RoutesResponseExamplesDefaultRoutingTable - + +```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.routes.get(id="") + + # Handle response + print(res) + +``` +### Example Usage: RoutesResponseExamplesMultiRouteTable + + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -95,13 +138,56 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | ## 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 + + +```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.routes.update(id_param="", id="", routes=[]) + + # Handle response + print(res) + +``` +### Example Usage: RoutesResponseExamplesMultiRouteTable + + +```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.routes.update(id_param="", id="", routes=[]) + + # Handle response + print(res) +``` ### Example Usage: RoutesUpdateExamplesBasicRoute @@ -253,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 @@ -270,6 +356,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -406,6 +493,48 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: RoutesResponseExamplesDefaultRoutingTable + + +```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.routes.append(id="", request_body=[]) + + # Handle response + print(res) + +``` +### Example Usage: RoutesResponseExamplesMultiRouteTable + + +```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.routes.append(id="", request_body=[]) + + # Handle response + print(res) + ``` ### Parameters @@ -424,5 +553,6 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/samples/README.md b/docs/sdks/samples/README.md index d38eef351..ed35d9780 100644 --- a/docs/sdks/samples/README.md +++ b/docs/sdks/samples/README.md @@ -13,7 +13,7 @@ Get sample event data for the specified Destination to validate the configuratio ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -48,6 +48,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -113,6 +114,62 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: OutputTestResponseExamplesFailedTest + + +```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.samples.create(id="", events=[ + { + + }, + { + + }, + ]) + + # Handle response + print(res) + +``` +### Example Usage: OutputTestResponseExamplesSuccessfulTest + + +```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.samples.create(id="", events=[ + { + + }, + { + + }, + ]) + + # Handle response + print(res) + ``` ### Parameters @@ -131,5 +188,6 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/settings/README.md b/docs/sdks/settings/README.md index e1c4fdb92..9789d0b84 100644 --- a/docs/sdks/settings/README.md +++ b/docs/sdks/settings/README.md @@ -8,11 +8,11 @@ ## restart -Restart the Cribl server. Useful for applying configuration changes that require a full process restart, such as changes to system-level settings that cannot be applied by reloading. +Restart the Cribl server.

This operation requires system.restart to be set to api in cribl.yml. If this setting is not configured, the request returns a 403 error.

Restarting the server causes a brief period of downtime while the process stops and restarts. All in-flight events are drained before the process exits. Use POST /system/settings/reload to apply configuration changes without a full restart. ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -46,5 +46,6 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/sources/README.md b/docs/sdks/sources/README.md index 69c9497bd..3052b4c8f 100644 --- a/docs/sdks/sources/README.md +++ b/docs/sdks/sources/README.md @@ -16,9 +16,9 @@ Actions related to Sources Get a list of all Sources. -### Example Usage +### Example Usage: InputResponseExamplesHttpSource - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -33,8 +33,56 @@ with CriblControlPlane( res = ccp_client.sources.list() - # Handle response - print(res) + while res is not None: + # Handle items + + res = res.next() + +``` +### Example Usage: InputResponseExamplesSplunkHecSource + + +```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.sources.list() + + while res is not None: + # Handle items + + res = res.next() + +``` +### Example Usage: InputResponseExamplesSyslogSource + + +```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.sources.list() + + while res is not None: + # Handle items + + res = res.next() ``` @@ -43,16 +91,19 @@ with CriblControlPlane( | Parameter | Type | Required | Description | | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | | `type` | List[*str*] | :heavy_minus_sign: | Type of Source to include in the results. Each request can include only one type parameter; multiple parameters per request are not supported. | +| `offset` | *Optional[int]* | :heavy_minus_sign: | Pagination offset | +| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of items to return | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response -**[models.CountedInputResponse](../../models/countedinputresponse.md)** +**[models.ListInputResponse](../../models/listinputresponse.md)** ### Errors | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -83,15 +134,15 @@ with CriblControlPlane( "text_secret": "anthropic-api-key-secret", "content_config": [ { - "content_type": "activities", + "content_type": models.CreateInputEndpointName.ACTIVITIES, "content_description": "Compliance Activities", "enabled": True, "state_tracking": True, "state_update_expression": "__timestampExtracted !== false && {latestTime: (state.latestTime || 0) > _time ? state.latestTime : _time}", "state_merge_expression": "prevState.latestTime > newState.latestTime ? prevState : newState", - "cron_schedule": "*/5 * * * *", "earliest": "-7d@d", "latest": "now", + "cron_schedule": "*/5 * * * *", "job_timeout": "300", }, ], @@ -551,19 +602,19 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.sources.create(request=models.CreateInputInputEventhubAmqp( - id="eventhub-amqp-source", - type=models.CreateInputTypeEventhubAmqp.EVENTHUB_AMQP, - send_to_routes=True, - pq_enabled=False, - event_hub_name="my-event-hub", - consumer_group="$Default", - checkpointing=models.CreateInputCheckpointing( - blob_store=models.CreateInputAzureBlobStorage( - container_name="my-container", - ), - ), - )) + res = ccp_client.sources.create(request={ + "id": "eventhub-amqp-source", + "type": models.CreateInputTypeEventhubAmqp.EVENTHUB_AMQP, + "send_to_routes": True, + "pq_enabled": False, + "event_hub_name": "my-event-hub", + "consumer_group": "$Default", + "checkpointing": { + "blob_store": { + "container_name": "my-container", + }, + }, + }) # Handle response print(res) @@ -1693,6 +1744,35 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: InputCreateExamplesSysdigHec + + +```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.sources.create(request={ + "id": "sysdig-hec-source", + "type": models.CreateInputTypeSysdigHec.SYSDIG_HEC, + "send_to_routes": True, + "pq_enabled": False, + "host": "0.0.0.0", + "port": 8088, + "hec_api": "/services/collector", + }) + + # Handle response + print(res) + ``` ### Example Usage: InputCreateExamplesSyslog @@ -1829,6 +1909,35 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: InputCreateExamplesUpwindHec + + +```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.sources.create(request={ + "id": "upwind-hec-source", + "type": models.CreateInputTypeUpwindHec.UPWIND_HEC, + "send_to_routes": True, + "pq_enabled": False, + "host": "0.0.0.0", + "port": 8088, + "hec_api": "/services/collector", + }) + + # Handle response + print(res) + ``` ### Example Usage: InputCreateExamplesWef @@ -2009,6 +2118,82 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: InputResponseExamplesHttpSource + + +```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.sources.create(request={ + "id": "", + "type": models.CreateInputTypeWindowsMetrics.WINDOWS_METRICS, + }) + + # Handle response + print(res) + +``` +### Example Usage: InputResponseExamplesSplunkHecSource + + +```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.sources.create(request={ + "id": "", + "type": models.CreateInputTypeCriblHTTP.CRIBL_HTTP, + "host": "drab-scrap.info", + "port": 7995.63, + }) + + # Handle response + print(res) + +``` +### Example Usage: InputResponseExamplesSyslogSource + + +```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.sources.create(request={ + "id": "", + "type": models.CreateInputTypeOpenai.OPENAI, + "content_config": [], + "text_secret": "", + }) + + # Handle response + print(res) + ``` ### Parameters @@ -2026,6 +2211,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -2033,9 +2219,51 @@ with CriblControlPlane( Get the specified Source. -### Example Usage +### Example Usage: InputResponseExamplesHttpSource - + +```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.sources.get(id="") + + # Handle response + print(res) + +``` +### Example Usage: InputResponseExamplesSplunkHecSource + + +```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.sources.get(id="") + + # Handle response + print(res) + +``` +### Example Usage: InputResponseExamplesSyslogSource + + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -2070,6 +2298,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -2100,15 +2329,15 @@ with CriblControlPlane( "text_secret": "anthropic-api-key-secret", "content_config": [ { - "content_type": "activities", + "content_type": models.InputAnthropicComplianceEndpointName.ACTIVITIES, "content_description": "Compliance Activities", "enabled": True, "state_tracking": True, "state_update_expression": "__timestampExtracted !== false && {latestTime: (state.latestTime || 0) > _time ? state.latestTime : _time}", "state_merge_expression": "prevState.latestTime > newState.latestTime ? prevState : newState", - "cron_schedule": "*/5 * * * *", "earliest": "-7d@d", "latest": "now", + "cron_schedule": "*/5 * * * *", "job_timeout": "300", }, ], @@ -2568,19 +2797,19 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.sources.update(id="", input_=models.InputEventhubAmqpInput( - id="eventhub-amqp-source", - type=models.InputEventhubAmqpType.EVENTHUB_AMQP, - send_to_routes=True, - pq_enabled=False, - event_hub_name="my-event-hub", - consumer_group="$Default", - checkpointing=models.InputEventhubAmqpCheckpointing( - blob_store=models.InputEventhubAmqpAzureBlobStorage( - container_name="my-container", - ), - ), - )) + res = ccp_client.sources.update(id="", input_={ + "id": "eventhub-amqp-source", + "type": models.InputEventhubAmqpType.EVENTHUB_AMQP, + "send_to_routes": True, + "pq_enabled": False, + "event_hub_name": "my-event-hub", + "consumer_group": "$Default", + "checkpointing": { + "blob_store": { + "container_name": "my-container", + }, + }, + }) # Handle response print(res) @@ -4078,6 +4307,78 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: InputResponseExamplesHttpSource + + +```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.sources.update(id="", input_={ + "type": models.InputOktaType.OKTA, + "okta_domain": "", + "text_secret": "", + }) + + # Handle response + print(res) + +``` +### Example Usage: InputResponseExamplesSplunkHecSource + + +```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.sources.update(id="", input_={ + "type": models.InputKubeEventsType.KUBE_EVENTS, + }) + + # Handle response + print(res) + +``` +### Example Usage: InputResponseExamplesSyslogSource + + +```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.sources.update(id="", input_={ + "type": models.InputDatagenType.DATAGEN, + "samples": [], + }) + + # Handle response + print(res) + ``` ### Example Usage: UpdateInputExamplesAnthropicCompliance @@ -4102,15 +4403,15 @@ with CriblControlPlane( "text_secret": "anthropic-api-key-secret", "content_config": [ { - "content_type": "activities", + "content_type": models.InputAnthropicComplianceEndpointName.ACTIVITIES, "content_description": "Compliance Activities", "enabled": True, "state_tracking": True, "state_update_expression": "__timestampExtracted !== false && {latestTime: (state.latestTime || 0) > _time ? state.latestTime : _time}", "state_merge_expression": "prevState.latestTime > newState.latestTime ? prevState : newState", - "cron_schedule": "*/5 * * * *", "earliest": "-7d@d", "latest": "now", + "cron_schedule": "*/5 * * * *", "job_timeout": "300", }, ], @@ -4622,19 +4923,19 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.sources.update(id="", input_=models.InputEventhubAmqpInput( - id="eventhub-amqp-source", - type=models.InputEventhubAmqpType.EVENTHUB_AMQP, - send_to_routes=True, - pq_enabled=False, - event_hub_name="my-event-hub", - consumer_group="$Default", - checkpointing=models.InputEventhubAmqpCheckpointing( - blob_store=models.InputEventhubAmqpAzureBlobStorage( - container_name="my-container", - ), - ), - )) + res = ccp_client.sources.update(id="", input_={ + "id": "eventhub-amqp-source", + "type": models.InputEventhubAmqpType.EVENTHUB_AMQP, + "send_to_routes": True, + "pq_enabled": False, + "event_hub_name": "my-event-hub", + "consumer_group": "$Default", + "checkpointing": { + "blob_store": { + "container_name": "my-container", + }, + }, + }) # Handle response print(res) @@ -5764,6 +6065,35 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: UpdateInputExamplesSysdigHec + + +```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.sources.update(id="", input_={ + "id": "sysdig-hec-source", + "type": models.InputSysdigHecType.SYSDIG_HEC, + "send_to_routes": True, + "pq_enabled": False, + "host": "0.0.0.0", + "port": 8088, + "hec_api": "/services/collector", + }) + + # Handle response + print(res) + ``` ### Example Usage: UpdateInputExamplesSyslog @@ -5900,6 +6230,35 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: UpdateInputExamplesUpwindHec + + +```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.sources.update(id="", input_={ + "id": "upwind-hec-source", + "type": models.InputUpwindHecType.UPWIND_HEC, + "send_to_routes": True, + "pq_enabled": False, + "host": "0.0.0.0", + "port": 8088, + "hec_api": "/services/collector", + }) + + # Handle response + print(res) + ``` ### Example Usage: UpdateInputExamplesWef @@ -6098,6 +6457,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -6105,9 +6465,51 @@ with CriblControlPlane( Delete the specified Source. -### Example Usage +### Example Usage: InputResponseExamplesHttpSource + + +```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.sources.delete(id="") + + # Handle response + print(res) + +``` +### Example Usage: InputResponseExamplesSplunkHecSource + + +```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.sources.delete(id="") + + # Handle response + print(res) + +``` +### Example Usage: InputResponseExamplesSyslogSource - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -6142,5 +6544,6 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/sourcespq/README.md b/docs/sdks/sourcespq/README.md index 587205c03..70db4200c 100644 --- a/docs/sdks/sourcespq/README.md +++ b/docs/sdks/sourcespq/README.md @@ -13,7 +13,7 @@ Get information about the latest job to clear the persistent queue (PQ) for the ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -48,6 +48,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -57,7 +58,7 @@ Clear the persistent queue (PQ) for the specified Source. ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -92,5 +93,6 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/sourcesstatuses/README.md b/docs/sdks/sourcesstatuses/README.md index 74feecb73..5e4700c95 100644 --- a/docs/sdks/sourcesstatuses/README.md +++ b/docs/sdks/sourcesstatuses/README.md @@ -11,9 +11,9 @@ List status information and optional metrics for all configured Sources in the Worker Group or Edge Fleet. -### Example Usage +### Example Usage: InputStatusResponseExamplesGreenSource - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -26,7 +26,30 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.sources.statuses.list(metrics=True, type_=False) + res = ccp_client.sources.statuses.list() + + while res is not None: + # Handle items + + res = res.next() + +``` +### Example Usage: InputStatusResponseExamplesYellowSource + + +```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.sources.statuses.list() while res is not None: # Handle items @@ -53,6 +76,7 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | @@ -60,9 +84,30 @@ with CriblControlPlane( Get the status and optional metrics for the specified Source. -### Example Usage +### Example Usage: InputStatusResponseExamplesGreenSource + + +```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.sources.statuses.get(id="") + + # Handle response + print(res) + +``` +### Example Usage: InputStatusResponseExamplesYellowSource - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -75,7 +120,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.sources.statuses.get(id="", metrics=True, type_=True) + res = ccp_client.sources.statuses.get(id="") # Handle response print(res) @@ -99,5 +144,6 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/summaries/README.md b/docs/sdks/summaries/README.md index 02a1a3cbc..5e88e78c6 100644 --- a/docs/sdks/summaries/README.md +++ b/docs/sdks/summaries/README.md @@ -4,15 +4,15 @@ ### Available Operations -* [get](#get) - Get a summary of the deployment for a specific product. +* [get](#get) - Get a summary of the deployment for a Cribl product ## get -Get a summary of the deployment for the specified Cribl product (Stream or Edge).

The summary includes a count of Worker Groups or Edge Fleets and resources such as Pipelines, Routes, Sources, and Destinations. For Distributed deployments, it also includes a count and statistics for Worker or Edge Nodes. +Get a summary of the deployment for the specified Cribl product (Stream or Edge).

The summary includes a count of Worker Groups or Edge Fleets and resources such as Pipelines, Routes, Sources, and Destinations. For Distributed deployments, the summary also includes a count and statistics for Worker or Edge Nodes. ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -27,8 +27,10 @@ with CriblControlPlane( res = ccp_client.nodes.summaries.get(product=models.ProductsBase.STREAM) - # Handle response - print(res) + while res is not None: + # Handle items + + res = res.next() ``` @@ -37,15 +39,18 @@ with CriblControlPlane( | Parameter | Type | Required | Description | | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | | `product` | [models.ProductsBase](../../models/productsbase.md) | :heavy_check_mark: | Name of the Cribl product to get the summary for. | +| `offset` | *Optional[int]* | :heavy_minus_sign: | Pagination offset | +| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of items to return | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response -**[models.CountedDistributedSummary](../../models/counteddistributedsummary.md)** +**[models.GetProductsSummaryByProductResponse](../../models/getproductssummarybyproductresponse.md)** ### Errors | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/teams/README.md b/docs/sdks/teams/README.md index f62f7813f..bfa2dd7d1 100644 --- a/docs/sdks/teams/README.md +++ b/docs/sdks/teams/README.md @@ -12,7 +12,7 @@ Get the Access Control List (ACL) for teams that have permissions on a Worker Gr ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -25,7 +25,7 @@ with CriblControlPlane( ), ) as ccp_client: - res = ccp_client.groups.acl.teams.get(product=models.ProductsCore.EDGE, id="", type_=models.RbacResource.MACROS) + res = ccp_client.groups.acl.teams.get(product=models.ProductsCore.STREAM, id="", type_=models.RbacResource.DATASETS) # Handle response print(res) @@ -49,5 +49,6 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/tokens/README.md b/docs/sdks/tokens/README.md index 8d46e0ef3..ed323a472 100644 --- a/docs/sdks/tokens/README.md +++ b/docs/sdks/tokens/README.md @@ -44,5 +44,6 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/versionsconfigs/README.md b/docs/sdks/versionsconfigs/README.md index d2eb9de7d..4088e9228 100644 --- a/docs/sdks/versionsconfigs/README.md +++ b/docs/sdks/versionsconfigs/README.md @@ -12,7 +12,7 @@ Get the configuration and versioning status for the Git integration for the Crib ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -46,5 +46,6 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/versionsstatuses/README.md b/docs/sdks/versionsstatuses/README.md index 166c90827..1d18515e5 100644 --- a/docs/sdks/versionsstatuses/README.md +++ b/docs/sdks/versionsstatuses/README.md @@ -12,7 +12,7 @@ Get the status of the current working tree of the Git repository used for Cribl ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -46,5 +46,6 @@ with CriblControlPlane( | Error Type | Status Code | Content Type | | ---------------- | ---------------- | ---------------- | +| errors.Error | 401 | application/json | | errors.Error | 500 | application/json | | errors.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/poetry.lock b/poetry.lock index 9ee5ec35c..887bcbe31 100644 --- a/poetry.lock +++ b/poetry.lock @@ -603,4 +603,4 @@ typing-extensions = ">=4.12.0" [metadata] lock-version = "2.1" python-versions = ">=3.10" -content-hash = "50e1444fed63445d3c2242eb37bd78fb77a3a5c2858fd4bd122567c56364b0f7" +content-hash = "1437b89c5d7a5023cf3a48423867d7c052f88bf4a1c2efa8c9a6e5401cf05092" diff --git a/pyproject.toml b/pyproject.toml index 530c3853a..ea39201b4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "cribl-control-plane" -version = "0.9.0rc4" +version = "0.10.0rc1" description = "Python Client SDK Generated by Speakeasy." authors = [{ name = "Speakeasy" },] readme = "README-PYPI.md" @@ -10,7 +10,7 @@ dependencies = [ "httpcore >=1.0.9", "httpx >=0.28.1", "jsonpath-python >=1.0.6", - "pydantic >=2.11.2", + "pydantic >=2.11.2,<2.13", ] [tool.poetry] diff --git a/src/cribl_control_plane/_hooks/types.py b/src/cribl_control_plane/_hooks/types.py index b4fad0525..faaf4fb81 100644 --- a/src/cribl_control_plane/_hooks/types.py +++ b/src/cribl_control_plane/_hooks/types.py @@ -3,7 +3,7 @@ from abc import ABC, abstractmethod from cribl_control_plane.sdkconfiguration import SDKConfiguration import httpx -from typing import Any, Callable, List, Optional, Tuple, Union +from typing import Any, Callable, Dict, List, Optional, Tuple, Union class HookContext: @@ -12,6 +12,8 @@ class HookContext: operation_id: str oauth2_scopes: Optional[List[str]] = None security_source: Optional[Union[Any, Callable[[], Any]]] = None + tags: Optional[List[str]] = None + extensions: Optional[Dict[str, Any]] = None def __init__( self, @@ -20,12 +22,16 @@ def __init__( operation_id: str, oauth2_scopes: Optional[List[str]], security_source: Optional[Union[Any, Callable[[], Any]]], + tags: Optional[List[str]], + extensions: Optional[Dict[str, Any]], ): self.config = config self.base_url = base_url self.operation_id = operation_id self.oauth2_scopes = oauth2_scopes self.security_source = security_source + self.tags = tags + self.extensions = extensions class BeforeRequestContext(HookContext): @@ -36,6 +42,8 @@ def __init__(self, hook_ctx: HookContext): hook_ctx.operation_id, hook_ctx.oauth2_scopes, hook_ctx.security_source, + hook_ctx.tags, + hook_ctx.extensions, ) @@ -47,6 +55,8 @@ def __init__(self, hook_ctx: HookContext): hook_ctx.operation_id, hook_ctx.oauth2_scopes, hook_ctx.security_source, + hook_ctx.tags, + hook_ctx.extensions, ) @@ -58,6 +68,8 @@ def __init__(self, hook_ctx: HookContext): hook_ctx.operation_id, hook_ctx.oauth2_scopes, hook_ctx.security_source, + hook_ctx.tags, + hook_ctx.extensions, ) diff --git a/src/cribl_control_plane/_version.py b/src/cribl_control_plane/_version.py index fbc59c3ad..c48713643 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.0rc4" -__openapi_doc_version__: str = "4.18.2-alpha.1780495409912-b2cc4b4f" -__gen_version__: str = "2.893.0" -__user_agent__: str = "speakeasy-sdk/python 0.9.0rc4 2.893.0 4.18.2-alpha.1780495409912-b2cc4b4f cribl-control-plane" +__version__: str = "0.10.0rc1" +__openapi_doc_version__: str = "4.19.0-alpha.1782982389482-669ec7f1" +__gen_version__: str = "2.914.0" +__user_agent__: str = "speakeasy-sdk/python 0.10.0rc1 2.914.0 4.19.0-alpha.1782982389482-669ec7f1 cribl-control-plane" try: if __package__ is not None: diff --git a/src/cribl_control_plane/acl.py b/src/cribl_control_plane/acl.py index 725e51986..3533e260d 100644 --- a/src/cribl_control_plane/acl.py +++ b/src/cribl_control_plane/acl.py @@ -57,7 +57,7 @@ def get( else: base_url = self._get_url(base_url, url_variables) - request = models.GetConfigGroupACLByProductAndIDRequest( + request = models.GetProductsGroupsACLByProductAndIDRequest( product=product, id=id, type=type_, @@ -96,11 +96,13 @@ def get( hook_ctx=HookContext( config=self.sdk_configuration, base_url=base_url or "", - operation_id="getConfigGroupAclByProductAndId", + operation_id="getProductsGroupsAclByProductAndId", oauth2_scopes=[], security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["groups"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -112,10 +114,13 @@ def get( return unmarshal_json_response( models.CountedUserAccessControlList, http_res ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -157,7 +162,7 @@ async def get_async( else: base_url = self._get_url(base_url, url_variables) - request = models.GetConfigGroupACLByProductAndIDRequest( + request = models.GetProductsGroupsACLByProductAndIDRequest( product=product, id=id, type=type_, @@ -196,11 +201,13 @@ async def get_async( hook_ctx=HookContext( config=self.sdk_configuration, base_url=base_url or "", - operation_id="getConfigGroupAclByProductAndId", + operation_id="getProductsGroupsAclByProductAndId", oauth2_scopes=[], security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["groups"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -212,10 +219,13 @@ async def get_async( return unmarshal_json_response( models.CountedUserAccessControlList, http_res ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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/branches.py b/src/cribl_control_plane/branches.py index f4a1f0fb5..89f86421d 100644 --- a/src/cribl_control_plane/branches.py +++ b/src/cribl_control_plane/branches.py @@ -74,6 +74,8 @@ def list( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["versioning"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -83,10 +85,13 @@ def list( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedBranchInfo, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -159,6 +164,8 @@ async def list_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["versioning"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -168,10 +175,13 @@ async def list_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedBranchInfo, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -244,6 +254,8 @@ def get( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["versioning"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -253,10 +265,13 @@ def get( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CurrentBranchResult, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -329,6 +344,8 @@ async def get_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["versioning"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -338,10 +355,13 @@ async def get_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CurrentBranchResult, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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/captures.py b/src/cribl_control_plane/captures.py index 95c95cc33..b4f2c0cf8 100644 --- a/src/cribl_control_plane/captures.py +++ b/src/cribl_control_plane/captures.py @@ -102,6 +102,8 @@ def create( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["preview"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -116,13 +118,19 @@ def create( lambda raw: utils.unmarshal_json(raw, Dict[str, Any]), client_ref=self, ) + if utils.match_response(http_res, "401", "application/json"): + http_res_text = utils.stream_to_text(http_res) + response_data = unmarshal_json_response( + errors.ErrorData, http_res, http_res_text + ) + raise errors.Error(response_data, http_res, http_res_text) if utils.match_response(http_res, "500", "application/json"): http_res_text = utils.stream_to_text(http_res) response_data = unmarshal_json_response( errors.ErrorData, http_res, http_res_text ) raise errors.Error(response_data, http_res, http_res_text) - if utils.match_response(http_res, ["400", "401", "4XX"], "*"): + if utils.match_response(http_res, ["400", "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", "*"): @@ -224,6 +232,8 @@ async def create_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["preview"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -238,13 +248,19 @@ async def create_async( lambda raw: utils.unmarshal_json(raw, Dict[str, Any]), client_ref=self, ) + if utils.match_response(http_res, "401", "application/json"): + http_res_text = await utils.stream_to_text_async(http_res) + response_data = unmarshal_json_response( + errors.ErrorData, http_res, http_res_text + ) + raise errors.Error(response_data, http_res, http_res_text) if utils.match_response(http_res, "500", "application/json"): http_res_text = await utils.stream_to_text_async(http_res) response_data = unmarshal_json_response( errors.ErrorData, http_res, http_res_text ) raise errors.Error(response_data, http_res, http_res_text) - if utils.match_response(http_res, ["400", "401", "4XX"], "*"): + if utils.match_response(http_res, ["400", "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/collectors_sdk.py b/src/cribl_control_plane/collectors_sdk.py index b949c92b8..0b8a044f7 100644 --- a/src/cribl_control_plane/collectors_sdk.py +++ b/src/cribl_control_plane/collectors_sdk.py @@ -6,7 +6,8 @@ from cribl_control_plane.types import BaseModel, OptionalNullable, UNSET from cribl_control_plane.utils import get_security_from_env from cribl_control_plane.utils.unmarshal_json_response import unmarshal_json_response -from typing import Any, Mapping, Optional, Union, cast +from jsonpath import JSONPath +from typing import Any, Awaitable, Dict, List, Mapping, Optional, Union, cast class CollectorsSDK(BaseSDK): @@ -16,16 +17,20 @@ def list( self, *, collector_type: Optional[models.CollectorType] = None, + offset: Optional[int] = None, + limit: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.CountedSavedJobResponse: + ) -> Optional[models.GetSavedJobResponse]: r"""List all Collectors Get a list of all Collectors. - :param collector_type: Filter by collector type + :param collector_type: Filter by collector type. + :param offset: Pagination offset + :param limit: Maximum number of items to return :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 @@ -43,6 +48,8 @@ def list( request = models.GetSavedJobRequest( collector_type=collector_type, + offset=offset, + limit=limit, ) req = self._build_request( @@ -83,19 +90,54 @@ def list( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["collectors"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), retry_config=retry_config, ) + def next_func() -> Optional[models.GetSavedJobResponse]: + body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]]) + + offset = request.offset if isinstance(request.offset, int) else 0 + + if not http_res.text: + return None + results = JSONPath("$.items").parse(body) + if len(results) == 0 or len(results[0]) == 0: + return None + limit_ = request.limit if isinstance(request.limit, int) else 0 + if len(results[0]) < limit_: + return None + next_offset = offset + len(results[0]) + + return self.list( + collector_type=collector_type, + offset=next_offset, + limit=limit, + retries=retries, + server_url=server_url, + timeout_ms=timeout_ms, + http_headers=http_headers, + ) + response_data: Any = None if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response(models.CountedSavedJobResponse, http_res) + return models.GetSavedJobResponse( + result=unmarshal_json_response( + models.GetSavedJobResponseBody, http_res + ), + next=next_func, + ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -108,16 +150,20 @@ async def list_async( self, *, collector_type: Optional[models.CollectorType] = None, + offset: Optional[int] = None, + limit: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.CountedSavedJobResponse: + ) -> Optional[models.GetSavedJobResponse]: r"""List all Collectors Get a list of all Collectors. - :param collector_type: Filter by collector type + :param collector_type: Filter by collector type. + :param offset: Pagination offset + :param limit: Maximum number of items to return :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 @@ -135,6 +181,8 @@ async def list_async( request = models.GetSavedJobRequest( collector_type=collector_type, + offset=offset, + limit=limit, ) req = self._build_request_async( @@ -175,19 +223,57 @@ async def list_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["collectors"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), retry_config=retry_config, ) + def next_func() -> Awaitable[Optional[models.GetSavedJobResponse]]: + body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]]) + + async def empty_result(): + return None + + offset = request.offset if isinstance(request.offset, int) else 0 + + if not http_res.text: + return empty_result() + results = JSONPath("$.items").parse(body) + if len(results) == 0 or len(results[0]) == 0: + return empty_result() + limit_ = request.limit if isinstance(request.limit, int) else 0 + if len(results[0]) < limit_: + return empty_result() + next_offset = offset + len(results[0]) + + return self.list_async( + collector_type=collector_type, + offset=next_offset, + limit=limit, + retries=retries, + server_url=server_url, + timeout_ms=timeout_ms, + http_headers=http_headers, + ) + response_data: Any = None if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response(models.CountedSavedJobResponse, http_res) + return models.GetSavedJobResponse( + result=unmarshal_json_response( + models.GetSavedJobResponseBody, http_res + ), + next=next_func, + ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -270,6 +356,8 @@ def create( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["collectors"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -279,10 +367,13 @@ def create( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedSavedJobResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -365,6 +456,8 @@ async def create_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["collectors"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -374,10 +467,13 @@ async def create_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedSavedJobResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -457,6 +553,8 @@ def get( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["collectors"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -466,10 +564,13 @@ def get( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedSavedJobResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -549,6 +650,8 @@ async def get_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["collectors"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -558,10 +661,13 @@ async def get_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedSavedJobResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -647,6 +753,8 @@ def update( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["collectors"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -656,10 +764,13 @@ def update( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedSavedJobResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -745,6 +856,8 @@ async def update_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["collectors"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -754,10 +867,13 @@ async def update_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedSavedJobResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -837,6 +953,8 @@ def delete( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["collectors"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -846,10 +964,13 @@ def delete( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedSavedJobResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -929,6 +1050,8 @@ async def delete_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["collectors"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -938,10 +1061,13 @@ async def delete_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedSavedJobResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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/commits.py b/src/cribl_control_plane/commits.py index 9b8fa61bb..a890612e9 100644 --- a/src/cribl_control_plane/commits.py +++ b/src/cribl_control_plane/commits.py @@ -4,15 +4,16 @@ from .sdkconfiguration import SDKConfiguration from cribl_control_plane import errors, models, utils from cribl_control_plane._hooks import HookContext -from cribl_control_plane.files import Files +from cribl_control_plane.commits_files import CommitsFiles from cribl_control_plane.types import OptionalNullable, UNSET from cribl_control_plane.utils import get_security_from_env from cribl_control_plane.utils.unmarshal_json_response import unmarshal_json_response -from typing import Any, List, Mapping, Optional +from jsonpath import JSONPath +from typing import Any, Awaitable, Dict, Iterable, List, Mapping, Optional, Union class Commits(BaseSDK): - files: Files + files: CommitsFiles def __init__( self, sdk_config: SDKConfiguration, parent_ref: Optional[object] = None @@ -22,22 +23,26 @@ def __init__( self._init_sdks() def _init_sdks(self): - self.files = Files(self.sdk_configuration, parent_ref=self.parent_ref) + self.files = CommitsFiles(self.sdk_configuration, parent_ref=self.parent_ref) def list( self, *, count: Optional[int] = None, + offset: Optional[int] = None, + limit: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.CountedGitLogResult: + ) -> Optional[models.GetVersionResponse]: r"""List the commit history - List the commit history.

Analogous to git log for the Cribl configuration, allowing you to audit and review changes over time. + List the commit history.

Analogous to git log for the Cribl configuration, allowing you to audit and review changes over time. :param count: Maximum number of commits to return in the response for this request. + :param offset: Pagination offset + :param limit: Maximum number of items to return :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 @@ -55,6 +60,8 @@ def list( request = models.GetVersionRequest( count=count, + offset=offset, + limit=limit, ) req = self._build_request( @@ -95,19 +102,52 @@ def list( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["versioning"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), retry_config=retry_config, ) + def next_func() -> Optional[models.GetVersionResponse]: + body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]]) + + offset = request.offset if isinstance(request.offset, int) else 0 + + if not http_res.text: + return None + results = JSONPath("$.items").parse(body) + if len(results) == 0 or len(results[0]) == 0: + return None + limit_ = request.limit if isinstance(request.limit, int) else 0 + if len(results[0]) < limit_: + return None + next_offset = offset + len(results[0]) + + return self.list( + count=count, + offset=next_offset, + limit=limit, + retries=retries, + server_url=server_url, + timeout_ms=timeout_ms, + http_headers=http_headers, + ) + response_data: Any = None if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response(models.CountedGitLogResult, http_res) + return models.GetVersionResponse( + result=unmarshal_json_response(models.GetVersionResponseBody, http_res), + next=next_func, + ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -120,16 +160,20 @@ async def list_async( self, *, count: Optional[int] = None, + offset: Optional[int] = None, + limit: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.CountedGitLogResult: + ) -> Optional[models.GetVersionResponse]: r"""List the commit history - List the commit history.

Analogous to git log for the Cribl configuration, allowing you to audit and review changes over time. + List the commit history.

Analogous to git log for the Cribl configuration, allowing you to audit and review changes over time. :param count: Maximum number of commits to return in the response for this request. + :param offset: Pagination offset + :param limit: Maximum number of items to return :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 @@ -147,6 +191,8 @@ async def list_async( request = models.GetVersionRequest( count=count, + offset=offset, + limit=limit, ) req = self._build_request_async( @@ -187,19 +233,55 @@ async def list_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["versioning"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), retry_config=retry_config, ) + def next_func() -> Awaitable[Optional[models.GetVersionResponse]]: + body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]]) + + async def empty_result(): + return None + + offset = request.offset if isinstance(request.offset, int) else 0 + + if not http_res.text: + return empty_result() + results = JSONPath("$.items").parse(body) + if len(results) == 0 or len(results[0]) == 0: + return empty_result() + limit_ = request.limit if isinstance(request.limit, int) else 0 + if len(results[0]) < limit_: + return empty_result() + next_offset = offset + len(results[0]) + + return self.list_async( + count=count, + offset=next_offset, + limit=limit, + retries=retries, + server_url=server_url, + timeout_ms=timeout_ms, + http_headers=http_headers, + ) + response_data: Any = None if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response(models.CountedGitLogResult, http_res) + return models.GetVersionResponse( + result=unmarshal_json_response(models.GetVersionResponseBody, http_res), + next=next_func, + ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -213,7 +295,7 @@ def create( *, message: str, effective: Optional[bool] = None, - files: Optional[List[str]] = None, + files: Optional[Iterable[str]] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -221,11 +303,11 @@ def create( ) -> models.CountedGitCommitSummary: r"""Create a new commit for pending changes to the Cribl configuration - Create a new commit for pending changes to the Cribl configuration. Any merge conflicts indicated in the response must be resolved using Git.

To commit only a subset of configuration changes, specify the files to include in the commit in the files array. + Create a new commit for pending changes to the Cribl configuration. Any merge conflicts indicated in the response must be resolved using Git.

To commit only a subset of configuration changes, specify the files to include in the commit in the files array. - :param message: - :param effective: - :param files: + :param message: Commit message to use for the new Git commit. + :param effective: If true, apply the commit to the group's effective configuration. Otherwise, false. + :param files: Array of file paths to include in the commit, relative to the configuration root. If omitted, all pending changes are committed. :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 @@ -243,7 +325,7 @@ def create( request = models.GitCommitBody( effective=effective, - files=files, + files=utils.unmarshal(files, Optional[List[str]]), message=message, ) @@ -288,6 +370,8 @@ def create( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["versioning"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -297,10 +381,13 @@ def create( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedGitCommitSummary, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -314,7 +401,7 @@ async def create_async( *, message: str, effective: Optional[bool] = None, - files: Optional[List[str]] = None, + files: Optional[Iterable[str]] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -322,11 +409,11 @@ async def create_async( ) -> models.CountedGitCommitSummary: r"""Create a new commit for pending changes to the Cribl configuration - Create a new commit for pending changes to the Cribl configuration. Any merge conflicts indicated in the response must be resolved using Git.

To commit only a subset of configuration changes, specify the files to include in the commit in the files array. + Create a new commit for pending changes to the Cribl configuration. Any merge conflicts indicated in the response must be resolved using Git.

To commit only a subset of configuration changes, specify the files to include in the commit in the files array. - :param message: - :param effective: - :param files: + :param message: Commit message to use for the new Git commit. + :param effective: If true, apply the commit to the group's effective configuration. Otherwise, false. + :param files: Array of file paths to include in the commit, relative to the configuration root. If omitted, all pending changes are committed. :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 @@ -344,7 +431,7 @@ async def create_async( request = models.GitCommitBody( effective=effective, - files=files, + files=utils.unmarshal(files, Optional[List[str]]), message=message, ) @@ -389,6 +476,8 @@ async def create_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["versioning"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -398,10 +487,13 @@ async def create_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedGitCommitSummary, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -487,6 +579,8 @@ def diff( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["versioning"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -496,10 +590,13 @@ def diff( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedGitDiffResult, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -585,6 +682,8 @@ async def diff_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["versioning"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -594,10 +693,13 @@ async def diff_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedGitDiffResult, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -616,7 +718,7 @@ def push( ) -> models.CountedString: r"""Push local commits to the remote repository - Push all local commits from the local repository to the remote repository. + Push all local commits from the local repository to the remote repository.

Requires at least one local commit that has not been pushed. Returns an error if the remote repository cannot be reached or the push is rejected. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method @@ -670,6 +772,8 @@ def push( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["versioning"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -679,10 +783,13 @@ def push( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedString, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -701,7 +808,7 @@ async def push_async( ) -> models.CountedString: r"""Push local commits to the remote repository - Push all local commits from the local repository to the remote repository. + Push all local commits from the local repository to the remote repository.

Requires at least one local commit that has not been pushed. Returns an error if the remote repository cannot be reached or the push is rejected. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method @@ -755,6 +862,8 @@ async def push_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["versioning"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -764,10 +873,13 @@ async def push_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedString, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -789,11 +901,11 @@ def revert( ) -> models.CountedGitRevertResult: r"""Revert a commit in the local repository - Revert a commit in the local repository. + Revert a commit in the local repository by creating a new commit that undoes the changes introduced by the specified commit.

Use the force field to proceed even when the working directory is not clean. - :param commit: - :param force: - :param message: + :param commit: SHA-1 hash of the commit to revert. + :param force: If true, force the revert even when the working directory is not clean. Otherwise, false. + :param message: Custom message to use for the revert commit. If omitted, a default message is generated. :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 @@ -856,6 +968,8 @@ def revert( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["versioning"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -865,10 +979,13 @@ def revert( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedGitRevertResult, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -890,11 +1007,11 @@ async def revert_async( ) -> models.CountedGitRevertResult: r"""Revert a commit in the local repository - Revert a commit in the local repository. + Revert a commit in the local repository by creating a new commit that undoes the changes introduced by the specified commit.

Use the force field to proceed even when the working directory is not clean. - :param commit: - :param force: - :param message: + :param commit: SHA-1 hash of the commit to revert. + :param force: If true, force the revert even when the working directory is not clean. Otherwise, false. + :param message: Custom message to use for the revert commit. If omitted, a default message is generated. :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 @@ -957,6 +1074,8 @@ async def revert_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["versioning"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -966,10 +1085,13 @@ async def revert_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedGitRevertResult, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -1055,6 +1177,8 @@ def get( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["versioning"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1064,10 +1188,13 @@ def get( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedGitShowResult, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -1153,6 +1280,8 @@ async def get_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["versioning"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1162,10 +1291,13 @@ async def get_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedGitShowResult, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -1184,7 +1316,7 @@ def undo( ) -> models.CountedBoolean: r"""Discard uncommitted (staged) changes - Discard all uncommitted (staged) configuration changes, resetting the working directory to the last committed state. Use only if you are certain that you do not need to preserve your local changes. + Discard all uncommitted (staged) configuration changes, resetting the working directory to the last committed state. Use only if you are certain that you do not need to preserve your local changes.

When applied globally (no group), triggers a Cribl restart to reload the reverted configuration. Returns false if the working directory is already clean. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method @@ -1238,6 +1370,8 @@ def undo( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["versioning"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1247,10 +1381,13 @@ def undo( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedBoolean, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -1269,7 +1406,7 @@ async def undo_async( ) -> models.CountedBoolean: r"""Discard uncommitted (staged) changes - Discard all uncommitted (staged) configuration changes, resetting the working directory to the last committed state. Use only if you are certain that you do not need to preserve your local changes. + Discard all uncommitted (staged) configuration changes, resetting the working directory to the last committed state. Use only if you are certain that you do not need to preserve your local changes.

When applied globally (no group), triggers a Cribl restart to reload the reverted configuration. Returns false if the working directory is already clean. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method @@ -1323,6 +1460,8 @@ async def undo_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["versioning"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1332,10 +1471,13 @@ async def undo_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedBoolean, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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/files.py b/src/cribl_control_plane/commits_files.py similarity index 90% rename from src/cribl_control_plane/files.py rename to src/cribl_control_plane/commits_files.py index 7fa2640e7..5918c2423 100644 --- a/src/cribl_control_plane/files.py +++ b/src/cribl_control_plane/commits_files.py @@ -9,7 +9,7 @@ from typing import Any, Mapping, Optional -class Files(BaseSDK): +class CommitsFiles(BaseSDK): def count( self, *, @@ -81,6 +81,8 @@ def count( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["versioning"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -90,10 +92,13 @@ def count( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedGitCountResult, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -173,6 +178,8 @@ async def count_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["versioning"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -182,10 +189,13 @@ async def count_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedGitCountResult, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -265,6 +275,8 @@ def list( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["versioning"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -274,10 +286,13 @@ def list( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedGitFilesResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -357,6 +372,8 @@ async def list_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["versioning"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -366,10 +383,13 @@ async def list_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedGitFilesResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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/configs_versions.py b/src/cribl_control_plane/configs_versions.py index 7ac4f1b4a..26a756468 100644 --- a/src/cribl_control_plane/configs_versions.py +++ b/src/cribl_control_plane/configs_versions.py @@ -41,7 +41,7 @@ def get( else: base_url = self._get_url(base_url, url_variables) - request = models.GetConfigGroupConfigVersionByProductAndIDRequest( + request = models.GetProductsGroupsConfigVersionByProductAndIDRequest( product=product, id=id, ) @@ -79,11 +79,13 @@ def get( hook_ctx=HookContext( config=self.sdk_configuration, base_url=base_url or "", - operation_id="getConfigGroupConfigVersionByProductAndId", + operation_id="getProductsGroupsConfigVersionByProductAndId", oauth2_scopes=[], security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["groups"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -93,10 +95,13 @@ def get( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedString, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -136,7 +141,7 @@ async def get_async( else: base_url = self._get_url(base_url, url_variables) - request = models.GetConfigGroupConfigVersionByProductAndIDRequest( + request = models.GetProductsGroupsConfigVersionByProductAndIDRequest( product=product, id=id, ) @@ -174,11 +179,13 @@ async def get_async( hook_ctx=HookContext( config=self.sdk_configuration, base_url=base_url or "", - operation_id="getConfigGroupConfigVersionByProductAndId", + operation_id="getProductsGroupsConfigVersionByProductAndId", oauth2_scopes=[], security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["groups"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -188,10 +195,13 @@ async def get_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedString, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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/cribl.py b/src/cribl_control_plane/cribl.py index 7038625a7..4a44dd042 100644 --- a/src/cribl_control_plane/cribl.py +++ b/src/cribl_control_plane/cribl.py @@ -20,7 +20,7 @@ def list( ) -> models.CountedSystemSettingsConf: r"""Get system settings - Get Cribl system settings. + Get the current Cribl system settings. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method @@ -74,6 +74,8 @@ def list( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["system"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -83,10 +85,13 @@ def list( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedSystemSettingsConf, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -105,7 +110,7 @@ async def list_async( ) -> models.CountedSystemSettingsConf: r"""Get system settings - Get Cribl system settings. + Get the current Cribl system settings. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method @@ -159,6 +164,8 @@ async def list_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["system"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -168,10 +175,13 @@ async def list_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedSystemSettingsConf, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -248,24 +258,24 @@ def update( ) -> models.CountedSystemSettingsConf: r"""Update system settings - Update Cribl system settings. + Update the specified Cribl system settings.

Provide a complete representation of the system settings that you want to update in the request body. This endpoint does not support partial updates. Cribl removes any omitted fields when updating the system settings.

Confirm that the configuration in your request body is correct before sending the request. If the configuration is incorrect, the updated system settings might not function as expected. - :param api: + :param api: API server configuration for the Cribl instance. :param backups: :param pii: - :param proxy: + :param proxy: HTTP proxy configuration for outbound connections. :param rollback: - :param shutdown: + :param shutdown: Graceful shutdown configuration. :param sni: - :param system: + :param system: System-level operational settings for the Cribl instance. :param tls: :param upgrade_group_settings: :param upgrade_settings: - :param workers: - :param apps: - :param custom_logo: - :param sockets: - :param support: + :param workers: Worker Process configuration. + :param apps: App configuration. + :param custom_logo: Custom logo configuration for the Cribl UI login page and navigation bar. + :param sockets: Unix domain socket configuration. + :param support: Support and diagnostics settings. :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 @@ -359,6 +369,8 @@ def update( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["system"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -368,10 +380,13 @@ def update( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedSystemSettingsConf, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, ["400", "403", "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", "*"): @@ -448,24 +463,24 @@ async def update_async( ) -> models.CountedSystemSettingsConf: r"""Update system settings - Update Cribl system settings. + Update the specified Cribl system settings.

Provide a complete representation of the system settings that you want to update in the request body. This endpoint does not support partial updates. Cribl removes any omitted fields when updating the system settings.

Confirm that the configuration in your request body is correct before sending the request. If the configuration is incorrect, the updated system settings might not function as expected. - :param api: + :param api: API server configuration for the Cribl instance. :param backups: :param pii: - :param proxy: + :param proxy: HTTP proxy configuration for outbound connections. :param rollback: - :param shutdown: + :param shutdown: Graceful shutdown configuration. :param sni: - :param system: + :param system: System-level operational settings for the Cribl instance. :param tls: :param upgrade_group_settings: :param upgrade_settings: - :param workers: - :param apps: - :param custom_logo: - :param sockets: - :param support: + :param workers: Worker Process configuration. + :param apps: App configuration. + :param custom_logo: Custom logo configuration for the Cribl UI login page and navigation bar. + :param sockets: Unix domain socket configuration. + :param support: Support and diagnostics settings. :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 @@ -559,6 +574,8 @@ async def update_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["system"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -568,10 +585,13 @@ async def update_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedSystemSettingsConf, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, ["400", "403", "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/databaseconnections.py b/src/cribl_control_plane/databaseconnections.py index 6afebea41..7c7bc76a2 100644 --- a/src/cribl_control_plane/databaseconnections.py +++ b/src/cribl_control_plane/databaseconnections.py @@ -6,7 +6,8 @@ from cribl_control_plane.types import OptionalNullable, UNSET from cribl_control_plane.utils import get_security_from_env from cribl_control_plane.utils.unmarshal_json_response import unmarshal_json_response -from typing import Any, Mapping, Optional +from jsonpath import JSONPath +from typing import Any, Awaitable, Dict, List, Mapping, Optional, Union class DatabaseConnections(BaseSDK): @@ -16,16 +17,20 @@ def list( self, *, database_type: Optional[models.DatabaseConnectionType] = None, + limit: Optional[int] = None, + offset: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.CountedDatabaseConnectionConfig: - r"""List Database Connections + ) -> Optional[models.GetDatabaseConnectionConfigResponse]: + r"""List all Database Connections Get a list of all Database Connections. - :param database_type: Type of Database Connections to include in the results. + :param database_type: Filter results by database engine type. Use this parameter to return only Database Connections for the specified engine. + :param limit: Maximum number of Database Connections to return in the response for this request. Use with offset to paginate the response into manageable batches. + :param offset: Starting point from which to retrieve results for this request. Use with limit to paginate the response into manageable batches. :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 @@ -43,6 +48,8 @@ def list( request = models.GetDatabaseConnectionConfigRequest( database_type=database_type, + limit=limit, + offset=offset, ) req = self._build_request( @@ -83,21 +90,54 @@ def list( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["databaseConnections"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), retry_config=retry_config, ) + def next_func() -> Optional[models.GetDatabaseConnectionConfigResponse]: + body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]]) + + offset = request.offset if isinstance(request.offset, int) else 0 + + if not http_res.text: + return None + results = JSONPath("$.items").parse(body) + if len(results) == 0 or len(results[0]) == 0: + return None + limit_ = request.limit if isinstance(request.limit, int) else 0 + if len(results[0]) < limit_: + return None + next_offset = offset + len(results[0]) + + return self.list( + database_type=database_type, + limit=limit, + offset=next_offset, + retries=retries, + server_url=server_url, + timeout_ms=timeout_ms, + http_headers=http_headers, + ) + response_data: Any = None if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response( - models.CountedDatabaseConnectionConfig, http_res + return models.GetDatabaseConnectionConfigResponse( + result=unmarshal_json_response( + models.DatabaseConnectionResponseEnvelope, http_res + ), + next=next_func, ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -110,16 +150,20 @@ async def list_async( self, *, database_type: Optional[models.DatabaseConnectionType] = None, + limit: Optional[int] = None, + offset: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.CountedDatabaseConnectionConfig: - r"""List Database Connections + ) -> Optional[models.GetDatabaseConnectionConfigResponse]: + r"""List all Database Connections Get a list of all Database Connections. - :param database_type: Type of Database Connections to include in the results. + :param database_type: Filter results by database engine type. Use this parameter to return only Database Connections for the specified engine. + :param limit: Maximum number of Database Connections to return in the response for this request. Use with offset to paginate the response into manageable batches. + :param offset: Starting point from which to retrieve results for this request. Use with limit to paginate the response into manageable batches. :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 @@ -137,6 +181,8 @@ async def list_async( request = models.GetDatabaseConnectionConfigRequest( database_type=database_type, + limit=limit, + offset=offset, ) req = self._build_request_async( @@ -177,21 +223,59 @@ async def list_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["databaseConnections"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), retry_config=retry_config, ) + def next_func() -> ( + Awaitable[Optional[models.GetDatabaseConnectionConfigResponse]] + ): + body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]]) + + async def empty_result(): + return None + + offset = request.offset if isinstance(request.offset, int) else 0 + + if not http_res.text: + return empty_result() + results = JSONPath("$.items").parse(body) + if len(results) == 0 or len(results[0]) == 0: + return empty_result() + limit_ = request.limit if isinstance(request.limit, int) else 0 + if len(results[0]) < limit_: + return empty_result() + next_offset = offset + len(results[0]) + + return self.list_async( + database_type=database_type, + limit=limit, + offset=next_offset, + retries=retries, + server_url=server_url, + timeout_ms=timeout_ms, + http_headers=http_headers, + ) + response_data: Any = None if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response( - models.CountedDatabaseConnectionConfig, http_res + return models.GetDatabaseConnectionConfigResponse( + result=unmarshal_json_response( + models.DatabaseConnectionResponseEnvelope, http_res + ), + next=next_func, ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -203,41 +287,45 @@ async def list_async( def create( self, *, - auth_type: str, + auth_type: models.DatabaseConnectionAuthType, database_type: models.DatabaseConnectionType, description: str, id: str, config_obj: Optional[str] = None, connection_string: Optional[str] = None, - connection_timeout: Optional[float] = None, + connection_timeout: Optional[int] = None, creds_secrets: Optional[str] = None, password: Optional[str] = None, - request_timeout: Optional[float] = None, + request_timeout: Optional[int] = None, tags: Optional[str] = None, text_secret: Optional[str] = None, + tls: Optional[ + Union[models.TLSClientParams, models.TLSClientParamsTypedDict] + ] = None, user: Optional[str] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.CountedDatabaseConnectionConfig: - r"""Create Database Connection + ) -> models.DatabaseConnectionResponseEnvelope: + r"""Create a Database Connection Create a new Database Connection. :param auth_type: :param database_type: - :param description: - :param id: - :param config_obj: - :param connection_string: - :param connection_timeout: - :param creds_secrets: - :param password: - :param request_timeout: - :param tags: - :param text_secret: - :param user: + :param description: Brief description of the Database Connection. + :param id: Unique identifier for the Database Connection. + :param config_obj: JSON configuration object for advanced SQL Server connection settings. + :param connection_string: Database connection string with embedded credentials or server information. + :param connection_timeout: Maximum time (in milliseconds) to wait when establishing the database connection. + :param creds_secrets: Name of the stored credentials secret containing username and password. Used with Oracle connections. + :param password: Database password for authentication. Used with Oracle connections. + :param request_timeout: Maximum time (in milliseconds) to wait for a database query to complete. Applies to SQL Server connections only. + :param tags: Comma-separated list of tags for categorizing and filtering Database Connections. + :param text_secret: Name of the stored text secret containing the connection string. + :param tls: TLS client connection settings. + :param user: Database username for authentication. Used with Oracle connections. :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 @@ -266,6 +354,7 @@ def create( request_timeout=request_timeout, tags=tags, text_secret=text_secret, + tls=utils.get_pydantic_model(tls, Optional[models.TLSClientParams]), user=user, ) @@ -310,6 +399,8 @@ def create( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["databaseConnections"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -319,12 +410,20 @@ def create( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response( - models.CountedDatabaseConnectionConfig, http_res + models.DatabaseConnectionResponseEnvelope, http_res ) + if utils.match_response(http_res, "400", "application/json"): + response_data = unmarshal_json_response( + errors.RestAPIJSONErrorData, http_res + ) + raise errors.RestAPIJSONError(response_data, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -336,41 +435,45 @@ def create( async def create_async( self, *, - auth_type: str, + auth_type: models.DatabaseConnectionAuthType, database_type: models.DatabaseConnectionType, description: str, id: str, config_obj: Optional[str] = None, connection_string: Optional[str] = None, - connection_timeout: Optional[float] = None, + connection_timeout: Optional[int] = None, creds_secrets: Optional[str] = None, password: Optional[str] = None, - request_timeout: Optional[float] = None, + request_timeout: Optional[int] = None, tags: Optional[str] = None, text_secret: Optional[str] = None, + tls: Optional[ + Union[models.TLSClientParams, models.TLSClientParamsTypedDict] + ] = None, user: Optional[str] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.CountedDatabaseConnectionConfig: - r"""Create Database Connection + ) -> models.DatabaseConnectionResponseEnvelope: + r"""Create a Database Connection Create a new Database Connection. :param auth_type: :param database_type: - :param description: - :param id: - :param config_obj: - :param connection_string: - :param connection_timeout: - :param creds_secrets: - :param password: - :param request_timeout: - :param tags: - :param text_secret: - :param user: + :param description: Brief description of the Database Connection. + :param id: Unique identifier for the Database Connection. + :param config_obj: JSON configuration object for advanced SQL Server connection settings. + :param connection_string: Database connection string with embedded credentials or server information. + :param connection_timeout: Maximum time (in milliseconds) to wait when establishing the database connection. + :param creds_secrets: Name of the stored credentials secret containing username and password. Used with Oracle connections. + :param password: Database password for authentication. Used with Oracle connections. + :param request_timeout: Maximum time (in milliseconds) to wait for a database query to complete. Applies to SQL Server connections only. + :param tags: Comma-separated list of tags for categorizing and filtering Database Connections. + :param text_secret: Name of the stored text secret containing the connection string. + :param tls: TLS client connection settings. + :param user: Database username for authentication. Used with Oracle connections. :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 @@ -399,6 +502,7 @@ async def create_async( request_timeout=request_timeout, tags=tags, text_secret=text_secret, + tls=utils.get_pydantic_model(tls, Optional[models.TLSClientParams]), user=user, ) @@ -443,6 +547,8 @@ async def create_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["databaseConnections"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -452,12 +558,20 @@ async def create_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response( - models.CountedDatabaseConnectionConfig, http_res + models.DatabaseConnectionResponseEnvelope, http_res + ) + if utils.match_response(http_res, "400", "application/json"): + response_data = unmarshal_json_response( + errors.RestAPIJSONErrorData, http_res ) + raise errors.RestAPIJSONError(response_data, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -474,7 +588,7 @@ def get( server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.CountedDatabaseConnectionConfig: + ) -> models.DatabaseConnectionResponseEnvelope: r"""Get a Database Connection Get the specified Database Connection. @@ -537,6 +651,8 @@ def get( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["databaseConnections"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -546,12 +662,20 @@ def get( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response( - models.CountedDatabaseConnectionConfig, http_res + models.DatabaseConnectionResponseEnvelope, http_res ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) + if utils.match_response(http_res, "404", "application/json"): + response_data = unmarshal_json_response( + errors.RestAPIJSONErrorData, http_res + ) + raise errors.RestAPIJSONError(response_data, http_res) 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, ["401", "404", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -568,7 +692,7 @@ async def get_async( server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.CountedDatabaseConnectionConfig: + ) -> models.DatabaseConnectionResponseEnvelope: r"""Get a Database Connection Get the specified Database Connection. @@ -631,6 +755,8 @@ async def get_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["databaseConnections"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -640,12 +766,20 @@ async def get_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response( - models.CountedDatabaseConnectionConfig, http_res + models.DatabaseConnectionResponseEnvelope, http_res ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) + if utils.match_response(http_res, "404", "application/json"): + response_data = unmarshal_json_response( + errors.RestAPIJSONErrorData, http_res + ) + raise errors.RestAPIJSONError(response_data, http_res) 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, ["401", "404", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -658,24 +792,27 @@ def update( self, *, id_param: str, - auth_type: str, + auth_type: models.DatabaseConnectionAuthType, database_type: models.DatabaseConnectionType, description: str, id: str, config_obj: Optional[str] = None, connection_string: Optional[str] = None, - connection_timeout: Optional[float] = None, + connection_timeout: Optional[int] = None, creds_secrets: Optional[str] = None, password: Optional[str] = None, - request_timeout: Optional[float] = None, + request_timeout: Optional[int] = None, tags: Optional[str] = None, text_secret: Optional[str] = None, + tls: Optional[ + Union[models.TLSClientParams, models.TLSClientParamsTypedDict] + ] = None, user: Optional[str] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.CountedDatabaseConnectionConfig: + ) -> models.DatabaseConnectionResponseEnvelope: r"""Update a Database Connection Update the specified Database Connection.

Provide a complete representation of the Database Connection that you want to update in the request body. This endpoint does not support partial updates. Cribl removes any omitted fields when updating the Database Connection.

Confirm that the configuration in your request body is correct before sending the request. If the configuration is incorrect, the updated Database Connection might not function as expected. @@ -683,17 +820,18 @@ def update( :param id_param: The id of the Database Connection to update. :param auth_type: :param database_type: - :param description: - :param id: - :param config_obj: - :param connection_string: - :param connection_timeout: - :param creds_secrets: - :param password: - :param request_timeout: - :param tags: - :param text_secret: - :param user: + :param description: Brief description of the Database Connection. + :param id: Unique identifier for the Database Connection. + :param config_obj: JSON configuration object for advanced SQL Server connection settings. + :param connection_string: Database connection string with embedded credentials or server information. + :param connection_timeout: Maximum time (in milliseconds) to wait when establishing the database connection. + :param creds_secrets: Name of the stored credentials secret containing username and password. Used with Oracle connections. + :param password: Database password for authentication. Used with Oracle connections. + :param request_timeout: Maximum time (in milliseconds) to wait for a database query to complete. Applies to SQL Server connections only. + :param tags: Comma-separated list of tags for categorizing and filtering Database Connections. + :param text_secret: Name of the stored text secret containing the connection string. + :param tls: TLS client connection settings. + :param user: Database username for authentication. Used with Oracle connections. :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 @@ -724,6 +862,7 @@ def update( request_timeout=request_timeout, tags=tags, text_secret=text_secret, + tls=utils.get_pydantic_model(tls, Optional[models.TLSClientParams]), user=user, ), ) @@ -773,6 +912,8 @@ def update( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["databaseConnections"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -782,12 +923,20 @@ def update( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response( - models.CountedDatabaseConnectionConfig, http_res + models.DatabaseConnectionResponseEnvelope, http_res + ) + if utils.match_response(http_res, "401", "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", "404"], "application/json"): + response_data = unmarshal_json_response( + errors.RestAPIJSONErrorData, http_res ) + raise errors.RestAPIJSONError(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -800,24 +949,27 @@ async def update_async( self, *, id_param: str, - auth_type: str, + auth_type: models.DatabaseConnectionAuthType, database_type: models.DatabaseConnectionType, description: str, id: str, config_obj: Optional[str] = None, connection_string: Optional[str] = None, - connection_timeout: Optional[float] = None, + connection_timeout: Optional[int] = None, creds_secrets: Optional[str] = None, password: Optional[str] = None, - request_timeout: Optional[float] = None, + request_timeout: Optional[int] = None, tags: Optional[str] = None, text_secret: Optional[str] = None, + tls: Optional[ + Union[models.TLSClientParams, models.TLSClientParamsTypedDict] + ] = None, user: Optional[str] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.CountedDatabaseConnectionConfig: + ) -> models.DatabaseConnectionResponseEnvelope: r"""Update a Database Connection Update the specified Database Connection.

Provide a complete representation of the Database Connection that you want to update in the request body. This endpoint does not support partial updates. Cribl removes any omitted fields when updating the Database Connection.

Confirm that the configuration in your request body is correct before sending the request. If the configuration is incorrect, the updated Database Connection might not function as expected. @@ -825,17 +977,18 @@ async def update_async( :param id_param: The id of the Database Connection to update. :param auth_type: :param database_type: - :param description: - :param id: - :param config_obj: - :param connection_string: - :param connection_timeout: - :param creds_secrets: - :param password: - :param request_timeout: - :param tags: - :param text_secret: - :param user: + :param description: Brief description of the Database Connection. + :param id: Unique identifier for the Database Connection. + :param config_obj: JSON configuration object for advanced SQL Server connection settings. + :param connection_string: Database connection string with embedded credentials or server information. + :param connection_timeout: Maximum time (in milliseconds) to wait when establishing the database connection. + :param creds_secrets: Name of the stored credentials secret containing username and password. Used with Oracle connections. + :param password: Database password for authentication. Used with Oracle connections. + :param request_timeout: Maximum time (in milliseconds) to wait for a database query to complete. Applies to SQL Server connections only. + :param tags: Comma-separated list of tags for categorizing and filtering Database Connections. + :param text_secret: Name of the stored text secret containing the connection string. + :param tls: TLS client connection settings. + :param user: Database username for authentication. Used with Oracle connections. :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 @@ -866,6 +1019,7 @@ async def update_async( request_timeout=request_timeout, tags=tags, text_secret=text_secret, + tls=utils.get_pydantic_model(tls, Optional[models.TLSClientParams]), user=user, ), ) @@ -915,6 +1069,8 @@ async def update_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["databaseConnections"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -924,12 +1080,20 @@ async def update_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response( - models.CountedDatabaseConnectionConfig, http_res + models.DatabaseConnectionResponseEnvelope, http_res + ) + if utils.match_response(http_res, "401", "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", "404"], "application/json"): + response_data = unmarshal_json_response( + errors.RestAPIJSONErrorData, http_res ) + raise errors.RestAPIJSONError(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -946,7 +1110,7 @@ def delete( server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.CountedDatabaseConnectionConfig: + ) -> models.DatabaseConnectionResponseEnvelope: r"""Delete a Database Connection Delete the specified Database Connection. @@ -1009,6 +1173,8 @@ def delete( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["databaseConnections"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1018,12 +1184,20 @@ def delete( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response( - models.CountedDatabaseConnectionConfig, http_res + models.DatabaseConnectionResponseEnvelope, http_res ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) + if utils.match_response(http_res, "404", "application/json"): + response_data = unmarshal_json_response( + errors.RestAPIJSONErrorData, http_res + ) + raise errors.RestAPIJSONError(response_data, http_res) 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, ["401", "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", "*"): @@ -1040,7 +1214,7 @@ async def delete_async( server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.CountedDatabaseConnectionConfig: + ) -> models.DatabaseConnectionResponseEnvelope: r"""Delete a Database Connection Delete the specified Database Connection. @@ -1103,6 +1277,8 @@ async def delete_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["databaseConnections"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1112,12 +1288,20 @@ async def delete_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response( - models.CountedDatabaseConnectionConfig, http_res + models.DatabaseConnectionResponseEnvelope, http_res + ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) + if utils.match_response(http_res, "404", "application/json"): + response_data = unmarshal_json_response( + errors.RestAPIJSONErrorData, http_res ) + raise errors.RestAPIJSONError(response_data, http_res) 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, ["401", "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/datasets.py b/src/cribl_control_plane/datasets.py index 191a6bc4f..4ef731ed8 100644 --- a/src/cribl_control_plane/datasets.py +++ b/src/cribl_control_plane/datasets.py @@ -6,7 +6,8 @@ from cribl_control_plane.types import OptionalNullable, UNSET from cribl_control_plane.utils import get_security_from_env from cribl_control_plane.utils.unmarshal_json_response import unmarshal_json_response -from typing import Any, List, Mapping, Optional, Union +from jsonpath import JSONPath +from typing import Any, Awaitable, Dict, Iterable, List, Mapping, Optional, Union class Datasets(BaseSDK): @@ -17,15 +18,18 @@ def list( storage_location_id: Optional[str] = None, format_: Optional[models.GetCriblLakeDatasetByLakeIDFormat] = None, exclude_ddss: Optional[bool] = None, + exclude_netskope: Optional[bool] = None, exclude_deleted: Optional[bool] = None, exclude_internal: Optional[bool] = None, exclude_byos: Optional[bool] = None, include_metrics: Optional[bool] = None, + offset: Optional[int] = None, + limit: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.CountedCriblLakeDataset: + ) -> Optional[models.GetCriblLakeDatasetByLakeIDResponse]: r"""List all Lake Datasets (Cribl.Cloud only) Get a list of all Lake Datasets in the specified Lake (Cribl.Cloud only). @@ -34,10 +38,13 @@ def list( :param storage_location_id: Filter datasets by storage location ID. Use default for default storage location. :param format_: Filter datasets by format. Set to ddss to return only DDSS datasets. :param exclude_ddss: Exclude DDSS format datasets from the response. + :param exclude_netskope: Exclude Netskope format datasets from the response. :param exclude_deleted: Exclude deleted datasets from the response. :param exclude_internal: Exclude internal datasets (those with IDs starting with cribl_) from the response. :param exclude_byos: Exclude BYOS (Bring Your Own Storage) datasets from the response. :param include_metrics: Set to true to include storage metrics for each Lake Dataset. Otherwise, false (default). Requires a Cribl Lake metrics license. + :param offset: Pagination offset + :param limit: Maximum number of items to return :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 @@ -58,10 +65,13 @@ def list( storage_location_id=storage_location_id, format_=format_, exclude_ddss=exclude_ddss, + exclude_netskope=exclude_netskope, exclude_deleted=exclude_deleted, exclude_internal=exclude_internal, exclude_byos=exclude_byos, include_metrics=include_metrics, + offset=offset, + limit=limit, ) req = self._build_request( @@ -102,19 +112,62 @@ def list( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["lake"], + extensions={"x-cribl-availability": "cloud", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), retry_config=retry_config, ) + def next_func() -> Optional[models.GetCriblLakeDatasetByLakeIDResponse]: + body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]]) + + offset = request.offset if isinstance(request.offset, int) else 0 + + if not http_res.text: + return None + results = JSONPath("$.items").parse(body) + if len(results) == 0 or len(results[0]) == 0: + return None + limit_ = request.limit if isinstance(request.limit, int) else 0 + if len(results[0]) < limit_: + return None + next_offset = offset + len(results[0]) + + return self.list( + lake_id=lake_id, + storage_location_id=storage_location_id, + format_=format_, + exclude_ddss=exclude_ddss, + exclude_netskope=exclude_netskope, + exclude_deleted=exclude_deleted, + exclude_internal=exclude_internal, + exclude_byos=exclude_byos, + include_metrics=include_metrics, + offset=next_offset, + limit=limit, + retries=retries, + server_url=server_url, + timeout_ms=timeout_ms, + http_headers=http_headers, + ) + response_data: Any = None if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response(models.CountedCriblLakeDataset, http_res) + return models.GetCriblLakeDatasetByLakeIDResponse( + result=unmarshal_json_response( + models.GetCriblLakeDatasetByLakeIDResponseBody, http_res + ), + next=next_func, + ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -130,15 +183,18 @@ async def list_async( storage_location_id: Optional[str] = None, format_: Optional[models.GetCriblLakeDatasetByLakeIDFormat] = None, exclude_ddss: Optional[bool] = None, + exclude_netskope: Optional[bool] = None, exclude_deleted: Optional[bool] = None, exclude_internal: Optional[bool] = None, exclude_byos: Optional[bool] = None, include_metrics: Optional[bool] = None, + offset: Optional[int] = None, + limit: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.CountedCriblLakeDataset: + ) -> Optional[models.GetCriblLakeDatasetByLakeIDResponse]: r"""List all Lake Datasets (Cribl.Cloud only) Get a list of all Lake Datasets in the specified Lake (Cribl.Cloud only). @@ -147,10 +203,13 @@ async def list_async( :param storage_location_id: Filter datasets by storage location ID. Use default for default storage location. :param format_: Filter datasets by format. Set to ddss to return only DDSS datasets. :param exclude_ddss: Exclude DDSS format datasets from the response. + :param exclude_netskope: Exclude Netskope format datasets from the response. :param exclude_deleted: Exclude deleted datasets from the response. :param exclude_internal: Exclude internal datasets (those with IDs starting with cribl_) from the response. :param exclude_byos: Exclude BYOS (Bring Your Own Storage) datasets from the response. :param include_metrics: Set to true to include storage metrics for each Lake Dataset. Otherwise, false (default). Requires a Cribl Lake metrics license. + :param offset: Pagination offset + :param limit: Maximum number of items to return :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 @@ -171,10 +230,13 @@ async def list_async( storage_location_id=storage_location_id, format_=format_, exclude_ddss=exclude_ddss, + exclude_netskope=exclude_netskope, exclude_deleted=exclude_deleted, exclude_internal=exclude_internal, exclude_byos=exclude_byos, include_metrics=include_metrics, + offset=offset, + limit=limit, ) req = self._build_request_async( @@ -215,19 +277,67 @@ async def list_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["lake"], + extensions={"x-cribl-availability": "cloud", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), retry_config=retry_config, ) + def next_func() -> ( + Awaitable[Optional[models.GetCriblLakeDatasetByLakeIDResponse]] + ): + body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]]) + + async def empty_result(): + return None + + offset = request.offset if isinstance(request.offset, int) else 0 + + if not http_res.text: + return empty_result() + results = JSONPath("$.items").parse(body) + if len(results) == 0 or len(results[0]) == 0: + return empty_result() + limit_ = request.limit if isinstance(request.limit, int) else 0 + if len(results[0]) < limit_: + return empty_result() + next_offset = offset + len(results[0]) + + return self.list_async( + lake_id=lake_id, + storage_location_id=storage_location_id, + format_=format_, + exclude_ddss=exclude_ddss, + exclude_netskope=exclude_netskope, + exclude_deleted=exclude_deleted, + exclude_internal=exclude_internal, + exclude_byos=exclude_byos, + include_metrics=include_metrics, + offset=next_offset, + limit=limit, + retries=retries, + server_url=server_url, + timeout_ms=timeout_ms, + http_headers=http_headers, + ) + response_data: Any = None if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response(models.CountedCriblLakeDataset, http_res) + return models.GetCriblLakeDatasetByLakeIDResponse( + result=unmarshal_json_response( + models.GetCriblLakeDatasetByLakeIDResponseBody, http_res + ), + next=next_func, + ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -241,7 +351,7 @@ def create( *, lake_id: str, id: str, - accelerated_fields: Optional[List[str]] = None, + accelerated_fields: Optional[Iterable[str]] = None, bucket_name: Optional[str] = None, cache_connection: Optional[ Union[models.CacheConnection, models.CacheConnectionTypedDict] @@ -279,12 +389,12 @@ def create( :param deletion_started_at: Timestamp (in Unix time) when Dataset deletion was initiated, in milliseconds. :param description: Brief description of the Dataset. :param format_: Storage format used for data persisted in the Dataset. - :param http_da_used: If true, the Dataset is used by Direct Access HTTP. + :param http_da_used: If true, the Dataset is used by Direct Access HTTP. Otherwise, false. :param metrics: :param retention_period_in_days: Dataset retention period, in days. :param search_config: :param storage_class: Storage class used for objects written to the Dataset. - :param storage_location_id: Identifier for the Storage Location that backs the Dataset. Mutually exclusive with bucketName. + :param storage_location_id: Unique identifier for the Storage Location that backs the Dataset. Mutually exclusive with bucketName. :param view_name: Name of the ClickHouse view for the Dataset on the Lakehouse. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method @@ -304,7 +414,9 @@ def create( request = models.CreateCriblLakeDatasetByLakeIDRequest( lake_id=lake_id, cribl_lake_dataset=models.CriblLakeDataset( - accelerated_fields=accelerated_fields, + accelerated_fields=utils.unmarshal( + accelerated_fields, Optional[List[str]] + ), bucket_name=bucket_name, cache_connection=utils.get_pydantic_model( cache_connection, Optional[models.CacheConnection] @@ -372,6 +484,8 @@ def create( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["lake"], + extensions={"x-cribl-availability": "cloud", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -381,10 +495,13 @@ def create( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedCriblLakeDataset, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -398,7 +515,7 @@ async def create_async( *, lake_id: str, id: str, - accelerated_fields: Optional[List[str]] = None, + accelerated_fields: Optional[Iterable[str]] = None, bucket_name: Optional[str] = None, cache_connection: Optional[ Union[models.CacheConnection, models.CacheConnectionTypedDict] @@ -436,12 +553,12 @@ async def create_async( :param deletion_started_at: Timestamp (in Unix time) when Dataset deletion was initiated, in milliseconds. :param description: Brief description of the Dataset. :param format_: Storage format used for data persisted in the Dataset. - :param http_da_used: If true, the Dataset is used by Direct Access HTTP. + :param http_da_used: If true, the Dataset is used by Direct Access HTTP. Otherwise, false. :param metrics: :param retention_period_in_days: Dataset retention period, in days. :param search_config: :param storage_class: Storage class used for objects written to the Dataset. - :param storage_location_id: Identifier for the Storage Location that backs the Dataset. Mutually exclusive with bucketName. + :param storage_location_id: Unique identifier for the Storage Location that backs the Dataset. Mutually exclusive with bucketName. :param view_name: Name of the ClickHouse view for the Dataset on the Lakehouse. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method @@ -461,7 +578,9 @@ async def create_async( request = models.CreateCriblLakeDatasetByLakeIDRequest( lake_id=lake_id, cribl_lake_dataset=models.CriblLakeDataset( - accelerated_fields=accelerated_fields, + accelerated_fields=utils.unmarshal( + accelerated_fields, Optional[List[str]] + ), bucket_name=bucket_name, cache_connection=utils.get_pydantic_model( cache_connection, Optional[models.CacheConnection] @@ -529,6 +648,8 @@ async def create_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["lake"], + extensions={"x-cribl-availability": "cloud", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -538,10 +659,13 @@ async def create_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedCriblLakeDataset, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -627,6 +751,8 @@ def get( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["lake"], + extensions={"x-cribl-availability": "cloud", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -636,10 +762,13 @@ def get( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedCriblLakeDataset, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -725,6 +854,8 @@ async def get_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["lake"], + extensions={"x-cribl-availability": "cloud", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -734,10 +865,13 @@ async def get_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedCriblLakeDataset, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -751,7 +885,7 @@ def update( *, lake_id: str, id_param: str, - accelerated_fields: Optional[List[str]] = None, + accelerated_fields: Optional[Iterable[str]] = None, bucket_name: Optional[str] = None, cache_connection: Optional[ Union[models.CacheConnection, models.CacheConnectionTypedDict] @@ -790,13 +924,13 @@ def update( :param deletion_started_at: Timestamp (in Unix time) when Dataset deletion was initiated, in milliseconds. :param description: Brief description of the Dataset. :param format_: Storage format used for data persisted in the Dataset. - :param http_da_used: If true, the Dataset is used by Direct Access HTTP. - :param id: Dataset identifier. Optional; the path parameter id is authoritative. + :param http_da_used: If true, the Dataset is used by Direct Access HTTP. Otherwise, false. + :param id: Unique identifier for the Dataset. Optional; the path parameter id is authoritative. :param metrics: :param retention_period_in_days: Dataset retention period, in days. :param search_config: :param storage_class: Storage class used for objects written to the Dataset. - :param storage_location_id: Identifier for the Storage Location that backs the Dataset. Mutually exclusive with bucketName. + :param storage_location_id: Unique identifier for the Storage Location that backs the Dataset. Mutually exclusive with bucketName. :param view_name: Name of the ClickHouse view for the Dataset on the Lakehouse. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method @@ -817,7 +951,9 @@ def update( lake_id=lake_id, id_param=id_param, cribl_lake_dataset_update=models.CriblLakeDatasetUpdate( - accelerated_fields=accelerated_fields, + accelerated_fields=utils.unmarshal( + accelerated_fields, Optional[List[str]] + ), bucket_name=bucket_name, cache_connection=utils.get_pydantic_model( cache_connection, Optional[models.CacheConnection] @@ -885,6 +1021,8 @@ def update( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["lake"], + extensions={"x-cribl-availability": "cloud", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -894,10 +1032,13 @@ def update( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedCriblLakeDataset, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -911,7 +1052,7 @@ async def update_async( *, lake_id: str, id_param: str, - accelerated_fields: Optional[List[str]] = None, + accelerated_fields: Optional[Iterable[str]] = None, bucket_name: Optional[str] = None, cache_connection: Optional[ Union[models.CacheConnection, models.CacheConnectionTypedDict] @@ -950,13 +1091,13 @@ async def update_async( :param deletion_started_at: Timestamp (in Unix time) when Dataset deletion was initiated, in milliseconds. :param description: Brief description of the Dataset. :param format_: Storage format used for data persisted in the Dataset. - :param http_da_used: If true, the Dataset is used by Direct Access HTTP. - :param id: Dataset identifier. Optional; the path parameter id is authoritative. + :param http_da_used: If true, the Dataset is used by Direct Access HTTP. Otherwise, false. + :param id: Unique identifier for the Dataset. Optional; the path parameter id is authoritative. :param metrics: :param retention_period_in_days: Dataset retention period, in days. :param search_config: :param storage_class: Storage class used for objects written to the Dataset. - :param storage_location_id: Identifier for the Storage Location that backs the Dataset. Mutually exclusive with bucketName. + :param storage_location_id: Unique identifier for the Storage Location that backs the Dataset. Mutually exclusive with bucketName. :param view_name: Name of the ClickHouse view for the Dataset on the Lakehouse. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method @@ -977,7 +1118,9 @@ async def update_async( lake_id=lake_id, id_param=id_param, cribl_lake_dataset_update=models.CriblLakeDatasetUpdate( - accelerated_fields=accelerated_fields, + accelerated_fields=utils.unmarshal( + accelerated_fields, Optional[List[str]] + ), bucket_name=bucket_name, cache_connection=utils.get_pydantic_model( cache_connection, Optional[models.CacheConnection] @@ -1045,6 +1188,8 @@ async def update_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["lake"], + extensions={"x-cribl-availability": "cloud", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1054,10 +1199,13 @@ async def update_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedCriblLakeDataset, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -1140,6 +1288,8 @@ def delete( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["lake"], + extensions={"x-cribl-availability": "cloud", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1149,10 +1299,13 @@ def delete( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedCriblLakeDataset, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -1235,6 +1388,8 @@ async def delete_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["lake"], + extensions={"x-cribl-availability": "cloud", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1244,10 +1399,13 @@ async def delete_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedCriblLakeDataset, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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 d90e28780..c7e828adf 100644 --- a/src/cribl_control_plane/destinations.py +++ b/src/cribl_control_plane/destinations.py @@ -10,7 +10,8 @@ from cribl_control_plane.types import BaseModel, OptionalNullable, UNSET from cribl_control_plane.utils import get_security_from_env from cribl_control_plane.utils.unmarshal_json_response import unmarshal_json_response -from typing import Any, Mapping, Optional, Union, cast +from jsonpath import JSONPath +from typing import Any, Awaitable, Dict, List, Mapping, Optional, Union, cast class Destinations(BaseSDK): @@ -38,16 +39,20 @@ def list( self, *, type_: Optional[models.DestinationType] = None, + offset: Optional[int] = None, + limit: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.CountedOutputResponse: + ) -> Optional[models.ListOutputResponse]: r"""List all Destinations Get a list of all Destinations. :param type: Type of Destination to include in the results. Each request can include only one type parameter; multiple parameters per request are not supported. + :param offset: Pagination offset + :param limit: Maximum number of items to return :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 @@ -65,6 +70,8 @@ def list( request = models.ListOutputRequest( type=type_, + offset=offset, + limit=limit, ) req = self._build_request( @@ -105,19 +112,52 @@ def list( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), retry_config=retry_config, ) + def next_func() -> Optional[models.ListOutputResponse]: + body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]]) + + offset = request.offset if isinstance(request.offset, int) else 0 + + if not http_res.text: + return None + results = JSONPath("$.items").parse(body) + if len(results) == 0 or len(results[0]) == 0: + return None + limit_ = request.limit if isinstance(request.limit, int) else 0 + if len(results[0]) < limit_: + return None + next_offset = offset + len(results[0]) + + return self.list( + type_=type_, + offset=next_offset, + limit=limit, + retries=retries, + server_url=server_url, + timeout_ms=timeout_ms, + http_headers=http_headers, + ) + response_data: Any = None if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response(models.CountedOutputResponse, http_res) + return models.ListOutputResponse( + result=unmarshal_json_response(models.ListOutputResponseBody, http_res), + next=next_func, + ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -130,16 +170,20 @@ async def list_async( self, *, type_: Optional[models.DestinationType] = None, + offset: Optional[int] = None, + limit: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.CountedOutputResponse: + ) -> Optional[models.ListOutputResponse]: r"""List all Destinations Get a list of all Destinations. :param type: Type of Destination to include in the results. Each request can include only one type parameter; multiple parameters per request are not supported. + :param offset: Pagination offset + :param limit: Maximum number of items to return :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 @@ -157,6 +201,8 @@ async def list_async( request = models.ListOutputRequest( type=type_, + offset=offset, + limit=limit, ) req = self._build_request_async( @@ -197,19 +243,55 @@ async def list_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), retry_config=retry_config, ) + def next_func() -> Awaitable[Optional[models.ListOutputResponse]]: + body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]]) + + async def empty_result(): + return None + + offset = request.offset if isinstance(request.offset, int) else 0 + + if not http_res.text: + return empty_result() + results = JSONPath("$.items").parse(body) + if len(results) == 0 or len(results[0]) == 0: + return empty_result() + limit_ = request.limit if isinstance(request.limit, int) else 0 + if len(results[0]) < limit_: + return empty_result() + next_offset = offset + len(results[0]) + + return self.list_async( + type_=type_, + offset=next_offset, + limit=limit, + retries=retries, + server_url=server_url, + timeout_ms=timeout_ms, + http_headers=http_headers, + ) + response_data: Any = None if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response(models.CountedOutputResponse, http_res) + return models.ListOutputResponse( + result=unmarshal_json_response(models.ListOutputResponseBody, http_res), + next=next_func, + ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -292,6 +374,8 @@ def create( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -301,10 +385,13 @@ def create( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedOutputResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "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", "*"): @@ -387,6 +474,8 @@ async def create_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -396,10 +485,13 @@ async def create_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedOutputResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "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", "*"): @@ -479,6 +571,8 @@ def get( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -488,10 +582,13 @@ def get( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedOutputResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "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", "*"): @@ -571,6 +668,8 @@ async def get_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -580,10 +679,13 @@ async def get_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedOutputResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "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", "*"): @@ -669,6 +771,8 @@ def update( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -678,10 +782,13 @@ def update( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedOutputResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "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", "*"): @@ -767,6 +874,8 @@ async def update_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -776,10 +885,13 @@ async def update_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedOutputResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "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", "*"): @@ -859,6 +971,8 @@ def delete( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -868,10 +982,13 @@ def delete( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedOutputResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "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", "*"): @@ -951,6 +1068,8 @@ async def delete_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -960,10 +1079,13 @@ async def delete_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedOutputResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "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/destinations_pq.py b/src/cribl_control_plane/destinations_pq.py index 7c6936a2b..32f17c31c 100644 --- a/src/cribl_control_plane/destinations_pq.py +++ b/src/cribl_control_plane/destinations_pq.py @@ -81,6 +81,8 @@ def clear( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -90,10 +92,13 @@ def clear( response_data: Any = None if utils.match_response(http_res, "201", "application/json"): return unmarshal_json_response(models.CountedString, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -173,6 +178,8 @@ async def clear_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -182,10 +189,13 @@ async def clear_async( response_data: Any = None if utils.match_response(http_res, "201", "application/json"): return unmarshal_json_response(models.CountedString, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -265,6 +275,8 @@ def get( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -274,10 +286,13 @@ def get( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedJobInfo, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -357,6 +372,8 @@ async def get_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -366,10 +383,13 @@ async def get_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedJobInfo, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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_statuses.py b/src/cribl_control_plane/destinations_statuses.py index 5489ae77f..fe3491af9 100644 --- a/src/cribl_control_plane/destinations_statuses.py +++ b/src/cribl_control_plane/destinations_statuses.py @@ -91,6 +91,8 @@ def list( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -126,13 +128,18 @@ def next_func() -> Optional[models.GetOutputStatusResponse]: response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return models.GetOutputStatusResponse( - result=unmarshal_json_response(models.CountedOutputStatus, http_res), + result=unmarshal_json_response( + models.GetOutputStatusResponseBody, http_res + ), next=next_func, ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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", "401", "4XX"], "*"): + if utils.match_response(http_res, ["400", "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", "*"): @@ -221,6 +228,8 @@ async def list_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -259,13 +268,18 @@ async def empty_result(): response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return models.GetOutputStatusResponse( - result=unmarshal_json_response(models.CountedOutputStatus, http_res), + result=unmarshal_json_response( + models.GetOutputStatusResponseBody, http_res + ), next=next_func, ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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", "401", "4XX"], "*"): + if utils.match_response(http_res, ["400", "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", "*"): @@ -351,6 +365,8 @@ def get( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -360,10 +376,13 @@ def get( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedOutputStatus, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -449,6 +468,8 @@ async def get_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -458,10 +479,13 @@ async def get_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedOutputStatus, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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/__init__.py b/src/cribl_control_plane/errors/__init__.py index 729ad6942..576eccf73 100644 --- a/src/cribl_control_plane/errors/__init__.py +++ b/src/cribl_control_plane/errors/__init__.py @@ -14,6 +14,7 @@ ) from .no_response_error import NoResponseError from .responsevalidationerror import ResponseValidationError + from .restapijsonerror import RestAPIJSONError, RestAPIJSONErrorData __all__ = [ "APIError", @@ -24,6 +25,8 @@ "HealthServerStatusErrorData", "NoResponseError", "ResponseValidationError", + "RestAPIJSONError", + "RestAPIJSONErrorData", ] _dynamic_imports: dict[str, str] = { @@ -34,6 +37,8 @@ "HealthServerStatusErrorData": ".healthserverstatus_error", "NoResponseError": ".no_response_error", "ResponseValidationError": ".responsevalidationerror", + "RestAPIJSONError": ".restapijsonerror", + "RestAPIJSONErrorData": ".restapijsonerror", } diff --git a/src/cribl_control_plane/errors/error.py b/src/cribl_control_plane/errors/error.py index 758a2ebe7..0b4a4346d 100644 --- a/src/cribl_control_plane/errors/error.py +++ b/src/cribl_control_plane/errors/error.py @@ -3,14 +3,25 @@ from __future__ import annotations from cribl_control_plane.errors import CriblControlPlaneError from cribl_control_plane.types import BaseModel +from cribl_control_plane.utils import validate_const from dataclasses import dataclass, field import httpx -from typing import Optional +import pydantic +from pydantic.functional_validators import AfterValidator +from typing import Any, Literal, Optional +from typing_extensions import Annotated class ErrorData(BaseModel): - message: Optional[str] = None - r"""Error message""" + message: str + r"""Human-readable message describing the error.""" + STATUS: Annotated[ + Annotated[Literal["error"], AfterValidator(validate_const("error"))], + pydantic.Field(alias="status"), + ] = "error" + r"""Always \"error\" for API error responses.""" + details: Optional[Any] = None + r"""Optional structured details about the error (e.g. validation failures).""" @dataclass(unsafe_hash=True) 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/errors/restapijsonerror.py b/src/cribl_control_plane/errors/restapijsonerror.py new file mode 100644 index 000000000..b7368b51e --- /dev/null +++ b/src/cribl_control_plane/errors/restapijsonerror.py @@ -0,0 +1,42 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from cribl_control_plane.errors import CriblControlPlaneError +from cribl_control_plane.types import BaseModel +from cribl_control_plane.utils import validate_const +from dataclasses import dataclass, field +import httpx +import pydantic +from pydantic.functional_validators import AfterValidator +from typing import Any, Dict, Literal, Optional +from typing_extensions import Annotated + + +class RestAPIJSONErrorData(BaseModel): + message: str + r"""Human-readable message or serialized validation details for the error.""" + details: Optional[Dict[str, Any]] = None + r"""Optional structured details about the error (e.g. validation failures).""" + STATUS: Annotated[ + Annotated[Literal["error"], AfterValidator(validate_const("error"))], + pydantic.Field(alias="status"), + ] = "error" + r"""Always error for API error responses.""" + + +@dataclass(unsafe_hash=True) +class RestAPIJSONError(CriblControlPlaneError): + r"""JSON body returned for many REST failures that use RESTEndpoint.sendError (and similar handlers).""" + + data: RestAPIJSONErrorData = field(hash=False) + + def __init__( + self, + data: RestAPIJSONErrorData, + raw_response: httpx.Response, + body: Optional[str] = None, + ): + fallback = body or raw_response.text + message = str(data.message) or fallback + super().__init__(message, raw_response, body) + object.__setattr__(self, "data", data) diff --git a/src/cribl_control_plane/functions.py b/src/cribl_control_plane/functions.py index b39e208eb..0282c4dac 100644 --- a/src/cribl_control_plane/functions.py +++ b/src/cribl_control_plane/functions.py @@ -6,7 +6,8 @@ from cribl_control_plane.types import OptionalNullable, UNSET from cribl_control_plane.utils import get_security_from_env from cribl_control_plane.utils.unmarshal_json_response import unmarshal_json_response -from typing import Any, Mapping, Optional +from jsonpath import JSONPath +from typing import Any, Awaitable, Dict, List, Mapping, Optional, Union class Functions(BaseSDK): @@ -15,15 +16,21 @@ class Functions(BaseSDK): def list( self, *, + show_hidden: Optional[bool] = None, + offset: Optional[int] = None, + limit: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.CountedFunctionResponse: + ) -> Optional[models.GetFunctionsResponse]: r"""List all Functions Get a list of all Functions. + :param show_hidden: If true, include hidden Functions in the response. Otherwise, hidden Functions are excluded. + :param offset: Pagination offset + :param limit: Maximum number of items to return :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 +45,19 @@ def list( base_url = server_url else: base_url = self._get_url(base_url, url_variables) + + request = models.GetFunctionsRequest( + show_hidden=show_hidden, + offset=offset, + limit=limit, + ) + 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, @@ -76,19 +90,54 @@ def list( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["functions"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), retry_config=retry_config, ) + def next_func() -> Optional[models.GetFunctionsResponse]: + body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]]) + + offset = request.offset if isinstance(request.offset, int) else 0 + + if not http_res.text: + return None + results = JSONPath("$.items").parse(body) + if len(results) == 0 or len(results[0]) == 0: + return None + limit_ = request.limit if isinstance(request.limit, int) else 0 + if len(results[0]) < limit_: + return None + next_offset = offset + len(results[0]) + + return self.list( + show_hidden=show_hidden, + offset=next_offset, + limit=limit, + retries=retries, + server_url=server_url, + timeout_ms=timeout_ms, + http_headers=http_headers, + ) + response_data: Any = None if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response(models.CountedFunctionResponse, http_res) + return models.GetFunctionsResponse( + result=unmarshal_json_response( + models.GetFunctionsResponseBody, http_res + ), + next=next_func, + ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -100,15 +149,21 @@ def list( async def list_async( self, *, + show_hidden: Optional[bool] = None, + offset: Optional[int] = None, + limit: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.CountedFunctionResponse: + ) -> Optional[models.GetFunctionsResponse]: r"""List all Functions Get a list of all Functions. + :param show_hidden: If true, include hidden Functions in the response. Otherwise, hidden Functions are excluded. + :param offset: Pagination offset + :param limit: Maximum number of items to return :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 @@ -123,12 +178,19 @@ 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, + offset=offset, + limit=limit, + ) + 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, @@ -161,19 +223,57 @@ async def list_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["functions"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), retry_config=retry_config, ) + def next_func() -> Awaitable[Optional[models.GetFunctionsResponse]]: + body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]]) + + async def empty_result(): + return None + + offset = request.offset if isinstance(request.offset, int) else 0 + + if not http_res.text: + return empty_result() + results = JSONPath("$.items").parse(body) + if len(results) == 0 or len(results[0]) == 0: + return empty_result() + limit_ = request.limit if isinstance(request.limit, int) else 0 + if len(results[0]) < limit_: + return empty_result() + next_offset = offset + len(results[0]) + + return self.list_async( + show_hidden=show_hidden, + offset=next_offset, + limit=limit, + retries=retries, + server_url=server_url, + timeout_ms=timeout_ms, + http_headers=http_headers, + ) + response_data: Any = None if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response(models.CountedFunctionResponse, http_res) + return models.GetFunctionsResponse( + result=unmarshal_json_response( + models.GetFunctionsResponseBody, http_res + ), + next=next_func, + ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -253,6 +353,8 @@ def get( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["functions"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -262,10 +364,13 @@ def get( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedFunctionResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -345,6 +450,8 @@ async def get_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["functions"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -354,10 +461,13 @@ async def get_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedFunctionResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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/groups_sdk.py b/src/cribl_control_plane/groups_sdk.py index c6a749dff..fb38ed899 100644 --- a/src/cribl_control_plane/groups_sdk.py +++ b/src/cribl_control_plane/groups_sdk.py @@ -9,7 +9,8 @@ from cribl_control_plane.types import OptionalNullable, UNSET from cribl_control_plane.utils import get_security_from_env from cribl_control_plane.utils.unmarshal_json_response import unmarshal_json_response -from typing import Any, List, Mapping, Optional, Union +from jsonpath import JSONPath +from typing import Any, Awaitable, Dict, Iterable, List, Mapping, Optional, Union class GroupsSDK(BaseSDK): @@ -34,17 +35,21 @@ def list( *, product: models.ProductsCore, fields: Optional[str] = None, + offset: Optional[int] = None, + limit: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.CountedConfigGroup: + ) -> Optional[models.GetProductsGroupsByProductResponse]: r"""List all Worker Groups, Outpost Groups, or Edge Fleets for the specified Cribl product Get a list of all Worker Groups, Outpost Groups, or Edge Fleets for the specified Cribl product. :param product: Name of the Cribl product to get the Worker Groups, Outpost Groups, or Edge Fleets for. :param fields: Comma-separated list of additional properties to include in the response. Available values are git.commit, git.localChanges, and git.log. + :param offset: Pagination offset + :param limit: Maximum number of items to return :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 @@ -60,9 +65,11 @@ def list( else: base_url = self._get_url(base_url, url_variables) - request = models.ListConfigGroupByProductRequest( + request = models.GetProductsGroupsByProductRequest( product=product, fields=fields, + offset=offset, + limit=limit, ) req = self._build_request( @@ -98,24 +105,60 @@ def list( hook_ctx=HookContext( config=self.sdk_configuration, base_url=base_url or "", - operation_id="listConfigGroupByProduct", + operation_id="getProductsGroupsByProduct", oauth2_scopes=[], security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["groups"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), retry_config=retry_config, ) + def next_func() -> Optional[models.GetProductsGroupsByProductResponse]: + body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]]) + + offset = request.offset if isinstance(request.offset, int) else 0 + + if not http_res.text: + return None + results = JSONPath("$.items").parse(body) + if len(results) == 0 or len(results[0]) == 0: + return None + limit_ = request.limit if isinstance(request.limit, int) else 0 + if len(results[0]) < limit_: + return None + next_offset = offset + len(results[0]) + + return self.list( + product=product, + fields=fields, + offset=next_offset, + limit=limit, + retries=retries, + server_url=server_url, + timeout_ms=timeout_ms, + http_headers=http_headers, + ) + response_data: Any = None if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response(models.CountedConfigGroup, http_res) + return models.GetProductsGroupsByProductResponse( + result=unmarshal_json_response( + models.GetProductsGroupsByProductResponseBody, http_res + ), + next=next_func, + ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -129,17 +172,21 @@ async def list_async( *, product: models.ProductsCore, fields: Optional[str] = None, + offset: Optional[int] = None, + limit: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.CountedConfigGroup: + ) -> Optional[models.GetProductsGroupsByProductResponse]: r"""List all Worker Groups, Outpost Groups, or Edge Fleets for the specified Cribl product Get a list of all Worker Groups, Outpost Groups, or Edge Fleets for the specified Cribl product. :param product: Name of the Cribl product to get the Worker Groups, Outpost Groups, or Edge Fleets for. :param fields: Comma-separated list of additional properties to include in the response. Available values are git.commit, git.localChanges, and git.log. + :param offset: Pagination offset + :param limit: Maximum number of items to return :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 @@ -155,9 +202,11 @@ async def list_async( else: base_url = self._get_url(base_url, url_variables) - request = models.ListConfigGroupByProductRequest( + request = models.GetProductsGroupsByProductRequest( product=product, fields=fields, + offset=offset, + limit=limit, ) req = self._build_request_async( @@ -193,24 +242,65 @@ async def list_async( hook_ctx=HookContext( config=self.sdk_configuration, base_url=base_url or "", - operation_id="listConfigGroupByProduct", + operation_id="getProductsGroupsByProduct", oauth2_scopes=[], security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["groups"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), retry_config=retry_config, ) + def next_func() -> ( + Awaitable[Optional[models.GetProductsGroupsByProductResponse]] + ): + body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]]) + + async def empty_result(): + return None + + offset = request.offset if isinstance(request.offset, int) else 0 + + if not http_res.text: + return empty_result() + results = JSONPath("$.items").parse(body) + if len(results) == 0 or len(results[0]) == 0: + return empty_result() + limit_ = request.limit if isinstance(request.limit, int) else 0 + if len(results[0]) < limit_: + return empty_result() + next_offset = offset + len(results[0]) + + return self.list_async( + product=product, + fields=fields, + offset=next_offset, + limit=limit, + retries=retries, + server_url=server_url, + timeout_ms=timeout_ms, + http_headers=http_headers, + ) + response_data: Any = None if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response(models.CountedConfigGroup, http_res) + return models.GetProductsGroupsByProductResponse( + result=unmarshal_json_response( + models.GetProductsGroupsByProductResponseBody, http_res + ), + next=next_func, + ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -227,6 +317,7 @@ def create( cloud: Optional[ Union[models.ConfigGroupCloud, models.ConfigGroupCloudTypedDict] ] = None, + collectors_ha_enabled: Optional[bool] = None, description: Optional[str] = None, estimated_ingest_rate: Optional[ models.EstimatedIngestRateOptionsConfigGroup @@ -239,7 +330,7 @@ def create( on_prem: Optional[bool] = None, provisioned: Optional[bool] = None, source_group_id: Optional[str] = None, - streamtags: Optional[List[str]] = None, + streamtags: Optional[Iterable[str]] = None, tags: Optional[str] = None, type_: Optional[models.TypeOptionsConfigGroup] = None, upgrade_version: Optional[str] = None, @@ -256,6 +347,7 @@ def create( :param product: Name of the Cribl product to add the Worker Group, Outpost Group, or Edge Fleet to. :param id: Unique identifier. :param cloud: + :param collectors_ha_enabled: Keeps Collector jobs running if the Leader Node fails. Applies only to Stream Worker Groups. Always true for Cribl.Cloud groups; defaults to false for on-prem groups. to Stream Worker Groups. Always true for Cribl.Cloud groups; defaults to false for on-prem groups. :param description: Brief description of the Worker Group, Outpost Group, or Edge Fleet. :param estimated_ingest_rate: Estimated ingest rate for a Cribl.Cloud Worker Group, in GB/sec. :param inherits: The id of the parent Edge Fleet. If provided, this Fleet inherits configuration from the specified parent Fleet. Applies only to Edge Fleets. @@ -286,12 +378,13 @@ def create( else: base_url = self._get_url(base_url, url_variables) - request = models.CreateConfigGroupByProductRequest( + request = models.CreateProductsGroupsByProductRequest( product=product, group_create_request=models.GroupCreateRequest( cloud=utils.get_pydantic_model( cloud, Optional[models.ConfigGroupCloud] ), + collectors_ha_enabled=collectors_ha_enabled, description=description, estimated_ingest_rate=estimated_ingest_rate, id=id, @@ -303,7 +396,7 @@ def create( on_prem=on_prem, provisioned=provisioned, source_group_id=source_group_id, - streamtags=streamtags, + streamtags=utils.unmarshal(streamtags, Optional[List[str]]), tags=tags, type=type_, upgrade_version=upgrade_version, @@ -351,11 +444,13 @@ def create( hook_ctx=HookContext( config=self.sdk_configuration, base_url=base_url or "", - operation_id="createConfigGroupByProduct", + operation_id="createProductsGroupsByProduct", oauth2_scopes=[], security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["groups"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -365,10 +460,13 @@ def create( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedConfigGroup, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, ["400", "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", "*"): @@ -385,6 +483,7 @@ async def create_async( cloud: Optional[ Union[models.ConfigGroupCloud, models.ConfigGroupCloudTypedDict] ] = None, + collectors_ha_enabled: Optional[bool] = None, description: Optional[str] = None, estimated_ingest_rate: Optional[ models.EstimatedIngestRateOptionsConfigGroup @@ -397,7 +496,7 @@ async def create_async( on_prem: Optional[bool] = None, provisioned: Optional[bool] = None, source_group_id: Optional[str] = None, - streamtags: Optional[List[str]] = None, + streamtags: Optional[Iterable[str]] = None, tags: Optional[str] = None, type_: Optional[models.TypeOptionsConfigGroup] = None, upgrade_version: Optional[str] = None, @@ -414,6 +513,7 @@ async def create_async( :param product: Name of the Cribl product to add the Worker Group, Outpost Group, or Edge Fleet to. :param id: Unique identifier. :param cloud: + :param collectors_ha_enabled: Keeps Collector jobs running if the Leader Node fails. Applies only to Stream Worker Groups. Always true for Cribl.Cloud groups; defaults to false for on-prem groups. to Stream Worker Groups. Always true for Cribl.Cloud groups; defaults to false for on-prem groups. :param description: Brief description of the Worker Group, Outpost Group, or Edge Fleet. :param estimated_ingest_rate: Estimated ingest rate for a Cribl.Cloud Worker Group, in GB/sec. :param inherits: The id of the parent Edge Fleet. If provided, this Fleet inherits configuration from the specified parent Fleet. Applies only to Edge Fleets. @@ -444,12 +544,13 @@ async def create_async( else: base_url = self._get_url(base_url, url_variables) - request = models.CreateConfigGroupByProductRequest( + request = models.CreateProductsGroupsByProductRequest( product=product, group_create_request=models.GroupCreateRequest( cloud=utils.get_pydantic_model( cloud, Optional[models.ConfigGroupCloud] ), + collectors_ha_enabled=collectors_ha_enabled, description=description, estimated_ingest_rate=estimated_ingest_rate, id=id, @@ -461,7 +562,7 @@ async def create_async( on_prem=on_prem, provisioned=provisioned, source_group_id=source_group_id, - streamtags=streamtags, + streamtags=utils.unmarshal(streamtags, Optional[List[str]]), tags=tags, type=type_, upgrade_version=upgrade_version, @@ -509,11 +610,13 @@ async def create_async( hook_ctx=HookContext( config=self.sdk_configuration, base_url=base_url or "", - operation_id="createConfigGroupByProduct", + operation_id="createProductsGroupsByProduct", oauth2_scopes=[], security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["groups"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -523,10 +626,13 @@ async def create_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedConfigGroup, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, ["400", "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", "*"): @@ -568,7 +674,7 @@ def get( else: base_url = self._get_url(base_url, url_variables) - request = models.GetConfigGroupByProductAndIDRequest( + request = models.GetProductsGroupsByProductAndIDRequest( product=product, id=id, fields=fields, @@ -607,11 +713,13 @@ def get( hook_ctx=HookContext( config=self.sdk_configuration, base_url=base_url or "", - operation_id="getConfigGroupByProductAndId", + operation_id="getProductsGroupsByProductAndId", oauth2_scopes=[], security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["groups"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -621,10 +729,13 @@ def get( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedConfigGroup, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -666,7 +777,7 @@ async def get_async( else: base_url = self._get_url(base_url, url_variables) - request = models.GetConfigGroupByProductAndIDRequest( + request = models.GetProductsGroupsByProductAndIDRequest( product=product, id=id, fields=fields, @@ -705,11 +816,13 @@ async def get_async( hook_ctx=HookContext( config=self.sdk_configuration, base_url=base_url or "", - operation_id="getConfigGroupByProductAndId", + operation_id="getProductsGroupsByProductAndId", oauth2_scopes=[], security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["groups"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -719,10 +832,13 @@ async def get_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedConfigGroup, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -740,6 +856,7 @@ def update( cloud: Optional[ Union[models.ConfigGroupCloud, models.ConfigGroupCloudTypedDict] ] = None, + collectors_ha_enabled: Optional[bool] = None, config_version: Optional[str] = None, deploying_worker_count: Optional[int] = None, description: Optional[str] = None, @@ -753,15 +870,15 @@ def update( is_search: Optional[bool] = None, lookup_deployments: Optional[ Union[ - List[models.ConfigGroupLookups], - List[models.ConfigGroupLookupsTypedDict], + Iterable[models.ConfigGroupLookups], + Iterable[models.ConfigGroupLookupsTypedDict], ] ] = None, max_worker_age: Optional[str] = None, name: Optional[str] = None, on_prem: Optional[bool] = None, provisioned: Optional[bool] = None, - streamtags: Optional[List[str]] = None, + streamtags: Optional[Iterable[str]] = None, tags: Optional[str] = None, type_: Optional[models.TypeOptionsConfigGroup] = None, upgrade_version: Optional[str] = None, @@ -780,6 +897,7 @@ def update( :param id_param: The id of the Worker Group, Outpost Group, or Edge Fleet to update. :param id: Unique identifier. :param cloud: + :param collectors_ha_enabled: Keeps Collector jobs running if the Leader Node fails. Applies only to Stream Worker Groups. Always true for Cribl.Cloud groups; defaults to false for on-prem groups. to Stream Worker Groups. Always true for Cribl.Cloud groups; defaults to false for on-prem groups. :param config_version: Commit hash of the deployed configuration version for the Worker Group, Outpost Group, or Edge Fleet. Automatically populated and returned in responses.

**Warning**: Do not change the value of configVersion in the body of PATCH requests. The PATCH request body must include the value as it appears in the GET /products/{product}/groups/{id} response. :param deploying_worker_count: Number of Workers or Nodes that are currently deploying the latest configuration version.

**Warning**: Do not change the value of deployingWorkerCount in the body of PATCH requests. The PATCH request body must include the value as it appears in the GET /products/{product}/groups/{id} response. :param description: Brief description of the Worker Group, Outpost Group, or Edge Fleet. @@ -815,13 +933,14 @@ def update( else: base_url = self._get_url(base_url, url_variables) - request = models.UpdateConfigGroupByProductAndIDRequest( + request = models.UpdateProductsGroupsByProductAndIDRequest( product=product, id_param=id_param, config_group=models.ConfigGroup( cloud=utils.get_pydantic_model( cloud, Optional[models.ConfigGroupCloud] ), + collectors_ha_enabled=collectors_ha_enabled, config_version=config_version, deploying_worker_count=deploying_worker_count, description=description, @@ -839,7 +958,7 @@ def update( name=name, on_prem=on_prem, provisioned=provisioned, - streamtags=streamtags, + streamtags=utils.unmarshal(streamtags, Optional[List[str]]), tags=tags, type=type_, upgrade_version=upgrade_version, @@ -884,11 +1003,13 @@ def update( hook_ctx=HookContext( config=self.sdk_configuration, base_url=base_url or "", - operation_id="updateConfigGroupByProductAndId", + operation_id="updateProductsGroupsByProductAndId", oauth2_scopes=[], security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["groups"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -898,10 +1019,13 @@ def update( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedConfigGroup, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, ["400", "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", "*"): @@ -919,6 +1043,7 @@ async def update_async( cloud: Optional[ Union[models.ConfigGroupCloud, models.ConfigGroupCloudTypedDict] ] = None, + collectors_ha_enabled: Optional[bool] = None, config_version: Optional[str] = None, deploying_worker_count: Optional[int] = None, description: Optional[str] = None, @@ -932,15 +1057,15 @@ async def update_async( is_search: Optional[bool] = None, lookup_deployments: Optional[ Union[ - List[models.ConfigGroupLookups], - List[models.ConfigGroupLookupsTypedDict], + Iterable[models.ConfigGroupLookups], + Iterable[models.ConfigGroupLookupsTypedDict], ] ] = None, max_worker_age: Optional[str] = None, name: Optional[str] = None, on_prem: Optional[bool] = None, provisioned: Optional[bool] = None, - streamtags: Optional[List[str]] = None, + streamtags: Optional[Iterable[str]] = None, tags: Optional[str] = None, type_: Optional[models.TypeOptionsConfigGroup] = None, upgrade_version: Optional[str] = None, @@ -959,6 +1084,7 @@ async def update_async( :param id_param: The id of the Worker Group, Outpost Group, or Edge Fleet to update. :param id: Unique identifier. :param cloud: + :param collectors_ha_enabled: Keeps Collector jobs running if the Leader Node fails. Applies only to Stream Worker Groups. Always true for Cribl.Cloud groups; defaults to false for on-prem groups. to Stream Worker Groups. Always true for Cribl.Cloud groups; defaults to false for on-prem groups. :param config_version: Commit hash of the deployed configuration version for the Worker Group, Outpost Group, or Edge Fleet. Automatically populated and returned in responses.

**Warning**: Do not change the value of configVersion in the body of PATCH requests. The PATCH request body must include the value as it appears in the GET /products/{product}/groups/{id} response. :param deploying_worker_count: Number of Workers or Nodes that are currently deploying the latest configuration version.

**Warning**: Do not change the value of deployingWorkerCount in the body of PATCH requests. The PATCH request body must include the value as it appears in the GET /products/{product}/groups/{id} response. :param description: Brief description of the Worker Group, Outpost Group, or Edge Fleet. @@ -994,13 +1120,14 @@ async def update_async( else: base_url = self._get_url(base_url, url_variables) - request = models.UpdateConfigGroupByProductAndIDRequest( + request = models.UpdateProductsGroupsByProductAndIDRequest( product=product, id_param=id_param, config_group=models.ConfigGroup( cloud=utils.get_pydantic_model( cloud, Optional[models.ConfigGroupCloud] ), + collectors_ha_enabled=collectors_ha_enabled, config_version=config_version, deploying_worker_count=deploying_worker_count, description=description, @@ -1018,7 +1145,7 @@ async def update_async( name=name, on_prem=on_prem, provisioned=provisioned, - streamtags=streamtags, + streamtags=utils.unmarshal(streamtags, Optional[List[str]]), tags=tags, type=type_, upgrade_version=upgrade_version, @@ -1063,11 +1190,13 @@ async def update_async( hook_ctx=HookContext( config=self.sdk_configuration, base_url=base_url or "", - operation_id="updateConfigGroupByProductAndId", + operation_id="updateProductsGroupsByProductAndId", oauth2_scopes=[], security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["groups"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1077,10 +1206,13 @@ async def update_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedConfigGroup, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, ["400", "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", "*"): @@ -1120,7 +1252,7 @@ def delete( else: base_url = self._get_url(base_url, url_variables) - request = models.DeleteConfigGroupByProductAndIDRequest( + request = models.DeleteProductsGroupsByProductAndIDRequest( product=product, id=id, ) @@ -1158,11 +1290,13 @@ def delete( hook_ctx=HookContext( config=self.sdk_configuration, base_url=base_url or "", - operation_id="deleteConfigGroupByProductAndId", + operation_id="deleteProductsGroupsByProductAndId", oauth2_scopes=[], security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["groups"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1172,10 +1306,13 @@ def delete( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedConfigGroup, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -1215,7 +1352,7 @@ async def delete_async( else: base_url = self._get_url(base_url, url_variables) - request = models.DeleteConfigGroupByProductAndIDRequest( + request = models.DeleteProductsGroupsByProductAndIDRequest( product=product, id=id, ) @@ -1253,11 +1390,13 @@ async def delete_async( hook_ctx=HookContext( config=self.sdk_configuration, base_url=base_url or "", - operation_id="deleteConfigGroupByProductAndId", + operation_id="deleteProductsGroupsByProductAndId", oauth2_scopes=[], security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["groups"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1267,10 +1406,13 @@ async def delete_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedConfigGroup, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -1287,8 +1429,8 @@ def deploy( version: str, lookups: Optional[ Union[ - List[models.DeployRequestLookups], - List[models.DeployRequestLookupsTypedDict], + Iterable[models.DeployRequestLookups], + Iterable[models.DeployRequestLookupsTypedDict], ] ] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, @@ -1319,7 +1461,7 @@ def deploy( else: base_url = self._get_url(base_url, url_variables) - request = models.UpdateConfigGroupDeployByProductAndIDRequest( + request = models.UpdateProductsGroupsDeployByProductAndIDRequest( product=product, id=id, deploy_request=models.DeployRequest( @@ -1366,11 +1508,13 @@ def deploy( hook_ctx=HookContext( config=self.sdk_configuration, base_url=base_url or "", - operation_id="updateConfigGroupDeployByProductAndId", + operation_id="updateProductsGroupsDeployByProductAndId", oauth2_scopes=[], security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["groups"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1380,10 +1524,13 @@ def deploy( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedConfigGroup, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -1400,8 +1547,8 @@ async def deploy_async( version: str, lookups: Optional[ Union[ - List[models.DeployRequestLookups], - List[models.DeployRequestLookupsTypedDict], + Iterable[models.DeployRequestLookups], + Iterable[models.DeployRequestLookupsTypedDict], ] ] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, @@ -1432,7 +1579,7 @@ async def deploy_async( else: base_url = self._get_url(base_url, url_variables) - request = models.UpdateConfigGroupDeployByProductAndIDRequest( + request = models.UpdateProductsGroupsDeployByProductAndIDRequest( product=product, id=id, deploy_request=models.DeployRequest( @@ -1479,11 +1626,13 @@ async def deploy_async( hook_ctx=HookContext( config=self.sdk_configuration, base_url=base_url or "", - operation_id="updateConfigGroupDeployByProductAndId", + operation_id="updateProductsGroupsDeployByProductAndId", oauth2_scopes=[], security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["groups"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1493,10 +1642,13 @@ async def deploy_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedConfigGroup, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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/health.py b/src/cribl_control_plane/health_sdk.py similarity index 96% rename from src/cribl_control_plane/health.py rename to src/cribl_control_plane/health_sdk.py index 39519032a..1e2ca7656 100644 --- a/src/cribl_control_plane/health.py +++ b/src/cribl_control_plane/health_sdk.py @@ -9,7 +9,7 @@ from typing import Any, Mapping, Optional -class Health(BaseSDK): +class HealthSDK(BaseSDK): r"""Actions related to REST server health""" def get( @@ -76,6 +76,8 @@ def get( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["health"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -166,6 +168,8 @@ async def get_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["health"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/cribl_control_plane/hectokens.py b/src/cribl_control_plane/hectokens.py index a08f558ac..62e82dc61 100644 --- a/src/cribl_control_plane/hectokens.py +++ b/src/cribl_control_plane/hectokens.py @@ -6,7 +6,7 @@ from cribl_control_plane.types import OptionalNullable, UNSET from cribl_control_plane.utils import get_security_from_env from cribl_control_plane.utils.unmarshal_json_response import unmarshal_json_response -from typing import Any, List, Mapping, Optional, Union +from typing import Any, Iterable, List, Mapping, Optional, Union class HecTokens(BaseSDK): @@ -15,13 +15,13 @@ def create( *, id: str, token: str, - allowed_indexes_at_token: Optional[List[str]] = None, + allowed_indexes_at_token: Optional[Iterable[str]] = None, description: Optional[str] = None, enabled: Optional[bool] = None, metadata: Optional[ Union[ - List[models.EventBreakerRuleFields], - List[models.EventBreakerRuleFieldsTypedDict], + Iterable[models.MetadataConfAddHecTokenRequest], + Iterable[models.MetadataConfAddHecTokenRequestTypedDict], ] ] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, @@ -57,11 +57,13 @@ def create( request = models.CreateInputHecTokenByIDRequest( id=id, add_hec_token_request=models.AddHecTokenRequest( - allowed_indexes_at_token=allowed_indexes_at_token, + allowed_indexes_at_token=utils.unmarshal( + allowed_indexes_at_token, Optional[List[str]] + ), description=description, enabled=enabled, metadata=utils.get_pydantic_model( - metadata, Optional[List[models.EventBreakerRuleFields]] + metadata, Optional[List[models.MetadataConfAddHecTokenRequest]] ), token=token, ), @@ -112,6 +114,8 @@ def create( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -121,10 +125,13 @@ def create( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedInputSplunkHec, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, ["400", "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", "*"): @@ -138,13 +145,13 @@ async def create_async( *, id: str, token: str, - allowed_indexes_at_token: Optional[List[str]] = None, + allowed_indexes_at_token: Optional[Iterable[str]] = None, description: Optional[str] = None, enabled: Optional[bool] = None, metadata: Optional[ Union[ - List[models.EventBreakerRuleFields], - List[models.EventBreakerRuleFieldsTypedDict], + Iterable[models.MetadataConfAddHecTokenRequest], + Iterable[models.MetadataConfAddHecTokenRequestTypedDict], ] ] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, @@ -180,11 +187,13 @@ async def create_async( request = models.CreateInputHecTokenByIDRequest( id=id, add_hec_token_request=models.AddHecTokenRequest( - allowed_indexes_at_token=allowed_indexes_at_token, + allowed_indexes_at_token=utils.unmarshal( + allowed_indexes_at_token, Optional[List[str]] + ), description=description, enabled=enabled, metadata=utils.get_pydantic_model( - metadata, Optional[List[models.EventBreakerRuleFields]] + metadata, Optional[List[models.MetadataConfAddHecTokenRequest]] ), token=token, ), @@ -235,6 +244,8 @@ async def create_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -244,10 +255,13 @@ async def create_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedInputSplunkHec, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, ["400", "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", "*"): @@ -261,13 +275,13 @@ def update( *, id: str, token: str, - allowed_indexes_at_token: Optional[List[str]] = None, + allowed_indexes_at_token: Optional[Iterable[str]] = None, description: Optional[str] = None, enabled: Optional[bool] = None, metadata: Optional[ Union[ - List[models.EventBreakerRuleFields], - List[models.EventBreakerRuleFieldsTypedDict], + Iterable[models.MetadataConfAddHecTokenRequest], + Iterable[models.MetadataConfAddHecTokenRequestTypedDict], ] ] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, @@ -280,7 +294,7 @@ def update( Update the metadata for the specified HEC token for the specified Splunk HEC Source. :param id: The id of the Splunk HEC Source. - :param token: The HEC token value to update. + :param token: The HEC token value whose metadata you want to update. Must match an existing token on the Source. :param allowed_indexes_at_token: List of index names that the HEC token is allowed to write to. :param description: Brief description for the HEC token. :param enabled: If true, the HEC token is enabled. Otherwise, false. @@ -304,11 +318,13 @@ def update( id=id, token=token, update_hec_token_request=models.UpdateHecTokenRequest( - allowed_indexes_at_token=allowed_indexes_at_token, + allowed_indexes_at_token=utils.unmarshal( + allowed_indexes_at_token, Optional[List[str]] + ), description=description, enabled=enabled, metadata=utils.get_pydantic_model( - metadata, Optional[List[models.EventBreakerRuleFields]] + metadata, Optional[List[models.MetadataConfAddHecTokenRequest]] ), ), ) @@ -358,6 +374,8 @@ def update( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -367,10 +385,13 @@ def update( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedInputSplunkHec, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, ["400", "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", "*"): @@ -384,13 +405,13 @@ async def update_async( *, id: str, token: str, - allowed_indexes_at_token: Optional[List[str]] = None, + allowed_indexes_at_token: Optional[Iterable[str]] = None, description: Optional[str] = None, enabled: Optional[bool] = None, metadata: Optional[ Union[ - List[models.EventBreakerRuleFields], - List[models.EventBreakerRuleFieldsTypedDict], + Iterable[models.MetadataConfAddHecTokenRequest], + Iterable[models.MetadataConfAddHecTokenRequestTypedDict], ] ] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, @@ -403,7 +424,7 @@ async def update_async( Update the metadata for the specified HEC token for the specified Splunk HEC Source. :param id: The id of the Splunk HEC Source. - :param token: The HEC token value to update. + :param token: The HEC token value whose metadata you want to update. Must match an existing token on the Source. :param allowed_indexes_at_token: List of index names that the HEC token is allowed to write to. :param description: Brief description for the HEC token. :param enabled: If true, the HEC token is enabled. Otherwise, false. @@ -427,11 +448,13 @@ async def update_async( id=id, token=token, update_hec_token_request=models.UpdateHecTokenRequest( - allowed_indexes_at_token=allowed_indexes_at_token, + allowed_indexes_at_token=utils.unmarshal( + allowed_indexes_at_token, Optional[List[str]] + ), description=description, enabled=enabled, metadata=utils.get_pydantic_model( - metadata, Optional[List[models.EventBreakerRuleFields]] + metadata, Optional[List[models.MetadataConfAddHecTokenRequest]] ), ), ) @@ -481,6 +504,8 @@ async def update_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -490,10 +515,13 @@ async def update_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedInputSplunkHec, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, ["400", "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/models/__init__.py b/src/cribl_control_plane/models/__init__.py index 1fc80e565..cc91bfd0e 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, @@ -28,7 +32,11 @@ AggregatedInputOutputStatusBody, AggregatedInputOutputStatusBodyTypedDict, ) - from .aggregatedpqstatus import AggregatedPQStatus, AggregatedPQStatusTypedDict + from .aggregatedpqstatus import ( + AggregatedPQStatus, + AggregatedPQStatusTypedDict, + Health, + ) from .apischeme import APIScheme from .apitypesystemsettingsconf import ( APITypeSystemSettingsConf, @@ -47,6 +55,12 @@ from .authenticationmethodoptionsauthtokensitems import ( AuthenticationMethodOptionsAuthTokensItems, ) + from .authenticationmethodoptionsauthtokensitemssecret import ( + AuthenticationMethodOptionsAuthTokensItemsSecret, + ) + from .authenticationmethodoptionsautosecret import ( + AuthenticationMethodOptionsAutoSecret, + ) from .authenticationmethodoptionsmanualsecret import ( AuthenticationMethodOptionsManualSecret, ) @@ -84,6 +98,10 @@ AuthRequestParamConfHealthCheckAuthenticationOauthTypedDict, ) from .authtoken import AuthToken, AuthTokenTypedDict + from .authtokenconfinputcloudflarehec import ( + AuthTokenConfInputCloudflareHec, + AuthTokenConfInputCloudflareHecTypedDict, + ) from .authtokenconfinputcribltcp import ( AuthTokenConfInputCriblTCP, AuthTokenConfInputCriblTCPTypedDict, @@ -212,6 +230,10 @@ CollectRequestParamConfRestCollectMethodGet, CollectRequestParamConfRestCollectMethodGetTypedDict, ) + from .columnmappingconfoutputclickhouse import ( + ColumnMappingConfOutputClickHouse, + ColumnMappingConfOutputClickHouseTypedDict, + ) from .commit import Commit, CommitTypedDict from .compressionleveloptions import CompressionLevelOptions from .compressionoptions import CompressionOptions @@ -242,10 +264,6 @@ CountedCriblLakeDataset, CountedCriblLakeDatasetTypedDict, ) - from .counteddatabaseconnectionconfig import ( - CountedDatabaseConnectionConfig, - CountedDatabaseConnectionConfigTypedDict, - ) from .counteddistributedsummary import ( CountedDistributedSummary, CountedDistributedSummaryTypedDict, @@ -352,26 +370,215 @@ CreateAuthLoginResponse, CreateAuthLoginResponseTypedDict, ) - from .createconfiggroupbyproductop import ( - CreateConfigGroupByProductRequest, - CreateConfigGroupByProductRequestTypedDict, - ) from .createcribllakedatasetbylakeidop import ( CreateCriblLakeDatasetByLakeIDRequest, CreateCriblLakeDatasetByLakeIDRequestTypedDict, ) - from .createinput_logged_in_users import ( + from .createinput_request import ( + CreateInputAPIVersion, + CreateInputAuth, + CreateInputAuthTokenSplunk, + CreateInputAuthTokenSplunkHec, + CreateInputAuthTokenSplunkHecTypedDict, + CreateInputAuthTokenSplunkTypedDict, + CreateInputAuthTokensExt, + CreateInputAuthTokensExtTypedDict, + CreateInputAuthTypedDict, + CreateInputAuthenticationMechanism, + CreateInputAuthenticationMethodEdgePrometheus, + CreateInputAuthenticationMethodElastic, + CreateInputAuthenticationMethodEventhubAmqp, + CreateInputAuthenticationMethodMicrosoftGraph, + CreateInputAuthenticationMethodOffice365MsgTrace, + CreateInputAuthenticationTypeElastic, + CreateInputAuthenticationTypeSplunkSearch, + CreateInputAzureBlobStorage, + CreateInputAzureBlobStorageTypedDict, + CreateInputCPUModeSystemMetrics, + CreateInputCPUSystemMetrics, + CreateInputCPUSystemMetricsTypedDict, + CreateInputCertificate, + CreateInputCertificateTypedDict, + CreateInputCheckpointing, + CreateInputCheckpointingTypedDict, + CreateInputCollectors, + CreateInputCollectorsTypedDict, + CreateInputCompression, + CreateInputContainer, + CreateInputContainerMode, + CreateInputContainerTypedDict, + CreateInputContentConfigOffice365Mgmt, + CreateInputContentConfigOffice365MgmtTypedDict, + CreateInputContentConfigOffice365Service, + CreateInputContentConfigOffice365ServiceTypedDict, + CreateInputCustomSystemMetrics, + CreateInputCustomSystemMetricsTypedDict, + CreateInputDiscoveryTypeEdgePrometheus, + CreateInputDiscoveryTypePrometheus, + CreateInputDiskModeSystemMetrics, + CreateInputDiskSystemMetrics, + CreateInputDiskSystemMetricsTypedDict, + CreateInputElasticsearchMetadata, + CreateInputElasticsearchMetadataTypedDict, + CreateInputEndpointHeader, + CreateInputEndpointHeaderTypedDict, + CreateInputEndpointParam, + CreateInputEndpointParamTypedDict, + CreateInputFilterSystemMetrics, + CreateInputFilterSystemMetricsTypedDict, + CreateInputFirewall, + CreateInputFirewallTypedDict, + CreateInputHostSystemMetrics, + CreateInputHostSystemMetricsTypedDict, + CreateInputInputAzureBlob, + CreateInputInputAzureBlobTypedDict, + CreateInputInputCollection, + CreateInputInputCollectionTypedDict, + CreateInputInputConfluentCloud, + CreateInputInputConfluentCloudTypedDict, + CreateInputInputCribl, + CreateInputInputCriblHTTP, + CreateInputInputCriblHTTPTypedDict, + CreateInputInputCriblLakeHTTP, + CreateInputInputCriblLakeHTTPTypedDict, + CreateInputInputCriblTCP, + CreateInputInputCriblTCPTypedDict, + CreateInputInputCriblTypedDict, + CreateInputInputEdgePrometheus, + CreateInputInputEdgePrometheusTypedDict, + CreateInputInputElastic, + CreateInputInputElasticTypedDict, + CreateInputInputEventhub, + CreateInputInputEventhubAmqp, + CreateInputInputEventhubAmqpTypedDict, + CreateInputInputEventhubTypedDict, + CreateInputInputExec, + CreateInputInputExecType, + CreateInputInputExecTypedDict, + CreateInputInputFirehose, + CreateInputInputFirehoseTypedDict, + CreateInputInputGooglePubsub, + CreateInputInputGooglePubsubTypedDict, + CreateInputInputGrafanaGrafana1, + CreateInputInputGrafanaGrafana1TypedDict, + CreateInputInputGrafanaGrafana2, + CreateInputInputGrafanaGrafana2TypedDict, + CreateInputInputGrafanaType1, + CreateInputInputGrafanaType2, + CreateInputInputGrafanaUnion, + CreateInputInputGrafanaUnionTypedDict, + CreateInputInputHTTP, + CreateInputInputHTTPTypedDict, + CreateInputInputKafka, + CreateInputInputKafkaTypedDict, + CreateInputInputLoki, + CreateInputInputLokiTypedDict, + CreateInputInputMicrosoftGraph, + CreateInputInputMicrosoftGraphTypedDict, + CreateInputInputMsk, + CreateInputInputMskTypedDict, + CreateInputInputOffice365Mgmt, + CreateInputInputOffice365MgmtTypedDict, + CreateInputInputOffice365MsgTrace, + CreateInputInputOffice365MsgTraceTypedDict, + CreateInputInputOffice365Service, + CreateInputInputOffice365ServiceTypedDict, + CreateInputInputPrometheus, + CreateInputInputPrometheusRw, + CreateInputInputPrometheusRwTypedDict, + CreateInputInputPrometheusTypedDict, + CreateInputInputSplunk, + CreateInputInputSplunkHec, + CreateInputInputSplunkHecTypedDict, + CreateInputInputSplunkSearch, + CreateInputInputSplunkSearchTypedDict, + CreateInputInputSplunkTypedDict, + CreateInputInputSystemMetrics, + CreateInputInputSystemMetricsTypedDict, + CreateInputInputSystemState, + CreateInputInputSystemStateTypedDict, + CreateInputInputTcpjson, + CreateInputInputTcpjsonTypedDict, + CreateInputListeningPorts, + CreateInputListeningPortsTypedDict, + CreateInputLogLevelSplunkSearch, + CreateInputLoggedInUsers, + CreateInputLoggedInUsersTypedDict, + CreateInputLokiAuth1, + CreateInputLokiAuth1TypedDict, + CreateInputLokiAuth2, + CreateInputLokiAuth2TypedDict, + CreateInputMaxS2SVersion, + CreateInputMemoryModeSystemMetrics, + CreateInputMemorySystemMetrics, + CreateInputMemorySystemMetricsTypedDict, + CreateInputMetricsProtocol, + CreateInputNetworkModeSystemMetrics, + CreateInputNetworkSystemMetrics, + CreateInputNetworkSystemMetricsTypedDict, + CreateInputPersistenceSystemMetrics, + CreateInputPersistenceSystemMetricsTypedDict, + CreateInputPersistenceSystemState, + CreateInputPersistenceSystemStateTypedDict, + CreateInputPodFilter, + CreateInputPodFilterTypedDict, + CreateInputPrometheusAuth1, + CreateInputPrometheusAuth1TypedDict, + CreateInputPrometheusAuth2, + CreateInputPrometheusAuth2TypedDict, + CreateInputProxyModeElastic, + CreateInputProxyModeElasticTypedDict, + CreateInputRequest, + CreateInputRequestTypedDict, + CreateInputScheduleType, + CreateInputServices, + CreateInputServicesTypedDict, + CreateInputSplunkHecMetadata, + CreateInputSplunkHecMetadataTypedDict, + CreateInputSubscriptionPlan, + CreateInputSystemModeSystemMetrics, + CreateInputSystemSystemMetrics, + CreateInputSystemSystemMetricsTypedDict, + CreateInputTarget, + CreateInputTargetTypedDict, + CreateInputTypeAzureBlob, + CreateInputTypeCollection, + CreateInputTypeConfluentCloud, + CreateInputTypeCribl, + CreateInputTypeCriblHTTP, + CreateInputTypeCriblLakeHTTP, + CreateInputTypeCriblTCP, + CreateInputTypeEdgePrometheus, + CreateInputTypeElastic, + CreateInputTypeEventhub, + CreateInputTypeEventhubAmqp, + CreateInputTypeFirehose, + CreateInputTypeGooglePubsub, + CreateInputTypeHTTP, + CreateInputTypeKafka, + CreateInputTypeLoki, + CreateInputTypeMicrosoftGraph, + CreateInputTypeMsk, + CreateInputTypeOffice365Mgmt, + CreateInputTypeOffice365MsgTrace, + CreateInputTypeOffice365Service, + CreateInputTypePrometheus, + CreateInputTypePrometheusRw, + CreateInputTypeSplunk, + CreateInputTypeSplunkHec, + CreateInputTypeSplunkSearch, + CreateInputTypeSystemMetrics, + CreateInputTypeTcpjson, + ) + from .createinput_users_and_groups import ( CreateInputAccountType, CreateInputAllow, CreateInputAllowTypedDict, CreateInputAuthMethodsExt, CreateInputAuthMethodsExtAuthenticationType, CreateInputAuthMethodsExtTypedDict, - CreateInputAuthTokenCloudflareHec, - CreateInputAuthTokenCloudflareHecTypedDict, CreateInputAuthTokenZscalerHec, CreateInputAuthTokenZscalerHecTypedDict, - CreateInputAuthenticationMethodCloudflareHec, CreateInputAuthenticationMethodWef, CreateInputAuthenticationTypeOpenTelemetry, CreateInputAuthenticationTypeServicenowTable, @@ -393,11 +600,10 @@ CreateInputDiskWindowsMetricsTypedDict, CreateInputDisksAndFileSystems, CreateInputDisksAndFileSystemsTypedDict, + CreateInputEndpointName, CreateInputEventFormat, CreateInputFilterAppscope, CreateInputFilterAppscopeTypedDict, - CreateInputFirewall, - CreateInputFirewallTypedDict, CreateInputFormat, CreateInputGrantType, CreateInputHostInfo, @@ -469,6 +675,8 @@ CreateInputInputSnmpTypedDict, CreateInputInputSqs, CreateInputInputSqsTypedDict, + CreateInputInputSysdigHec, + CreateInputInputSysdigHecTypedDict, CreateInputInputSyslogSyslog1, CreateInputInputSyslogSyslog1TypedDict, CreateInputInputSyslogSyslog2, @@ -479,6 +687,8 @@ CreateInputInputSyslogUnionTypedDict, CreateInputInputTCP, CreateInputInputTCPTypedDict, + CreateInputInputUpwindHec, + CreateInputInputUpwindHecTypedDict, CreateInputInputWef, CreateInputInputWefTypedDict, CreateInputInputWinEventLogs, @@ -493,11 +703,7 @@ CreateInputInputZscalerHecTypedDict, CreateInputInterfaces, CreateInputInterfacesTypedDict, - CreateInputListeningPorts, - CreateInputListeningPortsTypedDict, CreateInputLogLevelOpenai, - CreateInputLoggedInUsers, - CreateInputLoggedInUsersTypedDict, CreateInputMTLSSettings, CreateInputMTLSSettingsTypedDict, CreateInputManageStateAnthropicCompliance, @@ -542,8 +748,8 @@ CreateInputSNMPv3AuthenticationTypedDict, CreateInputSample, CreateInputSampleTypedDict, - CreateInputServices, - CreateInputServicesTypedDict, + CreateInputSamplingRule, + CreateInputSamplingRuleTypedDict, CreateInputShardIteratorStart, CreateInputShardLoadBalancing, CreateInputSortDirection, @@ -581,8 +787,10 @@ CreateInputTypeServicenowTable, CreateInputTypeSnmp, CreateInputTypeSqs, + CreateInputTypeSysdigHec, CreateInputTypeSystemState, CreateInputTypeTCP, + CreateInputTypeUpwindHec, CreateInputTypeWef, CreateInputTypeWinEventLogs, CreateInputTypeWindowsMetrics, @@ -596,208 +804,217 @@ CreateInputV3User, CreateInputV3UserTypedDict, ) - from .createinput_request import ( - CreateInputAPIVersion, - CreateInputAuth, - CreateInputAuthTokenSplunk, - CreateInputAuthTokenSplunkHec, - CreateInputAuthTokenSplunkHecTypedDict, - CreateInputAuthTokenSplunkTypedDict, - CreateInputAuthTokensExt, - CreateInputAuthTokensExtTypedDict, - CreateInputAuthTypedDict, - CreateInputAuthenticationMechanism, - CreateInputAuthenticationMethodEdgePrometheus, - CreateInputAuthenticationMethodElastic, - CreateInputAuthenticationMethodEventhubAmqp, - CreateInputAuthenticationMethodMicrosoftGraph, - CreateInputAuthenticationMethodOffice365MsgTrace, - CreateInputAuthenticationTypeElastic, - CreateInputAuthenticationTypeSplunkSearch, - CreateInputAzureBlobStorage, - CreateInputAzureBlobStorageTypedDict, - CreateInputCPUModeSystemMetrics, - CreateInputCPUSystemMetrics, - CreateInputCPUSystemMetricsTypedDict, - CreateInputCheckpointing, - CreateInputCheckpointingTypedDict, - CreateInputCollectors, - CreateInputCollectorsTypedDict, - CreateInputCompression, - CreateInputContainer, - CreateInputContainerMode, - CreateInputContainerTypedDict, - CreateInputContentConfigOffice365Mgmt, - CreateInputContentConfigOffice365MgmtTypedDict, - CreateInputContentConfigOffice365Service, - CreateInputContentConfigOffice365ServiceTypedDict, - CreateInputCustomSystemMetrics, - CreateInputCustomSystemMetricsTypedDict, - CreateInputDiscoveryTypeEdgePrometheus, - CreateInputDiscoveryTypePrometheus, - CreateInputDiskModeSystemMetrics, - CreateInputDiskSystemMetrics, - CreateInputDiskSystemMetricsTypedDict, - CreateInputElasticsearchMetadata, - CreateInputElasticsearchMetadataTypedDict, - CreateInputEndpointHeader, - CreateInputEndpointHeaderTypedDict, - CreateInputEndpointParam, - CreateInputEndpointParamTypedDict, - CreateInputFilterSystemMetrics, - CreateInputFilterSystemMetricsTypedDict, - CreateInputHostSystemMetrics, - CreateInputHostSystemMetricsTypedDict, - CreateInputInputAzureBlob, - CreateInputInputAzureBlobTypedDict, - CreateInputInputCollection, - CreateInputInputCollectionTypedDict, - CreateInputInputConfluentCloud, - CreateInputInputConfluentCloudTypedDict, - CreateInputInputCribl, - CreateInputInputCriblHTTP, - CreateInputInputCriblHTTPTypedDict, - CreateInputInputCriblLakeHTTP, - CreateInputInputCriblLakeHTTPTypedDict, - CreateInputInputCriblTCP, - CreateInputInputCriblTCPTypedDict, - CreateInputInputCriblTypedDict, - CreateInputInputEdgePrometheus, - CreateInputInputEdgePrometheusTypedDict, - CreateInputInputElastic, - CreateInputInputElasticTypedDict, - CreateInputInputEventhub, - CreateInputInputEventhubAmqp, - CreateInputInputEventhubAmqpTypedDict, - CreateInputInputEventhubTypedDict, - CreateInputInputExec, - CreateInputInputExecType, - CreateInputInputExecTypedDict, - CreateInputInputFirehose, - CreateInputInputFirehoseTypedDict, - CreateInputInputGooglePubsub, - CreateInputInputGooglePubsubTypedDict, - CreateInputInputGrafanaGrafana1, - CreateInputInputGrafanaGrafana1TypedDict, - CreateInputInputGrafanaGrafana2, - CreateInputInputGrafanaGrafana2TypedDict, - CreateInputInputGrafanaType1, - CreateInputInputGrafanaType2, - CreateInputInputGrafanaUnion, - CreateInputInputGrafanaUnionTypedDict, - CreateInputInputHTTP, - CreateInputInputHTTPTypedDict, - CreateInputInputKafka, - CreateInputInputKafkaTypedDict, - CreateInputInputLoki, - CreateInputInputLokiTypedDict, - CreateInputInputMicrosoftGraph, - CreateInputInputMicrosoftGraphTypedDict, - CreateInputInputMsk, - CreateInputInputMskTypedDict, - CreateInputInputOffice365Mgmt, - CreateInputInputOffice365MgmtTypedDict, - CreateInputInputOffice365MsgTrace, - CreateInputInputOffice365MsgTraceTypedDict, - CreateInputInputOffice365Service, - CreateInputInputOffice365ServiceTypedDict, - CreateInputInputPrometheus, - CreateInputInputPrometheusRw, - CreateInputInputPrometheusRwTypedDict, - CreateInputInputPrometheusTypedDict, - CreateInputInputSplunk, - CreateInputInputSplunkHec, - CreateInputInputSplunkHecTypedDict, - CreateInputInputSplunkSearch, - CreateInputInputSplunkSearchTypedDict, - CreateInputInputSplunkTypedDict, - CreateInputInputSystemMetrics, - CreateInputInputSystemMetricsTypedDict, - CreateInputInputSystemState, - CreateInputInputSystemStateTypedDict, - CreateInputInputTcpjson, - CreateInputInputTcpjsonTypedDict, - CreateInputLogLevelSplunkSearch, - CreateInputLokiAuth1, - CreateInputLokiAuth1TypedDict, - CreateInputLokiAuth2, - CreateInputLokiAuth2TypedDict, - CreateInputMaxS2SVersion, - CreateInputMemoryModeSystemMetrics, - CreateInputMemorySystemMetrics, - CreateInputMemorySystemMetricsTypedDict, - CreateInputMetricsProtocol, - CreateInputNetworkModeSystemMetrics, - CreateInputNetworkSystemMetrics, - CreateInputNetworkSystemMetricsTypedDict, - CreateInputPersistenceSystemMetrics, - CreateInputPersistenceSystemMetricsTypedDict, - CreateInputPersistenceSystemState, - CreateInputPersistenceSystemStateTypedDict, - CreateInputPodFilter, - CreateInputPodFilterTypedDict, - CreateInputPrometheusAuth1, - CreateInputPrometheusAuth1TypedDict, - CreateInputPrometheusAuth2, - CreateInputPrometheusAuth2TypedDict, - CreateInputProxyModeElastic, - CreateInputProxyModeElasticTypedDict, - CreateInputRequest, - CreateInputRequestTypedDict, - CreateInputScheduleType, - CreateInputSplunkHecMetadata, - CreateInputSplunkHecMetadataTypedDict, - CreateInputSubscriptionPlan, - CreateInputSystemModeSystemMetrics, - CreateInputSystemSystemMetrics, - CreateInputSystemSystemMetricsTypedDict, - CreateInputTarget, - CreateInputTargetTypedDict, - CreateInputTypeAzureBlob, - CreateInputTypeCollection, - CreateInputTypeConfluentCloud, - CreateInputTypeCribl, - CreateInputTypeCriblHTTP, - CreateInputTypeCriblLakeHTTP, - CreateInputTypeCriblTCP, - CreateInputTypeEdgePrometheus, - CreateInputTypeElastic, - CreateInputTypeEventhub, - CreateInputTypeEventhubAmqp, - CreateInputTypeFirehose, - CreateInputTypeGooglePubsub, - CreateInputTypeHTTP, - CreateInputTypeKafka, - CreateInputTypeLoki, - CreateInputTypeMicrosoftGraph, - CreateInputTypeMsk, - CreateInputTypeOffice365Mgmt, - CreateInputTypeOffice365MsgTrace, - CreateInputTypeOffice365Service, - CreateInputTypePrometheus, - CreateInputTypePrometheusRw, - CreateInputTypeSplunk, - CreateInputTypeSplunkHec, - CreateInputTypeSplunkSearch, - CreateInputTypeSystemMetrics, - CreateInputTypeTcpjson, - ) from .createinputhectokenbyidop import ( CreateInputHecTokenByIDRequest, CreateInputHecTokenByIDRequestTypedDict, ) - from .createinputsystembypack_logged_in_users import ( + from .createinputsystembypack_request import ( + CreateInputSystemByPackAPIVersion, + CreateInputSystemByPackAuth, + CreateInputSystemByPackAuthTokenSplunk, + CreateInputSystemByPackAuthTokenSplunkHec, + CreateInputSystemByPackAuthTokenSplunkHecTypedDict, + CreateInputSystemByPackAuthTokenSplunkTypedDict, + CreateInputSystemByPackAuthTokensExt, + CreateInputSystemByPackAuthTokensExtTypedDict, + CreateInputSystemByPackAuthTypedDict, + CreateInputSystemByPackAuthenticationMechanism, + CreateInputSystemByPackAuthenticationMethodEdgePrometheus, + CreateInputSystemByPackAuthenticationMethodElastic, + CreateInputSystemByPackAuthenticationMethodEventhubAmqp, + CreateInputSystemByPackAuthenticationMethodMicrosoftGraph, + CreateInputSystemByPackAuthenticationMethodOffice365MsgTrace, + CreateInputSystemByPackAuthenticationTypeElastic, + CreateInputSystemByPackAuthenticationTypeSplunkSearch, + CreateInputSystemByPackAzureBlobStorage, + CreateInputSystemByPackAzureBlobStorageTypedDict, + CreateInputSystemByPackCPUModeSystemMetrics, + CreateInputSystemByPackCPUSystemMetrics, + CreateInputSystemByPackCPUSystemMetricsTypedDict, + CreateInputSystemByPackCertificate, + CreateInputSystemByPackCertificateTypedDict, + CreateInputSystemByPackCheckpointing, + CreateInputSystemByPackCheckpointingTypedDict, + CreateInputSystemByPackCollectors, + CreateInputSystemByPackCollectorsTypedDict, + CreateInputSystemByPackCompression, + CreateInputSystemByPackContainer, + CreateInputSystemByPackContainerMode, + CreateInputSystemByPackContainerTypedDict, + CreateInputSystemByPackContentConfigOffice365Mgmt, + CreateInputSystemByPackContentConfigOffice365MgmtTypedDict, + CreateInputSystemByPackContentConfigOffice365Service, + CreateInputSystemByPackContentConfigOffice365ServiceTypedDict, + CreateInputSystemByPackCustomSystemMetrics, + CreateInputSystemByPackCustomSystemMetricsTypedDict, + CreateInputSystemByPackDiscoveryTypeEdgePrometheus, + CreateInputSystemByPackDiscoveryTypePrometheus, + CreateInputSystemByPackDiskModeSystemMetrics, + CreateInputSystemByPackDiskSystemMetrics, + CreateInputSystemByPackDiskSystemMetricsTypedDict, + CreateInputSystemByPackElasticsearchMetadata, + CreateInputSystemByPackElasticsearchMetadataTypedDict, + CreateInputSystemByPackEndpointHeader, + CreateInputSystemByPackEndpointHeaderTypedDict, + CreateInputSystemByPackEndpointParam, + CreateInputSystemByPackEndpointParamTypedDict, + CreateInputSystemByPackFilterSystemMetrics, + CreateInputSystemByPackFilterSystemMetricsTypedDict, + CreateInputSystemByPackFirewall, + CreateInputSystemByPackFirewallTypedDict, + CreateInputSystemByPackHostSystemMetrics, + CreateInputSystemByPackHostSystemMetricsTypedDict, + CreateInputSystemByPackInputAzureBlob, + CreateInputSystemByPackInputAzureBlobTypedDict, + CreateInputSystemByPackInputCollection, + CreateInputSystemByPackInputCollectionTypedDict, + CreateInputSystemByPackInputConfluentCloud, + CreateInputSystemByPackInputConfluentCloudTypedDict, + CreateInputSystemByPackInputCribl, + CreateInputSystemByPackInputCriblHTTP, + CreateInputSystemByPackInputCriblHTTPTypedDict, + CreateInputSystemByPackInputCriblLakeHTTP, + CreateInputSystemByPackInputCriblLakeHTTPTypedDict, + CreateInputSystemByPackInputCriblTCP, + CreateInputSystemByPackInputCriblTCPTypedDict, + CreateInputSystemByPackInputCriblTypedDict, + CreateInputSystemByPackInputEdgePrometheus, + CreateInputSystemByPackInputEdgePrometheusTypedDict, + CreateInputSystemByPackInputElastic, + CreateInputSystemByPackInputElasticTypedDict, + CreateInputSystemByPackInputEventhub, + CreateInputSystemByPackInputEventhubAmqp, + CreateInputSystemByPackInputEventhubAmqpTypedDict, + CreateInputSystemByPackInputEventhubTypedDict, + CreateInputSystemByPackInputExec, + CreateInputSystemByPackInputExecType, + CreateInputSystemByPackInputExecTypedDict, + CreateInputSystemByPackInputFirehose, + CreateInputSystemByPackInputFirehoseTypedDict, + CreateInputSystemByPackInputGooglePubsub, + CreateInputSystemByPackInputGooglePubsubTypedDict, + CreateInputSystemByPackInputGrafanaGrafana1, + CreateInputSystemByPackInputGrafanaGrafana1TypedDict, + CreateInputSystemByPackInputGrafanaGrafana2, + CreateInputSystemByPackInputGrafanaGrafana2TypedDict, + CreateInputSystemByPackInputGrafanaType1, + CreateInputSystemByPackInputGrafanaType2, + CreateInputSystemByPackInputGrafanaUnion, + CreateInputSystemByPackInputGrafanaUnionTypedDict, + CreateInputSystemByPackInputHTTP, + CreateInputSystemByPackInputHTTPTypedDict, + CreateInputSystemByPackInputKafka, + CreateInputSystemByPackInputKafkaTypedDict, + CreateInputSystemByPackInputLoki, + CreateInputSystemByPackInputLokiTypedDict, + CreateInputSystemByPackInputMicrosoftGraph, + CreateInputSystemByPackInputMicrosoftGraphTypedDict, + CreateInputSystemByPackInputMsk, + CreateInputSystemByPackInputMskTypedDict, + CreateInputSystemByPackInputOffice365Mgmt, + CreateInputSystemByPackInputOffice365MgmtTypedDict, + CreateInputSystemByPackInputOffice365MsgTrace, + CreateInputSystemByPackInputOffice365MsgTraceTypedDict, + CreateInputSystemByPackInputOffice365Service, + CreateInputSystemByPackInputOffice365ServiceTypedDict, + CreateInputSystemByPackInputPrometheus, + CreateInputSystemByPackInputPrometheusRw, + CreateInputSystemByPackInputPrometheusRwTypedDict, + CreateInputSystemByPackInputPrometheusTypedDict, + CreateInputSystemByPackInputSplunk, + CreateInputSystemByPackInputSplunkHec, + CreateInputSystemByPackInputSplunkHecTypedDict, + CreateInputSystemByPackInputSplunkSearch, + CreateInputSystemByPackInputSplunkSearchTypedDict, + CreateInputSystemByPackInputSplunkTypedDict, + CreateInputSystemByPackInputSystemMetrics, + CreateInputSystemByPackInputSystemMetricsTypedDict, + CreateInputSystemByPackInputSystemState, + CreateInputSystemByPackInputSystemStateTypedDict, + CreateInputSystemByPackInputTcpjson, + CreateInputSystemByPackInputTcpjsonTypedDict, + CreateInputSystemByPackListeningPorts, + CreateInputSystemByPackListeningPortsTypedDict, + CreateInputSystemByPackLogLevelSplunkSearch, + CreateInputSystemByPackLoggedInUsers, + CreateInputSystemByPackLoggedInUsersTypedDict, + CreateInputSystemByPackLokiAuth1, + CreateInputSystemByPackLokiAuth1TypedDict, + CreateInputSystemByPackLokiAuth2, + CreateInputSystemByPackLokiAuth2TypedDict, + CreateInputSystemByPackMaxS2SVersion, + CreateInputSystemByPackMemoryModeSystemMetrics, + CreateInputSystemByPackMemorySystemMetrics, + CreateInputSystemByPackMemorySystemMetricsTypedDict, + CreateInputSystemByPackMetricsProtocol, + CreateInputSystemByPackNetworkModeSystemMetrics, + CreateInputSystemByPackNetworkSystemMetrics, + CreateInputSystemByPackNetworkSystemMetricsTypedDict, + CreateInputSystemByPackPersistenceSystemMetrics, + CreateInputSystemByPackPersistenceSystemMetricsTypedDict, + CreateInputSystemByPackPersistenceSystemState, + CreateInputSystemByPackPersistenceSystemStateTypedDict, + CreateInputSystemByPackPodFilter, + CreateInputSystemByPackPodFilterTypedDict, + CreateInputSystemByPackPrometheusAuth1, + CreateInputSystemByPackPrometheusAuth1TypedDict, + CreateInputSystemByPackPrometheusAuth2, + CreateInputSystemByPackPrometheusAuth2TypedDict, + CreateInputSystemByPackProxyModeElastic, + CreateInputSystemByPackProxyModeElasticTypedDict, + CreateInputSystemByPackRequest, + CreateInputSystemByPackRequestBody, + CreateInputSystemByPackRequestBodyTypedDict, + CreateInputSystemByPackRequestTypedDict, + CreateInputSystemByPackScheduleType, + CreateInputSystemByPackServices, + CreateInputSystemByPackServicesTypedDict, + CreateInputSystemByPackSplunkHecMetadata, + CreateInputSystemByPackSplunkHecMetadataTypedDict, + CreateInputSystemByPackSubscriptionPlan, + CreateInputSystemByPackSystemModeSystemMetrics, + CreateInputSystemByPackSystemSystemMetrics, + CreateInputSystemByPackSystemSystemMetricsTypedDict, + CreateInputSystemByPackTarget, + CreateInputSystemByPackTargetTypedDict, + CreateInputSystemByPackTypeAzureBlob, + CreateInputSystemByPackTypeCollection, + CreateInputSystemByPackTypeConfluentCloud, + CreateInputSystemByPackTypeCribl, + CreateInputSystemByPackTypeCriblHTTP, + CreateInputSystemByPackTypeCriblLakeHTTP, + CreateInputSystemByPackTypeCriblTCP, + CreateInputSystemByPackTypeEdgePrometheus, + CreateInputSystemByPackTypeElastic, + CreateInputSystemByPackTypeEventhub, + CreateInputSystemByPackTypeEventhubAmqp, + CreateInputSystemByPackTypeFirehose, + CreateInputSystemByPackTypeGooglePubsub, + CreateInputSystemByPackTypeHTTP, + CreateInputSystemByPackTypeKafka, + CreateInputSystemByPackTypeLoki, + CreateInputSystemByPackTypeMicrosoftGraph, + CreateInputSystemByPackTypeMsk, + CreateInputSystemByPackTypeOffice365Mgmt, + CreateInputSystemByPackTypeOffice365MsgTrace, + CreateInputSystemByPackTypeOffice365Service, + CreateInputSystemByPackTypePrometheus, + CreateInputSystemByPackTypePrometheusRw, + CreateInputSystemByPackTypeSplunk, + CreateInputSystemByPackTypeSplunkHec, + CreateInputSystemByPackTypeSplunkSearch, + CreateInputSystemByPackTypeSystemMetrics, + CreateInputSystemByPackTypeTcpjson, + ) + from .createinputsystembypack_users_and_groups import ( CreateInputSystemByPackAccountType, CreateInputSystemByPackAllow, CreateInputSystemByPackAllowTypedDict, CreateInputSystemByPackAuthMethodsExt, CreateInputSystemByPackAuthMethodsExtAuthenticationType, CreateInputSystemByPackAuthMethodsExtTypedDict, - CreateInputSystemByPackAuthTokenCloudflareHec, - CreateInputSystemByPackAuthTokenCloudflareHecTypedDict, CreateInputSystemByPackAuthTokenZscalerHec, CreateInputSystemByPackAuthTokenZscalerHecTypedDict, - CreateInputSystemByPackAuthenticationMethodCloudflareHec, CreateInputSystemByPackAuthenticationMethodWef, CreateInputSystemByPackAuthenticationTypeOpenTelemetry, CreateInputSystemByPackAuthenticationTypeServicenowTable, @@ -819,11 +1036,10 @@ CreateInputSystemByPackDiskWindowsMetricsTypedDict, CreateInputSystemByPackDisksAndFileSystems, CreateInputSystemByPackDisksAndFileSystemsTypedDict, + CreateInputSystemByPackEndpointName, CreateInputSystemByPackEventFormat, CreateInputSystemByPackFilterAppscope, CreateInputSystemByPackFilterAppscopeTypedDict, - CreateInputSystemByPackFirewall, - CreateInputSystemByPackFirewallTypedDict, CreateInputSystemByPackFormat, CreateInputSystemByPackGrantType, CreateInputSystemByPackHostInfo, @@ -895,6 +1111,8 @@ CreateInputSystemByPackInputSnmpTypedDict, CreateInputSystemByPackInputSqs, CreateInputSystemByPackInputSqsTypedDict, + CreateInputSystemByPackInputSysdigHec, + CreateInputSystemByPackInputSysdigHecTypedDict, CreateInputSystemByPackInputSyslogSyslog1, CreateInputSystemByPackInputSyslogSyslog1TypedDict, CreateInputSystemByPackInputSyslogSyslog2, @@ -905,6 +1123,8 @@ CreateInputSystemByPackInputSyslogUnionTypedDict, CreateInputSystemByPackInputTCP, CreateInputSystemByPackInputTCPTypedDict, + CreateInputSystemByPackInputUpwindHec, + CreateInputSystemByPackInputUpwindHecTypedDict, CreateInputSystemByPackInputWef, CreateInputSystemByPackInputWefTypedDict, CreateInputSystemByPackInputWinEventLogs, @@ -919,11 +1139,7 @@ CreateInputSystemByPackInputZscalerHecTypedDict, CreateInputSystemByPackInterfaces, CreateInputSystemByPackInterfacesTypedDict, - CreateInputSystemByPackListeningPorts, - CreateInputSystemByPackListeningPortsTypedDict, CreateInputSystemByPackLogLevelOpenai, - CreateInputSystemByPackLoggedInUsers, - CreateInputSystemByPackLoggedInUsersTypedDict, CreateInputSystemByPackMTLSSettings, CreateInputSystemByPackMTLSSettingsTypedDict, CreateInputSystemByPackManageStateAnthropicCompliance, @@ -968,8 +1184,8 @@ CreateInputSystemByPackSNMPv3AuthenticationTypedDict, CreateInputSystemByPackSample, CreateInputSystemByPackSampleTypedDict, - CreateInputSystemByPackServices, - CreateInputSystemByPackServicesTypedDict, + CreateInputSystemByPackSamplingRule, + CreateInputSystemByPackSamplingRuleTypedDict, CreateInputSystemByPackShardIteratorStart, CreateInputSystemByPackShardLoadBalancing, CreateInputSystemByPackSortDirection, @@ -1007,8 +1223,10 @@ CreateInputSystemByPackTypeServicenowTable, CreateInputSystemByPackTypeSnmp, CreateInputSystemByPackTypeSqs, + CreateInputSystemByPackTypeSysdigHec, CreateInputSystemByPackTypeSystemState, CreateInputSystemByPackTypeTCP, + CreateInputSystemByPackTypeUpwindHec, CreateInputSystemByPackTypeWef, CreateInputSystemByPackTypeWinEventLogs, CreateInputSystemByPackTypeWindowsMetrics, @@ -1022,199 +1240,11 @@ CreateInputSystemByPackV3User, CreateInputSystemByPackV3UserTypedDict, ) - from .createinputsystembypack_request import ( - CreateInputSystemByPackAPIVersion, - CreateInputSystemByPackAuth, - CreateInputSystemByPackAuthTokenSplunk, - CreateInputSystemByPackAuthTokenSplunkHec, - CreateInputSystemByPackAuthTokenSplunkHecTypedDict, - CreateInputSystemByPackAuthTokenSplunkTypedDict, - CreateInputSystemByPackAuthTokensExt, - CreateInputSystemByPackAuthTokensExtTypedDict, - CreateInputSystemByPackAuthTypedDict, - CreateInputSystemByPackAuthenticationMechanism, - CreateInputSystemByPackAuthenticationMethodEdgePrometheus, - CreateInputSystemByPackAuthenticationMethodElastic, - CreateInputSystemByPackAuthenticationMethodEventhubAmqp, - CreateInputSystemByPackAuthenticationMethodMicrosoftGraph, - CreateInputSystemByPackAuthenticationMethodOffice365MsgTrace, - CreateInputSystemByPackAuthenticationTypeElastic, - CreateInputSystemByPackAuthenticationTypeSplunkSearch, - CreateInputSystemByPackAzureBlobStorage, - CreateInputSystemByPackAzureBlobStorageTypedDict, - CreateInputSystemByPackCPUModeSystemMetrics, - CreateInputSystemByPackCPUSystemMetrics, - CreateInputSystemByPackCPUSystemMetricsTypedDict, - CreateInputSystemByPackCheckpointing, - CreateInputSystemByPackCheckpointingTypedDict, - CreateInputSystemByPackCollectors, - CreateInputSystemByPackCollectorsTypedDict, - CreateInputSystemByPackCompression, - CreateInputSystemByPackContainer, - CreateInputSystemByPackContainerMode, - CreateInputSystemByPackContainerTypedDict, - CreateInputSystemByPackContentConfigOffice365Mgmt, - CreateInputSystemByPackContentConfigOffice365MgmtTypedDict, - CreateInputSystemByPackContentConfigOffice365Service, - CreateInputSystemByPackContentConfigOffice365ServiceTypedDict, - CreateInputSystemByPackCustomSystemMetrics, - CreateInputSystemByPackCustomSystemMetricsTypedDict, - CreateInputSystemByPackDiscoveryTypeEdgePrometheus, - CreateInputSystemByPackDiscoveryTypePrometheus, - CreateInputSystemByPackDiskModeSystemMetrics, - CreateInputSystemByPackDiskSystemMetrics, - CreateInputSystemByPackDiskSystemMetricsTypedDict, - CreateInputSystemByPackElasticsearchMetadata, - CreateInputSystemByPackElasticsearchMetadataTypedDict, - CreateInputSystemByPackEndpointHeader, - CreateInputSystemByPackEndpointHeaderTypedDict, - CreateInputSystemByPackEndpointParam, - CreateInputSystemByPackEndpointParamTypedDict, - CreateInputSystemByPackFilterSystemMetrics, - CreateInputSystemByPackFilterSystemMetricsTypedDict, - CreateInputSystemByPackHostSystemMetrics, - CreateInputSystemByPackHostSystemMetricsTypedDict, - CreateInputSystemByPackInputAzureBlob, - CreateInputSystemByPackInputAzureBlobTypedDict, - CreateInputSystemByPackInputCollection, - CreateInputSystemByPackInputCollectionTypedDict, - CreateInputSystemByPackInputConfluentCloud, - CreateInputSystemByPackInputConfluentCloudTypedDict, - CreateInputSystemByPackInputCribl, - CreateInputSystemByPackInputCriblHTTP, - CreateInputSystemByPackInputCriblHTTPTypedDict, - CreateInputSystemByPackInputCriblLakeHTTP, - CreateInputSystemByPackInputCriblLakeHTTPTypedDict, - CreateInputSystemByPackInputCriblTCP, - CreateInputSystemByPackInputCriblTCPTypedDict, - CreateInputSystemByPackInputCriblTypedDict, - CreateInputSystemByPackInputEdgePrometheus, - CreateInputSystemByPackInputEdgePrometheusTypedDict, - CreateInputSystemByPackInputElastic, - CreateInputSystemByPackInputElasticTypedDict, - CreateInputSystemByPackInputEventhub, - CreateInputSystemByPackInputEventhubAmqp, - CreateInputSystemByPackInputEventhubAmqpTypedDict, - CreateInputSystemByPackInputEventhubTypedDict, - CreateInputSystemByPackInputExec, - CreateInputSystemByPackInputExecType, - CreateInputSystemByPackInputExecTypedDict, - CreateInputSystemByPackInputFirehose, - CreateInputSystemByPackInputFirehoseTypedDict, - CreateInputSystemByPackInputGooglePubsub, - CreateInputSystemByPackInputGooglePubsubTypedDict, - CreateInputSystemByPackInputGrafanaGrafana1, - CreateInputSystemByPackInputGrafanaGrafana1TypedDict, - CreateInputSystemByPackInputGrafanaGrafana2, - CreateInputSystemByPackInputGrafanaGrafana2TypedDict, - CreateInputSystemByPackInputGrafanaType1, - CreateInputSystemByPackInputGrafanaType2, - CreateInputSystemByPackInputGrafanaUnion, - CreateInputSystemByPackInputGrafanaUnionTypedDict, - CreateInputSystemByPackInputHTTP, - CreateInputSystemByPackInputHTTPTypedDict, - CreateInputSystemByPackInputKafka, - CreateInputSystemByPackInputKafkaTypedDict, - CreateInputSystemByPackInputLoki, - CreateInputSystemByPackInputLokiTypedDict, - CreateInputSystemByPackInputMicrosoftGraph, - CreateInputSystemByPackInputMicrosoftGraphTypedDict, - CreateInputSystemByPackInputMsk, - CreateInputSystemByPackInputMskTypedDict, - CreateInputSystemByPackInputOffice365Mgmt, - CreateInputSystemByPackInputOffice365MgmtTypedDict, - CreateInputSystemByPackInputOffice365MsgTrace, - CreateInputSystemByPackInputOffice365MsgTraceTypedDict, - CreateInputSystemByPackInputOffice365Service, - CreateInputSystemByPackInputOffice365ServiceTypedDict, - CreateInputSystemByPackInputPrometheus, - CreateInputSystemByPackInputPrometheusRw, - CreateInputSystemByPackInputPrometheusRwTypedDict, - CreateInputSystemByPackInputPrometheusTypedDict, - CreateInputSystemByPackInputSplunk, - CreateInputSystemByPackInputSplunkHec, - CreateInputSystemByPackInputSplunkHecTypedDict, - CreateInputSystemByPackInputSplunkSearch, - CreateInputSystemByPackInputSplunkSearchTypedDict, - CreateInputSystemByPackInputSplunkTypedDict, - CreateInputSystemByPackInputSystemMetrics, - CreateInputSystemByPackInputSystemMetricsTypedDict, - CreateInputSystemByPackInputSystemState, - CreateInputSystemByPackInputSystemStateTypedDict, - CreateInputSystemByPackInputTcpjson, - CreateInputSystemByPackInputTcpjsonTypedDict, - CreateInputSystemByPackLogLevelSplunkSearch, - CreateInputSystemByPackLokiAuth1, - CreateInputSystemByPackLokiAuth1TypedDict, - CreateInputSystemByPackLokiAuth2, - CreateInputSystemByPackLokiAuth2TypedDict, - CreateInputSystemByPackMaxS2SVersion, - CreateInputSystemByPackMemoryModeSystemMetrics, - CreateInputSystemByPackMemorySystemMetrics, - CreateInputSystemByPackMemorySystemMetricsTypedDict, - CreateInputSystemByPackMetricsProtocol, - CreateInputSystemByPackNetworkModeSystemMetrics, - CreateInputSystemByPackNetworkSystemMetrics, - CreateInputSystemByPackNetworkSystemMetricsTypedDict, - CreateInputSystemByPackPersistenceSystemMetrics, - CreateInputSystemByPackPersistenceSystemMetricsTypedDict, - CreateInputSystemByPackPersistenceSystemState, - CreateInputSystemByPackPersistenceSystemStateTypedDict, - CreateInputSystemByPackPodFilter, - CreateInputSystemByPackPodFilterTypedDict, - CreateInputSystemByPackPrometheusAuth1, - CreateInputSystemByPackPrometheusAuth1TypedDict, - CreateInputSystemByPackPrometheusAuth2, - CreateInputSystemByPackPrometheusAuth2TypedDict, - CreateInputSystemByPackProxyModeElastic, - CreateInputSystemByPackProxyModeElasticTypedDict, - CreateInputSystemByPackRequest, - CreateInputSystemByPackRequestBody, - CreateInputSystemByPackRequestBodyTypedDict, - CreateInputSystemByPackRequestTypedDict, - CreateInputSystemByPackScheduleType, - CreateInputSystemByPackSplunkHecMetadata, - CreateInputSystemByPackSplunkHecMetadataTypedDict, - CreateInputSystemByPackSubscriptionPlan, - CreateInputSystemByPackSystemModeSystemMetrics, - CreateInputSystemByPackSystemSystemMetrics, - CreateInputSystemByPackSystemSystemMetricsTypedDict, - CreateInputSystemByPackTarget, - CreateInputSystemByPackTargetTypedDict, - CreateInputSystemByPackTypeAzureBlob, - CreateInputSystemByPackTypeCollection, - CreateInputSystemByPackTypeConfluentCloud, - CreateInputSystemByPackTypeCribl, - CreateInputSystemByPackTypeCriblHTTP, - CreateInputSystemByPackTypeCriblLakeHTTP, - CreateInputSystemByPackTypeCriblTCP, - CreateInputSystemByPackTypeEdgePrometheus, - CreateInputSystemByPackTypeElastic, - CreateInputSystemByPackTypeEventhub, - CreateInputSystemByPackTypeEventhubAmqp, - CreateInputSystemByPackTypeFirehose, - CreateInputSystemByPackTypeGooglePubsub, - CreateInputSystemByPackTypeHTTP, - CreateInputSystemByPackTypeKafka, - CreateInputSystemByPackTypeLoki, - CreateInputSystemByPackTypeMicrosoftGraph, - CreateInputSystemByPackTypeMsk, - CreateInputSystemByPackTypeOffice365Mgmt, - CreateInputSystemByPackTypeOffice365MsgTrace, - CreateInputSystemByPackTypeOffice365Service, - CreateInputSystemByPackTypePrometheus, - CreateInputSystemByPackTypePrometheusRw, - CreateInputSystemByPackTypeSplunk, - CreateInputSystemByPackTypeSplunkHec, - CreateInputSystemByPackTypeSplunkSearch, - CreateInputSystemByPackTypeSystemMetrics, - CreateInputSystemByPackTypeTcpjson, - ) from .createinputsystemhectokenbypackandidop import ( CreateInputSystemHecTokenByPackAndIDRequest, CreateInputSystemHecTokenByPackAndIDRequestTypedDict, ) - from .createoutput_request import ( + from .createoutput_outputwebhook_format_2 import ( CreateOutputAPIVersion, CreateOutputAdditionalProperty, CreateOutputAdditionalPropertyTypedDict, @@ -1232,6 +1262,7 @@ CreateOutputCompression, CreateOutputElasticVersion, CreateOutputEndpointConfiguration, + CreateOutputEndpointGoogleCloudObservability, CreateOutputExtentTag, CreateOutputExtentTagTypedDict, CreateOutputExtraLogType, @@ -1239,6 +1270,8 @@ CreateOutputFacility, CreateOutputFieldName, CreateOutputFormatSentinel, + CreateOutputGoogleAuthenticationMethodGoogleBigquery, + CreateOutputGoogleAuthenticationMethodGoogleCloudObservability, CreateOutputIndexerDiscoveryConfigs, CreateOutputIndexerDiscoveryConfigsTypedDict, CreateOutputIngestIfNotExist, @@ -1248,6 +1281,7 @@ CreateOutputMessageFormat, CreateOutputMetadatum, CreateOutputMetadatumTypedDict, + CreateOutputOtlpVersionGoogleCloudObservability, CreateOutputOutputAzureBlob, CreateOutputOutputAzureBlobTypedDict, CreateOutputOutputAzureDataExplorer, @@ -1259,9 +1293,7 @@ CreateOutputOutputCloudwatch, CreateOutputOutputCloudwatchTypedDict, CreateOutputOutputConfluentCloud, - CreateOutputOutputConfluentCloudTypedDict, - CreateOutputOutputDefault, - CreateOutputOutputDefaultTypedDict, + CreateOutputOutputConfluentCloudTypedDict, CreateOutputOutputDevnull, CreateOutputOutputDevnullTypedDict, CreateOutputOutputElastic, @@ -1272,14 +1304,20 @@ CreateOutputOutputExabeamTypedDict, CreateOutputOutputFilesystem, CreateOutputOutputFilesystemTypedDict, + CreateOutputOutputGoogleBigquery, + CreateOutputOutputGoogleBigqueryTypedDict, CreateOutputOutputGoogleChronicle, CreateOutputOutputGoogleChronicleTypedDict, CreateOutputOutputGoogleCloudLogging, CreateOutputOutputGoogleCloudLoggingTypedDict, + CreateOutputOutputGoogleCloudObservability, + CreateOutputOutputGoogleCloudObservabilityTypedDict, CreateOutputOutputGoogleCloudStorage, CreateOutputOutputGoogleCloudStorageTypedDict, CreateOutputOutputGooglePubsub, CreateOutputOutputGooglePubsubTypedDict, + CreateOutputOutputGraphite, + CreateOutputOutputGraphiteTypedDict, CreateOutputOutputHoneycomb, CreateOutputOutputHoneycombTypedDict, CreateOutputOutputInfluxdb, @@ -1309,6 +1347,8 @@ CreateOutputOutputSplunkLbTypedDict, CreateOutputOutputSplunkTypedDict, CreateOutputOutputStatsd, + CreateOutputOutputStatsdExt, + CreateOutputOutputStatsdExtTypedDict, CreateOutputOutputStatsdTypedDict, CreateOutputOutputSyslog, CreateOutputOutputSyslogTypedDict, @@ -1316,26 +1356,8 @@ CreateOutputOutputTcpjsonTypedDict, CreateOutputOutputWavefront, CreateOutputOutputWavefrontTypedDict, - CreateOutputOutputWebhookAuthenticationType1, - CreateOutputOutputWebhookAuthenticationType2, - CreateOutputOutputWebhookFormat1, CreateOutputOutputWebhookFormat2, - CreateOutputOutputWebhookPqControls1, - CreateOutputOutputWebhookPqControls1TypedDict, - CreateOutputOutputWebhookPqControls2, - CreateOutputOutputWebhookPqControls2TypedDict, - CreateOutputOutputWebhookType1, CreateOutputOutputWebhookType2, - CreateOutputOutputWebhookURL1, - CreateOutputOutputWebhookURL1TypedDict, - CreateOutputOutputWebhookURL2, - CreateOutputOutputWebhookURL2TypedDict, - CreateOutputOutputWebhookUnion, - CreateOutputOutputWebhookUnionTypedDict, - CreateOutputOutputWebhookWebhook1, - CreateOutputOutputWebhookWebhook1TypedDict, - CreateOutputOutputWebhookWebhook2, - CreateOutputOutputWebhookWebhook2TypedDict, CreateOutputOutputWizHec, CreateOutputOutputWizHecTypedDict, CreateOutputPayloadFormat, @@ -1353,10 +1375,14 @@ CreateOutputPqControlsElasticCloud, CreateOutputPqControlsElasticCloudTypedDict, CreateOutputPqControlsElasticTypedDict, + CreateOutputPqControlsGoogleBigquery, + CreateOutputPqControlsGoogleBigqueryTypedDict, CreateOutputPqControlsGoogleChronicle, CreateOutputPqControlsGoogleChronicleTypedDict, CreateOutputPqControlsGoogleCloudLogging, CreateOutputPqControlsGoogleCloudLoggingTypedDict, + CreateOutputPqControlsGoogleCloudObservability, + CreateOutputPqControlsGoogleCloudObservabilityTypedDict, CreateOutputPqControlsGooglePubsub, CreateOutputPqControlsGooglePubsubTypedDict, CreateOutputPqControlsHoneycomb, @@ -1384,6 +1410,8 @@ CreateOutputPqControlsSplunkLbTypedDict, CreateOutputPqControlsSplunkTypedDict, CreateOutputPqControlsStatsd, + CreateOutputPqControlsStatsdExt, + CreateOutputPqControlsStatsdExtTypedDict, CreateOutputPqControlsStatsdTypedDict, CreateOutputPqControlsSyslog, CreateOutputPqControlsSyslogTypedDict, @@ -1394,11 +1422,10 @@ CreateOutputPqControlsWizHec, CreateOutputPqControlsWizHecTypedDict, CreateOutputPrefixOptional, + CreateOutputProtocolGoogleCloudObservability, CreateOutputProtocolSyslog, CreateOutputReportLevel, CreateOutputReportMethod, - CreateOutputRequest, - CreateOutputRequestTypedDict, CreateOutputSendEventsAs, CreateOutputSeveritySyslog, CreateOutputTimestampFormat, @@ -1409,14 +1436,15 @@ CreateOutputTypeAzureLogs, CreateOutputTypeCloudwatch, CreateOutputTypeConfluentCloud, - CreateOutputTypeDefault, CreateOutputTypeDevnull, CreateOutputTypeElastic, CreateOutputTypeElasticCloud, CreateOutputTypeExabeam, CreateOutputTypeFilesystem, + CreateOutputTypeGoogleBigquery, CreateOutputTypeGoogleChronicle, CreateOutputTypeGoogleCloudLogging, + CreateOutputTypeGoogleCloudObservability, CreateOutputTypeGoogleCloudStorage, CreateOutputTypeGooglePubsub, CreateOutputTypeHoneycomb, @@ -1433,6 +1461,8 @@ CreateOutputTypeSplunk, CreateOutputTypeSplunkHec, CreateOutputTypeSplunkLb, + CreateOutputTypeStatsd, + CreateOutputTypeStatsdExt, CreateOutputTypeSyslog, CreateOutputTypeTcpjson, CreateOutputTypeWavefront, @@ -1444,29 +1474,26 @@ CreateOutputURLSplunkHecTypedDict, CreateOutputWriteAction, ) - from .createoutput_type_statsd import ( + from .createoutput_pqcontrols_graphite import ( CreateOutputAISIEMEndpointPath, CreateOutputAuthentication, + CreateOutputAuthenticationMethodAlibabaCloudS3, CreateOutputAuthenticationMethodChronicle, - CreateOutputAuthenticationMethodCloudflareR2, CreateOutputAuthenticationMethodXsiam, CreateOutputAuthenticationTypeDynatraceHTTP, CreateOutputAuthenticationTypeOpenTelemetry, + CreateOutputAuthenticationTypePrometheus, CreateOutputAuthenticationTypedDict, - CreateOutputAwsAuthenticationMethod, - CreateOutputColumnMappingClickHouse, - CreateOutputColumnMappingClickHouseTypedDict, - CreateOutputColumnMappingLocalSearchStorage, - CreateOutputColumnMappingLocalSearchStorageTypedDict, + CreateOutputColumnMapping, + CreateOutputColumnMappingTypedDict, CreateOutputCustomLabel, CreateOutputCustomLabelTypedDict, CreateOutputDataFormatRing, CreateOutputDataFormatSumoLogic, CreateOutputDataSetSite, CreateOutputDatadogSite, - CreateOutputEndpoint, + CreateOutputEndpointDynatraceHTTP, CreateOutputEndpointType, - CreateOutputFormatClickHouse, CreateOutputFormatCriblLake, CreateOutputFormatDynatraceHTTP, CreateOutputFormatLocalSearchStorage, @@ -1474,13 +1501,14 @@ CreateOutputHostNetflowTypedDict, CreateOutputHostSnmp, CreateOutputHostSnmpTypedDict, - CreateOutputMappingTypeClickHouse, - CreateOutputMappingTypeLocalSearchStorage, - CreateOutputOTLPVersion, + CreateOutputMappingType, + CreateOutputOTLPVersionOpenTelemetry, CreateOutputOutputAlibabaCloudS3, CreateOutputOutputAlibabaCloudS3TypedDict, CreateOutputOutputAlphasocS3, CreateOutputOutputAlphasocS3TypedDict, + CreateOutputOutputAmazonManagedPrometheus, + CreateOutputOutputAmazonManagedPrometheusTypedDict, CreateOutputOutputChronicle, CreateOutputOutputChronicleTypedDict, CreateOutputOutputClickHouse, @@ -1499,6 +1527,8 @@ CreateOutputOutputCriblTCPTypedDict, CreateOutputOutputCrowdstrikeNextGenSiem, CreateOutputOutputCrowdstrikeNextGenSiemTypedDict, + CreateOutputOutputCustomerMetricsStorage, + CreateOutputOutputCustomerMetricsStorageTypedDict, CreateOutputOutputDatabricks, CreateOutputOutputDatabricksTypedDict, CreateOutputOutputDatadog, @@ -1527,10 +1557,10 @@ CreateOutputOutputGrafanaCloudType2, CreateOutputOutputGrafanaCloudUnion, CreateOutputOutputGrafanaCloudUnionTypedDict, - CreateOutputOutputGraphite, - CreateOutputOutputGraphiteTypedDict, CreateOutputOutputHumioHec, CreateOutputOutputHumioHecTypedDict, + CreateOutputOutputIbmCloudS3, + CreateOutputOutputIbmCloudS3TypedDict, CreateOutputOutputLocalSearchStorage, CreateOutputOutputLocalSearchStorageTypedDict, CreateOutputOutputLoki, @@ -1563,14 +1593,14 @@ CreateOutputOutputSnsTypedDict, CreateOutputOutputSqs, CreateOutputOutputSqsTypedDict, - CreateOutputOutputStatsdExt, - CreateOutputOutputStatsdExtTypedDict, CreateOutputOutputStorjS3, CreateOutputOutputStorjS3TypedDict, CreateOutputOutputSumoLogic, CreateOutputOutputSumoLogicTypedDict, CreateOutputOutputXsiam, CreateOutputOutputXsiamTypedDict, + CreateOutputPqControlsAmazonManagedPrometheus, + CreateOutputPqControlsAmazonManagedPrometheusTypedDict, CreateOutputPqControlsChronicle, CreateOutputPqControlsChronicleTypedDict, CreateOutputPqControlsClickHouse, @@ -1583,6 +1613,8 @@ CreateOutputPqControlsCriblTCPTypedDict, CreateOutputPqControlsCrowdstrikeNextGenSiem, CreateOutputPqControlsCrowdstrikeNextGenSiemTypedDict, + CreateOutputPqControlsCustomerMetricsStorage, + CreateOutputPqControlsCustomerMetricsStorageTypedDict, CreateOutputPqControlsDatadog, CreateOutputPqControlsDatadogTypedDict, CreateOutputPqControlsDataset, @@ -1613,8 +1645,6 @@ CreateOutputPqControlsSnsTypedDict, CreateOutputPqControlsSqs, CreateOutputPqControlsSqsTypedDict, - CreateOutputPqControlsStatsdExt, - CreateOutputPqControlsStatsdExtTypedDict, CreateOutputPqControlsSumoLogic, CreateOutputPqControlsSumoLogicTypedDict, CreateOutputPqControlsXsiam, @@ -1632,6 +1662,7 @@ CreateOutputTelemetryType, CreateOutputTypeAlibabaCloudS3, CreateOutputTypeAlphasocS3, + CreateOutputTypeAmazonManagedPrometheus, CreateOutputTypeChronicle, CreateOutputTypeClickHouse, CreateOutputTypeCloudflareR2, @@ -1641,6 +1672,7 @@ CreateOutputTypeCriblSearchEngine, CreateOutputTypeCriblTCP, CreateOutputTypeCrowdstrikeNextGenSiem, + CreateOutputTypeCustomerMetricsStorage, CreateOutputTypeDatabricks, CreateOutputTypeDatadog, CreateOutputTypeDataset, @@ -1651,6 +1683,7 @@ CreateOutputTypeDynatraceOtlp, CreateOutputTypeGraphite, CreateOutputTypeHumioHec, + CreateOutputTypeIbmCloudS3, CreateOutputTypeLocalSearchStorage, CreateOutputTypeLoki, CreateOutputTypeMicrosoftFabric, @@ -1667,15 +1700,38 @@ CreateOutputTypeSnmp, CreateOutputTypeSns, CreateOutputTypeSqs, - CreateOutputTypeStatsd, - CreateOutputTypeStatsdExt, CreateOutputTypeStorjS3, CreateOutputTypeSumoLogic, CreateOutputTypeXsiam, CreateOutputURLXsiam, CreateOutputURLXsiamTypedDict, ) - from .createoutputsystembypack_request import ( + from .createoutput_request import ( + CreateOutputOutputDefault, + CreateOutputOutputDefaultTypedDict, + CreateOutputOutputWebhookAuthenticationType1, + CreateOutputOutputWebhookAuthenticationType2, + CreateOutputOutputWebhookFormat1, + CreateOutputOutputWebhookPqControls1, + CreateOutputOutputWebhookPqControls1TypedDict, + CreateOutputOutputWebhookPqControls2, + CreateOutputOutputWebhookPqControls2TypedDict, + CreateOutputOutputWebhookType1, + CreateOutputOutputWebhookURL1, + CreateOutputOutputWebhookURL1TypedDict, + CreateOutputOutputWebhookURL2, + CreateOutputOutputWebhookURL2TypedDict, + CreateOutputOutputWebhookUnion, + CreateOutputOutputWebhookUnionTypedDict, + CreateOutputOutputWebhookWebhook1, + CreateOutputOutputWebhookWebhook1TypedDict, + CreateOutputOutputWebhookWebhook2, + CreateOutputOutputWebhookWebhook2TypedDict, + CreateOutputRequest, + CreateOutputRequestTypedDict, + CreateOutputTypeDefault, + ) + from .createoutputsystembypack_outputwebhook_format_2 import ( CreateOutputSystemByPackAPIVersion, CreateOutputSystemByPackAdditionalProperty, CreateOutputSystemByPackAdditionalPropertyTypedDict, @@ -1693,6 +1749,7 @@ CreateOutputSystemByPackCompression, CreateOutputSystemByPackElasticVersion, CreateOutputSystemByPackEndpointConfiguration, + CreateOutputSystemByPackEndpointGoogleCloudObservability, CreateOutputSystemByPackExtentTag, CreateOutputSystemByPackExtentTagTypedDict, CreateOutputSystemByPackExtraLogType, @@ -1700,6 +1757,8 @@ CreateOutputSystemByPackFacility, CreateOutputSystemByPackFieldName, CreateOutputSystemByPackFormatSentinel, + CreateOutputSystemByPackGoogleAuthenticationMethodGoogleBigquery, + CreateOutputSystemByPackGoogleAuthenticationMethodGoogleCloudObservability, CreateOutputSystemByPackIndexerDiscoveryConfigs, CreateOutputSystemByPackIndexerDiscoveryConfigsTypedDict, CreateOutputSystemByPackIngestIfNotExist, @@ -1709,6 +1768,7 @@ CreateOutputSystemByPackMessageFormat, CreateOutputSystemByPackMetadatum, CreateOutputSystemByPackMetadatumTypedDict, + CreateOutputSystemByPackOtlpVersionGoogleCloudObservability, CreateOutputSystemByPackOutputAzureBlob, CreateOutputSystemByPackOutputAzureBlobTypedDict, CreateOutputSystemByPackOutputAzureDataExplorer, @@ -1721,8 +1781,6 @@ CreateOutputSystemByPackOutputCloudwatchTypedDict, CreateOutputSystemByPackOutputConfluentCloud, CreateOutputSystemByPackOutputConfluentCloudTypedDict, - CreateOutputSystemByPackOutputDefault, - CreateOutputSystemByPackOutputDefaultTypedDict, CreateOutputSystemByPackOutputDevnull, CreateOutputSystemByPackOutputDevnullTypedDict, CreateOutputSystemByPackOutputElastic, @@ -1733,14 +1791,20 @@ CreateOutputSystemByPackOutputExabeamTypedDict, CreateOutputSystemByPackOutputFilesystem, CreateOutputSystemByPackOutputFilesystemTypedDict, + CreateOutputSystemByPackOutputGoogleBigquery, + CreateOutputSystemByPackOutputGoogleBigqueryTypedDict, CreateOutputSystemByPackOutputGoogleChronicle, CreateOutputSystemByPackOutputGoogleChronicleTypedDict, CreateOutputSystemByPackOutputGoogleCloudLogging, CreateOutputSystemByPackOutputGoogleCloudLoggingTypedDict, + CreateOutputSystemByPackOutputGoogleCloudObservability, + CreateOutputSystemByPackOutputGoogleCloudObservabilityTypedDict, CreateOutputSystemByPackOutputGoogleCloudStorage, CreateOutputSystemByPackOutputGoogleCloudStorageTypedDict, CreateOutputSystemByPackOutputGooglePubsub, CreateOutputSystemByPackOutputGooglePubsubTypedDict, + CreateOutputSystemByPackOutputGraphite, + CreateOutputSystemByPackOutputGraphiteTypedDict, CreateOutputSystemByPackOutputHoneycomb, CreateOutputSystemByPackOutputHoneycombTypedDict, CreateOutputSystemByPackOutputInfluxdb, @@ -1770,6 +1834,8 @@ CreateOutputSystemByPackOutputSplunkLbTypedDict, CreateOutputSystemByPackOutputSplunkTypedDict, CreateOutputSystemByPackOutputStatsd, + CreateOutputSystemByPackOutputStatsdExt, + CreateOutputSystemByPackOutputStatsdExtTypedDict, CreateOutputSystemByPackOutputStatsdTypedDict, CreateOutputSystemByPackOutputSyslog, CreateOutputSystemByPackOutputSyslogTypedDict, @@ -1777,26 +1843,8 @@ CreateOutputSystemByPackOutputTcpjsonTypedDict, CreateOutputSystemByPackOutputWavefront, CreateOutputSystemByPackOutputWavefrontTypedDict, - CreateOutputSystemByPackOutputWebhookAuthenticationType1, - CreateOutputSystemByPackOutputWebhookAuthenticationType2, - CreateOutputSystemByPackOutputWebhookFormat1, CreateOutputSystemByPackOutputWebhookFormat2, - CreateOutputSystemByPackOutputWebhookPqControls1, - CreateOutputSystemByPackOutputWebhookPqControls1TypedDict, - CreateOutputSystemByPackOutputWebhookPqControls2, - CreateOutputSystemByPackOutputWebhookPqControls2TypedDict, - CreateOutputSystemByPackOutputWebhookType1, CreateOutputSystemByPackOutputWebhookType2, - CreateOutputSystemByPackOutputWebhookURL1, - CreateOutputSystemByPackOutputWebhookURL1TypedDict, - CreateOutputSystemByPackOutputWebhookURL2, - CreateOutputSystemByPackOutputWebhookURL2TypedDict, - CreateOutputSystemByPackOutputWebhookUnion, - CreateOutputSystemByPackOutputWebhookUnionTypedDict, - CreateOutputSystemByPackOutputWebhookWebhook1, - CreateOutputSystemByPackOutputWebhookWebhook1TypedDict, - CreateOutputSystemByPackOutputWebhookWebhook2, - CreateOutputSystemByPackOutputWebhookWebhook2TypedDict, CreateOutputSystemByPackOutputWizHec, CreateOutputSystemByPackOutputWizHecTypedDict, CreateOutputSystemByPackPayloadFormat, @@ -1814,10 +1862,14 @@ CreateOutputSystemByPackPqControlsElasticCloud, CreateOutputSystemByPackPqControlsElasticCloudTypedDict, CreateOutputSystemByPackPqControlsElasticTypedDict, + CreateOutputSystemByPackPqControlsGoogleBigquery, + CreateOutputSystemByPackPqControlsGoogleBigqueryTypedDict, CreateOutputSystemByPackPqControlsGoogleChronicle, CreateOutputSystemByPackPqControlsGoogleChronicleTypedDict, CreateOutputSystemByPackPqControlsGoogleCloudLogging, CreateOutputSystemByPackPqControlsGoogleCloudLoggingTypedDict, + CreateOutputSystemByPackPqControlsGoogleCloudObservability, + CreateOutputSystemByPackPqControlsGoogleCloudObservabilityTypedDict, CreateOutputSystemByPackPqControlsGooglePubsub, CreateOutputSystemByPackPqControlsGooglePubsubTypedDict, CreateOutputSystemByPackPqControlsHoneycomb, @@ -1845,6 +1897,8 @@ CreateOutputSystemByPackPqControlsSplunkLbTypedDict, CreateOutputSystemByPackPqControlsSplunkTypedDict, CreateOutputSystemByPackPqControlsStatsd, + CreateOutputSystemByPackPqControlsStatsdExt, + CreateOutputSystemByPackPqControlsStatsdExtTypedDict, CreateOutputSystemByPackPqControlsStatsdTypedDict, CreateOutputSystemByPackPqControlsSyslog, CreateOutputSystemByPackPqControlsSyslogTypedDict, @@ -1855,13 +1909,10 @@ CreateOutputSystemByPackPqControlsWizHec, CreateOutputSystemByPackPqControlsWizHecTypedDict, CreateOutputSystemByPackPrefixOptional, + CreateOutputSystemByPackProtocolGoogleCloudObservability, CreateOutputSystemByPackProtocolSyslog, CreateOutputSystemByPackReportLevel, CreateOutputSystemByPackReportMethod, - CreateOutputSystemByPackRequest, - CreateOutputSystemByPackRequestBody, - CreateOutputSystemByPackRequestBodyTypedDict, - CreateOutputSystemByPackRequestTypedDict, CreateOutputSystemByPackSendEventsAs, CreateOutputSystemByPackSeveritySyslog, CreateOutputSystemByPackTimestampFormat, @@ -1872,14 +1923,15 @@ CreateOutputSystemByPackTypeAzureLogs, CreateOutputSystemByPackTypeCloudwatch, CreateOutputSystemByPackTypeConfluentCloud, - CreateOutputSystemByPackTypeDefault, CreateOutputSystemByPackTypeDevnull, CreateOutputSystemByPackTypeElastic, CreateOutputSystemByPackTypeElasticCloud, CreateOutputSystemByPackTypeExabeam, CreateOutputSystemByPackTypeFilesystem, + CreateOutputSystemByPackTypeGoogleBigquery, CreateOutputSystemByPackTypeGoogleChronicle, CreateOutputSystemByPackTypeGoogleCloudLogging, + CreateOutputSystemByPackTypeGoogleCloudObservability, CreateOutputSystemByPackTypeGoogleCloudStorage, CreateOutputSystemByPackTypeGooglePubsub, CreateOutputSystemByPackTypeHoneycomb, @@ -1896,6 +1948,8 @@ CreateOutputSystemByPackTypeSplunk, CreateOutputSystemByPackTypeSplunkHec, CreateOutputSystemByPackTypeSplunkLb, + CreateOutputSystemByPackTypeStatsd, + CreateOutputSystemByPackTypeStatsdExt, CreateOutputSystemByPackTypeSyslog, CreateOutputSystemByPackTypeTcpjson, CreateOutputSystemByPackTypeWavefront, @@ -1907,29 +1961,26 @@ CreateOutputSystemByPackURLSplunkHecTypedDict, CreateOutputSystemByPackWriteAction, ) - from .createoutputsystembypack_type_statsd import ( + from .createoutputsystembypack_pqcontrols_graphite import ( CreateOutputSystemByPackAISIEMEndpointPath, CreateOutputSystemByPackAuthentication, + CreateOutputSystemByPackAuthenticationMethodAlibabaCloudS3, CreateOutputSystemByPackAuthenticationMethodChronicle, - CreateOutputSystemByPackAuthenticationMethodCloudflareR2, CreateOutputSystemByPackAuthenticationMethodXsiam, CreateOutputSystemByPackAuthenticationTypeDynatraceHTTP, CreateOutputSystemByPackAuthenticationTypeOpenTelemetry, + CreateOutputSystemByPackAuthenticationTypePrometheus, CreateOutputSystemByPackAuthenticationTypedDict, - CreateOutputSystemByPackAwsAuthenticationMethod, - CreateOutputSystemByPackColumnMappingClickHouse, - CreateOutputSystemByPackColumnMappingClickHouseTypedDict, - CreateOutputSystemByPackColumnMappingLocalSearchStorage, - CreateOutputSystemByPackColumnMappingLocalSearchStorageTypedDict, + CreateOutputSystemByPackColumnMapping, + CreateOutputSystemByPackColumnMappingTypedDict, CreateOutputSystemByPackCustomLabel, CreateOutputSystemByPackCustomLabelTypedDict, CreateOutputSystemByPackDataFormatRing, CreateOutputSystemByPackDataFormatSumoLogic, CreateOutputSystemByPackDataSetSite, CreateOutputSystemByPackDatadogSite, - CreateOutputSystemByPackEndpoint, + CreateOutputSystemByPackEndpointDynatraceHTTP, CreateOutputSystemByPackEndpointType, - CreateOutputSystemByPackFormatClickHouse, CreateOutputSystemByPackFormatCriblLake, CreateOutputSystemByPackFormatDynatraceHTTP, CreateOutputSystemByPackFormatLocalSearchStorage, @@ -1937,13 +1988,14 @@ CreateOutputSystemByPackHostNetflowTypedDict, CreateOutputSystemByPackHostSnmp, CreateOutputSystemByPackHostSnmpTypedDict, - CreateOutputSystemByPackMappingTypeClickHouse, - CreateOutputSystemByPackMappingTypeLocalSearchStorage, - CreateOutputSystemByPackOTLPVersion, + CreateOutputSystemByPackMappingType, + CreateOutputSystemByPackOTLPVersionOpenTelemetry, CreateOutputSystemByPackOutputAlibabaCloudS3, CreateOutputSystemByPackOutputAlibabaCloudS3TypedDict, CreateOutputSystemByPackOutputAlphasocS3, CreateOutputSystemByPackOutputAlphasocS3TypedDict, + CreateOutputSystemByPackOutputAmazonManagedPrometheus, + CreateOutputSystemByPackOutputAmazonManagedPrometheusTypedDict, CreateOutputSystemByPackOutputChronicle, CreateOutputSystemByPackOutputChronicleTypedDict, CreateOutputSystemByPackOutputClickHouse, @@ -1962,6 +2014,8 @@ CreateOutputSystemByPackOutputCriblTCPTypedDict, CreateOutputSystemByPackOutputCrowdstrikeNextGenSiem, CreateOutputSystemByPackOutputCrowdstrikeNextGenSiemTypedDict, + CreateOutputSystemByPackOutputCustomerMetricsStorage, + CreateOutputSystemByPackOutputCustomerMetricsStorageTypedDict, CreateOutputSystemByPackOutputDatabricks, CreateOutputSystemByPackOutputDatabricksTypedDict, CreateOutputSystemByPackOutputDatadog, @@ -1990,10 +2044,10 @@ CreateOutputSystemByPackOutputGrafanaCloudType2, CreateOutputSystemByPackOutputGrafanaCloudUnion, CreateOutputSystemByPackOutputGrafanaCloudUnionTypedDict, - CreateOutputSystemByPackOutputGraphite, - CreateOutputSystemByPackOutputGraphiteTypedDict, CreateOutputSystemByPackOutputHumioHec, CreateOutputSystemByPackOutputHumioHecTypedDict, + CreateOutputSystemByPackOutputIbmCloudS3, + CreateOutputSystemByPackOutputIbmCloudS3TypedDict, CreateOutputSystemByPackOutputLocalSearchStorage, CreateOutputSystemByPackOutputLocalSearchStorageTypedDict, CreateOutputSystemByPackOutputLoki, @@ -2026,14 +2080,14 @@ CreateOutputSystemByPackOutputSnsTypedDict, CreateOutputSystemByPackOutputSqs, CreateOutputSystemByPackOutputSqsTypedDict, - CreateOutputSystemByPackOutputStatsdExt, - CreateOutputSystemByPackOutputStatsdExtTypedDict, CreateOutputSystemByPackOutputStorjS3, CreateOutputSystemByPackOutputStorjS3TypedDict, CreateOutputSystemByPackOutputSumoLogic, CreateOutputSystemByPackOutputSumoLogicTypedDict, CreateOutputSystemByPackOutputXsiam, CreateOutputSystemByPackOutputXsiamTypedDict, + CreateOutputSystemByPackPqControlsAmazonManagedPrometheus, + CreateOutputSystemByPackPqControlsAmazonManagedPrometheusTypedDict, CreateOutputSystemByPackPqControlsChronicle, CreateOutputSystemByPackPqControlsChronicleTypedDict, CreateOutputSystemByPackPqControlsClickHouse, @@ -2046,6 +2100,8 @@ CreateOutputSystemByPackPqControlsCriblTCPTypedDict, CreateOutputSystemByPackPqControlsCrowdstrikeNextGenSiem, CreateOutputSystemByPackPqControlsCrowdstrikeNextGenSiemTypedDict, + CreateOutputSystemByPackPqControlsCustomerMetricsStorage, + CreateOutputSystemByPackPqControlsCustomerMetricsStorageTypedDict, CreateOutputSystemByPackPqControlsDatadog, CreateOutputSystemByPackPqControlsDatadogTypedDict, CreateOutputSystemByPackPqControlsDataset, @@ -2076,8 +2132,6 @@ CreateOutputSystemByPackPqControlsSnsTypedDict, CreateOutputSystemByPackPqControlsSqs, CreateOutputSystemByPackPqControlsSqsTypedDict, - CreateOutputSystemByPackPqControlsStatsdExt, - CreateOutputSystemByPackPqControlsStatsdExtTypedDict, CreateOutputSystemByPackPqControlsSumoLogic, CreateOutputSystemByPackPqControlsSumoLogicTypedDict, CreateOutputSystemByPackPqControlsXsiam, @@ -2095,6 +2149,7 @@ CreateOutputSystemByPackTelemetryType, CreateOutputSystemByPackTypeAlibabaCloudS3, CreateOutputSystemByPackTypeAlphasocS3, + CreateOutputSystemByPackTypeAmazonManagedPrometheus, CreateOutputSystemByPackTypeChronicle, CreateOutputSystemByPackTypeClickHouse, CreateOutputSystemByPackTypeCloudflareR2, @@ -2104,6 +2159,7 @@ CreateOutputSystemByPackTypeCriblSearchEngine, CreateOutputSystemByPackTypeCriblTCP, CreateOutputSystemByPackTypeCrowdstrikeNextGenSiem, + CreateOutputSystemByPackTypeCustomerMetricsStorage, CreateOutputSystemByPackTypeDatabricks, CreateOutputSystemByPackTypeDatadog, CreateOutputSystemByPackTypeDataset, @@ -2114,6 +2170,7 @@ CreateOutputSystemByPackTypeDynatraceOtlp, CreateOutputSystemByPackTypeGraphite, CreateOutputSystemByPackTypeHumioHec, + CreateOutputSystemByPackTypeIbmCloudS3, CreateOutputSystemByPackTypeLocalSearchStorage, CreateOutputSystemByPackTypeLoki, CreateOutputSystemByPackTypeMicrosoftFabric, @@ -2130,14 +2187,39 @@ CreateOutputSystemByPackTypeSnmp, CreateOutputSystemByPackTypeSns, CreateOutputSystemByPackTypeSqs, - CreateOutputSystemByPackTypeStatsd, - CreateOutputSystemByPackTypeStatsdExt, CreateOutputSystemByPackTypeStorjS3, CreateOutputSystemByPackTypeSumoLogic, CreateOutputSystemByPackTypeXsiam, CreateOutputSystemByPackURLXsiam, CreateOutputSystemByPackURLXsiamTypedDict, ) + from .createoutputsystembypack_request import ( + CreateOutputSystemByPackOutputDefault, + CreateOutputSystemByPackOutputDefaultTypedDict, + CreateOutputSystemByPackOutputWebhookAuthenticationType1, + CreateOutputSystemByPackOutputWebhookAuthenticationType2, + CreateOutputSystemByPackOutputWebhookFormat1, + CreateOutputSystemByPackOutputWebhookPqControls1, + CreateOutputSystemByPackOutputWebhookPqControls1TypedDict, + CreateOutputSystemByPackOutputWebhookPqControls2, + CreateOutputSystemByPackOutputWebhookPqControls2TypedDict, + CreateOutputSystemByPackOutputWebhookType1, + CreateOutputSystemByPackOutputWebhookURL1, + CreateOutputSystemByPackOutputWebhookURL1TypedDict, + CreateOutputSystemByPackOutputWebhookURL2, + CreateOutputSystemByPackOutputWebhookURL2TypedDict, + CreateOutputSystemByPackOutputWebhookUnion, + CreateOutputSystemByPackOutputWebhookUnionTypedDict, + CreateOutputSystemByPackOutputWebhookWebhook1, + CreateOutputSystemByPackOutputWebhookWebhook1TypedDict, + CreateOutputSystemByPackOutputWebhookWebhook2, + CreateOutputSystemByPackOutputWebhookWebhook2TypedDict, + CreateOutputSystemByPackRequest, + CreateOutputSystemByPackRequestBody, + CreateOutputSystemByPackRequestBodyTypedDict, + CreateOutputSystemByPackRequestTypedDict, + CreateOutputSystemByPackTypeDefault, + ) from .createoutputsystemtestbypackandidop import ( CreateOutputSystemTestByPackAndIDRequest, CreateOutputSystemTestByPackAndIDRequestTypedDict, @@ -2150,6 +2232,10 @@ CreatePipelinesByPackRequest, CreatePipelinesByPackRequestTypedDict, ) + from .createproductsgroupsbyproductop import ( + CreateProductsGroupsByProductRequest, + CreateProductsGroupsByProductRequestTypedDict, + ) from .createroutesappendbyidop import ( CreateRoutesAppendByIDRequest, CreateRoutesAppendByIDRequestTypedDict, @@ -2180,10 +2266,15 @@ DatabaseCollectorConfStateTrackingTypedDict, DatabaseCollectorConfTypedDict, ) + from .databaseconnectionauthtype import DatabaseConnectionAuthType from .databaseconnectionconfig import ( DatabaseConnectionConfig, DatabaseConnectionConfigTypedDict, ) + from .databaseconnectionresponseenvelope import ( + DatabaseConnectionResponseEnvelope, + DatabaseConnectionResponseEnvelopeTypedDict, + ) from .databaseconnectiontype import DatabaseConnectionType from .datacompressionformatoptionspersistence import ( DataCompressionFormatOptionsPersistence, @@ -2195,10 +2286,6 @@ DatasetMetadataRunInfo, DatasetMetadataRunInfoTypedDict, ) - from .deleteconfiggroupbyproductandidop import ( - DeleteConfigGroupByProductAndIDRequest, - DeleteConfigGroupByProductAndIDRequestTypedDict, - ) from .deletecribllakedatasetbylakeidandidop import ( DeleteCriblLakeDatasetByLakeIDAndIDRequest, DeleteCriblLakeDatasetByLakeIDAndIDRequestTypedDict, @@ -2251,6 +2338,10 @@ DeletePipelinesByPackAndIDRequest, DeletePipelinesByPackAndIDRequestTypedDict, ) + from .deleteproductsgroupsbyproductandidop import ( + DeleteProductsGroupsByProductAndIDRequest, + DeleteProductsGroupsByProductAndIDRequestTypedDict, + ) from .deletesavedjobbyidop import ( DeleteSavedJobByIDRequest, DeleteSavedJobByIDRequestTypedDict, @@ -2264,8 +2355,16 @@ ) from .destinationprotocoloptions import DestinationProtocolOptions from .destinationtype import DestinationType - from .difffiles import Block, BlockTypedDict, DiffFiles, DiffFilesTypedDict - from .diffline import DiffLine, DiffLineTypedDict, UnknownDiffLine + from .difffiles import ( + Block, + BlockTypedDict, + ChecksumBefore, + ChecksumBeforeTypedDict, + DiffFiles, + DiffFilesTypedDict, + OldMode, + OldModeTypedDict, + ) from .difflinecontext import ( DiffLineContext, DiffLineContextType, @@ -2294,17 +2393,13 @@ DistributedSummaryGroups, DistributedSummaryGroupsTypedDict, DistributedSummaryTypedDict, - DistributedSummaryWorkers, - DistributedSummaryWorkersTypedDict, + Workers, + WorkersTypedDict, ) from .emptyobject import EmptyObject, EmptyObjectTypedDict from .estimatedingestrateoptionsconfiggroup import ( EstimatedIngestRateOptionsConfigGroup, ) - from .eventbreakerrulefields import ( - EventBreakerRuleFields, - EventBreakerRuleFieldsTypedDict, - ) from .eventbreakertypeoptionseventbreakerexistingornewnew import ( EventBreakerTypeOptionsEventBreakerExistingOrNewNew, ) @@ -2325,16 +2420,13 @@ FeatureFlagOverrideConfSystemSettingsConf, FeatureFlagOverrideConfSystemSettingsConfTypedDict, ) - from .filestypegitcommitsummary import ( - FilesTypeGitCommitSummary, - FilesTypeGitCommitSummaryTypedDict, - ) from .filesystemcollectorconf import ( FilesystemCollectorConf, FilesystemCollectorConfExtractor, FilesystemCollectorConfExtractorTypedDict, FilesystemCollectorConfTypedDict, ) + from .formatoptions import FormatOptions from .formatoptionscribllakedataset import FormatOptionsCriblLakeDataset from .functionaggregatemetrics import ( FunctionAggregateMetrics, @@ -2436,8 +2528,8 @@ FunctionConfSchemaLocalSearchDatatypeParserTypedDict, ) from .functionconfschemalocalsearchrulesetrunner import ( - FullRulesetIEForUseWithLiveDataCaptureWhichUsesDraftUnsavedRulesets, - FullRulesetIEForUseWithLiveDataCaptureWhichUsesDraftUnsavedRulesetsTypedDict, + FullRuleset, + FullRulesetTypedDict, FunctionConfSchemaLocalSearchRulesetRunner, FunctionConfSchemaLocalSearchRulesetRunnerTypedDict, RulesetType, @@ -2794,22 +2886,6 @@ FunctionXMLUnrollID, FunctionXMLUnrollTypedDict, ) - from .getconfiggroupaclbyproductandidop import ( - GetConfigGroupACLByProductAndIDRequest, - GetConfigGroupACLByProductAndIDRequestTypedDict, - ) - from .getconfiggroupaclteamsbyproductandidop import ( - GetConfigGroupACLTeamsByProductAndIDRequest, - GetConfigGroupACLTeamsByProductAndIDRequestTypedDict, - ) - from .getconfiggroupbyproductandidop import ( - GetConfigGroupByProductAndIDRequest, - GetConfigGroupByProductAndIDRequestTypedDict, - ) - from .getconfiggroupconfigversionbyproductandidop import ( - GetConfigGroupConfigVersionByProductAndIDRequest, - GetConfigGroupConfigVersionByProductAndIDRequestTypedDict, - ) from .getcribllakedatasetbylakeidandidop import ( GetCriblLakeDatasetByLakeIDAndIDRequest, GetCriblLakeDatasetByLakeIDAndIDRequestTypedDict, @@ -2818,6 +2894,10 @@ GetCriblLakeDatasetByLakeIDFormat, GetCriblLakeDatasetByLakeIDRequest, GetCriblLakeDatasetByLakeIDRequestTypedDict, + GetCriblLakeDatasetByLakeIDResponse, + GetCriblLakeDatasetByLakeIDResponseBody, + GetCriblLakeDatasetByLakeIDResponseBodyTypedDict, + GetCriblLakeDatasetByLakeIDResponseTypedDict, ) from .getdatabaseconnectionconfigbyidop import ( GetDatabaseConnectionConfigByIDRequest, @@ -2826,11 +2906,21 @@ from .getdatabaseconnectionconfigop import ( GetDatabaseConnectionConfigRequest, GetDatabaseConnectionConfigRequestTypedDict, + GetDatabaseConnectionConfigResponse, + GetDatabaseConnectionConfigResponseTypedDict, ) from .getfunctionsbyidop import ( GetFunctionsByIDRequest, GetFunctionsByIDRequestTypedDict, ) + from .getfunctionsop import ( + GetFunctionsRequest, + GetFunctionsRequestTypedDict, + GetFunctionsResponse, + GetFunctionsResponseBody, + GetFunctionsResponseBodyTypedDict, + GetFunctionsResponseTypedDict, + ) from .getinputbyidop import GetInputByIDRequest, GetInputByIDRequestTypedDict from .getinputpqbyidop import GetInputPqByIDRequest, GetInputPqByIDRequestTypedDict from .getinputstatusbyidop import ( @@ -2841,6 +2931,8 @@ GetInputStatusRequest, GetInputStatusRequestTypedDict, GetInputStatusResponse, + GetInputStatusResponseBody, + GetInputStatusResponseBodyTypedDict, GetInputStatusResponseTypedDict, ) from .getinputstatussysteminputsbypackandidop import ( @@ -2851,6 +2943,8 @@ GetInputStatusSystemInputsByPackRequest, GetInputStatusSystemInputsByPackRequestTypedDict, GetInputStatusSystemInputsByPackResponse, + GetInputStatusSystemInputsByPackResponseBody, + GetInputStatusSystemInputsByPackResponseBodyTypedDict, GetInputStatusSystemInputsByPackResponseTypedDict, ) from .getinputsystembypackandidop import ( @@ -2860,6 +2954,10 @@ from .getinputsystembypackop import ( GetInputSystemByPackRequest, GetInputSystemByPackRequestTypedDict, + GetInputSystemByPackResponse, + GetInputSystemByPackResponseBody, + GetInputSystemByPackResponseBodyTypedDict, + GetInputSystemByPackResponseTypedDict, ) from .getinputsystempqbypackandidop import ( GetInputSystemPqByPackAndIDRequest, @@ -2882,6 +2980,8 @@ GetOutputStatusRequest, GetOutputStatusRequestTypedDict, GetOutputStatusResponse, + GetOutputStatusResponseBody, + GetOutputStatusResponseBodyTypedDict, GetOutputStatusResponseTypedDict, ) from .getoutputstatussystemoutputsbypackandidop import ( @@ -2892,6 +2992,8 @@ GetOutputStatusSystemOutputsByPackRequest, GetOutputStatusSystemOutputsByPackRequestTypedDict, GetOutputStatusSystemOutputsByPackResponse, + GetOutputStatusSystemOutputsByPackResponseBody, + GetOutputStatusSystemOutputsByPackResponseBodyTypedDict, GetOutputStatusSystemOutputsByPackResponseTypedDict, ) from .getoutputsystembypackandidop import ( @@ -2901,6 +3003,10 @@ from .getoutputsystembypackop import ( GetOutputSystemByPackRequest, GetOutputSystemByPackRequestTypedDict, + GetOutputSystemByPackResponse, + GetOutputSystemByPackResponseBody, + GetOutputSystemByPackResponseBodyTypedDict, + GetOutputSystemByPackResponseTypedDict, ) from .getoutputsystempqbypackandidop import ( GetOutputSystemPqByPackAndIDRequest, @@ -2911,7 +3017,14 @@ GetOutputSystemSamplesByPackAndIDRequestTypedDict, ) from .getpacksbyidop import GetPacksByIDRequest, GetPacksByIDRequestTypedDict - from .getpacksop import GetPacksRequest, GetPacksRequestTypedDict + from .getpacksop import ( + GetPacksRequest, + GetPacksRequestTypedDict, + GetPacksResponse, + GetPacksResponseBody, + GetPacksResponseBodyTypedDict, + GetPacksResponseTypedDict, + ) from .getpipelinesbyidop import ( GetPipelinesByIDRequest, GetPipelinesByIDRequestTypedDict, @@ -2923,10 +3036,50 @@ from .getpipelinesbypackop import ( GetPipelinesByPackRequest, GetPipelinesByPackRequestTypedDict, + GetPipelinesByPackResponse, + GetPipelinesByPackResponseBody, + GetPipelinesByPackResponseBodyTypedDict, + GetPipelinesByPackResponseTypedDict, + ) + from .getpipelinesop import ( + GetPipelinesRequest, + GetPipelinesRequestTypedDict, + GetPipelinesResponse, + GetPipelinesResponseBody, + GetPipelinesResponseBodyTypedDict, + GetPipelinesResponseTypedDict, + ) + from .getproductsgroupsaclbyproductandidop import ( + GetProductsGroupsACLByProductAndIDRequest, + GetProductsGroupsACLByProductAndIDRequestTypedDict, + ) + from .getproductsgroupsaclteamsbyproductandidop import ( + GetProductsGroupsACLTeamsByProductAndIDRequest, + GetProductsGroupsACLTeamsByProductAndIDRequestTypedDict, + ) + from .getproductsgroupsbyproductandidop import ( + GetProductsGroupsByProductAndIDRequest, + GetProductsGroupsByProductAndIDRequestTypedDict, + ) + from .getproductsgroupsbyproductop import ( + GetProductsGroupsByProductRequest, + GetProductsGroupsByProductRequestTypedDict, + GetProductsGroupsByProductResponse, + GetProductsGroupsByProductResponseBody, + GetProductsGroupsByProductResponseBodyTypedDict, + GetProductsGroupsByProductResponseTypedDict, + ) + from .getproductsgroupsconfigversionbyproductandidop import ( + GetProductsGroupsConfigVersionByProductAndIDRequest, + GetProductsGroupsConfigVersionByProductAndIDRequestTypedDict, ) from .getproductssummarybyproductop import ( GetProductsSummaryByProductRequest, GetProductsSummaryByProductRequestTypedDict, + GetProductsSummaryByProductResponse, + GetProductsSummaryByProductResponseBody, + GetProductsSummaryByProductResponseBodyTypedDict, + GetProductsSummaryByProductResponseTypedDict, ) from .getproductssummaryworkersbyproductop import ( GetProductsSummaryWorkersByProductRequest, @@ -2940,6 +3093,8 @@ GetProductsWorkersByProductRequest, GetProductsWorkersByProductRequestTypedDict, GetProductsWorkersByProductResponse, + GetProductsWorkersByProductResponseBody, + GetProductsWorkersByProductResponseBodyTypedDict, GetProductsWorkersByProductResponseTypedDict, ) from .getroutesbyidop import GetRoutesByIDRequest, GetRoutesByIDRequestTypedDict @@ -2955,7 +3110,14 @@ GetSavedJobByIDRequest, GetSavedJobByIDRequestTypedDict, ) - from .getsavedjobop import GetSavedJobRequest, GetSavedJobRequestTypedDict + from .getsavedjobop import ( + GetSavedJobRequest, + GetSavedJobRequestTypedDict, + GetSavedJobResponse, + GetSavedJobResponseBody, + GetSavedJobResponseBodyTypedDict, + GetSavedJobResponseTypedDict, + ) from .getversioncountop import ( GetVersionCountRequest, GetVersionCountRequestTypedDict, @@ -2965,18 +3127,28 @@ GetVersionFilesRequest, GetVersionFilesRequestTypedDict, ) - from .getversionop import GetVersionRequest, GetVersionRequestTypedDict + from .getversionop import ( + GetVersionRequest, + GetVersionRequestTypedDict, + GetVersionResponse, + GetVersionResponseBody, + GetVersionResponseBodyTypedDict, + GetVersionResponseTypedDict, + ) from .getversionshowop import GetVersionShowRequest, GetVersionShowRequestTypedDict from .gitcommitbody import GitCommitBody, GitCommitBodyTypedDict from .gitcommitsummary import ( Author, AuthorTypedDict, GitCommitSummary, + GitCommitSummaryFiles, + GitCommitSummaryFilesTypedDict, GitCommitSummaryTypedDict, Summary, SummaryTypedDict, ) from .gitcountresult import GitCountResult, GitCountResultTypedDict + from .gitdifflines import GitDiffLines, GitDiffLinesTypedDict, UnknownGitDiffLines from .gitdiffresult import GitDiffResult, GitDiffResultTypedDict from .gitfile import GitFile, GitFileTypedDict from .gitfilerename import GitFileRename, GitFileRenameTypedDict @@ -2988,6 +3160,8 @@ Audit, AuditTypedDict, GitRevertResult, + GitRevertResultFiles, + GitRevertResultFilesTypedDict, GitRevertResultTypedDict, ) from .gitshowresult import GitShowResult, GitShowResultTypedDict @@ -3430,13 +3604,18 @@ UnknownHealthCheckCollectorConf, ) from .healthcounttype import HealthCountType, HealthCountTypeTypedDict + from .healthoptionsstatus import HealthOptionsStatus + from .healthoverlaystatus import ( + HealthOverlayStatus, + HealthOverlayStatusTypedDict, + UnknownHealthOverlayStatus, + ) from .healthserverstatus import ( HealthServerStatus, HealthServerStatusStatus, HealthServerStatusTypedDict, Role, ) - from .healthstringtype import HealthStringType from .heartbeatmetadata import HeartbeatMetadata, HeartbeatMetadataTypedDict from .hiddendefaultbreakersoptionsdatabasecollectorconf import ( HiddenDefaultBreakersOptionsDatabaseCollectorConf, @@ -3453,6 +3632,7 @@ from .inputanthropiccompliance_input import ( InputAnthropicComplianceContentConfig, InputAnthropicComplianceContentConfigTypedDict, + InputAnthropicComplianceEndpointName, InputAnthropicComplianceInput, InputAnthropicComplianceInputTypedDict, InputAnthropicComplianceManageState, @@ -3484,9 +3664,6 @@ InputAzureBlobType, ) from .inputcloudflarehec_input import ( - InputCloudflareHecAuthToken, - InputCloudflareHecAuthTokenTypedDict, - InputCloudflareHecAuthenticationMethod, InputCloudflareHecInput, InputCloudflareHecInputTypedDict, InputCloudflareHecTLSSettingsServerSide, @@ -3549,6 +3726,8 @@ InputDatadogAgentInputTypedDict, InputDatadogAgentProxyMode, InputDatadogAgentProxyModeTypedDict, + InputDatadogAgentSamplingRule, + InputDatadogAgentSamplingRuleTypedDict, InputDatadogAgentType, ) from .inputdatagen_input import ( @@ -3591,6 +3770,8 @@ InputEventhubAmqpAuthenticationMethod, InputEventhubAmqpAzureBlobStorage, InputEventhubAmqpAzureBlobStorageTypedDict, + InputEventhubAmqpCertificate, + InputEventhubAmqpCertificateTypedDict, InputEventhubAmqpCheckpointing, InputEventhubAmqpCheckpointingTypedDict, InputEventhubAmqpInput, @@ -3798,6 +3979,8 @@ InputResponseCPUModeSystemMetrics, InputResponseCPUSystemMetrics, InputResponseCPUSystemMetricsTypedDict, + InputResponseCertificate, + InputResponseCertificateTypedDict, InputResponseCheckpointing, InputResponseCheckpointingTypedDict, InputResponseCollectors, @@ -3825,6 +4008,8 @@ InputResponseEndpointParamTypedDict, InputResponseFilterSystemMetrics, InputResponseFilterSystemMetricsTypedDict, + InputResponseFirewall, + InputResponseFirewallTypedDict, InputResponseHostSystemMetrics, InputResponseHostSystemMetricsTypedDict, InputResponseInputAzureBlob, @@ -3896,7 +4081,11 @@ InputResponseInputSystemStateTypedDict, InputResponseInputTcpjson, InputResponseInputTcpjsonTypedDict, + InputResponseListeningPorts, + InputResponseListeningPortsTypedDict, InputResponseLogLevelSplunkSearch, + InputResponseLoggedInUsers, + InputResponseLoggedInUsersTypedDict, InputResponseLokiAuth1, InputResponseLokiAuth1TypedDict, InputResponseLokiAuth2, @@ -3922,6 +4111,8 @@ InputResponseProxyModeElastic, InputResponseProxyModeElasticTypedDict, InputResponseScheduleType, + InputResponseServices, + InputResponseServicesTypedDict, InputResponseSplunkHecMetadata, InputResponseSplunkHecMetadataTypedDict, InputResponseSubscriptionPlan, @@ -3961,18 +4152,15 @@ InputResponseTypedDict, UnknownInputResponse, ) - from .inputresponse_logged_in_users import ( + from .inputresponse_users_and_groups import ( InputResponseAccountType, InputResponseAllow, InputResponseAllowTypedDict, InputResponseAuthMethodsExt, InputResponseAuthMethodsExtAuthenticationType, InputResponseAuthMethodsExtTypedDict, - InputResponseAuthTokenCloudflareHec, - InputResponseAuthTokenCloudflareHecTypedDict, InputResponseAuthTokenZscalerHec, InputResponseAuthTokenZscalerHecTypedDict, - InputResponseAuthenticationMethodCloudflareHec, InputResponseAuthenticationMethodWef, InputResponseAuthenticationTypeOpenTelemetry, InputResponseAuthenticationTypeServicenowTable, @@ -3994,11 +4182,10 @@ InputResponseDiskWindowsMetricsTypedDict, InputResponseDisksAndFileSystems, InputResponseDisksAndFileSystemsTypedDict, + InputResponseEndpointName, InputResponseEventFormat, InputResponseFilterAppscope, InputResponseFilterAppscopeTypedDict, - InputResponseFirewall, - InputResponseFirewallTypedDict, InputResponseFormat, InputResponseGrantType, InputResponseHostInfo, @@ -4070,6 +4257,8 @@ InputResponseInputSnmpTypedDict, InputResponseInputSqs, InputResponseInputSqsTypedDict, + InputResponseInputSysdigHec, + InputResponseInputSysdigHecTypedDict, InputResponseInputSyslogSyslog1, InputResponseInputSyslogSyslog1TypedDict, InputResponseInputSyslogSyslog2, @@ -4080,6 +4269,8 @@ InputResponseInputSyslogUnionTypedDict, InputResponseInputTCP, InputResponseInputTCPTypedDict, + InputResponseInputUpwindHec, + InputResponseInputUpwindHecTypedDict, InputResponseInputWef, InputResponseInputWefTypedDict, InputResponseInputWinEventLogs, @@ -4094,11 +4285,7 @@ InputResponseInputZscalerHecTypedDict, InputResponseInterfaces, InputResponseInterfacesTypedDict, - InputResponseListeningPorts, - InputResponseListeningPortsTypedDict, InputResponseLogLevelOpenai, - InputResponseLoggedInUsers, - InputResponseLoggedInUsersTypedDict, InputResponseMTLSSettings, InputResponseMTLSSettingsTypedDict, InputResponseManageStateAnthropicCompliance, @@ -4143,8 +4330,8 @@ InputResponseSNMPv3AuthenticationTypedDict, InputResponseSample, InputResponseSampleTypedDict, - InputResponseServices, - InputResponseServicesTypedDict, + InputResponseSamplingRule, + InputResponseSamplingRuleTypedDict, InputResponseShardIteratorStart, InputResponseShardLoadBalancing, InputResponseSortDirection, @@ -4182,8 +4369,10 @@ InputResponseTypeServicenowTable, InputResponseTypeSnmp, InputResponseTypeSqs, + InputResponseTypeSysdigHec, InputResponseTypeSystemState, InputResponseTypeTCP, + InputResponseTypeUpwindHec, InputResponseTypeWef, InputResponseTypeWinEventLogs, InputResponseTypeWindowsMetrics, @@ -4263,6 +4452,11 @@ InputSqsType, ) from .inputstatus import InputStatus, InputStatusTypedDict + from .inputsysdighec_input import ( + InputSysdigHecInput, + InputSysdigHecInputTypedDict, + InputSysdigHecType, + ) from .inputsyslog_input_union import ( InputSyslogInputUnion, InputSyslogInputUnionTypedDict, @@ -4341,6 +4535,11 @@ InputTcpjsonInputTypedDict, InputTcpjsonType, ) + from .inputupwindhec_input import ( + InputUpwindHecInput, + InputUpwindHecInputTypedDict, + InputUpwindHecType, + ) from .inputwef_input import ( InputWefAuthenticationMethod, InputWefFormat, @@ -4434,12 +4633,22 @@ LakeDatasetSearchConfigTypedDict, ) from .lakehouseconnectiontype import LakehouseConnectionType - from .listconfiggroupbyproductop import ( - ListConfigGroupByProductRequest, - ListConfigGroupByProductRequestTypedDict, + from .listinputop import ( + ListInputRequest, + ListInputRequestTypedDict, + ListInputResponse, + ListInputResponseBody, + ListInputResponseBodyTypedDict, + ListInputResponseTypedDict, + ) + from .listoutputop import ( + ListOutputRequest, + ListOutputRequestTypedDict, + ListOutputResponse, + ListOutputResponseBody, + ListOutputResponseBodyTypedDict, + ListOutputResponseTypedDict, ) - from .listinputop import ListInputRequest, ListInputRequestTypedDict - from .listoutputop import ListOutputRequest, ListOutputRequestTypedDict from .logininfo import LoginInfo, LoginInfoTypedDict from .loglabelconfoutputgooglecloudlogging import ( LogLabelConfOutputGoogleCloudLogging, @@ -4454,12 +4663,15 @@ from .logleveloptionsrunnablejobcollectionschedulerun import ( LogLevelOptionsRunnableJobCollectionScheduleRun, ) + from .mappingtypeoptions import MappingTypeOptions from .masterworkerentry import ( MasterWorkerEntry, MasterWorkerEntryType, MasterWorkerEntryTypedDict, - MasterWorkerEntryWorkers, - MasterWorkerEntryWorkersTypedDict, + ) + from .masterworkerprocesses import ( + MasterWorkerProcesses, + MasterWorkerProcessesTypedDict, ) from .maximumtlsversionoptionsredisdeploymenttypestandalonetlsoptions import ( MaximumTLSVersionOptionsRedisDeploymentTypeStandaloneTLSOptions, @@ -4467,6 +4679,10 @@ from .maximumtlsversionoptionstls import MaximumTLSVersionOptionsTLS from .maxs2sversionoptions import MaxS2SVersionOptions from .messageformatoptions import MessageFormatOptions + from .metadataconfaddhectokenrequest import ( + MetadataConfAddHecTokenRequest, + MetadataConfAddHecTokenRequestTypedDict, + ) from .metadataconfinputcollection import ( MetadataConfInputCollection, MetadataConfInputCollectionTypedDict, @@ -4484,15 +4700,18 @@ 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 .nodeosinfo import NodeOsInfo, NodeOsInfoTypedDict from .nodeprovidedinfo import ( NodeProvidedInfo, NodeProvidedInfoTypedDict, Os, OsTypedDict, - OsUnion, - OsUnionTypedDict, ) from .nodeskippedupgradestatus import NodeSkippedUpgradeStatus from .nodeupgradestate import NodeUpgradeState @@ -4561,12 +4780,17 @@ OrphanFileRecoveryType, OrphanFileRecoveryTypeTypedDict, ) + from .ostypeheartbeatmetadata import ( + OsTypeHeartbeatMetadata, + OsTypeHeartbeatMetadataTypedDict, + ) from .otlpversionoptions import OtlpVersionOptions from .otlpversionoptions131 import OtlpVersionOptions131 from .outpostnodeinfo import OutpostNodeInfo, OutpostNodeInfoTypedDict from .output import Output, OutputTypedDict from .outputalibabaclouds3 import ( OutputAlibabaCloudS3, + OutputAlibabaCloudS3AuthenticationMethod, OutputAlibabaCloudS3Type, OutputAlibabaCloudS3TypedDict, ) @@ -4575,6 +4799,13 @@ OutputAlphasocS3Type, OutputAlphasocS3TypedDict, ) + from .outputamazonmanagedprometheus import ( + OutputAmazonManagedPrometheus, + OutputAmazonManagedPrometheusPqControls, + OutputAmazonManagedPrometheusPqControlsTypedDict, + OutputAmazonManagedPrometheusType, + OutputAmazonManagedPrometheusTypedDict, + ) from .outputazureblob import ( OutputAzureBlob, OutputAzureBlobBlobAccessTier, @@ -4628,10 +4859,6 @@ ) from .outputclickhouse import ( OutputClickHouse, - OutputClickHouseColumnMapping, - OutputClickHouseColumnMappingTypedDict, - OutputClickHouseFormat, - OutputClickHouseMappingType, OutputClickHousePqControls, OutputClickHousePqControlsTypedDict, OutputClickHouseType, @@ -4639,7 +4866,6 @@ ) from .outputcloudflarer2 import ( OutputCloudflareR2, - OutputCloudflareR2AuthenticationMethod, OutputCloudflareR2Type, OutputCloudflareR2TypedDict, ) @@ -4671,7 +4897,6 @@ ) from .outputcribllake import ( OutputCriblLake, - OutputCriblLakeAwsAuthenticationMethod, OutputCriblLakeFormat, OutputCriblLakeType, OutputCriblLakeTypedDict, @@ -4697,6 +4922,13 @@ OutputCrowdstrikeNextGenSiemType, OutputCrowdstrikeNextGenSiemTypedDict, ) + from .outputcustomermetricsstorage import ( + OutputCustomerMetricsStorage, + OutputCustomerMetricsStoragePqControls, + OutputCustomerMetricsStoragePqControlsTypedDict, + OutputCustomerMetricsStorageType, + OutputCustomerMetricsStorageTypedDict, + ) from .outputdatabricks import ( OutputDatabricks, OutputDatabricksType, @@ -4774,6 +5006,14 @@ OutputFilesystemType, OutputFilesystemTypedDict, ) + from .outputgooglebigquery import ( + OutputGoogleBigquery, + OutputGoogleBigqueryGoogleAuthenticationMethod, + OutputGoogleBigqueryPqControls, + OutputGoogleBigqueryPqControlsTypedDict, + OutputGoogleBigqueryType, + OutputGoogleBigqueryTypedDict, + ) from .outputgooglechronicle import ( OutputGoogleChronicle, OutputGoogleChronicleAPIVersion, @@ -4796,6 +5036,17 @@ OutputGoogleCloudLoggingType, OutputGoogleCloudLoggingTypedDict, ) + from .outputgooglecloudobservability import ( + OutputGoogleCloudObservability, + OutputGoogleCloudObservabilityEndpoint, + OutputGoogleCloudObservabilityGoogleAuthenticationMethod, + OutputGoogleCloudObservabilityOtlpVersion, + OutputGoogleCloudObservabilityPqControls, + OutputGoogleCloudObservabilityPqControlsTypedDict, + OutputGoogleCloudObservabilityProtocol, + OutputGoogleCloudObservabilityType, + OutputGoogleCloudObservabilityTypedDict, + ) from .outputgooglecloudstorage import ( OutputGoogleCloudStorage, OutputGoogleCloudStorageAuthenticationMethod, @@ -4844,6 +5095,11 @@ OutputHumioHecType, OutputHumioHecTypedDict, ) + from .outputibmclouds3 import ( + OutputIbmCloudS3, + OutputIbmCloudS3Type, + OutputIbmCloudS3TypedDict, + ) from .outputinfluxdb import ( OutputInfluxdb, OutputInfluxdbAuthenticationType, @@ -4948,6 +5204,7 @@ ) from .outputprometheus import ( OutputPrometheus, + OutputPrometheusAuthenticationType, OutputPrometheusPqControls, OutputPrometheusPqControlsTypedDict, OutputPrometheusType, @@ -4955,6 +5212,31 @@ ) from .outputresponse import ( OutputResponse, + OutputResponseOutputDefault, + OutputResponseOutputDefaultTypedDict, + OutputResponseOutputWebhookAuthenticationType1, + OutputResponseOutputWebhookAuthenticationType2, + OutputResponseOutputWebhookFormat1, + OutputResponseOutputWebhookPqControls1, + OutputResponseOutputWebhookPqControls1TypedDict, + OutputResponseOutputWebhookPqControls2, + OutputResponseOutputWebhookPqControls2TypedDict, + OutputResponseOutputWebhookType1, + OutputResponseOutputWebhookURL1, + OutputResponseOutputWebhookURL1TypedDict, + OutputResponseOutputWebhookURL2, + OutputResponseOutputWebhookURL2TypedDict, + OutputResponseOutputWebhookUnion, + OutputResponseOutputWebhookUnionTypedDict, + OutputResponseOutputWebhookWebhook1, + OutputResponseOutputWebhookWebhook1TypedDict, + OutputResponseOutputWebhookWebhook2, + OutputResponseOutputWebhookWebhook2TypedDict, + OutputResponseTypeDefault, + OutputResponseTypedDict, + UnknownOutputResponse, + ) + from .outputresponse_outputwebhook_format_2 import ( OutputResponseAPIVersion, OutputResponseAdditionalProperty, OutputResponseAdditionalPropertyTypedDict, @@ -4972,6 +5254,7 @@ OutputResponseCompression, OutputResponseElasticVersion, OutputResponseEndpointConfiguration, + OutputResponseEndpointGoogleCloudObservability, OutputResponseExtentTag, OutputResponseExtentTagTypedDict, OutputResponseExtraLogType, @@ -4979,6 +5262,8 @@ OutputResponseFacility, OutputResponseFieldName, OutputResponseFormatSentinel, + OutputResponseGoogleAuthenticationMethodGoogleBigquery, + OutputResponseGoogleAuthenticationMethodGoogleCloudObservability, OutputResponseIndexerDiscoveryConfigs, OutputResponseIndexerDiscoveryConfigsTypedDict, OutputResponseIngestIfNotExist, @@ -4988,6 +5273,7 @@ OutputResponseMessageFormat, OutputResponseMetadatum, OutputResponseMetadatumTypedDict, + OutputResponseOtlpVersionGoogleCloudObservability, OutputResponseOutputAzureBlob, OutputResponseOutputAzureBlobTypedDict, OutputResponseOutputAzureDataExplorer, @@ -5000,8 +5286,6 @@ OutputResponseOutputCloudwatchTypedDict, OutputResponseOutputConfluentCloud, OutputResponseOutputConfluentCloudTypedDict, - OutputResponseOutputDefault, - OutputResponseOutputDefaultTypedDict, OutputResponseOutputDevnull, OutputResponseOutputDevnullTypedDict, OutputResponseOutputElastic, @@ -5012,14 +5296,20 @@ OutputResponseOutputExabeamTypedDict, OutputResponseOutputFilesystem, OutputResponseOutputFilesystemTypedDict, + OutputResponseOutputGoogleBigquery, + OutputResponseOutputGoogleBigqueryTypedDict, OutputResponseOutputGoogleChronicle, OutputResponseOutputGoogleChronicleTypedDict, OutputResponseOutputGoogleCloudLogging, OutputResponseOutputGoogleCloudLoggingTypedDict, + OutputResponseOutputGoogleCloudObservability, + OutputResponseOutputGoogleCloudObservabilityTypedDict, OutputResponseOutputGoogleCloudStorage, OutputResponseOutputGoogleCloudStorageTypedDict, OutputResponseOutputGooglePubsub, OutputResponseOutputGooglePubsubTypedDict, + OutputResponseOutputGraphite, + OutputResponseOutputGraphiteTypedDict, OutputResponseOutputHoneycomb, OutputResponseOutputHoneycombTypedDict, OutputResponseOutputInfluxdb, @@ -5049,6 +5339,8 @@ OutputResponseOutputSplunkLbTypedDict, OutputResponseOutputSplunkTypedDict, OutputResponseOutputStatsd, + OutputResponseOutputStatsdExt, + OutputResponseOutputStatsdExtTypedDict, OutputResponseOutputStatsdTypedDict, OutputResponseOutputSyslog, OutputResponseOutputSyslogTypedDict, @@ -5056,26 +5348,8 @@ OutputResponseOutputTcpjsonTypedDict, OutputResponseOutputWavefront, OutputResponseOutputWavefrontTypedDict, - OutputResponseOutputWebhookAuthenticationType1, - OutputResponseOutputWebhookAuthenticationType2, - OutputResponseOutputWebhookFormat1, OutputResponseOutputWebhookFormat2, - OutputResponseOutputWebhookPqControls1, - OutputResponseOutputWebhookPqControls1TypedDict, - OutputResponseOutputWebhookPqControls2, - OutputResponseOutputWebhookPqControls2TypedDict, - OutputResponseOutputWebhookType1, OutputResponseOutputWebhookType2, - OutputResponseOutputWebhookURL1, - OutputResponseOutputWebhookURL1TypedDict, - OutputResponseOutputWebhookURL2, - OutputResponseOutputWebhookURL2TypedDict, - OutputResponseOutputWebhookUnion, - OutputResponseOutputWebhookUnionTypedDict, - OutputResponseOutputWebhookWebhook1, - OutputResponseOutputWebhookWebhook1TypedDict, - OutputResponseOutputWebhookWebhook2, - OutputResponseOutputWebhookWebhook2TypedDict, OutputResponseOutputWizHec, OutputResponseOutputWizHecTypedDict, OutputResponsePayloadFormat, @@ -5093,10 +5367,14 @@ OutputResponsePqControlsElasticCloud, OutputResponsePqControlsElasticCloudTypedDict, OutputResponsePqControlsElasticTypedDict, + OutputResponsePqControlsGoogleBigquery, + OutputResponsePqControlsGoogleBigqueryTypedDict, OutputResponsePqControlsGoogleChronicle, OutputResponsePqControlsGoogleChronicleTypedDict, OutputResponsePqControlsGoogleCloudLogging, OutputResponsePqControlsGoogleCloudLoggingTypedDict, + OutputResponsePqControlsGoogleCloudObservability, + OutputResponsePqControlsGoogleCloudObservabilityTypedDict, OutputResponsePqControlsGooglePubsub, OutputResponsePqControlsGooglePubsubTypedDict, OutputResponsePqControlsHoneycomb, @@ -5124,6 +5402,8 @@ OutputResponsePqControlsSplunkLbTypedDict, OutputResponsePqControlsSplunkTypedDict, OutputResponsePqControlsStatsd, + OutputResponsePqControlsStatsdExt, + OutputResponsePqControlsStatsdExtTypedDict, OutputResponsePqControlsStatsdTypedDict, OutputResponsePqControlsSyslog, OutputResponsePqControlsSyslogTypedDict, @@ -5134,6 +5414,7 @@ OutputResponsePqControlsWizHec, OutputResponsePqControlsWizHecTypedDict, OutputResponsePrefixOptional, + OutputResponseProtocolGoogleCloudObservability, OutputResponseProtocolSyslog, OutputResponseReportLevel, OutputResponseReportMethod, @@ -5147,14 +5428,15 @@ OutputResponseTypeAzureLogs, OutputResponseTypeCloudwatch, OutputResponseTypeConfluentCloud, - OutputResponseTypeDefault, OutputResponseTypeDevnull, OutputResponseTypeElastic, OutputResponseTypeElasticCloud, OutputResponseTypeExabeam, OutputResponseTypeFilesystem, + OutputResponseTypeGoogleBigquery, OutputResponseTypeGoogleChronicle, OutputResponseTypeGoogleCloudLogging, + OutputResponseTypeGoogleCloudObservability, OutputResponseTypeGoogleCloudStorage, OutputResponseTypeGooglePubsub, OutputResponseTypeHoneycomb, @@ -5171,42 +5453,39 @@ OutputResponseTypeSplunk, OutputResponseTypeSplunkHec, OutputResponseTypeSplunkLb, + OutputResponseTypeStatsd, + OutputResponseTypeStatsdExt, OutputResponseTypeSyslog, OutputResponseTypeTcpjson, OutputResponseTypeWavefront, OutputResponseTypeWizHec, - OutputResponseTypedDict, OutputResponseUDMType, OutputResponseURLElastic, OutputResponseURLElasticTypedDict, OutputResponseURLSplunkHec, OutputResponseURLSplunkHecTypedDict, OutputResponseWriteAction, - UnknownOutputResponse, ) - from .outputresponse_type_statsd import ( + from .outputresponse_pqcontrols_graphite import ( OutputResponseAISIEMEndpointPath, OutputResponseAuthentication, + OutputResponseAuthenticationMethodAlibabaCloudS3, OutputResponseAuthenticationMethodChronicle, - OutputResponseAuthenticationMethodCloudflareR2, OutputResponseAuthenticationMethodXsiam, OutputResponseAuthenticationTypeDynatraceHTTP, OutputResponseAuthenticationTypeOpenTelemetry, + OutputResponseAuthenticationTypePrometheus, OutputResponseAuthenticationTypedDict, - OutputResponseAwsAuthenticationMethod, - OutputResponseColumnMappingClickHouse, - OutputResponseColumnMappingClickHouseTypedDict, - OutputResponseColumnMappingLocalSearchStorage, - OutputResponseColumnMappingLocalSearchStorageTypedDict, + OutputResponseColumnMapping, + OutputResponseColumnMappingTypedDict, OutputResponseCustomLabel, OutputResponseCustomLabelTypedDict, OutputResponseDataFormatRing, OutputResponseDataFormatSumoLogic, OutputResponseDataSetSite, OutputResponseDatadogSite, - OutputResponseEndpoint, + OutputResponseEndpointDynatraceHTTP, OutputResponseEndpointType, - OutputResponseFormatClickHouse, OutputResponseFormatCriblLake, OutputResponseFormatDynatraceHTTP, OutputResponseFormatLocalSearchStorage, @@ -5214,13 +5493,14 @@ OutputResponseHostNetflowTypedDict, OutputResponseHostSnmp, OutputResponseHostSnmpTypedDict, - OutputResponseMappingTypeClickHouse, - OutputResponseMappingTypeLocalSearchStorage, - OutputResponseOTLPVersion, + OutputResponseMappingType, + OutputResponseOTLPVersionOpenTelemetry, OutputResponseOutputAlibabaCloudS3, OutputResponseOutputAlibabaCloudS3TypedDict, OutputResponseOutputAlphasocS3, OutputResponseOutputAlphasocS3TypedDict, + OutputResponseOutputAmazonManagedPrometheus, + OutputResponseOutputAmazonManagedPrometheusTypedDict, OutputResponseOutputChronicle, OutputResponseOutputChronicleTypedDict, OutputResponseOutputClickHouse, @@ -5239,6 +5519,8 @@ OutputResponseOutputCriblTCPTypedDict, OutputResponseOutputCrowdstrikeNextGenSiem, OutputResponseOutputCrowdstrikeNextGenSiemTypedDict, + OutputResponseOutputCustomerMetricsStorage, + OutputResponseOutputCustomerMetricsStorageTypedDict, OutputResponseOutputDatabricks, OutputResponseOutputDatabricksTypedDict, OutputResponseOutputDatadog, @@ -5267,10 +5549,10 @@ OutputResponseOutputGrafanaCloudType2, OutputResponseOutputGrafanaCloudUnion, OutputResponseOutputGrafanaCloudUnionTypedDict, - OutputResponseOutputGraphite, - OutputResponseOutputGraphiteTypedDict, OutputResponseOutputHumioHec, OutputResponseOutputHumioHecTypedDict, + OutputResponseOutputIbmCloudS3, + OutputResponseOutputIbmCloudS3TypedDict, OutputResponseOutputLocalSearchStorage, OutputResponseOutputLocalSearchStorageTypedDict, OutputResponseOutputLoki, @@ -5303,14 +5585,14 @@ OutputResponseOutputSnsTypedDict, OutputResponseOutputSqs, OutputResponseOutputSqsTypedDict, - OutputResponseOutputStatsdExt, - OutputResponseOutputStatsdExtTypedDict, OutputResponseOutputStorjS3, OutputResponseOutputStorjS3TypedDict, OutputResponseOutputSumoLogic, OutputResponseOutputSumoLogicTypedDict, OutputResponseOutputXsiam, OutputResponseOutputXsiamTypedDict, + OutputResponsePqControlsAmazonManagedPrometheus, + OutputResponsePqControlsAmazonManagedPrometheusTypedDict, OutputResponsePqControlsChronicle, OutputResponsePqControlsChronicleTypedDict, OutputResponsePqControlsClickHouse, @@ -5323,6 +5605,8 @@ OutputResponsePqControlsCriblTCPTypedDict, OutputResponsePqControlsCrowdstrikeNextGenSiem, OutputResponsePqControlsCrowdstrikeNextGenSiemTypedDict, + OutputResponsePqControlsCustomerMetricsStorage, + OutputResponsePqControlsCustomerMetricsStorageTypedDict, OutputResponsePqControlsDatadog, OutputResponsePqControlsDatadogTypedDict, OutputResponsePqControlsDataset, @@ -5353,8 +5637,6 @@ OutputResponsePqControlsSnsTypedDict, OutputResponsePqControlsSqs, OutputResponsePqControlsSqsTypedDict, - OutputResponsePqControlsStatsdExt, - OutputResponsePqControlsStatsdExtTypedDict, OutputResponsePqControlsSumoLogic, OutputResponsePqControlsSumoLogicTypedDict, OutputResponsePqControlsXsiam, @@ -5372,6 +5654,7 @@ OutputResponseTelemetryType, OutputResponseTypeAlibabaCloudS3, OutputResponseTypeAlphasocS3, + OutputResponseTypeAmazonManagedPrometheus, OutputResponseTypeChronicle, OutputResponseTypeClickHouse, OutputResponseTypeCloudflareR2, @@ -5381,6 +5664,7 @@ OutputResponseTypeCriblSearchEngine, OutputResponseTypeCriblTCP, OutputResponseTypeCrowdstrikeNextGenSiem, + OutputResponseTypeCustomerMetricsStorage, OutputResponseTypeDatabricks, OutputResponseTypeDatadog, OutputResponseTypeDataset, @@ -5391,6 +5675,7 @@ OutputResponseTypeDynatraceOtlp, OutputResponseTypeGraphite, OutputResponseTypeHumioHec, + OutputResponseTypeIbmCloudS3, OutputResponseTypeLocalSearchStorage, OutputResponseTypeLoki, OutputResponseTypeMicrosoftFabric, @@ -5407,8 +5692,6 @@ OutputResponseTypeSnmp, OutputResponseTypeSns, OutputResponseTypeSqs, - OutputResponseTypeStatsd, - OutputResponseTypeStatsdExt, OutputResponseTypeStorjS3, OutputResponseTypeSumoLogic, OutputResponseTypeXsiam, @@ -5629,9 +5912,59 @@ PackRequestBody2TypedDict, PackRequestBodyUnion, PackRequestBodyUnionTypedDict, + Tags1, + Tags1TypedDict, + Tags2, + Tags2TypedDict, ) from .packuninstallinfo import PackUninstallInfo, PackUninstallInfoTypedDict from .packupgraderequest import PackUpgradeRequest, PackUpgradeRequestTypedDict + from .paginatedconfiggroup import ( + PaginatedConfigGroup, + PaginatedConfigGroupTypedDict, + ) + from .paginatedcribllakedataset import ( + PaginatedCriblLakeDataset, + PaginatedCriblLakeDatasetTypedDict, + ) + from .paginateddistributedsummary import ( + PaginatedDistributedSummary, + PaginatedDistributedSummaryTypedDict, + ) + from .paginatedfunctionresponse import ( + PaginatedFunctionResponse, + PaginatedFunctionResponseTypedDict, + ) + from .paginatedgitlogresult import ( + PaginatedGitLogResult, + PaginatedGitLogResultTypedDict, + ) + from .paginatedinputresponse import ( + PaginatedInputResponse, + PaginatedInputResponseTypedDict, + ) + from .paginatedinputstatus import ( + PaginatedInputStatus, + PaginatedInputStatusTypedDict, + ) + from .paginatedmasterworkerentry import ( + PaginatedMasterWorkerEntry, + PaginatedMasterWorkerEntryTypedDict, + ) + from .paginatedoutputresponse import ( + PaginatedOutputResponse, + PaginatedOutputResponseTypedDict, + ) + from .paginatedoutputstatus import ( + PaginatedOutputStatus, + PaginatedOutputStatusTypedDict, + ) + from .paginatedpackinfo import PaginatedPackInfo, PaginatedPackInfoTypedDict + from .paginatedpipeline import PaginatedPipeline, PaginatedPipelineTypedDict + from .paginatedsavedjobresponse import ( + PaginatedSavedJobResponse, + PaginatedSavedJobResponseTypedDict, + ) from .paginationoptionsrestdiscoverydiscovertypehttppagination import ( PaginationOptionsRestDiscoveryDiscoverTypeHTTPPagination, ) @@ -6121,23 +6454,33 @@ PipelineFunctionSerdeConfTypedDict, PipelineFunctionSerdeID, PipelineFunctionSerdeTypedDict, + SerdeTypeAuto, + SerdeTypeAutoOperationMode, + SerdeTypeAutoType, + SerdeTypeAutoTypedDict, SerdeTypeCsv, SerdeTypeCsvOperationMode, + SerdeTypeCsvType, SerdeTypeCsvTypedDict, SerdeTypeDelim, SerdeTypeDelimOperationMode, + SerdeTypeDelimType, SerdeTypeDelimTypedDict, SerdeTypeGrok, SerdeTypeGrokOperationMode, + SerdeTypeGrokType, SerdeTypeGrokTypedDict, SerdeTypeJSON, SerdeTypeJSONOperationMode, + SerdeTypeJSONType, SerdeTypeJSONTypedDict, SerdeTypeKvp, SerdeTypeKvpOperationMode, + SerdeTypeKvpType, SerdeTypeKvpTypedDict, SerdeTypeRegex, SerdeTypeRegexOperationMode, + SerdeTypeRegexType, SerdeTypeRegexTypedDict, UnknownPipelineFunctionSerdeConf, ) @@ -6261,16 +6604,20 @@ from .recorddataformatoptions import RecordDataFormatOptions from .recorddataformatoptionsjsonprotobuf import RecordDataFormatOptionsJSONProtobuf from .recordtypeoptions import RecordTypeOptions + from .refreshrequestparamconfhealthcheckauthenticationoauth import ( + RefreshRequestParamConfHealthCheckAuthenticationOauth, + RefreshRequestParamConfHealthCheckAuthenticationOauthTypedDict, + ) + from .refreshrequestparamconfhealthcheckauthenticationoauthsecret import ( + RefreshRequestParamConfHealthCheckAuthenticationOauthSecret, + RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict, + ) from .regexlistconfserdetyperegex import ( RegexListConfSerdeTypeRegex, RegexListConfSerdeTypeRegexTypedDict, ) from .regionoptions import RegionOptions from .requestformatoptions import RequestFormatOptions - from .requestparamconfinputopenai import ( - RequestParamConfInputOpenai, - RequestParamConfInputOpenaiTypedDict, - ) from .resourcepolicy import ResourcePolicy, ResourcePolicyTypedDict from .responseretrysettingconfoutputwebhook import ( ResponseRetrySettingConfOutputWebhook, @@ -7335,7 +7682,6 @@ SavedJobScheduledSearch, SavedJobScheduledSearchTypedDict, ) - from .scalarorarray import ScalarOrArray, ScalarOrArrayTypedDict from .scalereadsoptionsredisdeploymenttypecluster import ( ScaleReadsOptionsRedisDeploymentTypeCluster, ) @@ -7359,6 +7705,7 @@ SearchFilterConfInputPrometheusTypedDict, ) from .searchversion import SearchVersion + from .secureversion import SecureVersion from .security import Security, SecurityTypedDict from .serversideencryptionforuploadedobjectsoptions import ( ServerSideEncryptionForUploadedObjectsOptions, @@ -7469,6 +7816,7 @@ UnknownSplunkAuthenticationTokenSecretRetryRules, UnknownSplunkCollectorConf, ) + from .sqsauthenticationmethodoptions import SqsAuthenticationMethodOptions from .ssltypesystemsettingsconfapi import ( SslTypeSystemSettingsConfAPI, SslTypeSystemSettingsConfAPITypedDict, @@ -7529,6 +7877,7 @@ from .timestamptypeoptionseventbreakerexistingornewnewtimestamp import ( TimestampTypeOptionsEventBreakerExistingOrNewNewTimestamp, ) + from .tlsclientparams import TLSClientParams, TLSClientParamsTypedDict from .tlsoptionshostsitems import TLSOptionsHostsItems from .tlsoptionstyperedisdeploymenttypestandalone import ( TLSOptionsTypeRedisDeploymentTypeStandalone, @@ -7560,16 +7909,7 @@ TLSSettingsServerSideType, TLSSettingsServerSideTypeTypedDict, ) - from .typeoptions import TypeOptions from .typeoptionsconfiggroup import TypeOptionsConfigGroup - from .updateconfiggroupbyproductandidop import ( - UpdateConfigGroupByProductAndIDRequest, - UpdateConfigGroupByProductAndIDRequestTypedDict, - ) - from .updateconfiggroupdeploybyproductandidop import ( - UpdateConfigGroupDeployByProductAndIDRequest, - UpdateConfigGroupDeployByProductAndIDRequestTypedDict, - ) from .updatecribllakedatasetbylakeidandidop import ( UpdateCriblLakeDatasetByLakeIDAndIDRequest, UpdateCriblLakeDatasetByLakeIDAndIDRequestTypedDict, @@ -7619,6 +7959,14 @@ UpdatePipelinesByPackAndIDRequest, UpdatePipelinesByPackAndIDRequestTypedDict, ) + from .updateproductsgroupsbyproductandidop import ( + UpdateProductsGroupsByProductAndIDRequest, + UpdateProductsGroupsByProductAndIDRequestTypedDict, + ) + from .updateproductsgroupsdeploybyproductandidop import ( + UpdateProductsGroupsDeployByProductAndIDRequest, + UpdateProductsGroupsDeployByProductAndIDRequestTypedDict, + ) from .updateproductsworkersrestartbyproductop import ( UpdateProductsWorkersRestartByProductRequest, UpdateProductsWorkersRestartByProductRequestTypedDict, @@ -7665,6 +8013,8 @@ "APITypeSystemSettingsConfTypedDict", "AcknowledgmentsOptions", "AcknowledgmentsOptionsAllLeader", + "ActiveHealthOverlayStatus", + "ActiveHealthOverlayStatusTypedDict", "AddConfFunctionConfSchemaAggregation", "AddConfFunctionConfSchemaAggregationTypedDict", "AddHecTokenRequest", @@ -7692,6 +8042,8 @@ "AuthRequestParamConfHealthCheckAuthenticationOauth", "AuthRequestParamConfHealthCheckAuthenticationOauthTypedDict", "AuthToken", + "AuthTokenConfInputCloudflareHec", + "AuthTokenConfInputCloudflareHecTypedDict", "AuthTokenConfInputCriblTCP", "AuthTokenConfInputCriblTCPTypedDict", "AuthTokenConfOutputCriblHTTP", @@ -7708,6 +8060,8 @@ "AuthenticationMethodOptionsAuth", "AuthenticationMethodOptionsAuthManualManualAPIKey", "AuthenticationMethodOptionsAuthTokensItems", + "AuthenticationMethodOptionsAuthTokensItemsSecret", + "AuthenticationMethodOptionsAutoSecret", "AuthenticationMethodOptionsManualSecret", "AuthenticationMethodOptionsS3CollectorConf", "AuthenticationMethodOptionsSasl", @@ -7778,6 +8132,8 @@ "CertificateTypeAzureBlobAuthTypeClientCertTypedDict", "CheckpointingType", "CheckpointingTypeTypedDict", + "ChecksumBefore", + "ChecksumBeforeTypedDict", "CloudProvider", "CollectRequestParamConfHealthCheckCollectMethodPost", "CollectRequestParamConfHealthCheckCollectMethodPostTypedDict", @@ -7816,6 +8172,8 @@ "CollectorSplunkTypedDict", "CollectorType", "CollectorTypedDict", + "ColumnMappingConfOutputClickHouse", + "ColumnMappingConfOutputClickHouseTypedDict", "Commit", "CommitTypedDict", "CompressionLevelOptions", @@ -7859,8 +8217,6 @@ "CountedConfigGroupTypedDict", "CountedCriblLakeDataset", "CountedCriblLakeDatasetTypedDict", - "CountedDatabaseConnectionConfig", - "CountedDatabaseConnectionConfigTypedDict", "CountedDistributedSummary", "CountedDistributedSummaryTypedDict", "CountedFunctionResponse", @@ -7929,8 +8285,6 @@ "CountedUserAccessControlListTypedDict", "CreateAuthLoginResponse", "CreateAuthLoginResponseTypedDict", - "CreateConfigGroupByProductRequest", - "CreateConfigGroupByProductRequestTypedDict", "CreateCriblLakeDatasetByLakeIDRequest", "CreateCriblLakeDatasetByLakeIDRequestTypedDict", "CreateInputAPIVersion", @@ -7941,8 +8295,6 @@ "CreateInputAuthMethodsExt", "CreateInputAuthMethodsExtAuthenticationType", "CreateInputAuthMethodsExtTypedDict", - "CreateInputAuthTokenCloudflareHec", - "CreateInputAuthTokenCloudflareHecTypedDict", "CreateInputAuthTokenSplunk", "CreateInputAuthTokenSplunkHec", "CreateInputAuthTokenSplunkHecTypedDict", @@ -7953,7 +8305,6 @@ "CreateInputAuthTokensExtTypedDict", "CreateInputAuthTypedDict", "CreateInputAuthenticationMechanism", - "CreateInputAuthenticationMethodCloudflareHec", "CreateInputAuthenticationMethodEdgePrometheus", "CreateInputAuthenticationMethodElastic", "CreateInputAuthenticationMethodEventhubAmqp", @@ -7972,6 +8323,8 @@ "CreateInputCPUSystemMetricsTypedDict", "CreateInputCPUWindowsMetrics", "CreateInputCPUWindowsMetricsTypedDict", + "CreateInputCertificate", + "CreateInputCertificateTypedDict", "CreateInputCheckpointing", "CreateInputCheckpointingTypedDict", "CreateInputCollectors", @@ -8010,6 +8363,7 @@ "CreateInputElasticsearchMetadataTypedDict", "CreateInputEndpointHeader", "CreateInputEndpointHeaderTypedDict", + "CreateInputEndpointName", "CreateInputEndpointParam", "CreateInputEndpointParamTypedDict", "CreateInputEventFormat", @@ -8157,6 +8511,8 @@ "CreateInputInputSplunkTypedDict", "CreateInputInputSqs", "CreateInputInputSqsTypedDict", + "CreateInputInputSysdigHec", + "CreateInputInputSysdigHecTypedDict", "CreateInputInputSyslogSyslog1", "CreateInputInputSyslogSyslog1TypedDict", "CreateInputInputSyslogSyslog2", @@ -8173,6 +8529,8 @@ "CreateInputInputTCPTypedDict", "CreateInputInputTcpjson", "CreateInputInputTcpjsonTypedDict", + "CreateInputInputUpwindHec", + "CreateInputInputUpwindHecTypedDict", "CreateInputInputWef", "CreateInputInputWefTypedDict", "CreateInputInputWinEventLogs", @@ -8263,6 +8621,8 @@ "CreateInputSNMPv3AuthenticationTypedDict", "CreateInputSample", "CreateInputSampleTypedDict", + "CreateInputSamplingRule", + "CreateInputSamplingRuleTypedDict", "CreateInputScheduleType", "CreateInputServices", "CreateInputServicesTypedDict", @@ -8282,8 +8642,6 @@ "CreateInputSystemByPackAuthMethodsExt", "CreateInputSystemByPackAuthMethodsExtAuthenticationType", "CreateInputSystemByPackAuthMethodsExtTypedDict", - "CreateInputSystemByPackAuthTokenCloudflareHec", - "CreateInputSystemByPackAuthTokenCloudflareHecTypedDict", "CreateInputSystemByPackAuthTokenSplunk", "CreateInputSystemByPackAuthTokenSplunkHec", "CreateInputSystemByPackAuthTokenSplunkHecTypedDict", @@ -8294,7 +8652,6 @@ "CreateInputSystemByPackAuthTokensExtTypedDict", "CreateInputSystemByPackAuthTypedDict", "CreateInputSystemByPackAuthenticationMechanism", - "CreateInputSystemByPackAuthenticationMethodCloudflareHec", "CreateInputSystemByPackAuthenticationMethodEdgePrometheus", "CreateInputSystemByPackAuthenticationMethodElastic", "CreateInputSystemByPackAuthenticationMethodEventhubAmqp", @@ -8313,6 +8670,8 @@ "CreateInputSystemByPackCPUSystemMetricsTypedDict", "CreateInputSystemByPackCPUWindowsMetrics", "CreateInputSystemByPackCPUWindowsMetricsTypedDict", + "CreateInputSystemByPackCertificate", + "CreateInputSystemByPackCertificateTypedDict", "CreateInputSystemByPackCheckpointing", "CreateInputSystemByPackCheckpointingTypedDict", "CreateInputSystemByPackCollectors", @@ -8351,6 +8710,7 @@ "CreateInputSystemByPackElasticsearchMetadataTypedDict", "CreateInputSystemByPackEndpointHeader", "CreateInputSystemByPackEndpointHeaderTypedDict", + "CreateInputSystemByPackEndpointName", "CreateInputSystemByPackEndpointParam", "CreateInputSystemByPackEndpointParamTypedDict", "CreateInputSystemByPackEventFormat", @@ -8496,6 +8856,8 @@ "CreateInputSystemByPackInputSplunkTypedDict", "CreateInputSystemByPackInputSqs", "CreateInputSystemByPackInputSqsTypedDict", + "CreateInputSystemByPackInputSysdigHec", + "CreateInputSystemByPackInputSysdigHecTypedDict", "CreateInputSystemByPackInputSyslogSyslog1", "CreateInputSystemByPackInputSyslogSyslog1TypedDict", "CreateInputSystemByPackInputSyslogSyslog2", @@ -8512,6 +8874,8 @@ "CreateInputSystemByPackInputTCPTypedDict", "CreateInputSystemByPackInputTcpjson", "CreateInputSystemByPackInputTcpjsonTypedDict", + "CreateInputSystemByPackInputUpwindHec", + "CreateInputSystemByPackInputUpwindHecTypedDict", "CreateInputSystemByPackInputWef", "CreateInputSystemByPackInputWefTypedDict", "CreateInputSystemByPackInputWinEventLogs", @@ -8604,6 +8968,8 @@ "CreateInputSystemByPackSNMPv3AuthenticationTypedDict", "CreateInputSystemByPackSample", "CreateInputSystemByPackSampleTypedDict", + "CreateInputSystemByPackSamplingRule", + "CreateInputSystemByPackSamplingRuleTypedDict", "CreateInputSystemByPackScheduleType", "CreateInputSystemByPackServices", "CreateInputSystemByPackServicesTypedDict", @@ -8678,10 +9044,12 @@ "CreateInputSystemByPackTypeSplunkHec", "CreateInputSystemByPackTypeSplunkSearch", "CreateInputSystemByPackTypeSqs", + "CreateInputSystemByPackTypeSysdigHec", "CreateInputSystemByPackTypeSystemMetrics", "CreateInputSystemByPackTypeSystemState", "CreateInputSystemByPackTypeTCP", "CreateInputSystemByPackTypeTcpjson", + "CreateInputSystemByPackTypeUpwindHec", "CreateInputSystemByPackTypeWef", "CreateInputSystemByPackTypeWinEventLogs", "CreateInputSystemByPackTypeWindowsMetrics", @@ -8759,10 +9127,12 @@ "CreateInputTypeSplunkHec", "CreateInputTypeSplunkSearch", "CreateInputTypeSqs", + "CreateInputTypeSysdigHec", "CreateInputTypeSystemMetrics", "CreateInputTypeSystemState", "CreateInputTypeTCP", "CreateInputTypeTcpjson", + "CreateInputTypeUpwindHec", "CreateInputTypeWef", "CreateInputTypeWinEventLogs", "CreateInputTypeWindowsMetrics", @@ -8783,25 +9153,23 @@ "CreateOutputAuthTokenTypedDict", "CreateOutputAuthType", "CreateOutputAuthentication", + "CreateOutputAuthenticationMethodAlibabaCloudS3", "CreateOutputAuthenticationMethodAzureDataExplorer", "CreateOutputAuthenticationMethodAzureLogs", "CreateOutputAuthenticationMethodChronicle", - "CreateOutputAuthenticationMethodCloudflareR2", "CreateOutputAuthenticationMethodGoogleChronicle", "CreateOutputAuthenticationMethodGoogleCloudStorage", "CreateOutputAuthenticationMethodXsiam", "CreateOutputAuthenticationTypeDynatraceHTTP", "CreateOutputAuthenticationTypeInfluxdb", "CreateOutputAuthenticationTypeOpenTelemetry", + "CreateOutputAuthenticationTypePrometheus", "CreateOutputAuthenticationTypedDict", - "CreateOutputAwsAuthenticationMethod", "CreateOutputBlobAccessTier", "CreateOutputCertificate", "CreateOutputCertificateTypedDict", - "CreateOutputColumnMappingClickHouse", - "CreateOutputColumnMappingClickHouseTypedDict", - "CreateOutputColumnMappingLocalSearchStorage", - "CreateOutputColumnMappingLocalSearchStorageTypedDict", + "CreateOutputColumnMapping", + "CreateOutputColumnMappingTypedDict", "CreateOutputCompression", "CreateOutputCustomLabel", "CreateOutputCustomLabelTypedDict", @@ -8810,8 +9178,9 @@ "CreateOutputDataSetSite", "CreateOutputDatadogSite", "CreateOutputElasticVersion", - "CreateOutputEndpoint", "CreateOutputEndpointConfiguration", + "CreateOutputEndpointDynatraceHTTP", + "CreateOutputEndpointGoogleCloudObservability", "CreateOutputEndpointType", "CreateOutputExtentTag", "CreateOutputExtentTagTypedDict", @@ -8819,11 +9188,12 @@ "CreateOutputExtraLogTypeTypedDict", "CreateOutputFacility", "CreateOutputFieldName", - "CreateOutputFormatClickHouse", "CreateOutputFormatCriblLake", "CreateOutputFormatDynatraceHTTP", "CreateOutputFormatLocalSearchStorage", "CreateOutputFormatSentinel", + "CreateOutputGoogleAuthenticationMethodGoogleBigquery", + "CreateOutputGoogleAuthenticationMethodGoogleCloudObservability", "CreateOutputHostNetflow", "CreateOutputHostNetflowTypedDict", "CreateOutputHostSnmp", @@ -8834,16 +9204,18 @@ "CreateOutputIngestIfNotExistTypedDict", "CreateOutputIngestionMode", "CreateOutputLogLocationType", - "CreateOutputMappingTypeClickHouse", - "CreateOutputMappingTypeLocalSearchStorage", + "CreateOutputMappingType", "CreateOutputMessageFormat", "CreateOutputMetadatum", "CreateOutputMetadatumTypedDict", - "CreateOutputOTLPVersion", + "CreateOutputOTLPVersionOpenTelemetry", + "CreateOutputOtlpVersionGoogleCloudObservability", "CreateOutputOutputAlibabaCloudS3", "CreateOutputOutputAlibabaCloudS3TypedDict", "CreateOutputOutputAlphasocS3", "CreateOutputOutputAlphasocS3TypedDict", + "CreateOutputOutputAmazonManagedPrometheus", + "CreateOutputOutputAmazonManagedPrometheusTypedDict", "CreateOutputOutputAzureBlob", "CreateOutputOutputAzureBlobTypedDict", "CreateOutputOutputAzureDataExplorer", @@ -8874,6 +9246,8 @@ "CreateOutputOutputCriblTCPTypedDict", "CreateOutputOutputCrowdstrikeNextGenSiem", "CreateOutputOutputCrowdstrikeNextGenSiemTypedDict", + "CreateOutputOutputCustomerMetricsStorage", + "CreateOutputOutputCustomerMetricsStorageTypedDict", "CreateOutputOutputDatabricks", "CreateOutputOutputDatabricksTypedDict", "CreateOutputOutputDatadog", @@ -8902,10 +9276,14 @@ "CreateOutputOutputExabeamTypedDict", "CreateOutputOutputFilesystem", "CreateOutputOutputFilesystemTypedDict", + "CreateOutputOutputGoogleBigquery", + "CreateOutputOutputGoogleBigqueryTypedDict", "CreateOutputOutputGoogleChronicle", "CreateOutputOutputGoogleChronicleTypedDict", "CreateOutputOutputGoogleCloudLogging", "CreateOutputOutputGoogleCloudLoggingTypedDict", + "CreateOutputOutputGoogleCloudObservability", + "CreateOutputOutputGoogleCloudObservabilityTypedDict", "CreateOutputOutputGoogleCloudStorage", "CreateOutputOutputGoogleCloudStorageTypedDict", "CreateOutputOutputGooglePubsub", @@ -8928,6 +9306,8 @@ "CreateOutputOutputHoneycombTypedDict", "CreateOutputOutputHumioHec", "CreateOutputOutputHumioHecTypedDict", + "CreateOutputOutputIbmCloudS3", + "CreateOutputOutputIbmCloudS3TypedDict", "CreateOutputOutputInfluxdb", "CreateOutputOutputInfluxdbTypedDict", "CreateOutputOutputKafka", @@ -9025,6 +9405,8 @@ "CreateOutputOutputXsiam", "CreateOutputOutputXsiamTypedDict", "CreateOutputPayloadFormat", + "CreateOutputPqControlsAmazonManagedPrometheus", + "CreateOutputPqControlsAmazonManagedPrometheusTypedDict", "CreateOutputPqControlsAzureDataExplorer", "CreateOutputPqControlsAzureDataExplorerTypedDict", "CreateOutputPqControlsAzureEventhub", @@ -9047,6 +9429,8 @@ "CreateOutputPqControlsCriblTCPTypedDict", "CreateOutputPqControlsCrowdstrikeNextGenSiem", "CreateOutputPqControlsCrowdstrikeNextGenSiemTypedDict", + "CreateOutputPqControlsCustomerMetricsStorage", + "CreateOutputPqControlsCustomerMetricsStorageTypedDict", "CreateOutputPqControlsDatadog", "CreateOutputPqControlsDatadogTypedDict", "CreateOutputPqControlsDataset", @@ -9059,10 +9443,14 @@ "CreateOutputPqControlsElasticCloud", "CreateOutputPqControlsElasticCloudTypedDict", "CreateOutputPqControlsElasticTypedDict", + "CreateOutputPqControlsGoogleBigquery", + "CreateOutputPqControlsGoogleBigqueryTypedDict", "CreateOutputPqControlsGoogleChronicle", "CreateOutputPqControlsGoogleChronicleTypedDict", "CreateOutputPqControlsGoogleCloudLogging", "CreateOutputPqControlsGoogleCloudLoggingTypedDict", + "CreateOutputPqControlsGoogleCloudObservability", + "CreateOutputPqControlsGoogleCloudObservabilityTypedDict", "CreateOutputPqControlsGooglePubsub", "CreateOutputPqControlsGooglePubsubTypedDict", "CreateOutputPqControlsGraphite", @@ -9129,6 +9517,7 @@ "CreateOutputPqControlsXsiamTypedDict", "CreateOutputPrefixOptional", "CreateOutputProtocolDynatraceOtlp", + "CreateOutputProtocolGoogleCloudObservability", "CreateOutputProtocolSyslog", "CreateOutputQueueType", "CreateOutputRegion", @@ -9153,25 +9542,23 @@ "CreateOutputSystemByPackAuthTokenTypedDict", "CreateOutputSystemByPackAuthType", "CreateOutputSystemByPackAuthentication", + "CreateOutputSystemByPackAuthenticationMethodAlibabaCloudS3", "CreateOutputSystemByPackAuthenticationMethodAzureDataExplorer", "CreateOutputSystemByPackAuthenticationMethodAzureLogs", "CreateOutputSystemByPackAuthenticationMethodChronicle", - "CreateOutputSystemByPackAuthenticationMethodCloudflareR2", "CreateOutputSystemByPackAuthenticationMethodGoogleChronicle", "CreateOutputSystemByPackAuthenticationMethodGoogleCloudStorage", "CreateOutputSystemByPackAuthenticationMethodXsiam", "CreateOutputSystemByPackAuthenticationTypeDynatraceHTTP", "CreateOutputSystemByPackAuthenticationTypeInfluxdb", "CreateOutputSystemByPackAuthenticationTypeOpenTelemetry", + "CreateOutputSystemByPackAuthenticationTypePrometheus", "CreateOutputSystemByPackAuthenticationTypedDict", - "CreateOutputSystemByPackAwsAuthenticationMethod", "CreateOutputSystemByPackBlobAccessTier", "CreateOutputSystemByPackCertificate", "CreateOutputSystemByPackCertificateTypedDict", - "CreateOutputSystemByPackColumnMappingClickHouse", - "CreateOutputSystemByPackColumnMappingClickHouseTypedDict", - "CreateOutputSystemByPackColumnMappingLocalSearchStorage", - "CreateOutputSystemByPackColumnMappingLocalSearchStorageTypedDict", + "CreateOutputSystemByPackColumnMapping", + "CreateOutputSystemByPackColumnMappingTypedDict", "CreateOutputSystemByPackCompression", "CreateOutputSystemByPackCustomLabel", "CreateOutputSystemByPackCustomLabelTypedDict", @@ -9180,8 +9567,9 @@ "CreateOutputSystemByPackDataSetSite", "CreateOutputSystemByPackDatadogSite", "CreateOutputSystemByPackElasticVersion", - "CreateOutputSystemByPackEndpoint", "CreateOutputSystemByPackEndpointConfiguration", + "CreateOutputSystemByPackEndpointDynatraceHTTP", + "CreateOutputSystemByPackEndpointGoogleCloudObservability", "CreateOutputSystemByPackEndpointType", "CreateOutputSystemByPackExtentTag", "CreateOutputSystemByPackExtentTagTypedDict", @@ -9189,11 +9577,12 @@ "CreateOutputSystemByPackExtraLogTypeTypedDict", "CreateOutputSystemByPackFacility", "CreateOutputSystemByPackFieldName", - "CreateOutputSystemByPackFormatClickHouse", "CreateOutputSystemByPackFormatCriblLake", "CreateOutputSystemByPackFormatDynatraceHTTP", "CreateOutputSystemByPackFormatLocalSearchStorage", "CreateOutputSystemByPackFormatSentinel", + "CreateOutputSystemByPackGoogleAuthenticationMethodGoogleBigquery", + "CreateOutputSystemByPackGoogleAuthenticationMethodGoogleCloudObservability", "CreateOutputSystemByPackHostNetflow", "CreateOutputSystemByPackHostNetflowTypedDict", "CreateOutputSystemByPackHostSnmp", @@ -9204,16 +9593,18 @@ "CreateOutputSystemByPackIngestIfNotExistTypedDict", "CreateOutputSystemByPackIngestionMode", "CreateOutputSystemByPackLogLocationType", - "CreateOutputSystemByPackMappingTypeClickHouse", - "CreateOutputSystemByPackMappingTypeLocalSearchStorage", + "CreateOutputSystemByPackMappingType", "CreateOutputSystemByPackMessageFormat", "CreateOutputSystemByPackMetadatum", "CreateOutputSystemByPackMetadatumTypedDict", - "CreateOutputSystemByPackOTLPVersion", + "CreateOutputSystemByPackOTLPVersionOpenTelemetry", + "CreateOutputSystemByPackOtlpVersionGoogleCloudObservability", "CreateOutputSystemByPackOutputAlibabaCloudS3", "CreateOutputSystemByPackOutputAlibabaCloudS3TypedDict", "CreateOutputSystemByPackOutputAlphasocS3", "CreateOutputSystemByPackOutputAlphasocS3TypedDict", + "CreateOutputSystemByPackOutputAmazonManagedPrometheus", + "CreateOutputSystemByPackOutputAmazonManagedPrometheusTypedDict", "CreateOutputSystemByPackOutputAzureBlob", "CreateOutputSystemByPackOutputAzureBlobTypedDict", "CreateOutputSystemByPackOutputAzureDataExplorer", @@ -9244,6 +9635,8 @@ "CreateOutputSystemByPackOutputCriblTCPTypedDict", "CreateOutputSystemByPackOutputCrowdstrikeNextGenSiem", "CreateOutputSystemByPackOutputCrowdstrikeNextGenSiemTypedDict", + "CreateOutputSystemByPackOutputCustomerMetricsStorage", + "CreateOutputSystemByPackOutputCustomerMetricsStorageTypedDict", "CreateOutputSystemByPackOutputDatabricks", "CreateOutputSystemByPackOutputDatabricksTypedDict", "CreateOutputSystemByPackOutputDatadog", @@ -9272,10 +9665,14 @@ "CreateOutputSystemByPackOutputExabeamTypedDict", "CreateOutputSystemByPackOutputFilesystem", "CreateOutputSystemByPackOutputFilesystemTypedDict", + "CreateOutputSystemByPackOutputGoogleBigquery", + "CreateOutputSystemByPackOutputGoogleBigqueryTypedDict", "CreateOutputSystemByPackOutputGoogleChronicle", "CreateOutputSystemByPackOutputGoogleChronicleTypedDict", "CreateOutputSystemByPackOutputGoogleCloudLogging", "CreateOutputSystemByPackOutputGoogleCloudLoggingTypedDict", + "CreateOutputSystemByPackOutputGoogleCloudObservability", + "CreateOutputSystemByPackOutputGoogleCloudObservabilityTypedDict", "CreateOutputSystemByPackOutputGoogleCloudStorage", "CreateOutputSystemByPackOutputGoogleCloudStorageTypedDict", "CreateOutputSystemByPackOutputGooglePubsub", @@ -9298,6 +9695,8 @@ "CreateOutputSystemByPackOutputHoneycombTypedDict", "CreateOutputSystemByPackOutputHumioHec", "CreateOutputSystemByPackOutputHumioHecTypedDict", + "CreateOutputSystemByPackOutputIbmCloudS3", + "CreateOutputSystemByPackOutputIbmCloudS3TypedDict", "CreateOutputSystemByPackOutputInfluxdb", "CreateOutputSystemByPackOutputInfluxdbTypedDict", "CreateOutputSystemByPackOutputKafka", @@ -9395,6 +9794,8 @@ "CreateOutputSystemByPackOutputXsiam", "CreateOutputSystemByPackOutputXsiamTypedDict", "CreateOutputSystemByPackPayloadFormat", + "CreateOutputSystemByPackPqControlsAmazonManagedPrometheus", + "CreateOutputSystemByPackPqControlsAmazonManagedPrometheusTypedDict", "CreateOutputSystemByPackPqControlsAzureDataExplorer", "CreateOutputSystemByPackPqControlsAzureDataExplorerTypedDict", "CreateOutputSystemByPackPqControlsAzureEventhub", @@ -9417,6 +9818,8 @@ "CreateOutputSystemByPackPqControlsCriblTCPTypedDict", "CreateOutputSystemByPackPqControlsCrowdstrikeNextGenSiem", "CreateOutputSystemByPackPqControlsCrowdstrikeNextGenSiemTypedDict", + "CreateOutputSystemByPackPqControlsCustomerMetricsStorage", + "CreateOutputSystemByPackPqControlsCustomerMetricsStorageTypedDict", "CreateOutputSystemByPackPqControlsDatadog", "CreateOutputSystemByPackPqControlsDatadogTypedDict", "CreateOutputSystemByPackPqControlsDataset", @@ -9429,10 +9832,14 @@ "CreateOutputSystemByPackPqControlsElasticCloud", "CreateOutputSystemByPackPqControlsElasticCloudTypedDict", "CreateOutputSystemByPackPqControlsElasticTypedDict", + "CreateOutputSystemByPackPqControlsGoogleBigquery", + "CreateOutputSystemByPackPqControlsGoogleBigqueryTypedDict", "CreateOutputSystemByPackPqControlsGoogleChronicle", "CreateOutputSystemByPackPqControlsGoogleChronicleTypedDict", "CreateOutputSystemByPackPqControlsGoogleCloudLogging", "CreateOutputSystemByPackPqControlsGoogleCloudLoggingTypedDict", + "CreateOutputSystemByPackPqControlsGoogleCloudObservability", + "CreateOutputSystemByPackPqControlsGoogleCloudObservabilityTypedDict", "CreateOutputSystemByPackPqControlsGooglePubsub", "CreateOutputSystemByPackPqControlsGooglePubsubTypedDict", "CreateOutputSystemByPackPqControlsGraphite", @@ -9499,6 +9906,7 @@ "CreateOutputSystemByPackPqControlsXsiamTypedDict", "CreateOutputSystemByPackPrefixOptional", "CreateOutputSystemByPackProtocolDynatraceOtlp", + "CreateOutputSystemByPackProtocolGoogleCloudObservability", "CreateOutputSystemByPackProtocolSyslog", "CreateOutputSystemByPackQueueType", "CreateOutputSystemByPackRegion", @@ -9522,6 +9930,7 @@ "CreateOutputSystemByPackTimestampPrecision", "CreateOutputSystemByPackTypeAlibabaCloudS3", "CreateOutputSystemByPackTypeAlphasocS3", + "CreateOutputSystemByPackTypeAmazonManagedPrometheus", "CreateOutputSystemByPackTypeAzureBlob", "CreateOutputSystemByPackTypeAzureDataExplorer", "CreateOutputSystemByPackTypeAzureEventhub", @@ -9537,6 +9946,7 @@ "CreateOutputSystemByPackTypeCriblSearchEngine", "CreateOutputSystemByPackTypeCriblTCP", "CreateOutputSystemByPackTypeCrowdstrikeNextGenSiem", + "CreateOutputSystemByPackTypeCustomerMetricsStorage", "CreateOutputSystemByPackTypeDatabricks", "CreateOutputSystemByPackTypeDatadog", "CreateOutputSystemByPackTypeDataset", @@ -9551,13 +9961,16 @@ "CreateOutputSystemByPackTypeElasticCloud", "CreateOutputSystemByPackTypeExabeam", "CreateOutputSystemByPackTypeFilesystem", + "CreateOutputSystemByPackTypeGoogleBigquery", "CreateOutputSystemByPackTypeGoogleChronicle", "CreateOutputSystemByPackTypeGoogleCloudLogging", + "CreateOutputSystemByPackTypeGoogleCloudObservability", "CreateOutputSystemByPackTypeGoogleCloudStorage", "CreateOutputSystemByPackTypeGooglePubsub", "CreateOutputSystemByPackTypeGraphite", "CreateOutputSystemByPackTypeHoneycomb", "CreateOutputSystemByPackTypeHumioHec", + "CreateOutputSystemByPackTypeIbmCloudS3", "CreateOutputSystemByPackTypeInfluxdb", "CreateOutputSystemByPackTypeKafka", "CreateOutputSystemByPackTypeKinesis", @@ -9613,6 +10026,7 @@ "CreateOutputTimestampPrecision", "CreateOutputTypeAlibabaCloudS3", "CreateOutputTypeAlphasocS3", + "CreateOutputTypeAmazonManagedPrometheus", "CreateOutputTypeAzureBlob", "CreateOutputTypeAzureDataExplorer", "CreateOutputTypeAzureEventhub", @@ -9628,6 +10042,7 @@ "CreateOutputTypeCriblSearchEngine", "CreateOutputTypeCriblTCP", "CreateOutputTypeCrowdstrikeNextGenSiem", + "CreateOutputTypeCustomerMetricsStorage", "CreateOutputTypeDatabricks", "CreateOutputTypeDatadog", "CreateOutputTypeDataset", @@ -9642,13 +10057,16 @@ "CreateOutputTypeElasticCloud", "CreateOutputTypeExabeam", "CreateOutputTypeFilesystem", + "CreateOutputTypeGoogleBigquery", "CreateOutputTypeGoogleChronicle", "CreateOutputTypeGoogleCloudLogging", + "CreateOutputTypeGoogleCloudObservability", "CreateOutputTypeGoogleCloudStorage", "CreateOutputTypeGooglePubsub", "CreateOutputTypeGraphite", "CreateOutputTypeHoneycomb", "CreateOutputTypeHumioHec", + "CreateOutputTypeIbmCloudS3", "CreateOutputTypeInfluxdb", "CreateOutputTypeKafka", "CreateOutputTypeKinesis", @@ -9697,6 +10115,8 @@ "CreateOutputWriteAction", "CreatePipelinesByPackRequest", "CreatePipelinesByPackRequestTypedDict", + "CreateProductsGroupsByProductRequest", + "CreateProductsGroupsByProductRequestTypedDict", "CreateRoutesAppendByIDRequest", "CreateRoutesAppendByIDRequestTypedDict", "CreateRoutesAppendByPackAndIDRequest", @@ -9722,16 +10142,17 @@ "DatabaseCollectorConfStateTracking", "DatabaseCollectorConfStateTrackingTypedDict", "DatabaseCollectorConfTypedDict", + "DatabaseConnectionAuthType", "DatabaseConnectionConfig", "DatabaseConnectionConfigTypedDict", + "DatabaseConnectionResponseEnvelope", + "DatabaseConnectionResponseEnvelopeTypedDict", "DatabaseConnectionType", "DatasetMetadata", "DatasetMetadataRunInfo", "DatasetMetadataRunInfoTypedDict", "DatasetMetadataTypedDict", "DefaultTime", - "DeleteConfigGroupByProductAndIDRequest", - "DeleteConfigGroupByProductAndIDRequestTypedDict", "DeleteCriblLakeDatasetByLakeIDAndIDRequest", "DeleteCriblLakeDatasetByLakeIDAndIDRequestTypedDict", "DeleteDatabaseConnectionConfigByIDRequest", @@ -9758,6 +10179,8 @@ "DeletePipelinesByIDRequestTypedDict", "DeletePipelinesByPackAndIDRequest", "DeletePipelinesByPackAndIDRequestTypedDict", + "DeleteProductsGroupsByProductAndIDRequest", + "DeleteProductsGroupsByProductAndIDRequestTypedDict", "DeleteSavedJobByIDRequest", "DeleteSavedJobByIDRequestTypedDict", "DeployRequest", @@ -9770,7 +10193,6 @@ "DestinationType", "DiffFiles", "DiffFilesTypedDict", - "DiffLine", "DiffLineContext", "DiffLineContextType", "DiffLineContextTypedDict", @@ -9780,7 +10202,6 @@ "DiffLineInsert", "DiffLineInsertType", "DiffLineInsertTypedDict", - "DiffLineTypedDict", "DiscoverMethodOptionsHealthCheckDiscoveryDiscoverTypeHTTP", "DiscoverMethodOptionsRestDiscoveryDiscoverTypeHTTP", "DiskSpaceProtectionOptions", @@ -9793,8 +10214,6 @@ "DistributedSummaryGroups", "DistributedSummaryGroupsTypedDict", "DistributedSummaryTypedDict", - "DistributedSummaryWorkers", - "DistributedSummaryWorkersTypedDict", "EmailRecipient1", "EmailRecipient1TypedDict", "EmailRecipient2", @@ -9832,8 +10251,6 @@ "EventBreakerExistingOrNewNewTimestampTypeFormat", "EventBreakerExistingOrNewNewTimestampTypeFormatTypedDict", "EventBreakerExistingOrNewNewTypedDict", - "EventBreakerRuleFields", - "EventBreakerRuleFieldsTypedDict", "EventBreakerTypeOptionsEventBreakerExistingOrNewNew", "EventstatsConfiguration", "EventstatsConfigurationTypedDict", @@ -9852,17 +10269,16 @@ "FieldConditionTypedDict", "File", "FileTypedDict", - "FilesTypeGitCommitSummary", - "FilesTypeGitCommitSummaryTypedDict", "FilesystemCollectorConf", "FilesystemCollectorConfExtractor", "FilesystemCollectorConfExtractorTypedDict", "FilesystemCollectorConfTypedDict", "Flag", "FlagTypedDict", + "FormatOptions", "FormatOptionsCriblLakeDataset", - "FullRulesetIEForUseWithLiveDataCaptureWhichUsesDraftUnsavedRulesets", - "FullRulesetIEForUseWithLiveDataCaptureWhichUsesDraftUnsavedRulesetsTypedDict", + "FullRuleset", + "FullRulesetTypedDict", "FunctionAggregateMetrics", "FunctionAggregateMetricsID", "FunctionAggregateMetricsTypedDict", @@ -10148,25 +10564,29 @@ "FunctionXMLUnrollID", "FunctionXMLUnrollTypedDict", "GaugeUpdate", - "GetConfigGroupACLByProductAndIDRequest", - "GetConfigGroupACLByProductAndIDRequestTypedDict", - "GetConfigGroupACLTeamsByProductAndIDRequest", - "GetConfigGroupACLTeamsByProductAndIDRequestTypedDict", - "GetConfigGroupByProductAndIDRequest", - "GetConfigGroupByProductAndIDRequestTypedDict", - "GetConfigGroupConfigVersionByProductAndIDRequest", - "GetConfigGroupConfigVersionByProductAndIDRequestTypedDict", "GetCriblLakeDatasetByLakeIDAndIDRequest", "GetCriblLakeDatasetByLakeIDAndIDRequestTypedDict", "GetCriblLakeDatasetByLakeIDFormat", "GetCriblLakeDatasetByLakeIDRequest", "GetCriblLakeDatasetByLakeIDRequestTypedDict", + "GetCriblLakeDatasetByLakeIDResponse", + "GetCriblLakeDatasetByLakeIDResponseBody", + "GetCriblLakeDatasetByLakeIDResponseBodyTypedDict", + "GetCriblLakeDatasetByLakeIDResponseTypedDict", "GetDatabaseConnectionConfigByIDRequest", "GetDatabaseConnectionConfigByIDRequestTypedDict", "GetDatabaseConnectionConfigRequest", "GetDatabaseConnectionConfigRequestTypedDict", + "GetDatabaseConnectionConfigResponse", + "GetDatabaseConnectionConfigResponseTypedDict", "GetFunctionsByIDRequest", "GetFunctionsByIDRequestTypedDict", + "GetFunctionsRequest", + "GetFunctionsRequestTypedDict", + "GetFunctionsResponse", + "GetFunctionsResponseBody", + "GetFunctionsResponseBodyTypedDict", + "GetFunctionsResponseTypedDict", "GetInputByIDRequest", "GetInputByIDRequestTypedDict", "GetInputPqByIDRequest", @@ -10176,17 +10596,25 @@ "GetInputStatusRequest", "GetInputStatusRequestTypedDict", "GetInputStatusResponse", + "GetInputStatusResponseBody", + "GetInputStatusResponseBodyTypedDict", "GetInputStatusResponseTypedDict", "GetInputStatusSystemInputsByPackAndIDRequest", "GetInputStatusSystemInputsByPackAndIDRequestTypedDict", "GetInputStatusSystemInputsByPackRequest", "GetInputStatusSystemInputsByPackRequestTypedDict", "GetInputStatusSystemInputsByPackResponse", + "GetInputStatusSystemInputsByPackResponseBody", + "GetInputStatusSystemInputsByPackResponseBodyTypedDict", "GetInputStatusSystemInputsByPackResponseTypedDict", "GetInputSystemByPackAndIDRequest", "GetInputSystemByPackAndIDRequestTypedDict", "GetInputSystemByPackRequest", "GetInputSystemByPackRequestTypedDict", + "GetInputSystemByPackResponse", + "GetInputSystemByPackResponseBody", + "GetInputSystemByPackResponseBodyTypedDict", + "GetInputSystemByPackResponseTypedDict", "GetInputSystemPqByPackAndIDRequest", "GetInputSystemPqByPackAndIDRequestTypedDict", "GetOutputByIDRequest", @@ -10200,17 +10628,25 @@ "GetOutputStatusRequest", "GetOutputStatusRequestTypedDict", "GetOutputStatusResponse", + "GetOutputStatusResponseBody", + "GetOutputStatusResponseBodyTypedDict", "GetOutputStatusResponseTypedDict", "GetOutputStatusSystemOutputsByPackAndIDRequest", "GetOutputStatusSystemOutputsByPackAndIDRequestTypedDict", "GetOutputStatusSystemOutputsByPackRequest", "GetOutputStatusSystemOutputsByPackRequestTypedDict", "GetOutputStatusSystemOutputsByPackResponse", + "GetOutputStatusSystemOutputsByPackResponseBody", + "GetOutputStatusSystemOutputsByPackResponseBodyTypedDict", "GetOutputStatusSystemOutputsByPackResponseTypedDict", "GetOutputSystemByPackAndIDRequest", "GetOutputSystemByPackAndIDRequestTypedDict", "GetOutputSystemByPackRequest", "GetOutputSystemByPackRequestTypedDict", + "GetOutputSystemByPackResponse", + "GetOutputSystemByPackResponseBody", + "GetOutputSystemByPackResponseBodyTypedDict", + "GetOutputSystemByPackResponseTypedDict", "GetOutputSystemPqByPackAndIDRequest", "GetOutputSystemPqByPackAndIDRequestTypedDict", "GetOutputSystemSamplesByPackAndIDRequest", @@ -10219,14 +10655,46 @@ "GetPacksByIDRequestTypedDict", "GetPacksRequest", "GetPacksRequestTypedDict", + "GetPacksResponse", + "GetPacksResponseBody", + "GetPacksResponseBodyTypedDict", + "GetPacksResponseTypedDict", "GetPipelinesByIDRequest", "GetPipelinesByIDRequestTypedDict", "GetPipelinesByPackAndIDRequest", "GetPipelinesByPackAndIDRequestTypedDict", "GetPipelinesByPackRequest", "GetPipelinesByPackRequestTypedDict", + "GetPipelinesByPackResponse", + "GetPipelinesByPackResponseBody", + "GetPipelinesByPackResponseBodyTypedDict", + "GetPipelinesByPackResponseTypedDict", + "GetPipelinesRequest", + "GetPipelinesRequestTypedDict", + "GetPipelinesResponse", + "GetPipelinesResponseBody", + "GetPipelinesResponseBodyTypedDict", + "GetPipelinesResponseTypedDict", + "GetProductsGroupsACLByProductAndIDRequest", + "GetProductsGroupsACLByProductAndIDRequestTypedDict", + "GetProductsGroupsACLTeamsByProductAndIDRequest", + "GetProductsGroupsACLTeamsByProductAndIDRequestTypedDict", + "GetProductsGroupsByProductAndIDRequest", + "GetProductsGroupsByProductAndIDRequestTypedDict", + "GetProductsGroupsByProductRequest", + "GetProductsGroupsByProductRequestTypedDict", + "GetProductsGroupsByProductResponse", + "GetProductsGroupsByProductResponseBody", + "GetProductsGroupsByProductResponseBodyTypedDict", + "GetProductsGroupsByProductResponseTypedDict", + "GetProductsGroupsConfigVersionByProductAndIDRequest", + "GetProductsGroupsConfigVersionByProductAndIDRequestTypedDict", "GetProductsSummaryByProductRequest", "GetProductsSummaryByProductRequestTypedDict", + "GetProductsSummaryByProductResponse", + "GetProductsSummaryByProductResponseBody", + "GetProductsSummaryByProductResponseBodyTypedDict", + "GetProductsSummaryByProductResponseTypedDict", "GetProductsSummaryWorkersByProductRequest", "GetProductsSummaryWorkersByProductRequestTypedDict", "GetProductsWorkersByProductAndIDRequest", @@ -10234,6 +10702,8 @@ "GetProductsWorkersByProductRequest", "GetProductsWorkersByProductRequestTypedDict", "GetProductsWorkersByProductResponse", + "GetProductsWorkersByProductResponseBody", + "GetProductsWorkersByProductResponseBodyTypedDict", "GetProductsWorkersByProductResponseTypedDict", "GetRoutesByIDRequest", "GetRoutesByIDRequestTypedDict", @@ -10245,6 +10715,10 @@ "GetSavedJobByIDRequestTypedDict", "GetSavedJobRequest", "GetSavedJobRequestTypedDict", + "GetSavedJobResponse", + "GetSavedJobResponseBody", + "GetSavedJobResponseBodyTypedDict", + "GetSavedJobResponseTypedDict", "GetVersionCountRequest", "GetVersionCountRequestTypedDict", "GetVersionDiffRequest", @@ -10253,15 +10727,23 @@ "GetVersionFilesRequestTypedDict", "GetVersionRequest", "GetVersionRequestTypedDict", + "GetVersionResponse", + "GetVersionResponseBody", + "GetVersionResponseBodyTypedDict", + "GetVersionResponseTypedDict", "GetVersionShowRequest", "GetVersionShowRequestTypedDict", "Git", "GitCommitBody", "GitCommitBodyTypedDict", "GitCommitSummary", + "GitCommitSummaryFiles", + "GitCommitSummaryFilesTypedDict", "GitCommitSummaryTypedDict", "GitCountResult", "GitCountResultTypedDict", + "GitDiffLines", + "GitDiffLinesTypedDict", "GitDiffResult", "GitDiffResultTypedDict", "GitFile", @@ -10277,6 +10759,8 @@ "GitRevertParams", "GitRevertParamsTypedDict", "GitRevertResult", + "GitRevertResultFiles", + "GitRevertResultFilesTypedDict", "GitRevertResultTypedDict", "GitShowResult", "GitShowResultTypedDict", @@ -10313,6 +10797,7 @@ "HeaderInput", "HeaderInputTypedDict", "HeaderTypedDict", + "Health", "HealthCheckAuthenticationBasic", "HealthCheckAuthenticationBasicAuthentication", "HealthCheckAuthenticationBasicCollectRequestHeader", @@ -10679,10 +11164,12 @@ "HealthCheckCollectorConfTypedDict", "HealthCountType", "HealthCountTypeTypedDict", + "HealthOptionsStatus", + "HealthOverlayStatus", + "HealthOverlayStatusTypedDict", "HealthServerStatus", "HealthServerStatusStatus", "HealthServerStatusTypedDict", - "HealthStringType", "HeartbeatMetadata", "HeartbeatMetadataTypedDict", "HiddenDefaultBreakersOptionsDatabaseCollectorConf", @@ -10695,6 +11182,7 @@ "Input", "InputAnthropicComplianceContentConfig", "InputAnthropicComplianceContentConfigTypedDict", + "InputAnthropicComplianceEndpointName", "InputAnthropicComplianceInput", "InputAnthropicComplianceInputTypedDict", "InputAnthropicComplianceManageState", @@ -10718,9 +11206,6 @@ "InputAzureBlobInput", "InputAzureBlobInputTypedDict", "InputAzureBlobType", - "InputCloudflareHecAuthToken", - "InputCloudflareHecAuthTokenTypedDict", - "InputCloudflareHecAuthenticationMethod", "InputCloudflareHecInput", "InputCloudflareHecInputTypedDict", "InputCloudflareHecTLSSettingsServerSide", @@ -10762,6 +11247,8 @@ "InputDatadogAgentInputTypedDict", "InputDatadogAgentProxyMode", "InputDatadogAgentProxyModeTypedDict", + "InputDatadogAgentSamplingRule", + "InputDatadogAgentSamplingRuleTypedDict", "InputDatadogAgentType", "InputDatagenInput", "InputDatagenInputTypedDict", @@ -10791,6 +11278,8 @@ "InputEventhubAmqpAuthenticationMethod", "InputEventhubAmqpAzureBlobStorage", "InputEventhubAmqpAzureBlobStorageTypedDict", + "InputEventhubAmqpCertificate", + "InputEventhubAmqpCertificateTypedDict", "InputEventhubAmqpCheckpointing", "InputEventhubAmqpCheckpointingTypedDict", "InputEventhubAmqpInput", @@ -10934,8 +11423,6 @@ "InputResponseAuthMethodsExt", "InputResponseAuthMethodsExtAuthenticationType", "InputResponseAuthMethodsExtTypedDict", - "InputResponseAuthTokenCloudflareHec", - "InputResponseAuthTokenCloudflareHecTypedDict", "InputResponseAuthTokenSplunk", "InputResponseAuthTokenSplunkHec", "InputResponseAuthTokenSplunkHecTypedDict", @@ -10946,7 +11433,6 @@ "InputResponseAuthTokensExtTypedDict", "InputResponseAuthTypedDict", "InputResponseAuthenticationMechanism", - "InputResponseAuthenticationMethodCloudflareHec", "InputResponseAuthenticationMethodEdgePrometheus", "InputResponseAuthenticationMethodElastic", "InputResponseAuthenticationMethodEventhubAmqp", @@ -10965,6 +11451,8 @@ "InputResponseCPUSystemMetricsTypedDict", "InputResponseCPUWindowsMetrics", "InputResponseCPUWindowsMetricsTypedDict", + "InputResponseCertificate", + "InputResponseCertificateTypedDict", "InputResponseCheckpointing", "InputResponseCheckpointingTypedDict", "InputResponseCollectors", @@ -11003,6 +11491,7 @@ "InputResponseElasticsearchMetadataTypedDict", "InputResponseEndpointHeader", "InputResponseEndpointHeaderTypedDict", + "InputResponseEndpointName", "InputResponseEndpointParam", "InputResponseEndpointParamTypedDict", "InputResponseEventFormat", @@ -11148,6 +11637,8 @@ "InputResponseInputSplunkTypedDict", "InputResponseInputSqs", "InputResponseInputSqsTypedDict", + "InputResponseInputSysdigHec", + "InputResponseInputSysdigHecTypedDict", "InputResponseInputSyslogSyslog1", "InputResponseInputSyslogSyslog1TypedDict", "InputResponseInputSyslogSyslog2", @@ -11164,6 +11655,8 @@ "InputResponseInputTCPTypedDict", "InputResponseInputTcpjson", "InputResponseInputTcpjsonTypedDict", + "InputResponseInputUpwindHec", + "InputResponseInputUpwindHecTypedDict", "InputResponseInputWef", "InputResponseInputWefTypedDict", "InputResponseInputWinEventLogs", @@ -11252,6 +11745,8 @@ "InputResponseSNMPv3AuthenticationTypedDict", "InputResponseSample", "InputResponseSampleTypedDict", + "InputResponseSamplingRule", + "InputResponseSamplingRuleTypedDict", "InputResponseScheduleType", "InputResponseServices", "InputResponseServicesTypedDict", @@ -11326,10 +11821,12 @@ "InputResponseTypeSplunkHec", "InputResponseTypeSplunkSearch", "InputResponseTypeSqs", + "InputResponseTypeSysdigHec", "InputResponseTypeSystemMetrics", "InputResponseTypeSystemState", "InputResponseTypeTCP", "InputResponseTypeTcpjson", + "InputResponseTypeUpwindHec", "InputResponseTypeWef", "InputResponseTypeWinEventLogs", "InputResponseTypeWindowsMetrics", @@ -11396,6 +11893,9 @@ "InputSqsType", "InputStatus", "InputStatusTypedDict", + "InputSysdigHecInput", + "InputSysdigHecInputTypedDict", + "InputSysdigHecType", "InputSyslogInputUnion", "InputSyslogInputUnionTypedDict", "InputSyslogSyslogInput1", @@ -11469,6 +11969,9 @@ "InputTcpjsonInputTypedDict", "InputTcpjsonType", "InputTypedDict", + "InputUpwindHecInput", + "InputUpwindHecInputTypedDict", + "InputUpwindHecType", "InputWefAuthenticationMethod", "InputWefFormat", "InputWefInput", @@ -11547,12 +12050,18 @@ "LakeExportConfiguration", "LakeExportConfigurationTypedDict", "LakehouseConnectionType", - "ListConfigGroupByProductRequest", - "ListConfigGroupByProductRequestTypedDict", "ListInputRequest", "ListInputRequestTypedDict", + "ListInputResponse", + "ListInputResponseBody", + "ListInputResponseBodyTypedDict", + "ListInputResponseTypedDict", "ListOutputRequest", "ListOutputRequestTypedDict", + "ListOutputResponse", + "ListOutputResponseBody", + "ListOutputResponseBodyTypedDict", + "ListOutputResponseTypedDict", "LogLabelConfOutputGoogleCloudLogging", "LogLabelConfOutputGoogleCloudLoggingTypedDict", "LogLevelForFailedLookups", @@ -11569,17 +12078,20 @@ "LokiAuth2TypedDict", "MappingOfFieldNames", "MappingOfFieldNamesTypedDict", + "MappingTypeOptions", "MasterWorkerEntry", "MasterWorkerEntryType", "MasterWorkerEntryTypedDict", - "MasterWorkerEntryWorkers", - "MasterWorkerEntryWorkersTypedDict", + "MasterWorkerProcesses", + "MasterWorkerProcessesTypedDict", "MatchMode", "MatchType", "MaxS2SVersionOptions", "MaximumTLSVersionOptionsRedisDeploymentTypeStandaloneTLSOptions", "MaximumTLSVersionOptionsTLS", "MessageFormatOptions", + "MetadataConfAddHecTokenRequest", + "MetadataConfAddHecTokenRequestTypedDict", "MetadataConfInputCollection", "MetadataConfInputCollectionTypedDict", "MethodOptions", @@ -11591,8 +12103,12 @@ "ModeOptionsHost", "ModeOptionsPq", "NestedFieldSerializationOptions", + "NoActiveHealthOverlayStatus", + "NoActiveHealthOverlayStatusTypedDict", "NodeActiveUpgradeStatus", "NodeFailedUpgradeStatus", + "NodeOsInfo", + "NodeOsInfoTypedDict", "NodeProvidedInfo", "NodeProvidedInfoTypedDict", "NodeSkippedUpgradeStatus", @@ -11634,14 +12150,16 @@ "ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol", "ObjectStorageFilter", "ObjectStorageFilterTypedDict", + "OldMode", + "OldModeTypedDict", "Operator", "Origin", "OrphanFileRecoveryType", "OrphanFileRecoveryTypeTypedDict", "Os", + "OsTypeHeartbeatMetadata", + "OsTypeHeartbeatMetadataTypedDict", "OsTypedDict", - "OsUnion", - "OsUnionTypedDict", "OtlpVersionOptions", "OtlpVersionOptions131", "OutField", @@ -11650,11 +12168,17 @@ "OutpostNodeInfoTypedDict", "Output", "OutputAlibabaCloudS3", + "OutputAlibabaCloudS3AuthenticationMethod", "OutputAlibabaCloudS3Type", "OutputAlibabaCloudS3TypedDict", "OutputAlphasocS3", "OutputAlphasocS3Type", "OutputAlphasocS3TypedDict", + "OutputAmazonManagedPrometheus", + "OutputAmazonManagedPrometheusPqControls", + "OutputAmazonManagedPrometheusPqControlsTypedDict", + "OutputAmazonManagedPrometheusType", + "OutputAmazonManagedPrometheusTypedDict", "OutputAzureBlob", "OutputAzureBlobBlobAccessTier", "OutputAzureBlobType", @@ -11697,16 +12221,11 @@ "OutputChronicleType", "OutputChronicleTypedDict", "OutputClickHouse", - "OutputClickHouseColumnMapping", - "OutputClickHouseColumnMappingTypedDict", - "OutputClickHouseFormat", - "OutputClickHouseMappingType", "OutputClickHousePqControls", "OutputClickHousePqControlsTypedDict", "OutputClickHouseType", "OutputClickHouseTypedDict", "OutputCloudflareR2", - "OutputCloudflareR2AuthenticationMethod", "OutputCloudflareR2Type", "OutputCloudflareR2TypedDict", "OutputCloudianS3", @@ -11728,7 +12247,6 @@ "OutputCriblHTTPType", "OutputCriblHTTPTypedDict", "OutputCriblLake", - "OutputCriblLakeAwsAuthenticationMethod", "OutputCriblLakeFormat", "OutputCriblLakeType", "OutputCriblLakeTypedDict", @@ -11747,6 +12265,11 @@ "OutputCrowdstrikeNextGenSiemPqControlsTypedDict", "OutputCrowdstrikeNextGenSiemType", "OutputCrowdstrikeNextGenSiemTypedDict", + "OutputCustomerMetricsStorage", + "OutputCustomerMetricsStoragePqControls", + "OutputCustomerMetricsStoragePqControlsTypedDict", + "OutputCustomerMetricsStorageType", + "OutputCustomerMetricsStorageTypedDict", "OutputDatabricks", "OutputDatabricksType", "OutputDatabricksTypedDict", @@ -11818,6 +12341,12 @@ "OutputFilesystem", "OutputFilesystemType", "OutputFilesystemTypedDict", + "OutputGoogleBigquery", + "OutputGoogleBigqueryGoogleAuthenticationMethod", + "OutputGoogleBigqueryPqControls", + "OutputGoogleBigqueryPqControlsTypedDict", + "OutputGoogleBigqueryType", + "OutputGoogleBigqueryTypedDict", "OutputGoogleChronicle", "OutputGoogleChronicleAPIVersion", "OutputGoogleChronicleAuthenticationMethod", @@ -11836,6 +12365,15 @@ "OutputGoogleCloudLoggingPqControlsTypedDict", "OutputGoogleCloudLoggingType", "OutputGoogleCloudLoggingTypedDict", + "OutputGoogleCloudObservability", + "OutputGoogleCloudObservabilityEndpoint", + "OutputGoogleCloudObservabilityGoogleAuthenticationMethod", + "OutputGoogleCloudObservabilityOtlpVersion", + "OutputGoogleCloudObservabilityPqControls", + "OutputGoogleCloudObservabilityPqControlsTypedDict", + "OutputGoogleCloudObservabilityProtocol", + "OutputGoogleCloudObservabilityType", + "OutputGoogleCloudObservabilityTypedDict", "OutputGoogleCloudStorage", "OutputGoogleCloudStorageAuthenticationMethod", "OutputGoogleCloudStorageType", @@ -11872,6 +12410,9 @@ "OutputHumioHecPqControlsTypedDict", "OutputHumioHecType", "OutputHumioHecTypedDict", + "OutputIbmCloudS3", + "OutputIbmCloudS3Type", + "OutputIbmCloudS3TypedDict", "OutputInfluxdb", "OutputInfluxdbAuthenticationType", "OutputInfluxdbPqControls", @@ -11951,6 +12492,7 @@ "OutputOpenTelemetryType", "OutputOpenTelemetryTypedDict", "OutputPrometheus", + "OutputPrometheusAuthenticationType", "OutputPrometheusPqControls", "OutputPrometheusPqControlsTypedDict", "OutputPrometheusType", @@ -11964,25 +12506,23 @@ "OutputResponseAuthTokenTypedDict", "OutputResponseAuthType", "OutputResponseAuthentication", + "OutputResponseAuthenticationMethodAlibabaCloudS3", "OutputResponseAuthenticationMethodAzureDataExplorer", "OutputResponseAuthenticationMethodAzureLogs", "OutputResponseAuthenticationMethodChronicle", - "OutputResponseAuthenticationMethodCloudflareR2", "OutputResponseAuthenticationMethodGoogleChronicle", "OutputResponseAuthenticationMethodGoogleCloudStorage", "OutputResponseAuthenticationMethodXsiam", "OutputResponseAuthenticationTypeDynatraceHTTP", "OutputResponseAuthenticationTypeInfluxdb", "OutputResponseAuthenticationTypeOpenTelemetry", + "OutputResponseAuthenticationTypePrometheus", "OutputResponseAuthenticationTypedDict", - "OutputResponseAwsAuthenticationMethod", "OutputResponseBlobAccessTier", "OutputResponseCertificate", "OutputResponseCertificateTypedDict", - "OutputResponseColumnMappingClickHouse", - "OutputResponseColumnMappingClickHouseTypedDict", - "OutputResponseColumnMappingLocalSearchStorage", - "OutputResponseColumnMappingLocalSearchStorageTypedDict", + "OutputResponseColumnMapping", + "OutputResponseColumnMappingTypedDict", "OutputResponseCompression", "OutputResponseCustomLabel", "OutputResponseCustomLabelTypedDict", @@ -11991,8 +12531,9 @@ "OutputResponseDataSetSite", "OutputResponseDatadogSite", "OutputResponseElasticVersion", - "OutputResponseEndpoint", "OutputResponseEndpointConfiguration", + "OutputResponseEndpointDynatraceHTTP", + "OutputResponseEndpointGoogleCloudObservability", "OutputResponseEndpointType", "OutputResponseExtentTag", "OutputResponseExtentTagTypedDict", @@ -12000,11 +12541,12 @@ "OutputResponseExtraLogTypeTypedDict", "OutputResponseFacility", "OutputResponseFieldName", - "OutputResponseFormatClickHouse", "OutputResponseFormatCriblLake", "OutputResponseFormatDynatraceHTTP", "OutputResponseFormatLocalSearchStorage", "OutputResponseFormatSentinel", + "OutputResponseGoogleAuthenticationMethodGoogleBigquery", + "OutputResponseGoogleAuthenticationMethodGoogleCloudObservability", "OutputResponseHostNetflow", "OutputResponseHostNetflowTypedDict", "OutputResponseHostSnmp", @@ -12015,16 +12557,18 @@ "OutputResponseIngestIfNotExistTypedDict", "OutputResponseIngestionMode", "OutputResponseLogLocationType", - "OutputResponseMappingTypeClickHouse", - "OutputResponseMappingTypeLocalSearchStorage", + "OutputResponseMappingType", "OutputResponseMessageFormat", "OutputResponseMetadatum", "OutputResponseMetadatumTypedDict", - "OutputResponseOTLPVersion", + "OutputResponseOTLPVersionOpenTelemetry", + "OutputResponseOtlpVersionGoogleCloudObservability", "OutputResponseOutputAlibabaCloudS3", "OutputResponseOutputAlibabaCloudS3TypedDict", "OutputResponseOutputAlphasocS3", "OutputResponseOutputAlphasocS3TypedDict", + "OutputResponseOutputAmazonManagedPrometheus", + "OutputResponseOutputAmazonManagedPrometheusTypedDict", "OutputResponseOutputAzureBlob", "OutputResponseOutputAzureBlobTypedDict", "OutputResponseOutputAzureDataExplorer", @@ -12055,6 +12599,8 @@ "OutputResponseOutputCriblTCPTypedDict", "OutputResponseOutputCrowdstrikeNextGenSiem", "OutputResponseOutputCrowdstrikeNextGenSiemTypedDict", + "OutputResponseOutputCustomerMetricsStorage", + "OutputResponseOutputCustomerMetricsStorageTypedDict", "OutputResponseOutputDatabricks", "OutputResponseOutputDatabricksTypedDict", "OutputResponseOutputDatadog", @@ -12083,10 +12629,14 @@ "OutputResponseOutputExabeamTypedDict", "OutputResponseOutputFilesystem", "OutputResponseOutputFilesystemTypedDict", + "OutputResponseOutputGoogleBigquery", + "OutputResponseOutputGoogleBigqueryTypedDict", "OutputResponseOutputGoogleChronicle", "OutputResponseOutputGoogleChronicleTypedDict", "OutputResponseOutputGoogleCloudLogging", "OutputResponseOutputGoogleCloudLoggingTypedDict", + "OutputResponseOutputGoogleCloudObservability", + "OutputResponseOutputGoogleCloudObservabilityTypedDict", "OutputResponseOutputGoogleCloudStorage", "OutputResponseOutputGoogleCloudStorageTypedDict", "OutputResponseOutputGooglePubsub", @@ -12109,6 +12659,8 @@ "OutputResponseOutputHoneycombTypedDict", "OutputResponseOutputHumioHec", "OutputResponseOutputHumioHecTypedDict", + "OutputResponseOutputIbmCloudS3", + "OutputResponseOutputIbmCloudS3TypedDict", "OutputResponseOutputInfluxdb", "OutputResponseOutputInfluxdbTypedDict", "OutputResponseOutputKafka", @@ -12206,6 +12758,8 @@ "OutputResponseOutputXsiam", "OutputResponseOutputXsiamTypedDict", "OutputResponsePayloadFormat", + "OutputResponsePqControlsAmazonManagedPrometheus", + "OutputResponsePqControlsAmazonManagedPrometheusTypedDict", "OutputResponsePqControlsAzureDataExplorer", "OutputResponsePqControlsAzureDataExplorerTypedDict", "OutputResponsePqControlsAzureEventhub", @@ -12228,6 +12782,8 @@ "OutputResponsePqControlsCriblTCPTypedDict", "OutputResponsePqControlsCrowdstrikeNextGenSiem", "OutputResponsePqControlsCrowdstrikeNextGenSiemTypedDict", + "OutputResponsePqControlsCustomerMetricsStorage", + "OutputResponsePqControlsCustomerMetricsStorageTypedDict", "OutputResponsePqControlsDatadog", "OutputResponsePqControlsDatadogTypedDict", "OutputResponsePqControlsDataset", @@ -12240,10 +12796,14 @@ "OutputResponsePqControlsElasticCloud", "OutputResponsePqControlsElasticCloudTypedDict", "OutputResponsePqControlsElasticTypedDict", + "OutputResponsePqControlsGoogleBigquery", + "OutputResponsePqControlsGoogleBigqueryTypedDict", "OutputResponsePqControlsGoogleChronicle", "OutputResponsePqControlsGoogleChronicleTypedDict", "OutputResponsePqControlsGoogleCloudLogging", "OutputResponsePqControlsGoogleCloudLoggingTypedDict", + "OutputResponsePqControlsGoogleCloudObservability", + "OutputResponsePqControlsGoogleCloudObservabilityTypedDict", "OutputResponsePqControlsGooglePubsub", "OutputResponsePqControlsGooglePubsubTypedDict", "OutputResponsePqControlsGraphite", @@ -12310,6 +12870,7 @@ "OutputResponsePqControlsXsiamTypedDict", "OutputResponsePrefixOptional", "OutputResponseProtocolDynatraceOtlp", + "OutputResponseProtocolGoogleCloudObservability", "OutputResponseProtocolSyslog", "OutputResponseQueueType", "OutputResponseRegion", @@ -12329,6 +12890,7 @@ "OutputResponseTimestampPrecision", "OutputResponseTypeAlibabaCloudS3", "OutputResponseTypeAlphasocS3", + "OutputResponseTypeAmazonManagedPrometheus", "OutputResponseTypeAzureBlob", "OutputResponseTypeAzureDataExplorer", "OutputResponseTypeAzureEventhub", @@ -12344,6 +12906,7 @@ "OutputResponseTypeCriblSearchEngine", "OutputResponseTypeCriblTCP", "OutputResponseTypeCrowdstrikeNextGenSiem", + "OutputResponseTypeCustomerMetricsStorage", "OutputResponseTypeDatabricks", "OutputResponseTypeDatadog", "OutputResponseTypeDataset", @@ -12358,13 +12921,16 @@ "OutputResponseTypeElasticCloud", "OutputResponseTypeExabeam", "OutputResponseTypeFilesystem", + "OutputResponseTypeGoogleBigquery", "OutputResponseTypeGoogleChronicle", "OutputResponseTypeGoogleCloudLogging", + "OutputResponseTypeGoogleCloudObservability", "OutputResponseTypeGoogleCloudStorage", "OutputResponseTypeGooglePubsub", "OutputResponseTypeGraphite", "OutputResponseTypeHoneycomb", "OutputResponseTypeHumioHec", + "OutputResponseTypeIbmCloudS3", "OutputResponseTypeInfluxdb", "OutputResponseTypeKafka", "OutputResponseTypeKinesis", @@ -12589,6 +13155,32 @@ "PackUninstallInfoTypedDict", "PackUpgradeRequest", "PackUpgradeRequestTypedDict", + "PaginatedConfigGroup", + "PaginatedConfigGroupTypedDict", + "PaginatedCriblLakeDataset", + "PaginatedCriblLakeDatasetTypedDict", + "PaginatedDistributedSummary", + "PaginatedDistributedSummaryTypedDict", + "PaginatedFunctionResponse", + "PaginatedFunctionResponseTypedDict", + "PaginatedGitLogResult", + "PaginatedGitLogResultTypedDict", + "PaginatedInputResponse", + "PaginatedInputResponseTypedDict", + "PaginatedInputStatus", + "PaginatedInputStatusTypedDict", + "PaginatedMasterWorkerEntry", + "PaginatedMasterWorkerEntryTypedDict", + "PaginatedOutputResponse", + "PaginatedOutputResponseTypedDict", + "PaginatedOutputStatus", + "PaginatedOutputStatusTypedDict", + "PaginatedPackInfo", + "PaginatedPackInfoTypedDict", + "PaginatedPipeline", + "PaginatedPipelineTypedDict", + "PaginatedSavedJobResponse", + "PaginatedSavedJobResponseTypedDict", "PaginationOptionsRestDiscoveryDiscoverTypeHTTPPagination", "PaginationTypeRestDiscoveryDiscoverTypeHTTP", "PaginationTypeRestDiscoveryDiscoverTypeHTTPTypedDict", @@ -12951,6 +13543,10 @@ "RedisDeploymentTypeStandaloneCommandTypedDict", "RedisDeploymentTypeStandaloneDeploymentType", "RedisDeploymentTypeStandaloneTypedDict", + "RefreshRequestParamConfHealthCheckAuthenticationOauth", + "RefreshRequestParamConfHealthCheckAuthenticationOauthSecret", + "RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict", + "RefreshRequestParamConfHealthCheckAuthenticationOauthTypedDict", "RegexList", "RegexListConfSerdeTypeRegex", "RegexListConfSerdeTypeRegexTypedDict", @@ -12964,8 +13560,6 @@ "Renamed", "RenamedTypedDict", "RequestFormatOptions", - "RequestParamConfInputOpenai", - "RequestParamConfInputOpenaiTypedDict", "ResourcePolicy", "ResourcePolicyTypedDict", "ResourceRecordType", @@ -13959,8 +14553,6 @@ "SavedJobScheduledSearch", "SavedJobScheduledSearchTypedDict", "SavedJobTypedDict", - "ScalarOrArray", - "ScalarOrArrayTypedDict", "ScaleReadsOptionsRedisDeploymentTypeCluster", "ScanMode", "ScheduleType", @@ -13977,27 +14569,38 @@ "SearchFilterConfInputPrometheus", "SearchFilterConfInputPrometheusTypedDict", "SearchVersion", + "SecureVersion", "Security", "SecurityTypedDict", "SendConfiguration", "SendConfigurationTypedDict", + "SerdeTypeAuto", + "SerdeTypeAutoOperationMode", + "SerdeTypeAutoType", + "SerdeTypeAutoTypedDict", "SerdeTypeCsv", "SerdeTypeCsvOperationMode", + "SerdeTypeCsvType", "SerdeTypeCsvTypedDict", "SerdeTypeDelim", "SerdeTypeDelimOperationMode", + "SerdeTypeDelimType", "SerdeTypeDelimTypedDict", "SerdeTypeGrok", "SerdeTypeGrokOperationMode", + "SerdeTypeGrokType", "SerdeTypeGrokTypedDict", "SerdeTypeJSON", "SerdeTypeJSONOperationMode", + "SerdeTypeJSONType", "SerdeTypeJSONTypedDict", "SerdeTypeKvp", "SerdeTypeKvpOperationMode", + "SerdeTypeKvpType", "SerdeTypeKvpTypedDict", "SerdeTypeRegex", "SerdeTypeRegexOperationMode", + "SerdeTypeRegexType", "SerdeTypeRegexTypedDict", "SerializeTypeCsv", "SerializeTypeCsvType", @@ -14109,6 +14712,7 @@ "SplunkAuthenticationTokenTypedDict", "SplunkCollectorConf", "SplunkCollectorConfTypedDict", + "SqsAuthenticationMethodOptions", "SslTypeSystemSettingsConfAPI", "SslTypeSystemSettingsConfAPITypedDict", "State", @@ -14133,6 +14737,8 @@ "SystemSettingsConfTypedDict", "SystemTypeSystemSettingsConf", "SystemTypeSystemSettingsConfTypedDict", + "TLSClientParams", + "TLSClientParamsTypedDict", "TLSOptionsHostsItems", "TLSOptionsTypeRedisDeploymentTypeStandalone", "TLSOptionsTypeRedisDeploymentTypeStandaloneTypedDict", @@ -14151,6 +14757,10 @@ "TLSSettingsUnion", "TLSSettingsUnionTypedDict", "TagAfterProcessingOptions", + "Tags1", + "Tags1TypedDict", + "Tags2", + "Tags2TypedDict", "TagsTypePackInstallInfo", "TagsTypePackInstallInfoTypedDict", "TargetConfig1", @@ -14185,7 +14795,6 @@ "TimestampTypeOptionsEventBreakerExistingOrNewNewTimestamp", "TimestampTypedDict", "TriggerType", - "TypeOptions", "TypeOptionsConfigGroup", "URLConfOutputCriblHTTP", "URLConfOutputCriblHTTPTypedDict", @@ -14193,10 +14802,10 @@ "UnionConfigurationTypedDict", "UnknownAzureBlobCollectorConf", "UnknownCollector", - "UnknownDiffLine", "UnknownEventBreakerExistingOrNewNew", "UnknownFunctionConfSchemaNumerify", "UnknownFunctionResponse", + "UnknownGitDiffLines", "UnknownGoogleCloudStorageCollectorConf", "UnknownHealthCheckAuthenticationBasicDiscovery", "UnknownHealthCheckAuthenticationBasicHealthCheckDiscoveryDiscoverTypeHTTP", @@ -14229,6 +14838,7 @@ "UnknownHealthCheckCollectMethodPostWithBodyHealthCheckDiscoveryDiscoverTypeHTTP", "UnknownHealthCheckCollectMethodPostWithBodyRetryRules", "UnknownHealthCheckCollectorConf", + "UnknownHealthOverlayStatus", "UnknownInputResponse", "UnknownOutputResponse", "UnknownPaginationTypeRestDiscoveryDiscoverTypeHTTP", @@ -14304,10 +14914,6 @@ "UnknownSplunkCollectorConf", "UnknownTimestampFormatTypeEventBreakerExistingOrNewNew", "UnknownV3User", - "UpdateConfigGroupByProductAndIDRequest", - "UpdateConfigGroupByProductAndIDRequestTypedDict", - "UpdateConfigGroupDeployByProductAndIDRequest", - "UpdateConfigGroupDeployByProductAndIDRequestTypedDict", "UpdateCriblLakeDatasetByLakeIDAndIDRequest", "UpdateCriblLakeDatasetByLakeIDAndIDRequestTypedDict", "UpdateDatabaseConnectionConfigByIDRequest", @@ -14334,6 +14940,10 @@ "UpdatePipelinesByIDRequestTypedDict", "UpdatePipelinesByPackAndIDRequest", "UpdatePipelinesByPackAndIDRequestTypedDict", + "UpdateProductsGroupsByProductAndIDRequest", + "UpdateProductsGroupsByProductAndIDRequestTypedDict", + "UpdateProductsGroupsDeployByProductAndIDRequest", + "UpdateProductsGroupsDeployByProductAndIDRequestTypedDict", "UpdateProductsWorkersRestartByProductRequest", "UpdateProductsWorkersRestartByProductRequestTypedDict", "UpdateRoutesByIDRequest", @@ -14360,13 +14970,17 @@ "WhereToCapture", "WorkerPQStatus", "WorkerPQStatusTypedDict", + "Workers", "WorkersTypeSystemSettingsConf", "WorkersTypeSystemSettingsConfTypedDict", + "WorkersTypedDict", ] _dynamic_imports: dict[str, str] = { "AcknowledgmentsOptions": ".acknowledgmentsoptions", "AcknowledgmentsOptionsAllLeader": ".acknowledgmentsoptionsallleader", + "ActiveHealthOverlayStatus": ".activehealthoverlaystatus", + "ActiveHealthOverlayStatusTypedDict": ".activehealthoverlaystatus", "AddConfFunctionConfSchemaAggregation": ".addconffunctionconfschemaaggregation", "AddConfFunctionConfSchemaAggregationTypedDict": ".addconffunctionconfschemaaggregation", "AddHecTokenRequest": ".addhectokenrequest", @@ -14381,6 +14995,7 @@ "AggregatedInputOutputStatusBodyTypedDict": ".aggregatedinputoutputstatusbody", "AggregatedPQStatus": ".aggregatedpqstatus", "AggregatedPQStatusTypedDict": ".aggregatedpqstatus", + "Health": ".aggregatedpqstatus", "APIScheme": ".apischeme", "APITypeSystemSettingsConf": ".apitypesystemsettingsconf", "APITypeSystemSettingsConfTypedDict": ".apitypesystemsettingsconf", @@ -14391,6 +15006,8 @@ "AuthenticationMethodOptionsAuth": ".authenticationmethodoptionsauth", "AuthenticationMethodOptionsAuthManualManualAPIKey": ".authenticationmethodoptionsauthmanualmanualapikey", "AuthenticationMethodOptionsAuthTokensItems": ".authenticationmethodoptionsauthtokensitems", + "AuthenticationMethodOptionsAuthTokensItemsSecret": ".authenticationmethodoptionsauthtokensitemssecret", + "AuthenticationMethodOptionsAutoSecret": ".authenticationmethodoptionsautosecret", "AuthenticationMethodOptionsManualSecret": ".authenticationmethodoptionsmanualsecret", "AuthenticationMethodOptionsS3CollectorConf": ".authenticationmethodoptionss3collectorconf", "AuthenticationMethodOptionsSasl": ".authenticationmethodoptionssasl", @@ -14412,6 +15029,8 @@ "AuthRequestParamConfHealthCheckAuthenticationOauthTypedDict": ".authrequestparamconfhealthcheckauthenticationoauth", "AuthToken": ".authtoken", "AuthTokenTypedDict": ".authtoken", + "AuthTokenConfInputCloudflareHec": ".authtokenconfinputcloudflarehec", + "AuthTokenConfInputCloudflareHecTypedDict": ".authtokenconfinputcloudflarehec", "AuthTokenConfInputCriblTCP": ".authtokenconfinputcribltcp", "AuthTokenConfInputCriblTCPTypedDict": ".authtokenconfinputcribltcp", "AuthTokenConfOutputCriblHTTP": ".authtokenconfoutputcriblhttp", @@ -14510,6 +15129,8 @@ "CollectRequestParamConfHealthCheckCollectMethodPostTypedDict": ".collectrequestparamconfhealthcheckcollectmethodpost", "CollectRequestParamConfRestCollectMethodGet": ".collectrequestparamconfrestcollectmethodget", "CollectRequestParamConfRestCollectMethodGetTypedDict": ".collectrequestparamconfrestcollectmethodget", + "ColumnMappingConfOutputClickHouse": ".columnmappingconfoutputclickhouse", + "ColumnMappingConfOutputClickHouseTypedDict": ".columnmappingconfoutputclickhouse", "Commit": ".commit", "CommitTypedDict": ".commit", "CompressionLevelOptions": ".compressionleveloptions", @@ -14542,8 +15163,6 @@ "CountedConfigGroupTypedDict": ".countedconfiggroup", "CountedCriblLakeDataset": ".countedcribllakedataset", "CountedCriblLakeDatasetTypedDict": ".countedcribllakedataset", - "CountedDatabaseConnectionConfig": ".counteddatabaseconnectionconfig", - "CountedDatabaseConnectionConfigTypedDict": ".counteddatabaseconnectionconfig", "CountedDistributedSummary": ".counteddistributedsummary", "CountedDistributedSummaryTypedDict": ".counteddistributedsummary", "CountedFunctionResponse": ".countedfunctionresponse", @@ -14612,244 +15231,8 @@ "CountedUserAccessControlListTypedDict": ".counteduseraccesscontrollist", "CreateAuthLoginResponse": ".createauthloginop", "CreateAuthLoginResponseTypedDict": ".createauthloginop", - "CreateConfigGroupByProductRequest": ".createconfiggroupbyproductop", - "CreateConfigGroupByProductRequestTypedDict": ".createconfiggroupbyproductop", "CreateCriblLakeDatasetByLakeIDRequest": ".createcribllakedatasetbylakeidop", "CreateCriblLakeDatasetByLakeIDRequestTypedDict": ".createcribllakedatasetbylakeidop", - "CreateInputAccountType": ".createinput_logged_in_users", - "CreateInputAllow": ".createinput_logged_in_users", - "CreateInputAllowTypedDict": ".createinput_logged_in_users", - "CreateInputAuthMethodsExt": ".createinput_logged_in_users", - "CreateInputAuthMethodsExtAuthenticationType": ".createinput_logged_in_users", - "CreateInputAuthMethodsExtTypedDict": ".createinput_logged_in_users", - "CreateInputAuthTokenCloudflareHec": ".createinput_logged_in_users", - "CreateInputAuthTokenCloudflareHecTypedDict": ".createinput_logged_in_users", - "CreateInputAuthTokenZscalerHec": ".createinput_logged_in_users", - "CreateInputAuthTokenZscalerHecTypedDict": ".createinput_logged_in_users", - "CreateInputAuthenticationMethodCloudflareHec": ".createinput_logged_in_users", - "CreateInputAuthenticationMethodWef": ".createinput_logged_in_users", - "CreateInputAuthenticationTypeOpenTelemetry": ".createinput_logged_in_users", - "CreateInputAuthenticationTypeServicenowTable": ".createinput_logged_in_users", - "CreateInputCPUModeWindowsMetrics": ".createinput_logged_in_users", - "CreateInputCPUWindowsMetrics": ".createinput_logged_in_users", - "CreateInputCPUWindowsMetricsTypedDict": ".createinput_logged_in_users", - "CreateInputContentConfigAnthropicCompliance": ".createinput_logged_in_users", - "CreateInputContentConfigAnthropicComplianceTypedDict": ".createinput_logged_in_users", - "CreateInputContentConfigInput": ".createinput_logged_in_users", - "CreateInputContentConfigInputTypedDict": ".createinput_logged_in_users", - "CreateInputContentConfigWiz": ".createinput_logged_in_users", - "CreateInputContentConfigWizTypedDict": ".createinput_logged_in_users", - "CreateInputCustomWindowsMetrics": ".createinput_logged_in_users", - "CreateInputCustomWindowsMetricsTypedDict": ".createinput_logged_in_users", - "CreateInputDNS": ".createinput_logged_in_users", - "CreateInputDNSTypedDict": ".createinput_logged_in_users", - "CreateInputDiskModeWindowsMetrics": ".createinput_logged_in_users", - "CreateInputDiskWindowsMetrics": ".createinput_logged_in_users", - "CreateInputDiskWindowsMetricsTypedDict": ".createinput_logged_in_users", - "CreateInputDisksAndFileSystems": ".createinput_logged_in_users", - "CreateInputDisksAndFileSystemsTypedDict": ".createinput_logged_in_users", - "CreateInputEventFormat": ".createinput_logged_in_users", - "CreateInputFilterAppscope": ".createinput_logged_in_users", - "CreateInputFilterAppscopeTypedDict": ".createinput_logged_in_users", - "CreateInputFirewall": ".createinput_logged_in_users", - "CreateInputFirewallTypedDict": ".createinput_logged_in_users", - "CreateInputFormat": ".createinput_logged_in_users", - "CreateInputGrantType": ".createinput_logged_in_users", - "CreateInputHostInfo": ".createinput_logged_in_users", - "CreateInputHostInfoTypedDict": ".createinput_logged_in_users", - "CreateInputHostWindowsMetrics": ".createinput_logged_in_users", - "CreateInputHostWindowsMetricsTypedDict": ".createinput_logged_in_users", - "CreateInputHostsFile": ".createinput_logged_in_users", - "CreateInputHostsFileTypedDict": ".createinput_logged_in_users", - "CreateInputInputAnthropicCompliance": ".createinput_logged_in_users", - "CreateInputInputAnthropicComplianceTypedDict": ".createinput_logged_in_users", - "CreateInputInputAppleUnifiedLogs": ".createinput_logged_in_users", - "CreateInputInputAppleUnifiedLogsTypedDict": ".createinput_logged_in_users", - "CreateInputInputAppscope": ".createinput_logged_in_users", - "CreateInputInputAppscopeTypedDict": ".createinput_logged_in_users", - "CreateInputInputCloudflareHec": ".createinput_logged_in_users", - "CreateInputInputCloudflareHecTypedDict": ".createinput_logged_in_users", - "CreateInputInputCriblmetrics": ".createinput_logged_in_users", - "CreateInputInputCriblmetricsTypedDict": ".createinput_logged_in_users", - "CreateInputInputCrowdstrike": ".createinput_logged_in_users", - "CreateInputInputCrowdstrikeTypedDict": ".createinput_logged_in_users", - "CreateInputInputDatadogAgent": ".createinput_logged_in_users", - "CreateInputInputDatadogAgentTypedDict": ".createinput_logged_in_users", - "CreateInputInputDatagen": ".createinput_logged_in_users", - "CreateInputInputDatagenTypedDict": ".createinput_logged_in_users", - "CreateInputInputFile": ".createinput_logged_in_users", - "CreateInputInputFileMode": ".createinput_logged_in_users", - "CreateInputInputFileType": ".createinput_logged_in_users", - "CreateInputInputFileTypedDict": ".createinput_logged_in_users", - "CreateInputInputHTTPRaw": ".createinput_logged_in_users", - "CreateInputInputHTTPRawTypedDict": ".createinput_logged_in_users", - "CreateInputInputJournalFiles": ".createinput_logged_in_users", - "CreateInputInputJournalFilesRule": ".createinput_logged_in_users", - "CreateInputInputJournalFilesRuleTypedDict": ".createinput_logged_in_users", - "CreateInputInputJournalFilesType": ".createinput_logged_in_users", - "CreateInputInputJournalFilesTypedDict": ".createinput_logged_in_users", - "CreateInputInputKinesis": ".createinput_logged_in_users", - "CreateInputInputKinesisTypedDict": ".createinput_logged_in_users", - "CreateInputInputKubeEvents": ".createinput_logged_in_users", - "CreateInputInputKubeEventsTypedDict": ".createinput_logged_in_users", - "CreateInputInputKubeLogs": ".createinput_logged_in_users", - "CreateInputInputKubeLogsTypedDict": ".createinput_logged_in_users", - "CreateInputInputKubeMetrics": ".createinput_logged_in_users", - "CreateInputInputKubeMetricsTypedDict": ".createinput_logged_in_users", - "CreateInputInputMetrics": ".createinput_logged_in_users", - "CreateInputInputMetricsTypedDict": ".createinput_logged_in_users", - "CreateInputInputModelDrivenTelemetry": ".createinput_logged_in_users", - "CreateInputInputModelDrivenTelemetryTypedDict": ".createinput_logged_in_users", - "CreateInputInputNetflow": ".createinput_logged_in_users", - "CreateInputInputNetflowTypedDict": ".createinput_logged_in_users", - "CreateInputInputOkta": ".createinput_logged_in_users", - "CreateInputInputOktaTypedDict": ".createinput_logged_in_users", - "CreateInputInputOpenTelemetry": ".createinput_logged_in_users", - "CreateInputInputOpenTelemetryTypedDict": ".createinput_logged_in_users", - "CreateInputInputOpenai": ".createinput_logged_in_users", - "CreateInputInputOpenaiComplianceLogs": ".createinput_logged_in_users", - "CreateInputInputOpenaiComplianceLogsTypedDict": ".createinput_logged_in_users", - "CreateInputInputOpenaiTypedDict": ".createinput_logged_in_users", - "CreateInputInputRawUDP": ".createinput_logged_in_users", - "CreateInputInputRawUDPTypedDict": ".createinput_logged_in_users", - "CreateInputInputS3": ".createinput_logged_in_users", - "CreateInputInputS3Inventory": ".createinput_logged_in_users", - "CreateInputInputS3InventoryTypedDict": ".createinput_logged_in_users", - "CreateInputInputS3TypedDict": ".createinput_logged_in_users", - "CreateInputInputSecurityLake": ".createinput_logged_in_users", - "CreateInputInputSecurityLakeTypedDict": ".createinput_logged_in_users", - "CreateInputInputServicenowTable": ".createinput_logged_in_users", - "CreateInputInputServicenowTableTypedDict": ".createinput_logged_in_users", - "CreateInputInputSnmp": ".createinput_logged_in_users", - "CreateInputInputSnmpTypedDict": ".createinput_logged_in_users", - "CreateInputInputSqs": ".createinput_logged_in_users", - "CreateInputInputSqsTypedDict": ".createinput_logged_in_users", - "CreateInputInputSyslogSyslog1": ".createinput_logged_in_users", - "CreateInputInputSyslogSyslog1TypedDict": ".createinput_logged_in_users", - "CreateInputInputSyslogSyslog2": ".createinput_logged_in_users", - "CreateInputInputSyslogSyslog2TypedDict": ".createinput_logged_in_users", - "CreateInputInputSyslogType1": ".createinput_logged_in_users", - "CreateInputInputSyslogType2": ".createinput_logged_in_users", - "CreateInputInputSyslogUnion": ".createinput_logged_in_users", - "CreateInputInputSyslogUnionTypedDict": ".createinput_logged_in_users", - "CreateInputInputTCP": ".createinput_logged_in_users", - "CreateInputInputTCPTypedDict": ".createinput_logged_in_users", - "CreateInputInputWef": ".createinput_logged_in_users", - "CreateInputInputWefTypedDict": ".createinput_logged_in_users", - "CreateInputInputWinEventLogs": ".createinput_logged_in_users", - "CreateInputInputWinEventLogsTypedDict": ".createinput_logged_in_users", - "CreateInputInputWindowsMetrics": ".createinput_logged_in_users", - "CreateInputInputWindowsMetricsTypedDict": ".createinput_logged_in_users", - "CreateInputInputWiz": ".createinput_logged_in_users", - "CreateInputInputWizTypedDict": ".createinput_logged_in_users", - "CreateInputInputWizWebhook": ".createinput_logged_in_users", - "CreateInputInputWizWebhookTypedDict": ".createinput_logged_in_users", - "CreateInputInputZscalerHec": ".createinput_logged_in_users", - "CreateInputInputZscalerHecTypedDict": ".createinput_logged_in_users", - "CreateInputInterfaces": ".createinput_logged_in_users", - "CreateInputInterfacesTypedDict": ".createinput_logged_in_users", - "CreateInputListeningPorts": ".createinput_logged_in_users", - "CreateInputListeningPortsTypedDict": ".createinput_logged_in_users", - "CreateInputLogLevelOpenai": ".createinput_logged_in_users", - "CreateInputLoggedInUsers": ".createinput_logged_in_users", - "CreateInputLoggedInUsersTypedDict": ".createinput_logged_in_users", - "CreateInputMTLSSettings": ".createinput_logged_in_users", - "CreateInputMTLSSettingsTypedDict": ".createinput_logged_in_users", - "CreateInputManageStateAnthropicCompliance": ".createinput_logged_in_users", - "CreateInputManageStateAnthropicComplianceTypedDict": ".createinput_logged_in_users", - "CreateInputManageStateOpenai": ".createinput_logged_in_users", - "CreateInputManageStateOpenaiComplianceLogs": ".createinput_logged_in_users", - "CreateInputManageStateOpenaiComplianceLogsTypedDict": ".createinput_logged_in_users", - "CreateInputManageStateOpenaiTypedDict": ".createinput_logged_in_users", - "CreateInputManageStateServicenowTable": ".createinput_logged_in_users", - "CreateInputManageStateServicenowTableTypedDict": ".createinput_logged_in_users", - "CreateInputManageStateWiz": ".createinput_logged_in_users", - "CreateInputManageStateWizTypedDict": ".createinput_logged_in_users", - "CreateInputMemoryModeWindowsMetrics": ".createinput_logged_in_users", - "CreateInputMemoryWindowsMetrics": ".createinput_logged_in_users", - "CreateInputMemoryWindowsMetricsTypedDict": ".createinput_logged_in_users", - "CreateInputNetworkModeWindowsMetrics": ".createinput_logged_in_users", - "CreateInputNetworkWindowsMetrics": ".createinput_logged_in_users", - "CreateInputNetworkWindowsMetricsTypedDict": ".createinput_logged_in_users", - "CreateInputOTLPVersion": ".createinput_logged_in_users", - "CreateInputPaginationType": ".createinput_logged_in_users", - "CreateInputPersistenceAppscope": ".createinput_logged_in_users", - "CreateInputPersistenceAppscopeTypedDict": ".createinput_logged_in_users", - "CreateInputPersistenceKubeMetrics": ".createinput_logged_in_users", - "CreateInputPersistenceKubeMetricsTypedDict": ".createinput_logged_in_users", - "CreateInputPersistenceWindowsMetrics": ".createinput_logged_in_users", - "CreateInputPersistenceWindowsMetricsTypedDict": ".createinput_logged_in_users", - "CreateInputProtocol": ".createinput_logged_in_users", - "CreateInputProxyModeDatadogAgent": ".createinput_logged_in_users", - "CreateInputProxyModeDatadogAgentTypedDict": ".createinput_logged_in_users", - "CreateInputQuery": ".createinput_logged_in_users", - "CreateInputQueryBuilderMode": ".createinput_logged_in_users", - "CreateInputQueryTypedDict": ".createinput_logged_in_users", - "CreateInputQueueType": ".createinput_logged_in_users", - "CreateInputReadModeAppleUnifiedLogs": ".createinput_logged_in_users", - "CreateInputReadModeWinEventLogs": ".createinput_logged_in_users", - "CreateInputRecordDataFormat": ".createinput_logged_in_users", - "CreateInputRoutes": ".createinput_logged_in_users", - "CreateInputRoutesTypedDict": ".createinput_logged_in_users", - "CreateInputRuleKubeLogs": ".createinput_logged_in_users", - "CreateInputRuleKubeLogsTypedDict": ".createinput_logged_in_users", - "CreateInputSNMPv3Authentication": ".createinput_logged_in_users", - "CreateInputSNMPv3AuthenticationTypedDict": ".createinput_logged_in_users", - "CreateInputSample": ".createinput_logged_in_users", - "CreateInputSampleTypedDict": ".createinput_logged_in_users", - "CreateInputServices": ".createinput_logged_in_users", - "CreateInputServicesTypedDict": ".createinput_logged_in_users", - "CreateInputShardIteratorStart": ".createinput_logged_in_users", - "CreateInputShardLoadBalancing": ".createinput_logged_in_users", - "CreateInputSortDirection": ".createinput_logged_in_users", - "CreateInputSubscription": ".createinput_logged_in_users", - "CreateInputSubscriptionTypedDict": ".createinput_logged_in_users", - "CreateInputSystemModeWindowsMetrics": ".createinput_logged_in_users", - "CreateInputSystemWindowsMetrics": ".createinput_logged_in_users", - "CreateInputSystemWindowsMetricsTypedDict": ".createinput_logged_in_users", - "CreateInputTLSSettingsServerSide": ".createinput_logged_in_users", - "CreateInputTLSSettingsServerSideTypedDict": ".createinput_logged_in_users", - "CreateInputTypeAnthropicCompliance": ".createinput_logged_in_users", - "CreateInputTypeAppleUnifiedLogs": ".createinput_logged_in_users", - "CreateInputTypeAppscope": ".createinput_logged_in_users", - "CreateInputTypeCloudflareHec": ".createinput_logged_in_users", - "CreateInputTypeCriblmetrics": ".createinput_logged_in_users", - "CreateInputTypeCrowdstrike": ".createinput_logged_in_users", - "CreateInputTypeDatadogAgent": ".createinput_logged_in_users", - "CreateInputTypeDatagen": ".createinput_logged_in_users", - "CreateInputTypeHTTPRaw": ".createinput_logged_in_users", - "CreateInputTypeKinesis": ".createinput_logged_in_users", - "CreateInputTypeKubeEvents": ".createinput_logged_in_users", - "CreateInputTypeKubeLogs": ".createinput_logged_in_users", - "CreateInputTypeKubeMetrics": ".createinput_logged_in_users", - "CreateInputTypeMetrics": ".createinput_logged_in_users", - "CreateInputTypeModelDrivenTelemetry": ".createinput_logged_in_users", - "CreateInputTypeNetflow": ".createinput_logged_in_users", - "CreateInputTypeOkta": ".createinput_logged_in_users", - "CreateInputTypeOpenTelemetry": ".createinput_logged_in_users", - "CreateInputTypeOpenai": ".createinput_logged_in_users", - "CreateInputTypeOpenaiComplianceLogs": ".createinput_logged_in_users", - "CreateInputTypeRawUDP": ".createinput_logged_in_users", - "CreateInputTypeS3": ".createinput_logged_in_users", - "CreateInputTypeS3Inventory": ".createinput_logged_in_users", - "CreateInputTypeSecurityLake": ".createinput_logged_in_users", - "CreateInputTypeServicenowTable": ".createinput_logged_in_users", - "CreateInputTypeSnmp": ".createinput_logged_in_users", - "CreateInputTypeSqs": ".createinput_logged_in_users", - "CreateInputTypeSystemState": ".createinput_logged_in_users", - "CreateInputTypeTCP": ".createinput_logged_in_users", - "CreateInputTypeWef": ".createinput_logged_in_users", - "CreateInputTypeWinEventLogs": ".createinput_logged_in_users", - "CreateInputTypeWindowsMetrics": ".createinput_logged_in_users", - "CreateInputTypeWiz": ".createinput_logged_in_users", - "CreateInputTypeWizWebhook": ".createinput_logged_in_users", - "CreateInputTypeZscalerHec": ".createinput_logged_in_users", - "CreateInputUNIXSocketPermissions": ".createinput_logged_in_users", - "CreateInputUNIXSocketPermissionsTypedDict": ".createinput_logged_in_users", - "CreateInputUsersAndGroups": ".createinput_logged_in_users", - "CreateInputUsersAndGroupsTypedDict": ".createinput_logged_in_users", - "CreateInputV3User": ".createinput_logged_in_users", - "CreateInputV3UserTypedDict": ".createinput_logged_in_users", "CreateInputAPIVersion": ".createinput_request", "CreateInputAuth": ".createinput_request", "CreateInputAuthTokenSplunk": ".createinput_request", @@ -14872,6 +15255,8 @@ "CreateInputCPUModeSystemMetrics": ".createinput_request", "CreateInputCPUSystemMetrics": ".createinput_request", "CreateInputCPUSystemMetricsTypedDict": ".createinput_request", + "CreateInputCertificate": ".createinput_request", + "CreateInputCertificateTypedDict": ".createinput_request", "CreateInputCheckpointing": ".createinput_request", "CreateInputCheckpointingTypedDict": ".createinput_request", "CreateInputCollectors": ".createinput_request", @@ -14899,6 +15284,8 @@ "CreateInputEndpointParamTypedDict": ".createinput_request", "CreateInputFilterSystemMetrics": ".createinput_request", "CreateInputFilterSystemMetricsTypedDict": ".createinput_request", + "CreateInputFirewall": ".createinput_request", + "CreateInputFirewallTypedDict": ".createinput_request", "CreateInputHostSystemMetrics": ".createinput_request", "CreateInputHostSystemMetricsTypedDict": ".createinput_request", "CreateInputInputAzureBlob": ".createinput_request", @@ -14970,7 +15357,11 @@ "CreateInputInputSystemStateTypedDict": ".createinput_request", "CreateInputInputTcpjson": ".createinput_request", "CreateInputInputTcpjsonTypedDict": ".createinput_request", + "CreateInputListeningPorts": ".createinput_request", + "CreateInputListeningPortsTypedDict": ".createinput_request", "CreateInputLogLevelSplunkSearch": ".createinput_request", + "CreateInputLoggedInUsers": ".createinput_request", + "CreateInputLoggedInUsersTypedDict": ".createinput_request", "CreateInputLokiAuth1": ".createinput_request", "CreateInputLokiAuth1TypedDict": ".createinput_request", "CreateInputLokiAuth2": ".createinput_request", @@ -14998,6 +15389,8 @@ "CreateInputRequest": ".createinput_request", "CreateInputRequestTypedDict": ".createinput_request", "CreateInputScheduleType": ".createinput_request", + "CreateInputServices": ".createinput_request", + "CreateInputServicesTypedDict": ".createinput_request", "CreateInputSplunkHecMetadata": ".createinput_request", "CreateInputSplunkHecMetadataTypedDict": ".createinput_request", "CreateInputSubscriptionPlan": ".createinput_request", @@ -15034,242 +15427,240 @@ "CreateInputTypeSplunkSearch": ".createinput_request", "CreateInputTypeSystemMetrics": ".createinput_request", "CreateInputTypeTcpjson": ".createinput_request", + "CreateInputAccountType": ".createinput_users_and_groups", + "CreateInputAllow": ".createinput_users_and_groups", + "CreateInputAllowTypedDict": ".createinput_users_and_groups", + "CreateInputAuthMethodsExt": ".createinput_users_and_groups", + "CreateInputAuthMethodsExtAuthenticationType": ".createinput_users_and_groups", + "CreateInputAuthMethodsExtTypedDict": ".createinput_users_and_groups", + "CreateInputAuthTokenZscalerHec": ".createinput_users_and_groups", + "CreateInputAuthTokenZscalerHecTypedDict": ".createinput_users_and_groups", + "CreateInputAuthenticationMethodWef": ".createinput_users_and_groups", + "CreateInputAuthenticationTypeOpenTelemetry": ".createinput_users_and_groups", + "CreateInputAuthenticationTypeServicenowTable": ".createinput_users_and_groups", + "CreateInputCPUModeWindowsMetrics": ".createinput_users_and_groups", + "CreateInputCPUWindowsMetrics": ".createinput_users_and_groups", + "CreateInputCPUWindowsMetricsTypedDict": ".createinput_users_and_groups", + "CreateInputContentConfigAnthropicCompliance": ".createinput_users_and_groups", + "CreateInputContentConfigAnthropicComplianceTypedDict": ".createinput_users_and_groups", + "CreateInputContentConfigInput": ".createinput_users_and_groups", + "CreateInputContentConfigInputTypedDict": ".createinput_users_and_groups", + "CreateInputContentConfigWiz": ".createinput_users_and_groups", + "CreateInputContentConfigWizTypedDict": ".createinput_users_and_groups", + "CreateInputCustomWindowsMetrics": ".createinput_users_and_groups", + "CreateInputCustomWindowsMetricsTypedDict": ".createinput_users_and_groups", + "CreateInputDNS": ".createinput_users_and_groups", + "CreateInputDNSTypedDict": ".createinput_users_and_groups", + "CreateInputDiskModeWindowsMetrics": ".createinput_users_and_groups", + "CreateInputDiskWindowsMetrics": ".createinput_users_and_groups", + "CreateInputDiskWindowsMetricsTypedDict": ".createinput_users_and_groups", + "CreateInputDisksAndFileSystems": ".createinput_users_and_groups", + "CreateInputDisksAndFileSystemsTypedDict": ".createinput_users_and_groups", + "CreateInputEndpointName": ".createinput_users_and_groups", + "CreateInputEventFormat": ".createinput_users_and_groups", + "CreateInputFilterAppscope": ".createinput_users_and_groups", + "CreateInputFilterAppscopeTypedDict": ".createinput_users_and_groups", + "CreateInputFormat": ".createinput_users_and_groups", + "CreateInputGrantType": ".createinput_users_and_groups", + "CreateInputHostInfo": ".createinput_users_and_groups", + "CreateInputHostInfoTypedDict": ".createinput_users_and_groups", + "CreateInputHostWindowsMetrics": ".createinput_users_and_groups", + "CreateInputHostWindowsMetricsTypedDict": ".createinput_users_and_groups", + "CreateInputHostsFile": ".createinput_users_and_groups", + "CreateInputHostsFileTypedDict": ".createinput_users_and_groups", + "CreateInputInputAnthropicCompliance": ".createinput_users_and_groups", + "CreateInputInputAnthropicComplianceTypedDict": ".createinput_users_and_groups", + "CreateInputInputAppleUnifiedLogs": ".createinput_users_and_groups", + "CreateInputInputAppleUnifiedLogsTypedDict": ".createinput_users_and_groups", + "CreateInputInputAppscope": ".createinput_users_and_groups", + "CreateInputInputAppscopeTypedDict": ".createinput_users_and_groups", + "CreateInputInputCloudflareHec": ".createinput_users_and_groups", + "CreateInputInputCloudflareHecTypedDict": ".createinput_users_and_groups", + "CreateInputInputCriblmetrics": ".createinput_users_and_groups", + "CreateInputInputCriblmetricsTypedDict": ".createinput_users_and_groups", + "CreateInputInputCrowdstrike": ".createinput_users_and_groups", + "CreateInputInputCrowdstrikeTypedDict": ".createinput_users_and_groups", + "CreateInputInputDatadogAgent": ".createinput_users_and_groups", + "CreateInputInputDatadogAgentTypedDict": ".createinput_users_and_groups", + "CreateInputInputDatagen": ".createinput_users_and_groups", + "CreateInputInputDatagenTypedDict": ".createinput_users_and_groups", + "CreateInputInputFile": ".createinput_users_and_groups", + "CreateInputInputFileMode": ".createinput_users_and_groups", + "CreateInputInputFileType": ".createinput_users_and_groups", + "CreateInputInputFileTypedDict": ".createinput_users_and_groups", + "CreateInputInputHTTPRaw": ".createinput_users_and_groups", + "CreateInputInputHTTPRawTypedDict": ".createinput_users_and_groups", + "CreateInputInputJournalFiles": ".createinput_users_and_groups", + "CreateInputInputJournalFilesRule": ".createinput_users_and_groups", + "CreateInputInputJournalFilesRuleTypedDict": ".createinput_users_and_groups", + "CreateInputInputJournalFilesType": ".createinput_users_and_groups", + "CreateInputInputJournalFilesTypedDict": ".createinput_users_and_groups", + "CreateInputInputKinesis": ".createinput_users_and_groups", + "CreateInputInputKinesisTypedDict": ".createinput_users_and_groups", + "CreateInputInputKubeEvents": ".createinput_users_and_groups", + "CreateInputInputKubeEventsTypedDict": ".createinput_users_and_groups", + "CreateInputInputKubeLogs": ".createinput_users_and_groups", + "CreateInputInputKubeLogsTypedDict": ".createinput_users_and_groups", + "CreateInputInputKubeMetrics": ".createinput_users_and_groups", + "CreateInputInputKubeMetricsTypedDict": ".createinput_users_and_groups", + "CreateInputInputMetrics": ".createinput_users_and_groups", + "CreateInputInputMetricsTypedDict": ".createinput_users_and_groups", + "CreateInputInputModelDrivenTelemetry": ".createinput_users_and_groups", + "CreateInputInputModelDrivenTelemetryTypedDict": ".createinput_users_and_groups", + "CreateInputInputNetflow": ".createinput_users_and_groups", + "CreateInputInputNetflowTypedDict": ".createinput_users_and_groups", + "CreateInputInputOkta": ".createinput_users_and_groups", + "CreateInputInputOktaTypedDict": ".createinput_users_and_groups", + "CreateInputInputOpenTelemetry": ".createinput_users_and_groups", + "CreateInputInputOpenTelemetryTypedDict": ".createinput_users_and_groups", + "CreateInputInputOpenai": ".createinput_users_and_groups", + "CreateInputInputOpenaiComplianceLogs": ".createinput_users_and_groups", + "CreateInputInputOpenaiComplianceLogsTypedDict": ".createinput_users_and_groups", + "CreateInputInputOpenaiTypedDict": ".createinput_users_and_groups", + "CreateInputInputRawUDP": ".createinput_users_and_groups", + "CreateInputInputRawUDPTypedDict": ".createinput_users_and_groups", + "CreateInputInputS3": ".createinput_users_and_groups", + "CreateInputInputS3Inventory": ".createinput_users_and_groups", + "CreateInputInputS3InventoryTypedDict": ".createinput_users_and_groups", + "CreateInputInputS3TypedDict": ".createinput_users_and_groups", + "CreateInputInputSecurityLake": ".createinput_users_and_groups", + "CreateInputInputSecurityLakeTypedDict": ".createinput_users_and_groups", + "CreateInputInputServicenowTable": ".createinput_users_and_groups", + "CreateInputInputServicenowTableTypedDict": ".createinput_users_and_groups", + "CreateInputInputSnmp": ".createinput_users_and_groups", + "CreateInputInputSnmpTypedDict": ".createinput_users_and_groups", + "CreateInputInputSqs": ".createinput_users_and_groups", + "CreateInputInputSqsTypedDict": ".createinput_users_and_groups", + "CreateInputInputSysdigHec": ".createinput_users_and_groups", + "CreateInputInputSysdigHecTypedDict": ".createinput_users_and_groups", + "CreateInputInputSyslogSyslog1": ".createinput_users_and_groups", + "CreateInputInputSyslogSyslog1TypedDict": ".createinput_users_and_groups", + "CreateInputInputSyslogSyslog2": ".createinput_users_and_groups", + "CreateInputInputSyslogSyslog2TypedDict": ".createinput_users_and_groups", + "CreateInputInputSyslogType1": ".createinput_users_and_groups", + "CreateInputInputSyslogType2": ".createinput_users_and_groups", + "CreateInputInputSyslogUnion": ".createinput_users_and_groups", + "CreateInputInputSyslogUnionTypedDict": ".createinput_users_and_groups", + "CreateInputInputTCP": ".createinput_users_and_groups", + "CreateInputInputTCPTypedDict": ".createinput_users_and_groups", + "CreateInputInputUpwindHec": ".createinput_users_and_groups", + "CreateInputInputUpwindHecTypedDict": ".createinput_users_and_groups", + "CreateInputInputWef": ".createinput_users_and_groups", + "CreateInputInputWefTypedDict": ".createinput_users_and_groups", + "CreateInputInputWinEventLogs": ".createinput_users_and_groups", + "CreateInputInputWinEventLogsTypedDict": ".createinput_users_and_groups", + "CreateInputInputWindowsMetrics": ".createinput_users_and_groups", + "CreateInputInputWindowsMetricsTypedDict": ".createinput_users_and_groups", + "CreateInputInputWiz": ".createinput_users_and_groups", + "CreateInputInputWizTypedDict": ".createinput_users_and_groups", + "CreateInputInputWizWebhook": ".createinput_users_and_groups", + "CreateInputInputWizWebhookTypedDict": ".createinput_users_and_groups", + "CreateInputInputZscalerHec": ".createinput_users_and_groups", + "CreateInputInputZscalerHecTypedDict": ".createinput_users_and_groups", + "CreateInputInterfaces": ".createinput_users_and_groups", + "CreateInputInterfacesTypedDict": ".createinput_users_and_groups", + "CreateInputLogLevelOpenai": ".createinput_users_and_groups", + "CreateInputMTLSSettings": ".createinput_users_and_groups", + "CreateInputMTLSSettingsTypedDict": ".createinput_users_and_groups", + "CreateInputManageStateAnthropicCompliance": ".createinput_users_and_groups", + "CreateInputManageStateAnthropicComplianceTypedDict": ".createinput_users_and_groups", + "CreateInputManageStateOpenai": ".createinput_users_and_groups", + "CreateInputManageStateOpenaiComplianceLogs": ".createinput_users_and_groups", + "CreateInputManageStateOpenaiComplianceLogsTypedDict": ".createinput_users_and_groups", + "CreateInputManageStateOpenaiTypedDict": ".createinput_users_and_groups", + "CreateInputManageStateServicenowTable": ".createinput_users_and_groups", + "CreateInputManageStateServicenowTableTypedDict": ".createinput_users_and_groups", + "CreateInputManageStateWiz": ".createinput_users_and_groups", + "CreateInputManageStateWizTypedDict": ".createinput_users_and_groups", + "CreateInputMemoryModeWindowsMetrics": ".createinput_users_and_groups", + "CreateInputMemoryWindowsMetrics": ".createinput_users_and_groups", + "CreateInputMemoryWindowsMetricsTypedDict": ".createinput_users_and_groups", + "CreateInputNetworkModeWindowsMetrics": ".createinput_users_and_groups", + "CreateInputNetworkWindowsMetrics": ".createinput_users_and_groups", + "CreateInputNetworkWindowsMetricsTypedDict": ".createinput_users_and_groups", + "CreateInputOTLPVersion": ".createinput_users_and_groups", + "CreateInputPaginationType": ".createinput_users_and_groups", + "CreateInputPersistenceAppscope": ".createinput_users_and_groups", + "CreateInputPersistenceAppscopeTypedDict": ".createinput_users_and_groups", + "CreateInputPersistenceKubeMetrics": ".createinput_users_and_groups", + "CreateInputPersistenceKubeMetricsTypedDict": ".createinput_users_and_groups", + "CreateInputPersistenceWindowsMetrics": ".createinput_users_and_groups", + "CreateInputPersistenceWindowsMetricsTypedDict": ".createinput_users_and_groups", + "CreateInputProtocol": ".createinput_users_and_groups", + "CreateInputProxyModeDatadogAgent": ".createinput_users_and_groups", + "CreateInputProxyModeDatadogAgentTypedDict": ".createinput_users_and_groups", + "CreateInputQuery": ".createinput_users_and_groups", + "CreateInputQueryBuilderMode": ".createinput_users_and_groups", + "CreateInputQueryTypedDict": ".createinput_users_and_groups", + "CreateInputQueueType": ".createinput_users_and_groups", + "CreateInputReadModeAppleUnifiedLogs": ".createinput_users_and_groups", + "CreateInputReadModeWinEventLogs": ".createinput_users_and_groups", + "CreateInputRecordDataFormat": ".createinput_users_and_groups", + "CreateInputRoutes": ".createinput_users_and_groups", + "CreateInputRoutesTypedDict": ".createinput_users_and_groups", + "CreateInputRuleKubeLogs": ".createinput_users_and_groups", + "CreateInputRuleKubeLogsTypedDict": ".createinput_users_and_groups", + "CreateInputSNMPv3Authentication": ".createinput_users_and_groups", + "CreateInputSNMPv3AuthenticationTypedDict": ".createinput_users_and_groups", + "CreateInputSample": ".createinput_users_and_groups", + "CreateInputSampleTypedDict": ".createinput_users_and_groups", + "CreateInputSamplingRule": ".createinput_users_and_groups", + "CreateInputSamplingRuleTypedDict": ".createinput_users_and_groups", + "CreateInputShardIteratorStart": ".createinput_users_and_groups", + "CreateInputShardLoadBalancing": ".createinput_users_and_groups", + "CreateInputSortDirection": ".createinput_users_and_groups", + "CreateInputSubscription": ".createinput_users_and_groups", + "CreateInputSubscriptionTypedDict": ".createinput_users_and_groups", + "CreateInputSystemModeWindowsMetrics": ".createinput_users_and_groups", + "CreateInputSystemWindowsMetrics": ".createinput_users_and_groups", + "CreateInputSystemWindowsMetricsTypedDict": ".createinput_users_and_groups", + "CreateInputTLSSettingsServerSide": ".createinput_users_and_groups", + "CreateInputTLSSettingsServerSideTypedDict": ".createinput_users_and_groups", + "CreateInputTypeAnthropicCompliance": ".createinput_users_and_groups", + "CreateInputTypeAppleUnifiedLogs": ".createinput_users_and_groups", + "CreateInputTypeAppscope": ".createinput_users_and_groups", + "CreateInputTypeCloudflareHec": ".createinput_users_and_groups", + "CreateInputTypeCriblmetrics": ".createinput_users_and_groups", + "CreateInputTypeCrowdstrike": ".createinput_users_and_groups", + "CreateInputTypeDatadogAgent": ".createinput_users_and_groups", + "CreateInputTypeDatagen": ".createinput_users_and_groups", + "CreateInputTypeHTTPRaw": ".createinput_users_and_groups", + "CreateInputTypeKinesis": ".createinput_users_and_groups", + "CreateInputTypeKubeEvents": ".createinput_users_and_groups", + "CreateInputTypeKubeLogs": ".createinput_users_and_groups", + "CreateInputTypeKubeMetrics": ".createinput_users_and_groups", + "CreateInputTypeMetrics": ".createinput_users_and_groups", + "CreateInputTypeModelDrivenTelemetry": ".createinput_users_and_groups", + "CreateInputTypeNetflow": ".createinput_users_and_groups", + "CreateInputTypeOkta": ".createinput_users_and_groups", + "CreateInputTypeOpenTelemetry": ".createinput_users_and_groups", + "CreateInputTypeOpenai": ".createinput_users_and_groups", + "CreateInputTypeOpenaiComplianceLogs": ".createinput_users_and_groups", + "CreateInputTypeRawUDP": ".createinput_users_and_groups", + "CreateInputTypeS3": ".createinput_users_and_groups", + "CreateInputTypeS3Inventory": ".createinput_users_and_groups", + "CreateInputTypeSecurityLake": ".createinput_users_and_groups", + "CreateInputTypeServicenowTable": ".createinput_users_and_groups", + "CreateInputTypeSnmp": ".createinput_users_and_groups", + "CreateInputTypeSqs": ".createinput_users_and_groups", + "CreateInputTypeSysdigHec": ".createinput_users_and_groups", + "CreateInputTypeSystemState": ".createinput_users_and_groups", + "CreateInputTypeTCP": ".createinput_users_and_groups", + "CreateInputTypeUpwindHec": ".createinput_users_and_groups", + "CreateInputTypeWef": ".createinput_users_and_groups", + "CreateInputTypeWinEventLogs": ".createinput_users_and_groups", + "CreateInputTypeWindowsMetrics": ".createinput_users_and_groups", + "CreateInputTypeWiz": ".createinput_users_and_groups", + "CreateInputTypeWizWebhook": ".createinput_users_and_groups", + "CreateInputTypeZscalerHec": ".createinput_users_and_groups", + "CreateInputUNIXSocketPermissions": ".createinput_users_and_groups", + "CreateInputUNIXSocketPermissionsTypedDict": ".createinput_users_and_groups", + "CreateInputUsersAndGroups": ".createinput_users_and_groups", + "CreateInputUsersAndGroupsTypedDict": ".createinput_users_and_groups", + "CreateInputV3User": ".createinput_users_and_groups", + "CreateInputV3UserTypedDict": ".createinput_users_and_groups", "CreateInputHecTokenByIDRequest": ".createinputhectokenbyidop", "CreateInputHecTokenByIDRequestTypedDict": ".createinputhectokenbyidop", - "CreateInputSystemByPackAccountType": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackAllow": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackAllowTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackAuthMethodsExt": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackAuthMethodsExtAuthenticationType": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackAuthMethodsExtTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackAuthTokenCloudflareHec": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackAuthTokenCloudflareHecTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackAuthTokenZscalerHec": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackAuthTokenZscalerHecTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackAuthenticationMethodCloudflareHec": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackAuthenticationMethodWef": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackAuthenticationTypeOpenTelemetry": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackAuthenticationTypeServicenowTable": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackCPUModeWindowsMetrics": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackCPUWindowsMetrics": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackCPUWindowsMetricsTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackContentConfigAnthropicCompliance": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackContentConfigAnthropicComplianceTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackContentConfigInput": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackContentConfigInputTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackContentConfigWiz": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackContentConfigWizTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackCustomWindowsMetrics": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackCustomWindowsMetricsTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackDNS": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackDNSTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackDiskModeWindowsMetrics": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackDiskWindowsMetrics": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackDiskWindowsMetricsTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackDisksAndFileSystems": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackDisksAndFileSystemsTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackEventFormat": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackFilterAppscope": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackFilterAppscopeTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackFirewall": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackFirewallTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackFormat": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackGrantType": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackHostInfo": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackHostInfoTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackHostWindowsMetrics": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackHostWindowsMetricsTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackHostsFile": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackHostsFileTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputAnthropicCompliance": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputAnthropicComplianceTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputAppleUnifiedLogs": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputAppleUnifiedLogsTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputAppscope": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputAppscopeTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputCloudflareHec": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputCloudflareHecTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputCriblmetrics": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputCriblmetricsTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputCrowdstrike": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputCrowdstrikeTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputDatadogAgent": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputDatadogAgentTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputDatagen": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputDatagenTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputFile": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputFileMode": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputFileType": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputFileTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputHTTPRaw": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputHTTPRawTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputJournalFiles": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputJournalFilesRule": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputJournalFilesRuleTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputJournalFilesType": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputJournalFilesTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputKinesis": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputKinesisTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputKubeEvents": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputKubeEventsTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputKubeLogs": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputKubeLogsTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputKubeMetrics": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputKubeMetricsTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputMetrics": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputMetricsTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputModelDrivenTelemetry": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputModelDrivenTelemetryTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputNetflow": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputNetflowTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputOkta": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputOktaTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputOpenTelemetry": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputOpenTelemetryTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputOpenai": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputOpenaiComplianceLogs": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputOpenaiComplianceLogsTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputOpenaiTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputRawUDP": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputRawUDPTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputS3": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputS3Inventory": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputS3InventoryTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputS3TypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputSecurityLake": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputSecurityLakeTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputServicenowTable": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputServicenowTableTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputSnmp": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputSnmpTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputSqs": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputSqsTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputSyslogSyslog1": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputSyslogSyslog1TypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputSyslogSyslog2": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputSyslogSyslog2TypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputSyslogType1": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputSyslogType2": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputSyslogUnion": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputSyslogUnionTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputTCP": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputTCPTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputWef": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputWefTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputWinEventLogs": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputWinEventLogsTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputWindowsMetrics": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputWindowsMetricsTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputWiz": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputWizTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputWizWebhook": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputWizWebhookTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputZscalerHec": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInputZscalerHecTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInterfaces": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackInterfacesTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackListeningPorts": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackListeningPortsTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackLogLevelOpenai": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackLoggedInUsers": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackLoggedInUsersTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackMTLSSettings": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackMTLSSettingsTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackManageStateAnthropicCompliance": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackManageStateAnthropicComplianceTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackManageStateOpenai": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackManageStateOpenaiComplianceLogs": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackManageStateOpenaiComplianceLogsTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackManageStateOpenaiTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackManageStateServicenowTable": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackManageStateServicenowTableTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackManageStateWiz": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackManageStateWizTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackMemoryModeWindowsMetrics": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackMemoryWindowsMetrics": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackMemoryWindowsMetricsTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackNetworkModeWindowsMetrics": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackNetworkWindowsMetrics": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackNetworkWindowsMetricsTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackOTLPVersion": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackPaginationType": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackPersistenceAppscope": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackPersistenceAppscopeTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackPersistenceKubeMetrics": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackPersistenceKubeMetricsTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackPersistenceWindowsMetrics": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackPersistenceWindowsMetricsTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackProtocol": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackProxyModeDatadogAgent": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackProxyModeDatadogAgentTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackQuery": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackQueryBuilderMode": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackQueryTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackQueueType": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackReadModeAppleUnifiedLogs": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackReadModeWinEventLogs": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackRecordDataFormat": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackRoutes": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackRoutesTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackRuleKubeLogs": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackRuleKubeLogsTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackSNMPv3Authentication": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackSNMPv3AuthenticationTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackSample": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackSampleTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackServices": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackServicesTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackShardIteratorStart": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackShardLoadBalancing": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackSortDirection": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackSubscription": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackSubscriptionTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackSystemModeWindowsMetrics": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackSystemWindowsMetrics": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackSystemWindowsMetricsTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackTLSSettingsServerSide": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackTLSSettingsServerSideTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackTypeAnthropicCompliance": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackTypeAppleUnifiedLogs": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackTypeAppscope": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackTypeCloudflareHec": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackTypeCriblmetrics": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackTypeCrowdstrike": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackTypeDatadogAgent": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackTypeDatagen": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackTypeHTTPRaw": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackTypeKinesis": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackTypeKubeEvents": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackTypeKubeLogs": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackTypeKubeMetrics": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackTypeMetrics": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackTypeModelDrivenTelemetry": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackTypeNetflow": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackTypeOkta": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackTypeOpenTelemetry": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackTypeOpenai": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackTypeOpenaiComplianceLogs": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackTypeRawUDP": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackTypeS3": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackTypeS3Inventory": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackTypeSecurityLake": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackTypeServicenowTable": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackTypeSnmp": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackTypeSqs": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackTypeSystemState": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackTypeTCP": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackTypeWef": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackTypeWinEventLogs": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackTypeWindowsMetrics": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackTypeWiz": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackTypeWizWebhook": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackTypeZscalerHec": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackUNIXSocketPermissions": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackUNIXSocketPermissionsTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackUsersAndGroups": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackUsersAndGroupsTypedDict": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackV3User": ".createinputsystembypack_logged_in_users", - "CreateInputSystemByPackV3UserTypedDict": ".createinputsystembypack_logged_in_users", "CreateInputSystemByPackAPIVersion": ".createinputsystembypack_request", "CreateInputSystemByPackAuth": ".createinputsystembypack_request", "CreateInputSystemByPackAuthTokenSplunk": ".createinputsystembypack_request", @@ -15292,6 +15683,8 @@ "CreateInputSystemByPackCPUModeSystemMetrics": ".createinputsystembypack_request", "CreateInputSystemByPackCPUSystemMetrics": ".createinputsystembypack_request", "CreateInputSystemByPackCPUSystemMetricsTypedDict": ".createinputsystembypack_request", + "CreateInputSystemByPackCertificate": ".createinputsystembypack_request", + "CreateInputSystemByPackCertificateTypedDict": ".createinputsystembypack_request", "CreateInputSystemByPackCheckpointing": ".createinputsystembypack_request", "CreateInputSystemByPackCheckpointingTypedDict": ".createinputsystembypack_request", "CreateInputSystemByPackCollectors": ".createinputsystembypack_request", @@ -15319,6 +15712,8 @@ "CreateInputSystemByPackEndpointParamTypedDict": ".createinputsystembypack_request", "CreateInputSystemByPackFilterSystemMetrics": ".createinputsystembypack_request", "CreateInputSystemByPackFilterSystemMetricsTypedDict": ".createinputsystembypack_request", + "CreateInputSystemByPackFirewall": ".createinputsystembypack_request", + "CreateInputSystemByPackFirewallTypedDict": ".createinputsystembypack_request", "CreateInputSystemByPackHostSystemMetrics": ".createinputsystembypack_request", "CreateInputSystemByPackHostSystemMetricsTypedDict": ".createinputsystembypack_request", "CreateInputSystemByPackInputAzureBlob": ".createinputsystembypack_request", @@ -15390,7 +15785,11 @@ "CreateInputSystemByPackInputSystemStateTypedDict": ".createinputsystembypack_request", "CreateInputSystemByPackInputTcpjson": ".createinputsystembypack_request", "CreateInputSystemByPackInputTcpjsonTypedDict": ".createinputsystembypack_request", + "CreateInputSystemByPackListeningPorts": ".createinputsystembypack_request", + "CreateInputSystemByPackListeningPortsTypedDict": ".createinputsystembypack_request", "CreateInputSystemByPackLogLevelSplunkSearch": ".createinputsystembypack_request", + "CreateInputSystemByPackLoggedInUsers": ".createinputsystembypack_request", + "CreateInputSystemByPackLoggedInUsersTypedDict": ".createinputsystembypack_request", "CreateInputSystemByPackLokiAuth1": ".createinputsystembypack_request", "CreateInputSystemByPackLokiAuth1TypedDict": ".createinputsystembypack_request", "CreateInputSystemByPackLokiAuth2": ".createinputsystembypack_request", @@ -15420,6 +15819,8 @@ "CreateInputSystemByPackRequestBodyTypedDict": ".createinputsystembypack_request", "CreateInputSystemByPackRequestTypedDict": ".createinputsystembypack_request", "CreateInputSystemByPackScheduleType": ".createinputsystembypack_request", + "CreateInputSystemByPackServices": ".createinputsystembypack_request", + "CreateInputSystemByPackServicesTypedDict": ".createinputsystembypack_request", "CreateInputSystemByPackSplunkHecMetadata": ".createinputsystembypack_request", "CreateInputSystemByPackSplunkHecMetadataTypedDict": ".createinputsystembypack_request", "CreateInputSystemByPackSubscriptionPlan": ".createinputsystembypack_request", @@ -15456,119 +15857,708 @@ "CreateInputSystemByPackTypeSplunkSearch": ".createinputsystembypack_request", "CreateInputSystemByPackTypeSystemMetrics": ".createinputsystembypack_request", "CreateInputSystemByPackTypeTcpjson": ".createinputsystembypack_request", + "CreateInputSystemByPackAccountType": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackAllow": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackAllowTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackAuthMethodsExt": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackAuthMethodsExtAuthenticationType": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackAuthMethodsExtTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackAuthTokenZscalerHec": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackAuthTokenZscalerHecTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackAuthenticationMethodWef": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackAuthenticationTypeOpenTelemetry": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackAuthenticationTypeServicenowTable": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackCPUModeWindowsMetrics": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackCPUWindowsMetrics": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackCPUWindowsMetricsTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackContentConfigAnthropicCompliance": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackContentConfigAnthropicComplianceTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackContentConfigInput": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackContentConfigInputTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackContentConfigWiz": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackContentConfigWizTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackCustomWindowsMetrics": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackCustomWindowsMetricsTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackDNS": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackDNSTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackDiskModeWindowsMetrics": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackDiskWindowsMetrics": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackDiskWindowsMetricsTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackDisksAndFileSystems": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackDisksAndFileSystemsTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackEndpointName": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackEventFormat": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackFilterAppscope": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackFilterAppscopeTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackFormat": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackGrantType": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackHostInfo": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackHostInfoTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackHostWindowsMetrics": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackHostWindowsMetricsTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackHostsFile": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackHostsFileTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputAnthropicCompliance": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputAnthropicComplianceTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputAppleUnifiedLogs": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputAppleUnifiedLogsTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputAppscope": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputAppscopeTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputCloudflareHec": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputCloudflareHecTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputCriblmetrics": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputCriblmetricsTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputCrowdstrike": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputCrowdstrikeTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputDatadogAgent": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputDatadogAgentTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputDatagen": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputDatagenTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputFile": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputFileMode": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputFileType": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputFileTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputHTTPRaw": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputHTTPRawTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputJournalFiles": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputJournalFilesRule": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputJournalFilesRuleTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputJournalFilesType": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputJournalFilesTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputKinesis": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputKinesisTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputKubeEvents": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputKubeEventsTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputKubeLogs": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputKubeLogsTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputKubeMetrics": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputKubeMetricsTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputMetrics": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputMetricsTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputModelDrivenTelemetry": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputModelDrivenTelemetryTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputNetflow": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputNetflowTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputOkta": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputOktaTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputOpenTelemetry": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputOpenTelemetryTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputOpenai": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputOpenaiComplianceLogs": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputOpenaiComplianceLogsTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputOpenaiTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputRawUDP": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputRawUDPTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputS3": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputS3Inventory": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputS3InventoryTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputS3TypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputSecurityLake": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputSecurityLakeTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputServicenowTable": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputServicenowTableTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputSnmp": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputSnmpTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputSqs": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputSqsTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputSysdigHec": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputSysdigHecTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputSyslogSyslog1": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputSyslogSyslog1TypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputSyslogSyslog2": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputSyslogSyslog2TypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputSyslogType1": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputSyslogType2": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputSyslogUnion": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputSyslogUnionTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputTCP": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputTCPTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputUpwindHec": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputUpwindHecTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputWef": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputWefTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputWinEventLogs": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputWinEventLogsTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputWindowsMetrics": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputWindowsMetricsTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputWiz": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputWizTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputWizWebhook": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputWizWebhookTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputZscalerHec": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInputZscalerHecTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInterfaces": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackInterfacesTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackLogLevelOpenai": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackMTLSSettings": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackMTLSSettingsTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackManageStateAnthropicCompliance": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackManageStateAnthropicComplianceTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackManageStateOpenai": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackManageStateOpenaiComplianceLogs": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackManageStateOpenaiComplianceLogsTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackManageStateOpenaiTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackManageStateServicenowTable": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackManageStateServicenowTableTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackManageStateWiz": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackManageStateWizTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackMemoryModeWindowsMetrics": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackMemoryWindowsMetrics": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackMemoryWindowsMetricsTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackNetworkModeWindowsMetrics": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackNetworkWindowsMetrics": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackNetworkWindowsMetricsTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackOTLPVersion": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackPaginationType": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackPersistenceAppscope": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackPersistenceAppscopeTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackPersistenceKubeMetrics": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackPersistenceKubeMetricsTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackPersistenceWindowsMetrics": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackPersistenceWindowsMetricsTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackProtocol": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackProxyModeDatadogAgent": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackProxyModeDatadogAgentTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackQuery": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackQueryBuilderMode": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackQueryTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackQueueType": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackReadModeAppleUnifiedLogs": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackReadModeWinEventLogs": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackRecordDataFormat": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackRoutes": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackRoutesTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackRuleKubeLogs": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackRuleKubeLogsTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackSNMPv3Authentication": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackSNMPv3AuthenticationTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackSample": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackSampleTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackSamplingRule": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackSamplingRuleTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackShardIteratorStart": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackShardLoadBalancing": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackSortDirection": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackSubscription": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackSubscriptionTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackSystemModeWindowsMetrics": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackSystemWindowsMetrics": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackSystemWindowsMetricsTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackTLSSettingsServerSide": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackTLSSettingsServerSideTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackTypeAnthropicCompliance": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackTypeAppleUnifiedLogs": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackTypeAppscope": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackTypeCloudflareHec": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackTypeCriblmetrics": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackTypeCrowdstrike": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackTypeDatadogAgent": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackTypeDatagen": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackTypeHTTPRaw": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackTypeKinesis": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackTypeKubeEvents": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackTypeKubeLogs": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackTypeKubeMetrics": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackTypeMetrics": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackTypeModelDrivenTelemetry": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackTypeNetflow": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackTypeOkta": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackTypeOpenTelemetry": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackTypeOpenai": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackTypeOpenaiComplianceLogs": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackTypeRawUDP": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackTypeS3": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackTypeS3Inventory": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackTypeSecurityLake": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackTypeServicenowTable": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackTypeSnmp": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackTypeSqs": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackTypeSysdigHec": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackTypeSystemState": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackTypeTCP": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackTypeUpwindHec": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackTypeWef": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackTypeWinEventLogs": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackTypeWindowsMetrics": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackTypeWiz": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackTypeWizWebhook": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackTypeZscalerHec": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackUNIXSocketPermissions": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackUNIXSocketPermissionsTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackUsersAndGroups": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackUsersAndGroupsTypedDict": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackV3User": ".createinputsystembypack_users_and_groups", + "CreateInputSystemByPackV3UserTypedDict": ".createinputsystembypack_users_and_groups", "CreateInputSystemHecTokenByPackAndIDRequest": ".createinputsystemhectokenbypackandidop", "CreateInputSystemHecTokenByPackAndIDRequestTypedDict": ".createinputsystemhectokenbypackandidop", - "CreateOutputAPIVersion": ".createoutput_request", - "CreateOutputAdditionalProperty": ".createoutput_request", - "CreateOutputAdditionalPropertyTypedDict": ".createoutput_request", - "CreateOutputAuthToken": ".createoutput_request", - "CreateOutputAuthTokenTypedDict": ".createoutput_request", - "CreateOutputAuthType": ".createoutput_request", - "CreateOutputAuthenticationMethodAzureDataExplorer": ".createoutput_request", - "CreateOutputAuthenticationMethodAzureLogs": ".createoutput_request", - "CreateOutputAuthenticationMethodGoogleChronicle": ".createoutput_request", - "CreateOutputAuthenticationMethodGoogleCloudStorage": ".createoutput_request", - "CreateOutputAuthenticationTypeInfluxdb": ".createoutput_request", - "CreateOutputBlobAccessTier": ".createoutput_request", - "CreateOutputCertificate": ".createoutput_request", - "CreateOutputCertificateTypedDict": ".createoutput_request", - "CreateOutputCompression": ".createoutput_request", - "CreateOutputElasticVersion": ".createoutput_request", - "CreateOutputEndpointConfiguration": ".createoutput_request", - "CreateOutputExtentTag": ".createoutput_request", - "CreateOutputExtentTagTypedDict": ".createoutput_request", - "CreateOutputExtraLogType": ".createoutput_request", - "CreateOutputExtraLogTypeTypedDict": ".createoutput_request", - "CreateOutputFacility": ".createoutput_request", - "CreateOutputFieldName": ".createoutput_request", - "CreateOutputFormatSentinel": ".createoutput_request", - "CreateOutputIndexerDiscoveryConfigs": ".createoutput_request", - "CreateOutputIndexerDiscoveryConfigsTypedDict": ".createoutput_request", - "CreateOutputIngestIfNotExist": ".createoutput_request", - "CreateOutputIngestIfNotExistTypedDict": ".createoutput_request", - "CreateOutputIngestionMode": ".createoutput_request", - "CreateOutputLogLocationType": ".createoutput_request", - "CreateOutputMessageFormat": ".createoutput_request", - "CreateOutputMetadatum": ".createoutput_request", - "CreateOutputMetadatumTypedDict": ".createoutput_request", - "CreateOutputOutputAzureBlob": ".createoutput_request", - "CreateOutputOutputAzureBlobTypedDict": ".createoutput_request", - "CreateOutputOutputAzureDataExplorer": ".createoutput_request", - "CreateOutputOutputAzureDataExplorerTypedDict": ".createoutput_request", - "CreateOutputOutputAzureEventhub": ".createoutput_request", - "CreateOutputOutputAzureEventhubTypedDict": ".createoutput_request", - "CreateOutputOutputAzureLogs": ".createoutput_request", - "CreateOutputOutputAzureLogsTypedDict": ".createoutput_request", - "CreateOutputOutputCloudwatch": ".createoutput_request", - "CreateOutputOutputCloudwatchTypedDict": ".createoutput_request", - "CreateOutputOutputConfluentCloud": ".createoutput_request", - "CreateOutputOutputConfluentCloudTypedDict": ".createoutput_request", + "CreateOutputAPIVersion": ".createoutput_outputwebhook_format_2", + "CreateOutputAdditionalProperty": ".createoutput_outputwebhook_format_2", + "CreateOutputAdditionalPropertyTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputAuthToken": ".createoutput_outputwebhook_format_2", + "CreateOutputAuthTokenTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputAuthType": ".createoutput_outputwebhook_format_2", + "CreateOutputAuthenticationMethodAzureDataExplorer": ".createoutput_outputwebhook_format_2", + "CreateOutputAuthenticationMethodAzureLogs": ".createoutput_outputwebhook_format_2", + "CreateOutputAuthenticationMethodGoogleChronicle": ".createoutput_outputwebhook_format_2", + "CreateOutputAuthenticationMethodGoogleCloudStorage": ".createoutput_outputwebhook_format_2", + "CreateOutputAuthenticationTypeInfluxdb": ".createoutput_outputwebhook_format_2", + "CreateOutputBlobAccessTier": ".createoutput_outputwebhook_format_2", + "CreateOutputCertificate": ".createoutput_outputwebhook_format_2", + "CreateOutputCertificateTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputCompression": ".createoutput_outputwebhook_format_2", + "CreateOutputElasticVersion": ".createoutput_outputwebhook_format_2", + "CreateOutputEndpointConfiguration": ".createoutput_outputwebhook_format_2", + "CreateOutputEndpointGoogleCloudObservability": ".createoutput_outputwebhook_format_2", + "CreateOutputExtentTag": ".createoutput_outputwebhook_format_2", + "CreateOutputExtentTagTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputExtraLogType": ".createoutput_outputwebhook_format_2", + "CreateOutputExtraLogTypeTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputFacility": ".createoutput_outputwebhook_format_2", + "CreateOutputFieldName": ".createoutput_outputwebhook_format_2", + "CreateOutputFormatSentinel": ".createoutput_outputwebhook_format_2", + "CreateOutputGoogleAuthenticationMethodGoogleBigquery": ".createoutput_outputwebhook_format_2", + "CreateOutputGoogleAuthenticationMethodGoogleCloudObservability": ".createoutput_outputwebhook_format_2", + "CreateOutputIndexerDiscoveryConfigs": ".createoutput_outputwebhook_format_2", + "CreateOutputIndexerDiscoveryConfigsTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputIngestIfNotExist": ".createoutput_outputwebhook_format_2", + "CreateOutputIngestIfNotExistTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputIngestionMode": ".createoutput_outputwebhook_format_2", + "CreateOutputLogLocationType": ".createoutput_outputwebhook_format_2", + "CreateOutputMessageFormat": ".createoutput_outputwebhook_format_2", + "CreateOutputMetadatum": ".createoutput_outputwebhook_format_2", + "CreateOutputMetadatumTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputOtlpVersionGoogleCloudObservability": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputAzureBlob": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputAzureBlobTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputAzureDataExplorer": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputAzureDataExplorerTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputAzureEventhub": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputAzureEventhubTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputAzureLogs": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputAzureLogsTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputCloudwatch": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputCloudwatchTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputConfluentCloud": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputConfluentCloudTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputDevnull": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputDevnullTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputElastic": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputElasticCloud": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputElasticCloudTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputElasticTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputExabeam": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputExabeamTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputFilesystem": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputFilesystemTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputGoogleBigquery": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputGoogleBigqueryTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputGoogleChronicle": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputGoogleChronicleTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputGoogleCloudLogging": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputGoogleCloudLoggingTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputGoogleCloudObservability": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputGoogleCloudObservabilityTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputGoogleCloudStorage": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputGoogleCloudStorageTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputGooglePubsub": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputGooglePubsubTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputGraphite": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputGraphiteTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputHoneycomb": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputHoneycombTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputInfluxdb": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputInfluxdbTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputKafka": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputKafkaTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputKinesis": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputKinesisTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputMinio": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputMinioTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputMsk": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputMskTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputNewrelic": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputNewrelicEvents": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputNewrelicEventsTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputNewrelicTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputS3": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputS3TypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputSentinel": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputSentinelTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputSignalfx": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputSignalfxTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputSplunk": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputSplunkHec": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputSplunkHecTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputSplunkLb": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputSplunkLbTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputSplunkTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputStatsd": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputStatsdExt": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputStatsdExtTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputStatsdTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputSyslog": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputSyslogTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputTcpjson": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputTcpjsonTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputWavefront": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputWavefrontTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputWebhookFormat2": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputWebhookType2": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputWizHec": ".createoutput_outputwebhook_format_2", + "CreateOutputOutputWizHecTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputPayloadFormat": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsAzureDataExplorer": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsAzureDataExplorerTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsAzureEventhub": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsAzureEventhubTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsAzureLogs": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsAzureLogsTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsCloudwatch": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsCloudwatchTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsConfluentCloud": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsConfluentCloudTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsElastic": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsElasticCloud": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsElasticCloudTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsElasticTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsGoogleBigquery": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsGoogleBigqueryTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsGoogleChronicle": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsGoogleChronicleTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsGoogleCloudLogging": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsGoogleCloudLoggingTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsGoogleCloudObservability": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsGoogleCloudObservabilityTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsGooglePubsub": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsGooglePubsubTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsHoneycomb": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsHoneycombTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsInfluxdb": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsInfluxdbTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsKafka": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsKafkaTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsKinesis": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsKinesisTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsMsk": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsMskTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsNewrelic": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsNewrelicEvents": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsNewrelicEventsTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsNewrelicTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsSentinel": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsSentinelTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsSignalfx": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsSignalfxTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsSplunk": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsSplunkHec": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsSplunkHecTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsSplunkLb": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsSplunkLbTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsSplunkTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsStatsd": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsStatsdExt": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsStatsdExtTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsStatsdTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsSyslog": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsSyslogTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsTcpjson": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsTcpjsonTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsWavefront": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsWavefrontTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsWizHec": ".createoutput_outputwebhook_format_2", + "CreateOutputPqControlsWizHecTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputPrefixOptional": ".createoutput_outputwebhook_format_2", + "CreateOutputProtocolGoogleCloudObservability": ".createoutput_outputwebhook_format_2", + "CreateOutputProtocolSyslog": ".createoutput_outputwebhook_format_2", + "CreateOutputReportLevel": ".createoutput_outputwebhook_format_2", + "CreateOutputReportMethod": ".createoutput_outputwebhook_format_2", + "CreateOutputSendEventsAs": ".createoutput_outputwebhook_format_2", + "CreateOutputSeveritySyslog": ".createoutput_outputwebhook_format_2", + "CreateOutputTimestampFormat": ".createoutput_outputwebhook_format_2", + "CreateOutputTimestampPrecision": ".createoutput_outputwebhook_format_2", + "CreateOutputTypeAzureBlob": ".createoutput_outputwebhook_format_2", + "CreateOutputTypeAzureDataExplorer": ".createoutput_outputwebhook_format_2", + "CreateOutputTypeAzureEventhub": ".createoutput_outputwebhook_format_2", + "CreateOutputTypeAzureLogs": ".createoutput_outputwebhook_format_2", + "CreateOutputTypeCloudwatch": ".createoutput_outputwebhook_format_2", + "CreateOutputTypeConfluentCloud": ".createoutput_outputwebhook_format_2", + "CreateOutputTypeDevnull": ".createoutput_outputwebhook_format_2", + "CreateOutputTypeElastic": ".createoutput_outputwebhook_format_2", + "CreateOutputTypeElasticCloud": ".createoutput_outputwebhook_format_2", + "CreateOutputTypeExabeam": ".createoutput_outputwebhook_format_2", + "CreateOutputTypeFilesystem": ".createoutput_outputwebhook_format_2", + "CreateOutputTypeGoogleBigquery": ".createoutput_outputwebhook_format_2", + "CreateOutputTypeGoogleChronicle": ".createoutput_outputwebhook_format_2", + "CreateOutputTypeGoogleCloudLogging": ".createoutput_outputwebhook_format_2", + "CreateOutputTypeGoogleCloudObservability": ".createoutput_outputwebhook_format_2", + "CreateOutputTypeGoogleCloudStorage": ".createoutput_outputwebhook_format_2", + "CreateOutputTypeGooglePubsub": ".createoutput_outputwebhook_format_2", + "CreateOutputTypeHoneycomb": ".createoutput_outputwebhook_format_2", + "CreateOutputTypeInfluxdb": ".createoutput_outputwebhook_format_2", + "CreateOutputTypeKafka": ".createoutput_outputwebhook_format_2", + "CreateOutputTypeKinesis": ".createoutput_outputwebhook_format_2", + "CreateOutputTypeMinio": ".createoutput_outputwebhook_format_2", + "CreateOutputTypeMsk": ".createoutput_outputwebhook_format_2", + "CreateOutputTypeNewrelic": ".createoutput_outputwebhook_format_2", + "CreateOutputTypeNewrelicEvents": ".createoutput_outputwebhook_format_2", + "CreateOutputTypeS3": ".createoutput_outputwebhook_format_2", + "CreateOutputTypeSentinel": ".createoutput_outputwebhook_format_2", + "CreateOutputTypeSignalfx": ".createoutput_outputwebhook_format_2", + "CreateOutputTypeSplunk": ".createoutput_outputwebhook_format_2", + "CreateOutputTypeSplunkHec": ".createoutput_outputwebhook_format_2", + "CreateOutputTypeSplunkLb": ".createoutput_outputwebhook_format_2", + "CreateOutputTypeStatsd": ".createoutput_outputwebhook_format_2", + "CreateOutputTypeStatsdExt": ".createoutput_outputwebhook_format_2", + "CreateOutputTypeSyslog": ".createoutput_outputwebhook_format_2", + "CreateOutputTypeTcpjson": ".createoutput_outputwebhook_format_2", + "CreateOutputTypeWavefront": ".createoutput_outputwebhook_format_2", + "CreateOutputTypeWizHec": ".createoutput_outputwebhook_format_2", + "CreateOutputUDMType": ".createoutput_outputwebhook_format_2", + "CreateOutputURLElastic": ".createoutput_outputwebhook_format_2", + "CreateOutputURLElasticTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputURLSplunkHec": ".createoutput_outputwebhook_format_2", + "CreateOutputURLSplunkHecTypedDict": ".createoutput_outputwebhook_format_2", + "CreateOutputWriteAction": ".createoutput_outputwebhook_format_2", + "CreateOutputAISIEMEndpointPath": ".createoutput_pqcontrols_graphite", + "CreateOutputAuthentication": ".createoutput_pqcontrols_graphite", + "CreateOutputAuthenticationMethodAlibabaCloudS3": ".createoutput_pqcontrols_graphite", + "CreateOutputAuthenticationMethodChronicle": ".createoutput_pqcontrols_graphite", + "CreateOutputAuthenticationMethodXsiam": ".createoutput_pqcontrols_graphite", + "CreateOutputAuthenticationTypeDynatraceHTTP": ".createoutput_pqcontrols_graphite", + "CreateOutputAuthenticationTypeOpenTelemetry": ".createoutput_pqcontrols_graphite", + "CreateOutputAuthenticationTypePrometheus": ".createoutput_pqcontrols_graphite", + "CreateOutputAuthenticationTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputColumnMapping": ".createoutput_pqcontrols_graphite", + "CreateOutputColumnMappingTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputCustomLabel": ".createoutput_pqcontrols_graphite", + "CreateOutputCustomLabelTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputDataFormatRing": ".createoutput_pqcontrols_graphite", + "CreateOutputDataFormatSumoLogic": ".createoutput_pqcontrols_graphite", + "CreateOutputDataSetSite": ".createoutput_pqcontrols_graphite", + "CreateOutputDatadogSite": ".createoutput_pqcontrols_graphite", + "CreateOutputEndpointDynatraceHTTP": ".createoutput_pqcontrols_graphite", + "CreateOutputEndpointType": ".createoutput_pqcontrols_graphite", + "CreateOutputFormatCriblLake": ".createoutput_pqcontrols_graphite", + "CreateOutputFormatDynatraceHTTP": ".createoutput_pqcontrols_graphite", + "CreateOutputFormatLocalSearchStorage": ".createoutput_pqcontrols_graphite", + "CreateOutputHostNetflow": ".createoutput_pqcontrols_graphite", + "CreateOutputHostNetflowTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputHostSnmp": ".createoutput_pqcontrols_graphite", + "CreateOutputHostSnmpTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputMappingType": ".createoutput_pqcontrols_graphite", + "CreateOutputOTLPVersionOpenTelemetry": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputAlibabaCloudS3": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputAlibabaCloudS3TypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputAlphasocS3": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputAlphasocS3TypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputAmazonManagedPrometheus": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputAmazonManagedPrometheusTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputChronicle": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputChronicleTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputClickHouse": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputClickHouseTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputCloudflareR2": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputCloudflareR2TypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputCloudianS3": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputCloudianS3TypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputCriblHTTP": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputCriblHTTPTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputCriblLake": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputCriblLakeTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputCriblSearchEngine": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputCriblSearchEngineTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputCriblTCP": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputCriblTCPTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputCrowdstrikeNextGenSiem": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputCrowdstrikeNextGenSiemTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputCustomerMetricsStorage": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputCustomerMetricsStorageTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputDatabricks": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputDatabricksTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputDatadog": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputDatadogTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputDataset": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputDatasetTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputDellS3": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputDellS3TypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputDiskSpool": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputDiskSpoolTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputDlS3": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputDlS3TypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputDynatraceHTTP": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputDynatraceHTTPTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputDynatraceOtlp": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputDynatraceOtlpTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputGrafanaCloudGrafanaCloud1": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputGrafanaCloudGrafanaCloud1TypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputGrafanaCloudGrafanaCloud2": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputGrafanaCloudGrafanaCloud2TypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputGrafanaCloudPqControls1": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputGrafanaCloudPqControls1TypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputGrafanaCloudPqControls2": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputGrafanaCloudPqControls2TypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputGrafanaCloudType1": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputGrafanaCloudType2": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputGrafanaCloudUnion": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputGrafanaCloudUnionTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputHumioHec": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputHumioHecTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputIbmCloudS3": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputIbmCloudS3TypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputLocalSearchStorage": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputLocalSearchStorageTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputLoki": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputLokiTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputMicrosoftFabric": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputMicrosoftFabricTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputNetflow": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputNetflowTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputNutanixObjects": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputNutanixObjectsTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputOpenTelemetry": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputOpenTelemetryTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputPrometheus": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputPrometheusTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputRing": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputRingTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputRouter": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputRouterTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputScalityS3": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputScalityS3TypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputSecurityLake": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputSecurityLakeTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputSentinelOneAiSiem": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputSentinelOneAiSiemTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputServiceNow": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputServiceNowTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputSnmp": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputSnmpTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputSns": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputSnsTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputSqs": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputSqsTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputStorjS3": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputStorjS3TypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputSumoLogic": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputSumoLogicTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputXsiam": ".createoutput_pqcontrols_graphite", + "CreateOutputOutputXsiamTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsAmazonManagedPrometheus": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsAmazonManagedPrometheusTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsChronicle": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsChronicleTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsClickHouse": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsClickHouseTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsCriblHTTP": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsCriblHTTPTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsCriblSearchEngine": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsCriblSearchEngineTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsCriblTCP": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsCriblTCPTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsCrowdstrikeNextGenSiem": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsCrowdstrikeNextGenSiemTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsCustomerMetricsStorage": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsCustomerMetricsStorageTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsDatadog": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsDatadogTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsDataset": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsDatasetTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsDynatraceHTTP": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsDynatraceHTTPTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsDynatraceOtlp": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsDynatraceOtlpTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsGraphite": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsGraphiteTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsHumioHec": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsHumioHecTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsLocalSearchStorage": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsLocalSearchStorageTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsLoki": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsLokiTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsMicrosoftFabric": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsMicrosoftFabricTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsOpenTelemetry": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsOpenTelemetryTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsPrometheus": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsPrometheusTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsSentinelOneAiSiem": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsSentinelOneAiSiemTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsServiceNow": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsServiceNowTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsSns": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsSnsTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsSqs": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsSqsTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsSumoLogic": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsSumoLogicTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsXsiam": ".createoutput_pqcontrols_graphite", + "CreateOutputPqControlsXsiamTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputProtocolDynatraceOtlp": ".createoutput_pqcontrols_graphite", + "CreateOutputQueueType": ".createoutput_pqcontrols_graphite", + "CreateOutputRegion": ".createoutput_pqcontrols_graphite", + "CreateOutputRule": ".createoutput_pqcontrols_graphite", + "CreateOutputRuleTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputSendLogsAs": ".createoutput_pqcontrols_graphite", + "CreateOutputSeverityDatadog": ".createoutput_pqcontrols_graphite", + "CreateOutputSeverityDataset": ".createoutput_pqcontrols_graphite", + "CreateOutputStatsDestination": ".createoutput_pqcontrols_graphite", + "CreateOutputStatsDestinationTypedDict": ".createoutput_pqcontrols_graphite", + "CreateOutputTelemetryType": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeAlibabaCloudS3": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeAlphasocS3": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeAmazonManagedPrometheus": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeChronicle": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeClickHouse": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeCloudflareR2": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeCloudianS3": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeCriblHTTP": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeCriblLake": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeCriblSearchEngine": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeCriblTCP": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeCrowdstrikeNextGenSiem": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeCustomerMetricsStorage": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeDatabricks": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeDatadog": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeDataset": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeDellS3": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeDiskSpool": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeDlS3": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeDynatraceHTTP": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeDynatraceOtlp": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeGraphite": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeHumioHec": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeIbmCloudS3": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeLocalSearchStorage": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeLoki": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeMicrosoftFabric": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeNetflow": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeNutanixObjects": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeOpenTelemetry": ".createoutput_pqcontrols_graphite", + "CreateOutputTypePrometheus": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeRing": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeRouter": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeScalityS3": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeSecurityLake": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeSentinelOneAiSiem": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeServiceNow": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeSnmp": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeSns": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeSqs": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeStorjS3": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeSumoLogic": ".createoutput_pqcontrols_graphite", + "CreateOutputTypeXsiam": ".createoutput_pqcontrols_graphite", + "CreateOutputURLXsiam": ".createoutput_pqcontrols_graphite", + "CreateOutputURLXsiamTypedDict": ".createoutput_pqcontrols_graphite", "CreateOutputOutputDefault": ".createoutput_request", "CreateOutputOutputDefaultTypedDict": ".createoutput_request", - "CreateOutputOutputDevnull": ".createoutput_request", - "CreateOutputOutputDevnullTypedDict": ".createoutput_request", - "CreateOutputOutputElastic": ".createoutput_request", - "CreateOutputOutputElasticCloud": ".createoutput_request", - "CreateOutputOutputElasticCloudTypedDict": ".createoutput_request", - "CreateOutputOutputElasticTypedDict": ".createoutput_request", - "CreateOutputOutputExabeam": ".createoutput_request", - "CreateOutputOutputExabeamTypedDict": ".createoutput_request", - "CreateOutputOutputFilesystem": ".createoutput_request", - "CreateOutputOutputFilesystemTypedDict": ".createoutput_request", - "CreateOutputOutputGoogleChronicle": ".createoutput_request", - "CreateOutputOutputGoogleChronicleTypedDict": ".createoutput_request", - "CreateOutputOutputGoogleCloudLogging": ".createoutput_request", - "CreateOutputOutputGoogleCloudLoggingTypedDict": ".createoutput_request", - "CreateOutputOutputGoogleCloudStorage": ".createoutput_request", - "CreateOutputOutputGoogleCloudStorageTypedDict": ".createoutput_request", - "CreateOutputOutputGooglePubsub": ".createoutput_request", - "CreateOutputOutputGooglePubsubTypedDict": ".createoutput_request", - "CreateOutputOutputHoneycomb": ".createoutput_request", - "CreateOutputOutputHoneycombTypedDict": ".createoutput_request", - "CreateOutputOutputInfluxdb": ".createoutput_request", - "CreateOutputOutputInfluxdbTypedDict": ".createoutput_request", - "CreateOutputOutputKafka": ".createoutput_request", - "CreateOutputOutputKafkaTypedDict": ".createoutput_request", - "CreateOutputOutputKinesis": ".createoutput_request", - "CreateOutputOutputKinesisTypedDict": ".createoutput_request", - "CreateOutputOutputMinio": ".createoutput_request", - "CreateOutputOutputMinioTypedDict": ".createoutput_request", - "CreateOutputOutputMsk": ".createoutput_request", - "CreateOutputOutputMskTypedDict": ".createoutput_request", - "CreateOutputOutputNewrelic": ".createoutput_request", - "CreateOutputOutputNewrelicEvents": ".createoutput_request", - "CreateOutputOutputNewrelicEventsTypedDict": ".createoutput_request", - "CreateOutputOutputNewrelicTypedDict": ".createoutput_request", - "CreateOutputOutputS3": ".createoutput_request", - "CreateOutputOutputS3TypedDict": ".createoutput_request", - "CreateOutputOutputSentinel": ".createoutput_request", - "CreateOutputOutputSentinelTypedDict": ".createoutput_request", - "CreateOutputOutputSignalfx": ".createoutput_request", - "CreateOutputOutputSignalfxTypedDict": ".createoutput_request", - "CreateOutputOutputSplunk": ".createoutput_request", - "CreateOutputOutputSplunkHec": ".createoutput_request", - "CreateOutputOutputSplunkHecTypedDict": ".createoutput_request", - "CreateOutputOutputSplunkLb": ".createoutput_request", - "CreateOutputOutputSplunkLbTypedDict": ".createoutput_request", - "CreateOutputOutputSplunkTypedDict": ".createoutput_request", - "CreateOutputOutputStatsd": ".createoutput_request", - "CreateOutputOutputStatsdTypedDict": ".createoutput_request", - "CreateOutputOutputSyslog": ".createoutput_request", - "CreateOutputOutputSyslogTypedDict": ".createoutput_request", - "CreateOutputOutputTcpjson": ".createoutput_request", - "CreateOutputOutputTcpjsonTypedDict": ".createoutput_request", - "CreateOutputOutputWavefront": ".createoutput_request", - "CreateOutputOutputWavefrontTypedDict": ".createoutput_request", "CreateOutputOutputWebhookAuthenticationType1": ".createoutput_request", "CreateOutputOutputWebhookAuthenticationType2": ".createoutput_request", "CreateOutputOutputWebhookFormat1": ".createoutput_request", - "CreateOutputOutputWebhookFormat2": ".createoutput_request", "CreateOutputOutputWebhookPqControls1": ".createoutput_request", "CreateOutputOutputWebhookPqControls1TypedDict": ".createoutput_request", "CreateOutputOutputWebhookPqControls2": ".createoutput_request", "CreateOutputOutputWebhookPqControls2TypedDict": ".createoutput_request", "CreateOutputOutputWebhookType1": ".createoutput_request", - "CreateOutputOutputWebhookType2": ".createoutput_request", "CreateOutputOutputWebhookURL1": ".createoutput_request", "CreateOutputOutputWebhookURL1TypedDict": ".createoutput_request", "CreateOutputOutputWebhookURL2": ".createoutput_request", @@ -15579,453 +16569,477 @@ "CreateOutputOutputWebhookWebhook1TypedDict": ".createoutput_request", "CreateOutputOutputWebhookWebhook2": ".createoutput_request", "CreateOutputOutputWebhookWebhook2TypedDict": ".createoutput_request", - "CreateOutputOutputWizHec": ".createoutput_request", - "CreateOutputOutputWizHecTypedDict": ".createoutput_request", - "CreateOutputPayloadFormat": ".createoutput_request", - "CreateOutputPqControlsAzureDataExplorer": ".createoutput_request", - "CreateOutputPqControlsAzureDataExplorerTypedDict": ".createoutput_request", - "CreateOutputPqControlsAzureEventhub": ".createoutput_request", - "CreateOutputPqControlsAzureEventhubTypedDict": ".createoutput_request", - "CreateOutputPqControlsAzureLogs": ".createoutput_request", - "CreateOutputPqControlsAzureLogsTypedDict": ".createoutput_request", - "CreateOutputPqControlsCloudwatch": ".createoutput_request", - "CreateOutputPqControlsCloudwatchTypedDict": ".createoutput_request", - "CreateOutputPqControlsConfluentCloud": ".createoutput_request", - "CreateOutputPqControlsConfluentCloudTypedDict": ".createoutput_request", - "CreateOutputPqControlsElastic": ".createoutput_request", - "CreateOutputPqControlsElasticCloud": ".createoutput_request", - "CreateOutputPqControlsElasticCloudTypedDict": ".createoutput_request", - "CreateOutputPqControlsElasticTypedDict": ".createoutput_request", - "CreateOutputPqControlsGoogleChronicle": ".createoutput_request", - "CreateOutputPqControlsGoogleChronicleTypedDict": ".createoutput_request", - "CreateOutputPqControlsGoogleCloudLogging": ".createoutput_request", - "CreateOutputPqControlsGoogleCloudLoggingTypedDict": ".createoutput_request", - "CreateOutputPqControlsGooglePubsub": ".createoutput_request", - "CreateOutputPqControlsGooglePubsubTypedDict": ".createoutput_request", - "CreateOutputPqControlsHoneycomb": ".createoutput_request", - "CreateOutputPqControlsHoneycombTypedDict": ".createoutput_request", - "CreateOutputPqControlsInfluxdb": ".createoutput_request", - "CreateOutputPqControlsInfluxdbTypedDict": ".createoutput_request", - "CreateOutputPqControlsKafka": ".createoutput_request", - "CreateOutputPqControlsKafkaTypedDict": ".createoutput_request", - "CreateOutputPqControlsKinesis": ".createoutput_request", - "CreateOutputPqControlsKinesisTypedDict": ".createoutput_request", - "CreateOutputPqControlsMsk": ".createoutput_request", - "CreateOutputPqControlsMskTypedDict": ".createoutput_request", - "CreateOutputPqControlsNewrelic": ".createoutput_request", - "CreateOutputPqControlsNewrelicEvents": ".createoutput_request", - "CreateOutputPqControlsNewrelicEventsTypedDict": ".createoutput_request", - "CreateOutputPqControlsNewrelicTypedDict": ".createoutput_request", - "CreateOutputPqControlsSentinel": ".createoutput_request", - "CreateOutputPqControlsSentinelTypedDict": ".createoutput_request", - "CreateOutputPqControlsSignalfx": ".createoutput_request", - "CreateOutputPqControlsSignalfxTypedDict": ".createoutput_request", - "CreateOutputPqControlsSplunk": ".createoutput_request", - "CreateOutputPqControlsSplunkHec": ".createoutput_request", - "CreateOutputPqControlsSplunkHecTypedDict": ".createoutput_request", - "CreateOutputPqControlsSplunkLb": ".createoutput_request", - "CreateOutputPqControlsSplunkLbTypedDict": ".createoutput_request", - "CreateOutputPqControlsSplunkTypedDict": ".createoutput_request", - "CreateOutputPqControlsStatsd": ".createoutput_request", - "CreateOutputPqControlsStatsdTypedDict": ".createoutput_request", - "CreateOutputPqControlsSyslog": ".createoutput_request", - "CreateOutputPqControlsSyslogTypedDict": ".createoutput_request", - "CreateOutputPqControlsTcpjson": ".createoutput_request", - "CreateOutputPqControlsTcpjsonTypedDict": ".createoutput_request", - "CreateOutputPqControlsWavefront": ".createoutput_request", - "CreateOutputPqControlsWavefrontTypedDict": ".createoutput_request", - "CreateOutputPqControlsWizHec": ".createoutput_request", - "CreateOutputPqControlsWizHecTypedDict": ".createoutput_request", - "CreateOutputPrefixOptional": ".createoutput_request", - "CreateOutputProtocolSyslog": ".createoutput_request", - "CreateOutputReportLevel": ".createoutput_request", - "CreateOutputReportMethod": ".createoutput_request", "CreateOutputRequest": ".createoutput_request", "CreateOutputRequestTypedDict": ".createoutput_request", - "CreateOutputSendEventsAs": ".createoutput_request", - "CreateOutputSeveritySyslog": ".createoutput_request", - "CreateOutputTimestampFormat": ".createoutput_request", - "CreateOutputTimestampPrecision": ".createoutput_request", - "CreateOutputTypeAzureBlob": ".createoutput_request", - "CreateOutputTypeAzureDataExplorer": ".createoutput_request", - "CreateOutputTypeAzureEventhub": ".createoutput_request", - "CreateOutputTypeAzureLogs": ".createoutput_request", - "CreateOutputTypeCloudwatch": ".createoutput_request", - "CreateOutputTypeConfluentCloud": ".createoutput_request", "CreateOutputTypeDefault": ".createoutput_request", - "CreateOutputTypeDevnull": ".createoutput_request", - "CreateOutputTypeElastic": ".createoutput_request", - "CreateOutputTypeElasticCloud": ".createoutput_request", - "CreateOutputTypeExabeam": ".createoutput_request", - "CreateOutputTypeFilesystem": ".createoutput_request", - "CreateOutputTypeGoogleChronicle": ".createoutput_request", - "CreateOutputTypeGoogleCloudLogging": ".createoutput_request", - "CreateOutputTypeGoogleCloudStorage": ".createoutput_request", - "CreateOutputTypeGooglePubsub": ".createoutput_request", - "CreateOutputTypeHoneycomb": ".createoutput_request", - "CreateOutputTypeInfluxdb": ".createoutput_request", - "CreateOutputTypeKafka": ".createoutput_request", - "CreateOutputTypeKinesis": ".createoutput_request", - "CreateOutputTypeMinio": ".createoutput_request", - "CreateOutputTypeMsk": ".createoutput_request", - "CreateOutputTypeNewrelic": ".createoutput_request", - "CreateOutputTypeNewrelicEvents": ".createoutput_request", - "CreateOutputTypeS3": ".createoutput_request", - "CreateOutputTypeSentinel": ".createoutput_request", - "CreateOutputTypeSignalfx": ".createoutput_request", - "CreateOutputTypeSplunk": ".createoutput_request", - "CreateOutputTypeSplunkHec": ".createoutput_request", - "CreateOutputTypeSplunkLb": ".createoutput_request", - "CreateOutputTypeSyslog": ".createoutput_request", - "CreateOutputTypeTcpjson": ".createoutput_request", - "CreateOutputTypeWavefront": ".createoutput_request", - "CreateOutputTypeWizHec": ".createoutput_request", - "CreateOutputUDMType": ".createoutput_request", - "CreateOutputURLElastic": ".createoutput_request", - "CreateOutputURLElasticTypedDict": ".createoutput_request", - "CreateOutputURLSplunkHec": ".createoutput_request", - "CreateOutputURLSplunkHecTypedDict": ".createoutput_request", - "CreateOutputWriteAction": ".createoutput_request", - "CreateOutputAISIEMEndpointPath": ".createoutput_type_statsd", - "CreateOutputAuthentication": ".createoutput_type_statsd", - "CreateOutputAuthenticationMethodChronicle": ".createoutput_type_statsd", - "CreateOutputAuthenticationMethodCloudflareR2": ".createoutput_type_statsd", - "CreateOutputAuthenticationMethodXsiam": ".createoutput_type_statsd", - "CreateOutputAuthenticationTypeDynatraceHTTP": ".createoutput_type_statsd", - "CreateOutputAuthenticationTypeOpenTelemetry": ".createoutput_type_statsd", - "CreateOutputAuthenticationTypedDict": ".createoutput_type_statsd", - "CreateOutputAwsAuthenticationMethod": ".createoutput_type_statsd", - "CreateOutputColumnMappingClickHouse": ".createoutput_type_statsd", - "CreateOutputColumnMappingClickHouseTypedDict": ".createoutput_type_statsd", - "CreateOutputColumnMappingLocalSearchStorage": ".createoutput_type_statsd", - "CreateOutputColumnMappingLocalSearchStorageTypedDict": ".createoutput_type_statsd", - "CreateOutputCustomLabel": ".createoutput_type_statsd", - "CreateOutputCustomLabelTypedDict": ".createoutput_type_statsd", - "CreateOutputDataFormatRing": ".createoutput_type_statsd", - "CreateOutputDataFormatSumoLogic": ".createoutput_type_statsd", - "CreateOutputDataSetSite": ".createoutput_type_statsd", - "CreateOutputDatadogSite": ".createoutput_type_statsd", - "CreateOutputEndpoint": ".createoutput_type_statsd", - "CreateOutputEndpointType": ".createoutput_type_statsd", - "CreateOutputFormatClickHouse": ".createoutput_type_statsd", - "CreateOutputFormatCriblLake": ".createoutput_type_statsd", - "CreateOutputFormatDynatraceHTTP": ".createoutput_type_statsd", - "CreateOutputFormatLocalSearchStorage": ".createoutput_type_statsd", - "CreateOutputHostNetflow": ".createoutput_type_statsd", - "CreateOutputHostNetflowTypedDict": ".createoutput_type_statsd", - "CreateOutputHostSnmp": ".createoutput_type_statsd", - "CreateOutputHostSnmpTypedDict": ".createoutput_type_statsd", - "CreateOutputMappingTypeClickHouse": ".createoutput_type_statsd", - "CreateOutputMappingTypeLocalSearchStorage": ".createoutput_type_statsd", - "CreateOutputOTLPVersion": ".createoutput_type_statsd", - "CreateOutputOutputAlibabaCloudS3": ".createoutput_type_statsd", - "CreateOutputOutputAlibabaCloudS3TypedDict": ".createoutput_type_statsd", - "CreateOutputOutputAlphasocS3": ".createoutput_type_statsd", - "CreateOutputOutputAlphasocS3TypedDict": ".createoutput_type_statsd", - "CreateOutputOutputChronicle": ".createoutput_type_statsd", - "CreateOutputOutputChronicleTypedDict": ".createoutput_type_statsd", - "CreateOutputOutputClickHouse": ".createoutput_type_statsd", - "CreateOutputOutputClickHouseTypedDict": ".createoutput_type_statsd", - "CreateOutputOutputCloudflareR2": ".createoutput_type_statsd", - "CreateOutputOutputCloudflareR2TypedDict": ".createoutput_type_statsd", - "CreateOutputOutputCloudianS3": ".createoutput_type_statsd", - "CreateOutputOutputCloudianS3TypedDict": ".createoutput_type_statsd", - "CreateOutputOutputCriblHTTP": ".createoutput_type_statsd", - "CreateOutputOutputCriblHTTPTypedDict": ".createoutput_type_statsd", - "CreateOutputOutputCriblLake": ".createoutput_type_statsd", - "CreateOutputOutputCriblLakeTypedDict": ".createoutput_type_statsd", - "CreateOutputOutputCriblSearchEngine": ".createoutput_type_statsd", - "CreateOutputOutputCriblSearchEngineTypedDict": ".createoutput_type_statsd", - "CreateOutputOutputCriblTCP": ".createoutput_type_statsd", - "CreateOutputOutputCriblTCPTypedDict": ".createoutput_type_statsd", - "CreateOutputOutputCrowdstrikeNextGenSiem": ".createoutput_type_statsd", - "CreateOutputOutputCrowdstrikeNextGenSiemTypedDict": ".createoutput_type_statsd", - "CreateOutputOutputDatabricks": ".createoutput_type_statsd", - "CreateOutputOutputDatabricksTypedDict": ".createoutput_type_statsd", - "CreateOutputOutputDatadog": ".createoutput_type_statsd", - "CreateOutputOutputDatadogTypedDict": ".createoutput_type_statsd", - "CreateOutputOutputDataset": ".createoutput_type_statsd", - "CreateOutputOutputDatasetTypedDict": ".createoutput_type_statsd", - "CreateOutputOutputDellS3": ".createoutput_type_statsd", - "CreateOutputOutputDellS3TypedDict": ".createoutput_type_statsd", - "CreateOutputOutputDiskSpool": ".createoutput_type_statsd", - "CreateOutputOutputDiskSpoolTypedDict": ".createoutput_type_statsd", - "CreateOutputOutputDlS3": ".createoutput_type_statsd", - "CreateOutputOutputDlS3TypedDict": ".createoutput_type_statsd", - "CreateOutputOutputDynatraceHTTP": ".createoutput_type_statsd", - "CreateOutputOutputDynatraceHTTPTypedDict": ".createoutput_type_statsd", - "CreateOutputOutputDynatraceOtlp": ".createoutput_type_statsd", - "CreateOutputOutputDynatraceOtlpTypedDict": ".createoutput_type_statsd", - "CreateOutputOutputGrafanaCloudGrafanaCloud1": ".createoutput_type_statsd", - "CreateOutputOutputGrafanaCloudGrafanaCloud1TypedDict": ".createoutput_type_statsd", - "CreateOutputOutputGrafanaCloudGrafanaCloud2": ".createoutput_type_statsd", - "CreateOutputOutputGrafanaCloudGrafanaCloud2TypedDict": ".createoutput_type_statsd", - "CreateOutputOutputGrafanaCloudPqControls1": ".createoutput_type_statsd", - "CreateOutputOutputGrafanaCloudPqControls1TypedDict": ".createoutput_type_statsd", - "CreateOutputOutputGrafanaCloudPqControls2": ".createoutput_type_statsd", - "CreateOutputOutputGrafanaCloudPqControls2TypedDict": ".createoutput_type_statsd", - "CreateOutputOutputGrafanaCloudType1": ".createoutput_type_statsd", - "CreateOutputOutputGrafanaCloudType2": ".createoutput_type_statsd", - "CreateOutputOutputGrafanaCloudUnion": ".createoutput_type_statsd", - "CreateOutputOutputGrafanaCloudUnionTypedDict": ".createoutput_type_statsd", - "CreateOutputOutputGraphite": ".createoutput_type_statsd", - "CreateOutputOutputGraphiteTypedDict": ".createoutput_type_statsd", - "CreateOutputOutputHumioHec": ".createoutput_type_statsd", - "CreateOutputOutputHumioHecTypedDict": ".createoutput_type_statsd", - "CreateOutputOutputLocalSearchStorage": ".createoutput_type_statsd", - "CreateOutputOutputLocalSearchStorageTypedDict": ".createoutput_type_statsd", - "CreateOutputOutputLoki": ".createoutput_type_statsd", - "CreateOutputOutputLokiTypedDict": ".createoutput_type_statsd", - "CreateOutputOutputMicrosoftFabric": ".createoutput_type_statsd", - "CreateOutputOutputMicrosoftFabricTypedDict": ".createoutput_type_statsd", - "CreateOutputOutputNetflow": ".createoutput_type_statsd", - "CreateOutputOutputNetflowTypedDict": ".createoutput_type_statsd", - "CreateOutputOutputNutanixObjects": ".createoutput_type_statsd", - "CreateOutputOutputNutanixObjectsTypedDict": ".createoutput_type_statsd", - "CreateOutputOutputOpenTelemetry": ".createoutput_type_statsd", - "CreateOutputOutputOpenTelemetryTypedDict": ".createoutput_type_statsd", - "CreateOutputOutputPrometheus": ".createoutput_type_statsd", - "CreateOutputOutputPrometheusTypedDict": ".createoutput_type_statsd", - "CreateOutputOutputRing": ".createoutput_type_statsd", - "CreateOutputOutputRingTypedDict": ".createoutput_type_statsd", - "CreateOutputOutputRouter": ".createoutput_type_statsd", - "CreateOutputOutputRouterTypedDict": ".createoutput_type_statsd", - "CreateOutputOutputScalityS3": ".createoutput_type_statsd", - "CreateOutputOutputScalityS3TypedDict": ".createoutput_type_statsd", - "CreateOutputOutputSecurityLake": ".createoutput_type_statsd", - "CreateOutputOutputSecurityLakeTypedDict": ".createoutput_type_statsd", - "CreateOutputOutputSentinelOneAiSiem": ".createoutput_type_statsd", - "CreateOutputOutputSentinelOneAiSiemTypedDict": ".createoutput_type_statsd", - "CreateOutputOutputServiceNow": ".createoutput_type_statsd", - "CreateOutputOutputServiceNowTypedDict": ".createoutput_type_statsd", - "CreateOutputOutputSnmp": ".createoutput_type_statsd", - "CreateOutputOutputSnmpTypedDict": ".createoutput_type_statsd", - "CreateOutputOutputSns": ".createoutput_type_statsd", - "CreateOutputOutputSnsTypedDict": ".createoutput_type_statsd", - "CreateOutputOutputSqs": ".createoutput_type_statsd", - "CreateOutputOutputSqsTypedDict": ".createoutput_type_statsd", - "CreateOutputOutputStatsdExt": ".createoutput_type_statsd", - "CreateOutputOutputStatsdExtTypedDict": ".createoutput_type_statsd", - "CreateOutputOutputStorjS3": ".createoutput_type_statsd", - "CreateOutputOutputStorjS3TypedDict": ".createoutput_type_statsd", - "CreateOutputOutputSumoLogic": ".createoutput_type_statsd", - "CreateOutputOutputSumoLogicTypedDict": ".createoutput_type_statsd", - "CreateOutputOutputXsiam": ".createoutput_type_statsd", - "CreateOutputOutputXsiamTypedDict": ".createoutput_type_statsd", - "CreateOutputPqControlsChronicle": ".createoutput_type_statsd", - "CreateOutputPqControlsChronicleTypedDict": ".createoutput_type_statsd", - "CreateOutputPqControlsClickHouse": ".createoutput_type_statsd", - "CreateOutputPqControlsClickHouseTypedDict": ".createoutput_type_statsd", - "CreateOutputPqControlsCriblHTTP": ".createoutput_type_statsd", - "CreateOutputPqControlsCriblHTTPTypedDict": ".createoutput_type_statsd", - "CreateOutputPqControlsCriblSearchEngine": ".createoutput_type_statsd", - "CreateOutputPqControlsCriblSearchEngineTypedDict": ".createoutput_type_statsd", - "CreateOutputPqControlsCriblTCP": ".createoutput_type_statsd", - "CreateOutputPqControlsCriblTCPTypedDict": ".createoutput_type_statsd", - "CreateOutputPqControlsCrowdstrikeNextGenSiem": ".createoutput_type_statsd", - "CreateOutputPqControlsCrowdstrikeNextGenSiemTypedDict": ".createoutput_type_statsd", - "CreateOutputPqControlsDatadog": ".createoutput_type_statsd", - "CreateOutputPqControlsDatadogTypedDict": ".createoutput_type_statsd", - "CreateOutputPqControlsDataset": ".createoutput_type_statsd", - "CreateOutputPqControlsDatasetTypedDict": ".createoutput_type_statsd", - "CreateOutputPqControlsDynatraceHTTP": ".createoutput_type_statsd", - "CreateOutputPqControlsDynatraceHTTPTypedDict": ".createoutput_type_statsd", - "CreateOutputPqControlsDynatraceOtlp": ".createoutput_type_statsd", - "CreateOutputPqControlsDynatraceOtlpTypedDict": ".createoutput_type_statsd", - "CreateOutputPqControlsGraphite": ".createoutput_type_statsd", - "CreateOutputPqControlsGraphiteTypedDict": ".createoutput_type_statsd", - "CreateOutputPqControlsHumioHec": ".createoutput_type_statsd", - "CreateOutputPqControlsHumioHecTypedDict": ".createoutput_type_statsd", - "CreateOutputPqControlsLocalSearchStorage": ".createoutput_type_statsd", - "CreateOutputPqControlsLocalSearchStorageTypedDict": ".createoutput_type_statsd", - "CreateOutputPqControlsLoki": ".createoutput_type_statsd", - "CreateOutputPqControlsLokiTypedDict": ".createoutput_type_statsd", - "CreateOutputPqControlsMicrosoftFabric": ".createoutput_type_statsd", - "CreateOutputPqControlsMicrosoftFabricTypedDict": ".createoutput_type_statsd", - "CreateOutputPqControlsOpenTelemetry": ".createoutput_type_statsd", - "CreateOutputPqControlsOpenTelemetryTypedDict": ".createoutput_type_statsd", - "CreateOutputPqControlsPrometheus": ".createoutput_type_statsd", - "CreateOutputPqControlsPrometheusTypedDict": ".createoutput_type_statsd", - "CreateOutputPqControlsSentinelOneAiSiem": ".createoutput_type_statsd", - "CreateOutputPqControlsSentinelOneAiSiemTypedDict": ".createoutput_type_statsd", - "CreateOutputPqControlsServiceNow": ".createoutput_type_statsd", - "CreateOutputPqControlsServiceNowTypedDict": ".createoutput_type_statsd", - "CreateOutputPqControlsSns": ".createoutput_type_statsd", - "CreateOutputPqControlsSnsTypedDict": ".createoutput_type_statsd", - "CreateOutputPqControlsSqs": ".createoutput_type_statsd", - "CreateOutputPqControlsSqsTypedDict": ".createoutput_type_statsd", - "CreateOutputPqControlsStatsdExt": ".createoutput_type_statsd", - "CreateOutputPqControlsStatsdExtTypedDict": ".createoutput_type_statsd", - "CreateOutputPqControlsSumoLogic": ".createoutput_type_statsd", - "CreateOutputPqControlsSumoLogicTypedDict": ".createoutput_type_statsd", - "CreateOutputPqControlsXsiam": ".createoutput_type_statsd", - "CreateOutputPqControlsXsiamTypedDict": ".createoutput_type_statsd", - "CreateOutputProtocolDynatraceOtlp": ".createoutput_type_statsd", - "CreateOutputQueueType": ".createoutput_type_statsd", - "CreateOutputRegion": ".createoutput_type_statsd", - "CreateOutputRule": ".createoutput_type_statsd", - "CreateOutputRuleTypedDict": ".createoutput_type_statsd", - "CreateOutputSendLogsAs": ".createoutput_type_statsd", - "CreateOutputSeverityDatadog": ".createoutput_type_statsd", - "CreateOutputSeverityDataset": ".createoutput_type_statsd", - "CreateOutputStatsDestination": ".createoutput_type_statsd", - "CreateOutputStatsDestinationTypedDict": ".createoutput_type_statsd", - "CreateOutputTelemetryType": ".createoutput_type_statsd", - "CreateOutputTypeAlibabaCloudS3": ".createoutput_type_statsd", - "CreateOutputTypeAlphasocS3": ".createoutput_type_statsd", - "CreateOutputTypeChronicle": ".createoutput_type_statsd", - "CreateOutputTypeClickHouse": ".createoutput_type_statsd", - "CreateOutputTypeCloudflareR2": ".createoutput_type_statsd", - "CreateOutputTypeCloudianS3": ".createoutput_type_statsd", - "CreateOutputTypeCriblHTTP": ".createoutput_type_statsd", - "CreateOutputTypeCriblLake": ".createoutput_type_statsd", - "CreateOutputTypeCriblSearchEngine": ".createoutput_type_statsd", - "CreateOutputTypeCriblTCP": ".createoutput_type_statsd", - "CreateOutputTypeCrowdstrikeNextGenSiem": ".createoutput_type_statsd", - "CreateOutputTypeDatabricks": ".createoutput_type_statsd", - "CreateOutputTypeDatadog": ".createoutput_type_statsd", - "CreateOutputTypeDataset": ".createoutput_type_statsd", - "CreateOutputTypeDellS3": ".createoutput_type_statsd", - "CreateOutputTypeDiskSpool": ".createoutput_type_statsd", - "CreateOutputTypeDlS3": ".createoutput_type_statsd", - "CreateOutputTypeDynatraceHTTP": ".createoutput_type_statsd", - "CreateOutputTypeDynatraceOtlp": ".createoutput_type_statsd", - "CreateOutputTypeGraphite": ".createoutput_type_statsd", - "CreateOutputTypeHumioHec": ".createoutput_type_statsd", - "CreateOutputTypeLocalSearchStorage": ".createoutput_type_statsd", - "CreateOutputTypeLoki": ".createoutput_type_statsd", - "CreateOutputTypeMicrosoftFabric": ".createoutput_type_statsd", - "CreateOutputTypeNetflow": ".createoutput_type_statsd", - "CreateOutputTypeNutanixObjects": ".createoutput_type_statsd", - "CreateOutputTypeOpenTelemetry": ".createoutput_type_statsd", - "CreateOutputTypePrometheus": ".createoutput_type_statsd", - "CreateOutputTypeRing": ".createoutput_type_statsd", - "CreateOutputTypeRouter": ".createoutput_type_statsd", - "CreateOutputTypeScalityS3": ".createoutput_type_statsd", - "CreateOutputTypeSecurityLake": ".createoutput_type_statsd", - "CreateOutputTypeSentinelOneAiSiem": ".createoutput_type_statsd", - "CreateOutputTypeServiceNow": ".createoutput_type_statsd", - "CreateOutputTypeSnmp": ".createoutput_type_statsd", - "CreateOutputTypeSns": ".createoutput_type_statsd", - "CreateOutputTypeSqs": ".createoutput_type_statsd", - "CreateOutputTypeStatsd": ".createoutput_type_statsd", - "CreateOutputTypeStatsdExt": ".createoutput_type_statsd", - "CreateOutputTypeStorjS3": ".createoutput_type_statsd", - "CreateOutputTypeSumoLogic": ".createoutput_type_statsd", - "CreateOutputTypeXsiam": ".createoutput_type_statsd", - "CreateOutputURLXsiam": ".createoutput_type_statsd", - "CreateOutputURLXsiamTypedDict": ".createoutput_type_statsd", - "CreateOutputSystemByPackAPIVersion": ".createoutputsystembypack_request", - "CreateOutputSystemByPackAdditionalProperty": ".createoutputsystembypack_request", - "CreateOutputSystemByPackAdditionalPropertyTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackAuthToken": ".createoutputsystembypack_request", - "CreateOutputSystemByPackAuthTokenTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackAuthType": ".createoutputsystembypack_request", - "CreateOutputSystemByPackAuthenticationMethodAzureDataExplorer": ".createoutputsystembypack_request", - "CreateOutputSystemByPackAuthenticationMethodAzureLogs": ".createoutputsystembypack_request", - "CreateOutputSystemByPackAuthenticationMethodGoogleChronicle": ".createoutputsystembypack_request", - "CreateOutputSystemByPackAuthenticationMethodGoogleCloudStorage": ".createoutputsystembypack_request", - "CreateOutputSystemByPackAuthenticationTypeInfluxdb": ".createoutputsystembypack_request", - "CreateOutputSystemByPackBlobAccessTier": ".createoutputsystembypack_request", - "CreateOutputSystemByPackCertificate": ".createoutputsystembypack_request", - "CreateOutputSystemByPackCertificateTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackCompression": ".createoutputsystembypack_request", - "CreateOutputSystemByPackElasticVersion": ".createoutputsystembypack_request", - "CreateOutputSystemByPackEndpointConfiguration": ".createoutputsystembypack_request", - "CreateOutputSystemByPackExtentTag": ".createoutputsystembypack_request", - "CreateOutputSystemByPackExtentTagTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackExtraLogType": ".createoutputsystembypack_request", - "CreateOutputSystemByPackExtraLogTypeTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackFacility": ".createoutputsystembypack_request", - "CreateOutputSystemByPackFieldName": ".createoutputsystembypack_request", - "CreateOutputSystemByPackFormatSentinel": ".createoutputsystembypack_request", - "CreateOutputSystemByPackIndexerDiscoveryConfigs": ".createoutputsystembypack_request", - "CreateOutputSystemByPackIndexerDiscoveryConfigsTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackIngestIfNotExist": ".createoutputsystembypack_request", - "CreateOutputSystemByPackIngestIfNotExistTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackIngestionMode": ".createoutputsystembypack_request", - "CreateOutputSystemByPackLogLocationType": ".createoutputsystembypack_request", - "CreateOutputSystemByPackMessageFormat": ".createoutputsystembypack_request", - "CreateOutputSystemByPackMetadatum": ".createoutputsystembypack_request", - "CreateOutputSystemByPackMetadatumTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputAzureBlob": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputAzureBlobTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputAzureDataExplorer": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputAzureDataExplorerTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputAzureEventhub": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputAzureEventhubTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputAzureLogs": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputAzureLogsTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputCloudwatch": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputCloudwatchTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputConfluentCloud": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputConfluentCloudTypedDict": ".createoutputsystembypack_request", + "CreateOutputSystemByPackAPIVersion": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackAdditionalProperty": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackAdditionalPropertyTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackAuthToken": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackAuthTokenTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackAuthType": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackAuthenticationMethodAzureDataExplorer": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackAuthenticationMethodAzureLogs": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackAuthenticationMethodGoogleChronicle": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackAuthenticationMethodGoogleCloudStorage": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackAuthenticationTypeInfluxdb": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackBlobAccessTier": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackCertificate": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackCertificateTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackCompression": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackElasticVersion": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackEndpointConfiguration": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackEndpointGoogleCloudObservability": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackExtentTag": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackExtentTagTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackExtraLogType": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackExtraLogTypeTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackFacility": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackFieldName": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackFormatSentinel": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackGoogleAuthenticationMethodGoogleBigquery": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackGoogleAuthenticationMethodGoogleCloudObservability": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackIndexerDiscoveryConfigs": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackIndexerDiscoveryConfigsTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackIngestIfNotExist": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackIngestIfNotExistTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackIngestionMode": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackLogLocationType": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackMessageFormat": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackMetadatum": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackMetadatumTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOtlpVersionGoogleCloudObservability": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputAzureBlob": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputAzureBlobTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputAzureDataExplorer": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputAzureDataExplorerTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputAzureEventhub": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputAzureEventhubTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputAzureLogs": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputAzureLogsTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputCloudwatch": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputCloudwatchTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputConfluentCloud": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputConfluentCloudTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputDevnull": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputDevnullTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputElastic": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputElasticCloud": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputElasticCloudTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputElasticTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputExabeam": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputExabeamTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputFilesystem": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputFilesystemTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputGoogleBigquery": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputGoogleBigqueryTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputGoogleChronicle": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputGoogleChronicleTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputGoogleCloudLogging": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputGoogleCloudLoggingTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputGoogleCloudObservability": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputGoogleCloudObservabilityTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputGoogleCloudStorage": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputGoogleCloudStorageTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputGooglePubsub": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputGooglePubsubTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputGraphite": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputGraphiteTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputHoneycomb": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputHoneycombTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputInfluxdb": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputInfluxdbTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputKafka": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputKafkaTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputKinesis": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputKinesisTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputMinio": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputMinioTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputMsk": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputMskTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputNewrelic": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputNewrelicEvents": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputNewrelicEventsTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputNewrelicTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputS3": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputS3TypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputSentinel": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputSentinelTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputSignalfx": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputSignalfxTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputSplunk": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputSplunkHec": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputSplunkHecTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputSplunkLb": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputSplunkLbTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputSplunkTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputStatsd": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputStatsdExt": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputStatsdExtTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputStatsdTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputSyslog": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputSyslogTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputTcpjson": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputTcpjsonTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputWavefront": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputWavefrontTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputWebhookFormat2": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputWebhookType2": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputWizHec": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackOutputWizHecTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPayloadFormat": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsAzureDataExplorer": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsAzureDataExplorerTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsAzureEventhub": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsAzureEventhubTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsAzureLogs": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsAzureLogsTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsCloudwatch": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsCloudwatchTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsConfluentCloud": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsConfluentCloudTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsElastic": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsElasticCloud": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsElasticCloudTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsElasticTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsGoogleBigquery": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsGoogleBigqueryTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsGoogleChronicle": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsGoogleChronicleTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsGoogleCloudLogging": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsGoogleCloudLoggingTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsGoogleCloudObservability": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsGoogleCloudObservabilityTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsGooglePubsub": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsGooglePubsubTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsHoneycomb": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsHoneycombTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsInfluxdb": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsInfluxdbTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsKafka": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsKafkaTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsKinesis": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsKinesisTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsMsk": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsMskTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsNewrelic": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsNewrelicEvents": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsNewrelicEventsTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsNewrelicTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsSentinel": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsSentinelTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsSignalfx": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsSignalfxTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsSplunk": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsSplunkHec": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsSplunkHecTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsSplunkLb": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsSplunkLbTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsSplunkTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsStatsd": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsStatsdExt": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsStatsdExtTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsStatsdTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsSyslog": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsSyslogTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsTcpjson": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsTcpjsonTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsWavefront": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsWavefrontTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsWizHec": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPqControlsWizHecTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackPrefixOptional": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackProtocolGoogleCloudObservability": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackProtocolSyslog": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackReportLevel": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackReportMethod": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackSendEventsAs": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackSeveritySyslog": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackTimestampFormat": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackTimestampPrecision": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackTypeAzureBlob": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackTypeAzureDataExplorer": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackTypeAzureEventhub": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackTypeAzureLogs": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackTypeCloudwatch": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackTypeConfluentCloud": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackTypeDevnull": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackTypeElastic": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackTypeElasticCloud": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackTypeExabeam": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackTypeFilesystem": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackTypeGoogleBigquery": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackTypeGoogleChronicle": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackTypeGoogleCloudLogging": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackTypeGoogleCloudObservability": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackTypeGoogleCloudStorage": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackTypeGooglePubsub": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackTypeHoneycomb": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackTypeInfluxdb": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackTypeKafka": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackTypeKinesis": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackTypeMinio": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackTypeMsk": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackTypeNewrelic": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackTypeNewrelicEvents": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackTypeS3": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackTypeSentinel": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackTypeSignalfx": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackTypeSplunk": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackTypeSplunkHec": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackTypeSplunkLb": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackTypeStatsd": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackTypeStatsdExt": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackTypeSyslog": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackTypeTcpjson": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackTypeWavefront": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackTypeWizHec": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackUDMType": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackURLElastic": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackURLElasticTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackURLSplunkHec": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackURLSplunkHecTypedDict": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackWriteAction": ".createoutputsystembypack_outputwebhook_format_2", + "CreateOutputSystemByPackAISIEMEndpointPath": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackAuthentication": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackAuthenticationMethodAlibabaCloudS3": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackAuthenticationMethodChronicle": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackAuthenticationMethodXsiam": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackAuthenticationTypeDynatraceHTTP": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackAuthenticationTypeOpenTelemetry": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackAuthenticationTypePrometheus": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackAuthenticationTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackColumnMapping": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackColumnMappingTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackCustomLabel": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackCustomLabelTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackDataFormatRing": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackDataFormatSumoLogic": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackDataSetSite": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackDatadogSite": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackEndpointDynatraceHTTP": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackEndpointType": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackFormatCriblLake": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackFormatDynatraceHTTP": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackFormatLocalSearchStorage": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackHostNetflow": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackHostNetflowTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackHostSnmp": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackHostSnmpTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackMappingType": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOTLPVersionOpenTelemetry": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputAlibabaCloudS3": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputAlibabaCloudS3TypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputAlphasocS3": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputAlphasocS3TypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputAmazonManagedPrometheus": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputAmazonManagedPrometheusTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputChronicle": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputChronicleTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputClickHouse": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputClickHouseTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputCloudflareR2": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputCloudflareR2TypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputCloudianS3": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputCloudianS3TypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputCriblHTTP": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputCriblHTTPTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputCriblLake": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputCriblLakeTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputCriblSearchEngine": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputCriblSearchEngineTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputCriblTCP": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputCriblTCPTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputCrowdstrikeNextGenSiem": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputCrowdstrikeNextGenSiemTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputCustomerMetricsStorage": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputCustomerMetricsStorageTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputDatabricks": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputDatabricksTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputDatadog": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputDatadogTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputDataset": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputDatasetTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputDellS3": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputDellS3TypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputDiskSpool": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputDiskSpoolTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputDlS3": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputDlS3TypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputDynatraceHTTP": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputDynatraceHTTPTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputDynatraceOtlp": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputDynatraceOtlpTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud1": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud1TypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud2": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud2TypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputGrafanaCloudPqControls1": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputGrafanaCloudPqControls1TypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputGrafanaCloudPqControls2": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputGrafanaCloudPqControls2TypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputGrafanaCloudType1": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputGrafanaCloudType2": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputGrafanaCloudUnion": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputGrafanaCloudUnionTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputHumioHec": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputHumioHecTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputIbmCloudS3": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputIbmCloudS3TypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputLocalSearchStorage": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputLocalSearchStorageTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputLoki": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputLokiTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputMicrosoftFabric": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputMicrosoftFabricTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputNetflow": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputNetflowTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputNutanixObjects": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputNutanixObjectsTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputOpenTelemetry": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputOpenTelemetryTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputPrometheus": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputPrometheusTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputRing": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputRingTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputRouter": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputRouterTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputScalityS3": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputScalityS3TypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputSecurityLake": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputSecurityLakeTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputSentinelOneAiSiem": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputSentinelOneAiSiemTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputServiceNow": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputServiceNowTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputSnmp": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputSnmpTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputSns": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputSnsTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputSqs": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputSqsTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputStorjS3": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputStorjS3TypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputSumoLogic": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputSumoLogicTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputXsiam": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackOutputXsiamTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsAmazonManagedPrometheus": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsAmazonManagedPrometheusTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsChronicle": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsChronicleTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsClickHouse": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsClickHouseTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsCriblHTTP": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsCriblHTTPTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsCriblSearchEngine": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsCriblSearchEngineTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsCriblTCP": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsCriblTCPTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsCrowdstrikeNextGenSiem": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsCrowdstrikeNextGenSiemTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsCustomerMetricsStorage": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsCustomerMetricsStorageTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsDatadog": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsDatadogTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsDataset": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsDatasetTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsDynatraceHTTP": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsDynatraceHTTPTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsDynatraceOtlp": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsDynatraceOtlpTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsGraphite": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsGraphiteTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsHumioHec": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsHumioHecTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsLocalSearchStorage": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsLocalSearchStorageTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsLoki": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsLokiTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsMicrosoftFabric": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsMicrosoftFabricTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsOpenTelemetry": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsOpenTelemetryTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsPrometheus": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsPrometheusTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsSentinelOneAiSiem": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsSentinelOneAiSiemTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsServiceNow": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsServiceNowTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsSns": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsSnsTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsSqs": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsSqsTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsSumoLogic": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsSumoLogicTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsXsiam": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackPqControlsXsiamTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackProtocolDynatraceOtlp": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackQueueType": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackRegion": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackRule": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackRuleTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackSendLogsAs": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackSeverityDatadog": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackSeverityDataset": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackStatsDestination": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackStatsDestinationTypedDict": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTelemetryType": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeAlibabaCloudS3": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeAlphasocS3": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeAmazonManagedPrometheus": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeChronicle": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeClickHouse": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeCloudflareR2": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeCloudianS3": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeCriblHTTP": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeCriblLake": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeCriblSearchEngine": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeCriblTCP": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeCrowdstrikeNextGenSiem": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeCustomerMetricsStorage": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeDatabricks": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeDatadog": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeDataset": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeDellS3": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeDiskSpool": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeDlS3": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeDynatraceHTTP": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeDynatraceOtlp": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeGraphite": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeHumioHec": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeIbmCloudS3": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeLocalSearchStorage": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeLoki": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeMicrosoftFabric": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeNetflow": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeNutanixObjects": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeOpenTelemetry": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypePrometheus": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeRing": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeRouter": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeScalityS3": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeSecurityLake": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeSentinelOneAiSiem": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeServiceNow": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeSnmp": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeSns": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeSqs": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeStorjS3": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeSumoLogic": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackTypeXsiam": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackURLXsiam": ".createoutputsystembypack_pqcontrols_graphite", + "CreateOutputSystemByPackURLXsiamTypedDict": ".createoutputsystembypack_pqcontrols_graphite", "CreateOutputSystemByPackOutputDefault": ".createoutputsystembypack_request", "CreateOutputSystemByPackOutputDefaultTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputDevnull": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputDevnullTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputElastic": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputElasticCloud": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputElasticCloudTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputElasticTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputExabeam": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputExabeamTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputFilesystem": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputFilesystemTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputGoogleChronicle": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputGoogleChronicleTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputGoogleCloudLogging": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputGoogleCloudLoggingTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputGoogleCloudStorage": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputGoogleCloudStorageTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputGooglePubsub": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputGooglePubsubTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputHoneycomb": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputHoneycombTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputInfluxdb": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputInfluxdbTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputKafka": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputKafkaTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputKinesis": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputKinesisTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputMinio": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputMinioTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputMsk": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputMskTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputNewrelic": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputNewrelicEvents": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputNewrelicEventsTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputNewrelicTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputS3": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputS3TypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputSentinel": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputSentinelTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputSignalfx": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputSignalfxTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputSplunk": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputSplunkHec": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputSplunkHecTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputSplunkLb": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputSplunkLbTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputSplunkTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputStatsd": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputStatsdTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputSyslog": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputSyslogTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputTcpjson": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputTcpjsonTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputWavefront": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputWavefrontTypedDict": ".createoutputsystembypack_request", "CreateOutputSystemByPackOutputWebhookAuthenticationType1": ".createoutputsystembypack_request", "CreateOutputSystemByPackOutputWebhookAuthenticationType2": ".createoutputsystembypack_request", "CreateOutputSystemByPackOutputWebhookFormat1": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputWebhookFormat2": ".createoutputsystembypack_request", "CreateOutputSystemByPackOutputWebhookPqControls1": ".createoutputsystembypack_request", "CreateOutputSystemByPackOutputWebhookPqControls1TypedDict": ".createoutputsystembypack_request", "CreateOutputSystemByPackOutputWebhookPqControls2": ".createoutputsystembypack_request", "CreateOutputSystemByPackOutputWebhookPqControls2TypedDict": ".createoutputsystembypack_request", "CreateOutputSystemByPackOutputWebhookType1": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputWebhookType2": ".createoutputsystembypack_request", "CreateOutputSystemByPackOutputWebhookURL1": ".createoutputsystembypack_request", "CreateOutputSystemByPackOutputWebhookURL1TypedDict": ".createoutputsystembypack_request", "CreateOutputSystemByPackOutputWebhookURL2": ".createoutputsystembypack_request", @@ -16036,350 +17050,19 @@ "CreateOutputSystemByPackOutputWebhookWebhook1TypedDict": ".createoutputsystembypack_request", "CreateOutputSystemByPackOutputWebhookWebhook2": ".createoutputsystembypack_request", "CreateOutputSystemByPackOutputWebhookWebhook2TypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputWizHec": ".createoutputsystembypack_request", - "CreateOutputSystemByPackOutputWizHecTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPayloadFormat": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsAzureDataExplorer": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsAzureDataExplorerTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsAzureEventhub": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsAzureEventhubTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsAzureLogs": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsAzureLogsTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsCloudwatch": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsCloudwatchTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsConfluentCloud": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsConfluentCloudTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsElastic": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsElasticCloud": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsElasticCloudTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsElasticTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsGoogleChronicle": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsGoogleChronicleTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsGoogleCloudLogging": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsGoogleCloudLoggingTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsGooglePubsub": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsGooglePubsubTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsHoneycomb": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsHoneycombTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsInfluxdb": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsInfluxdbTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsKafka": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsKafkaTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsKinesis": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsKinesisTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsMsk": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsMskTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsNewrelic": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsNewrelicEvents": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsNewrelicEventsTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsNewrelicTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsSentinel": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsSentinelTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsSignalfx": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsSignalfxTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsSplunk": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsSplunkHec": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsSplunkHecTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsSplunkLb": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsSplunkLbTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsSplunkTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsStatsd": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsStatsdTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsSyslog": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsSyslogTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsTcpjson": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsTcpjsonTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsWavefront": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsWavefrontTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsWizHec": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPqControlsWizHecTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackPrefixOptional": ".createoutputsystembypack_request", - "CreateOutputSystemByPackProtocolSyslog": ".createoutputsystembypack_request", - "CreateOutputSystemByPackReportLevel": ".createoutputsystembypack_request", - "CreateOutputSystemByPackReportMethod": ".createoutputsystembypack_request", "CreateOutputSystemByPackRequest": ".createoutputsystembypack_request", "CreateOutputSystemByPackRequestBody": ".createoutputsystembypack_request", "CreateOutputSystemByPackRequestBodyTypedDict": ".createoutputsystembypack_request", "CreateOutputSystemByPackRequestTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackSendEventsAs": ".createoutputsystembypack_request", - "CreateOutputSystemByPackSeveritySyslog": ".createoutputsystembypack_request", - "CreateOutputSystemByPackTimestampFormat": ".createoutputsystembypack_request", - "CreateOutputSystemByPackTimestampPrecision": ".createoutputsystembypack_request", - "CreateOutputSystemByPackTypeAzureBlob": ".createoutputsystembypack_request", - "CreateOutputSystemByPackTypeAzureDataExplorer": ".createoutputsystembypack_request", - "CreateOutputSystemByPackTypeAzureEventhub": ".createoutputsystembypack_request", - "CreateOutputSystemByPackTypeAzureLogs": ".createoutputsystembypack_request", - "CreateOutputSystemByPackTypeCloudwatch": ".createoutputsystembypack_request", - "CreateOutputSystemByPackTypeConfluentCloud": ".createoutputsystembypack_request", "CreateOutputSystemByPackTypeDefault": ".createoutputsystembypack_request", - "CreateOutputSystemByPackTypeDevnull": ".createoutputsystembypack_request", - "CreateOutputSystemByPackTypeElastic": ".createoutputsystembypack_request", - "CreateOutputSystemByPackTypeElasticCloud": ".createoutputsystembypack_request", - "CreateOutputSystemByPackTypeExabeam": ".createoutputsystembypack_request", - "CreateOutputSystemByPackTypeFilesystem": ".createoutputsystembypack_request", - "CreateOutputSystemByPackTypeGoogleChronicle": ".createoutputsystembypack_request", - "CreateOutputSystemByPackTypeGoogleCloudLogging": ".createoutputsystembypack_request", - "CreateOutputSystemByPackTypeGoogleCloudStorage": ".createoutputsystembypack_request", - "CreateOutputSystemByPackTypeGooglePubsub": ".createoutputsystembypack_request", - "CreateOutputSystemByPackTypeHoneycomb": ".createoutputsystembypack_request", - "CreateOutputSystemByPackTypeInfluxdb": ".createoutputsystembypack_request", - "CreateOutputSystemByPackTypeKafka": ".createoutputsystembypack_request", - "CreateOutputSystemByPackTypeKinesis": ".createoutputsystembypack_request", - "CreateOutputSystemByPackTypeMinio": ".createoutputsystembypack_request", - "CreateOutputSystemByPackTypeMsk": ".createoutputsystembypack_request", - "CreateOutputSystemByPackTypeNewrelic": ".createoutputsystembypack_request", - "CreateOutputSystemByPackTypeNewrelicEvents": ".createoutputsystembypack_request", - "CreateOutputSystemByPackTypeS3": ".createoutputsystembypack_request", - "CreateOutputSystemByPackTypeSentinel": ".createoutputsystembypack_request", - "CreateOutputSystemByPackTypeSignalfx": ".createoutputsystembypack_request", - "CreateOutputSystemByPackTypeSplunk": ".createoutputsystembypack_request", - "CreateOutputSystemByPackTypeSplunkHec": ".createoutputsystembypack_request", - "CreateOutputSystemByPackTypeSplunkLb": ".createoutputsystembypack_request", - "CreateOutputSystemByPackTypeSyslog": ".createoutputsystembypack_request", - "CreateOutputSystemByPackTypeTcpjson": ".createoutputsystembypack_request", - "CreateOutputSystemByPackTypeWavefront": ".createoutputsystembypack_request", - "CreateOutputSystemByPackTypeWizHec": ".createoutputsystembypack_request", - "CreateOutputSystemByPackUDMType": ".createoutputsystembypack_request", - "CreateOutputSystemByPackURLElastic": ".createoutputsystembypack_request", - "CreateOutputSystemByPackURLElasticTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackURLSplunkHec": ".createoutputsystembypack_request", - "CreateOutputSystemByPackURLSplunkHecTypedDict": ".createoutputsystembypack_request", - "CreateOutputSystemByPackWriteAction": ".createoutputsystembypack_request", - "CreateOutputSystemByPackAISIEMEndpointPath": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackAuthentication": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackAuthenticationMethodChronicle": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackAuthenticationMethodCloudflareR2": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackAuthenticationMethodXsiam": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackAuthenticationTypeDynatraceHTTP": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackAuthenticationTypeOpenTelemetry": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackAuthenticationTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackAwsAuthenticationMethod": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackColumnMappingClickHouse": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackColumnMappingClickHouseTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackColumnMappingLocalSearchStorage": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackColumnMappingLocalSearchStorageTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackCustomLabel": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackCustomLabelTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackDataFormatRing": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackDataFormatSumoLogic": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackDataSetSite": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackDatadogSite": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackEndpoint": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackEndpointType": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackFormatClickHouse": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackFormatCriblLake": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackFormatDynatraceHTTP": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackFormatLocalSearchStorage": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackHostNetflow": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackHostNetflowTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackHostSnmp": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackHostSnmpTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackMappingTypeClickHouse": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackMappingTypeLocalSearchStorage": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOTLPVersion": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputAlibabaCloudS3": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputAlibabaCloudS3TypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputAlphasocS3": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputAlphasocS3TypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputChronicle": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputChronicleTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputClickHouse": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputClickHouseTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputCloudflareR2": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputCloudflareR2TypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputCloudianS3": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputCloudianS3TypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputCriblHTTP": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputCriblHTTPTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputCriblLake": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputCriblLakeTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputCriblSearchEngine": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputCriblSearchEngineTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputCriblTCP": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputCriblTCPTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputCrowdstrikeNextGenSiem": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputCrowdstrikeNextGenSiemTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputDatabricks": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputDatabricksTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputDatadog": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputDatadogTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputDataset": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputDatasetTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputDellS3": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputDellS3TypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputDiskSpool": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputDiskSpoolTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputDlS3": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputDlS3TypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputDynatraceHTTP": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputDynatraceHTTPTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputDynatraceOtlp": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputDynatraceOtlpTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud1": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud1TypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud2": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud2TypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputGrafanaCloudPqControls1": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputGrafanaCloudPqControls1TypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputGrafanaCloudPqControls2": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputGrafanaCloudPqControls2TypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputGrafanaCloudType1": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputGrafanaCloudType2": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputGrafanaCloudUnion": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputGrafanaCloudUnionTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputGraphite": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputGraphiteTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputHumioHec": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputHumioHecTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputLocalSearchStorage": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputLocalSearchStorageTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputLoki": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputLokiTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputMicrosoftFabric": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputMicrosoftFabricTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputNetflow": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputNetflowTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputNutanixObjects": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputNutanixObjectsTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputOpenTelemetry": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputOpenTelemetryTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputPrometheus": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputPrometheusTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputRing": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputRingTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputRouter": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputRouterTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputScalityS3": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputScalityS3TypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputSecurityLake": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputSecurityLakeTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputSentinelOneAiSiem": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputSentinelOneAiSiemTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputServiceNow": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputServiceNowTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputSnmp": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputSnmpTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputSns": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputSnsTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputSqs": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputSqsTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputStatsdExt": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputStatsdExtTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputStorjS3": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputStorjS3TypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputSumoLogic": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputSumoLogicTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputXsiam": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackOutputXsiamTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsChronicle": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsChronicleTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsClickHouse": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsClickHouseTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsCriblHTTP": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsCriblHTTPTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsCriblSearchEngine": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsCriblSearchEngineTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsCriblTCP": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsCriblTCPTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsCrowdstrikeNextGenSiem": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsCrowdstrikeNextGenSiemTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsDatadog": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsDatadogTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsDataset": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsDatasetTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsDynatraceHTTP": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsDynatraceHTTPTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsDynatraceOtlp": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsDynatraceOtlpTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsGraphite": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsGraphiteTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsHumioHec": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsHumioHecTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsLocalSearchStorage": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsLocalSearchStorageTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsLoki": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsLokiTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsMicrosoftFabric": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsMicrosoftFabricTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsOpenTelemetry": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsOpenTelemetryTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsPrometheus": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsPrometheusTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsSentinelOneAiSiem": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsSentinelOneAiSiemTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsServiceNow": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsServiceNowTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsSns": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsSnsTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsSqs": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsSqsTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsStatsdExt": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsStatsdExtTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsSumoLogic": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsSumoLogicTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsXsiam": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackPqControlsXsiamTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackProtocolDynatraceOtlp": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackQueueType": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackRegion": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackRule": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackRuleTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackSendLogsAs": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackSeverityDatadog": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackSeverityDataset": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackStatsDestination": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackStatsDestinationTypedDict": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTelemetryType": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeAlibabaCloudS3": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeAlphasocS3": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeChronicle": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeClickHouse": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeCloudflareR2": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeCloudianS3": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeCriblHTTP": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeCriblLake": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeCriblSearchEngine": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeCriblTCP": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeCrowdstrikeNextGenSiem": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeDatabricks": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeDatadog": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeDataset": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeDellS3": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeDiskSpool": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeDlS3": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeDynatraceHTTP": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeDynatraceOtlp": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeGraphite": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeHumioHec": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeLocalSearchStorage": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeLoki": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeMicrosoftFabric": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeNetflow": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeNutanixObjects": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeOpenTelemetry": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypePrometheus": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeRing": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeRouter": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeScalityS3": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeSecurityLake": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeSentinelOneAiSiem": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeServiceNow": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeSnmp": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeSns": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeSqs": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeStatsd": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeStatsdExt": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeStorjS3": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeSumoLogic": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackTypeXsiam": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackURLXsiam": ".createoutputsystembypack_type_statsd", - "CreateOutputSystemByPackURLXsiamTypedDict": ".createoutputsystembypack_type_statsd", "CreateOutputSystemTestByPackAndIDRequest": ".createoutputsystemtestbypackandidop", "CreateOutputSystemTestByPackAndIDRequestTypedDict": ".createoutputsystemtestbypackandidop", "CreateOutputTestByIDRequest": ".createoutputtestbyidop", "CreateOutputTestByIDRequestTypedDict": ".createoutputtestbyidop", "CreatePipelinesByPackRequest": ".createpipelinesbypackop", "CreatePipelinesByPackRequestTypedDict": ".createpipelinesbypackop", + "CreateProductsGroupsByProductRequest": ".createproductsgroupsbyproductop", + "CreateProductsGroupsByProductRequestTypedDict": ".createproductsgroupsbyproductop", "CreateRoutesAppendByIDRequest": ".createroutesappendbyidop", "CreateRoutesAppendByIDRequestTypedDict": ".createroutesappendbyidop", "CreateRoutesAppendByPackAndIDRequest": ".createroutesappendbypackandidop", @@ -16400,8 +17083,11 @@ "DatabaseCollectorConfStateTracking": ".databasecollectorconf", "DatabaseCollectorConfStateTrackingTypedDict": ".databasecollectorconf", "DatabaseCollectorConfTypedDict": ".databasecollectorconf", + "DatabaseConnectionAuthType": ".databaseconnectionauthtype", "DatabaseConnectionConfig": ".databaseconnectionconfig", "DatabaseConnectionConfigTypedDict": ".databaseconnectionconfig", + "DatabaseConnectionResponseEnvelope": ".databaseconnectionresponseenvelope", + "DatabaseConnectionResponseEnvelopeTypedDict": ".databaseconnectionresponseenvelope", "DatabaseConnectionType": ".databaseconnectiontype", "DataCompressionFormatOptionsPersistence": ".datacompressionformatoptionspersistence", "DataFormatOptions": ".dataformatoptions", @@ -16411,8 +17097,6 @@ "ScanMode": ".datasetmetadata", "DatasetMetadataRunInfo": ".datasetmetadataruninfo", "DatasetMetadataRunInfoTypedDict": ".datasetmetadataruninfo", - "DeleteConfigGroupByProductAndIDRequest": ".deleteconfiggroupbyproductandidop", - "DeleteConfigGroupByProductAndIDRequestTypedDict": ".deleteconfiggroupbyproductandidop", "DeleteCriblLakeDatasetByLakeIDAndIDRequest": ".deletecribllakedatasetbylakeidandidop", "DeleteCriblLakeDatasetByLakeIDAndIDRequestTypedDict": ".deletecribllakedatasetbylakeidandidop", "DeleteDatabaseConnectionConfigByIDRequest": ".deletedatabaseconnectionconfigbyidop", @@ -16439,6 +17123,8 @@ "DeletePipelinesByIDRequestTypedDict": ".deletepipelinesbyidop", "DeletePipelinesByPackAndIDRequest": ".deletepipelinesbypackandidop", "DeletePipelinesByPackAndIDRequestTypedDict": ".deletepipelinesbypackandidop", + "DeleteProductsGroupsByProductAndIDRequest": ".deleteproductsgroupsbyproductandidop", + "DeleteProductsGroupsByProductAndIDRequestTypedDict": ".deleteproductsgroupsbyproductandidop", "DeleteSavedJobByIDRequest": ".deletesavedjobbyidop", "DeleteSavedJobByIDRequestTypedDict": ".deletesavedjobbyidop", "DeployRequest": ".deployrequest", @@ -16451,11 +17137,12 @@ "DestinationType": ".destinationtype", "Block": ".difffiles", "BlockTypedDict": ".difffiles", + "ChecksumBefore": ".difffiles", + "ChecksumBeforeTypedDict": ".difffiles", "DiffFiles": ".difffiles", "DiffFilesTypedDict": ".difffiles", - "DiffLine": ".diffline", - "DiffLineTypedDict": ".diffline", - "UnknownDiffLine": ".diffline", + "OldMode": ".difffiles", + "OldModeTypedDict": ".difffiles", "DiffLineContext": ".difflinecontext", "DiffLineContextType": ".difflinecontext", "DiffLineContextTypedDict": ".difflinecontext", @@ -16474,13 +17161,11 @@ "DistributedSummaryGroups": ".distributedsummary", "DistributedSummaryGroupsTypedDict": ".distributedsummary", "DistributedSummaryTypedDict": ".distributedsummary", - "DistributedSummaryWorkers": ".distributedsummary", - "DistributedSummaryWorkersTypedDict": ".distributedsummary", + "Workers": ".distributedsummary", + "WorkersTypedDict": ".distributedsummary", "EmptyObject": ".emptyobject", "EmptyObjectTypedDict": ".emptyobject", "EstimatedIngestRateOptionsConfigGroup": ".estimatedingestrateoptionsconfiggroup", - "EventBreakerRuleFields": ".eventbreakerrulefields", - "EventBreakerRuleFieldsTypedDict": ".eventbreakerrulefields", "EventBreakerTypeOptionsEventBreakerExistingOrNewNew": ".eventbreakertypeoptionseventbreakerexistingornewnew", "ExecutorSpecificSettingsTypeRunnableJobExecutorExecutor": ".executorspecificsettingstyperunnablejobexecutorexecutor", "ExecutorSpecificSettingsTypeRunnableJobExecutorExecutorTypedDict": ".executorspecificsettingstyperunnablejobexecutorexecutor", @@ -16491,12 +17176,11 @@ "FailedRequestLoggingModeOptions": ".failedrequestloggingmodeoptions", "FeatureFlagOverrideConfSystemSettingsConf": ".featureflagoverrideconfsystemsettingsconf", "FeatureFlagOverrideConfSystemSettingsConfTypedDict": ".featureflagoverrideconfsystemsettingsconf", - "FilesTypeGitCommitSummary": ".filestypegitcommitsummary", - "FilesTypeGitCommitSummaryTypedDict": ".filestypegitcommitsummary", "FilesystemCollectorConf": ".filesystemcollectorconf", "FilesystemCollectorConfExtractor": ".filesystemcollectorconf", "FilesystemCollectorConfExtractorTypedDict": ".filesystemcollectorconf", "FilesystemCollectorConfTypedDict": ".filesystemcollectorconf", + "FormatOptions": ".formatoptions", "FormatOptionsCriblLakeDataset": ".formatoptionscribllakedataset", "FunctionAggregateMetrics": ".functionaggregatemetrics", "FunctionAggregateMetricsID": ".functionaggregatemetrics", @@ -16569,8 +17253,8 @@ "FunctionConfSchemaLimitTypedDict": ".functionconfschemalimit", "FunctionConfSchemaLocalSearchDatatypeParser": ".functionconfschemalocalsearchdatatypeparser", "FunctionConfSchemaLocalSearchDatatypeParserTypedDict": ".functionconfschemalocalsearchdatatypeparser", - "FullRulesetIEForUseWithLiveDataCaptureWhichUsesDraftUnsavedRulesets": ".functionconfschemalocalsearchrulesetrunner", - "FullRulesetIEForUseWithLiveDataCaptureWhichUsesDraftUnsavedRulesetsTypedDict": ".functionconfschemalocalsearchrulesetrunner", + "FullRuleset": ".functionconfschemalocalsearchrulesetrunner", + "FullRulesetTypedDict": ".functionconfschemalocalsearchrulesetrunner", "FunctionConfSchemaLocalSearchRulesetRunner": ".functionconfschemalocalsearchrulesetrunner", "FunctionConfSchemaLocalSearchRulesetRunnerTypedDict": ".functionconfschemalocalsearchrulesetrunner", "RulesetType": ".functionconfschemalocalsearchrulesetrunner", @@ -16832,25 +17516,29 @@ "FunctionXMLUnroll": ".functionxmlunroll", "FunctionXMLUnrollID": ".functionxmlunroll", "FunctionXMLUnrollTypedDict": ".functionxmlunroll", - "GetConfigGroupACLByProductAndIDRequest": ".getconfiggroupaclbyproductandidop", - "GetConfigGroupACLByProductAndIDRequestTypedDict": ".getconfiggroupaclbyproductandidop", - "GetConfigGroupACLTeamsByProductAndIDRequest": ".getconfiggroupaclteamsbyproductandidop", - "GetConfigGroupACLTeamsByProductAndIDRequestTypedDict": ".getconfiggroupaclteamsbyproductandidop", - "GetConfigGroupByProductAndIDRequest": ".getconfiggroupbyproductandidop", - "GetConfigGroupByProductAndIDRequestTypedDict": ".getconfiggroupbyproductandidop", - "GetConfigGroupConfigVersionByProductAndIDRequest": ".getconfiggroupconfigversionbyproductandidop", - "GetConfigGroupConfigVersionByProductAndIDRequestTypedDict": ".getconfiggroupconfigversionbyproductandidop", "GetCriblLakeDatasetByLakeIDAndIDRequest": ".getcribllakedatasetbylakeidandidop", "GetCriblLakeDatasetByLakeIDAndIDRequestTypedDict": ".getcribllakedatasetbylakeidandidop", "GetCriblLakeDatasetByLakeIDFormat": ".getcribllakedatasetbylakeidop", "GetCriblLakeDatasetByLakeIDRequest": ".getcribllakedatasetbylakeidop", "GetCriblLakeDatasetByLakeIDRequestTypedDict": ".getcribllakedatasetbylakeidop", + "GetCriblLakeDatasetByLakeIDResponse": ".getcribllakedatasetbylakeidop", + "GetCriblLakeDatasetByLakeIDResponseBody": ".getcribllakedatasetbylakeidop", + "GetCriblLakeDatasetByLakeIDResponseBodyTypedDict": ".getcribllakedatasetbylakeidop", + "GetCriblLakeDatasetByLakeIDResponseTypedDict": ".getcribllakedatasetbylakeidop", "GetDatabaseConnectionConfigByIDRequest": ".getdatabaseconnectionconfigbyidop", "GetDatabaseConnectionConfigByIDRequestTypedDict": ".getdatabaseconnectionconfigbyidop", "GetDatabaseConnectionConfigRequest": ".getdatabaseconnectionconfigop", "GetDatabaseConnectionConfigRequestTypedDict": ".getdatabaseconnectionconfigop", + "GetDatabaseConnectionConfigResponse": ".getdatabaseconnectionconfigop", + "GetDatabaseConnectionConfigResponseTypedDict": ".getdatabaseconnectionconfigop", "GetFunctionsByIDRequest": ".getfunctionsbyidop", "GetFunctionsByIDRequestTypedDict": ".getfunctionsbyidop", + "GetFunctionsRequest": ".getfunctionsop", + "GetFunctionsRequestTypedDict": ".getfunctionsop", + "GetFunctionsResponse": ".getfunctionsop", + "GetFunctionsResponseBody": ".getfunctionsop", + "GetFunctionsResponseBodyTypedDict": ".getfunctionsop", + "GetFunctionsResponseTypedDict": ".getfunctionsop", "GetInputByIDRequest": ".getinputbyidop", "GetInputByIDRequestTypedDict": ".getinputbyidop", "GetInputPqByIDRequest": ".getinputpqbyidop", @@ -16860,17 +17548,25 @@ "GetInputStatusRequest": ".getinputstatusop", "GetInputStatusRequestTypedDict": ".getinputstatusop", "GetInputStatusResponse": ".getinputstatusop", + "GetInputStatusResponseBody": ".getinputstatusop", + "GetInputStatusResponseBodyTypedDict": ".getinputstatusop", "GetInputStatusResponseTypedDict": ".getinputstatusop", "GetInputStatusSystemInputsByPackAndIDRequest": ".getinputstatussysteminputsbypackandidop", "GetInputStatusSystemInputsByPackAndIDRequestTypedDict": ".getinputstatussysteminputsbypackandidop", "GetInputStatusSystemInputsByPackRequest": ".getinputstatussysteminputsbypackop", "GetInputStatusSystemInputsByPackRequestTypedDict": ".getinputstatussysteminputsbypackop", "GetInputStatusSystemInputsByPackResponse": ".getinputstatussysteminputsbypackop", + "GetInputStatusSystemInputsByPackResponseBody": ".getinputstatussysteminputsbypackop", + "GetInputStatusSystemInputsByPackResponseBodyTypedDict": ".getinputstatussysteminputsbypackop", "GetInputStatusSystemInputsByPackResponseTypedDict": ".getinputstatussysteminputsbypackop", "GetInputSystemByPackAndIDRequest": ".getinputsystembypackandidop", "GetInputSystemByPackAndIDRequestTypedDict": ".getinputsystembypackandidop", "GetInputSystemByPackRequest": ".getinputsystembypackop", "GetInputSystemByPackRequestTypedDict": ".getinputsystembypackop", + "GetInputSystemByPackResponse": ".getinputsystembypackop", + "GetInputSystemByPackResponseBody": ".getinputsystembypackop", + "GetInputSystemByPackResponseBodyTypedDict": ".getinputsystembypackop", + "GetInputSystemByPackResponseTypedDict": ".getinputsystembypackop", "GetInputSystemPqByPackAndIDRequest": ".getinputsystempqbypackandidop", "GetInputSystemPqByPackAndIDRequestTypedDict": ".getinputsystempqbypackandidop", "GetOutputByIDRequest": ".getoutputbyidop", @@ -16884,17 +17580,25 @@ "GetOutputStatusRequest": ".getoutputstatusop", "GetOutputStatusRequestTypedDict": ".getoutputstatusop", "GetOutputStatusResponse": ".getoutputstatusop", + "GetOutputStatusResponseBody": ".getoutputstatusop", + "GetOutputStatusResponseBodyTypedDict": ".getoutputstatusop", "GetOutputStatusResponseTypedDict": ".getoutputstatusop", "GetOutputStatusSystemOutputsByPackAndIDRequest": ".getoutputstatussystemoutputsbypackandidop", "GetOutputStatusSystemOutputsByPackAndIDRequestTypedDict": ".getoutputstatussystemoutputsbypackandidop", "GetOutputStatusSystemOutputsByPackRequest": ".getoutputstatussystemoutputsbypackop", "GetOutputStatusSystemOutputsByPackRequestTypedDict": ".getoutputstatussystemoutputsbypackop", "GetOutputStatusSystemOutputsByPackResponse": ".getoutputstatussystemoutputsbypackop", + "GetOutputStatusSystemOutputsByPackResponseBody": ".getoutputstatussystemoutputsbypackop", + "GetOutputStatusSystemOutputsByPackResponseBodyTypedDict": ".getoutputstatussystemoutputsbypackop", "GetOutputStatusSystemOutputsByPackResponseTypedDict": ".getoutputstatussystemoutputsbypackop", "GetOutputSystemByPackAndIDRequest": ".getoutputsystembypackandidop", "GetOutputSystemByPackAndIDRequestTypedDict": ".getoutputsystembypackandidop", "GetOutputSystemByPackRequest": ".getoutputsystembypackop", "GetOutputSystemByPackRequestTypedDict": ".getoutputsystembypackop", + "GetOutputSystemByPackResponse": ".getoutputsystembypackop", + "GetOutputSystemByPackResponseBody": ".getoutputsystembypackop", + "GetOutputSystemByPackResponseBodyTypedDict": ".getoutputsystembypackop", + "GetOutputSystemByPackResponseTypedDict": ".getoutputsystembypackop", "GetOutputSystemPqByPackAndIDRequest": ".getoutputsystempqbypackandidop", "GetOutputSystemPqByPackAndIDRequestTypedDict": ".getoutputsystempqbypackandidop", "GetOutputSystemSamplesByPackAndIDRequest": ".getoutputsystemsamplesbypackandidop", @@ -16903,14 +17607,46 @@ "GetPacksByIDRequestTypedDict": ".getpacksbyidop", "GetPacksRequest": ".getpacksop", "GetPacksRequestTypedDict": ".getpacksop", + "GetPacksResponse": ".getpacksop", + "GetPacksResponseBody": ".getpacksop", + "GetPacksResponseBodyTypedDict": ".getpacksop", + "GetPacksResponseTypedDict": ".getpacksop", "GetPipelinesByIDRequest": ".getpipelinesbyidop", "GetPipelinesByIDRequestTypedDict": ".getpipelinesbyidop", "GetPipelinesByPackAndIDRequest": ".getpipelinesbypackandidop", "GetPipelinesByPackAndIDRequestTypedDict": ".getpipelinesbypackandidop", "GetPipelinesByPackRequest": ".getpipelinesbypackop", "GetPipelinesByPackRequestTypedDict": ".getpipelinesbypackop", + "GetPipelinesByPackResponse": ".getpipelinesbypackop", + "GetPipelinesByPackResponseBody": ".getpipelinesbypackop", + "GetPipelinesByPackResponseBodyTypedDict": ".getpipelinesbypackop", + "GetPipelinesByPackResponseTypedDict": ".getpipelinesbypackop", + "GetPipelinesRequest": ".getpipelinesop", + "GetPipelinesRequestTypedDict": ".getpipelinesop", + "GetPipelinesResponse": ".getpipelinesop", + "GetPipelinesResponseBody": ".getpipelinesop", + "GetPipelinesResponseBodyTypedDict": ".getpipelinesop", + "GetPipelinesResponseTypedDict": ".getpipelinesop", + "GetProductsGroupsACLByProductAndIDRequest": ".getproductsgroupsaclbyproductandidop", + "GetProductsGroupsACLByProductAndIDRequestTypedDict": ".getproductsgroupsaclbyproductandidop", + "GetProductsGroupsACLTeamsByProductAndIDRequest": ".getproductsgroupsaclteamsbyproductandidop", + "GetProductsGroupsACLTeamsByProductAndIDRequestTypedDict": ".getproductsgroupsaclteamsbyproductandidop", + "GetProductsGroupsByProductAndIDRequest": ".getproductsgroupsbyproductandidop", + "GetProductsGroupsByProductAndIDRequestTypedDict": ".getproductsgroupsbyproductandidop", + "GetProductsGroupsByProductRequest": ".getproductsgroupsbyproductop", + "GetProductsGroupsByProductRequestTypedDict": ".getproductsgroupsbyproductop", + "GetProductsGroupsByProductResponse": ".getproductsgroupsbyproductop", + "GetProductsGroupsByProductResponseBody": ".getproductsgroupsbyproductop", + "GetProductsGroupsByProductResponseBodyTypedDict": ".getproductsgroupsbyproductop", + "GetProductsGroupsByProductResponseTypedDict": ".getproductsgroupsbyproductop", + "GetProductsGroupsConfigVersionByProductAndIDRequest": ".getproductsgroupsconfigversionbyproductandidop", + "GetProductsGroupsConfigVersionByProductAndIDRequestTypedDict": ".getproductsgroupsconfigversionbyproductandidop", "GetProductsSummaryByProductRequest": ".getproductssummarybyproductop", "GetProductsSummaryByProductRequestTypedDict": ".getproductssummarybyproductop", + "GetProductsSummaryByProductResponse": ".getproductssummarybyproductop", + "GetProductsSummaryByProductResponseBody": ".getproductssummarybyproductop", + "GetProductsSummaryByProductResponseBodyTypedDict": ".getproductssummarybyproductop", + "GetProductsSummaryByProductResponseTypedDict": ".getproductssummarybyproductop", "GetProductsSummaryWorkersByProductRequest": ".getproductssummaryworkersbyproductop", "GetProductsSummaryWorkersByProductRequestTypedDict": ".getproductssummaryworkersbyproductop", "GetProductsWorkersByProductAndIDRequest": ".getproductsworkersbyproductandidop", @@ -16918,6 +17654,8 @@ "GetProductsWorkersByProductRequest": ".getproductsworkersbyproductop", "GetProductsWorkersByProductRequestTypedDict": ".getproductsworkersbyproductop", "GetProductsWorkersByProductResponse": ".getproductsworkersbyproductop", + "GetProductsWorkersByProductResponseBody": ".getproductsworkersbyproductop", + "GetProductsWorkersByProductResponseBodyTypedDict": ".getproductsworkersbyproductop", "GetProductsWorkersByProductResponseTypedDict": ".getproductsworkersbyproductop", "GetRoutesByIDRequest": ".getroutesbyidop", "GetRoutesByIDRequestTypedDict": ".getroutesbyidop", @@ -16929,6 +17667,10 @@ "GetSavedJobByIDRequestTypedDict": ".getsavedjobbyidop", "GetSavedJobRequest": ".getsavedjobop", "GetSavedJobRequestTypedDict": ".getsavedjobop", + "GetSavedJobResponse": ".getsavedjobop", + "GetSavedJobResponseBody": ".getsavedjobop", + "GetSavedJobResponseBodyTypedDict": ".getsavedjobop", + "GetSavedJobResponseTypedDict": ".getsavedjobop", "GetVersionCountRequest": ".getversioncountop", "GetVersionCountRequestTypedDict": ".getversioncountop", "GetVersionDiffRequest": ".getversiondiffop", @@ -16937,6 +17679,10 @@ "GetVersionFilesRequestTypedDict": ".getversionfilesop", "GetVersionRequest": ".getversionop", "GetVersionRequestTypedDict": ".getversionop", + "GetVersionResponse": ".getversionop", + "GetVersionResponseBody": ".getversionop", + "GetVersionResponseBodyTypedDict": ".getversionop", + "GetVersionResponseTypedDict": ".getversionop", "GetVersionShowRequest": ".getversionshowop", "GetVersionShowRequestTypedDict": ".getversionshowop", "GitCommitBody": ".gitcommitbody", @@ -16944,11 +17690,16 @@ "Author": ".gitcommitsummary", "AuthorTypedDict": ".gitcommitsummary", "GitCommitSummary": ".gitcommitsummary", + "GitCommitSummaryFiles": ".gitcommitsummary", + "GitCommitSummaryFilesTypedDict": ".gitcommitsummary", "GitCommitSummaryTypedDict": ".gitcommitsummary", "Summary": ".gitcommitsummary", "SummaryTypedDict": ".gitcommitsummary", "GitCountResult": ".gitcountresult", "GitCountResultTypedDict": ".gitcountresult", + "GitDiffLines": ".gitdifflines", + "GitDiffLinesTypedDict": ".gitdifflines", + "UnknownGitDiffLines": ".gitdifflines", "GitDiffResult": ".gitdiffresult", "GitDiffResultTypedDict": ".gitdiffresult", "GitFile": ".gitfile", @@ -16969,6 +17720,8 @@ "Audit": ".gitrevertresult", "AuditTypedDict": ".gitrevertresult", "GitRevertResult": ".gitrevertresult", + "GitRevertResultFiles": ".gitrevertresult", + "GitRevertResultFilesTypedDict": ".gitrevertresult", "GitRevertResultTypedDict": ".gitrevertresult", "GitShowResult": ".gitshowresult", "GitShowResultTypedDict": ".gitshowresult", @@ -17405,11 +18158,14 @@ "UnknownHealthCheckCollectorConf": ".healthcheckcollectorconf", "HealthCountType": ".healthcounttype", "HealthCountTypeTypedDict": ".healthcounttype", + "HealthOptionsStatus": ".healthoptionsstatus", + "HealthOverlayStatus": ".healthoverlaystatus", + "HealthOverlayStatusTypedDict": ".healthoverlaystatus", + "UnknownHealthOverlayStatus": ".healthoverlaystatus", "HealthServerStatus": ".healthserverstatus", "HealthServerStatusStatus": ".healthserverstatus", "HealthServerStatusTypedDict": ".healthserverstatus", "Role": ".healthserverstatus", - "HealthStringType": ".healthstringtype", "HeartbeatMetadata": ".heartbeatmetadata", "HeartbeatMetadataTypedDict": ".heartbeatmetadata", "HiddenDefaultBreakersOptionsDatabaseCollectorConf": ".hiddendefaultbreakersoptionsdatabasecollectorconf", @@ -17421,6 +18177,7 @@ "InputTypedDict": ".input", "InputAnthropicComplianceContentConfig": ".inputanthropiccompliance_input", "InputAnthropicComplianceContentConfigTypedDict": ".inputanthropiccompliance_input", + "InputAnthropicComplianceEndpointName": ".inputanthropiccompliance_input", "InputAnthropicComplianceInput": ".inputanthropiccompliance_input", "InputAnthropicComplianceInputTypedDict": ".inputanthropiccompliance_input", "InputAnthropicComplianceManageState": ".inputanthropiccompliance_input", @@ -17444,9 +18201,6 @@ "InputAzureBlobInput": ".inputazureblob_input", "InputAzureBlobInputTypedDict": ".inputazureblob_input", "InputAzureBlobType": ".inputazureblob_input", - "InputCloudflareHecAuthToken": ".inputcloudflarehec_input", - "InputCloudflareHecAuthTokenTypedDict": ".inputcloudflarehec_input", - "InputCloudflareHecAuthenticationMethod": ".inputcloudflarehec_input", "InputCloudflareHecInput": ".inputcloudflarehec_input", "InputCloudflareHecInputTypedDict": ".inputcloudflarehec_input", "InputCloudflareHecTLSSettingsServerSide": ".inputcloudflarehec_input", @@ -17489,6 +18243,8 @@ "InputDatadogAgentInputTypedDict": ".inputdatadogagent_input", "InputDatadogAgentProxyMode": ".inputdatadogagent_input", "InputDatadogAgentProxyModeTypedDict": ".inputdatadogagent_input", + "InputDatadogAgentSamplingRule": ".inputdatadogagent_input", + "InputDatadogAgentSamplingRuleTypedDict": ".inputdatadogagent_input", "InputDatadogAgentType": ".inputdatadogagent_input", "InputDatagenInput": ".inputdatagen_input", "InputDatagenInputTypedDict": ".inputdatagen_input", @@ -17521,6 +18277,8 @@ "InputEventhubAmqpAuthenticationMethod": ".inputeventhubamqp_input", "InputEventhubAmqpAzureBlobStorage": ".inputeventhubamqp_input", "InputEventhubAmqpAzureBlobStorageTypedDict": ".inputeventhubamqp_input", + "InputEventhubAmqpCertificate": ".inputeventhubamqp_input", + "InputEventhubAmqpCertificateTypedDict": ".inputeventhubamqp_input", "InputEventhubAmqpCheckpointing": ".inputeventhubamqp_input", "InputEventhubAmqpCheckpointingTypedDict": ".inputeventhubamqp_input", "InputEventhubAmqpInput": ".inputeventhubamqp_input", @@ -17684,6 +18442,8 @@ "InputResponseCPUModeSystemMetrics": ".inputresponse", "InputResponseCPUSystemMetrics": ".inputresponse", "InputResponseCPUSystemMetricsTypedDict": ".inputresponse", + "InputResponseCertificate": ".inputresponse", + "InputResponseCertificateTypedDict": ".inputresponse", "InputResponseCheckpointing": ".inputresponse", "InputResponseCheckpointingTypedDict": ".inputresponse", "InputResponseCollectors": ".inputresponse", @@ -17711,6 +18471,8 @@ "InputResponseEndpointParamTypedDict": ".inputresponse", "InputResponseFilterSystemMetrics": ".inputresponse", "InputResponseFilterSystemMetricsTypedDict": ".inputresponse", + "InputResponseFirewall": ".inputresponse", + "InputResponseFirewallTypedDict": ".inputresponse", "InputResponseHostSystemMetrics": ".inputresponse", "InputResponseHostSystemMetricsTypedDict": ".inputresponse", "InputResponseInputAzureBlob": ".inputresponse", @@ -17782,7 +18544,11 @@ "InputResponseInputSystemStateTypedDict": ".inputresponse", "InputResponseInputTcpjson": ".inputresponse", "InputResponseInputTcpjsonTypedDict": ".inputresponse", + "InputResponseListeningPorts": ".inputresponse", + "InputResponseListeningPortsTypedDict": ".inputresponse", "InputResponseLogLevelSplunkSearch": ".inputresponse", + "InputResponseLoggedInUsers": ".inputresponse", + "InputResponseLoggedInUsersTypedDict": ".inputresponse", "InputResponseLokiAuth1": ".inputresponse", "InputResponseLokiAuth1TypedDict": ".inputresponse", "InputResponseLokiAuth2": ".inputresponse", @@ -17808,6 +18574,8 @@ "InputResponseProxyModeElastic": ".inputresponse", "InputResponseProxyModeElasticTypedDict": ".inputresponse", "InputResponseScheduleType": ".inputresponse", + "InputResponseServices": ".inputresponse", + "InputResponseServicesTypedDict": ".inputresponse", "InputResponseSplunkHecMetadata": ".inputresponse", "InputResponseSplunkHecMetadataTypedDict": ".inputresponse", "InputResponseSubscriptionPlan": ".inputresponse", @@ -17846,240 +18614,238 @@ "InputResponseTypeTcpjson": ".inputresponse", "InputResponseTypedDict": ".inputresponse", "UnknownInputResponse": ".inputresponse", - "InputResponseAccountType": ".inputresponse_logged_in_users", - "InputResponseAllow": ".inputresponse_logged_in_users", - "InputResponseAllowTypedDict": ".inputresponse_logged_in_users", - "InputResponseAuthMethodsExt": ".inputresponse_logged_in_users", - "InputResponseAuthMethodsExtAuthenticationType": ".inputresponse_logged_in_users", - "InputResponseAuthMethodsExtTypedDict": ".inputresponse_logged_in_users", - "InputResponseAuthTokenCloudflareHec": ".inputresponse_logged_in_users", - "InputResponseAuthTokenCloudflareHecTypedDict": ".inputresponse_logged_in_users", - "InputResponseAuthTokenZscalerHec": ".inputresponse_logged_in_users", - "InputResponseAuthTokenZscalerHecTypedDict": ".inputresponse_logged_in_users", - "InputResponseAuthenticationMethodCloudflareHec": ".inputresponse_logged_in_users", - "InputResponseAuthenticationMethodWef": ".inputresponse_logged_in_users", - "InputResponseAuthenticationTypeOpenTelemetry": ".inputresponse_logged_in_users", - "InputResponseAuthenticationTypeServicenowTable": ".inputresponse_logged_in_users", - "InputResponseCPUModeWindowsMetrics": ".inputresponse_logged_in_users", - "InputResponseCPUWindowsMetrics": ".inputresponse_logged_in_users", - "InputResponseCPUWindowsMetricsTypedDict": ".inputresponse_logged_in_users", - "InputResponseContentConfigAnthropicCompliance": ".inputresponse_logged_in_users", - "InputResponseContentConfigAnthropicComplianceTypedDict": ".inputresponse_logged_in_users", - "InputResponseContentConfigOpenai": ".inputresponse_logged_in_users", - "InputResponseContentConfigOpenaiTypedDict": ".inputresponse_logged_in_users", - "InputResponseContentConfigWiz": ".inputresponse_logged_in_users", - "InputResponseContentConfigWizTypedDict": ".inputresponse_logged_in_users", - "InputResponseCustomWindowsMetrics": ".inputresponse_logged_in_users", - "InputResponseCustomWindowsMetricsTypedDict": ".inputresponse_logged_in_users", - "InputResponseDNS": ".inputresponse_logged_in_users", - "InputResponseDNSTypedDict": ".inputresponse_logged_in_users", - "InputResponseDiskModeWindowsMetrics": ".inputresponse_logged_in_users", - "InputResponseDiskWindowsMetrics": ".inputresponse_logged_in_users", - "InputResponseDiskWindowsMetricsTypedDict": ".inputresponse_logged_in_users", - "InputResponseDisksAndFileSystems": ".inputresponse_logged_in_users", - "InputResponseDisksAndFileSystemsTypedDict": ".inputresponse_logged_in_users", - "InputResponseEventFormat": ".inputresponse_logged_in_users", - "InputResponseFilterAppscope": ".inputresponse_logged_in_users", - "InputResponseFilterAppscopeTypedDict": ".inputresponse_logged_in_users", - "InputResponseFirewall": ".inputresponse_logged_in_users", - "InputResponseFirewallTypedDict": ".inputresponse_logged_in_users", - "InputResponseFormat": ".inputresponse_logged_in_users", - "InputResponseGrantType": ".inputresponse_logged_in_users", - "InputResponseHostInfo": ".inputresponse_logged_in_users", - "InputResponseHostInfoTypedDict": ".inputresponse_logged_in_users", - "InputResponseHostWindowsMetrics": ".inputresponse_logged_in_users", - "InputResponseHostWindowsMetricsTypedDict": ".inputresponse_logged_in_users", - "InputResponseHostsFile": ".inputresponse_logged_in_users", - "InputResponseHostsFileTypedDict": ".inputresponse_logged_in_users", - "InputResponseInputAnthropicCompliance": ".inputresponse_logged_in_users", - "InputResponseInputAnthropicComplianceTypedDict": ".inputresponse_logged_in_users", - "InputResponseInputAppleUnifiedLogs": ".inputresponse_logged_in_users", - "InputResponseInputAppleUnifiedLogsTypedDict": ".inputresponse_logged_in_users", - "InputResponseInputAppscope": ".inputresponse_logged_in_users", - "InputResponseInputAppscopeTypedDict": ".inputresponse_logged_in_users", - "InputResponseInputCloudflareHec": ".inputresponse_logged_in_users", - "InputResponseInputCloudflareHecTypedDict": ".inputresponse_logged_in_users", - "InputResponseInputCriblmetrics": ".inputresponse_logged_in_users", - "InputResponseInputCriblmetricsTypedDict": ".inputresponse_logged_in_users", - "InputResponseInputCrowdstrike": ".inputresponse_logged_in_users", - "InputResponseInputCrowdstrikeTypedDict": ".inputresponse_logged_in_users", - "InputResponseInputDatadogAgent": ".inputresponse_logged_in_users", - "InputResponseInputDatadogAgentTypedDict": ".inputresponse_logged_in_users", - "InputResponseInputDatagen": ".inputresponse_logged_in_users", - "InputResponseInputDatagenTypedDict": ".inputresponse_logged_in_users", - "InputResponseInputFile": ".inputresponse_logged_in_users", - "InputResponseInputFileMode": ".inputresponse_logged_in_users", - "InputResponseInputFileType": ".inputresponse_logged_in_users", - "InputResponseInputFileTypedDict": ".inputresponse_logged_in_users", - "InputResponseInputHTTPRaw": ".inputresponse_logged_in_users", - "InputResponseInputHTTPRawTypedDict": ".inputresponse_logged_in_users", - "InputResponseInputJournalFiles": ".inputresponse_logged_in_users", - "InputResponseInputJournalFilesRule": ".inputresponse_logged_in_users", - "InputResponseInputJournalFilesRuleTypedDict": ".inputresponse_logged_in_users", - "InputResponseInputJournalFilesType": ".inputresponse_logged_in_users", - "InputResponseInputJournalFilesTypedDict": ".inputresponse_logged_in_users", - "InputResponseInputKinesis": ".inputresponse_logged_in_users", - "InputResponseInputKinesisTypedDict": ".inputresponse_logged_in_users", - "InputResponseInputKubeEvents": ".inputresponse_logged_in_users", - "InputResponseInputKubeEventsTypedDict": ".inputresponse_logged_in_users", - "InputResponseInputKubeLogs": ".inputresponse_logged_in_users", - "InputResponseInputKubeLogsTypedDict": ".inputresponse_logged_in_users", - "InputResponseInputKubeMetrics": ".inputresponse_logged_in_users", - "InputResponseInputKubeMetricsTypedDict": ".inputresponse_logged_in_users", - "InputResponseInputMetrics": ".inputresponse_logged_in_users", - "InputResponseInputMetricsTypedDict": ".inputresponse_logged_in_users", - "InputResponseInputModelDrivenTelemetry": ".inputresponse_logged_in_users", - "InputResponseInputModelDrivenTelemetryTypedDict": ".inputresponse_logged_in_users", - "InputResponseInputNetflow": ".inputresponse_logged_in_users", - "InputResponseInputNetflowTypedDict": ".inputresponse_logged_in_users", - "InputResponseInputOkta": ".inputresponse_logged_in_users", - "InputResponseInputOktaTypedDict": ".inputresponse_logged_in_users", - "InputResponseInputOpenTelemetry": ".inputresponse_logged_in_users", - "InputResponseInputOpenTelemetryTypedDict": ".inputresponse_logged_in_users", - "InputResponseInputOpenai": ".inputresponse_logged_in_users", - "InputResponseInputOpenaiComplianceLogs": ".inputresponse_logged_in_users", - "InputResponseInputOpenaiComplianceLogsTypedDict": ".inputresponse_logged_in_users", - "InputResponseInputOpenaiTypedDict": ".inputresponse_logged_in_users", - "InputResponseInputRawUDP": ".inputresponse_logged_in_users", - "InputResponseInputRawUDPTypedDict": ".inputresponse_logged_in_users", - "InputResponseInputS3": ".inputresponse_logged_in_users", - "InputResponseInputS3Inventory": ".inputresponse_logged_in_users", - "InputResponseInputS3InventoryTypedDict": ".inputresponse_logged_in_users", - "InputResponseInputS3TypedDict": ".inputresponse_logged_in_users", - "InputResponseInputSecurityLake": ".inputresponse_logged_in_users", - "InputResponseInputSecurityLakeTypedDict": ".inputresponse_logged_in_users", - "InputResponseInputServicenowTable": ".inputresponse_logged_in_users", - "InputResponseInputServicenowTableTypedDict": ".inputresponse_logged_in_users", - "InputResponseInputSnmp": ".inputresponse_logged_in_users", - "InputResponseInputSnmpTypedDict": ".inputresponse_logged_in_users", - "InputResponseInputSqs": ".inputresponse_logged_in_users", - "InputResponseInputSqsTypedDict": ".inputresponse_logged_in_users", - "InputResponseInputSyslogSyslog1": ".inputresponse_logged_in_users", - "InputResponseInputSyslogSyslog1TypedDict": ".inputresponse_logged_in_users", - "InputResponseInputSyslogSyslog2": ".inputresponse_logged_in_users", - "InputResponseInputSyslogSyslog2TypedDict": ".inputresponse_logged_in_users", - "InputResponseInputSyslogType1": ".inputresponse_logged_in_users", - "InputResponseInputSyslogType2": ".inputresponse_logged_in_users", - "InputResponseInputSyslogUnion": ".inputresponse_logged_in_users", - "InputResponseInputSyslogUnionTypedDict": ".inputresponse_logged_in_users", - "InputResponseInputTCP": ".inputresponse_logged_in_users", - "InputResponseInputTCPTypedDict": ".inputresponse_logged_in_users", - "InputResponseInputWef": ".inputresponse_logged_in_users", - "InputResponseInputWefTypedDict": ".inputresponse_logged_in_users", - "InputResponseInputWinEventLogs": ".inputresponse_logged_in_users", - "InputResponseInputWinEventLogsTypedDict": ".inputresponse_logged_in_users", - "InputResponseInputWindowsMetrics": ".inputresponse_logged_in_users", - "InputResponseInputWindowsMetricsTypedDict": ".inputresponse_logged_in_users", - "InputResponseInputWiz": ".inputresponse_logged_in_users", - "InputResponseInputWizTypedDict": ".inputresponse_logged_in_users", - "InputResponseInputWizWebhook": ".inputresponse_logged_in_users", - "InputResponseInputWizWebhookTypedDict": ".inputresponse_logged_in_users", - "InputResponseInputZscalerHec": ".inputresponse_logged_in_users", - "InputResponseInputZscalerHecTypedDict": ".inputresponse_logged_in_users", - "InputResponseInterfaces": ".inputresponse_logged_in_users", - "InputResponseInterfacesTypedDict": ".inputresponse_logged_in_users", - "InputResponseListeningPorts": ".inputresponse_logged_in_users", - "InputResponseListeningPortsTypedDict": ".inputresponse_logged_in_users", - "InputResponseLogLevelOpenai": ".inputresponse_logged_in_users", - "InputResponseLoggedInUsers": ".inputresponse_logged_in_users", - "InputResponseLoggedInUsersTypedDict": ".inputresponse_logged_in_users", - "InputResponseMTLSSettings": ".inputresponse_logged_in_users", - "InputResponseMTLSSettingsTypedDict": ".inputresponse_logged_in_users", - "InputResponseManageStateAnthropicCompliance": ".inputresponse_logged_in_users", - "InputResponseManageStateAnthropicComplianceTypedDict": ".inputresponse_logged_in_users", - "InputResponseManageStateOpenai": ".inputresponse_logged_in_users", - "InputResponseManageStateOpenaiComplianceLogs": ".inputresponse_logged_in_users", - "InputResponseManageStateOpenaiComplianceLogsTypedDict": ".inputresponse_logged_in_users", - "InputResponseManageStateOpenaiTypedDict": ".inputresponse_logged_in_users", - "InputResponseManageStateServicenowTable": ".inputresponse_logged_in_users", - "InputResponseManageStateServicenowTableTypedDict": ".inputresponse_logged_in_users", - "InputResponseManageStateWiz": ".inputresponse_logged_in_users", - "InputResponseManageStateWizTypedDict": ".inputresponse_logged_in_users", - "InputResponseMemoryModeWindowsMetrics": ".inputresponse_logged_in_users", - "InputResponseMemoryWindowsMetrics": ".inputresponse_logged_in_users", - "InputResponseMemoryWindowsMetricsTypedDict": ".inputresponse_logged_in_users", - "InputResponseNetworkModeWindowsMetrics": ".inputresponse_logged_in_users", - "InputResponseNetworkWindowsMetrics": ".inputresponse_logged_in_users", - "InputResponseNetworkWindowsMetricsTypedDict": ".inputresponse_logged_in_users", - "InputResponseOTLPVersion": ".inputresponse_logged_in_users", - "InputResponsePaginationType": ".inputresponse_logged_in_users", - "InputResponsePersistenceAppscope": ".inputresponse_logged_in_users", - "InputResponsePersistenceAppscopeTypedDict": ".inputresponse_logged_in_users", - "InputResponsePersistenceKubeMetrics": ".inputresponse_logged_in_users", - "InputResponsePersistenceKubeMetricsTypedDict": ".inputresponse_logged_in_users", - "InputResponsePersistenceWindowsMetrics": ".inputresponse_logged_in_users", - "InputResponsePersistenceWindowsMetricsTypedDict": ".inputresponse_logged_in_users", - "InputResponseProtocol": ".inputresponse_logged_in_users", - "InputResponseProxyModeDatadogAgent": ".inputresponse_logged_in_users", - "InputResponseProxyModeDatadogAgentTypedDict": ".inputresponse_logged_in_users", - "InputResponseQuery": ".inputresponse_logged_in_users", - "InputResponseQueryBuilderMode": ".inputresponse_logged_in_users", - "InputResponseQueryTypedDict": ".inputresponse_logged_in_users", - "InputResponseQueueType": ".inputresponse_logged_in_users", - "InputResponseReadModeAppleUnifiedLogs": ".inputresponse_logged_in_users", - "InputResponseReadModeWinEventLogs": ".inputresponse_logged_in_users", - "InputResponseRecordDataFormat": ".inputresponse_logged_in_users", - "InputResponseRoutes": ".inputresponse_logged_in_users", - "InputResponseRoutesTypedDict": ".inputresponse_logged_in_users", - "InputResponseRuleKubeLogs": ".inputresponse_logged_in_users", - "InputResponseRuleKubeLogsTypedDict": ".inputresponse_logged_in_users", - "InputResponseSNMPv3Authentication": ".inputresponse_logged_in_users", - "InputResponseSNMPv3AuthenticationTypedDict": ".inputresponse_logged_in_users", - "InputResponseSample": ".inputresponse_logged_in_users", - "InputResponseSampleTypedDict": ".inputresponse_logged_in_users", - "InputResponseServices": ".inputresponse_logged_in_users", - "InputResponseServicesTypedDict": ".inputresponse_logged_in_users", - "InputResponseShardIteratorStart": ".inputresponse_logged_in_users", - "InputResponseShardLoadBalancing": ".inputresponse_logged_in_users", - "InputResponseSortDirection": ".inputresponse_logged_in_users", - "InputResponseSubscription": ".inputresponse_logged_in_users", - "InputResponseSubscriptionTypedDict": ".inputresponse_logged_in_users", - "InputResponseSystemModeWindowsMetrics": ".inputresponse_logged_in_users", - "InputResponseSystemWindowsMetrics": ".inputresponse_logged_in_users", - "InputResponseSystemWindowsMetricsTypedDict": ".inputresponse_logged_in_users", - "InputResponseTLSSettingsServerSide": ".inputresponse_logged_in_users", - "InputResponseTLSSettingsServerSideTypedDict": ".inputresponse_logged_in_users", - "InputResponseTypeAnthropicCompliance": ".inputresponse_logged_in_users", - "InputResponseTypeAppleUnifiedLogs": ".inputresponse_logged_in_users", - "InputResponseTypeAppscope": ".inputresponse_logged_in_users", - "InputResponseTypeCloudflareHec": ".inputresponse_logged_in_users", - "InputResponseTypeCriblmetrics": ".inputresponse_logged_in_users", - "InputResponseTypeCrowdstrike": ".inputresponse_logged_in_users", - "InputResponseTypeDatadogAgent": ".inputresponse_logged_in_users", - "InputResponseTypeDatagen": ".inputresponse_logged_in_users", - "InputResponseTypeHTTPRaw": ".inputresponse_logged_in_users", - "InputResponseTypeKinesis": ".inputresponse_logged_in_users", - "InputResponseTypeKubeEvents": ".inputresponse_logged_in_users", - "InputResponseTypeKubeLogs": ".inputresponse_logged_in_users", - "InputResponseTypeKubeMetrics": ".inputresponse_logged_in_users", - "InputResponseTypeMetrics": ".inputresponse_logged_in_users", - "InputResponseTypeModelDrivenTelemetry": ".inputresponse_logged_in_users", - "InputResponseTypeNetflow": ".inputresponse_logged_in_users", - "InputResponseTypeOkta": ".inputresponse_logged_in_users", - "InputResponseTypeOpenTelemetry": ".inputresponse_logged_in_users", - "InputResponseTypeOpenai": ".inputresponse_logged_in_users", - "InputResponseTypeOpenaiComplianceLogs": ".inputresponse_logged_in_users", - "InputResponseTypeRawUDP": ".inputresponse_logged_in_users", - "InputResponseTypeS3": ".inputresponse_logged_in_users", - "InputResponseTypeS3Inventory": ".inputresponse_logged_in_users", - "InputResponseTypeSecurityLake": ".inputresponse_logged_in_users", - "InputResponseTypeServicenowTable": ".inputresponse_logged_in_users", - "InputResponseTypeSnmp": ".inputresponse_logged_in_users", - "InputResponseTypeSqs": ".inputresponse_logged_in_users", - "InputResponseTypeSystemState": ".inputresponse_logged_in_users", - "InputResponseTypeTCP": ".inputresponse_logged_in_users", - "InputResponseTypeWef": ".inputresponse_logged_in_users", - "InputResponseTypeWinEventLogs": ".inputresponse_logged_in_users", - "InputResponseTypeWindowsMetrics": ".inputresponse_logged_in_users", - "InputResponseTypeWiz": ".inputresponse_logged_in_users", - "InputResponseTypeWizWebhook": ".inputresponse_logged_in_users", - "InputResponseTypeZscalerHec": ".inputresponse_logged_in_users", - "InputResponseUNIXSocketPermissions": ".inputresponse_logged_in_users", - "InputResponseUNIXSocketPermissionsTypedDict": ".inputresponse_logged_in_users", - "InputResponseUsersAndGroups": ".inputresponse_logged_in_users", - "InputResponseUsersAndGroupsTypedDict": ".inputresponse_logged_in_users", - "InputResponseV3User": ".inputresponse_logged_in_users", - "InputResponseV3UserTypedDict": ".inputresponse_logged_in_users", + "InputResponseAccountType": ".inputresponse_users_and_groups", + "InputResponseAllow": ".inputresponse_users_and_groups", + "InputResponseAllowTypedDict": ".inputresponse_users_and_groups", + "InputResponseAuthMethodsExt": ".inputresponse_users_and_groups", + "InputResponseAuthMethodsExtAuthenticationType": ".inputresponse_users_and_groups", + "InputResponseAuthMethodsExtTypedDict": ".inputresponse_users_and_groups", + "InputResponseAuthTokenZscalerHec": ".inputresponse_users_and_groups", + "InputResponseAuthTokenZscalerHecTypedDict": ".inputresponse_users_and_groups", + "InputResponseAuthenticationMethodWef": ".inputresponse_users_and_groups", + "InputResponseAuthenticationTypeOpenTelemetry": ".inputresponse_users_and_groups", + "InputResponseAuthenticationTypeServicenowTable": ".inputresponse_users_and_groups", + "InputResponseCPUModeWindowsMetrics": ".inputresponse_users_and_groups", + "InputResponseCPUWindowsMetrics": ".inputresponse_users_and_groups", + "InputResponseCPUWindowsMetricsTypedDict": ".inputresponse_users_and_groups", + "InputResponseContentConfigAnthropicCompliance": ".inputresponse_users_and_groups", + "InputResponseContentConfigAnthropicComplianceTypedDict": ".inputresponse_users_and_groups", + "InputResponseContentConfigOpenai": ".inputresponse_users_and_groups", + "InputResponseContentConfigOpenaiTypedDict": ".inputresponse_users_and_groups", + "InputResponseContentConfigWiz": ".inputresponse_users_and_groups", + "InputResponseContentConfigWizTypedDict": ".inputresponse_users_and_groups", + "InputResponseCustomWindowsMetrics": ".inputresponse_users_and_groups", + "InputResponseCustomWindowsMetricsTypedDict": ".inputresponse_users_and_groups", + "InputResponseDNS": ".inputresponse_users_and_groups", + "InputResponseDNSTypedDict": ".inputresponse_users_and_groups", + "InputResponseDiskModeWindowsMetrics": ".inputresponse_users_and_groups", + "InputResponseDiskWindowsMetrics": ".inputresponse_users_and_groups", + "InputResponseDiskWindowsMetricsTypedDict": ".inputresponse_users_and_groups", + "InputResponseDisksAndFileSystems": ".inputresponse_users_and_groups", + "InputResponseDisksAndFileSystemsTypedDict": ".inputresponse_users_and_groups", + "InputResponseEndpointName": ".inputresponse_users_and_groups", + "InputResponseEventFormat": ".inputresponse_users_and_groups", + "InputResponseFilterAppscope": ".inputresponse_users_and_groups", + "InputResponseFilterAppscopeTypedDict": ".inputresponse_users_and_groups", + "InputResponseFormat": ".inputresponse_users_and_groups", + "InputResponseGrantType": ".inputresponse_users_and_groups", + "InputResponseHostInfo": ".inputresponse_users_and_groups", + "InputResponseHostInfoTypedDict": ".inputresponse_users_and_groups", + "InputResponseHostWindowsMetrics": ".inputresponse_users_and_groups", + "InputResponseHostWindowsMetricsTypedDict": ".inputresponse_users_and_groups", + "InputResponseHostsFile": ".inputresponse_users_and_groups", + "InputResponseHostsFileTypedDict": ".inputresponse_users_and_groups", + "InputResponseInputAnthropicCompliance": ".inputresponse_users_and_groups", + "InputResponseInputAnthropicComplianceTypedDict": ".inputresponse_users_and_groups", + "InputResponseInputAppleUnifiedLogs": ".inputresponse_users_and_groups", + "InputResponseInputAppleUnifiedLogsTypedDict": ".inputresponse_users_and_groups", + "InputResponseInputAppscope": ".inputresponse_users_and_groups", + "InputResponseInputAppscopeTypedDict": ".inputresponse_users_and_groups", + "InputResponseInputCloudflareHec": ".inputresponse_users_and_groups", + "InputResponseInputCloudflareHecTypedDict": ".inputresponse_users_and_groups", + "InputResponseInputCriblmetrics": ".inputresponse_users_and_groups", + "InputResponseInputCriblmetricsTypedDict": ".inputresponse_users_and_groups", + "InputResponseInputCrowdstrike": ".inputresponse_users_and_groups", + "InputResponseInputCrowdstrikeTypedDict": ".inputresponse_users_and_groups", + "InputResponseInputDatadogAgent": ".inputresponse_users_and_groups", + "InputResponseInputDatadogAgentTypedDict": ".inputresponse_users_and_groups", + "InputResponseInputDatagen": ".inputresponse_users_and_groups", + "InputResponseInputDatagenTypedDict": ".inputresponse_users_and_groups", + "InputResponseInputFile": ".inputresponse_users_and_groups", + "InputResponseInputFileMode": ".inputresponse_users_and_groups", + "InputResponseInputFileType": ".inputresponse_users_and_groups", + "InputResponseInputFileTypedDict": ".inputresponse_users_and_groups", + "InputResponseInputHTTPRaw": ".inputresponse_users_and_groups", + "InputResponseInputHTTPRawTypedDict": ".inputresponse_users_and_groups", + "InputResponseInputJournalFiles": ".inputresponse_users_and_groups", + "InputResponseInputJournalFilesRule": ".inputresponse_users_and_groups", + "InputResponseInputJournalFilesRuleTypedDict": ".inputresponse_users_and_groups", + "InputResponseInputJournalFilesType": ".inputresponse_users_and_groups", + "InputResponseInputJournalFilesTypedDict": ".inputresponse_users_and_groups", + "InputResponseInputKinesis": ".inputresponse_users_and_groups", + "InputResponseInputKinesisTypedDict": ".inputresponse_users_and_groups", + "InputResponseInputKubeEvents": ".inputresponse_users_and_groups", + "InputResponseInputKubeEventsTypedDict": ".inputresponse_users_and_groups", + "InputResponseInputKubeLogs": ".inputresponse_users_and_groups", + "InputResponseInputKubeLogsTypedDict": ".inputresponse_users_and_groups", + "InputResponseInputKubeMetrics": ".inputresponse_users_and_groups", + "InputResponseInputKubeMetricsTypedDict": ".inputresponse_users_and_groups", + "InputResponseInputMetrics": ".inputresponse_users_and_groups", + "InputResponseInputMetricsTypedDict": ".inputresponse_users_and_groups", + "InputResponseInputModelDrivenTelemetry": ".inputresponse_users_and_groups", + "InputResponseInputModelDrivenTelemetryTypedDict": ".inputresponse_users_and_groups", + "InputResponseInputNetflow": ".inputresponse_users_and_groups", + "InputResponseInputNetflowTypedDict": ".inputresponse_users_and_groups", + "InputResponseInputOkta": ".inputresponse_users_and_groups", + "InputResponseInputOktaTypedDict": ".inputresponse_users_and_groups", + "InputResponseInputOpenTelemetry": ".inputresponse_users_and_groups", + "InputResponseInputOpenTelemetryTypedDict": ".inputresponse_users_and_groups", + "InputResponseInputOpenai": ".inputresponse_users_and_groups", + "InputResponseInputOpenaiComplianceLogs": ".inputresponse_users_and_groups", + "InputResponseInputOpenaiComplianceLogsTypedDict": ".inputresponse_users_and_groups", + "InputResponseInputOpenaiTypedDict": ".inputresponse_users_and_groups", + "InputResponseInputRawUDP": ".inputresponse_users_and_groups", + "InputResponseInputRawUDPTypedDict": ".inputresponse_users_and_groups", + "InputResponseInputS3": ".inputresponse_users_and_groups", + "InputResponseInputS3Inventory": ".inputresponse_users_and_groups", + "InputResponseInputS3InventoryTypedDict": ".inputresponse_users_and_groups", + "InputResponseInputS3TypedDict": ".inputresponse_users_and_groups", + "InputResponseInputSecurityLake": ".inputresponse_users_and_groups", + "InputResponseInputSecurityLakeTypedDict": ".inputresponse_users_and_groups", + "InputResponseInputServicenowTable": ".inputresponse_users_and_groups", + "InputResponseInputServicenowTableTypedDict": ".inputresponse_users_and_groups", + "InputResponseInputSnmp": ".inputresponse_users_and_groups", + "InputResponseInputSnmpTypedDict": ".inputresponse_users_and_groups", + "InputResponseInputSqs": ".inputresponse_users_and_groups", + "InputResponseInputSqsTypedDict": ".inputresponse_users_and_groups", + "InputResponseInputSysdigHec": ".inputresponse_users_and_groups", + "InputResponseInputSysdigHecTypedDict": ".inputresponse_users_and_groups", + "InputResponseInputSyslogSyslog1": ".inputresponse_users_and_groups", + "InputResponseInputSyslogSyslog1TypedDict": ".inputresponse_users_and_groups", + "InputResponseInputSyslogSyslog2": ".inputresponse_users_and_groups", + "InputResponseInputSyslogSyslog2TypedDict": ".inputresponse_users_and_groups", + "InputResponseInputSyslogType1": ".inputresponse_users_and_groups", + "InputResponseInputSyslogType2": ".inputresponse_users_and_groups", + "InputResponseInputSyslogUnion": ".inputresponse_users_and_groups", + "InputResponseInputSyslogUnionTypedDict": ".inputresponse_users_and_groups", + "InputResponseInputTCP": ".inputresponse_users_and_groups", + "InputResponseInputTCPTypedDict": ".inputresponse_users_and_groups", + "InputResponseInputUpwindHec": ".inputresponse_users_and_groups", + "InputResponseInputUpwindHecTypedDict": ".inputresponse_users_and_groups", + "InputResponseInputWef": ".inputresponse_users_and_groups", + "InputResponseInputWefTypedDict": ".inputresponse_users_and_groups", + "InputResponseInputWinEventLogs": ".inputresponse_users_and_groups", + "InputResponseInputWinEventLogsTypedDict": ".inputresponse_users_and_groups", + "InputResponseInputWindowsMetrics": ".inputresponse_users_and_groups", + "InputResponseInputWindowsMetricsTypedDict": ".inputresponse_users_and_groups", + "InputResponseInputWiz": ".inputresponse_users_and_groups", + "InputResponseInputWizTypedDict": ".inputresponse_users_and_groups", + "InputResponseInputWizWebhook": ".inputresponse_users_and_groups", + "InputResponseInputWizWebhookTypedDict": ".inputresponse_users_and_groups", + "InputResponseInputZscalerHec": ".inputresponse_users_and_groups", + "InputResponseInputZscalerHecTypedDict": ".inputresponse_users_and_groups", + "InputResponseInterfaces": ".inputresponse_users_and_groups", + "InputResponseInterfacesTypedDict": ".inputresponse_users_and_groups", + "InputResponseLogLevelOpenai": ".inputresponse_users_and_groups", + "InputResponseMTLSSettings": ".inputresponse_users_and_groups", + "InputResponseMTLSSettingsTypedDict": ".inputresponse_users_and_groups", + "InputResponseManageStateAnthropicCompliance": ".inputresponse_users_and_groups", + "InputResponseManageStateAnthropicComplianceTypedDict": ".inputresponse_users_and_groups", + "InputResponseManageStateOpenai": ".inputresponse_users_and_groups", + "InputResponseManageStateOpenaiComplianceLogs": ".inputresponse_users_and_groups", + "InputResponseManageStateOpenaiComplianceLogsTypedDict": ".inputresponse_users_and_groups", + "InputResponseManageStateOpenaiTypedDict": ".inputresponse_users_and_groups", + "InputResponseManageStateServicenowTable": ".inputresponse_users_and_groups", + "InputResponseManageStateServicenowTableTypedDict": ".inputresponse_users_and_groups", + "InputResponseManageStateWiz": ".inputresponse_users_and_groups", + "InputResponseManageStateWizTypedDict": ".inputresponse_users_and_groups", + "InputResponseMemoryModeWindowsMetrics": ".inputresponse_users_and_groups", + "InputResponseMemoryWindowsMetrics": ".inputresponse_users_and_groups", + "InputResponseMemoryWindowsMetricsTypedDict": ".inputresponse_users_and_groups", + "InputResponseNetworkModeWindowsMetrics": ".inputresponse_users_and_groups", + "InputResponseNetworkWindowsMetrics": ".inputresponse_users_and_groups", + "InputResponseNetworkWindowsMetricsTypedDict": ".inputresponse_users_and_groups", + "InputResponseOTLPVersion": ".inputresponse_users_and_groups", + "InputResponsePaginationType": ".inputresponse_users_and_groups", + "InputResponsePersistenceAppscope": ".inputresponse_users_and_groups", + "InputResponsePersistenceAppscopeTypedDict": ".inputresponse_users_and_groups", + "InputResponsePersistenceKubeMetrics": ".inputresponse_users_and_groups", + "InputResponsePersistenceKubeMetricsTypedDict": ".inputresponse_users_and_groups", + "InputResponsePersistenceWindowsMetrics": ".inputresponse_users_and_groups", + "InputResponsePersistenceWindowsMetricsTypedDict": ".inputresponse_users_and_groups", + "InputResponseProtocol": ".inputresponse_users_and_groups", + "InputResponseProxyModeDatadogAgent": ".inputresponse_users_and_groups", + "InputResponseProxyModeDatadogAgentTypedDict": ".inputresponse_users_and_groups", + "InputResponseQuery": ".inputresponse_users_and_groups", + "InputResponseQueryBuilderMode": ".inputresponse_users_and_groups", + "InputResponseQueryTypedDict": ".inputresponse_users_and_groups", + "InputResponseQueueType": ".inputresponse_users_and_groups", + "InputResponseReadModeAppleUnifiedLogs": ".inputresponse_users_and_groups", + "InputResponseReadModeWinEventLogs": ".inputresponse_users_and_groups", + "InputResponseRecordDataFormat": ".inputresponse_users_and_groups", + "InputResponseRoutes": ".inputresponse_users_and_groups", + "InputResponseRoutesTypedDict": ".inputresponse_users_and_groups", + "InputResponseRuleKubeLogs": ".inputresponse_users_and_groups", + "InputResponseRuleKubeLogsTypedDict": ".inputresponse_users_and_groups", + "InputResponseSNMPv3Authentication": ".inputresponse_users_and_groups", + "InputResponseSNMPv3AuthenticationTypedDict": ".inputresponse_users_and_groups", + "InputResponseSample": ".inputresponse_users_and_groups", + "InputResponseSampleTypedDict": ".inputresponse_users_and_groups", + "InputResponseSamplingRule": ".inputresponse_users_and_groups", + "InputResponseSamplingRuleTypedDict": ".inputresponse_users_and_groups", + "InputResponseShardIteratorStart": ".inputresponse_users_and_groups", + "InputResponseShardLoadBalancing": ".inputresponse_users_and_groups", + "InputResponseSortDirection": ".inputresponse_users_and_groups", + "InputResponseSubscription": ".inputresponse_users_and_groups", + "InputResponseSubscriptionTypedDict": ".inputresponse_users_and_groups", + "InputResponseSystemModeWindowsMetrics": ".inputresponse_users_and_groups", + "InputResponseSystemWindowsMetrics": ".inputresponse_users_and_groups", + "InputResponseSystemWindowsMetricsTypedDict": ".inputresponse_users_and_groups", + "InputResponseTLSSettingsServerSide": ".inputresponse_users_and_groups", + "InputResponseTLSSettingsServerSideTypedDict": ".inputresponse_users_and_groups", + "InputResponseTypeAnthropicCompliance": ".inputresponse_users_and_groups", + "InputResponseTypeAppleUnifiedLogs": ".inputresponse_users_and_groups", + "InputResponseTypeAppscope": ".inputresponse_users_and_groups", + "InputResponseTypeCloudflareHec": ".inputresponse_users_and_groups", + "InputResponseTypeCriblmetrics": ".inputresponse_users_and_groups", + "InputResponseTypeCrowdstrike": ".inputresponse_users_and_groups", + "InputResponseTypeDatadogAgent": ".inputresponse_users_and_groups", + "InputResponseTypeDatagen": ".inputresponse_users_and_groups", + "InputResponseTypeHTTPRaw": ".inputresponse_users_and_groups", + "InputResponseTypeKinesis": ".inputresponse_users_and_groups", + "InputResponseTypeKubeEvents": ".inputresponse_users_and_groups", + "InputResponseTypeKubeLogs": ".inputresponse_users_and_groups", + "InputResponseTypeKubeMetrics": ".inputresponse_users_and_groups", + "InputResponseTypeMetrics": ".inputresponse_users_and_groups", + "InputResponseTypeModelDrivenTelemetry": ".inputresponse_users_and_groups", + "InputResponseTypeNetflow": ".inputresponse_users_and_groups", + "InputResponseTypeOkta": ".inputresponse_users_and_groups", + "InputResponseTypeOpenTelemetry": ".inputresponse_users_and_groups", + "InputResponseTypeOpenai": ".inputresponse_users_and_groups", + "InputResponseTypeOpenaiComplianceLogs": ".inputresponse_users_and_groups", + "InputResponseTypeRawUDP": ".inputresponse_users_and_groups", + "InputResponseTypeS3": ".inputresponse_users_and_groups", + "InputResponseTypeS3Inventory": ".inputresponse_users_and_groups", + "InputResponseTypeSecurityLake": ".inputresponse_users_and_groups", + "InputResponseTypeServicenowTable": ".inputresponse_users_and_groups", + "InputResponseTypeSnmp": ".inputresponse_users_and_groups", + "InputResponseTypeSqs": ".inputresponse_users_and_groups", + "InputResponseTypeSysdigHec": ".inputresponse_users_and_groups", + "InputResponseTypeSystemState": ".inputresponse_users_and_groups", + "InputResponseTypeTCP": ".inputresponse_users_and_groups", + "InputResponseTypeUpwindHec": ".inputresponse_users_and_groups", + "InputResponseTypeWef": ".inputresponse_users_and_groups", + "InputResponseTypeWinEventLogs": ".inputresponse_users_and_groups", + "InputResponseTypeWindowsMetrics": ".inputresponse_users_and_groups", + "InputResponseTypeWiz": ".inputresponse_users_and_groups", + "InputResponseTypeWizWebhook": ".inputresponse_users_and_groups", + "InputResponseTypeZscalerHec": ".inputresponse_users_and_groups", + "InputResponseUNIXSocketPermissions": ".inputresponse_users_and_groups", + "InputResponseUNIXSocketPermissionsTypedDict": ".inputresponse_users_and_groups", + "InputResponseUsersAndGroups": ".inputresponse_users_and_groups", + "InputResponseUsersAndGroupsTypedDict": ".inputresponse_users_and_groups", + "InputResponseV3User": ".inputresponse_users_and_groups", + "InputResponseV3UserTypedDict": ".inputresponse_users_and_groups", "InputS3Input": ".inputs3_input", "InputS3InputTypedDict": ".inputs3_input", "InputS3Type": ".inputs3_input", @@ -18133,6 +18899,9 @@ "InputSqsType": ".inputsqs_input", "InputStatus": ".inputstatus", "InputStatusTypedDict": ".inputstatus", + "InputSysdigHecInput": ".inputsysdighec_input", + "InputSysdigHecInputTypedDict": ".inputsysdighec_input", + "InputSysdigHecType": ".inputsysdighec_input", "InputSyslogInputUnion": ".inputsyslog_input_union", "InputSyslogInputUnionTypedDict": ".inputsyslog_input_union", "InputSyslogSyslogInput1": ".inputsyslog_input_union", @@ -18205,6 +18974,9 @@ "InputTcpjsonInput": ".inputtcpjson_input", "InputTcpjsonInputTypedDict": ".inputtcpjson_input", "InputTcpjsonType": ".inputtcpjson_input", + "InputUpwindHecInput": ".inputupwindhec_input", + "InputUpwindHecInputTypedDict": ".inputupwindhec_input", + "InputUpwindHecType": ".inputupwindhec_input", "InputWefAuthenticationMethod": ".inputwef_input", "InputWefFormat": ".inputwef_input", "InputWefInput": ".inputwef_input", @@ -18280,12 +19052,18 @@ "LakeDatasetSearchConfig": ".lakedatasetsearchconfig", "LakeDatasetSearchConfigTypedDict": ".lakedatasetsearchconfig", "LakehouseConnectionType": ".lakehouseconnectiontype", - "ListConfigGroupByProductRequest": ".listconfiggroupbyproductop", - "ListConfigGroupByProductRequestTypedDict": ".listconfiggroupbyproductop", "ListInputRequest": ".listinputop", "ListInputRequestTypedDict": ".listinputop", + "ListInputResponse": ".listinputop", + "ListInputResponseBody": ".listinputop", + "ListInputResponseBodyTypedDict": ".listinputop", + "ListInputResponseTypedDict": ".listinputop", "ListOutputRequest": ".listoutputop", "ListOutputRequestTypedDict": ".listoutputop", + "ListOutputResponse": ".listoutputop", + "ListOutputResponseBody": ".listoutputop", + "ListOutputResponseBodyTypedDict": ".listoutputop", + "ListOutputResponseTypedDict": ".listoutputop", "LoginInfo": ".logininfo", "LoginInfoTypedDict": ".logininfo", "LogLabelConfOutputGoogleCloudLogging": ".loglabelconfoutputgooglecloudlogging", @@ -18295,15 +19073,18 @@ "LogLevelOptionsContentConfigItemsDebugError": ".logleveloptionscontentconfigitemsdebugerror", "LogLevelOptionsDebugError": ".logleveloptionsdebugerror", "LogLevelOptionsRunnableJobCollectionScheduleRun": ".logleveloptionsrunnablejobcollectionschedulerun", + "MappingTypeOptions": ".mappingtypeoptions", "MasterWorkerEntry": ".masterworkerentry", "MasterWorkerEntryType": ".masterworkerentry", "MasterWorkerEntryTypedDict": ".masterworkerentry", - "MasterWorkerEntryWorkers": ".masterworkerentry", - "MasterWorkerEntryWorkersTypedDict": ".masterworkerentry", + "MasterWorkerProcesses": ".masterworkerprocesses", + "MasterWorkerProcessesTypedDict": ".masterworkerprocesses", "MaximumTLSVersionOptionsRedisDeploymentTypeStandaloneTLSOptions": ".maximumtlsversionoptionsredisdeploymenttypestandalonetlsoptions", "MaximumTLSVersionOptionsTLS": ".maximumtlsversionoptionstls", "MaxS2SVersionOptions": ".maxs2sversionoptions", "MessageFormatOptions": ".messageformatoptions", + "MetadataConfAddHecTokenRequest": ".metadataconfaddhectokenrequest", + "MetadataConfAddHecTokenRequestTypedDict": ".metadataconfaddhectokenrequest", "MetadataConfInputCollection": ".metadataconfinputcollection", "MetadataConfInputCollectionTypedDict": ".metadataconfinputcollection", "MethodOptions": ".methodoptions", @@ -18315,14 +19096,16 @@ "ModeOptionsHost": ".modeoptionshost", "ModeOptionsPq": ".modeoptionspq", "NestedFieldSerializationOptions": ".nestedfieldserializationoptions", + "NoActiveHealthOverlayStatus": ".noactivehealthoverlaystatus", + "NoActiveHealthOverlayStatusTypedDict": ".noactivehealthoverlaystatus", "NodeActiveUpgradeStatus": ".nodeactiveupgradestatus", "NodeFailedUpgradeStatus": ".nodefailedupgradestatus", + "NodeOsInfo": ".nodeosinfo", + "NodeOsInfoTypedDict": ".nodeosinfo", "NodeProvidedInfo": ".nodeprovidedinfo", "NodeProvidedInfoTypedDict": ".nodeprovidedinfo", "Os": ".nodeprovidedinfo", "OsTypedDict": ".nodeprovidedinfo", - "OsUnion": ".nodeprovidedinfo", - "OsUnionTypedDict": ".nodeprovidedinfo", "NodeSkippedUpgradeStatus": ".nodeskippedupgradestatus", "NodeUpgradeState": ".nodeupgradestate", "NodeUpgradeStatus": ".nodeupgradestatus", @@ -18380,6 +19163,8 @@ "ObjectStorageFilterTypedDict": ".objectstoragefilter", "OrphanFileRecoveryType": ".orphanfilerecoverytype", "OrphanFileRecoveryTypeTypedDict": ".orphanfilerecoverytype", + "OsTypeHeartbeatMetadata": ".ostypeheartbeatmetadata", + "OsTypeHeartbeatMetadataTypedDict": ".ostypeheartbeatmetadata", "OtlpVersionOptions": ".otlpversionoptions", "OtlpVersionOptions131": ".otlpversionoptions131", "OutpostNodeInfo": ".outpostnodeinfo", @@ -18387,11 +19172,17 @@ "Output": ".output", "OutputTypedDict": ".output", "OutputAlibabaCloudS3": ".outputalibabaclouds3", + "OutputAlibabaCloudS3AuthenticationMethod": ".outputalibabaclouds3", "OutputAlibabaCloudS3Type": ".outputalibabaclouds3", "OutputAlibabaCloudS3TypedDict": ".outputalibabaclouds3", "OutputAlphasocS3": ".outputalphasocs3", "OutputAlphasocS3Type": ".outputalphasocs3", "OutputAlphasocS3TypedDict": ".outputalphasocs3", + "OutputAmazonManagedPrometheus": ".outputamazonmanagedprometheus", + "OutputAmazonManagedPrometheusPqControls": ".outputamazonmanagedprometheus", + "OutputAmazonManagedPrometheusPqControlsTypedDict": ".outputamazonmanagedprometheus", + "OutputAmazonManagedPrometheusType": ".outputamazonmanagedprometheus", + "OutputAmazonManagedPrometheusTypedDict": ".outputamazonmanagedprometheus", "OutputAzureBlob": ".outputazureblob", "OutputAzureBlobBlobAccessTier": ".outputazureblob", "OutputAzureBlobType": ".outputazureblob", @@ -18434,16 +19225,11 @@ "OutputChronicleType": ".outputchronicle", "OutputChronicleTypedDict": ".outputchronicle", "OutputClickHouse": ".outputclickhouse", - "OutputClickHouseColumnMapping": ".outputclickhouse", - "OutputClickHouseColumnMappingTypedDict": ".outputclickhouse", - "OutputClickHouseFormat": ".outputclickhouse", - "OutputClickHouseMappingType": ".outputclickhouse", "OutputClickHousePqControls": ".outputclickhouse", "OutputClickHousePqControlsTypedDict": ".outputclickhouse", "OutputClickHouseType": ".outputclickhouse", "OutputClickHouseTypedDict": ".outputclickhouse", "OutputCloudflareR2": ".outputcloudflarer2", - "OutputCloudflareR2AuthenticationMethod": ".outputcloudflarer2", "OutputCloudflareR2Type": ".outputcloudflarer2", "OutputCloudflareR2TypedDict": ".outputcloudflarer2", "OutputCloudianS3": ".outputcloudians3", @@ -18465,7 +19251,6 @@ "OutputCriblHTTPType": ".outputcriblhttp", "OutputCriblHTTPTypedDict": ".outputcriblhttp", "OutputCriblLake": ".outputcribllake", - "OutputCriblLakeAwsAuthenticationMethod": ".outputcribllake", "OutputCriblLakeFormat": ".outputcribllake", "OutputCriblLakeType": ".outputcribllake", "OutputCriblLakeTypedDict": ".outputcribllake", @@ -18484,6 +19269,11 @@ "OutputCrowdstrikeNextGenSiemPqControlsTypedDict": ".outputcrowdstrikenextgensiem", "OutputCrowdstrikeNextGenSiemType": ".outputcrowdstrikenextgensiem", "OutputCrowdstrikeNextGenSiemTypedDict": ".outputcrowdstrikenextgensiem", + "OutputCustomerMetricsStorage": ".outputcustomermetricsstorage", + "OutputCustomerMetricsStoragePqControls": ".outputcustomermetricsstorage", + "OutputCustomerMetricsStoragePqControlsTypedDict": ".outputcustomermetricsstorage", + "OutputCustomerMetricsStorageType": ".outputcustomermetricsstorage", + "OutputCustomerMetricsStorageTypedDict": ".outputcustomermetricsstorage", "OutputDatabricks": ".outputdatabricks", "OutputDatabricksType": ".outputdatabricks", "OutputDatabricksTypedDict": ".outputdatabricks", @@ -18553,6 +19343,12 @@ "OutputFilesystem": ".outputfilesystem", "OutputFilesystemType": ".outputfilesystem", "OutputFilesystemTypedDict": ".outputfilesystem", + "OutputGoogleBigquery": ".outputgooglebigquery", + "OutputGoogleBigqueryGoogleAuthenticationMethod": ".outputgooglebigquery", + "OutputGoogleBigqueryPqControls": ".outputgooglebigquery", + "OutputGoogleBigqueryPqControlsTypedDict": ".outputgooglebigquery", + "OutputGoogleBigqueryType": ".outputgooglebigquery", + "OutputGoogleBigqueryTypedDict": ".outputgooglebigquery", "OutputGoogleChronicle": ".outputgooglechronicle", "OutputGoogleChronicleAPIVersion": ".outputgooglechronicle", "OutputGoogleChronicleAuthenticationMethod": ".outputgooglechronicle", @@ -18571,6 +19367,15 @@ "OutputGoogleCloudLoggingPqControlsTypedDict": ".outputgooglecloudlogging", "OutputGoogleCloudLoggingType": ".outputgooglecloudlogging", "OutputGoogleCloudLoggingTypedDict": ".outputgooglecloudlogging", + "OutputGoogleCloudObservability": ".outputgooglecloudobservability", + "OutputGoogleCloudObservabilityEndpoint": ".outputgooglecloudobservability", + "OutputGoogleCloudObservabilityGoogleAuthenticationMethod": ".outputgooglecloudobservability", + "OutputGoogleCloudObservabilityOtlpVersion": ".outputgooglecloudobservability", + "OutputGoogleCloudObservabilityPqControls": ".outputgooglecloudobservability", + "OutputGoogleCloudObservabilityPqControlsTypedDict": ".outputgooglecloudobservability", + "OutputGoogleCloudObservabilityProtocol": ".outputgooglecloudobservability", + "OutputGoogleCloudObservabilityType": ".outputgooglecloudobservability", + "OutputGoogleCloudObservabilityTypedDict": ".outputgooglecloudobservability", "OutputGoogleCloudStorage": ".outputgooglecloudstorage", "OutputGoogleCloudStorageAuthenticationMethod": ".outputgooglecloudstorage", "OutputGoogleCloudStorageType": ".outputgooglecloudstorage", @@ -18607,6 +19412,9 @@ "OutputHumioHecPqControlsTypedDict": ".outputhumiohec", "OutputHumioHecType": ".outputhumiohec", "OutputHumioHecTypedDict": ".outputhumiohec", + "OutputIbmCloudS3": ".outputibmclouds3", + "OutputIbmCloudS3Type": ".outputibmclouds3", + "OutputIbmCloudS3TypedDict": ".outputibmclouds3", "OutputInfluxdb": ".outputinfluxdb", "OutputInfluxdbAuthenticationType": ".outputinfluxdb", "OutputInfluxdbPqControls": ".outputinfluxdb", @@ -18686,122 +19494,22 @@ "OutputOpenTelemetryType": ".outputopentelemetry", "OutputOpenTelemetryTypedDict": ".outputopentelemetry", "OutputPrometheus": ".outputprometheus", + "OutputPrometheusAuthenticationType": ".outputprometheus", "OutputPrometheusPqControls": ".outputprometheus", "OutputPrometheusPqControlsTypedDict": ".outputprometheus", "OutputPrometheusType": ".outputprometheus", "OutputPrometheusTypedDict": ".outputprometheus", "OutputResponse": ".outputresponse", - "OutputResponseAPIVersion": ".outputresponse", - "OutputResponseAdditionalProperty": ".outputresponse", - "OutputResponseAdditionalPropertyTypedDict": ".outputresponse", - "OutputResponseAuthToken": ".outputresponse", - "OutputResponseAuthTokenTypedDict": ".outputresponse", - "OutputResponseAuthType": ".outputresponse", - "OutputResponseAuthenticationMethodAzureDataExplorer": ".outputresponse", - "OutputResponseAuthenticationMethodAzureLogs": ".outputresponse", - "OutputResponseAuthenticationMethodGoogleChronicle": ".outputresponse", - "OutputResponseAuthenticationMethodGoogleCloudStorage": ".outputresponse", - "OutputResponseAuthenticationTypeInfluxdb": ".outputresponse", - "OutputResponseBlobAccessTier": ".outputresponse", - "OutputResponseCertificate": ".outputresponse", - "OutputResponseCertificateTypedDict": ".outputresponse", - "OutputResponseCompression": ".outputresponse", - "OutputResponseElasticVersion": ".outputresponse", - "OutputResponseEndpointConfiguration": ".outputresponse", - "OutputResponseExtentTag": ".outputresponse", - "OutputResponseExtentTagTypedDict": ".outputresponse", - "OutputResponseExtraLogType": ".outputresponse", - "OutputResponseExtraLogTypeTypedDict": ".outputresponse", - "OutputResponseFacility": ".outputresponse", - "OutputResponseFieldName": ".outputresponse", - "OutputResponseFormatSentinel": ".outputresponse", - "OutputResponseIndexerDiscoveryConfigs": ".outputresponse", - "OutputResponseIndexerDiscoveryConfigsTypedDict": ".outputresponse", - "OutputResponseIngestIfNotExist": ".outputresponse", - "OutputResponseIngestIfNotExistTypedDict": ".outputresponse", - "OutputResponseIngestionMode": ".outputresponse", - "OutputResponseLogLocationType": ".outputresponse", - "OutputResponseMessageFormat": ".outputresponse", - "OutputResponseMetadatum": ".outputresponse", - "OutputResponseMetadatumTypedDict": ".outputresponse", - "OutputResponseOutputAzureBlob": ".outputresponse", - "OutputResponseOutputAzureBlobTypedDict": ".outputresponse", - "OutputResponseOutputAzureDataExplorer": ".outputresponse", - "OutputResponseOutputAzureDataExplorerTypedDict": ".outputresponse", - "OutputResponseOutputAzureEventhub": ".outputresponse", - "OutputResponseOutputAzureEventhubTypedDict": ".outputresponse", - "OutputResponseOutputAzureLogs": ".outputresponse", - "OutputResponseOutputAzureLogsTypedDict": ".outputresponse", - "OutputResponseOutputCloudwatch": ".outputresponse", - "OutputResponseOutputCloudwatchTypedDict": ".outputresponse", - "OutputResponseOutputConfluentCloud": ".outputresponse", - "OutputResponseOutputConfluentCloudTypedDict": ".outputresponse", "OutputResponseOutputDefault": ".outputresponse", "OutputResponseOutputDefaultTypedDict": ".outputresponse", - "OutputResponseOutputDevnull": ".outputresponse", - "OutputResponseOutputDevnullTypedDict": ".outputresponse", - "OutputResponseOutputElastic": ".outputresponse", - "OutputResponseOutputElasticCloud": ".outputresponse", - "OutputResponseOutputElasticCloudTypedDict": ".outputresponse", - "OutputResponseOutputElasticTypedDict": ".outputresponse", - "OutputResponseOutputExabeam": ".outputresponse", - "OutputResponseOutputExabeamTypedDict": ".outputresponse", - "OutputResponseOutputFilesystem": ".outputresponse", - "OutputResponseOutputFilesystemTypedDict": ".outputresponse", - "OutputResponseOutputGoogleChronicle": ".outputresponse", - "OutputResponseOutputGoogleChronicleTypedDict": ".outputresponse", - "OutputResponseOutputGoogleCloudLogging": ".outputresponse", - "OutputResponseOutputGoogleCloudLoggingTypedDict": ".outputresponse", - "OutputResponseOutputGoogleCloudStorage": ".outputresponse", - "OutputResponseOutputGoogleCloudStorageTypedDict": ".outputresponse", - "OutputResponseOutputGooglePubsub": ".outputresponse", - "OutputResponseOutputGooglePubsubTypedDict": ".outputresponse", - "OutputResponseOutputHoneycomb": ".outputresponse", - "OutputResponseOutputHoneycombTypedDict": ".outputresponse", - "OutputResponseOutputInfluxdb": ".outputresponse", - "OutputResponseOutputInfluxdbTypedDict": ".outputresponse", - "OutputResponseOutputKafka": ".outputresponse", - "OutputResponseOutputKafkaTypedDict": ".outputresponse", - "OutputResponseOutputKinesis": ".outputresponse", - "OutputResponseOutputKinesisTypedDict": ".outputresponse", - "OutputResponseOutputMinio": ".outputresponse", - "OutputResponseOutputMinioTypedDict": ".outputresponse", - "OutputResponseOutputMsk": ".outputresponse", - "OutputResponseOutputMskTypedDict": ".outputresponse", - "OutputResponseOutputNewrelic": ".outputresponse", - "OutputResponseOutputNewrelicEvents": ".outputresponse", - "OutputResponseOutputNewrelicEventsTypedDict": ".outputresponse", - "OutputResponseOutputNewrelicTypedDict": ".outputresponse", - "OutputResponseOutputS3": ".outputresponse", - "OutputResponseOutputS3TypedDict": ".outputresponse", - "OutputResponseOutputSentinel": ".outputresponse", - "OutputResponseOutputSentinelTypedDict": ".outputresponse", - "OutputResponseOutputSignalfx": ".outputresponse", - "OutputResponseOutputSignalfxTypedDict": ".outputresponse", - "OutputResponseOutputSplunk": ".outputresponse", - "OutputResponseOutputSplunkHec": ".outputresponse", - "OutputResponseOutputSplunkHecTypedDict": ".outputresponse", - "OutputResponseOutputSplunkLb": ".outputresponse", - "OutputResponseOutputSplunkLbTypedDict": ".outputresponse", - "OutputResponseOutputSplunkTypedDict": ".outputresponse", - "OutputResponseOutputStatsd": ".outputresponse", - "OutputResponseOutputStatsdTypedDict": ".outputresponse", - "OutputResponseOutputSyslog": ".outputresponse", - "OutputResponseOutputSyslogTypedDict": ".outputresponse", - "OutputResponseOutputTcpjson": ".outputresponse", - "OutputResponseOutputTcpjsonTypedDict": ".outputresponse", - "OutputResponseOutputWavefront": ".outputresponse", - "OutputResponseOutputWavefrontTypedDict": ".outputresponse", "OutputResponseOutputWebhookAuthenticationType1": ".outputresponse", "OutputResponseOutputWebhookAuthenticationType2": ".outputresponse", "OutputResponseOutputWebhookFormat1": ".outputresponse", - "OutputResponseOutputWebhookFormat2": ".outputresponse", "OutputResponseOutputWebhookPqControls1": ".outputresponse", "OutputResponseOutputWebhookPqControls1TypedDict": ".outputresponse", "OutputResponseOutputWebhookPqControls2": ".outputresponse", "OutputResponseOutputWebhookPqControls2TypedDict": ".outputresponse", "OutputResponseOutputWebhookType1": ".outputresponse", - "OutputResponseOutputWebhookType2": ".outputresponse", "OutputResponseOutputWebhookURL1": ".outputresponse", "OutputResponseOutputWebhookURL1TypedDict": ".outputresponse", "OutputResponseOutputWebhookURL2": ".outputresponse", @@ -18812,342 +19520,467 @@ "OutputResponseOutputWebhookWebhook1TypedDict": ".outputresponse", "OutputResponseOutputWebhookWebhook2": ".outputresponse", "OutputResponseOutputWebhookWebhook2TypedDict": ".outputresponse", - "OutputResponseOutputWizHec": ".outputresponse", - "OutputResponseOutputWizHecTypedDict": ".outputresponse", - "OutputResponsePayloadFormat": ".outputresponse", - "OutputResponsePqControlsAzureDataExplorer": ".outputresponse", - "OutputResponsePqControlsAzureDataExplorerTypedDict": ".outputresponse", - "OutputResponsePqControlsAzureEventhub": ".outputresponse", - "OutputResponsePqControlsAzureEventhubTypedDict": ".outputresponse", - "OutputResponsePqControlsAzureLogs": ".outputresponse", - "OutputResponsePqControlsAzureLogsTypedDict": ".outputresponse", - "OutputResponsePqControlsCloudwatch": ".outputresponse", - "OutputResponsePqControlsCloudwatchTypedDict": ".outputresponse", - "OutputResponsePqControlsConfluentCloud": ".outputresponse", - "OutputResponsePqControlsConfluentCloudTypedDict": ".outputresponse", - "OutputResponsePqControlsElastic": ".outputresponse", - "OutputResponsePqControlsElasticCloud": ".outputresponse", - "OutputResponsePqControlsElasticCloudTypedDict": ".outputresponse", - "OutputResponsePqControlsElasticTypedDict": ".outputresponse", - "OutputResponsePqControlsGoogleChronicle": ".outputresponse", - "OutputResponsePqControlsGoogleChronicleTypedDict": ".outputresponse", - "OutputResponsePqControlsGoogleCloudLogging": ".outputresponse", - "OutputResponsePqControlsGoogleCloudLoggingTypedDict": ".outputresponse", - "OutputResponsePqControlsGooglePubsub": ".outputresponse", - "OutputResponsePqControlsGooglePubsubTypedDict": ".outputresponse", - "OutputResponsePqControlsHoneycomb": ".outputresponse", - "OutputResponsePqControlsHoneycombTypedDict": ".outputresponse", - "OutputResponsePqControlsInfluxdb": ".outputresponse", - "OutputResponsePqControlsInfluxdbTypedDict": ".outputresponse", - "OutputResponsePqControlsKafka": ".outputresponse", - "OutputResponsePqControlsKafkaTypedDict": ".outputresponse", - "OutputResponsePqControlsKinesis": ".outputresponse", - "OutputResponsePqControlsKinesisTypedDict": ".outputresponse", - "OutputResponsePqControlsMsk": ".outputresponse", - "OutputResponsePqControlsMskTypedDict": ".outputresponse", - "OutputResponsePqControlsNewrelic": ".outputresponse", - "OutputResponsePqControlsNewrelicEvents": ".outputresponse", - "OutputResponsePqControlsNewrelicEventsTypedDict": ".outputresponse", - "OutputResponsePqControlsNewrelicTypedDict": ".outputresponse", - "OutputResponsePqControlsSentinel": ".outputresponse", - "OutputResponsePqControlsSentinelTypedDict": ".outputresponse", - "OutputResponsePqControlsSignalfx": ".outputresponse", - "OutputResponsePqControlsSignalfxTypedDict": ".outputresponse", - "OutputResponsePqControlsSplunk": ".outputresponse", - "OutputResponsePqControlsSplunkHec": ".outputresponse", - "OutputResponsePqControlsSplunkHecTypedDict": ".outputresponse", - "OutputResponsePqControlsSplunkLb": ".outputresponse", - "OutputResponsePqControlsSplunkLbTypedDict": ".outputresponse", - "OutputResponsePqControlsSplunkTypedDict": ".outputresponse", - "OutputResponsePqControlsStatsd": ".outputresponse", - "OutputResponsePqControlsStatsdTypedDict": ".outputresponse", - "OutputResponsePqControlsSyslog": ".outputresponse", - "OutputResponsePqControlsSyslogTypedDict": ".outputresponse", - "OutputResponsePqControlsTcpjson": ".outputresponse", - "OutputResponsePqControlsTcpjsonTypedDict": ".outputresponse", - "OutputResponsePqControlsWavefront": ".outputresponse", - "OutputResponsePqControlsWavefrontTypedDict": ".outputresponse", - "OutputResponsePqControlsWizHec": ".outputresponse", - "OutputResponsePqControlsWizHecTypedDict": ".outputresponse", - "OutputResponsePrefixOptional": ".outputresponse", - "OutputResponseProtocolSyslog": ".outputresponse", - "OutputResponseReportLevel": ".outputresponse", - "OutputResponseReportMethod": ".outputresponse", - "OutputResponseSendEventsAs": ".outputresponse", - "OutputResponseSeveritySyslog": ".outputresponse", - "OutputResponseTimestampFormat": ".outputresponse", - "OutputResponseTimestampPrecision": ".outputresponse", - "OutputResponseTypeAzureBlob": ".outputresponse", - "OutputResponseTypeAzureDataExplorer": ".outputresponse", - "OutputResponseTypeAzureEventhub": ".outputresponse", - "OutputResponseTypeAzureLogs": ".outputresponse", - "OutputResponseTypeCloudwatch": ".outputresponse", - "OutputResponseTypeConfluentCloud": ".outputresponse", "OutputResponseTypeDefault": ".outputresponse", - "OutputResponseTypeDevnull": ".outputresponse", - "OutputResponseTypeElastic": ".outputresponse", - "OutputResponseTypeElasticCloud": ".outputresponse", - "OutputResponseTypeExabeam": ".outputresponse", - "OutputResponseTypeFilesystem": ".outputresponse", - "OutputResponseTypeGoogleChronicle": ".outputresponse", - "OutputResponseTypeGoogleCloudLogging": ".outputresponse", - "OutputResponseTypeGoogleCloudStorage": ".outputresponse", - "OutputResponseTypeGooglePubsub": ".outputresponse", - "OutputResponseTypeHoneycomb": ".outputresponse", - "OutputResponseTypeInfluxdb": ".outputresponse", - "OutputResponseTypeKafka": ".outputresponse", - "OutputResponseTypeKinesis": ".outputresponse", - "OutputResponseTypeMinio": ".outputresponse", - "OutputResponseTypeMsk": ".outputresponse", - "OutputResponseTypeNewrelic": ".outputresponse", - "OutputResponseTypeNewrelicEvents": ".outputresponse", - "OutputResponseTypeS3": ".outputresponse", - "OutputResponseTypeSentinel": ".outputresponse", - "OutputResponseTypeSignalfx": ".outputresponse", - "OutputResponseTypeSplunk": ".outputresponse", - "OutputResponseTypeSplunkHec": ".outputresponse", - "OutputResponseTypeSplunkLb": ".outputresponse", - "OutputResponseTypeSyslog": ".outputresponse", - "OutputResponseTypeTcpjson": ".outputresponse", - "OutputResponseTypeWavefront": ".outputresponse", - "OutputResponseTypeWizHec": ".outputresponse", "OutputResponseTypedDict": ".outputresponse", - "OutputResponseUDMType": ".outputresponse", - "OutputResponseURLElastic": ".outputresponse", - "OutputResponseURLElasticTypedDict": ".outputresponse", - "OutputResponseURLSplunkHec": ".outputresponse", - "OutputResponseURLSplunkHecTypedDict": ".outputresponse", - "OutputResponseWriteAction": ".outputresponse", "UnknownOutputResponse": ".outputresponse", - "OutputResponseAISIEMEndpointPath": ".outputresponse_type_statsd", - "OutputResponseAuthentication": ".outputresponse_type_statsd", - "OutputResponseAuthenticationMethodChronicle": ".outputresponse_type_statsd", - "OutputResponseAuthenticationMethodCloudflareR2": ".outputresponse_type_statsd", - "OutputResponseAuthenticationMethodXsiam": ".outputresponse_type_statsd", - "OutputResponseAuthenticationTypeDynatraceHTTP": ".outputresponse_type_statsd", - "OutputResponseAuthenticationTypeOpenTelemetry": ".outputresponse_type_statsd", - "OutputResponseAuthenticationTypedDict": ".outputresponse_type_statsd", - "OutputResponseAwsAuthenticationMethod": ".outputresponse_type_statsd", - "OutputResponseColumnMappingClickHouse": ".outputresponse_type_statsd", - "OutputResponseColumnMappingClickHouseTypedDict": ".outputresponse_type_statsd", - "OutputResponseColumnMappingLocalSearchStorage": ".outputresponse_type_statsd", - "OutputResponseColumnMappingLocalSearchStorageTypedDict": ".outputresponse_type_statsd", - "OutputResponseCustomLabel": ".outputresponse_type_statsd", - "OutputResponseCustomLabelTypedDict": ".outputresponse_type_statsd", - "OutputResponseDataFormatRing": ".outputresponse_type_statsd", - "OutputResponseDataFormatSumoLogic": ".outputresponse_type_statsd", - "OutputResponseDataSetSite": ".outputresponse_type_statsd", - "OutputResponseDatadogSite": ".outputresponse_type_statsd", - "OutputResponseEndpoint": ".outputresponse_type_statsd", - "OutputResponseEndpointType": ".outputresponse_type_statsd", - "OutputResponseFormatClickHouse": ".outputresponse_type_statsd", - "OutputResponseFormatCriblLake": ".outputresponse_type_statsd", - "OutputResponseFormatDynatraceHTTP": ".outputresponse_type_statsd", - "OutputResponseFormatLocalSearchStorage": ".outputresponse_type_statsd", - "OutputResponseHostNetflow": ".outputresponse_type_statsd", - "OutputResponseHostNetflowTypedDict": ".outputresponse_type_statsd", - "OutputResponseHostSnmp": ".outputresponse_type_statsd", - "OutputResponseHostSnmpTypedDict": ".outputresponse_type_statsd", - "OutputResponseMappingTypeClickHouse": ".outputresponse_type_statsd", - "OutputResponseMappingTypeLocalSearchStorage": ".outputresponse_type_statsd", - "OutputResponseOTLPVersion": ".outputresponse_type_statsd", - "OutputResponseOutputAlibabaCloudS3": ".outputresponse_type_statsd", - "OutputResponseOutputAlibabaCloudS3TypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputAlphasocS3": ".outputresponse_type_statsd", - "OutputResponseOutputAlphasocS3TypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputChronicle": ".outputresponse_type_statsd", - "OutputResponseOutputChronicleTypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputClickHouse": ".outputresponse_type_statsd", - "OutputResponseOutputClickHouseTypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputCloudflareR2": ".outputresponse_type_statsd", - "OutputResponseOutputCloudflareR2TypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputCloudianS3": ".outputresponse_type_statsd", - "OutputResponseOutputCloudianS3TypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputCriblHTTP": ".outputresponse_type_statsd", - "OutputResponseOutputCriblHTTPTypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputCriblLake": ".outputresponse_type_statsd", - "OutputResponseOutputCriblLakeTypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputCriblSearchEngine": ".outputresponse_type_statsd", - "OutputResponseOutputCriblSearchEngineTypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputCriblTCP": ".outputresponse_type_statsd", - "OutputResponseOutputCriblTCPTypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputCrowdstrikeNextGenSiem": ".outputresponse_type_statsd", - "OutputResponseOutputCrowdstrikeNextGenSiemTypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputDatabricks": ".outputresponse_type_statsd", - "OutputResponseOutputDatabricksTypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputDatadog": ".outputresponse_type_statsd", - "OutputResponseOutputDatadogTypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputDataset": ".outputresponse_type_statsd", - "OutputResponseOutputDatasetTypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputDellS3": ".outputresponse_type_statsd", - "OutputResponseOutputDellS3TypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputDiskSpool": ".outputresponse_type_statsd", - "OutputResponseOutputDiskSpoolTypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputDlS3": ".outputresponse_type_statsd", - "OutputResponseOutputDlS3TypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputDynatraceHTTP": ".outputresponse_type_statsd", - "OutputResponseOutputDynatraceHTTPTypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputDynatraceOtlp": ".outputresponse_type_statsd", - "OutputResponseOutputDynatraceOtlpTypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputGrafanaCloudGrafanaCloud1": ".outputresponse_type_statsd", - "OutputResponseOutputGrafanaCloudGrafanaCloud1TypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputGrafanaCloudGrafanaCloud2": ".outputresponse_type_statsd", - "OutputResponseOutputGrafanaCloudGrafanaCloud2TypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputGrafanaCloudPqControls1": ".outputresponse_type_statsd", - "OutputResponseOutputGrafanaCloudPqControls1TypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputGrafanaCloudPqControls2": ".outputresponse_type_statsd", - "OutputResponseOutputGrafanaCloudPqControls2TypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputGrafanaCloudType1": ".outputresponse_type_statsd", - "OutputResponseOutputGrafanaCloudType2": ".outputresponse_type_statsd", - "OutputResponseOutputGrafanaCloudUnion": ".outputresponse_type_statsd", - "OutputResponseOutputGrafanaCloudUnionTypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputGraphite": ".outputresponse_type_statsd", - "OutputResponseOutputGraphiteTypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputHumioHec": ".outputresponse_type_statsd", - "OutputResponseOutputHumioHecTypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputLocalSearchStorage": ".outputresponse_type_statsd", - "OutputResponseOutputLocalSearchStorageTypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputLoki": ".outputresponse_type_statsd", - "OutputResponseOutputLokiTypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputMicrosoftFabric": ".outputresponse_type_statsd", - "OutputResponseOutputMicrosoftFabricTypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputNetflow": ".outputresponse_type_statsd", - "OutputResponseOutputNetflowTypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputNutanixObjects": ".outputresponse_type_statsd", - "OutputResponseOutputNutanixObjectsTypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputOpenTelemetry": ".outputresponse_type_statsd", - "OutputResponseOutputOpenTelemetryTypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputPrometheus": ".outputresponse_type_statsd", - "OutputResponseOutputPrometheusTypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputRing": ".outputresponse_type_statsd", - "OutputResponseOutputRingTypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputRouter": ".outputresponse_type_statsd", - "OutputResponseOutputRouterTypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputScalityS3": ".outputresponse_type_statsd", - "OutputResponseOutputScalityS3TypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputSecurityLake": ".outputresponse_type_statsd", - "OutputResponseOutputSecurityLakeTypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputSentinelOneAiSiem": ".outputresponse_type_statsd", - "OutputResponseOutputSentinelOneAiSiemTypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputServiceNow": ".outputresponse_type_statsd", - "OutputResponseOutputServiceNowTypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputSnmp": ".outputresponse_type_statsd", - "OutputResponseOutputSnmpTypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputSns": ".outputresponse_type_statsd", - "OutputResponseOutputSnsTypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputSqs": ".outputresponse_type_statsd", - "OutputResponseOutputSqsTypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputStatsdExt": ".outputresponse_type_statsd", - "OutputResponseOutputStatsdExtTypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputStorjS3": ".outputresponse_type_statsd", - "OutputResponseOutputStorjS3TypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputSumoLogic": ".outputresponse_type_statsd", - "OutputResponseOutputSumoLogicTypedDict": ".outputresponse_type_statsd", - "OutputResponseOutputXsiam": ".outputresponse_type_statsd", - "OutputResponseOutputXsiamTypedDict": ".outputresponse_type_statsd", - "OutputResponsePqControlsChronicle": ".outputresponse_type_statsd", - "OutputResponsePqControlsChronicleTypedDict": ".outputresponse_type_statsd", - "OutputResponsePqControlsClickHouse": ".outputresponse_type_statsd", - "OutputResponsePqControlsClickHouseTypedDict": ".outputresponse_type_statsd", - "OutputResponsePqControlsCriblHTTP": ".outputresponse_type_statsd", - "OutputResponsePqControlsCriblHTTPTypedDict": ".outputresponse_type_statsd", - "OutputResponsePqControlsCriblSearchEngine": ".outputresponse_type_statsd", - "OutputResponsePqControlsCriblSearchEngineTypedDict": ".outputresponse_type_statsd", - "OutputResponsePqControlsCriblTCP": ".outputresponse_type_statsd", - "OutputResponsePqControlsCriblTCPTypedDict": ".outputresponse_type_statsd", - "OutputResponsePqControlsCrowdstrikeNextGenSiem": ".outputresponse_type_statsd", - "OutputResponsePqControlsCrowdstrikeNextGenSiemTypedDict": ".outputresponse_type_statsd", - "OutputResponsePqControlsDatadog": ".outputresponse_type_statsd", - "OutputResponsePqControlsDatadogTypedDict": ".outputresponse_type_statsd", - "OutputResponsePqControlsDataset": ".outputresponse_type_statsd", - "OutputResponsePqControlsDatasetTypedDict": ".outputresponse_type_statsd", - "OutputResponsePqControlsDynatraceHTTP": ".outputresponse_type_statsd", - "OutputResponsePqControlsDynatraceHTTPTypedDict": ".outputresponse_type_statsd", - "OutputResponsePqControlsDynatraceOtlp": ".outputresponse_type_statsd", - "OutputResponsePqControlsDynatraceOtlpTypedDict": ".outputresponse_type_statsd", - "OutputResponsePqControlsGraphite": ".outputresponse_type_statsd", - "OutputResponsePqControlsGraphiteTypedDict": ".outputresponse_type_statsd", - "OutputResponsePqControlsHumioHec": ".outputresponse_type_statsd", - "OutputResponsePqControlsHumioHecTypedDict": ".outputresponse_type_statsd", - "OutputResponsePqControlsLocalSearchStorage": ".outputresponse_type_statsd", - "OutputResponsePqControlsLocalSearchStorageTypedDict": ".outputresponse_type_statsd", - "OutputResponsePqControlsLoki": ".outputresponse_type_statsd", - "OutputResponsePqControlsLokiTypedDict": ".outputresponse_type_statsd", - "OutputResponsePqControlsMicrosoftFabric": ".outputresponse_type_statsd", - "OutputResponsePqControlsMicrosoftFabricTypedDict": ".outputresponse_type_statsd", - "OutputResponsePqControlsOpenTelemetry": ".outputresponse_type_statsd", - "OutputResponsePqControlsOpenTelemetryTypedDict": ".outputresponse_type_statsd", - "OutputResponsePqControlsPrometheus": ".outputresponse_type_statsd", - "OutputResponsePqControlsPrometheusTypedDict": ".outputresponse_type_statsd", - "OutputResponsePqControlsSentinelOneAiSiem": ".outputresponse_type_statsd", - "OutputResponsePqControlsSentinelOneAiSiemTypedDict": ".outputresponse_type_statsd", - "OutputResponsePqControlsServiceNow": ".outputresponse_type_statsd", - "OutputResponsePqControlsServiceNowTypedDict": ".outputresponse_type_statsd", - "OutputResponsePqControlsSns": ".outputresponse_type_statsd", - "OutputResponsePqControlsSnsTypedDict": ".outputresponse_type_statsd", - "OutputResponsePqControlsSqs": ".outputresponse_type_statsd", - "OutputResponsePqControlsSqsTypedDict": ".outputresponse_type_statsd", - "OutputResponsePqControlsStatsdExt": ".outputresponse_type_statsd", - "OutputResponsePqControlsStatsdExtTypedDict": ".outputresponse_type_statsd", - "OutputResponsePqControlsSumoLogic": ".outputresponse_type_statsd", - "OutputResponsePqControlsSumoLogicTypedDict": ".outputresponse_type_statsd", - "OutputResponsePqControlsXsiam": ".outputresponse_type_statsd", - "OutputResponsePqControlsXsiamTypedDict": ".outputresponse_type_statsd", - "OutputResponseProtocolDynatraceOtlp": ".outputresponse_type_statsd", - "OutputResponseQueueType": ".outputresponse_type_statsd", - "OutputResponseRegion": ".outputresponse_type_statsd", - "OutputResponseRule": ".outputresponse_type_statsd", - "OutputResponseRuleTypedDict": ".outputresponse_type_statsd", - "OutputResponseSendLogsAs": ".outputresponse_type_statsd", - "OutputResponseSeverityDatadog": ".outputresponse_type_statsd", - "OutputResponseSeverityDataset": ".outputresponse_type_statsd", - "OutputResponseStatsDestination": ".outputresponse_type_statsd", - "OutputResponseStatsDestinationTypedDict": ".outputresponse_type_statsd", - "OutputResponseTelemetryType": ".outputresponse_type_statsd", - "OutputResponseTypeAlibabaCloudS3": ".outputresponse_type_statsd", - "OutputResponseTypeAlphasocS3": ".outputresponse_type_statsd", - "OutputResponseTypeChronicle": ".outputresponse_type_statsd", - "OutputResponseTypeClickHouse": ".outputresponse_type_statsd", - "OutputResponseTypeCloudflareR2": ".outputresponse_type_statsd", - "OutputResponseTypeCloudianS3": ".outputresponse_type_statsd", - "OutputResponseTypeCriblHTTP": ".outputresponse_type_statsd", - "OutputResponseTypeCriblLake": ".outputresponse_type_statsd", - "OutputResponseTypeCriblSearchEngine": ".outputresponse_type_statsd", - "OutputResponseTypeCriblTCP": ".outputresponse_type_statsd", - "OutputResponseTypeCrowdstrikeNextGenSiem": ".outputresponse_type_statsd", - "OutputResponseTypeDatabricks": ".outputresponse_type_statsd", - "OutputResponseTypeDatadog": ".outputresponse_type_statsd", - "OutputResponseTypeDataset": ".outputresponse_type_statsd", - "OutputResponseTypeDellS3": ".outputresponse_type_statsd", - "OutputResponseTypeDiskSpool": ".outputresponse_type_statsd", - "OutputResponseTypeDlS3": ".outputresponse_type_statsd", - "OutputResponseTypeDynatraceHTTP": ".outputresponse_type_statsd", - "OutputResponseTypeDynatraceOtlp": ".outputresponse_type_statsd", - "OutputResponseTypeGraphite": ".outputresponse_type_statsd", - "OutputResponseTypeHumioHec": ".outputresponse_type_statsd", - "OutputResponseTypeLocalSearchStorage": ".outputresponse_type_statsd", - "OutputResponseTypeLoki": ".outputresponse_type_statsd", - "OutputResponseTypeMicrosoftFabric": ".outputresponse_type_statsd", - "OutputResponseTypeNetflow": ".outputresponse_type_statsd", - "OutputResponseTypeNutanixObjects": ".outputresponse_type_statsd", - "OutputResponseTypeOpenTelemetry": ".outputresponse_type_statsd", - "OutputResponseTypePrometheus": ".outputresponse_type_statsd", - "OutputResponseTypeRing": ".outputresponse_type_statsd", - "OutputResponseTypeRouter": ".outputresponse_type_statsd", - "OutputResponseTypeScalityS3": ".outputresponse_type_statsd", - "OutputResponseTypeSecurityLake": ".outputresponse_type_statsd", - "OutputResponseTypeSentinelOneAiSiem": ".outputresponse_type_statsd", - "OutputResponseTypeServiceNow": ".outputresponse_type_statsd", - "OutputResponseTypeSnmp": ".outputresponse_type_statsd", - "OutputResponseTypeSns": ".outputresponse_type_statsd", - "OutputResponseTypeSqs": ".outputresponse_type_statsd", - "OutputResponseTypeStatsd": ".outputresponse_type_statsd", - "OutputResponseTypeStatsdExt": ".outputresponse_type_statsd", - "OutputResponseTypeStorjS3": ".outputresponse_type_statsd", - "OutputResponseTypeSumoLogic": ".outputresponse_type_statsd", - "OutputResponseTypeXsiam": ".outputresponse_type_statsd", - "OutputResponseURLXsiam": ".outputresponse_type_statsd", - "OutputResponseURLXsiamTypedDict": ".outputresponse_type_statsd", + "OutputResponseAPIVersion": ".outputresponse_outputwebhook_format_2", + "OutputResponseAdditionalProperty": ".outputresponse_outputwebhook_format_2", + "OutputResponseAdditionalPropertyTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseAuthToken": ".outputresponse_outputwebhook_format_2", + "OutputResponseAuthTokenTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseAuthType": ".outputresponse_outputwebhook_format_2", + "OutputResponseAuthenticationMethodAzureDataExplorer": ".outputresponse_outputwebhook_format_2", + "OutputResponseAuthenticationMethodAzureLogs": ".outputresponse_outputwebhook_format_2", + "OutputResponseAuthenticationMethodGoogleChronicle": ".outputresponse_outputwebhook_format_2", + "OutputResponseAuthenticationMethodGoogleCloudStorage": ".outputresponse_outputwebhook_format_2", + "OutputResponseAuthenticationTypeInfluxdb": ".outputresponse_outputwebhook_format_2", + "OutputResponseBlobAccessTier": ".outputresponse_outputwebhook_format_2", + "OutputResponseCertificate": ".outputresponse_outputwebhook_format_2", + "OutputResponseCertificateTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseCompression": ".outputresponse_outputwebhook_format_2", + "OutputResponseElasticVersion": ".outputresponse_outputwebhook_format_2", + "OutputResponseEndpointConfiguration": ".outputresponse_outputwebhook_format_2", + "OutputResponseEndpointGoogleCloudObservability": ".outputresponse_outputwebhook_format_2", + "OutputResponseExtentTag": ".outputresponse_outputwebhook_format_2", + "OutputResponseExtentTagTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseExtraLogType": ".outputresponse_outputwebhook_format_2", + "OutputResponseExtraLogTypeTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseFacility": ".outputresponse_outputwebhook_format_2", + "OutputResponseFieldName": ".outputresponse_outputwebhook_format_2", + "OutputResponseFormatSentinel": ".outputresponse_outputwebhook_format_2", + "OutputResponseGoogleAuthenticationMethodGoogleBigquery": ".outputresponse_outputwebhook_format_2", + "OutputResponseGoogleAuthenticationMethodGoogleCloudObservability": ".outputresponse_outputwebhook_format_2", + "OutputResponseIndexerDiscoveryConfigs": ".outputresponse_outputwebhook_format_2", + "OutputResponseIndexerDiscoveryConfigsTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseIngestIfNotExist": ".outputresponse_outputwebhook_format_2", + "OutputResponseIngestIfNotExistTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseIngestionMode": ".outputresponse_outputwebhook_format_2", + "OutputResponseLogLocationType": ".outputresponse_outputwebhook_format_2", + "OutputResponseMessageFormat": ".outputresponse_outputwebhook_format_2", + "OutputResponseMetadatum": ".outputresponse_outputwebhook_format_2", + "OutputResponseMetadatumTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseOtlpVersionGoogleCloudObservability": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputAzureBlob": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputAzureBlobTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputAzureDataExplorer": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputAzureDataExplorerTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputAzureEventhub": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputAzureEventhubTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputAzureLogs": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputAzureLogsTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputCloudwatch": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputCloudwatchTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputConfluentCloud": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputConfluentCloudTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputDevnull": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputDevnullTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputElastic": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputElasticCloud": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputElasticCloudTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputElasticTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputExabeam": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputExabeamTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputFilesystem": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputFilesystemTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputGoogleBigquery": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputGoogleBigqueryTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputGoogleChronicle": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputGoogleChronicleTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputGoogleCloudLogging": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputGoogleCloudLoggingTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputGoogleCloudObservability": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputGoogleCloudObservabilityTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputGoogleCloudStorage": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputGoogleCloudStorageTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputGooglePubsub": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputGooglePubsubTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputGraphite": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputGraphiteTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputHoneycomb": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputHoneycombTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputInfluxdb": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputInfluxdbTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputKafka": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputKafkaTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputKinesis": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputKinesisTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputMinio": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputMinioTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputMsk": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputMskTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputNewrelic": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputNewrelicEvents": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputNewrelicEventsTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputNewrelicTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputS3": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputS3TypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputSentinel": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputSentinelTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputSignalfx": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputSignalfxTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputSplunk": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputSplunkHec": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputSplunkHecTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputSplunkLb": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputSplunkLbTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputSplunkTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputStatsd": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputStatsdExt": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputStatsdExtTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputStatsdTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputSyslog": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputSyslogTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputTcpjson": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputTcpjsonTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputWavefront": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputWavefrontTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputWebhookFormat2": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputWebhookType2": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputWizHec": ".outputresponse_outputwebhook_format_2", + "OutputResponseOutputWizHecTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponsePayloadFormat": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsAzureDataExplorer": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsAzureDataExplorerTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsAzureEventhub": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsAzureEventhubTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsAzureLogs": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsAzureLogsTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsCloudwatch": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsCloudwatchTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsConfluentCloud": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsConfluentCloudTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsElastic": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsElasticCloud": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsElasticCloudTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsElasticTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsGoogleBigquery": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsGoogleBigqueryTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsGoogleChronicle": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsGoogleChronicleTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsGoogleCloudLogging": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsGoogleCloudLoggingTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsGoogleCloudObservability": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsGoogleCloudObservabilityTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsGooglePubsub": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsGooglePubsubTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsHoneycomb": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsHoneycombTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsInfluxdb": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsInfluxdbTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsKafka": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsKafkaTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsKinesis": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsKinesisTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsMsk": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsMskTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsNewrelic": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsNewrelicEvents": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsNewrelicEventsTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsNewrelicTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsSentinel": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsSentinelTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsSignalfx": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsSignalfxTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsSplunk": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsSplunkHec": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsSplunkHecTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsSplunkLb": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsSplunkLbTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsSplunkTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsStatsd": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsStatsdExt": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsStatsdExtTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsStatsdTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsSyslog": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsSyslogTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsTcpjson": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsTcpjsonTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsWavefront": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsWavefrontTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsWizHec": ".outputresponse_outputwebhook_format_2", + "OutputResponsePqControlsWizHecTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponsePrefixOptional": ".outputresponse_outputwebhook_format_2", + "OutputResponseProtocolGoogleCloudObservability": ".outputresponse_outputwebhook_format_2", + "OutputResponseProtocolSyslog": ".outputresponse_outputwebhook_format_2", + "OutputResponseReportLevel": ".outputresponse_outputwebhook_format_2", + "OutputResponseReportMethod": ".outputresponse_outputwebhook_format_2", + "OutputResponseSendEventsAs": ".outputresponse_outputwebhook_format_2", + "OutputResponseSeveritySyslog": ".outputresponse_outputwebhook_format_2", + "OutputResponseTimestampFormat": ".outputresponse_outputwebhook_format_2", + "OutputResponseTimestampPrecision": ".outputresponse_outputwebhook_format_2", + "OutputResponseTypeAzureBlob": ".outputresponse_outputwebhook_format_2", + "OutputResponseTypeAzureDataExplorer": ".outputresponse_outputwebhook_format_2", + "OutputResponseTypeAzureEventhub": ".outputresponse_outputwebhook_format_2", + "OutputResponseTypeAzureLogs": ".outputresponse_outputwebhook_format_2", + "OutputResponseTypeCloudwatch": ".outputresponse_outputwebhook_format_2", + "OutputResponseTypeConfluentCloud": ".outputresponse_outputwebhook_format_2", + "OutputResponseTypeDevnull": ".outputresponse_outputwebhook_format_2", + "OutputResponseTypeElastic": ".outputresponse_outputwebhook_format_2", + "OutputResponseTypeElasticCloud": ".outputresponse_outputwebhook_format_2", + "OutputResponseTypeExabeam": ".outputresponse_outputwebhook_format_2", + "OutputResponseTypeFilesystem": ".outputresponse_outputwebhook_format_2", + "OutputResponseTypeGoogleBigquery": ".outputresponse_outputwebhook_format_2", + "OutputResponseTypeGoogleChronicle": ".outputresponse_outputwebhook_format_2", + "OutputResponseTypeGoogleCloudLogging": ".outputresponse_outputwebhook_format_2", + "OutputResponseTypeGoogleCloudObservability": ".outputresponse_outputwebhook_format_2", + "OutputResponseTypeGoogleCloudStorage": ".outputresponse_outputwebhook_format_2", + "OutputResponseTypeGooglePubsub": ".outputresponse_outputwebhook_format_2", + "OutputResponseTypeHoneycomb": ".outputresponse_outputwebhook_format_2", + "OutputResponseTypeInfluxdb": ".outputresponse_outputwebhook_format_2", + "OutputResponseTypeKafka": ".outputresponse_outputwebhook_format_2", + "OutputResponseTypeKinesis": ".outputresponse_outputwebhook_format_2", + "OutputResponseTypeMinio": ".outputresponse_outputwebhook_format_2", + "OutputResponseTypeMsk": ".outputresponse_outputwebhook_format_2", + "OutputResponseTypeNewrelic": ".outputresponse_outputwebhook_format_2", + "OutputResponseTypeNewrelicEvents": ".outputresponse_outputwebhook_format_2", + "OutputResponseTypeS3": ".outputresponse_outputwebhook_format_2", + "OutputResponseTypeSentinel": ".outputresponse_outputwebhook_format_2", + "OutputResponseTypeSignalfx": ".outputresponse_outputwebhook_format_2", + "OutputResponseTypeSplunk": ".outputresponse_outputwebhook_format_2", + "OutputResponseTypeSplunkHec": ".outputresponse_outputwebhook_format_2", + "OutputResponseTypeSplunkLb": ".outputresponse_outputwebhook_format_2", + "OutputResponseTypeStatsd": ".outputresponse_outputwebhook_format_2", + "OutputResponseTypeStatsdExt": ".outputresponse_outputwebhook_format_2", + "OutputResponseTypeSyslog": ".outputresponse_outputwebhook_format_2", + "OutputResponseTypeTcpjson": ".outputresponse_outputwebhook_format_2", + "OutputResponseTypeWavefront": ".outputresponse_outputwebhook_format_2", + "OutputResponseTypeWizHec": ".outputresponse_outputwebhook_format_2", + "OutputResponseUDMType": ".outputresponse_outputwebhook_format_2", + "OutputResponseURLElastic": ".outputresponse_outputwebhook_format_2", + "OutputResponseURLElasticTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseURLSplunkHec": ".outputresponse_outputwebhook_format_2", + "OutputResponseURLSplunkHecTypedDict": ".outputresponse_outputwebhook_format_2", + "OutputResponseWriteAction": ".outputresponse_outputwebhook_format_2", + "OutputResponseAISIEMEndpointPath": ".outputresponse_pqcontrols_graphite", + "OutputResponseAuthentication": ".outputresponse_pqcontrols_graphite", + "OutputResponseAuthenticationMethodAlibabaCloudS3": ".outputresponse_pqcontrols_graphite", + "OutputResponseAuthenticationMethodChronicle": ".outputresponse_pqcontrols_graphite", + "OutputResponseAuthenticationMethodXsiam": ".outputresponse_pqcontrols_graphite", + "OutputResponseAuthenticationTypeDynatraceHTTP": ".outputresponse_pqcontrols_graphite", + "OutputResponseAuthenticationTypeOpenTelemetry": ".outputresponse_pqcontrols_graphite", + "OutputResponseAuthenticationTypePrometheus": ".outputresponse_pqcontrols_graphite", + "OutputResponseAuthenticationTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseColumnMapping": ".outputresponse_pqcontrols_graphite", + "OutputResponseColumnMappingTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseCustomLabel": ".outputresponse_pqcontrols_graphite", + "OutputResponseCustomLabelTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseDataFormatRing": ".outputresponse_pqcontrols_graphite", + "OutputResponseDataFormatSumoLogic": ".outputresponse_pqcontrols_graphite", + "OutputResponseDataSetSite": ".outputresponse_pqcontrols_graphite", + "OutputResponseDatadogSite": ".outputresponse_pqcontrols_graphite", + "OutputResponseEndpointDynatraceHTTP": ".outputresponse_pqcontrols_graphite", + "OutputResponseEndpointType": ".outputresponse_pqcontrols_graphite", + "OutputResponseFormatCriblLake": ".outputresponse_pqcontrols_graphite", + "OutputResponseFormatDynatraceHTTP": ".outputresponse_pqcontrols_graphite", + "OutputResponseFormatLocalSearchStorage": ".outputresponse_pqcontrols_graphite", + "OutputResponseHostNetflow": ".outputresponse_pqcontrols_graphite", + "OutputResponseHostNetflowTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseHostSnmp": ".outputresponse_pqcontrols_graphite", + "OutputResponseHostSnmpTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseMappingType": ".outputresponse_pqcontrols_graphite", + "OutputResponseOTLPVersionOpenTelemetry": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputAlibabaCloudS3": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputAlibabaCloudS3TypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputAlphasocS3": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputAlphasocS3TypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputAmazonManagedPrometheus": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputAmazonManagedPrometheusTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputChronicle": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputChronicleTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputClickHouse": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputClickHouseTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputCloudflareR2": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputCloudflareR2TypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputCloudianS3": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputCloudianS3TypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputCriblHTTP": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputCriblHTTPTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputCriblLake": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputCriblLakeTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputCriblSearchEngine": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputCriblSearchEngineTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputCriblTCP": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputCriblTCPTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputCrowdstrikeNextGenSiem": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputCrowdstrikeNextGenSiemTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputCustomerMetricsStorage": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputCustomerMetricsStorageTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputDatabricks": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputDatabricksTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputDatadog": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputDatadogTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputDataset": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputDatasetTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputDellS3": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputDellS3TypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputDiskSpool": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputDiskSpoolTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputDlS3": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputDlS3TypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputDynatraceHTTP": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputDynatraceHTTPTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputDynatraceOtlp": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputDynatraceOtlpTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputGrafanaCloudGrafanaCloud1": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputGrafanaCloudGrafanaCloud1TypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputGrafanaCloudGrafanaCloud2": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputGrafanaCloudGrafanaCloud2TypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputGrafanaCloudPqControls1": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputGrafanaCloudPqControls1TypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputGrafanaCloudPqControls2": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputGrafanaCloudPqControls2TypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputGrafanaCloudType1": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputGrafanaCloudType2": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputGrafanaCloudUnion": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputGrafanaCloudUnionTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputHumioHec": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputHumioHecTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputIbmCloudS3": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputIbmCloudS3TypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputLocalSearchStorage": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputLocalSearchStorageTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputLoki": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputLokiTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputMicrosoftFabric": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputMicrosoftFabricTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputNetflow": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputNetflowTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputNutanixObjects": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputNutanixObjectsTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputOpenTelemetry": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputOpenTelemetryTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputPrometheus": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputPrometheusTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputRing": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputRingTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputRouter": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputRouterTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputScalityS3": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputScalityS3TypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputSecurityLake": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputSecurityLakeTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputSentinelOneAiSiem": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputSentinelOneAiSiemTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputServiceNow": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputServiceNowTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputSnmp": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputSnmpTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputSns": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputSnsTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputSqs": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputSqsTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputStorjS3": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputStorjS3TypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputSumoLogic": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputSumoLogicTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputXsiam": ".outputresponse_pqcontrols_graphite", + "OutputResponseOutputXsiamTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsAmazonManagedPrometheus": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsAmazonManagedPrometheusTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsChronicle": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsChronicleTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsClickHouse": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsClickHouseTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsCriblHTTP": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsCriblHTTPTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsCriblSearchEngine": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsCriblSearchEngineTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsCriblTCP": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsCriblTCPTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsCrowdstrikeNextGenSiem": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsCrowdstrikeNextGenSiemTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsCustomerMetricsStorage": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsCustomerMetricsStorageTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsDatadog": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsDatadogTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsDataset": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsDatasetTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsDynatraceHTTP": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsDynatraceHTTPTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsDynatraceOtlp": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsDynatraceOtlpTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsGraphite": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsGraphiteTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsHumioHec": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsHumioHecTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsLocalSearchStorage": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsLocalSearchStorageTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsLoki": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsLokiTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsMicrosoftFabric": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsMicrosoftFabricTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsOpenTelemetry": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsOpenTelemetryTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsPrometheus": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsPrometheusTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsSentinelOneAiSiem": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsSentinelOneAiSiemTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsServiceNow": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsServiceNowTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsSns": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsSnsTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsSqs": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsSqsTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsSumoLogic": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsSumoLogicTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsXsiam": ".outputresponse_pqcontrols_graphite", + "OutputResponsePqControlsXsiamTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseProtocolDynatraceOtlp": ".outputresponse_pqcontrols_graphite", + "OutputResponseQueueType": ".outputresponse_pqcontrols_graphite", + "OutputResponseRegion": ".outputresponse_pqcontrols_graphite", + "OutputResponseRule": ".outputresponse_pqcontrols_graphite", + "OutputResponseRuleTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseSendLogsAs": ".outputresponse_pqcontrols_graphite", + "OutputResponseSeverityDatadog": ".outputresponse_pqcontrols_graphite", + "OutputResponseSeverityDataset": ".outputresponse_pqcontrols_graphite", + "OutputResponseStatsDestination": ".outputresponse_pqcontrols_graphite", + "OutputResponseStatsDestinationTypedDict": ".outputresponse_pqcontrols_graphite", + "OutputResponseTelemetryType": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeAlibabaCloudS3": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeAlphasocS3": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeAmazonManagedPrometheus": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeChronicle": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeClickHouse": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeCloudflareR2": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeCloudianS3": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeCriblHTTP": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeCriblLake": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeCriblSearchEngine": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeCriblTCP": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeCrowdstrikeNextGenSiem": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeCustomerMetricsStorage": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeDatabricks": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeDatadog": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeDataset": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeDellS3": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeDiskSpool": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeDlS3": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeDynatraceHTTP": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeDynatraceOtlp": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeGraphite": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeHumioHec": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeIbmCloudS3": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeLocalSearchStorage": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeLoki": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeMicrosoftFabric": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeNetflow": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeNutanixObjects": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeOpenTelemetry": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypePrometheus": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeRing": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeRouter": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeScalityS3": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeSecurityLake": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeSentinelOneAiSiem": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeServiceNow": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeSnmp": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeSns": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeSqs": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeStorjS3": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeSumoLogic": ".outputresponse_pqcontrols_graphite", + "OutputResponseTypeXsiam": ".outputresponse_pqcontrols_graphite", + "OutputResponseURLXsiam": ".outputresponse_pqcontrols_graphite", + "OutputResponseURLXsiamTypedDict": ".outputresponse_pqcontrols_graphite", "OutputRing": ".outputring", "OutputRingDataFormat": ".outputring", "OutputRingType": ".outputring", @@ -19320,10 +20153,40 @@ "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", "PackUpgradeRequestTypedDict": ".packupgraderequest", + "PaginatedConfigGroup": ".paginatedconfiggroup", + "PaginatedConfigGroupTypedDict": ".paginatedconfiggroup", + "PaginatedCriblLakeDataset": ".paginatedcribllakedataset", + "PaginatedCriblLakeDatasetTypedDict": ".paginatedcribllakedataset", + "PaginatedDistributedSummary": ".paginateddistributedsummary", + "PaginatedDistributedSummaryTypedDict": ".paginateddistributedsummary", + "PaginatedFunctionResponse": ".paginatedfunctionresponse", + "PaginatedFunctionResponseTypedDict": ".paginatedfunctionresponse", + "PaginatedGitLogResult": ".paginatedgitlogresult", + "PaginatedGitLogResultTypedDict": ".paginatedgitlogresult", + "PaginatedInputResponse": ".paginatedinputresponse", + "PaginatedInputResponseTypedDict": ".paginatedinputresponse", + "PaginatedInputStatus": ".paginatedinputstatus", + "PaginatedInputStatusTypedDict": ".paginatedinputstatus", + "PaginatedMasterWorkerEntry": ".paginatedmasterworkerentry", + "PaginatedMasterWorkerEntryTypedDict": ".paginatedmasterworkerentry", + "PaginatedOutputResponse": ".paginatedoutputresponse", + "PaginatedOutputResponseTypedDict": ".paginatedoutputresponse", + "PaginatedOutputStatus": ".paginatedoutputstatus", + "PaginatedOutputStatusTypedDict": ".paginatedoutputstatus", + "PaginatedPackInfo": ".paginatedpackinfo", + "PaginatedPackInfoTypedDict": ".paginatedpackinfo", + "PaginatedPipeline": ".paginatedpipeline", + "PaginatedPipelineTypedDict": ".paginatedpipeline", + "PaginatedSavedJobResponse": ".paginatedsavedjobresponse", + "PaginatedSavedJobResponseTypedDict": ".paginatedsavedjobresponse", "PaginationOptionsRestDiscoveryDiscoverTypeHTTPPagination": ".paginationoptionsrestdiscoverydiscovertypehttppagination", "PaginationTypeRestDiscoveryDiscoverTypeHTTP": ".paginationtyperestdiscoverydiscovertypehttp", "PaginationTypeRestDiscoveryDiscoverTypeHTTPTypedDict": ".paginationtyperestdiscoverydiscovertypehttp", @@ -19688,23 +20551,33 @@ "PipelineFunctionSerdeConfTypedDict": ".pipelinefunctionserde", "PipelineFunctionSerdeID": ".pipelinefunctionserde", "PipelineFunctionSerdeTypedDict": ".pipelinefunctionserde", + "SerdeTypeAuto": ".pipelinefunctionserde", + "SerdeTypeAutoOperationMode": ".pipelinefunctionserde", + "SerdeTypeAutoType": ".pipelinefunctionserde", + "SerdeTypeAutoTypedDict": ".pipelinefunctionserde", "SerdeTypeCsv": ".pipelinefunctionserde", "SerdeTypeCsvOperationMode": ".pipelinefunctionserde", + "SerdeTypeCsvType": ".pipelinefunctionserde", "SerdeTypeCsvTypedDict": ".pipelinefunctionserde", "SerdeTypeDelim": ".pipelinefunctionserde", "SerdeTypeDelimOperationMode": ".pipelinefunctionserde", + "SerdeTypeDelimType": ".pipelinefunctionserde", "SerdeTypeDelimTypedDict": ".pipelinefunctionserde", "SerdeTypeGrok": ".pipelinefunctionserde", "SerdeTypeGrokOperationMode": ".pipelinefunctionserde", + "SerdeTypeGrokType": ".pipelinefunctionserde", "SerdeTypeGrokTypedDict": ".pipelinefunctionserde", "SerdeTypeJSON": ".pipelinefunctionserde", "SerdeTypeJSONOperationMode": ".pipelinefunctionserde", + "SerdeTypeJSONType": ".pipelinefunctionserde", "SerdeTypeJSONTypedDict": ".pipelinefunctionserde", "SerdeTypeKvp": ".pipelinefunctionserde", "SerdeTypeKvpOperationMode": ".pipelinefunctionserde", + "SerdeTypeKvpType": ".pipelinefunctionserde", "SerdeTypeKvpTypedDict": ".pipelinefunctionserde", "SerdeTypeRegex": ".pipelinefunctionserde", "SerdeTypeRegexOperationMode": ".pipelinefunctionserde", + "SerdeTypeRegexType": ".pipelinefunctionserde", "SerdeTypeRegexTypedDict": ".pipelinefunctionserde", "UnknownPipelineFunctionSerdeConf": ".pipelinefunctionserde", "PipelineFunctionSerialize": ".pipelinefunctionserialize", @@ -19798,12 +20671,14 @@ "RecordDataFormatOptions": ".recorddataformatoptions", "RecordDataFormatOptionsJSONProtobuf": ".recorddataformatoptionsjsonprotobuf", "RecordTypeOptions": ".recordtypeoptions", + "RefreshRequestParamConfHealthCheckAuthenticationOauth": ".refreshrequestparamconfhealthcheckauthenticationoauth", + "RefreshRequestParamConfHealthCheckAuthenticationOauthTypedDict": ".refreshrequestparamconfhealthcheckauthenticationoauth", + "RefreshRequestParamConfHealthCheckAuthenticationOauthSecret": ".refreshrequestparamconfhealthcheckauthenticationoauthsecret", + "RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict": ".refreshrequestparamconfhealthcheckauthenticationoauthsecret", "RegexListConfSerdeTypeRegex": ".regexlistconfserdetyperegex", "RegexListConfSerdeTypeRegexTypedDict": ".regexlistconfserdetyperegex", "RegionOptions": ".regionoptions", "RequestFormatOptions": ".requestformatoptions", - "RequestParamConfInputOpenai": ".requestparamconfinputopenai", - "RequestParamConfInputOpenaiTypedDict": ".requestparamconfinputopenai", "ResourcePolicy": ".resourcepolicy", "ResourcePolicyTypedDict": ".resourcepolicy", "ResponseRetrySettingConfOutputWebhook": ".responseretrysettingconfoutputwebhook", @@ -20837,8 +21712,6 @@ "SavedJobResponseTypedDict": ".savedjobresponse", "SavedJobScheduledSearch": ".savedjobscheduledsearch", "SavedJobScheduledSearchTypedDict": ".savedjobscheduledsearch", - "ScalarOrArray": ".scalarorarray", - "ScalarOrArrayTypedDict": ".scalarorarray", "ScaleReadsOptionsRedisDeploymentTypeCluster": ".scalereadsoptionsredisdeploymenttypecluster", "ScheduleTypeRunnableJobCollection": ".scheduletyperunnablejobcollection", "ScheduleTypeRunnableJobCollectionTypedDict": ".scheduletyperunnablejobcollection", @@ -20853,6 +21726,7 @@ "SearchFilterConfInputPrometheus": ".searchfilterconfinputprometheus", "SearchFilterConfInputPrometheusTypedDict": ".searchfilterconfinputprometheus", "SearchVersion": ".searchversion", + "SecureVersion": ".secureversion", "Security": ".security", "SecurityTypedDict": ".security", "ServerSideEncryptionForUploadedObjectsOptions": ".serversideencryptionforuploadedobjectsoptions", @@ -20950,6 +21824,7 @@ "UnknownSplunkAuthenticationTokenRetryRules": ".splunkcollectorconf", "UnknownSplunkAuthenticationTokenSecretRetryRules": ".splunkcollectorconf", "UnknownSplunkCollectorConf": ".splunkcollectorconf", + "SqsAuthenticationMethodOptions": ".sqsauthenticationmethodoptions", "SslTypeSystemSettingsConfAPI": ".ssltypesystemsettingsconfapi", "SslTypeSystemSettingsConfAPITypedDict": ".ssltypesystemsettingsconfapi", "StatusError": ".statuserror", @@ -20993,6 +21868,8 @@ "TimestampFormatTypeEventBreakerExistingOrNewNewTypedDict": ".timestampformattypeeventbreakerexistingornewnew", "UnknownTimestampFormatTypeEventBreakerExistingOrNewNew": ".timestampformattypeeventbreakerexistingornewnew", "TimestampTypeOptionsEventBreakerExistingOrNewNewTimestamp": ".timestamptypeoptionseventbreakerexistingornewnewtimestamp", + "TLSClientParams": ".tlsclientparams", + "TLSClientParamsTypedDict": ".tlsclientparams", "TLSOptionsHostsItems": ".tlsoptionshostsitems", "TLSOptionsTypeRedisDeploymentTypeStandalone": ".tlsoptionstyperedisdeploymenttypestandalone", "TLSOptionsTypeRedisDeploymentTypeStandaloneTypedDict": ".tlsoptionstyperedisdeploymenttypestandalone", @@ -21010,12 +21887,7 @@ "TLSSettingsClientSideTypeExtendedTypedDict": ".tlssettingsclientsidetypeextended", "TLSSettingsServerSideType": ".tlssettingsserversidetype", "TLSSettingsServerSideTypeTypedDict": ".tlssettingsserversidetype", - "TypeOptions": ".typeoptions", "TypeOptionsConfigGroup": ".typeoptionsconfiggroup", - "UpdateConfigGroupByProductAndIDRequest": ".updateconfiggroupbyproductandidop", - "UpdateConfigGroupByProductAndIDRequestTypedDict": ".updateconfiggroupbyproductandidop", - "UpdateConfigGroupDeployByProductAndIDRequest": ".updateconfiggroupdeploybyproductandidop", - "UpdateConfigGroupDeployByProductAndIDRequestTypedDict": ".updateconfiggroupdeploybyproductandidop", "UpdateCriblLakeDatasetByLakeIDAndIDRequest": ".updatecribllakedatasetbylakeidandidop", "UpdateCriblLakeDatasetByLakeIDAndIDRequestTypedDict": ".updatecribllakedatasetbylakeidandidop", "UpdateDatabaseConnectionConfigByIDRequest": ".updatedatabaseconnectionconfigbyidop", @@ -21042,6 +21914,10 @@ "UpdatePipelinesByIDRequestTypedDict": ".updatepipelinesbyidop", "UpdatePipelinesByPackAndIDRequest": ".updatepipelinesbypackandidop", "UpdatePipelinesByPackAndIDRequestTypedDict": ".updatepipelinesbypackandidop", + "UpdateProductsGroupsByProductAndIDRequest": ".updateproductsgroupsbyproductandidop", + "UpdateProductsGroupsByProductAndIDRequestTypedDict": ".updateproductsgroupsbyproductandidop", + "UpdateProductsGroupsDeployByProductAndIDRequest": ".updateproductsgroupsdeploybyproductandidop", + "UpdateProductsGroupsDeployByProductAndIDRequestTypedDict": ".updateproductsgroupsdeploybyproductandidop", "UpdateProductsWorkersRestartByProductRequest": ".updateproductsworkersrestartbyproductop", "UpdateProductsWorkersRestartByProductRequestTypedDict": ".updateproductsworkersrestartbyproductop", "UpdateRoutesByIDRequest": ".updateroutesbyidop", 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/addhectokenrequest.py b/src/cribl_control_plane/models/addhectokenrequest.py index c01d0a094..70c7f4ba5 100644 --- a/src/cribl_control_plane/models/addhectokenrequest.py +++ b/src/cribl_control_plane/models/addhectokenrequest.py @@ -1,9 +1,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .eventbreakerrulefields import ( - EventBreakerRuleFields, - EventBreakerRuleFieldsTypedDict, +from .metadataconfaddhectokenrequest import ( + MetadataConfAddHecTokenRequest, + MetadataConfAddHecTokenRequestTypedDict, ) from cribl_control_plane.types import BaseModel, UNSET_SENTINEL import pydantic @@ -21,7 +21,7 @@ class AddHecTokenRequestTypedDict(TypedDict): r"""Brief description for the HEC token.""" enabled: NotRequired[bool] r"""If true, the HEC token is enabled. Otherwise, false.""" - metadata: NotRequired[List[EventBreakerRuleFieldsTypedDict]] + metadata: NotRequired[List[MetadataConfAddHecTokenRequestTypedDict]] r"""Array of key-value pairs to associate with the HEC token for tagging, categorization, or providing additional context. Each item in the array is an object with a name and a value.""" @@ -40,7 +40,7 @@ class AddHecTokenRequest(BaseModel): enabled: Optional[bool] = None r"""If true, the HEC token is enabled. Otherwise, false.""" - metadata: Optional[List[EventBreakerRuleFields]] = None + metadata: Optional[List[MetadataConfAddHecTokenRequest]] = None r"""Array of key-value pairs to associate with the HEC token for tagging, categorization, or providing additional context. Each item in the array is an object with a name and a value.""" @model_serializer(mode="wrap") diff --git a/src/cribl_control_plane/models/aggregatedinputoutputstatusbody.py b/src/cribl_control_plane/models/aggregatedinputoutputstatusbody.py index c561cc66b..b85692a31 100644 --- a/src/cribl_control_plane/models/aggregatedinputoutputstatusbody.py +++ b/src/cribl_control_plane/models/aggregatedinputoutputstatusbody.py @@ -3,7 +3,7 @@ from __future__ import annotations from .aggregatedpqstatus import AggregatedPQStatus, AggregatedPQStatusTypedDict from .healthcounttype import HealthCountType, HealthCountTypeTypedDict -from .healthstringtype import HealthStringType +from .healthoptionsstatus import HealthOptionsStatus from .statuserror import StatusError, StatusErrorTypedDict from cribl_control_plane import models from cribl_control_plane.types import BaseModel, UNSET_SENTINEL @@ -14,9 +14,10 @@ class AggregatedInputOutputStatusBodyTypedDict(TypedDict): - health: HealthStringType + health: HealthOptionsStatus + r"""Overall health status of the Source or Destination.""" health_counts: HealthCountTypeTypedDict - timestamp: float + timestamp: int r"""Timestamp (in Unix time) when the status was last updated.""" error: NotRequired[StatusErrorTypedDict] metrics: NotRequired[Dict[str, Any]] @@ -25,11 +26,12 @@ class AggregatedInputOutputStatusBodyTypedDict(TypedDict): class AggregatedInputOutputStatusBody(BaseModel): - health: HealthStringType + health: HealthOptionsStatus + r"""Overall health status of the Source or Destination.""" health_counts: Annotated[HealthCountType, pydantic.Field(alias="healthCounts")] - timestamp: float + timestamp: int r"""Timestamp (in Unix time) when the status was last updated.""" error: Optional[StatusError] = None @@ -43,7 +45,7 @@ class AggregatedInputOutputStatusBody(BaseModel): def serialize_health(self, value): if isinstance(value, str): try: - return models.HealthStringType(value) + return models.HealthOptionsStatus(value) except ValueError: return value return value diff --git a/src/cribl_control_plane/models/aggregatedpqstatus.py b/src/cribl_control_plane/models/aggregatedpqstatus.py index dcb8db9e8..dce0f7b6a 100644 --- a/src/cribl_control_plane/models/aggregatedpqstatus.py +++ b/src/cribl_control_plane/models/aggregatedpqstatus.py @@ -2,30 +2,41 @@ from __future__ import annotations from .healthcounttype import HealthCountType, HealthCountTypeTypedDict -from .healthstringtype import HealthStringType from .statuserror import StatusError, StatusErrorTypedDict -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 from pydantic import field_serializer, model_serializer from typing import Optional from typing_extensions import Annotated, NotRequired, TypedDict +class Health(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Health status of the persistent queue.""" + + GREEN = "Green" + RED = "Red" + UNKNOWN = "Unknown" + YELLOW = "Yellow" + + class AggregatedPQStatusTypedDict(TypedDict): - health: HealthStringType + health: Health + r"""Health status of the persistent queue.""" health_counts: HealthCountTypeTypedDict - timestamp: float + timestamp: int r"""Timestamp (in Unix time) when the persistent queue status was last updated.""" error: NotRequired[StatusErrorTypedDict] class AggregatedPQStatus(BaseModel): - health: HealthStringType + health: Health + r"""Health status of the persistent queue.""" health_counts: Annotated[HealthCountType, pydantic.Field(alias="healthCounts")] - timestamp: float + timestamp: int r"""Timestamp (in Unix time) when the persistent queue status was last updated.""" error: Optional[StatusError] = None @@ -34,7 +45,7 @@ class AggregatedPQStatus(BaseModel): def serialize_health(self, value): if isinstance(value, str): try: - return models.HealthStringType(value) + return models.Health(value) except ValueError: return value return value diff --git a/src/cribl_control_plane/models/apitypesystemsettingsconf.py b/src/cribl_control_plane/models/apitypesystemsettingsconf.py index 718f96384..ce87351d8 100644 --- a/src/cribl_control_plane/models/apitypesystemsettingsconf.py +++ b/src/cribl_control_plane/models/apitypesystemsettingsconf.py @@ -13,67 +13,101 @@ class APITypeSystemSettingsConfTypedDict(TypedDict): + r"""API server configuration for the Cribl instance.""" + disabled: bool + r"""If true, the API server is disabled. Otherwise, false.""" host: str - port: float + r"""Hostname or IP address the API server listens on.""" + port: int + r"""Port number the API server listens on.""" base_url: NotRequired[str] + r"""Base URL for the API server. Used when the server is behind a reverse proxy.""" disable_api_cache: NotRequired[bool] + r"""If true, disable the API response cache. Otherwise, false.""" headers: NotRequired[Dict[str, str]] - idle_session_ttl: NotRequired[float] + r"""Custom HTTP response headers to include in every API response.""" + idle_session_ttl: NotRequired[int] + r"""Idle session timeout in seconds. Sessions are invalidated after the specified seconds of inactivity.""" listen_on_port: NotRequired[bool] + r"""If true, bind to the configured port as the server listen port. Otherwise, false.""" login_rate_limit: NotRequired[str] + r"""Rate limit for login attempts. Value is a string such as 100/min.""" protocol: NotRequired[str] + r"""API protocol: http or https.""" scripts: NotRequired[bool] + r"""If true, enable JavaScript scripting support in the API. Otherwise, false.""" sensitive_fields: NotRequired[List[str]] + r"""List of field names whose values are redacted in API responses and logs.""" ssl: NotRequired[SslTypeSystemSettingsConfAPITypedDict] + r"""TLS configuration for the API server.""" sso_rate_limit: NotRequired[str] + r"""Rate limit for SSO authentication attempts. Value is a string such as 100/min.""" worker_remote_access: NotRequired[bool] + r"""If true, enable remote access (teleporting) to Worker Processes via the API. Otherwise, false.""" class APITypeSystemSettingsConf(BaseModel): + r"""API server configuration for the Cribl instance.""" + disabled: bool + r"""If true, the API server is disabled. Otherwise, false.""" host: str + r"""Hostname or IP address the API server listens on.""" - port: float + port: int + r"""Port number the API server listens on.""" base_url: Annotated[Optional[str], pydantic.Field(alias="baseUrl")] = None + r"""Base URL for the API server. Used when the server is behind a reverse proxy.""" disable_api_cache: Annotated[ Optional[bool], pydantic.Field(alias="disableApiCache") ] = None + r"""If true, disable the API response cache. Otherwise, false.""" headers: Optional[Dict[str, str]] = None + r"""Custom HTTP response headers to include in every API response.""" idle_session_ttl: Annotated[ - Optional[float], pydantic.Field(alias="idleSessionTTL") + Optional[int], pydantic.Field(alias="idleSessionTTL") ] = None + r"""Idle session timeout in seconds. Sessions are invalidated after the specified seconds of inactivity.""" listen_on_port: Annotated[Optional[bool], pydantic.Field(alias="listenOnPort")] = ( None ) + r"""If true, bind to the configured port as the server listen port. Otherwise, false.""" login_rate_limit: Annotated[ Optional[str], pydantic.Field(alias="loginRateLimit") ] = None + r"""Rate limit for login attempts. Value is a string such as 100/min.""" protocol: Optional[str] = None + r"""API protocol: http or https.""" scripts: Optional[bool] = None + r"""If true, enable JavaScript scripting support in the API. Otherwise, false.""" sensitive_fields: Annotated[ Optional[List[str]], pydantic.Field(alias="sensitiveFields") ] = None + r"""List of field names whose values are redacted in API responses and logs.""" ssl: Optional[SslTypeSystemSettingsConfAPI] = None + r"""TLS configuration for the API server.""" sso_rate_limit: Annotated[Optional[str], pydantic.Field(alias="ssoRateLimit")] = ( None ) + r"""Rate limit for SSO authentication attempts. Value is a string such as 100/min.""" worker_remote_access: Annotated[ Optional[bool], pydantic.Field(alias="workerRemoteAccess") ] = None + r"""If true, enable remote access (teleporting) to Worker Processes via the API. Otherwise, false.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/appstypesystemsettingsconf.py b/src/cribl_control_plane/models/appstypesystemsettingsconf.py index 38318a97b..c0baa8b6a 100644 --- a/src/cribl_control_plane/models/appstypesystemsettingsconf.py +++ b/src/cribl_control_plane/models/appstypesystemsettingsconf.py @@ -6,8 +6,14 @@ class AppsTypeSystemSettingsConfTypedDict(TypedDict): + r"""App configuration.""" + enabled: bool + r"""If true, enable Apps. Otherwise, false.""" class AppsTypeSystemSettingsConf(BaseModel): + r"""App configuration.""" + enabled: bool + r"""If true, enable Apps. Otherwise, false.""" diff --git a/src/cribl_control_plane/models/authenticationmethodoptionsauthtokensitemssecret.py b/src/cribl_control_plane/models/authenticationmethodoptionsauthtokensitemssecret.py new file mode 100644 index 000000000..9567338ca --- /dev/null +++ b/src/cribl_control_plane/models/authenticationmethodoptionsauthtokensitemssecret.py @@ -0,0 +1,13 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from cribl_control_plane import utils +from enum import Enum + + +class AuthenticationMethodOptionsAuthTokensItemsSecret( + str, Enum, metaclass=utils.OpenEnumMeta +): + r"""Select Secret to use a text secret to authenticate""" + + SECRET = "secret" diff --git a/src/cribl_control_plane/models/authenticationmethodoptionsautosecret.py b/src/cribl_control_plane/models/authenticationmethodoptionsautosecret.py new file mode 100644 index 000000000..9358d3c89 --- /dev/null +++ b/src/cribl_control_plane/models/authenticationmethodoptionsautosecret.py @@ -0,0 +1,14 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from cribl_control_plane import utils +from enum import Enum + + +class AuthenticationMethodOptionsAutoSecret(str, Enum, metaclass=utils.OpenEnumMeta): + r"""AWS authentication method. Choose Auto to use IAM roles.""" + + # Auto + AUTO = "auto" + # Secret Key pair + SECRET = "secret" diff --git a/src/cribl_control_plane/models/authtokenconfinputcloudflarehec.py b/src/cribl_control_plane/models/authtokenconfinputcloudflarehec.py new file mode 100644 index 000000000..c3a41cffd --- /dev/null +++ b/src/cribl_control_plane/models/authtokenconfinputcloudflarehec.py @@ -0,0 +1,98 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .authenticationmethodoptionsauthtokensitemssecret import ( + AuthenticationMethodOptionsAuthTokensItemsSecret, +) +from .metadataconfinputcollection import ( + MetadataConfInputCollection, + MetadataConfInputCollectionTypedDict, +) +from cribl_control_plane import models +from cribl_control_plane.types import BaseModel, UNSET_SENTINEL +import pydantic +from pydantic import field_serializer, model_serializer +from typing import List, Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class AuthTokenConfInputCloudflareHecTypedDict(TypedDict): + auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItemsSecret] + r"""Select Secret to use a text secret to authenticate""" + token_secret: NotRequired[str] + r"""Select or create a stored text secret""" + token: NotRequired[str] + r"""Shared secret to be provided by any client (Authorization: )""" + enabled: NotRequired[bool] + description: NotRequired[str] + allowed_indexes_at_token: NotRequired[List[str]] + r"""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: NotRequired[List[MetadataConfInputCollectionTypedDict]] + r"""Fields to add to events referencing this token""" + + +class AuthTokenConfInputCloudflareHec(BaseModel): + auth_type: Annotated[ + Optional[AuthenticationMethodOptionsAuthTokensItemsSecret], + pydantic.Field(alias="authType"), + ] = None + r"""Select Secret to use a text secret to authenticate""" + + token_secret: Annotated[Optional[str], pydantic.Field(alias="tokenSecret")] = None + r"""Select or create a stored text secret""" + + token: Optional[str] = None + r"""Shared secret to be provided by any client (Authorization: )""" + + enabled: Optional[bool] = None + + description: Optional[str] = None + + allowed_indexes_at_token: Annotated[ + Optional[List[str]], pydantic.Field(alias="allowedIndexesAtToken") + ] = None + r"""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: Optional[List[MetadataConfInputCollection]] = None + r"""Fields to add to events referencing this token""" + + @field_serializer("auth_type") + def serialize_auth_type(self, value): + if isinstance(value, str): + try: + return models.AuthenticationMethodOptionsAuthTokensItemsSecret(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "authType", + "tokenSecret", + "token", + "enabled", + "description", + "allowedIndexesAtToken", + "metadata", + ] + ) + 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: + AuthTokenConfInputCloudflareHec.model_rebuild() +except NameError: + pass diff --git a/src/cribl_control_plane/models/awstypeheartbeatmetadata.py b/src/cribl_control_plane/models/awstypeheartbeatmetadata.py index 63f90b36e..60f7f2ac2 100644 --- a/src/cribl_control_plane/models/awstypeheartbeatmetadata.py +++ b/src/cribl_control_plane/models/awstypeheartbeatmetadata.py @@ -10,25 +10,37 @@ class AwsTypeHeartbeatMetadataTypedDict(TypedDict): enabled: bool + r"""If true, the AWS metadata collector is enabled on the node. Otherwise, false.""" instance_id: str + r"""AWS EC2 instance ID.""" region: str + r"""AWS region name.""" type: str + r"""AWS EC2 instance type.""" zone: str + r"""AWS availability zone name.""" tags: NotRequired[Dict[str, str]] + r"""String-keyed tag map. Each property name is a tag key and the corresponding value is the tag's string value.""" class AwsTypeHeartbeatMetadata(BaseModel): enabled: bool + r"""If true, the AWS metadata collector is enabled on the node. Otherwise, false.""" instance_id: Annotated[str, pydantic.Field(alias="instanceId")] + r"""AWS EC2 instance ID.""" region: str + r"""AWS region name.""" type: str + r"""AWS EC2 instance type.""" zone: str + r"""AWS availability zone name.""" tags: Optional[Dict[str, str]] = None + r"""String-keyed tag map. Each property name is a tag key and the corresponding value is the tag's string value.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/azureblobcollectorconf.py b/src/cribl_control_plane/models/azureblobcollectorconf.py index 3dd87ce75..c7c0dd4f7 100644 --- a/src/cribl_control_plane/models/azureblobcollectorconf.py +++ b/src/cribl_control_plane/models/azureblobcollectorconf.py @@ -73,6 +73,8 @@ class AzureBlobAuthTypeClientCertTypedDict(TypedDict): r"""Include Azure Blob tags in collected events. In each event, tags will be located at: __collectible.tags. Disable this feature when using a Shared Access Signature Connection String, to prevent errors.""" max_batch_size: NotRequired[float] r"""Maximum number of metadata objects to batch before recording as results""" + disable_time_filter: NotRequired[bool] + r"""Disable Collector event time filtering when a date range is specified""" parquet_chunk_size_mb: NotRequired[float] r"""Maximum file size for each Parquet chunk""" parquet_chunk_download_timeout: NotRequired[float] @@ -155,6 +157,11 @@ class AzureBlobAuthTypeClientCert(BaseModel): ) r"""Maximum number of metadata objects to batch before recording as results""" + disable_time_filter: Annotated[ + Optional[bool], pydantic.Field(alias="disableTimeFilter") + ] = None + r"""Disable Collector event time filtering when a date range is specified""" + parquet_chunk_size_mb: Annotated[ Optional[float], pydantic.Field(alias="parquetChunkSizeMB") ] = None @@ -241,6 +248,7 @@ def serialize_model(self, handler): "includeMetadata", "includeTags", "maxBatchSize", + "disableTimeFilter", "parquetChunkSizeMB", "parquetChunkDownloadTimeout", "connectionString", @@ -337,6 +345,8 @@ class AzureBlobAuthTypeClientSecretTypedDict(TypedDict): r"""Include Azure Blob tags in collected events. In each event, tags will be located at: __collectible.tags. Disable this feature when using a Shared Access Signature Connection String, to prevent errors.""" max_batch_size: NotRequired[float] r"""Maximum number of metadata objects to batch before recording as results""" + disable_time_filter: NotRequired[bool] + r"""Disable Collector event time filtering when a date range is specified""" parquet_chunk_size_mb: NotRequired[float] r"""Maximum file size for each Parquet chunk""" parquet_chunk_download_timeout: NotRequired[float] @@ -434,6 +444,11 @@ class AzureBlobAuthTypeClientSecret(BaseModel): ) r"""Maximum number of metadata objects to batch before recording as results""" + disable_time_filter: Annotated[ + Optional[bool], pydantic.Field(alias="disableTimeFilter") + ] = None + r"""Disable Collector event time filtering when a date range is specified""" + parquet_chunk_size_mb: Annotated[ Optional[float], pydantic.Field(alias="parquetChunkSizeMB") ] = None @@ -497,6 +512,7 @@ def serialize_model(self, handler): "includeMetadata", "includeTags", "maxBatchSize", + "disableTimeFilter", "parquetChunkSizeMB", "parquetChunkDownloadTimeout", "connectionString", @@ -568,6 +584,8 @@ class AzureBlobAuthTypeSecretTypedDict(TypedDict): r"""Include Azure Blob tags in collected events. In each event, tags will be located at: __collectible.tags. Disable this feature when using a Shared Access Signature Connection String, to prevent errors.""" max_batch_size: NotRequired[float] r"""Maximum number of metadata objects to batch before recording as results""" + disable_time_filter: NotRequired[bool] + r"""Disable Collector event time filtering when a date range is specified""" parquet_chunk_size_mb: NotRequired[float] r"""Maximum file size for each Parquet chunk""" parquet_chunk_download_timeout: NotRequired[float] @@ -643,6 +661,11 @@ class AzureBlobAuthTypeSecret(BaseModel): ) r"""Maximum number of metadata objects to batch before recording as results""" + disable_time_filter: Annotated[ + Optional[bool], pydantic.Field(alias="disableTimeFilter") + ] = None + r"""Disable Collector event time filtering when a date range is specified""" + parquet_chunk_size_mb: Annotated[ Optional[float], pydantic.Field(alias="parquetChunkSizeMB") ] = None @@ -745,6 +768,7 @@ def serialize_model(self, handler): "includeMetadata", "includeTags", "maxBatchSize", + "disableTimeFilter", "parquetChunkSizeMB", "parquetChunkDownloadTimeout", "connectionString", @@ -828,6 +852,8 @@ class AzureBlobAuthTypeManualTypedDict(TypedDict): r"""Include Azure Blob tags in collected events. In each event, tags will be located at: __collectible.tags. Disable this feature when using a Shared Access Signature Connection String, to prevent errors.""" max_batch_size: NotRequired[float] r"""Maximum number of metadata objects to batch before recording as results""" + disable_time_filter: NotRequired[bool] + r"""Disable Collector event time filtering when a date range is specified""" parquet_chunk_size_mb: NotRequired[float] r"""Maximum file size for each Parquet chunk""" parquet_chunk_download_timeout: NotRequired[float] @@ -906,6 +932,11 @@ class AzureBlobAuthTypeManual(BaseModel): ) r"""Maximum number of metadata objects to batch before recording as results""" + disable_time_filter: Annotated[ + Optional[bool], pydantic.Field(alias="disableTimeFilter") + ] = None + r"""Disable Collector event time filtering when a date range is specified""" + parquet_chunk_size_mb: Annotated[ Optional[float], pydantic.Field(alias="parquetChunkSizeMB") ] = None @@ -1002,6 +1033,7 @@ def serialize_model(self, handler): "includeMetadata", "includeTags", "maxBatchSize", + "disableTimeFilter", "parquetChunkSizeMB", "parquetChunkDownloadTimeout", "textSecret", diff --git a/src/cribl_control_plane/models/azuretypeheartbeatmetadata.py b/src/cribl_control_plane/models/azuretypeheartbeatmetadata.py index 281a1a7ee..a32099344 100644 --- a/src/cribl_control_plane/models/azuretypeheartbeatmetadata.py +++ b/src/cribl_control_plane/models/azuretypeheartbeatmetadata.py @@ -10,44 +10,66 @@ class AzureTypeHeartbeatMetadataTypedDict(TypedDict): enabled: bool + r"""If true, the Azure metadata collector is enabled on the node. Otherwise, false.""" hostname: NotRequired[str] + r"""Azure VM hostname.""" instance_id: NotRequired[str] + r"""Azure instance ID.""" name: NotRequired[str] + r"""Azure VM name.""" region: NotRequired[str] + r"""Azure location or region.""" resource_group: NotRequired[str] + r"""Azure resource group name.""" subscription_id: NotRequired[str] + r"""Azure subscription ID.""" tags: NotRequired[Dict[str, str]] + r"""String-keyed tag map. Each property name is a tag key and the corresponding value is the tag's string value.""" type: NotRequired[str] + r"""Azure VM size or instance type.""" vm_id: NotRequired[str] + r"""Azure VM ID.""" zone: NotRequired[str] + r"""Azure availability zone.""" class AzureTypeHeartbeatMetadata(BaseModel): enabled: bool + r"""If true, the Azure metadata collector is enabled on the node. Otherwise, false.""" hostname: Optional[str] = None + r"""Azure VM hostname.""" instance_id: Annotated[Optional[str], pydantic.Field(alias="instanceId")] = None + r"""Azure instance ID.""" name: Optional[str] = None + r"""Azure VM name.""" region: Optional[str] = None + r"""Azure location or region.""" resource_group: Annotated[Optional[str], pydantic.Field(alias="resourceGroup")] = ( None ) + r"""Azure resource group name.""" subscription_id: Annotated[ Optional[str], pydantic.Field(alias="subscriptionId") ] = None + r"""Azure subscription ID.""" tags: Optional[Dict[str, str]] = None + r"""String-keyed tag map. Each property name is a tag key and the corresponding value is the tag's string value.""" type: Optional[str] = None + r"""Azure VM size or instance type.""" vm_id: Annotated[Optional[str], pydantic.Field(alias="vmId")] = None + r"""Azure VM ID.""" zone: Optional[str] = None + r"""Azure availability zone.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/backupssettings_union.py b/src/cribl_control_plane/models/backupssettings_union.py index 46de880d4..87e614b92 100644 --- a/src/cribl_control_plane/models/backupssettings_union.py +++ b/src/cribl_control_plane/models/backupssettings_union.py @@ -10,13 +10,17 @@ class BackupsSettingsTypedDict(TypedDict): backup_persistence: str + r"""How long to retain backups. Value is a duration string such as 24h.""" backups_directory: str + r"""Filesystem path where configuration backups are stored.""" class BackupsSettings(BaseModel): backup_persistence: Annotated[str, pydantic.Field(alias="backupPersistence")] + r"""How long to retain backups. Value is a duration string such as 24h.""" backups_directory: Annotated[str, pydantic.Field(alias="backupsDirectory")] + r"""Filesystem path where configuration backups are stored.""" BackupsSettingsUnionTypedDict = TypeAliasType( diff --git a/src/cribl_control_plane/models/cacheconnection.py b/src/cribl_control_plane/models/cacheconnection.py index 7f487b5a2..76364a173 100644 --- a/src/cribl_control_plane/models/cacheconnection.py +++ b/src/cribl_control_plane/models/cacheconnection.py @@ -13,9 +13,9 @@ class CacheConnectionTypedDict(TypedDict): cache_ref: str - r"""Identifier of the Lakehouse cache referenced by the Dataset.""" + r"""Unique identifier for the Lakehouse cache referenced by the Dataset.""" created_at: float - r"""Timestamp when the continuous data feed to the Lakehouse cache started, in Unix time (milliseconds).""" + r"""Timestamp (in Unix time) when the continuous data feed to the Lakehouse cache started, in milliseconds.""" retention_in_days: float r"""Retention period for the Lakehouse cache connection, in days.""" accelerated_fields: NotRequired[List[str]] @@ -23,15 +23,15 @@ class CacheConnectionTypedDict(TypedDict): backfill_status: NotRequired[CacheConnectionBackfillStatus] lakehouse_connection_type: NotRequired[LakehouseConnectionType] migration_query_id: NotRequired[str] - r"""Query identifier of the active Lakehouse migration. Omitted if no migration is in progress.""" + r"""Unique identifier for the active Lakehouse migration query. Omitted if no migration is in progress.""" class CacheConnection(BaseModel): cache_ref: Annotated[str, pydantic.Field(alias="cacheRef")] - r"""Identifier of the Lakehouse cache referenced by the Dataset.""" + r"""Unique identifier for the Lakehouse cache referenced by the Dataset.""" created_at: Annotated[float, pydantic.Field(alias="createdAt")] - r"""Timestamp when the continuous data feed to the Lakehouse cache started, in Unix time (milliseconds).""" + r"""Timestamp (in Unix time) when the continuous data feed to the Lakehouse cache started, in milliseconds.""" retention_in_days: Annotated[float, pydantic.Field(alias="retentionInDays")] r"""Retention period for the Lakehouse cache connection, in days.""" @@ -53,7 +53,7 @@ class CacheConnection(BaseModel): migration_query_id: Annotated[ Optional[str], pydantic.Field(alias="migrationQueryId") ] = None - r"""Query identifier of the active Lakehouse migration. Omitted if no migration is in progress.""" + r"""Unique identifier for the active Lakehouse migration query. Omitted if no migration is in progress.""" @field_serializer("backfill_status") def serialize_backfill_status(self, value): diff --git a/src/cribl_control_plane/models/columnmappingconfoutputclickhouse.py b/src/cribl_control_plane/models/columnmappingconfoutputclickhouse.py new file mode 100644 index 000000000..75bef2bdf --- /dev/null +++ b/src/cribl_control_plane/models/columnmappingconfoutputclickhouse.py @@ -0,0 +1,52 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from cribl_control_plane.types import BaseModel, UNSET_SENTINEL +import pydantic +from pydantic import model_serializer +from typing import Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class ColumnMappingConfOutputClickHouseTypedDict(TypedDict): + column_name: str + r"""Name of the column in ClickHouse that will store field value""" + column_value_expression: str + r"""JavaScript expression to compute value to be inserted into ClickHouse table""" + column_type: NotRequired[str] + r"""Type of the column in the ClickHouse database""" + + +class ColumnMappingConfOutputClickHouse(BaseModel): + column_name: Annotated[str, pydantic.Field(alias="columnName")] + r"""Name of the column in ClickHouse that will store field value""" + + column_value_expression: Annotated[ + str, pydantic.Field(alias="columnValueExpression") + ] + r"""JavaScript expression to compute value to be inserted into ClickHouse table""" + + column_type: Annotated[Optional[str], pydantic.Field(alias="columnType")] = None + r"""Type of the column in the ClickHouse 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 + + +try: + ColumnMappingConfOutputClickHouse.model_rebuild() +except NameError: + pass diff --git a/src/cribl_control_plane/models/configgroup.py b/src/cribl_control_plane/models/configgroup.py index e32281d14..ba8a5fee6 100644 --- a/src/cribl_control_plane/models/configgroup.py +++ b/src/cribl_control_plane/models/configgroup.py @@ -58,6 +58,8 @@ class ConfigGroupTypedDict(TypedDict): id: str r"""Unique identifier.""" cloud: NotRequired[ConfigGroupCloudTypedDict] + collectors_ha_enabled: NotRequired[bool] + r"""Keeps Collector jobs running if the Leader Node fails. Applies only to Stream Worker Groups. Always true for Cribl.Cloud groups; defaults to false for on-prem groups. to Stream Worker Groups. Always true for Cribl.Cloud groups; defaults to false for on-prem groups.""" config_version: NotRequired[str] r"""Commit hash of the deployed configuration version for the Worker Group, Outpost Group, or Edge Fleet. Automatically populated and returned in responses.

**Warning**: Do not change the value of configVersion in the body of PATCH requests. The PATCH request body must include the value as it appears in the GET /products/{product}/groups/{id} response.""" deploying_worker_count: NotRequired[int] @@ -106,6 +108,11 @@ class ConfigGroup(BaseModel): cloud: Optional[ConfigGroupCloud] = None + collectors_ha_enabled: Annotated[ + Optional[bool], pydantic.Field(alias="collectorsHaEnabled") + ] = None + r"""Keeps Collector jobs running if the Leader Node fails. Applies only to Stream Worker Groups. Always true for Cribl.Cloud groups; defaults to false for on-prem groups. to Stream Worker Groups. Always true for Cribl.Cloud groups; defaults to false for on-prem groups.""" + config_version: Annotated[Optional[str], pydantic.Field(alias="configVersion")] = ( None ) @@ -223,6 +230,7 @@ def serialize_model(self, handler): optional_fields = set( [ "cloud", + "collectorsHaEnabled", "configVersion", "deployingWorkerCount", "description", 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/counteddatabaseconnectionconfig.py b/src/cribl_control_plane/models/counteddatabaseconnectionconfig.py deleted file mode 100644 index ed95193e9..000000000 --- a/src/cribl_control_plane/models/counteddatabaseconnectionconfig.py +++ /dev/null @@ -1,42 +0,0 @@ -"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" - -from __future__ import annotations -from .databaseconnectionconfig import ( - DatabaseConnectionConfig, - DatabaseConnectionConfigTypedDict, -) -from cribl_control_plane.types import BaseModel, UNSET_SENTINEL -from pydantic import model_serializer -from typing import List, Optional -from typing_extensions import NotRequired, TypedDict - - -class CountedDatabaseConnectionConfigTypedDict(TypedDict): - count: NotRequired[int] - r"""number of items present in the items array""" - items: NotRequired[List[DatabaseConnectionConfigTypedDict]] - r"""List of items in this response.""" - - -class CountedDatabaseConnectionConfig(BaseModel): - count: Optional[int] = None - r"""number of items present in the items array""" - - items: Optional[List[DatabaseConnectionConfig]] = None - r"""List of items in this response.""" - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["count", "items"]) - 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/createinput_request.py b/src/cribl_control_plane/models/createinput_request.py index 660ec86bc..bfb583a54 100644 --- a/src/cribl_control_plane/models/createinput_request.py +++ b/src/cribl_control_plane/models/createinput_request.py @@ -36,13 +36,11 @@ ConnectionConfInputCollection, ConnectionConfInputCollectionTypedDict, ) -from .createinput_logged_in_users import ( +from .createinput_users_and_groups import ( CreateInputDNS, CreateInputDNSTypedDict, CreateInputDisksAndFileSystems, CreateInputDisksAndFileSystemsTypedDict, - CreateInputFirewall, - CreateInputFirewallTypedDict, CreateInputHostInfo, CreateInputHostInfoTypedDict, CreateInputHostsFile, @@ -105,10 +103,14 @@ CreateInputInputSnmpTypedDict, CreateInputInputSqs, CreateInputInputSqsTypedDict, + CreateInputInputSysdigHec, + CreateInputInputSysdigHecTypedDict, CreateInputInputSyslogUnion, CreateInputInputSyslogUnionTypedDict, CreateInputInputTCP, CreateInputInputTCPTypedDict, + CreateInputInputUpwindHec, + CreateInputInputUpwindHecTypedDict, CreateInputInputWef, CreateInputInputWefTypedDict, CreateInputInputWinEventLogs, @@ -123,14 +125,8 @@ CreateInputInputZscalerHecTypedDict, CreateInputInterfaces, CreateInputInterfacesTypedDict, - CreateInputListeningPorts, - CreateInputListeningPortsTypedDict, - CreateInputLoggedInUsers, - CreateInputLoggedInUsersTypedDict, CreateInputRoutes, CreateInputRoutesTypedDict, - CreateInputServices, - CreateInputServicesTypedDict, CreateInputTypeSystemState, CreateInputUsersAndGroups, CreateInputUsersAndGroupsTypedDict, @@ -166,6 +162,10 @@ from .processtype import ProcessType, ProcessTypeTypedDict from .protocoloptionstargetsitems import ProtocolOptionsTargetsItems from .recordtypeoptions import RecordTypeOptions +from .refreshrequestparamconfhealthcheckauthenticationoauthsecret import ( + RefreshRequestParamConfHealthCheckAuthenticationOauthSecret, + RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict, +) from .retryrulestype import RetryRulesType, RetryRulesTypeTypedDict from .retryrulestypecodesenableheader import ( RetryRulesTypeCodesEnableHeader, @@ -198,6 +198,118 @@ from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict +class CreateInputFirewallTypedDict(TypedDict): + r"""Creates events for Firewall rules entries""" + + enable: NotRequired[bool] + + +class CreateInputFirewall(BaseModel): + r"""Creates events for Firewall rules entries""" + + enable: Optional[bool] = None + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["enable"]) + 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 CreateInputServicesTypedDict(TypedDict): + r"""Creates events from the list of services""" + + enable: NotRequired[bool] + + +class CreateInputServices(BaseModel): + r"""Creates events from the list of services""" + + enable: Optional[bool] = None + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["enable"]) + 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 CreateInputListeningPortsTypedDict(TypedDict): + r"""Creates events from list of listening ports""" + + enable: NotRequired[bool] + + +class CreateInputListeningPorts(BaseModel): + r"""Creates events from list of listening ports""" + + enable: Optional[bool] = None + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["enable"]) + 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 CreateInputLoggedInUsersTypedDict(TypedDict): + r"""Creates events from list of logged-in users""" + + enable: NotRequired[bool] + + +class CreateInputLoggedInUsers(BaseModel): + r"""Creates events from list of logged-in users""" + + enable: Optional[bool] = None + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["enable"]) + 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 CreateInputCollectorsTypedDict(TypedDict): hostsfile: NotRequired[CreateInputHostsFileTypedDict] r"""Creates events based on entries collected from the hosts file""" @@ -362,6 +474,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] @@ -371,7 +484,7 @@ class CreateInputInputSystemStateTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -386,6 +499,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] @@ -399,6 +513,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""" @@ -415,7 +530,7 @@ class CreateInputInputSystemState(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -443,6 +558,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") @@ -1072,6 +1188,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] @@ -1081,7 +1198,7 @@ class CreateInputInputSystemMetricsTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -1095,6 +1212,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] @@ -1108,6 +1226,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""" @@ -1124,7 +1243,7 @@ class CreateInputInputSystemMetrics(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -1148,6 +1267,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") @@ -1210,6 +1330,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] @@ -1219,7 +1340,7 @@ class CreateInputInputTcpjsonTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -1243,6 +1364,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] @@ -1270,6 +1392,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""" @@ -1286,7 +1409,7 @@ class CreateInputInputTcpjson(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -1340,6 +1463,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.""" @@ -1422,6 +1546,8 @@ def serialize_model(self, handler): class CreateInputTypeCriblLakeHTTP(str, Enum): + r"""Source type identifier.""" + CRIBL_LAKE_HTTP = "cribl_lake_http" @@ -1538,11 +1664,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] @@ -1552,7 +1680,7 @@ class CreateInputInputCriblLakeHTTPTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -1592,6 +1720,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] @@ -1615,6 +1744,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).""" @@ -1623,6 +1753,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""" @@ -1639,7 +1770,7 @@ class CreateInputInputCriblLakeHTTP(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -1731,6 +1862,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") @@ -1829,6 +1961,8 @@ def serialize_model(self, handler): class CreateInputTypeCriblHTTP(str, Enum): + r"""Source type identifier.""" + CRIBL_HTTP = "cribl_http" @@ -1836,11 +1970,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] @@ -1850,7 +1986,7 @@ class CreateInputInputCriblHTTPTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -1882,6 +2018,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] @@ -1897,6 +2034,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).""" @@ -1905,6 +2043,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""" @@ -1921,7 +2060,7 @@ class CreateInputInputCriblHTTP(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -1994,6 +2133,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") @@ -2075,6 +2215,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] @@ -2084,7 +2225,7 @@ class CreateInputInputCriblTCPTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -2106,6 +2247,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] @@ -2129,6 +2271,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""" @@ -2145,7 +2288,7 @@ class CreateInputInputCriblTCP(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -2193,6 +2336,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") @@ -2265,6 +2409,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] @@ -2274,7 +2419,7 @@ class CreateInputInputCriblTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -2282,6 +2427,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] @@ -2295,6 +2441,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""" @@ -2311,7 +2458,7 @@ class CreateInputInputCribl(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -2324,6 +2471,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") @@ -2381,6 +2529,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] @@ -2390,7 +2539,7 @@ class CreateInputInputGooglePubsubTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -2417,6 +2566,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] @@ -2444,6 +2594,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""" @@ -2460,7 +2611,7 @@ class CreateInputInputGooglePubsub(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -2512,6 +2663,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") @@ -2599,6 +2751,8 @@ def serialize_model(self, handler): class CreateInputTypeFirehose(str, Enum): + r"""Source type identifier.""" + FIREHOSE = "firehose" @@ -2606,11 +2760,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] @@ -2620,7 +2776,7 @@ class CreateInputInputFirehoseTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -2652,6 +2808,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] @@ -2669,6 +2826,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).""" @@ -2677,6 +2835,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""" @@ -2693,7 +2852,7 @@ class CreateInputInputFirehose(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -2766,6 +2925,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") @@ -2867,7 +3027,7 @@ class CreateInputInputExecTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -2884,6 +3044,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] @@ -2920,7 +3081,7 @@ class CreateInputInputExec(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -2952,6 +3113,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.""" @@ -3028,6 +3190,47 @@ class CreateInputAuthenticationMechanism(str, Enum, metaclass=utils.OpenEnumMeta OAUTH_BEARER = "oauth-bearer" +class CreateInputCertificateTypedDict(TypedDict): + certificate_name: str + r"""The certificate you registered as credentials for your app in the Azure portal""" + cert_path: str + r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS.""" + priv_key_path: str + r"""Path on server containing the private key to use. PEM format. Can reference $ENV_VARS.""" + passphrase: NotRequired[str] + r"""Passphrase to use to decrypt private key""" + + +class CreateInputCertificate(BaseModel): + certificate_name: Annotated[str, pydantic.Field(alias="certificateName")] + r"""The certificate you registered as credentials for your app in the Azure portal""" + + cert_path: Annotated[str, pydantic.Field(alias="certPath")] + r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS.""" + + priv_key_path: Annotated[str, pydantic.Field(alias="privKeyPath")] + r"""Path on server containing the private key to use. PEM format. Can reference $ENV_VARS.""" + + passphrase: Optional[str] = None + r"""Passphrase to use to decrypt private key""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["passphrase"]) + 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 CreateInputAuthTypedDict(TypedDict): mechanism: CreateInputAuthenticationMechanism text_secret: NotRequired[str] @@ -3035,7 +3238,7 @@ class CreateInputAuthTypedDict(TypedDict): client_secret_auth_type: NotRequired[AuthenticationMethodOptionsAuth] client_text_secret: NotRequired[str] r"""Select or create a stored text secret""" - certificate: NotRequired[CertificateTypeAzureBlobAuthTypeClientCertTypedDict] + certificate: NotRequired[CreateInputCertificateTypedDict] oauth_endpoint: NotRequired[MicrosoftEntraIDAuthenticationEndpointOptionsSasl] r"""Endpoint used to acquire authentication tokens from Azure""" client_id: NotRequired[str] @@ -3070,7 +3273,7 @@ class CreateInputAuth(BaseModel): ] = None r"""Select or create a stored text secret""" - certificate: Optional[CertificateTypeAzureBlobAuthTypeClientCert] = None + certificate: Optional[CreateInputCertificate] = None oauth_endpoint: Annotated[ Optional[MicrosoftEntraIDAuthenticationEndpointOptionsSasl], @@ -3325,6 +3528,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] @@ -3334,7 +3538,7 @@ class CreateInputInputEventhubAmqpTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -3366,6 +3570,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] @@ -3384,6 +3589,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""" @@ -3400,7 +3606,7 @@ class CreateInputInputEventhubAmqp(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -3467,6 +3673,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") @@ -3536,6 +3743,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] @@ -3545,7 +3753,7 @@ class CreateInputInputEventhubTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -3599,6 +3807,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] @@ -3624,6 +3833,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""" @@ -3640,7 +3850,7 @@ class CreateInputInputEventhub(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -3747,6 +3957,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") @@ -3867,6 +4078,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] @@ -3876,7 +4088,7 @@ class CreateInputInputMicrosoftGraphTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -3912,6 +4124,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] @@ -3954,6 +4167,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""" @@ -3970,7 +4184,7 @@ class CreateInputInputMicrosoftGraph(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -4044,6 +4258,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.""" @@ -4215,6 +4430,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] @@ -4224,7 +4440,7 @@ class CreateInputInputOffice365MsgTraceTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -4258,6 +4474,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] @@ -4306,6 +4523,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""" @@ -4322,7 +4540,7 @@ class CreateInputInputOffice365MsgTrace(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -4393,6 +4611,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.""" @@ -4620,6 +4839,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] @@ -4629,7 +4849,7 @@ class CreateInputInputOffice365ServiceTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -4655,6 +4875,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] @@ -4686,6 +4907,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""" @@ -4702,7 +4924,7 @@ class CreateInputInputOffice365Service(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -4758,6 +4980,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""" @@ -4931,6 +5154,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] @@ -4940,7 +5164,7 @@ class CreateInputInputOffice365MgmtTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -4968,6 +5192,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] @@ -5004,6 +5229,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""" @@ -5020,7 +5246,7 @@ class CreateInputInputOffice365Mgmt(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -5081,6 +5307,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""" @@ -5210,6 +5437,8 @@ class CreateInputDiscoveryTypeEdgePrometheus(str, Enum, metaclass=utils.OpenEnum K8S_PODS = "k8s-pods" # Kubernetes Service Monitor (v4.18+) K8S_SERVICE_MONITOR = "k8s-service-monitor" + # HTTP SD + HTTP_SD = "http_sd" class CreateInputAuthenticationMethodEdgePrometheus( @@ -5312,6 +5541,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] @@ -5321,7 +5551,7 @@ class CreateInputInputEdgePrometheusTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -5337,6 +5567,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""" @@ -5389,6 +5620,16 @@ class CreateInputInputEdgePrometheusTypedDict(TypedDict): expressions evaluate to true. """ + http_discovery_url: NotRequired[str] + r"""URL to fetch target groups from (must be http or https)""" + http_discovery_headers: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict] + ] + r"""Extra headers to send with the discovery request""" + http_discovery_reject_unauthorized: NotRequired[bool] + r"""Reject TLS certificates that cannot be verified for the discovery endpoint. Falls back to the source-level setting if not specified.""" + max_response_body_size: NotRequired[str] + r"""Maximum size of the HTTP SD response body. Responses exceeding this limit will be rejected. Defaults to 20 MB.""" username: NotRequired[str] r"""Username for Prometheus Basic authentication""" password: NotRequired[str] @@ -5432,6 +5673,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""" @@ -5448,7 +5690,7 @@ class CreateInputInputEdgePrometheus(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -5480,6 +5722,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 @@ -5592,6 +5835,27 @@ class CreateInputInputEdgePrometheus(BaseModel): """ + http_discovery_url: Annotated[ + Optional[str], pydantic.Field(alias="httpDiscoveryUrl") + ] = None + r"""URL to fetch target groups from (must be http or https)""" + + http_discovery_headers: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecret]], + pydantic.Field(alias="httpDiscoveryHeaders"), + ] = None + r"""Extra headers to send with the discovery request""" + + http_discovery_reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="httpDiscoveryRejectUnauthorized") + ] = None + r"""Reject TLS certificates that cannot be verified for the discovery endpoint. Falls back to the source-level setting if not specified.""" + + max_response_body_size: Annotated[ + Optional[str], pydantic.Field(alias="maxResponseBodySize") + ] = None + r"""Maximum size of the HTTP SD response body. Responses exceeding this limit will be rejected. Defaults to 20 MB.""" + username: Optional[str] = None r"""Username for Prometheus Basic authentication""" @@ -5742,6 +6006,10 @@ def serialize_model(self, handler): "scrapePortExpr", "scrapePathExpr", "podFilter", + "httpDiscoveryUrl", + "httpDiscoveryHeaders", + "httpDiscoveryRejectUnauthorized", + "maxResponseBodySize", "username", "password", "credentialsSecret", @@ -5784,6 +6052,8 @@ class CreateInputDiscoveryTypePrometheus(str, Enum, metaclass=utils.OpenEnumMeta DNS = "dns" # AWS EC2 EC2 = "ec2" + # HTTP SD + HTTP_SD = "http_sd" class CreateInputMetricsProtocol(str, Enum, metaclass=utils.OpenEnumMeta): @@ -5802,6 +6072,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] @@ -5811,7 +6082,7 @@ class CreateInputInputPrometheusTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -5840,6 +6111,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] @@ -5876,6 +6148,16 @@ class CreateInputInputPrometheusTypedDict(TypedDict): 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).""" + http_discovery_url: NotRequired[str] + r"""URL to fetch target groups from (must be http or https)""" + http_discovery_headers: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict] + ] + r"""Extra headers to send with the discovery request""" + http_discovery_reject_unauthorized: NotRequired[bool] + r"""Reject TLS certificates that cannot be verified for the discovery endpoint. Falls back to the source-level setting if not specified.""" + max_response_body_size: NotRequired[str] + r"""Maximum size of the HTTP SD response body. Responses exceeding this limit will be rejected. Defaults to 20 MB.""" username: NotRequired[str] r"""Username for Prometheus Basic authentication""" password: NotRequired[str] @@ -5927,6 +6209,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""" @@ -5943,7 +6226,7 @@ class CreateInputInputPrometheus(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -6004,6 +6287,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 @@ -6084,6 +6368,27 @@ class CreateInputInputPrometheus(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).""" + http_discovery_url: Annotated[ + Optional[str], pydantic.Field(alias="httpDiscoveryUrl") + ] = None + r"""URL to fetch target groups from (must be http or https)""" + + http_discovery_headers: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecret]], + pydantic.Field(alias="httpDiscoveryHeaders"), + ] = None + r"""Extra headers to send with the discovery request""" + + http_discovery_reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="httpDiscoveryRejectUnauthorized") + ] = None + r"""Reject TLS certificates that cannot be verified for the discovery endpoint. Falls back to the source-level setting if not specified.""" + + max_response_body_size: Annotated[ + Optional[str], pydantic.Field(alias="maxResponseBodySize") + ] = None + r"""Maximum size of the HTTP SD response body. Responses exceeding this limit will be rejected. Defaults to 20 MB.""" + username: Optional[str] = None r"""Username for Prometheus Basic authentication""" @@ -6268,6 +6573,10 @@ def serialize_model(self, handler): "assumeRoleArn", "assumeRoleExternalId", "durationSeconds", + "httpDiscoveryUrl", + "httpDiscoveryHeaders", + "httpDiscoveryRejectUnauthorized", + "maxResponseBodySize", "username", "password", "credentialsSecret", @@ -6303,6 +6612,8 @@ def serialize_model(self, handler): class CreateInputTypePrometheusRw(str, Enum): + r"""Source type identifier.""" + PROMETHEUS_RW = "prometheus_rw" @@ -6310,6 +6621,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 @@ -6317,6 +6629,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] @@ -6326,7 +6639,7 @@ class CreateInputInputPrometheusRwTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -6358,6 +6671,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] @@ -6385,6 +6699,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).""" @@ -6396,6 +6711,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""" @@ -6412,7 +6728,7 @@ class CreateInputInputPrometheusRw(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -6486,6 +6802,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 @@ -6596,6 +6913,8 @@ def serialize_model(self, handler): class CreateInputTypeLoki(str, Enum): + r"""Source type identifier.""" + LOKI = "loki" @@ -6603,6 +6922,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 @@ -6610,6 +6930,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] @@ -6619,7 +6940,7 @@ class CreateInputInputLokiTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -6651,6 +6972,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] @@ -6676,6 +6998,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).""" @@ -6687,6 +7010,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""" @@ -6703,7 +7027,7 @@ class CreateInputInputLoki(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -6776,6 +7100,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 @@ -6880,6 +7205,8 @@ def serialize_model(self, handler): class CreateInputInputGrafanaType2(str, Enum): + r"""Source type identifier.""" + GRAFANA = "grafana" @@ -7026,6 +7353,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 @@ -7033,6 +7361,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] @@ -7042,7 +7371,7 @@ class CreateInputInputGrafanaGrafana2TypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -7076,6 +7405,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] @@ -7095,6 +7425,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).""" @@ -7106,6 +7437,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""" @@ -7122,7 +7454,7 @@ class CreateInputInputGrafanaGrafana2(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -7203,6 +7535,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") @@ -7286,6 +7619,8 @@ def serialize_model(self, handler): class CreateInputInputGrafanaType1(str, Enum): + r"""Source type identifier.""" + GRAFANA = "grafana" @@ -7432,6 +7767,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 @@ -7439,6 +7775,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] @@ -7448,7 +7785,7 @@ class CreateInputInputGrafanaGrafana1TypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -7482,6 +7819,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] @@ -7501,6 +7839,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).""" @@ -7512,6 +7851,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""" @@ -7528,7 +7868,7 @@ class CreateInputInputGrafanaGrafana1(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -7607,6 +7947,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") @@ -7717,6 +8058,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] @@ -7726,7 +8068,7 @@ class CreateInputInputConfluentCloudTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -7783,6 +8125,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] @@ -7808,6 +8151,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""" @@ -7824,7 +8168,7 @@ class CreateInputInputConfluentCloud(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -7935,6 +8279,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") @@ -8018,6 +8363,8 @@ def serialize_model(self, handler): class CreateInputTypeElastic(str, Enum): + r"""Source type identifier.""" + ELASTIC = "elastic" @@ -8154,6 +8501,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 @@ -8161,6 +8509,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] @@ -8170,7 +8519,7 @@ class CreateInputInputElasticTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -8206,6 +8555,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] @@ -8233,6 +8583,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).""" @@ -8244,6 +8595,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""" @@ -8260,7 +8612,7 @@ class CreateInputInputElastic(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -8347,6 +8699,7 @@ class CreateInputInputElastic(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" username: Optional[str] = None @@ -8483,6 +8836,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] @@ -8492,7 +8846,7 @@ class CreateInputInputAzureBlobTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -8520,6 +8874,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] @@ -8565,6 +8920,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""" @@ -8581,7 +8937,7 @@ class CreateInputInputAzureBlob(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -8640,6 +8996,7 @@ class CreateInputInputAzureBlob(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" connection_string: Annotated[ Optional[str], pydantic.Field(alias="connectionString") @@ -8783,6 +9140,8 @@ def serialize_model(self, handler): class CreateInputTypeSplunkHec(str, Enum): + r"""Source type identifier.""" + SPLUNK_HEC = "splunk_hec" @@ -8794,6 +9153,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]] @@ -8816,6 +9176,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""" @@ -8867,6 +9228,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 @@ -8874,6 +9236,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] @@ -8883,7 +9246,7 @@ class CreateInputInputSplunkHecTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -8933,6 +9296,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] @@ -8950,6 +9314,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).""" @@ -8961,6 +9326,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""" @@ -8977,7 +9343,7 @@ class CreateInputInputSplunkHec(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -9096,6 +9462,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") @@ -9252,6 +9619,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] @@ -9261,7 +9629,7 @@ class CreateInputInputSplunkSearchTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -9301,6 +9669,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] @@ -9356,6 +9725,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""" @@ -9372,7 +9742,7 @@ class CreateInputInputSplunkSearch(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -9458,6 +9828,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 @@ -9663,6 +10034,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] @@ -9672,7 +10044,7 @@ class CreateInputInputSplunkTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -9700,6 +10072,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] @@ -9735,6 +10108,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""" @@ -9751,7 +10125,7 @@ class CreateInputInputSplunk(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -9814,6 +10188,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") @@ -9933,6 +10308,8 @@ def serialize_model(self, handler): class CreateInputTypeHTTP(str, Enum): + r"""Source type identifier.""" + HTTP = "http" @@ -9940,11 +10317,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] @@ -9954,7 +10333,7 @@ class CreateInputInputHTTPTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -9995,6 +10374,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] @@ -10018,6 +10398,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).""" @@ -10026,6 +10407,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""" @@ -10042,7 +10424,7 @@ class CreateInputInputHTTP(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -10136,6 +10518,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") @@ -10250,6 +10633,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] @@ -10259,7 +10643,7 @@ class CreateInputInputMskTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -10329,6 +10713,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""" @@ -10378,6 +10763,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""" @@ -10394,7 +10780,7 @@ class CreateInputInputMsk(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -10539,6 +10925,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 @@ -10693,6 +11080,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] @@ -10702,7 +11090,7 @@ class CreateInputInputKafkaTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -10759,6 +11147,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] @@ -10784,6 +11173,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""" @@ -10800,7 +11190,7 @@ class CreateInputInputKafka(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -10911,6 +11301,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") @@ -11002,6 +11393,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] @@ -11011,7 +11403,7 @@ class CreateInputInputCollectionTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -11039,6 +11431,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""" @@ -11055,7 +11448,7 @@ class CreateInputInputCollection(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -11145,12 +11538,12 @@ def serialize_model(self, handler): CreateInputInputSystemMetricsTypedDict, CreateInputInputWindowsMetricsTypedDict, CreateInputInputJournalFilesTypedDict, - CreateInputInputKubeLogsTypedDict, CreateInputInputModelDrivenTelemetryTypedDict, CreateInputInputExecTypedDict, CreateInputInputRawUDPTypedDict, CreateInputInputAnthropicComplianceTypedDict, CreateInputInputWinEventLogsTypedDict, + CreateInputInputKubeLogsTypedDict, CreateInputInputSnmpTypedDict, CreateInputInputMetricsTypedDict, CreateInputInputNetflowTypedDict, @@ -11162,44 +11555,46 @@ def serialize_model(self, handler): CreateInputInputGooglePubsubTypedDict, CreateInputInputCriblHTTPTypedDict, CreateInputInputTCPTypedDict, - CreateInputInputDatadogAgentTypedDict, CreateInputInputFirehoseTypedDict, CreateInputInputOffice365ServiceTypedDict, CreateInputInputWizTypedDict, + CreateInputInputDatadogAgentTypedDict, CreateInputInputAppscopeTypedDict, - CreateInputInputFileTypedDict, - CreateInputInputSplunkTypedDict, CreateInputInputOffice365MgmtTypedDict, - CreateInputInputZscalerHecTypedDict, + CreateInputInputSplunkTypedDict, + CreateInputInputFileTypedDict, CreateInputInputWefTypedDict, - CreateInputInputWizWebhookTypedDict, - CreateInputInputHTTPRawTypedDict, CreateInputInputLokiTypedDict, + CreateInputInputHTTPRawTypedDict, + CreateInputInputWizWebhookTypedDict, CreateInputInputPrometheusRwTypedDict, - CreateInputInputCriblLakeHTTPTypedDict, + CreateInputInputUpwindHecTypedDict, + CreateInputInputSysdigHecTypedDict, CreateInputInputHTTPTypedDict, - CreateInputInputConfluentCloudTypedDict, CreateInputInputKafkaTypedDict, + CreateInputInputConfluentCloudTypedDict, + CreateInputInputCriblLakeHTTPTypedDict, + CreateInputInputZscalerHecTypedDict, CreateInputInputEventhubTypedDict, + CreateInputInputAzureBlobTypedDict, CreateInputInputCloudflareHecTypedDict, CreateInputInputOpenaiComplianceLogsTypedDict, - CreateInputInputAzureBlobTypedDict, - CreateInputInputOpenTelemetryTypedDict, CreateInputInputElasticTypedDict, + CreateInputInputOpenTelemetryTypedDict, CreateInputInputSplunkHecTypedDict, CreateInputInputSqsTypedDict, CreateInputInputMicrosoftGraphTypedDict, CreateInputInputKinesisTypedDict, CreateInputInputOffice365MsgTraceTypedDict, CreateInputInputSplunkSearchTypedDict, - CreateInputInputCrowdstrikeTypedDict, CreateInputInputServicenowTableTypedDict, - CreateInputInputSecurityLakeTypedDict, - CreateInputInputS3TypedDict, - CreateInputInputS3InventoryTypedDict, - CreateInputInputEdgePrometheusTypedDict, CreateInputInputMskTypedDict, + CreateInputInputEdgePrometheusTypedDict, + CreateInputInputCrowdstrikeTypedDict, + CreateInputInputS3TypedDict, + CreateInputInputSecurityLakeTypedDict, CreateInputInputPrometheusTypedDict, + CreateInputInputS3InventoryTypedDict, CreateInputInputGrafanaUnionTypedDict, CreateInputInputSyslogUnionTypedDict, ], @@ -11274,6 +11669,8 @@ def serialize_model(self, handler): Annotated[CreateInputInputServicenowTable, Tag("servicenow_table")], Annotated[CreateInputInputZscalerHec, Tag("zscaler_hec")], Annotated[CreateInputInputCloudflareHec, Tag("cloudflare_hec")], + Annotated[CreateInputInputSysdigHec, Tag("sysdig_hec")], + Annotated[CreateInputInputUpwindHec, Tag("upwind_hec")], Annotated[CreateInputInputOpenaiComplianceLogs, Tag("openai_compliance_logs")], Annotated[CreateInputInputAnthropicCompliance, Tag("anthropic_compliance")], Annotated[CreateInputInputOkta, Tag("okta")], @@ -11363,6 +11760,10 @@ def serialize_model(self, handler): CreateInputInputExec.model_rebuild() except NameError: pass +try: + CreateInputCertificate.model_rebuild() +except NameError: + pass try: CreateInputAuth.model_rebuild() except NameError: diff --git a/src/cribl_control_plane/models/createinput_logged_in_users.py b/src/cribl_control_plane/models/createinput_users_and_groups.py similarity index 88% rename from src/cribl_control_plane/models/createinput_logged_in_users.py rename to src/cribl_control_plane/models/createinput_users_and_groups.py index 9bcc6c4c0..5838c318f 100644 --- a/src/cribl_control_plane/models/createinput_logged_in_users.py +++ b/src/cribl_control_plane/models/createinput_users_and_groups.py @@ -11,6 +11,10 @@ AuthenticationMethodOptionsS3CollectorConf, ) from .authenticationprotocoloptionsv3user import AuthenticationProtocolOptionsV3User +from .authtokenconfinputcloudflarehec import ( + AuthTokenConfInputCloudflareHec, + AuthTokenConfInputCloudflareHecTypedDict, +) from .authtokensextconfinputhttp import ( AuthTokensExtConfInputHTTP, AuthTokensExtConfInputHTTPTypedDict, @@ -50,15 +54,16 @@ PrivacyProtocolOptionsSnmpTrapSerializeV3UserAuthProtocolNotNone, ) from .processtype import ProcessType, ProcessTypeTypedDict -from .requestparamconfinputopenai import ( - RequestParamConfInputOpenai, - RequestParamConfInputOpenaiTypedDict, +from .refreshrequestparamconfhealthcheckauthenticationoauthsecret import ( + RefreshRequestParamConfHealthCheckAuthenticationOauthSecret, + RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict, ) from .retryrulestype import RetryRulesType, RetryRulesTypeTypedDict from .ruleconfinputkubemetrics import ( RuleConfInputKubeMetrics, RuleConfInputKubeMetricsTypedDict, ) +from .sqsauthenticationmethodoptions import SqsAuthenticationMethodOptions from .tagafterprocessingoptions import TagAfterProcessingOptions from .tlssettingsserversidetype import ( TLSSettingsServerSideType, @@ -86,6 +91,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] @@ -95,7 +101,7 @@ class CreateInputInputOktaTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -123,6 +129,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] @@ -144,6 +151,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""" @@ -160,7 +168,7 @@ class CreateInputInputOkta(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -213,6 +221,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") @@ -277,6 +286,14 @@ class CreateInputTypeAnthropicCompliance(str, Enum): ANTHROPIC_COMPLIANCE = "anthropic_compliance" +class CreateInputEndpointName(str, Enum, metaclass=utils.OpenEnumMeta): + ACTIVITIES = "activities" + CHATS = "chats" + PROJECTS = "projects" + GROUPS = "groups" + ORGANIZATIONS = "organizations" + + class CreateInputManageStateAnthropicComplianceTypedDict(TypedDict): pass @@ -286,13 +303,9 @@ class CreateInputManageStateAnthropicCompliance(BaseModel): class CreateInputContentConfigAnthropicComplianceTypedDict(TypedDict): - content_type: str + content_type: CreateInputEndpointName cron_schedule: str r"""Schedule on which to run this collection job""" - earliest: str - r"""Earliest time for data collection, relative to now""" - latest: str - r"""Latest time for data collection, relative to now""" content_description: NotRequired[str] enabled: NotRequired[bool] state_tracking: NotRequired[bool] @@ -302,22 +315,22 @@ class CreateInputContentConfigAnthropicComplianceTypedDict(TypedDict): state_merge_expression: NotRequired[str] r"""JavaScript expression that defines which state to keep when merging task state""" manage_state: NotRequired[CreateInputManageStateAnthropicComplianceTypedDict] + earliest: NotRequired[str] + r"""Earliest time for data collection, relative to now""" + latest: NotRequired[str] + r"""Latest time for data collection, relative to now""" job_timeout: NotRequired[str] r"""Maximum time the job is allowed to run (examples: 30, 45s, 15m). Enter 0 for unlimited time.""" class CreateInputContentConfigAnthropicCompliance(BaseModel): - content_type: Annotated[str, pydantic.Field(alias="contentType")] + content_type: Annotated[ + CreateInputEndpointName, pydantic.Field(alias="contentType") + ] cron_schedule: Annotated[str, pydantic.Field(alias="cronSchedule")] r"""Schedule on which to run this collection job""" - earliest: str - r"""Earliest time for data collection, relative to now""" - - latest: str - r"""Latest time for data collection, relative to now""" - content_description: Annotated[ Optional[str], pydantic.Field(alias="contentDescription") ] = None @@ -344,9 +357,24 @@ class CreateInputContentConfigAnthropicCompliance(BaseModel): pydantic.Field(alias="manageState"), ] = None + earliest: Optional[str] = None + r"""Earliest time for data collection, relative to now""" + + latest: Optional[str] = None + r"""Latest time for data collection, relative to now""" + job_timeout: Annotated[Optional[str], pydantic.Field(alias="jobTimeout")] = None r"""Maximum time the job is allowed to run (examples: 30, 45s, 15m). Enter 0 for unlimited time.""" + @field_serializer("content_type") + def serialize_content_type(self, value): + if isinstance(value, str): + try: + return models.CreateInputEndpointName(value) + except ValueError: + return value + return value + @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( @@ -357,6 +385,8 @@ def serialize_model(self, handler): "stateUpdateExpression", "stateMergeExpression", "manageState", + "earliest", + "latest", "jobTimeout", ] ) @@ -382,6 +412,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] @@ -391,7 +422,7 @@ class CreateInputInputAnthropicComplianceTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -410,6 +441,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] @@ -431,6 +463,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""" @@ -447,7 +480,7 @@ class CreateInputInputAnthropicCompliance(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -487,6 +520,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") @@ -565,6 +599,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] @@ -574,7 +609,7 @@ class CreateInputInputOpenaiComplianceLogsTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -609,6 +644,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]] @@ -646,6 +682,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""" @@ -662,7 +699,7 @@ class CreateInputInputOpenaiComplianceLogs(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -735,6 +772,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)""" @@ -769,43 +807,653 @@ class CreateInputInputOpenaiComplianceLogs(BaseModel): pydantic.Field(alias="manageState"), ] = None - template_environment: Annotated[ - Optional[str], pydantic.Field(alias="__template_environment") + template_environment: Annotated[ + Optional[str], pydantic.Field(alias="__template_environment") + ] = None + 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: 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_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_organization_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_organizationId") + ] = None + r"""Binds 'organizationId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'organizationId' at runtime.""" + + @field_serializer("account_type") + def serialize_account_type(self, value): + if isinstance(value, str): + try: + return models.CreateInputAccountType(value) + except ValueError: + return value + return value + + @field_serializer("log_level") + def serialize_log_level(self, value): + if isinstance(value, str): + try: + return models.LogLevelOptionsContentConfigItemsDebugError(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "disabled", + "pipeline", + "sendToRoutes", + "environment", + "pqEnabled", + "streamtags", + "connections", + "pq", + "apiKey", + "earliest", + "latest", + "jobTimeout", + "logLevel", + "maxPages", + "stateTracking", + "requestTimeout", + "keepAliveTime", + "maxMissedKeepAlives", + "ttl", + "ignoreGroupJobsLimit", + "metadata", + "breakerRulesets", + "staleChannelFlushMs", + "retryRules", + "description", + "workspaceId", + "workspaceEventTypes", + "organizationId", + "organizationEventTypes", + "stateUpdateExpression", + "stateMergeExpression", + "manageState", + "__template_environment", + "__template_streamtags", + "__template_workspaceId", + "__template_organizationId", + ] + ) + 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 CreateInputTypeUpwindHec(str, Enum): + r"""Source type identifier.""" + + UPWIND_HEC = "upwind_hec" + + +class CreateInputInputUpwindHecTypedDict(TypedDict): + id: str + r"""Unique ID for this input""" + type: CreateInputTypeUpwindHec + 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""" + hec_api: str + r"""Absolute path on which to listen for the Upwind 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] + r"""Select whether to send data to Routes, or directly to Destinations.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + pq_enabled: NotRequired[bool] + r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" + streamtags: NotRequired[List[str]] + r"""Metadata tags used for categorization and filtering.""" + connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] + r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" + pq: NotRequired[PqTypeTypedDict] + auth_tokens: NotRequired[List[AuthTokenConfInputCloudflareHecTypedDict]] + r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" + tls: NotRequired[TLSSettingsServerSideTypeTypedDict] + max_active_req: NotRequired[float] + r"""Maximum number of active requests allowed per Worker Process. Set to 0 for unlimited. Caution: Increasing the limit above the default value, or setting it to unlimited, may degrade performance and reduce throughput.""" + max_requests_per_socket: NotRequired[int] + r"""Maximum number of requests per socket before @{product} instructs the client to close the connection. Default is 0 (unlimited).""" + enable_proxy_header: NotRequired[bool] + r"""Extract the client IP and port from PROXY protocol v1/v2. When enabled, the X-Forwarded-For header is ignored. Disable to use the X-Forwarded-For header for client IP extraction.""" + capture_headers: NotRequired[bool] + r"""Add request headers to events, in the __headers field""" + activity_log_sample_rate: NotRequired[float] + r"""How often request activity is logged at the `info` level. A value of 1 would log every request, 10 every 10th request, etc.""" + request_timeout: NotRequired[float] + r"""How long to wait for an incoming request to complete before aborting it. Use 0 to disable.""" + socket_timeout: NotRequired[float] + r"""How long @{product} should wait before assuming that an inactive socket has timed out. To wait forever, set to 0.""" + keep_alive_timeout: NotRequired[float] + r"""After the last response is sent, @{product} will wait this long for additional data before closing the socket connection. Minimum 1 second, maximum 600 seconds (10 minutes).""" + ip_allowlist_regex: NotRequired[str] + r"""Messages from matched IP addresses will be processed, unless also matched by the denylist""" + ip_denylist_regex: NotRequired[str] + r"""Messages from matched IP addresses will be ignored. This takes precedence over the allowlist.""" + metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] + r"""Fields to add to every event. May be overridden by fields added at the token or request level.""" + allowed_indexes: NotRequired[List[str]] + r"""List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level.""" + access_control_allow_origin: NotRequired[List[str]] + r"""HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards.""" + access_control_allow_headers: NotRequired[List[str]] + r"""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: 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] + r"""Binds 'streamtags' to a variable 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_hec_api: NotRequired[str] + r"""Binds 'hecAPI' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'hecAPI' at runtime.""" + template_allowed_indexes: NotRequired[str] + r"""Binds 'allowedIndexes' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'allowedIndexes' at runtime.""" + template_access_control_allow_origin: NotRequired[str] + r"""Binds 'accessControlAllowOrigin' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowOrigin' at runtime.""" + template_access_control_allow_headers: NotRequired[str] + r"""Binds 'accessControlAllowHeaders' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowHeaders' at runtime.""" + + +class CreateInputInputUpwindHec(BaseModel): + id: str + r"""Unique ID for this input""" + + type: CreateInputTypeUpwindHec + 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""" + + hec_api: Annotated[str, pydantic.Field(alias="hecAPI")] + r"""Absolute path on which to listen for the Upwind 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""" + + send_to_routes: Annotated[Optional[bool], pydantic.Field(alias="sendToRoutes")] = ( + None + ) + r"""Select whether to send data to Routes, or directly to Destinations.""" + + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + + pq_enabled: Annotated[Optional[bool], pydantic.Field(alias="pqEnabled")] = None + r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" + + streamtags: Optional[List[str]] = None + r"""Metadata tags used for categorization and filtering.""" + + connections: Optional[List[ConnectionConfInputCollection]] = None + r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" + + pq: Optional[PqType] = None + + auth_tokens: Annotated[ + Optional[List[AuthTokenConfInputCloudflareHec]], + pydantic.Field(alias="authTokens"), + ] = None + r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" + + tls: Optional[TLSSettingsServerSideType] = None + + max_active_req: Annotated[Optional[float], pydantic.Field(alias="maxActiveReq")] = ( + None + ) + r"""Maximum number of active requests allowed per Worker Process. Set to 0 for unlimited. Caution: Increasing the limit above the default value, or setting it to unlimited, may degrade performance and reduce throughput.""" + + max_requests_per_socket: Annotated[ + Optional[int], pydantic.Field(alias="maxRequestsPerSocket") + ] = None + r"""Maximum number of requests per socket before @{product} instructs the client to close the connection. Default is 0 (unlimited).""" + + enable_proxy_header: Annotated[ + Optional[bool], pydantic.Field(alias="enableProxyHeader") + ] = None + r"""Extract the client IP and port from PROXY protocol v1/v2. When enabled, the X-Forwarded-For header is ignored. Disable to use the X-Forwarded-For header for client IP extraction.""" + + capture_headers: Annotated[ + Optional[bool], pydantic.Field(alias="captureHeaders") + ] = None + r"""Add request headers to events, in the __headers field""" + + activity_log_sample_rate: Annotated[ + Optional[float], pydantic.Field(alias="activityLogSampleRate") + ] = None + r"""How often request activity is logged at the `info` level. A value of 1 would log every request, 10 every 10th request, etc.""" + + request_timeout: Annotated[ + Optional[float], pydantic.Field(alias="requestTimeout") + ] = None + r"""How long to wait for an incoming request to complete before aborting it. Use 0 to disable.""" + + socket_timeout: Annotated[ + Optional[float], pydantic.Field(alias="socketTimeout") + ] = None + r"""How long @{product} should wait before assuming that an inactive socket has timed out. To wait forever, set to 0.""" + + keep_alive_timeout: Annotated[ + Optional[float], pydantic.Field(alias="keepAliveTimeout") + ] = None + r"""After the last response is sent, @{product} will wait this long for additional data before closing the socket connection. Minimum 1 second, maximum 600 seconds (10 minutes).""" + + ip_allowlist_regex: Annotated[ + Optional[str], pydantic.Field(alias="ipAllowlistRegex") + ] = None + r"""Messages from matched IP addresses will be processed, unless also matched by the denylist""" + + ip_denylist_regex: Annotated[ + Optional[str], pydantic.Field(alias="ipDenylistRegex") + ] = None + r"""Messages from matched IP addresses will be ignored. This takes precedence over the allowlist.""" + + metadata: Optional[List[MetadataConfInputCollection]] = None + r"""Fields to add to every event. May be overridden by fields added at the token or request level.""" + + allowed_indexes: Annotated[ + Optional[List[str]], pydantic.Field(alias="allowedIndexes") + ] = None + r"""List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level.""" + + access_control_allow_origin: Annotated[ + Optional[List[str]], pydantic.Field(alias="accessControlAllowOrigin") + ] = None + r"""HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards.""" + + access_control_allow_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="accessControlAllowHeaders") + ] = None + r"""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: Annotated[ + Optional[bool], pydantic.Field(alias="emitTokenMetrics") + ] = None + 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") + ] = None + 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: 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_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_hec_api: Annotated[ + Optional[str], pydantic.Field(alias="__template_hecAPI") + ] = None + r"""Binds 'hecAPI' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'hecAPI' at runtime.""" + + template_allowed_indexes: Annotated[ + Optional[str], pydantic.Field(alias="__template_allowedIndexes") + ] = None + r"""Binds 'allowedIndexes' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'allowedIndexes' at runtime.""" + + template_access_control_allow_origin: Annotated[ + Optional[str], pydantic.Field(alias="__template_accessControlAllowOrigin") + ] = None + r"""Binds 'accessControlAllowOrigin' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowOrigin' at runtime.""" + + template_access_control_allow_headers: Annotated[ + Optional[str], pydantic.Field(alias="__template_accessControlAllowHeaders") + ] = None + r"""Binds 'accessControlAllowHeaders' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowHeaders' at runtime.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "disabled", + "pipeline", + "sendToRoutes", + "environment", + "pqEnabled", + "streamtags", + "connections", + "pq", + "authTokens", + "tls", + "maxActiveReq", + "maxRequestsPerSocket", + "enableProxyHeader", + "captureHeaders", + "activityLogSampleRate", + "requestTimeout", + "socketTimeout", + "keepAliveTimeout", + "ipAllowlistRegex", + "ipDenylistRegex", + "metadata", + "allowedIndexes", + "accessControlAllowOrigin", + "accessControlAllowHeaders", + "emitTokenMetrics", + "description", + "__template_environment", + "__template_streamtags", + "__template_host", + "__template_port", + "__template_hecAPI", + "__template_allowedIndexes", + "__template_accessControlAllowOrigin", + "__template_accessControlAllowHeaders", + ] + ) + 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 CreateInputTypeSysdigHec(str, Enum): + r"""Source type identifier.""" + + SYSDIG_HEC = "sysdig_hec" + + +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 + r"""Port to listen on""" + 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] + r"""Select whether to send data to Routes, or directly to Destinations.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + pq_enabled: NotRequired[bool] + r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" + streamtags: NotRequired[List[str]] + r"""Metadata tags used for categorization and filtering.""" + connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] + r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" + pq: NotRequired[PqTypeTypedDict] + auth_tokens: NotRequired[List[AuthTokenConfInputCloudflareHecTypedDict]] + r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" + tls: NotRequired[TLSSettingsServerSideTypeTypedDict] + max_active_req: NotRequired[float] + r"""Maximum number of active requests allowed per Worker Process. Set to 0 for unlimited. Caution: Increasing the limit above the default value, or setting it to unlimited, may degrade performance and reduce throughput.""" + max_requests_per_socket: NotRequired[int] + r"""Maximum number of requests per socket before @{product} instructs the client to close the connection. Default is 0 (unlimited).""" + enable_proxy_header: NotRequired[bool] + r"""Extract the client IP and port from PROXY protocol v1/v2. When enabled, the X-Forwarded-For header is ignored. Disable to use the X-Forwarded-For header for client IP extraction.""" + capture_headers: NotRequired[bool] + r"""Add request headers to events, in the __headers field""" + activity_log_sample_rate: NotRequired[float] + r"""How often request activity is logged at the `info` level. A value of 1 would log every request, 10 every 10th request, etc.""" + request_timeout: NotRequired[float] + r"""How long to wait for an incoming request to complete before aborting it. Use 0 to disable.""" + socket_timeout: NotRequired[float] + r"""How long @{product} should wait before assuming that an inactive socket has timed out. To wait forever, set to 0.""" + keep_alive_timeout: NotRequired[float] + r"""After the last response is sent, @{product} will wait this long for additional data before closing the socket connection. Minimum 1 second, maximum 600 seconds (10 minutes).""" + ip_allowlist_regex: NotRequired[str] + r"""Messages from matched IP addresses will be processed, unless also matched by the denylist""" + ip_denylist_regex: NotRequired[str] + r"""Messages from matched IP addresses will be ignored. This takes precedence over the allowlist.""" + metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] + r"""Fields to add to every event. May be overridden by fields added at the token or request level.""" + allowed_indexes: NotRequired[List[str]] + r"""List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level.""" + access_control_allow_origin: NotRequired[List[str]] + r"""HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards.""" + access_control_allow_headers: NotRequired[List[str]] + r"""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: 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] + r"""Binds 'streamtags' to a variable 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_hec_api: NotRequired[str] + r"""Binds 'hecAPI' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'hecAPI' at runtime.""" + template_allowed_indexes: NotRequired[str] + r"""Binds 'allowedIndexes' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'allowedIndexes' at runtime.""" + template_access_control_allow_origin: NotRequired[str] + r"""Binds 'accessControlAllowOrigin' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowOrigin' at runtime.""" + template_access_control_allow_headers: NotRequired[str] + r"""Binds 'accessControlAllowHeaders' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowHeaders' at runtime.""" + + +class CreateInputInputSysdigHec(BaseModel): + 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 + r"""Port to listen on""" + + hec_api: Annotated[str, pydantic.Field(alias="hecAPI")] + 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""" + + send_to_routes: Annotated[Optional[bool], pydantic.Field(alias="sendToRoutes")] = ( + None + ) + r"""Select whether to send data to Routes, or directly to Destinations.""" + + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + + pq_enabled: Annotated[Optional[bool], pydantic.Field(alias="pqEnabled")] = None + r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" + + streamtags: Optional[List[str]] = None + r"""Metadata tags used for categorization and filtering.""" + + connections: Optional[List[ConnectionConfInputCollection]] = None + r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" + + pq: Optional[PqType] = None + + auth_tokens: Annotated[ + Optional[List[AuthTokenConfInputCloudflareHec]], + pydantic.Field(alias="authTokens"), + ] = None + r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" + + tls: Optional[TLSSettingsServerSideType] = None + + max_active_req: Annotated[Optional[float], pydantic.Field(alias="maxActiveReq")] = ( + None + ) + r"""Maximum number of active requests allowed per Worker Process. Set to 0 for unlimited. Caution: Increasing the limit above the default value, or setting it to unlimited, may degrade performance and reduce throughput.""" + + max_requests_per_socket: Annotated[ + Optional[int], pydantic.Field(alias="maxRequestsPerSocket") + ] = None + r"""Maximum number of requests per socket before @{product} instructs the client to close the connection. Default is 0 (unlimited).""" + + enable_proxy_header: Annotated[ + Optional[bool], pydantic.Field(alias="enableProxyHeader") + ] = None + r"""Extract the client IP and port from PROXY protocol v1/v2. When enabled, the X-Forwarded-For header is ignored. Disable to use the X-Forwarded-For header for client IP extraction.""" + + capture_headers: Annotated[ + Optional[bool], pydantic.Field(alias="captureHeaders") + ] = None + r"""Add request headers to events, in the __headers field""" + + activity_log_sample_rate: Annotated[ + Optional[float], pydantic.Field(alias="activityLogSampleRate") + ] = None + r"""How often request activity is logged at the `info` level. A value of 1 would log every request, 10 every 10th request, etc.""" + + request_timeout: Annotated[ + Optional[float], pydantic.Field(alias="requestTimeout") + ] = None + r"""How long to wait for an incoming request to complete before aborting it. Use 0 to disable.""" + + socket_timeout: Annotated[ + Optional[float], pydantic.Field(alias="socketTimeout") + ] = None + r"""How long @{product} should wait before assuming that an inactive socket has timed out. To wait forever, set to 0.""" + + keep_alive_timeout: Annotated[ + Optional[float], pydantic.Field(alias="keepAliveTimeout") + ] = None + r"""After the last response is sent, @{product} will wait this long for additional data before closing the socket connection. Minimum 1 second, maximum 600 seconds (10 minutes).""" + + ip_allowlist_regex: Annotated[ + Optional[str], pydantic.Field(alias="ipAllowlistRegex") + ] = None + r"""Messages from matched IP addresses will be processed, unless also matched by the denylist""" + + ip_denylist_regex: Annotated[ + Optional[str], pydantic.Field(alias="ipDenylistRegex") + ] = None + r"""Messages from matched IP addresses will be ignored. This takes precedence over the allowlist.""" + + metadata: Optional[List[MetadataConfInputCollection]] = None + r"""Fields to add to every event. May be overridden by fields added at the token or request level.""" + + allowed_indexes: Annotated[ + Optional[List[str]], pydantic.Field(alias="allowedIndexes") + ] = None + r"""List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level.""" + + access_control_allow_origin: Annotated[ + Optional[List[str]], pydantic.Field(alias="accessControlAllowOrigin") + ] = None + r"""HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards.""" + + access_control_allow_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="accessControlAllowHeaders") + ] = None + r"""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: Annotated[ + Optional[bool], pydantic.Field(alias="emitTokenMetrics") + ] = None + 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") + ] = None + 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: 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_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_hec_api: Annotated[ + Optional[str], pydantic.Field(alias="__template_hecAPI") ] = None - 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.""" + r"""Binds 'hecAPI' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'hecAPI' at runtime.""" - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") + template_allowed_indexes: Annotated[ + Optional[str], pydantic.Field(alias="__template_allowedIndexes") ] = 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 'allowedIndexes' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'allowedIndexes' at runtime.""" - template_workspace_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_workspaceId") + template_access_control_allow_origin: Annotated[ + Optional[str], pydantic.Field(alias="__template_accessControlAllowOrigin") ] = 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.""" + r"""Binds 'accessControlAllowOrigin' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowOrigin' at runtime.""" - template_organization_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_organizationId") + template_access_control_allow_headers: Annotated[ + Optional[str], pydantic.Field(alias="__template_accessControlAllowHeaders") ] = None - r"""Binds 'organizationId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'organizationId' at runtime.""" - - @field_serializer("account_type") - def serialize_account_type(self, value): - if isinstance(value, str): - try: - return models.CreateInputAccountType(value) - except ValueError: - return value - return value - - @field_serializer("log_level") - def serialize_log_level(self, value): - if isinstance(value, str): - try: - return models.LogLevelOptionsContentConfigItemsDebugError(value) - except ValueError: - return value - return value + r"""Binds 'accessControlAllowHeaders' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowHeaders' at runtime.""" @model_serializer(mode="wrap") def serialize_model(self, handler): @@ -819,34 +1467,32 @@ def serialize_model(self, handler): "streamtags", "connections", "pq", - "apiKey", - "earliest", - "latest", - "jobTimeout", - "logLevel", - "maxPages", - "stateTracking", + "authTokens", + "tls", + "maxActiveReq", + "maxRequestsPerSocket", + "enableProxyHeader", + "captureHeaders", + "activityLogSampleRate", "requestTimeout", - "keepAliveTime", - "maxMissedKeepAlives", - "ttl", - "ignoreGroupJobsLimit", + "socketTimeout", + "keepAliveTimeout", + "ipAllowlistRegex", + "ipDenylistRegex", "metadata", - "breakerRulesets", - "staleChannelFlushMs", - "retryRules", + "allowedIndexes", + "accessControlAllowOrigin", + "accessControlAllowHeaders", + "emitTokenMetrics", "description", - "workspaceId", - "workspaceEventTypes", - "organizationId", - "organizationEventTypes", - "stateUpdateExpression", - "stateMergeExpression", - "manageState", "__template_environment", "__template_streamtags", - "__template_workspaceId", - "__template_organizationId", + "__template_host", + "__template_port", + "__template_hecAPI", + "__template_allowedIndexes", + "__template_accessControlAllowOrigin", + "__template_accessControlAllowHeaders", ] ) serialized = handler(self) @@ -864,91 +1510,9 @@ def serialize_model(self, handler): class CreateInputTypeCloudflareHec(str, Enum): - CLOUDFLARE_HEC = "cloudflare_hec" - - -class CreateInputAuthenticationMethodCloudflareHec( - str, Enum, metaclass=utils.OpenEnumMeta -): - r"""Select Secret to use a text secret to authenticate""" - - SECRET = "secret" - - -class CreateInputAuthTokenCloudflareHecTypedDict(TypedDict): - auth_type: NotRequired[CreateInputAuthenticationMethodCloudflareHec] - r"""Select Secret to use a text secret to authenticate""" - token_secret: NotRequired[str] - r"""Select or create a stored text secret""" - token: NotRequired[str] - r"""Shared secret to be provided by any client (Authorization: )""" - enabled: NotRequired[bool] - description: NotRequired[str] - allowed_indexes_at_token: NotRequired[List[str]] - r"""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: NotRequired[List[MetadataConfInputCollectionTypedDict]] - r"""Fields to add to events referencing this token""" - - -class CreateInputAuthTokenCloudflareHec(BaseModel): - auth_type: Annotated[ - Optional[CreateInputAuthenticationMethodCloudflareHec], - pydantic.Field(alias="authType"), - ] = None - r"""Select Secret to use a text secret to authenticate""" - - token_secret: Annotated[Optional[str], pydantic.Field(alias="tokenSecret")] = None - r"""Select or create a stored text secret""" - - token: Optional[str] = None - r"""Shared secret to be provided by any client (Authorization: )""" - - enabled: Optional[bool] = None - - description: Optional[str] = None - - allowed_indexes_at_token: Annotated[ - Optional[List[str]], pydantic.Field(alias="allowedIndexesAtToken") - ] = None - r"""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: Optional[List[MetadataConfInputCollection]] = None - r"""Fields to add to events referencing this token""" - - @field_serializer("auth_type") - def serialize_auth_type(self, value): - if isinstance(value, str): - try: - return models.CreateInputAuthenticationMethodCloudflareHec(value) - except ValueError: - return value - return value - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "authType", - "tokenSecret", - "token", - "enabled", - "description", - "allowedIndexesAtToken", - "metadata", - ] - ) - 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 + r"""Source type identifier.""" - return m + CLOUDFLARE_HEC = "cloudflare_hec" class CreateInputTLSSettingsServerSideTypedDict(TypedDict): @@ -1069,6 +1633,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 @@ -1076,6 +1641,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] @@ -1085,11 +1651,11 @@ class CreateInputInputCloudflareHecTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] - auth_tokens: NotRequired[List[CreateInputAuthTokenCloudflareHecTypedDict]] + auth_tokens: NotRequired[List[AuthTokenConfInputCloudflareHecTypedDict]] r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" tls: NotRequired[CreateInputTLSSettingsServerSideTypedDict] max_active_req: NotRequired[float] @@ -1116,17 +1682,18 @@ class CreateInputInputCloudflareHecTypedDict(TypedDict): r"""Fields to add to every event. May be overridden by fields added at the token or request level.""" allowed_indexes: NotRequired[List[str]] r"""List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level.""" - breaker_rulesets: NotRequired[List[str]] - r"""A list of event-breaking rulesets that will be applied, in order, to the input data stream""" - 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""" access_control_allow_origin: NotRequired[List[str]] r"""HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards.""" access_control_allow_headers: NotRequired[List[str]] r"""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: NotRequired[bool] r"""Emit per-token (.http.perToken) and summary (.http.summary) request metrics""" + breaker_rulesets: NotRequired[List[str]] + r"""A list of event-breaking rulesets that will be applied, in order, to the input data stream""" + 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] @@ -1150,6 +1717,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).""" @@ -1161,6 +1729,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""" @@ -1177,7 +1746,7 @@ class CreateInputInputCloudflareHec(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -1185,7 +1754,7 @@ class CreateInputInputCloudflareHec(BaseModel): pq: Optional[PqType] = None auth_tokens: Annotated[ - Optional[List[CreateInputAuthTokenCloudflareHec]], + Optional[List[AuthTokenConfInputCloudflareHec]], pydantic.Field(alias="authTokens"), ] = None r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" @@ -1250,16 +1819,6 @@ class CreateInputInputCloudflareHec(BaseModel): ] = None r"""List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level.""" - breaker_rulesets: Annotated[ - Optional[List[str]], pydantic.Field(alias="breakerRulesets") - ] = None - r"""A list of event-breaking rulesets that will be applied, in order, to the input data stream""" - - stale_channel_flush_ms: Annotated[ - Optional[float], pydantic.Field(alias="staleChannelFlushMs") - ] = None - 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""" - access_control_allow_origin: Annotated[ Optional[List[str]], pydantic.Field(alias="accessControlAllowOrigin") ] = None @@ -1275,7 +1834,18 @@ class CreateInputInputCloudflareHec(BaseModel): ] = None r"""Emit per-token (.http.perToken) and summary (.http.summary) request metrics""" + breaker_rulesets: Annotated[ + Optional[List[str]], pydantic.Field(alias="breakerRulesets") + ] = None + r"""A list of event-breaking rulesets that will be applied, in order, to the input data stream""" + + stale_channel_flush_ms: Annotated[ + Optional[float], pydantic.Field(alias="staleChannelFlushMs") + ] = None + 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") @@ -1343,11 +1913,11 @@ def serialize_model(self, handler): "ipDenylistRegex", "metadata", "allowedIndexes", - "breakerRulesets", - "staleChannelFlushMs", "accessControlAllowOrigin", "accessControlAllowHeaders", "emitTokenMetrics", + "breakerRulesets", + "staleChannelFlushMs", "description", "__template_environment", "__template_streamtags", @@ -1374,6 +1944,8 @@ def serialize_model(self, handler): class CreateInputTypeZscalerHec(str, Enum): + r"""Source type identifier.""" + ZSCALER_HEC = "zscaler_hec" @@ -1456,6 +2028,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 @@ -1463,6 +2036,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] @@ -1472,7 +2046,7 @@ class CreateInputInputZscalerHecTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -1503,15 +2077,16 @@ class CreateInputInputZscalerHecTypedDict(TypedDict): r"""Fields to add to every event. May be overridden by fields added at the token or request level.""" allowed_indexes: NotRequired[List[str]] r"""List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level.""" - hec_acks: NotRequired[bool] - r"""Whether to enable Zscaler HEC acknowledgements""" access_control_allow_origin: NotRequired[List[str]] - r"""Optionally, list HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards.""" + r"""HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards.""" access_control_allow_headers: NotRequired[List[str]] - r"""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.""" + r"""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: NotRequired[bool] - r"""Enable to emit per-token (.http.perToken) and summary (.http.summary) request metrics""" + r"""Emit per-token (.http.perToken) and summary (.http.summary) request metrics""" + 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] @@ -1522,6 +2097,12 @@ class CreateInputInputZscalerHecTypedDict(TypedDict): 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_hec_api: NotRequired[str] r"""Binds 'hecAPI' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'hecAPI' at runtime.""" + template_allowed_indexes: NotRequired[str] + r"""Binds 'allowedIndexes' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'allowedIndexes' at runtime.""" + template_access_control_allow_origin: NotRequired[str] + r"""Binds 'accessControlAllowOrigin' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowOrigin' at runtime.""" + template_access_control_allow_headers: NotRequired[str] + r"""Binds 'accessControlAllowHeaders' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowHeaders' at runtime.""" class CreateInputInputZscalerHec(BaseModel): @@ -1529,6 +2110,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).""" @@ -1540,6 +2122,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""" @@ -1556,7 +2139,7 @@ class CreateInputInputZscalerHec(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -1629,25 +2212,26 @@ class CreateInputInputZscalerHec(BaseModel): ] = None r"""List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level.""" - hec_acks: Annotated[Optional[bool], pydantic.Field(alias="hecAcks")] = None - r"""Whether to enable Zscaler HEC acknowledgements""" - access_control_allow_origin: Annotated[ Optional[List[str]], pydantic.Field(alias="accessControlAllowOrigin") ] = None - r"""Optionally, list HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards.""" + r"""HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards.""" access_control_allow_headers: Annotated[ Optional[List[str]], pydantic.Field(alias="accessControlAllowHeaders") ] = None - r"""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.""" + r"""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: Annotated[ Optional[bool], pydantic.Field(alias="emitTokenMetrics") ] = None - r"""Enable to emit per-token (.http.perToken) and summary (.http.summary) request metrics""" + r"""Emit per-token (.http.perToken) and summary (.http.summary) request metrics""" + + hec_acks: Annotated[Optional[bool], pydantic.Field(alias="hecAcks")] = None + 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") @@ -1674,6 +2258,21 @@ class CreateInputInputZscalerHec(BaseModel): ] = None r"""Binds 'hecAPI' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'hecAPI' at runtime.""" + template_allowed_indexes: Annotated[ + Optional[str], pydantic.Field(alias="__template_allowedIndexes") + ] = None + r"""Binds 'allowedIndexes' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'allowedIndexes' at runtime.""" + + template_access_control_allow_origin: Annotated[ + Optional[str], pydantic.Field(alias="__template_accessControlAllowOrigin") + ] = None + r"""Binds 'accessControlAllowOrigin' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowOrigin' at runtime.""" + + template_access_control_allow_headers: Annotated[ + Optional[str], pydantic.Field(alias="__template_accessControlAllowHeaders") + ] = None + r"""Binds 'accessControlAllowHeaders' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowHeaders' at runtime.""" + @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( @@ -1700,16 +2299,19 @@ def serialize_model(self, handler): "ipDenylistRegex", "metadata", "allowedIndexes", - "hecAcks", "accessControlAllowOrigin", "accessControlAllowHeaders", "emitTokenMetrics", + "hecAcks", "description", "__template_environment", "__template_streamtags", "__template_host", "__template_port", "__template_hecAPI", + "__template_allowedIndexes", + "__template_accessControlAllowOrigin", + "__template_accessControlAllowHeaders", ] ) serialized = handler(self) @@ -1784,6 +2386,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] @@ -1793,7 +2396,7 @@ class CreateInputInputServicenowTableTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -1835,6 +2438,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] @@ -1895,6 +2499,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""" @@ -1911,7 +2516,7 @@ class CreateInputInputServicenowTable(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -2000,6 +2605,7 @@ class CreateInputInputServicenowTable(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" credentials_secret: Annotated[ Optional[str], pydantic.Field(alias="credentialsSecret") @@ -2205,6 +2811,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] @@ -2214,7 +2821,7 @@ class CreateInputInputSecurityLakeTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -2259,6 +2866,10 @@ class CreateInputInputSecurityLakeTypedDict(TypedDict): 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).""" enable_sqs_assume_role: NotRequired[bool] r"""Use Assume Role credentials when accessing Amazon SQS""" + shared_credentials: NotRequired[bool] + r"""Use the same credential settings for S3 and SQS""" + shared_assume_role_arn: NotRequired[bool] + r"""Use the same settings for S3 and SQS""" preprocess: NotRequired[PreprocessTypeTypedDict] metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" @@ -2272,9 +2883,21 @@ 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""" + sqs_assume_role_arn: NotRequired[str] + r"""Amazon Resource Name (ARN) of the role to assume""" + sqs_assume_role_external_id: NotRequired[str] + r"""External ID to use when assuming role""" + sqs_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).""" + sqs_aws_authentication_method: NotRequired[SqsAuthenticationMethodOptions] + r"""Choose Auto to use IAM roles""" + sqs_aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" + sqs_aws_secret_key: NotRequired[str] tag_after_processing: NotRequired[TagAfterProcessingOptions] processed_tag_key: NotRequired[str] r"""The key for the S3 object tag applied after processing. This field accepts an expression for dynamic generation.""" @@ -2300,6 +2923,12 @@ class CreateInputInputSecurityLakeTypedDict(TypedDict): 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_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_sqs_assume_role_arn: NotRequired[str] + r"""Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime.""" + template_sqs_assume_role_external_id: NotRequired[str] + r"""Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime.""" + template_sqs_aws_secret_key: NotRequired[str] + r"""Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime.""" class CreateInputInputSecurityLake(BaseModel): @@ -2312,6 +2941,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""" @@ -2328,7 +2958,7 @@ class CreateInputInputSecurityLake(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -2430,6 +3060,16 @@ class CreateInputInputSecurityLake(BaseModel): ] = None r"""Use Assume Role credentials when accessing Amazon SQS""" + shared_credentials: Annotated[ + Optional[bool], pydantic.Field(alias="sharedCredentials") + ] = None + r"""Use the same credential settings for S3 and SQS""" + + shared_assume_role_arn: Annotated[ + Optional[bool], pydantic.Field(alias="sharedAssumeRoleArn") + ] = None + r"""Use the same settings for S3 and SQS""" + preprocess: Optional[PreprocessType] = None metadata: Optional[List[MetadataConfInputCollection]] = None @@ -2453,13 +3093,44 @@ class CreateInputInputSecurityLake(BaseModel): encoding: Optional[str] = None 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 + 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""" + + sqs_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="SQSAssumeRoleArn") + ] = None + r"""Amazon Resource Name (ARN) of the role to assume""" + + sqs_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="SQSAssumeRoleExternalId") + ] = None + r"""External ID to use when assuming role""" + + sqs_duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="SQSDurationSeconds") + ] = 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_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None + sqs_aws_authentication_method: Annotated[ + Optional[SqsAuthenticationMethodOptions], + pydantic.Field(alias="SQSAwsAuthenticationMethod"), + ] = None + r"""Choose Auto to use IAM roles""" - aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None + sqs_aws_secret: Annotated[Optional[str], pydantic.Field(alias="SQSAwsSecret")] = ( + None + ) r"""Select or create a stored secret that references your access key and secret key""" + sqs_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="SQSAwsSecretKey") + ] = None + tag_after_processing: Annotated[ Optional[TagAfterProcessingOptions], pydantic.Field(alias="tagAfterProcessing") ] = None @@ -2524,6 +3195,21 @@ class CreateInputInputSecurityLake(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.""" + template_sqs_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAssumeRoleArn") + ] = None + r"""Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime.""" + + template_sqs_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAssumeRoleExternalId") + ] = None + r"""Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime.""" + + template_sqs_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAwsSecretKey") + ] = None + r"""Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime.""" + @field_serializer("aws_authentication_method") def serialize_aws_authentication_method(self, value): if isinstance(value, str): @@ -2533,6 +3219,15 @@ def serialize_aws_authentication_method(self, value): return value return value + @field_serializer("sqs_aws_authentication_method") + def serialize_sqs_aws_authentication_method(self, value): + if isinstance(value, str): + try: + return models.SqsAuthenticationMethodOptions(value) + except ValueError: + return value + return value + @field_serializer("tag_after_processing") def serialize_tag_after_processing(self, value): if isinstance(value, str): @@ -2575,6 +3270,8 @@ def serialize_model(self, handler): "assumeRoleExternalId", "durationSeconds", "enableSQSAssumeRole", + "sharedCredentials", + "sharedAssumeRoleArn", "preprocess", "metadata", "parquetChunkSizeMB", @@ -2585,6 +3282,12 @@ def serialize_model(self, handler): "description", "awsApiKey", "awsSecret", + "SQSAssumeRoleArn", + "SQSAssumeRoleExternalId", + "SQSDurationSeconds", + "SQSAwsAuthenticationMethod", + "SQSAwsSecret", + "SQSAwsSecretKey", "tagAfterProcessing", "processedTagKey", "processedTagValue", @@ -2598,6 +3301,9 @@ def serialize_model(self, handler): "__template_assumeRoleArn", "__template_assumeRoleExternalId", "__template_awsApiKey", + "__template_SQSAssumeRoleArn", + "__template_SQSAssumeRoleExternalId", + "__template_SQSAwsSecretKey", ] ) serialized = handler(self) @@ -2627,6 +3333,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] @@ -2636,7 +3343,7 @@ class CreateInputInputNetflowTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -2659,6 +3366,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] @@ -2682,6 +3390,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""" @@ -2698,7 +3407,7 @@ class CreateInputInputNetflow(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -2745,6 +3454,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") @@ -2809,6 +3519,8 @@ def serialize_model(self, handler): class CreateInputTypeWizWebhook(str, Enum): + r"""Source type identifier.""" + WIZ_WEBHOOK = "wiz_webhook" @@ -2816,11 +3528,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] @@ -2830,7 +3544,7 @@ class CreateInputInputWizWebhookTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -2872,6 +3586,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] @@ -2891,6 +3606,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).""" @@ -2899,6 +3615,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""" @@ -2915,7 +3632,7 @@ class CreateInputInputWizWebhook(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -3014,6 +3731,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") @@ -3133,7 +3851,9 @@ class CreateInputLogLevelOpenai(str, Enum, metaclass=utils.OpenEnumMeta): class CreateInputContentConfigInputTypedDict(TypedDict): - request_params: List[RequestParamConfInputOpenaiTypedDict] + request_params: List[ + RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict + ] r"""Query-string parameters to send with this endpoint""" pagination_type: CreateInputPaginationType cron_schedule: str @@ -3168,7 +3888,8 @@ class CreateInputContentConfigInputTypedDict(TypedDict): class CreateInputContentConfigInput(BaseModel): request_params: Annotated[ - List[RequestParamConfInputOpenai], pydantic.Field(alias="requestParams") + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecret], + pydantic.Field(alias="requestParams"), ] r"""Query-string parameters to send with this endpoint""" @@ -3300,6 +4021,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] @@ -3309,7 +4031,7 @@ class CreateInputInputOpenaiTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -3332,6 +4054,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] @@ -3356,6 +4079,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""" @@ -3372,7 +4096,7 @@ class CreateInputInputOpenai(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -3422,6 +4146,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") @@ -3629,6 +4354,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] @@ -3638,7 +4364,7 @@ class CreateInputInputWizTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -3664,6 +4390,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] @@ -3700,6 +4427,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""" @@ -3716,7 +4444,7 @@ class CreateInputInputWiz(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -3775,6 +4503,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""" @@ -3907,6 +4636,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] @@ -3916,7 +4646,7 @@ class CreateInputInputJournalFilesTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -3932,6 +4662,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] @@ -3951,6 +4682,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""" @@ -3967,7 +4699,7 @@ class CreateInputInputJournalFiles(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -3994,6 +4726,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") @@ -4055,6 +4788,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] @@ -4064,7 +4798,7 @@ class CreateInputInputRawUDPTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -4081,6 +4815,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] @@ -4104,6 +4839,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""" @@ -4120,7 +4856,7 @@ class CreateInputInputRawUDP(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -4156,6 +4892,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") @@ -4234,8 +4971,9 @@ class CreateInputInputAppleUnifiedLogsTypedDict(TypedDict): r"""Unique ID for this input""" type: CreateInputTypeAppleUnifiedLogs predicate: str - r"""String to filter log entries, in NSPredicate format (e.g., subsystem == \"com.apple.security\" or process == \"kernel\"). See [Predicate format reference](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/Predicates/AdditionalChapters/Introduction.html) for more information.""" + 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] @@ -4245,7 +4983,7 @@ class CreateInputInputAppleUnifiedLogsTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -4254,6 +4992,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] @@ -4267,9 +5006,10 @@ class CreateInputInputAppleUnifiedLogs(BaseModel): type: CreateInputTypeAppleUnifiedLogs predicate: str - r"""String to filter log entries, in NSPredicate format (e.g., subsystem == \"com.apple.security\" or process == \"kernel\"). See [Predicate format reference](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/Predicates/AdditionalChapters/Introduction.html) for more information.""" + 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""" @@ -4286,7 +5026,7 @@ class CreateInputInputAppleUnifiedLogs(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -4302,6 +5042,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") @@ -4384,6 +5125,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] @@ -4393,7 +5135,7 @@ class CreateInputInputWinEventLogsTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -4409,9 +5151,10 @@ class CreateInputInputWinEventLogsTypedDict(TypedDict): r"""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: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" - max_event_bytes: NotRequired[float] + 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] @@ -4432,6 +5175,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""" @@ -4448,7 +5192,7 @@ class CreateInputInputWinEventLogs(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -4479,12 +5223,13 @@ class CreateInputInputWinEventLogs(BaseModel): metadata: Optional[List[MetadataConfInputCollection]] = None r"""Fields to add to events from this input""" - max_event_bytes: Annotated[ - Optional[float], pydantic.Field(alias="maxEventBytes") - ] = None + max_event_bytes: Annotated[Optional[int], pydantic.Field(alias="maxEventBytes")] = ( + None + ) 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") @@ -4861,6 +5606,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] @@ -4870,7 +5616,7 @@ class CreateInputInputWefTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -4906,6 +5652,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] @@ -4938,6 +5685,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""" @@ -4954,7 +5702,7 @@ class CreateInputInputWef(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -5033,6 +5781,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") @@ -5285,6 +6034,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] @@ -5294,7 +6044,7 @@ class CreateInputInputAppscopeTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -5323,6 +6073,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] @@ -5353,6 +6104,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""" @@ -5369,7 +6121,7 @@ class CreateInputInputAppscope(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -5437,6 +6189,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).""" @@ -5558,6 +6311,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] @@ -5567,7 +6321,7 @@ class CreateInputInputTCPTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -5594,6 +6348,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] @@ -5623,6 +6378,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""" @@ -5639,7 +6395,7 @@ class CreateInputInputTCP(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -5699,6 +6455,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.""" @@ -5807,6 +6564,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] @@ -5816,7 +6574,7 @@ class CreateInputInputFileTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -5851,6 +6609,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] @@ -5877,6 +6636,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""" @@ -5893,7 +6653,7 @@ class CreateInputInputFile(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -5956,6 +6716,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/).""" @@ -6068,6 +6829,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] @@ -6077,7 +6839,7 @@ class CreateInputInputSyslogSyslog2TypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -6119,6 +6881,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] @@ -6148,6 +6911,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""" @@ -6164,7 +6928,7 @@ class CreateInputInputSyslogSyslog2(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -6260,6 +7024,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") @@ -6364,6 +7129,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] @@ -6373,7 +7139,7 @@ class CreateInputInputSyslogSyslog1TypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -6415,6 +7181,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] @@ -6444,6 +7211,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""" @@ -6460,7 +7228,7 @@ class CreateInputInputSyslogSyslog1(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -6556,6 +7324,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") @@ -6683,6 +7452,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] @@ -6692,7 +7462,7 @@ class CreateInputInputSqsTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -6728,6 +7498,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""" @@ -6770,6 +7541,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""" @@ -6786,7 +7558,7 @@ class CreateInputInputSqs(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -6862,6 +7634,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 @@ -7018,6 +7791,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] @@ -7027,7 +7801,7 @@ class CreateInputInputModelDrivenTelemetryTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -7039,6 +7813,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] @@ -7062,6 +7837,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""" @@ -7078,7 +7854,7 @@ class CreateInputInputModelDrivenTelemetry(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -7101,6 +7877,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") @@ -7160,6 +7937,8 @@ def serialize_model(self, handler): class CreateInputTypeOpenTelemetry(str, Enum): + r"""Source type identifier.""" + OPEN_TELEMETRY = "open_telemetry" @@ -7295,11 +8074,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] @@ -7309,7 +8090,7 @@ class CreateInputInputOpenTelemetryTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -7347,6 +8128,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] @@ -7376,6 +8158,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).""" @@ -7384,6 +8167,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""" @@ -7400,7 +8184,7 @@ class CreateInputInputOpenTelemetry(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -7488,6 +8272,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 @@ -7741,6 +8526,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] @@ -7750,7 +8536,7 @@ class CreateInputInputSnmpTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -7769,6 +8555,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] @@ -7792,6 +8579,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""" @@ -7808,7 +8596,7 @@ class CreateInputInputSnmp(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -7849,6 +8637,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") @@ -7921,6 +8710,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] @@ -7930,7 +8720,7 @@ class CreateInputInputS3InventoryTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -7975,6 +8765,10 @@ class CreateInputInputS3InventoryTypedDict(TypedDict): 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).""" enable_sqs_assume_role: NotRequired[bool] r"""Use Assume Role credentials when accessing Amazon SQS""" + shared_credentials: NotRequired[bool] + r"""Use the same credential settings for S3 and SQS""" + shared_assume_role_arn: NotRequired[bool] + r"""Use the same settings for S3 and SQS""" preprocess: NotRequired[PreprocessTypeTypedDict] metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" @@ -7992,9 +8786,21 @@ 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""" + sqs_assume_role_arn: NotRequired[str] + r"""Amazon Resource Name (ARN) of the role to assume""" + sqs_assume_role_external_id: NotRequired[str] + r"""External ID to use when assuming role""" + sqs_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).""" + sqs_aws_authentication_method: NotRequired[SqsAuthenticationMethodOptions] + r"""Choose Auto to use IAM roles""" + sqs_aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" + sqs_aws_secret_key: NotRequired[str] tag_after_processing: NotRequired[TagAfterProcessingOptions] processed_tag_key: NotRequired[str] r"""The key for the S3 object tag applied after processing. This field accepts an expression for dynamic generation.""" @@ -8020,6 +8826,12 @@ class CreateInputInputS3InventoryTypedDict(TypedDict): 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_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_sqs_assume_role_arn: NotRequired[str] + r"""Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime.""" + template_sqs_assume_role_external_id: NotRequired[str] + r"""Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime.""" + template_sqs_aws_secret_key: NotRequired[str] + r"""Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime.""" class CreateInputInputS3Inventory(BaseModel): @@ -8032,6 +8844,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""" @@ -8048,7 +8861,7 @@ class CreateInputInputS3Inventory(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -8150,6 +8963,16 @@ class CreateInputInputS3Inventory(BaseModel): ] = None r"""Use Assume Role credentials when accessing Amazon SQS""" + shared_credentials: Annotated[ + Optional[bool], pydantic.Field(alias="sharedCredentials") + ] = None + r"""Use the same credential settings for S3 and SQS""" + + shared_assume_role_arn: Annotated[ + Optional[bool], pydantic.Field(alias="sharedAssumeRoleArn") + ] = None + r"""Use the same settings for S3 and SQS""" + preprocess: Optional[PreprocessType] = None metadata: Optional[List[MetadataConfInputCollection]] = None @@ -8186,12 +9009,43 @@ 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 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""" + sqs_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="SQSAssumeRoleArn") + ] = None + r"""Amazon Resource Name (ARN) of the role to assume""" + + sqs_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="SQSAssumeRoleExternalId") + ] = None + r"""External ID to use when assuming role""" + + sqs_duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="SQSDurationSeconds") + ] = 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).""" + + sqs_aws_authentication_method: Annotated[ + Optional[SqsAuthenticationMethodOptions], + pydantic.Field(alias="SQSAwsAuthenticationMethod"), + ] = None + r"""Choose Auto to use IAM roles""" + + sqs_aws_secret: Annotated[Optional[str], pydantic.Field(alias="SQSAwsSecret")] = ( + None + ) + r"""Select or create a stored secret that references your access key and secret key""" + + sqs_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="SQSAwsSecretKey") + ] = None + tag_after_processing: Annotated[ Optional[TagAfterProcessingOptions], pydantic.Field(alias="tagAfterProcessing") ] = None @@ -8256,6 +9110,21 @@ class CreateInputInputS3Inventory(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.""" + template_sqs_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAssumeRoleArn") + ] = None + r"""Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime.""" + + template_sqs_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAssumeRoleExternalId") + ] = None + r"""Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime.""" + + template_sqs_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAwsSecretKey") + ] = None + r"""Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime.""" + @field_serializer("aws_authentication_method") def serialize_aws_authentication_method(self, value): if isinstance(value, str): @@ -8265,6 +9134,15 @@ def serialize_aws_authentication_method(self, value): return value return value + @field_serializer("sqs_aws_authentication_method") + def serialize_sqs_aws_authentication_method(self, value): + if isinstance(value, str): + try: + return models.SqsAuthenticationMethodOptions(value) + except ValueError: + return value + return value + @field_serializer("tag_after_processing") def serialize_tag_after_processing(self, value): if isinstance(value, str): @@ -8307,6 +9185,8 @@ def serialize_model(self, handler): "assumeRoleExternalId", "durationSeconds", "enableSQSAssumeRole", + "sharedCredentials", + "sharedAssumeRoleArn", "preprocess", "metadata", "parquetChunkSizeMB", @@ -8319,6 +9199,12 @@ def serialize_model(self, handler): "description", "awsApiKey", "awsSecret", + "SQSAssumeRoleArn", + "SQSAssumeRoleExternalId", + "SQSDurationSeconds", + "SQSAwsAuthenticationMethod", + "SQSAwsSecret", + "SQSAwsSecretKey", "tagAfterProcessing", "processedTagKey", "processedTagValue", @@ -8332,6 +9218,9 @@ def serialize_model(self, handler): "__template_assumeRoleArn", "__template_assumeRoleExternalId", "__template_awsApiKey", + "__template_SQSAssumeRoleArn", + "__template_SQSAssumeRoleExternalId", + "__template_SQSAwsSecretKey", ] ) serialized = handler(self) @@ -8359,6 +9248,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] @@ -8368,7 +9258,7 @@ class CreateInputInputS3TypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -8413,6 +9303,10 @@ class CreateInputInputS3TypedDict(TypedDict): 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).""" enable_sqs_assume_role: NotRequired[bool] r"""Use Assume Role credentials when accessing Amazon SQS""" + shared_credentials: NotRequired[bool] + r"""Use the same credential settings for S3 and SQS""" + shared_assume_role_arn: NotRequired[bool] + r"""Use the same settings for S3 and SQS""" preprocess: NotRequired[PreprocessTypeTypedDict] metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" @@ -8428,9 +9322,21 @@ 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""" + sqs_assume_role_arn: NotRequired[str] + r"""Amazon Resource Name (ARN) of the role to assume""" + sqs_assume_role_external_id: NotRequired[str] + r"""External ID to use when assuming role""" + sqs_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).""" + sqs_aws_authentication_method: NotRequired[SqsAuthenticationMethodOptions] + r"""Choose Auto to use IAM roles""" + sqs_aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" + sqs_aws_secret_key: NotRequired[str] processed_tag_key: NotRequired[str] r"""The key for the S3 object tag applied after processing. This field accepts an expression for dynamic generation.""" processed_tag_value: NotRequired[str] @@ -8455,6 +9361,12 @@ class CreateInputInputS3TypedDict(TypedDict): 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_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_sqs_assume_role_arn: NotRequired[str] + r"""Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime.""" + template_sqs_assume_role_external_id: NotRequired[str] + r"""Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime.""" + template_sqs_aws_secret_key: NotRequired[str] + r"""Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime.""" class CreateInputInputS3(BaseModel): @@ -8467,6 +9379,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""" @@ -8483,7 +9396,7 @@ class CreateInputInputS3(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -8585,6 +9498,16 @@ class CreateInputInputS3(BaseModel): ] = None r"""Use Assume Role credentials when accessing Amazon SQS""" + shared_credentials: Annotated[ + Optional[bool], pydantic.Field(alias="sharedCredentials") + ] = None + r"""Use the same credential settings for S3 and SQS""" + + shared_assume_role_arn: Annotated[ + Optional[bool], pydantic.Field(alias="sharedAssumeRoleArn") + ] = None + r"""Use the same settings for S3 and SQS""" + preprocess: Optional[PreprocessType] = None metadata: Optional[List[MetadataConfInputCollection]] = None @@ -8614,12 +9537,43 @@ 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 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""" + sqs_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="SQSAssumeRoleArn") + ] = None + r"""Amazon Resource Name (ARN) of the role to assume""" + + sqs_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="SQSAssumeRoleExternalId") + ] = None + r"""External ID to use when assuming role""" + + sqs_duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="SQSDurationSeconds") + ] = 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).""" + + sqs_aws_authentication_method: Annotated[ + Optional[SqsAuthenticationMethodOptions], + pydantic.Field(alias="SQSAwsAuthenticationMethod"), + ] = None + r"""Choose Auto to use IAM roles""" + + sqs_aws_secret: Annotated[Optional[str], pydantic.Field(alias="SQSAwsSecret")] = ( + None + ) + r"""Select or create a stored secret that references your access key and secret key""" + + sqs_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="SQSAwsSecretKey") + ] = None + processed_tag_key: Annotated[ Optional[str], pydantic.Field(alias="processedTagKey") ] = None @@ -8680,6 +9634,21 @@ class CreateInputInputS3(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.""" + template_sqs_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAssumeRoleArn") + ] = None + r"""Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime.""" + + template_sqs_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAssumeRoleExternalId") + ] = None + r"""Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime.""" + + template_sqs_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAwsSecretKey") + ] = None + r"""Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime.""" + @field_serializer("aws_authentication_method") def serialize_aws_authentication_method(self, value): if isinstance(value, str): @@ -8689,6 +9658,15 @@ def serialize_aws_authentication_method(self, value): return value return value + @field_serializer("sqs_aws_authentication_method") + def serialize_sqs_aws_authentication_method(self, value): + if isinstance(value, str): + try: + return models.SqsAuthenticationMethodOptions(value) + except ValueError: + return value + return value + @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( @@ -8722,6 +9700,8 @@ def serialize_model(self, handler): "assumeRoleExternalId", "durationSeconds", "enableSQSAssumeRole", + "sharedCredentials", + "sharedAssumeRoleArn", "preprocess", "metadata", "parquetChunkSizeMB", @@ -8733,6 +9713,12 @@ def serialize_model(self, handler): "description", "awsApiKey", "awsSecret", + "SQSAssumeRoleArn", + "SQSAssumeRoleExternalId", + "SQSDurationSeconds", + "SQSAwsAuthenticationMethod", + "SQSAwsSecret", + "SQSAwsSecretKey", "processedTagKey", "processedTagValue", "__template_environment", @@ -8745,6 +9731,9 @@ def serialize_model(self, handler): "__template_assumeRoleArn", "__template_assumeRoleExternalId", "__template_awsApiKey", + "__template_SQSAssumeRoleArn", + "__template_SQSAssumeRoleExternalId", + "__template_SQSAwsSecretKey", ] ) serialized = handler(self) @@ -8772,6 +9761,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] @@ -8781,7 +9771,7 @@ class CreateInputInputMetricsTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -8801,6 +9791,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] @@ -8823,6 +9814,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""" @@ -8839,7 +9831,7 @@ class CreateInputInputMetrics(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -8878,6 +9870,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") @@ -8955,6 +9948,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] @@ -8964,7 +9958,7 @@ class CreateInputInputCriblmetricsTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -8975,6 +9969,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] @@ -8988,6 +9983,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""" @@ -9004,7 +10000,7 @@ class CreateInputInputCriblmetrics(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -9023,6 +10019,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") @@ -9112,6 +10109,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] @@ -9121,7 +10119,7 @@ class CreateInputInputKinesisTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -9163,6 +10161,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""" @@ -9203,6 +10202,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""" @@ -9219,7 +10219,7 @@ class CreateInputInputKinesis(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -9318,6 +10318,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 @@ -9477,6 +10478,8 @@ def serialize_model(self, handler): class CreateInputTypeHTTPRaw(str, Enum): + r"""Source type identifier.""" + HTTP_RAW = "http_raw" @@ -9484,11 +10487,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] @@ -9498,7 +10503,7 @@ class CreateInputInputHTTPRawTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -9540,6 +10545,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] @@ -9559,6 +10565,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).""" @@ -9567,6 +10574,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""" @@ -9583,7 +10591,7 @@ class CreateInputInputHTTPRaw(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -9682,6 +10690,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") @@ -9790,6 +10799,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] @@ -9799,13 +10809,14 @@ class CreateInputInputDatagenTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] 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] @@ -9821,6 +10832,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""" @@ -9837,7 +10849,7 @@ class CreateInputInputDatagen(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -9848,6 +10860,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") @@ -9892,24 +10905,46 @@ def serialize_model(self, handler): class CreateInputTypeDatadogAgent(str, Enum): + r"""Source type identifier.""" + DATADOG_AGENT = "datadog_agent" +class CreateInputSamplingRuleTypedDict(TypedDict): + service: str + r"""Datadog service name""" + environment: str + r"""Datadog environment name (example: prod, staging)""" + rate: float + r"""Sampling rate for this service/environment combination (0.0–1.0)""" + + +class CreateInputSamplingRule(BaseModel): + service: str + r"""Datadog service name""" + + environment: str + r"""Datadog environment name (example: prod, staging)""" + + rate: float + r"""Sampling rate for this service/environment combination (0.0–1.0)""" + + class CreateInputProxyModeDatadogAgentTypedDict(TypedDict): enabled: bool - r"""Toggle to Yes to send key validation requests from Datadog Agent to the Datadog API. If toggled to No (the default), Stream handles key validation requests by always responding that the key is valid.""" + r"""Forward key validation requests from the Datadog Agent to the Datadog API. If disabled, Stream handles key validation requests locally by always responding that the key is valid.""" reject_unauthorized: NotRequired[bool] - r"""Whether to reject certificates that cannot be verified against a valid CA (e.g., self-signed certificates).""" + r"""Whether to reject certificates that cannot be verified against a valid CA (such as self-signed certificates)""" class CreateInputProxyModeDatadogAgent(BaseModel): enabled: bool - r"""Toggle to Yes to send key validation requests from Datadog Agent to the Datadog API. If toggled to No (the default), Stream handles key validation requests by always responding that the key is valid.""" + r"""Forward key validation requests from the Datadog Agent to the Datadog API. If disabled, Stream handles key validation requests locally by always responding that the key is valid.""" reject_unauthorized: Annotated[ Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = None - r"""Whether to reject certificates that cannot be verified against a valid CA (e.g., self-signed certificates).""" + r"""Whether to reject certificates that cannot be verified against a valid CA (such as self-signed certificates)""" @model_serializer(mode="wrap") def serialize_model(self, handler): @@ -9932,11 +10967,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] @@ -9946,7 +10983,7 @@ class CreateInputInputDatadogAgentTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -9974,11 +11011,16 @@ class CreateInputInputDatadogAgentTypedDict(TypedDict): ip_denylist_regex: NotRequired[str] r"""Messages from matched IP addresses will be ignored. This takes precedence over the allowlist.""" extract_metrics: NotRequired[bool] - r"""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).""" + r"""Extract each incoming metric to multiple events, one per data point. Recommended when sending metrics to a statsd-type output. If sending metrics to DatadogHQ or any destination that accepts arbitrary JSON, leave disabled.""" + sampling_rate: NotRequired[float] + r"""The rate_by_service hint sent to connected tracers as the catch-all sampling rate. Applies to any service/environment not explicitly listed in Per-Service Sampling Rules. 1.0 = keep all traces (default); 0.0 = suggest dropping all.""" + sampling_rules: NotRequired[List[CreateInputSamplingRuleTypedDict]] + r"""Per-service sampling rate hints. Each row maps to a \"service:,env:\" key in the rate_by_service response sent to tracers.""" metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] 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] @@ -9994,6 +11036,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).""" @@ -10002,6 +11045,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""" @@ -10018,7 +11062,7 @@ class CreateInputInputDatadogAgent(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -10085,7 +11129,17 @@ class CreateInputInputDatadogAgent(BaseModel): extract_metrics: Annotated[ Optional[bool], pydantic.Field(alias="extractMetrics") ] = None - r"""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).""" + r"""Extract each incoming metric to multiple events, one per data point. Recommended when sending metrics to a statsd-type output. If sending metrics to DatadogHQ or any destination that accepts arbitrary JSON, leave disabled.""" + + sampling_rate: Annotated[Optional[float], pydantic.Field(alias="samplingRate")] = ( + None + ) + r"""The rate_by_service hint sent to connected tracers as the catch-all sampling rate. Applies to any service/environment not explicitly listed in Per-Service Sampling Rules. 1.0 = keep all traces (default); 0.0 = suggest dropping all.""" + + sampling_rules: Annotated[ + Optional[List[CreateInputSamplingRule]], pydantic.Field(alias="samplingRules") + ] = None + r"""Per-service sampling rate hints. Each row maps to a \"service:,env:\" key in the rate_by_service response sent to tracers.""" metadata: Optional[List[MetadataConfInputCollection]] = None r"""Fields to add to events from this input""" @@ -10095,6 +11149,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") @@ -10141,6 +11196,8 @@ def serialize_model(self, handler): "ipAllowlistRegex", "ipDenylistRegex", "extractMetrics", + "samplingRate", + "samplingRules", "metadata", "proxyMode", "description", @@ -10175,6 +11232,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] @@ -10184,7 +11242,7 @@ class CreateInputInputCrowdstrikeTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -10229,6 +11287,10 @@ class CreateInputInputCrowdstrikeTypedDict(TypedDict): 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).""" enable_sqs_assume_role: NotRequired[bool] r"""Use Assume Role credentials when accessing Amazon SQS""" + shared_credentials: NotRequired[bool] + r"""Use the same credential settings for S3 and SQS""" + shared_assume_role_arn: NotRequired[bool] + r"""Use the same settings for S3 and SQS""" preprocess: NotRequired[PreprocessTypeTypedDict] metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" @@ -10238,9 +11300,21 @@ 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""" + sqs_assume_role_arn: NotRequired[str] + r"""Amazon Resource Name (ARN) of the role to assume""" + sqs_assume_role_external_id: NotRequired[str] + r"""External ID to use when assuming role""" + sqs_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).""" + sqs_aws_authentication_method: NotRequired[SqsAuthenticationMethodOptions] + r"""Choose Auto to use IAM roles""" + sqs_aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" + sqs_aws_secret_key: NotRequired[str] tag_after_processing: NotRequired[TagAfterProcessingOptions] processed_tag_key: NotRequired[str] r"""The key for the S3 object tag applied after processing. This field accepts an expression for dynamic generation.""" @@ -10266,6 +11340,12 @@ class CreateInputInputCrowdstrikeTypedDict(TypedDict): 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_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_sqs_assume_role_arn: NotRequired[str] + r"""Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime.""" + template_sqs_assume_role_external_id: NotRequired[str] + r"""Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime.""" + template_sqs_aws_secret_key: NotRequired[str] + r"""Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime.""" class CreateInputInputCrowdstrike(BaseModel): @@ -10278,6 +11358,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""" @@ -10294,7 +11375,7 @@ class CreateInputInputCrowdstrike(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -10396,6 +11477,16 @@ class CreateInputInputCrowdstrike(BaseModel): ] = None r"""Use Assume Role credentials when accessing Amazon SQS""" + shared_credentials: Annotated[ + Optional[bool], pydantic.Field(alias="sharedCredentials") + ] = None + r"""Use the same credential settings for S3 and SQS""" + + shared_assume_role_arn: Annotated[ + Optional[bool], pydantic.Field(alias="sharedAssumeRoleArn") + ] = None + r"""Use the same settings for S3 and SQS""" + preprocess: Optional[PreprocessType] = None metadata: Optional[List[MetadataConfInputCollection]] = None @@ -10410,12 +11501,43 @@ 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 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""" + sqs_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="SQSAssumeRoleArn") + ] = None + r"""Amazon Resource Name (ARN) of the role to assume""" + + sqs_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="SQSAssumeRoleExternalId") + ] = None + r"""External ID to use when assuming role""" + + sqs_duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="SQSDurationSeconds") + ] = 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).""" + + sqs_aws_authentication_method: Annotated[ + Optional[SqsAuthenticationMethodOptions], + pydantic.Field(alias="SQSAwsAuthenticationMethod"), + ] = None + r"""Choose Auto to use IAM roles""" + + sqs_aws_secret: Annotated[Optional[str], pydantic.Field(alias="SQSAwsSecret")] = ( + None + ) + r"""Select or create a stored secret that references your access key and secret key""" + + sqs_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="SQSAwsSecretKey") + ] = None + tag_after_processing: Annotated[ Optional[TagAfterProcessingOptions], pydantic.Field(alias="tagAfterProcessing") ] = None @@ -10480,6 +11602,21 @@ class CreateInputInputCrowdstrike(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.""" + template_sqs_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAssumeRoleArn") + ] = None + r"""Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime.""" + + template_sqs_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAssumeRoleExternalId") + ] = None + r"""Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime.""" + + template_sqs_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAwsSecretKey") + ] = None + r"""Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime.""" + @field_serializer("aws_authentication_method") def serialize_aws_authentication_method(self, value): if isinstance(value, str): @@ -10489,6 +11626,15 @@ def serialize_aws_authentication_method(self, value): return value return value + @field_serializer("sqs_aws_authentication_method") + def serialize_sqs_aws_authentication_method(self, value): + if isinstance(value, str): + try: + return models.SqsAuthenticationMethodOptions(value) + except ValueError: + return value + return value + @field_serializer("tag_after_processing") def serialize_tag_after_processing(self, value): if isinstance(value, str): @@ -10531,6 +11677,8 @@ def serialize_model(self, handler): "assumeRoleExternalId", "durationSeconds", "enableSQSAssumeRole", + "sharedCredentials", + "sharedAssumeRoleArn", "preprocess", "metadata", "checkpointing", @@ -10539,6 +11687,12 @@ def serialize_model(self, handler): "description", "awsApiKey", "awsSecret", + "SQSAssumeRoleArn", + "SQSAssumeRoleExternalId", + "SQSDurationSeconds", + "SQSAwsAuthenticationMethod", + "SQSAwsSecret", + "SQSAwsSecretKey", "tagAfterProcessing", "processedTagKey", "processedTagValue", @@ -10552,6 +11706,9 @@ def serialize_model(self, handler): "__template_assumeRoleArn", "__template_assumeRoleExternalId", "__template_awsApiKey", + "__template_SQSAssumeRoleArn", + "__template_SQSAssumeRoleExternalId", + "__template_SQSAwsSecretKey", ] ) serialized = handler(self) @@ -11022,6 +12179,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] @@ -11031,7 +12189,7 @@ class CreateInputInputWindowsMetricsTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -11046,6 +12204,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] @@ -11059,6 +12218,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""" @@ -11075,7 +12235,7 @@ class CreateInputInputWindowsMetrics(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -11102,6 +12262,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") @@ -11160,6 +12321,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] @@ -11169,7 +12331,7 @@ class CreateInputInputKubeEventsTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -11178,6 +12340,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] @@ -11191,6 +12354,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""" @@ -11207,7 +12371,7 @@ class CreateInputInputKubeEvents(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -11221,6 +12385,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") @@ -11305,6 +12470,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] @@ -11314,7 +12480,7 @@ class CreateInputInputKubeLogsTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -11324,6 +12490,10 @@ class CreateInputInputKubeLogsTypedDict(TypedDict): r"""Add rules to decide which Pods to collect logs from. Logs are collected if no rules are given or if all the rules' expressions evaluate to true.""" timestamps: NotRequired[bool] r"""For use when containers do not emit a timestamp, prefix each line of output with a timestamp. If you enable this setting, you can use the Kubernetes Logs Event Breaker and the kubernetes_logs Pre-processing Pipeline to remove them from the events after the timestamps are extracted.""" + line_buffer_limit: NotRequired[float] + r"""Maximum bytes to buffer while reassembling a single log line. A line that exceeds this size is flushed as-is, either whole or partially. The default is 1048576 (1 MB).""" + lb_disable_assembly: NotRequired[bool] + r"""Internal flag to disable LB worker payload reassembly.""" metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" persistence: NotRequired[DiskSpoolingTypeTypedDict] @@ -11334,6 +12504,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] @@ -11347,6 +12518,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""" @@ -11363,7 +12535,7 @@ class CreateInputInputKubeLogs(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -11379,6 +12551,16 @@ class CreateInputInputKubeLogs(BaseModel): timestamps: Optional[bool] = None r"""For use when containers do not emit a timestamp, prefix each line of output with a timestamp. If you enable this setting, you can use the Kubernetes Logs Event Breaker and the kubernetes_logs Pre-processing Pipeline to remove them from the events after the timestamps are extracted.""" + line_buffer_limit: Annotated[ + Optional[float], pydantic.Field(alias="lineBufferLimit") + ] = None + r"""Maximum bytes to buffer while reassembling a single log line. A line that exceeds this size is flushed as-is, either whole or partially. The default is 1048576 (1 MB).""" + + lb_disable_assembly: Annotated[ + Optional[bool], pydantic.Field(alias="__LBDisableAssembly") + ] = None + r"""Internal flag to disable LB worker payload reassembly.""" + metadata: Optional[List[MetadataConfInputCollection]] = None r"""Fields to add to events from this input""" @@ -11400,6 +12582,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") @@ -11426,6 +12609,8 @@ def serialize_model(self, handler): "interval", "rules", "timestamps", + "lineBufferLimit", + "__LBDisableAssembly", "metadata", "persistence", "breakerRulesets", @@ -11526,6 +12711,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] @@ -11535,7 +12721,7 @@ class CreateInputInputKubeMetricsTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -11551,6 +12737,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] @@ -11564,6 +12751,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""" @@ -11580,7 +12768,7 @@ class CreateInputInputKubeMetrics(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -11609,6 +12797,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") @@ -11857,118 +13046,6 @@ def serialize_model(self, handler): return m -class CreateInputFirewallTypedDict(TypedDict): - r"""Creates events for Firewall rules entries""" - - enable: NotRequired[bool] - - -class CreateInputFirewall(BaseModel): - r"""Creates events for Firewall rules entries""" - - enable: Optional[bool] = None - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["enable"]) - 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 CreateInputServicesTypedDict(TypedDict): - r"""Creates events from the list of services""" - - enable: NotRequired[bool] - - -class CreateInputServices(BaseModel): - r"""Creates events from the list of services""" - - enable: Optional[bool] = None - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["enable"]) - 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 CreateInputListeningPortsTypedDict(TypedDict): - r"""Creates events from list of listening ports""" - - enable: NotRequired[bool] - - -class CreateInputListeningPorts(BaseModel): - r"""Creates events from list of listening ports""" - - enable: Optional[bool] = None - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["enable"]) - 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 CreateInputLoggedInUsersTypedDict(TypedDict): - r"""Creates events from list of logged-in users""" - - enable: NotRequired[bool] - - -class CreateInputLoggedInUsers(BaseModel): - r"""Creates events from list of logged-in users""" - - enable: Optional[bool] = None - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["enable"]) - 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: CreateInputInputOkta.model_rebuild() except NameError: @@ -11986,7 +13063,11 @@ def serialize_model(self, handler): except NameError: pass try: - CreateInputAuthTokenCloudflareHec.model_rebuild() + CreateInputInputUpwindHec.model_rebuild() +except NameError: + pass +try: + CreateInputInputSysdigHec.model_rebuild() except NameError: pass try: diff --git a/src/cribl_control_plane/models/createinputsystembypack_request.py b/src/cribl_control_plane/models/createinputsystembypack_request.py index 834c63538..323c3067f 100644 --- a/src/cribl_control_plane/models/createinputsystembypack_request.py +++ b/src/cribl_control_plane/models/createinputsystembypack_request.py @@ -36,13 +36,11 @@ ConnectionConfInputCollection, ConnectionConfInputCollectionTypedDict, ) -from .createinputsystembypack_logged_in_users import ( +from .createinputsystembypack_users_and_groups import ( CreateInputSystemByPackDNS, CreateInputSystemByPackDNSTypedDict, CreateInputSystemByPackDisksAndFileSystems, CreateInputSystemByPackDisksAndFileSystemsTypedDict, - CreateInputSystemByPackFirewall, - CreateInputSystemByPackFirewallTypedDict, CreateInputSystemByPackHostInfo, CreateInputSystemByPackHostInfoTypedDict, CreateInputSystemByPackHostsFile, @@ -105,10 +103,14 @@ CreateInputSystemByPackInputSnmpTypedDict, CreateInputSystemByPackInputSqs, CreateInputSystemByPackInputSqsTypedDict, + CreateInputSystemByPackInputSysdigHec, + CreateInputSystemByPackInputSysdigHecTypedDict, CreateInputSystemByPackInputSyslogUnion, CreateInputSystemByPackInputSyslogUnionTypedDict, CreateInputSystemByPackInputTCP, CreateInputSystemByPackInputTCPTypedDict, + CreateInputSystemByPackInputUpwindHec, + CreateInputSystemByPackInputUpwindHecTypedDict, CreateInputSystemByPackInputWef, CreateInputSystemByPackInputWefTypedDict, CreateInputSystemByPackInputWinEventLogs, @@ -123,14 +125,8 @@ CreateInputSystemByPackInputZscalerHecTypedDict, CreateInputSystemByPackInterfaces, CreateInputSystemByPackInterfacesTypedDict, - CreateInputSystemByPackListeningPorts, - CreateInputSystemByPackListeningPortsTypedDict, - CreateInputSystemByPackLoggedInUsers, - CreateInputSystemByPackLoggedInUsersTypedDict, CreateInputSystemByPackRoutes, CreateInputSystemByPackRoutesTypedDict, - CreateInputSystemByPackServices, - CreateInputSystemByPackServicesTypedDict, CreateInputSystemByPackTypeSystemState, CreateInputSystemByPackUsersAndGroups, CreateInputSystemByPackUsersAndGroupsTypedDict, @@ -166,6 +162,10 @@ from .processtype import ProcessType, ProcessTypeTypedDict from .protocoloptionstargetsitems import ProtocolOptionsTargetsItems from .recordtypeoptions import RecordTypeOptions +from .refreshrequestparamconfhealthcheckauthenticationoauthsecret import ( + RefreshRequestParamConfHealthCheckAuthenticationOauthSecret, + RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict, +) from .retryrulestype import RetryRulesType, RetryRulesTypeTypedDict from .retryrulestypecodesenableheader import ( RetryRulesTypeCodesEnableHeader, @@ -203,6 +203,118 @@ from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict +class CreateInputSystemByPackFirewallTypedDict(TypedDict): + r"""Creates events for Firewall rules entries""" + + enable: NotRequired[bool] + + +class CreateInputSystemByPackFirewall(BaseModel): + r"""Creates events for Firewall rules entries""" + + enable: Optional[bool] = None + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["enable"]) + 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 CreateInputSystemByPackServicesTypedDict(TypedDict): + r"""Creates events from the list of services""" + + enable: NotRequired[bool] + + +class CreateInputSystemByPackServices(BaseModel): + r"""Creates events from the list of services""" + + enable: Optional[bool] = None + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["enable"]) + 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 CreateInputSystemByPackListeningPortsTypedDict(TypedDict): + r"""Creates events from list of listening ports""" + + enable: NotRequired[bool] + + +class CreateInputSystemByPackListeningPorts(BaseModel): + r"""Creates events from list of listening ports""" + + enable: Optional[bool] = None + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["enable"]) + 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 CreateInputSystemByPackLoggedInUsersTypedDict(TypedDict): + r"""Creates events from list of logged-in users""" + + enable: NotRequired[bool] + + +class CreateInputSystemByPackLoggedInUsers(BaseModel): + r"""Creates events from list of logged-in users""" + + enable: Optional[bool] = None + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["enable"]) + 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 CreateInputSystemByPackCollectorsTypedDict(TypedDict): hostsfile: NotRequired[CreateInputSystemByPackHostsFileTypedDict] r"""Creates events based on entries collected from the hosts file""" @@ -368,6 +480,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] @@ -377,7 +490,7 @@ class CreateInputSystemByPackInputSystemStateTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -392,6 +505,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] @@ -405,6 +519,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""" @@ -421,7 +536,7 @@ class CreateInputSystemByPackInputSystemState(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -449,6 +564,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") @@ -1088,6 +1204,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] @@ -1097,7 +1214,7 @@ class CreateInputSystemByPackInputSystemMetricsTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -1111,6 +1228,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] @@ -1124,6 +1242,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""" @@ -1140,7 +1259,7 @@ class CreateInputSystemByPackInputSystemMetrics(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -1164,6 +1283,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") @@ -1226,6 +1346,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] @@ -1235,7 +1356,7 @@ class CreateInputSystemByPackInputTcpjsonTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -1259,6 +1380,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] @@ -1286,6 +1408,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""" @@ -1302,7 +1425,7 @@ class CreateInputSystemByPackInputTcpjson(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -1356,6 +1479,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.""" @@ -1438,6 +1562,8 @@ def serialize_model(self, handler): class CreateInputSystemByPackTypeCriblLakeHTTP(str, Enum): + r"""Source type identifier.""" + CRIBL_LAKE_HTTP = "cribl_lake_http" @@ -1556,11 +1682,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] @@ -1570,7 +1698,7 @@ class CreateInputSystemByPackInputCriblLakeHTTPTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -1610,6 +1738,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] @@ -1633,6 +1762,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).""" @@ -1641,6 +1771,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""" @@ -1657,7 +1788,7 @@ class CreateInputSystemByPackInputCriblLakeHTTP(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -1750,6 +1881,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") @@ -1848,6 +1980,8 @@ def serialize_model(self, handler): class CreateInputSystemByPackTypeCriblHTTP(str, Enum): + r"""Source type identifier.""" + CRIBL_HTTP = "cribl_http" @@ -1855,11 +1989,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] @@ -1869,7 +2005,7 @@ class CreateInputSystemByPackInputCriblHTTPTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -1901,6 +2037,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] @@ -1916,6 +2053,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).""" @@ -1924,6 +2062,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""" @@ -1940,7 +2079,7 @@ class CreateInputSystemByPackInputCriblHTTP(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -2013,6 +2152,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") @@ -2094,6 +2234,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] @@ -2103,7 +2244,7 @@ class CreateInputSystemByPackInputCriblTCPTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -2125,6 +2266,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] @@ -2148,6 +2290,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""" @@ -2164,7 +2307,7 @@ class CreateInputSystemByPackInputCriblTCP(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -2212,6 +2355,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") @@ -2284,6 +2428,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] @@ -2293,7 +2438,7 @@ class CreateInputSystemByPackInputCriblTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -2301,6 +2446,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] @@ -2314,6 +2460,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""" @@ -2330,7 +2477,7 @@ class CreateInputSystemByPackInputCribl(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -2343,6 +2490,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") @@ -2400,6 +2548,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] @@ -2409,7 +2558,7 @@ class CreateInputSystemByPackInputGooglePubsubTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -2436,6 +2585,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] @@ -2463,6 +2613,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""" @@ -2479,7 +2630,7 @@ class CreateInputSystemByPackInputGooglePubsub(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -2531,6 +2682,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") @@ -2618,6 +2770,8 @@ def serialize_model(self, handler): class CreateInputSystemByPackTypeFirehose(str, Enum): + r"""Source type identifier.""" + FIREHOSE = "firehose" @@ -2625,11 +2779,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] @@ -2639,7 +2795,7 @@ class CreateInputSystemByPackInputFirehoseTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -2671,6 +2827,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] @@ -2688,6 +2845,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).""" @@ -2696,6 +2854,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""" @@ -2712,7 +2871,7 @@ class CreateInputSystemByPackInputFirehose(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -2785,6 +2944,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") @@ -2886,7 +3046,7 @@ class CreateInputSystemByPackInputExecTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -2903,6 +3063,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] @@ -2939,7 +3100,7 @@ class CreateInputSystemByPackInputExec(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -2972,6 +3133,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.""" @@ -3050,6 +3212,47 @@ class CreateInputSystemByPackAuthenticationMechanism( OAUTH_BEARER = "oauth-bearer" +class CreateInputSystemByPackCertificateTypedDict(TypedDict): + certificate_name: str + r"""The certificate you registered as credentials for your app in the Azure portal""" + cert_path: str + r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS.""" + priv_key_path: str + r"""Path on server containing the private key to use. PEM format. Can reference $ENV_VARS.""" + passphrase: NotRequired[str] + r"""Passphrase to use to decrypt private key""" + + +class CreateInputSystemByPackCertificate(BaseModel): + certificate_name: Annotated[str, pydantic.Field(alias="certificateName")] + r"""The certificate you registered as credentials for your app in the Azure portal""" + + cert_path: Annotated[str, pydantic.Field(alias="certPath")] + r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS.""" + + priv_key_path: Annotated[str, pydantic.Field(alias="privKeyPath")] + r"""Path on server containing the private key to use. PEM format. Can reference $ENV_VARS.""" + + passphrase: Optional[str] = None + r"""Passphrase to use to decrypt private key""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["passphrase"]) + 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 CreateInputSystemByPackAuthTypedDict(TypedDict): mechanism: CreateInputSystemByPackAuthenticationMechanism text_secret: NotRequired[str] @@ -3057,7 +3260,7 @@ class CreateInputSystemByPackAuthTypedDict(TypedDict): client_secret_auth_type: NotRequired[AuthenticationMethodOptionsAuth] client_text_secret: NotRequired[str] r"""Select or create a stored text secret""" - certificate: NotRequired[CertificateTypeAzureBlobAuthTypeClientCertTypedDict] + certificate: NotRequired[CreateInputSystemByPackCertificateTypedDict] oauth_endpoint: NotRequired[MicrosoftEntraIDAuthenticationEndpointOptionsSasl] r"""Endpoint used to acquire authentication tokens from Azure""" client_id: NotRequired[str] @@ -3092,7 +3295,7 @@ class CreateInputSystemByPackAuth(BaseModel): ] = None r"""Select or create a stored text secret""" - certificate: Optional[CertificateTypeAzureBlobAuthTypeClientCert] = None + certificate: Optional[CreateInputSystemByPackCertificate] = None oauth_endpoint: Annotated[ Optional[MicrosoftEntraIDAuthenticationEndpointOptionsSasl], @@ -3349,6 +3552,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] @@ -3358,7 +3562,7 @@ class CreateInputSystemByPackInputEventhubAmqpTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -3390,6 +3594,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] @@ -3408,6 +3613,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""" @@ -3424,7 +3630,7 @@ class CreateInputSystemByPackInputEventhubAmqp(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -3491,6 +3697,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") @@ -3560,6 +3767,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] @@ -3569,7 +3777,7 @@ class CreateInputSystemByPackInputEventhubTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -3623,6 +3831,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] @@ -3648,6 +3857,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""" @@ -3664,7 +3874,7 @@ class CreateInputSystemByPackInputEventhub(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -3771,6 +3981,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") @@ -3891,6 +4102,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] @@ -3900,7 +4112,7 @@ class CreateInputSystemByPackInputMicrosoftGraphTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -3936,6 +4148,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] @@ -3978,6 +4191,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""" @@ -3994,7 +4208,7 @@ class CreateInputSystemByPackInputMicrosoftGraph(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -4068,6 +4282,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.""" @@ -4242,6 +4457,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] @@ -4251,7 +4467,7 @@ class CreateInputSystemByPackInputOffice365MsgTraceTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -4285,6 +4501,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] @@ -4333,6 +4550,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""" @@ -4349,7 +4567,7 @@ class CreateInputSystemByPackInputOffice365MsgTrace(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -4420,6 +4638,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.""" @@ -4651,6 +4870,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] @@ -4660,7 +4880,7 @@ class CreateInputSystemByPackInputOffice365ServiceTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -4688,6 +4908,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] @@ -4719,6 +4940,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""" @@ -4735,7 +4957,7 @@ class CreateInputSystemByPackInputOffice365Service(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -4791,6 +5013,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""" @@ -4964,6 +5187,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] @@ -4973,7 +5197,7 @@ class CreateInputSystemByPackInputOffice365MgmtTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -5003,6 +5227,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] @@ -5039,6 +5264,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""" @@ -5055,7 +5281,7 @@ class CreateInputSystemByPackInputOffice365Mgmt(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -5116,6 +5342,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""" @@ -5247,6 +5474,8 @@ class CreateInputSystemByPackDiscoveryTypeEdgePrometheus( K8S_PODS = "k8s-pods" # Kubernetes Service Monitor (v4.18+) K8S_SERVICE_MONITOR = "k8s-service-monitor" + # HTTP SD + HTTP_SD = "http_sd" class CreateInputSystemByPackAuthenticationMethodEdgePrometheus( @@ -5349,6 +5578,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] @@ -5358,7 +5588,7 @@ class CreateInputSystemByPackInputEdgePrometheusTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -5374,6 +5604,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""" @@ -5426,6 +5657,16 @@ class CreateInputSystemByPackInputEdgePrometheusTypedDict(TypedDict): expressions evaluate to true. """ + http_discovery_url: NotRequired[str] + r"""URL to fetch target groups from (must be http or https)""" + http_discovery_headers: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict] + ] + r"""Extra headers to send with the discovery request""" + http_discovery_reject_unauthorized: NotRequired[bool] + r"""Reject TLS certificates that cannot be verified for the discovery endpoint. Falls back to the source-level setting if not specified.""" + max_response_body_size: NotRequired[str] + r"""Maximum size of the HTTP SD response body. Responses exceeding this limit will be rejected. Defaults to 20 MB.""" username: NotRequired[str] r"""Username for Prometheus Basic authentication""" password: NotRequired[str] @@ -5470,6 +5711,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""" @@ -5486,7 +5728,7 @@ class CreateInputSystemByPackInputEdgePrometheus(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -5518,6 +5760,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 @@ -5631,6 +5874,27 @@ class CreateInputSystemByPackInputEdgePrometheus(BaseModel): """ + http_discovery_url: Annotated[ + Optional[str], pydantic.Field(alias="httpDiscoveryUrl") + ] = None + r"""URL to fetch target groups from (must be http or https)""" + + http_discovery_headers: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecret]], + pydantic.Field(alias="httpDiscoveryHeaders"), + ] = None + r"""Extra headers to send with the discovery request""" + + http_discovery_reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="httpDiscoveryRejectUnauthorized") + ] = None + r"""Reject TLS certificates that cannot be verified for the discovery endpoint. Falls back to the source-level setting if not specified.""" + + max_response_body_size: Annotated[ + Optional[str], pydantic.Field(alias="maxResponseBodySize") + ] = None + r"""Maximum size of the HTTP SD response body. Responses exceeding this limit will be rejected. Defaults to 20 MB.""" + username: Optional[str] = None r"""Username for Prometheus Basic authentication""" @@ -5783,6 +6047,10 @@ def serialize_model(self, handler): "scrapePortExpr", "scrapePathExpr", "podFilter", + "httpDiscoveryUrl", + "httpDiscoveryHeaders", + "httpDiscoveryRejectUnauthorized", + "maxResponseBodySize", "username", "password", "credentialsSecret", @@ -5827,6 +6095,8 @@ class CreateInputSystemByPackDiscoveryTypePrometheus( DNS = "dns" # AWS EC2 EC2 = "ec2" + # HTTP SD + HTTP_SD = "http_sd" class CreateInputSystemByPackMetricsProtocol(str, Enum, metaclass=utils.OpenEnumMeta): @@ -5845,6 +6115,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] @@ -5854,7 +6125,7 @@ class CreateInputSystemByPackInputPrometheusTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -5883,6 +6154,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] @@ -5919,6 +6191,16 @@ class CreateInputSystemByPackInputPrometheusTypedDict(TypedDict): 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).""" + http_discovery_url: NotRequired[str] + r"""URL to fetch target groups from (must be http or https)""" + http_discovery_headers: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict] + ] + r"""Extra headers to send with the discovery request""" + http_discovery_reject_unauthorized: NotRequired[bool] + r"""Reject TLS certificates that cannot be verified for the discovery endpoint. Falls back to the source-level setting if not specified.""" + max_response_body_size: NotRequired[str] + r"""Maximum size of the HTTP SD response body. Responses exceeding this limit will be rejected. Defaults to 20 MB.""" username: NotRequired[str] r"""Username for Prometheus Basic authentication""" password: NotRequired[str] @@ -5970,6 +6252,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""" @@ -5986,7 +6269,7 @@ class CreateInputSystemByPackInputPrometheus(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -6047,6 +6330,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 @@ -6128,6 +6412,27 @@ class CreateInputSystemByPackInputPrometheus(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).""" + http_discovery_url: Annotated[ + Optional[str], pydantic.Field(alias="httpDiscoveryUrl") + ] = None + r"""URL to fetch target groups from (must be http or https)""" + + http_discovery_headers: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecret]], + pydantic.Field(alias="httpDiscoveryHeaders"), + ] = None + r"""Extra headers to send with the discovery request""" + + http_discovery_reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="httpDiscoveryRejectUnauthorized") + ] = None + r"""Reject TLS certificates that cannot be verified for the discovery endpoint. Falls back to the source-level setting if not specified.""" + + max_response_body_size: Annotated[ + Optional[str], pydantic.Field(alias="maxResponseBodySize") + ] = None + r"""Maximum size of the HTTP SD response body. Responses exceeding this limit will be rejected. Defaults to 20 MB.""" + username: Optional[str] = None r"""Username for Prometheus Basic authentication""" @@ -6312,6 +6617,10 @@ def serialize_model(self, handler): "assumeRoleArn", "assumeRoleExternalId", "durationSeconds", + "httpDiscoveryUrl", + "httpDiscoveryHeaders", + "httpDiscoveryRejectUnauthorized", + "maxResponseBodySize", "username", "password", "credentialsSecret", @@ -6347,6 +6656,8 @@ def serialize_model(self, handler): class CreateInputSystemByPackTypePrometheusRw(str, Enum): + r"""Source type identifier.""" + PROMETHEUS_RW = "prometheus_rw" @@ -6354,6 +6665,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 @@ -6361,6 +6673,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] @@ -6370,7 +6683,7 @@ class CreateInputSystemByPackInputPrometheusRwTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -6402,6 +6715,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] @@ -6429,6 +6743,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).""" @@ -6440,6 +6755,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""" @@ -6456,7 +6772,7 @@ class CreateInputSystemByPackInputPrometheusRw(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -6530,6 +6846,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 @@ -6640,6 +6957,8 @@ def serialize_model(self, handler): class CreateInputSystemByPackTypeLoki(str, Enum): + r"""Source type identifier.""" + LOKI = "loki" @@ -6647,6 +6966,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 @@ -6654,6 +6974,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] @@ -6663,7 +6984,7 @@ class CreateInputSystemByPackInputLokiTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -6695,6 +7016,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] @@ -6720,6 +7042,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).""" @@ -6731,6 +7054,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""" @@ -6747,7 +7071,7 @@ class CreateInputSystemByPackInputLoki(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -6820,6 +7144,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 @@ -6924,6 +7249,8 @@ def serialize_model(self, handler): class CreateInputSystemByPackInputGrafanaType2(str, Enum): + r"""Source type identifier.""" + GRAFANA = "grafana" @@ -7070,6 +7397,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 @@ -7077,6 +7405,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] @@ -7086,7 +7415,7 @@ class CreateInputSystemByPackInputGrafanaGrafana2TypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -7120,6 +7449,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] @@ -7139,6 +7469,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).""" @@ -7150,6 +7481,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""" @@ -7166,7 +7498,7 @@ class CreateInputSystemByPackInputGrafanaGrafana2(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -7248,6 +7580,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") @@ -7331,6 +7664,8 @@ def serialize_model(self, handler): class CreateInputSystemByPackInputGrafanaType1(str, Enum): + r"""Source type identifier.""" + GRAFANA = "grafana" @@ -7477,6 +7812,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 @@ -7484,6 +7820,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] @@ -7493,7 +7830,7 @@ class CreateInputSystemByPackInputGrafanaGrafana1TypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -7527,6 +7864,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] @@ -7546,6 +7884,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).""" @@ -7557,6 +7896,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""" @@ -7573,7 +7913,7 @@ class CreateInputSystemByPackInputGrafanaGrafana1(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -7653,6 +7993,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") @@ -7766,6 +8107,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] @@ -7775,7 +8117,7 @@ class CreateInputSystemByPackInputConfluentCloudTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -7832,6 +8174,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] @@ -7857,6 +8200,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""" @@ -7873,7 +8217,7 @@ class CreateInputSystemByPackInputConfluentCloud(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -7984,6 +8328,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") @@ -8067,6 +8412,8 @@ def serialize_model(self, handler): class CreateInputSystemByPackTypeElastic(str, Enum): + r"""Source type identifier.""" + ELASTIC = "elastic" @@ -8207,6 +8554,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 @@ -8214,6 +8562,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] @@ -8223,7 +8572,7 @@ class CreateInputSystemByPackInputElasticTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -8259,6 +8608,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] @@ -8286,6 +8636,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).""" @@ -8297,6 +8648,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""" @@ -8313,7 +8665,7 @@ class CreateInputSystemByPackInputElastic(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -8402,6 +8754,7 @@ class CreateInputSystemByPackInputElastic(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" username: Optional[str] = None @@ -8538,6 +8891,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] @@ -8547,7 +8901,7 @@ class CreateInputSystemByPackInputAzureBlobTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -8575,6 +8929,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] @@ -8620,6 +8975,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""" @@ -8636,7 +8992,7 @@ class CreateInputSystemByPackInputAzureBlob(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -8695,6 +9051,7 @@ class CreateInputSystemByPackInputAzureBlob(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" connection_string: Annotated[ Optional[str], pydantic.Field(alias="connectionString") @@ -8838,6 +9195,8 @@ def serialize_model(self, handler): class CreateInputSystemByPackTypeSplunkHec(str, Enum): + r"""Source type identifier.""" + SPLUNK_HEC = "splunk_hec" @@ -8849,6 +9208,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]] @@ -8871,6 +9231,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""" @@ -8922,6 +9283,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 @@ -8929,6 +9291,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] @@ -8938,7 +9301,7 @@ class CreateInputSystemByPackInputSplunkHecTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -8988,6 +9351,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] @@ -9005,6 +9369,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).""" @@ -9016,6 +9381,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""" @@ -9032,7 +9398,7 @@ class CreateInputSystemByPackInputSplunkHec(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -9151,6 +9517,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") @@ -9309,6 +9676,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] @@ -9318,7 +9686,7 @@ class CreateInputSystemByPackInputSplunkSearchTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -9358,6 +9726,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] @@ -9414,6 +9783,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""" @@ -9430,7 +9800,7 @@ class CreateInputSystemByPackInputSplunkSearch(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -9518,6 +9888,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 @@ -9725,6 +10096,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] @@ -9734,7 +10106,7 @@ class CreateInputSystemByPackInputSplunkTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -9762,6 +10134,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] @@ -9797,6 +10170,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""" @@ -9813,7 +10187,7 @@ class CreateInputSystemByPackInputSplunk(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -9878,6 +10252,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") @@ -9997,6 +10372,8 @@ def serialize_model(self, handler): class CreateInputSystemByPackTypeHTTP(str, Enum): + r"""Source type identifier.""" + HTTP = "http" @@ -10004,11 +10381,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] @@ -10018,7 +10397,7 @@ class CreateInputSystemByPackInputHTTPTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -10059,6 +10438,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] @@ -10082,6 +10462,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).""" @@ -10090,6 +10471,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""" @@ -10106,7 +10488,7 @@ class CreateInputSystemByPackInputHTTP(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -10200,6 +10582,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") @@ -10314,6 +10697,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] @@ -10323,7 +10707,7 @@ class CreateInputSystemByPackInputMskTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -10393,6 +10777,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""" @@ -10442,6 +10827,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""" @@ -10458,7 +10844,7 @@ class CreateInputSystemByPackInputMsk(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -10603,6 +10989,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 @@ -10757,6 +11144,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] @@ -10766,7 +11154,7 @@ class CreateInputSystemByPackInputKafkaTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -10823,6 +11211,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] @@ -10848,6 +11237,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""" @@ -10864,7 +11254,7 @@ class CreateInputSystemByPackInputKafka(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -10975,6 +11365,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") @@ -11066,6 +11457,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] @@ -11075,7 +11467,7 @@ class CreateInputSystemByPackInputCollectionTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -11103,6 +11495,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""" @@ -11119,7 +11512,7 @@ class CreateInputSystemByPackInputCollection(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -11209,12 +11602,12 @@ def serialize_model(self, handler): CreateInputSystemByPackInputSystemMetricsTypedDict, CreateInputSystemByPackInputWindowsMetricsTypedDict, CreateInputSystemByPackInputJournalFilesTypedDict, - CreateInputSystemByPackInputKubeLogsTypedDict, CreateInputSystemByPackInputModelDrivenTelemetryTypedDict, CreateInputSystemByPackInputExecTypedDict, CreateInputSystemByPackInputRawUDPTypedDict, CreateInputSystemByPackInputAnthropicComplianceTypedDict, CreateInputSystemByPackInputWinEventLogsTypedDict, + CreateInputSystemByPackInputKubeLogsTypedDict, CreateInputSystemByPackInputSnmpTypedDict, CreateInputSystemByPackInputMetricsTypedDict, CreateInputSystemByPackInputNetflowTypedDict, @@ -11226,44 +11619,46 @@ def serialize_model(self, handler): CreateInputSystemByPackInputGooglePubsubTypedDict, CreateInputSystemByPackInputCriblHTTPTypedDict, CreateInputSystemByPackInputTCPTypedDict, - CreateInputSystemByPackInputDatadogAgentTypedDict, CreateInputSystemByPackInputFirehoseTypedDict, CreateInputSystemByPackInputOffice365ServiceTypedDict, CreateInputSystemByPackInputWizTypedDict, + CreateInputSystemByPackInputDatadogAgentTypedDict, CreateInputSystemByPackInputAppscopeTypedDict, - CreateInputSystemByPackInputFileTypedDict, - CreateInputSystemByPackInputSplunkTypedDict, CreateInputSystemByPackInputOffice365MgmtTypedDict, - CreateInputSystemByPackInputZscalerHecTypedDict, + CreateInputSystemByPackInputSplunkTypedDict, + CreateInputSystemByPackInputFileTypedDict, CreateInputSystemByPackInputWefTypedDict, - CreateInputSystemByPackInputWizWebhookTypedDict, - CreateInputSystemByPackInputHTTPRawTypedDict, CreateInputSystemByPackInputLokiTypedDict, + CreateInputSystemByPackInputHTTPRawTypedDict, + CreateInputSystemByPackInputWizWebhookTypedDict, CreateInputSystemByPackInputPrometheusRwTypedDict, - CreateInputSystemByPackInputCriblLakeHTTPTypedDict, + CreateInputSystemByPackInputUpwindHecTypedDict, + CreateInputSystemByPackInputSysdigHecTypedDict, CreateInputSystemByPackInputHTTPTypedDict, - CreateInputSystemByPackInputConfluentCloudTypedDict, CreateInputSystemByPackInputKafkaTypedDict, + CreateInputSystemByPackInputConfluentCloudTypedDict, + CreateInputSystemByPackInputCriblLakeHTTPTypedDict, + CreateInputSystemByPackInputZscalerHecTypedDict, CreateInputSystemByPackInputEventhubTypedDict, + CreateInputSystemByPackInputAzureBlobTypedDict, CreateInputSystemByPackInputCloudflareHecTypedDict, CreateInputSystemByPackInputOpenaiComplianceLogsTypedDict, - CreateInputSystemByPackInputAzureBlobTypedDict, - CreateInputSystemByPackInputOpenTelemetryTypedDict, CreateInputSystemByPackInputElasticTypedDict, + CreateInputSystemByPackInputOpenTelemetryTypedDict, CreateInputSystemByPackInputSplunkHecTypedDict, CreateInputSystemByPackInputSqsTypedDict, CreateInputSystemByPackInputMicrosoftGraphTypedDict, CreateInputSystemByPackInputKinesisTypedDict, CreateInputSystemByPackInputOffice365MsgTraceTypedDict, CreateInputSystemByPackInputSplunkSearchTypedDict, - CreateInputSystemByPackInputCrowdstrikeTypedDict, CreateInputSystemByPackInputServicenowTableTypedDict, - CreateInputSystemByPackInputSecurityLakeTypedDict, - CreateInputSystemByPackInputS3TypedDict, - CreateInputSystemByPackInputS3InventoryTypedDict, - CreateInputSystemByPackInputEdgePrometheusTypedDict, CreateInputSystemByPackInputMskTypedDict, + CreateInputSystemByPackInputEdgePrometheusTypedDict, + CreateInputSystemByPackInputCrowdstrikeTypedDict, + CreateInputSystemByPackInputS3TypedDict, + CreateInputSystemByPackInputSecurityLakeTypedDict, CreateInputSystemByPackInputPrometheusTypedDict, + CreateInputSystemByPackInputS3InventoryTypedDict, CreateInputSystemByPackInputGrafanaUnionTypedDict, CreateInputSystemByPackInputSyslogUnionTypedDict, ], @@ -11347,6 +11742,8 @@ def serialize_model(self, handler): Annotated[CreateInputSystemByPackInputServicenowTable, Tag("servicenow_table")], Annotated[CreateInputSystemByPackInputZscalerHec, Tag("zscaler_hec")], Annotated[CreateInputSystemByPackInputCloudflareHec, Tag("cloudflare_hec")], + Annotated[CreateInputSystemByPackInputSysdigHec, Tag("sysdig_hec")], + Annotated[CreateInputSystemByPackInputUpwindHec, Tag("upwind_hec")], Annotated[ CreateInputSystemByPackInputOpenaiComplianceLogs, Tag("openai_compliance_logs"), @@ -11461,6 +11858,10 @@ class CreateInputSystemByPackRequest(BaseModel): CreateInputSystemByPackInputExec.model_rebuild() except NameError: pass +try: + CreateInputSystemByPackCertificate.model_rebuild() +except NameError: + pass try: CreateInputSystemByPackAuth.model_rebuild() except NameError: diff --git a/src/cribl_control_plane/models/createinputsystembypack_logged_in_users.py b/src/cribl_control_plane/models/createinputsystembypack_users_and_groups.py similarity index 88% rename from src/cribl_control_plane/models/createinputsystembypack_logged_in_users.py rename to src/cribl_control_plane/models/createinputsystembypack_users_and_groups.py index 97f627bda..c70b13710 100644 --- a/src/cribl_control_plane/models/createinputsystembypack_logged_in_users.py +++ b/src/cribl_control_plane/models/createinputsystembypack_users_and_groups.py @@ -11,6 +11,10 @@ AuthenticationMethodOptionsS3CollectorConf, ) from .authenticationprotocoloptionsv3user import AuthenticationProtocolOptionsV3User +from .authtokenconfinputcloudflarehec import ( + AuthTokenConfInputCloudflareHec, + AuthTokenConfInputCloudflareHecTypedDict, +) from .authtokensextconfinputhttp import ( AuthTokensExtConfInputHTTP, AuthTokensExtConfInputHTTPTypedDict, @@ -50,15 +54,16 @@ PrivacyProtocolOptionsSnmpTrapSerializeV3UserAuthProtocolNotNone, ) from .processtype import ProcessType, ProcessTypeTypedDict -from .requestparamconfinputopenai import ( - RequestParamConfInputOpenai, - RequestParamConfInputOpenaiTypedDict, +from .refreshrequestparamconfhealthcheckauthenticationoauthsecret import ( + RefreshRequestParamConfHealthCheckAuthenticationOauthSecret, + RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict, ) from .retryrulestype import RetryRulesType, RetryRulesTypeTypedDict from .ruleconfinputkubemetrics import ( RuleConfInputKubeMetrics, RuleConfInputKubeMetricsTypedDict, ) +from .sqsauthenticationmethodoptions import SqsAuthenticationMethodOptions from .tagafterprocessingoptions import TagAfterProcessingOptions from .tlssettingsserversidetype import ( TLSSettingsServerSideType, @@ -86,6 +91,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] @@ -95,7 +101,7 @@ class CreateInputSystemByPackInputOktaTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -123,6 +129,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] @@ -144,6 +151,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""" @@ -160,7 +168,7 @@ class CreateInputSystemByPackInputOkta(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -213,6 +221,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") @@ -277,6 +286,14 @@ class CreateInputSystemByPackTypeAnthropicCompliance(str, Enum): ANTHROPIC_COMPLIANCE = "anthropic_compliance" +class CreateInputSystemByPackEndpointName(str, Enum, metaclass=utils.OpenEnumMeta): + ACTIVITIES = "activities" + CHATS = "chats" + PROJECTS = "projects" + GROUPS = "groups" + ORGANIZATIONS = "organizations" + + class CreateInputSystemByPackManageStateAnthropicComplianceTypedDict(TypedDict): pass @@ -286,13 +303,9 @@ class CreateInputSystemByPackManageStateAnthropicCompliance(BaseModel): class CreateInputSystemByPackContentConfigAnthropicComplianceTypedDict(TypedDict): - content_type: str + content_type: CreateInputSystemByPackEndpointName cron_schedule: str r"""Schedule on which to run this collection job""" - earliest: str - r"""Earliest time for data collection, relative to now""" - latest: str - r"""Latest time for data collection, relative to now""" content_description: NotRequired[str] enabled: NotRequired[bool] state_tracking: NotRequired[bool] @@ -304,22 +317,22 @@ class CreateInputSystemByPackContentConfigAnthropicComplianceTypedDict(TypedDict manage_state: NotRequired[ CreateInputSystemByPackManageStateAnthropicComplianceTypedDict ] + earliest: NotRequired[str] + r"""Earliest time for data collection, relative to now""" + latest: NotRequired[str] + r"""Latest time for data collection, relative to now""" job_timeout: NotRequired[str] r"""Maximum time the job is allowed to run (examples: 30, 45s, 15m). Enter 0 for unlimited time.""" class CreateInputSystemByPackContentConfigAnthropicCompliance(BaseModel): - content_type: Annotated[str, pydantic.Field(alias="contentType")] + content_type: Annotated[ + CreateInputSystemByPackEndpointName, pydantic.Field(alias="contentType") + ] cron_schedule: Annotated[str, pydantic.Field(alias="cronSchedule")] r"""Schedule on which to run this collection job""" - earliest: str - r"""Earliest time for data collection, relative to now""" - - latest: str - r"""Latest time for data collection, relative to now""" - content_description: Annotated[ Optional[str], pydantic.Field(alias="contentDescription") ] = None @@ -346,9 +359,24 @@ class CreateInputSystemByPackContentConfigAnthropicCompliance(BaseModel): pydantic.Field(alias="manageState"), ] = None + earliest: Optional[str] = None + r"""Earliest time for data collection, relative to now""" + + latest: Optional[str] = None + r"""Latest time for data collection, relative to now""" + job_timeout: Annotated[Optional[str], pydantic.Field(alias="jobTimeout")] = None r"""Maximum time the job is allowed to run (examples: 30, 45s, 15m). Enter 0 for unlimited time.""" + @field_serializer("content_type") + def serialize_content_type(self, value): + if isinstance(value, str): + try: + return models.CreateInputSystemByPackEndpointName(value) + except ValueError: + return value + return value + @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( @@ -359,6 +387,8 @@ def serialize_model(self, handler): "stateUpdateExpression", "stateMergeExpression", "manageState", + "earliest", + "latest", "jobTimeout", ] ) @@ -386,6 +416,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] @@ -395,7 +426,7 @@ class CreateInputSystemByPackInputAnthropicComplianceTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -414,6 +445,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] @@ -435,6 +467,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""" @@ -451,7 +484,7 @@ class CreateInputSystemByPackInputAnthropicCompliance(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -491,6 +524,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") @@ -569,6 +603,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] @@ -578,7 +613,7 @@ class CreateInputSystemByPackInputOpenaiComplianceLogsTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -613,6 +648,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]] @@ -654,6 +690,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""" @@ -670,7 +707,7 @@ class CreateInputSystemByPackInputOpenaiComplianceLogs(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -743,6 +780,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)""" @@ -782,38 +820,648 @@ class CreateInputSystemByPackInputOpenaiComplianceLogs(BaseModel): ] = None 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: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") + 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_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_organization_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_organizationId") + ] = None + r"""Binds 'organizationId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'organizationId' at runtime.""" + + @field_serializer("account_type") + def serialize_account_type(self, value): + if isinstance(value, str): + try: + return models.CreateInputSystemByPackAccountType(value) + except ValueError: + return value + return value + + @field_serializer("log_level") + def serialize_log_level(self, value): + if isinstance(value, str): + try: + return models.LogLevelOptionsContentConfigItemsDebugError(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "disabled", + "pipeline", + "sendToRoutes", + "environment", + "pqEnabled", + "streamtags", + "connections", + "pq", + "apiKey", + "earliest", + "latest", + "jobTimeout", + "logLevel", + "maxPages", + "stateTracking", + "requestTimeout", + "keepAliveTime", + "maxMissedKeepAlives", + "ttl", + "ignoreGroupJobsLimit", + "metadata", + "breakerRulesets", + "staleChannelFlushMs", + "retryRules", + "description", + "workspaceId", + "workspaceEventTypes", + "organizationId", + "organizationEventTypes", + "stateUpdateExpression", + "stateMergeExpression", + "manageState", + "__template_environment", + "__template_streamtags", + "__template_workspaceId", + "__template_organizationId", + ] + ) + 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 CreateInputSystemByPackTypeUpwindHec(str, Enum): + r"""Source type identifier.""" + + UPWIND_HEC = "upwind_hec" + + +class CreateInputSystemByPackInputUpwindHecTypedDict(TypedDict): + id: str + r"""Unique ID for this input""" + type: CreateInputSystemByPackTypeUpwindHec + 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""" + hec_api: str + r"""Absolute path on which to listen for the Upwind 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] + r"""Select whether to send data to Routes, or directly to Destinations.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + pq_enabled: NotRequired[bool] + r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" + streamtags: NotRequired[List[str]] + r"""Metadata tags used for categorization and filtering.""" + connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] + r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" + pq: NotRequired[PqTypeTypedDict] + auth_tokens: NotRequired[List[AuthTokenConfInputCloudflareHecTypedDict]] + r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" + tls: NotRequired[TLSSettingsServerSideTypeTypedDict] + max_active_req: NotRequired[float] + r"""Maximum number of active requests allowed per Worker Process. Set to 0 for unlimited. Caution: Increasing the limit above the default value, or setting it to unlimited, may degrade performance and reduce throughput.""" + max_requests_per_socket: NotRequired[int] + r"""Maximum number of requests per socket before @{product} instructs the client to close the connection. Default is 0 (unlimited).""" + enable_proxy_header: NotRequired[bool] + r"""Extract the client IP and port from PROXY protocol v1/v2. When enabled, the X-Forwarded-For header is ignored. Disable to use the X-Forwarded-For header for client IP extraction.""" + capture_headers: NotRequired[bool] + r"""Add request headers to events, in the __headers field""" + activity_log_sample_rate: NotRequired[float] + r"""How often request activity is logged at the `info` level. A value of 1 would log every request, 10 every 10th request, etc.""" + request_timeout: NotRequired[float] + r"""How long to wait for an incoming request to complete before aborting it. Use 0 to disable.""" + socket_timeout: NotRequired[float] + r"""How long @{product} should wait before assuming that an inactive socket has timed out. To wait forever, set to 0.""" + keep_alive_timeout: NotRequired[float] + r"""After the last response is sent, @{product} will wait this long for additional data before closing the socket connection. Minimum 1 second, maximum 600 seconds (10 minutes).""" + ip_allowlist_regex: NotRequired[str] + r"""Messages from matched IP addresses will be processed, unless also matched by the denylist""" + ip_denylist_regex: NotRequired[str] + r"""Messages from matched IP addresses will be ignored. This takes precedence over the allowlist.""" + metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] + r"""Fields to add to every event. May be overridden by fields added at the token or request level.""" + allowed_indexes: NotRequired[List[str]] + r"""List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level.""" + access_control_allow_origin: NotRequired[List[str]] + r"""HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards.""" + access_control_allow_headers: NotRequired[List[str]] + r"""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: 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] + r"""Binds 'streamtags' to a variable 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_hec_api: NotRequired[str] + r"""Binds 'hecAPI' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'hecAPI' at runtime.""" + template_allowed_indexes: NotRequired[str] + r"""Binds 'allowedIndexes' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'allowedIndexes' at runtime.""" + template_access_control_allow_origin: NotRequired[str] + r"""Binds 'accessControlAllowOrigin' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowOrigin' at runtime.""" + template_access_control_allow_headers: NotRequired[str] + r"""Binds 'accessControlAllowHeaders' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowHeaders' at runtime.""" + + +class CreateInputSystemByPackInputUpwindHec(BaseModel): + id: str + r"""Unique ID for this input""" + + type: CreateInputSystemByPackTypeUpwindHec + 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""" + + hec_api: Annotated[str, pydantic.Field(alias="hecAPI")] + r"""Absolute path on which to listen for the Upwind 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""" + + send_to_routes: Annotated[Optional[bool], pydantic.Field(alias="sendToRoutes")] = ( + None + ) + r"""Select whether to send data to Routes, or directly to Destinations.""" + + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + + pq_enabled: Annotated[Optional[bool], pydantic.Field(alias="pqEnabled")] = None + r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" + + streamtags: Optional[List[str]] = None + r"""Metadata tags used for categorization and filtering.""" + + connections: Optional[List[ConnectionConfInputCollection]] = None + r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" + + pq: Optional[PqType] = None + + auth_tokens: Annotated[ + Optional[List[AuthTokenConfInputCloudflareHec]], + pydantic.Field(alias="authTokens"), + ] = None + r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" + + tls: Optional[TLSSettingsServerSideType] = None + + max_active_req: Annotated[Optional[float], pydantic.Field(alias="maxActiveReq")] = ( + None + ) + r"""Maximum number of active requests allowed per Worker Process. Set to 0 for unlimited. Caution: Increasing the limit above the default value, or setting it to unlimited, may degrade performance and reduce throughput.""" + + max_requests_per_socket: Annotated[ + Optional[int], pydantic.Field(alias="maxRequestsPerSocket") + ] = None + r"""Maximum number of requests per socket before @{product} instructs the client to close the connection. Default is 0 (unlimited).""" + + enable_proxy_header: Annotated[ + Optional[bool], pydantic.Field(alias="enableProxyHeader") + ] = None + r"""Extract the client IP and port from PROXY protocol v1/v2. When enabled, the X-Forwarded-For header is ignored. Disable to use the X-Forwarded-For header for client IP extraction.""" + + capture_headers: Annotated[ + Optional[bool], pydantic.Field(alias="captureHeaders") + ] = None + r"""Add request headers to events, in the __headers field""" + + activity_log_sample_rate: Annotated[ + Optional[float], pydantic.Field(alias="activityLogSampleRate") + ] = None + r"""How often request activity is logged at the `info` level. A value of 1 would log every request, 10 every 10th request, etc.""" + + request_timeout: Annotated[ + Optional[float], pydantic.Field(alias="requestTimeout") + ] = None + r"""How long to wait for an incoming request to complete before aborting it. Use 0 to disable.""" + + socket_timeout: Annotated[ + Optional[float], pydantic.Field(alias="socketTimeout") + ] = None + r"""How long @{product} should wait before assuming that an inactive socket has timed out. To wait forever, set to 0.""" + + keep_alive_timeout: Annotated[ + Optional[float], pydantic.Field(alias="keepAliveTimeout") + ] = None + r"""After the last response is sent, @{product} will wait this long for additional data before closing the socket connection. Minimum 1 second, maximum 600 seconds (10 minutes).""" + + ip_allowlist_regex: Annotated[ + Optional[str], pydantic.Field(alias="ipAllowlistRegex") + ] = None + r"""Messages from matched IP addresses will be processed, unless also matched by the denylist""" + + ip_denylist_regex: Annotated[ + Optional[str], pydantic.Field(alias="ipDenylistRegex") + ] = None + r"""Messages from matched IP addresses will be ignored. This takes precedence over the allowlist.""" + + metadata: Optional[List[MetadataConfInputCollection]] = None + r"""Fields to add to every event. May be overridden by fields added at the token or request level.""" + + allowed_indexes: Annotated[ + Optional[List[str]], pydantic.Field(alias="allowedIndexes") + ] = None + r"""List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level.""" + + access_control_allow_origin: Annotated[ + Optional[List[str]], pydantic.Field(alias="accessControlAllowOrigin") + ] = None + r"""HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards.""" + + access_control_allow_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="accessControlAllowHeaders") + ] = None + r"""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: Annotated[ + Optional[bool], pydantic.Field(alias="emitTokenMetrics") + ] = None + 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") + ] = None + 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: 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_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_hec_api: Annotated[ + Optional[str], pydantic.Field(alias="__template_hecAPI") + ] = None + r"""Binds 'hecAPI' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'hecAPI' at runtime.""" + + template_allowed_indexes: Annotated[ + Optional[str], pydantic.Field(alias="__template_allowedIndexes") + ] = None + r"""Binds 'allowedIndexes' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'allowedIndexes' at runtime.""" + + template_access_control_allow_origin: Annotated[ + Optional[str], pydantic.Field(alias="__template_accessControlAllowOrigin") + ] = None + r"""Binds 'accessControlAllowOrigin' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowOrigin' at runtime.""" + + template_access_control_allow_headers: Annotated[ + Optional[str], pydantic.Field(alias="__template_accessControlAllowHeaders") + ] = None + r"""Binds 'accessControlAllowHeaders' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowHeaders' at runtime.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "disabled", + "pipeline", + "sendToRoutes", + "environment", + "pqEnabled", + "streamtags", + "connections", + "pq", + "authTokens", + "tls", + "maxActiveReq", + "maxRequestsPerSocket", + "enableProxyHeader", + "captureHeaders", + "activityLogSampleRate", + "requestTimeout", + "socketTimeout", + "keepAliveTimeout", + "ipAllowlistRegex", + "ipDenylistRegex", + "metadata", + "allowedIndexes", + "accessControlAllowOrigin", + "accessControlAllowHeaders", + "emitTokenMetrics", + "description", + "__template_environment", + "__template_streamtags", + "__template_host", + "__template_port", + "__template_hecAPI", + "__template_allowedIndexes", + "__template_accessControlAllowOrigin", + "__template_accessControlAllowHeaders", + ] + ) + 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 CreateInputSystemByPackTypeSysdigHec(str, Enum): + r"""Source type identifier.""" + + SYSDIG_HEC = "sysdig_hec" + + +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 + r"""Port to listen on""" + 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] + r"""Select whether to send data to Routes, or directly to Destinations.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + pq_enabled: NotRequired[bool] + r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" + streamtags: NotRequired[List[str]] + r"""Metadata tags used for categorization and filtering.""" + connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] + r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" + pq: NotRequired[PqTypeTypedDict] + auth_tokens: NotRequired[List[AuthTokenConfInputCloudflareHecTypedDict]] + r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" + tls: NotRequired[TLSSettingsServerSideTypeTypedDict] + max_active_req: NotRequired[float] + r"""Maximum number of active requests allowed per Worker Process. Set to 0 for unlimited. Caution: Increasing the limit above the default value, or setting it to unlimited, may degrade performance and reduce throughput.""" + max_requests_per_socket: NotRequired[int] + r"""Maximum number of requests per socket before @{product} instructs the client to close the connection. Default is 0 (unlimited).""" + enable_proxy_header: NotRequired[bool] + r"""Extract the client IP and port from PROXY protocol v1/v2. When enabled, the X-Forwarded-For header is ignored. Disable to use the X-Forwarded-For header for client IP extraction.""" + capture_headers: NotRequired[bool] + r"""Add request headers to events, in the __headers field""" + activity_log_sample_rate: NotRequired[float] + r"""How often request activity is logged at the `info` level. A value of 1 would log every request, 10 every 10th request, etc.""" + request_timeout: NotRequired[float] + r"""How long to wait for an incoming request to complete before aborting it. Use 0 to disable.""" + socket_timeout: NotRequired[float] + r"""How long @{product} should wait before assuming that an inactive socket has timed out. To wait forever, set to 0.""" + keep_alive_timeout: NotRequired[float] + r"""After the last response is sent, @{product} will wait this long for additional data before closing the socket connection. Minimum 1 second, maximum 600 seconds (10 minutes).""" + ip_allowlist_regex: NotRequired[str] + r"""Messages from matched IP addresses will be processed, unless also matched by the denylist""" + ip_denylist_regex: NotRequired[str] + r"""Messages from matched IP addresses will be ignored. This takes precedence over the allowlist.""" + metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] + r"""Fields to add to every event. May be overridden by fields added at the token or request level.""" + allowed_indexes: NotRequired[List[str]] + r"""List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level.""" + access_control_allow_origin: NotRequired[List[str]] + r"""HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards.""" + access_control_allow_headers: NotRequired[List[str]] + r"""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: 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] + r"""Binds 'streamtags' to a variable 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_hec_api: NotRequired[str] + r"""Binds 'hecAPI' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'hecAPI' at runtime.""" + template_allowed_indexes: NotRequired[str] + r"""Binds 'allowedIndexes' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'allowedIndexes' at runtime.""" + template_access_control_allow_origin: NotRequired[str] + r"""Binds 'accessControlAllowOrigin' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowOrigin' at runtime.""" + template_access_control_allow_headers: NotRequired[str] + r"""Binds 'accessControlAllowHeaders' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowHeaders' at runtime.""" + + +class CreateInputSystemByPackInputSysdigHec(BaseModel): + 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 + r"""Port to listen on""" + + hec_api: Annotated[str, pydantic.Field(alias="hecAPI")] + 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""" + + send_to_routes: Annotated[Optional[bool], pydantic.Field(alias="sendToRoutes")] = ( + None + ) + r"""Select whether to send data to Routes, or directly to Destinations.""" + + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + + pq_enabled: Annotated[Optional[bool], pydantic.Field(alias="pqEnabled")] = None + r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" + + streamtags: Optional[List[str]] = None + r"""Metadata tags used for categorization and filtering.""" + + connections: Optional[List[ConnectionConfInputCollection]] = None + r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" + + pq: Optional[PqType] = None + + auth_tokens: Annotated[ + Optional[List[AuthTokenConfInputCloudflareHec]], + pydantic.Field(alias="authTokens"), + ] = None + r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" + + tls: Optional[TLSSettingsServerSideType] = None + + max_active_req: Annotated[Optional[float], pydantic.Field(alias="maxActiveReq")] = ( + None + ) + r"""Maximum number of active requests allowed per Worker Process. Set to 0 for unlimited. Caution: Increasing the limit above the default value, or setting it to unlimited, may degrade performance and reduce throughput.""" + + max_requests_per_socket: Annotated[ + Optional[int], pydantic.Field(alias="maxRequestsPerSocket") + ] = None + r"""Maximum number of requests per socket before @{product} instructs the client to close the connection. Default is 0 (unlimited).""" + + enable_proxy_header: Annotated[ + Optional[bool], pydantic.Field(alias="enableProxyHeader") + ] = None + r"""Extract the client IP and port from PROXY protocol v1/v2. When enabled, the X-Forwarded-For header is ignored. Disable to use the X-Forwarded-For header for client IP extraction.""" + + capture_headers: Annotated[ + Optional[bool], pydantic.Field(alias="captureHeaders") + ] = None + r"""Add request headers to events, in the __headers field""" + + activity_log_sample_rate: Annotated[ + Optional[float], pydantic.Field(alias="activityLogSampleRate") + ] = None + r"""How often request activity is logged at the `info` level. A value of 1 would log every request, 10 every 10th request, etc.""" + + request_timeout: Annotated[ + Optional[float], pydantic.Field(alias="requestTimeout") + ] = None + r"""How long to wait for an incoming request to complete before aborting it. Use 0 to disable.""" + + socket_timeout: Annotated[ + Optional[float], pydantic.Field(alias="socketTimeout") + ] = None + r"""How long @{product} should wait before assuming that an inactive socket has timed out. To wait forever, set to 0.""" + + keep_alive_timeout: Annotated[ + Optional[float], pydantic.Field(alias="keepAliveTimeout") + ] = None + r"""After the last response is sent, @{product} will wait this long for additional data before closing the socket connection. Minimum 1 second, maximum 600 seconds (10 minutes).""" + + ip_allowlist_regex: Annotated[ + Optional[str], pydantic.Field(alias="ipAllowlistRegex") + ] = None + r"""Messages from matched IP addresses will be processed, unless also matched by the denylist""" + + ip_denylist_regex: Annotated[ + Optional[str], pydantic.Field(alias="ipDenylistRegex") + ] = None + r"""Messages from matched IP addresses will be ignored. This takes precedence over the allowlist.""" + + metadata: Optional[List[MetadataConfInputCollection]] = None + r"""Fields to add to every event. May be overridden by fields added at the token or request level.""" + + allowed_indexes: Annotated[ + Optional[List[str]], pydantic.Field(alias="allowedIndexes") + ] = None + r"""List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level.""" + + access_control_allow_origin: Annotated[ + Optional[List[str]], pydantic.Field(alias="accessControlAllowOrigin") + ] = None + r"""HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards.""" + + access_control_allow_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="accessControlAllowHeaders") + ] = None + r"""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: Annotated[ + Optional[bool], pydantic.Field(alias="emitTokenMetrics") + ] = None + 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") + ] = None + 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: 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_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_hec_api: Annotated[ + Optional[str], pydantic.Field(alias="__template_hecAPI") ] = 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 'hecAPI' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'hecAPI' at runtime.""" - template_workspace_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_workspaceId") + template_allowed_indexes: Annotated[ + Optional[str], pydantic.Field(alias="__template_allowedIndexes") ] = 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.""" + r"""Binds 'allowedIndexes' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'allowedIndexes' at runtime.""" - template_organization_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_organizationId") + template_access_control_allow_origin: Annotated[ + Optional[str], pydantic.Field(alias="__template_accessControlAllowOrigin") ] = None - r"""Binds 'organizationId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'organizationId' at runtime.""" - - @field_serializer("account_type") - def serialize_account_type(self, value): - if isinstance(value, str): - try: - return models.CreateInputSystemByPackAccountType(value) - except ValueError: - return value - return value + r"""Binds 'accessControlAllowOrigin' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowOrigin' at runtime.""" - @field_serializer("log_level") - def serialize_log_level(self, value): - if isinstance(value, str): - try: - return models.LogLevelOptionsContentConfigItemsDebugError(value) - except ValueError: - return value - return value + template_access_control_allow_headers: Annotated[ + Optional[str], pydantic.Field(alias="__template_accessControlAllowHeaders") + ] = None + r"""Binds 'accessControlAllowHeaders' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowHeaders' at runtime.""" @model_serializer(mode="wrap") def serialize_model(self, handler): @@ -827,34 +1475,32 @@ def serialize_model(self, handler): "streamtags", "connections", "pq", - "apiKey", - "earliest", - "latest", - "jobTimeout", - "logLevel", - "maxPages", - "stateTracking", + "authTokens", + "tls", + "maxActiveReq", + "maxRequestsPerSocket", + "enableProxyHeader", + "captureHeaders", + "activityLogSampleRate", "requestTimeout", - "keepAliveTime", - "maxMissedKeepAlives", - "ttl", - "ignoreGroupJobsLimit", + "socketTimeout", + "keepAliveTimeout", + "ipAllowlistRegex", + "ipDenylistRegex", "metadata", - "breakerRulesets", - "staleChannelFlushMs", - "retryRules", + "allowedIndexes", + "accessControlAllowOrigin", + "accessControlAllowHeaders", + "emitTokenMetrics", "description", - "workspaceId", - "workspaceEventTypes", - "organizationId", - "organizationEventTypes", - "stateUpdateExpression", - "stateMergeExpression", - "manageState", "__template_environment", "__template_streamtags", - "__template_workspaceId", - "__template_organizationId", + "__template_host", + "__template_port", + "__template_hecAPI", + "__template_allowedIndexes", + "__template_accessControlAllowOrigin", + "__template_accessControlAllowHeaders", ] ) serialized = handler(self) @@ -872,93 +1518,9 @@ def serialize_model(self, handler): class CreateInputSystemByPackTypeCloudflareHec(str, Enum): - CLOUDFLARE_HEC = "cloudflare_hec" - - -class CreateInputSystemByPackAuthenticationMethodCloudflareHec( - str, Enum, metaclass=utils.OpenEnumMeta -): - r"""Select Secret to use a text secret to authenticate""" - - SECRET = "secret" - - -class CreateInputSystemByPackAuthTokenCloudflareHecTypedDict(TypedDict): - auth_type: NotRequired[CreateInputSystemByPackAuthenticationMethodCloudflareHec] - r"""Select Secret to use a text secret to authenticate""" - token_secret: NotRequired[str] - r"""Select or create a stored text secret""" - token: NotRequired[str] - r"""Shared secret to be provided by any client (Authorization: )""" - enabled: NotRequired[bool] - description: NotRequired[str] - allowed_indexes_at_token: NotRequired[List[str]] - r"""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: NotRequired[List[MetadataConfInputCollectionTypedDict]] - r"""Fields to add to events referencing this token""" - - -class CreateInputSystemByPackAuthTokenCloudflareHec(BaseModel): - auth_type: Annotated[ - Optional[CreateInputSystemByPackAuthenticationMethodCloudflareHec], - pydantic.Field(alias="authType"), - ] = None - r"""Select Secret to use a text secret to authenticate""" - - token_secret: Annotated[Optional[str], pydantic.Field(alias="tokenSecret")] = None - r"""Select or create a stored text secret""" - - token: Optional[str] = None - r"""Shared secret to be provided by any client (Authorization: )""" - - enabled: Optional[bool] = None - - description: Optional[str] = None - - allowed_indexes_at_token: Annotated[ - Optional[List[str]], pydantic.Field(alias="allowedIndexesAtToken") - ] = None - r"""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: Optional[List[MetadataConfInputCollection]] = None - r"""Fields to add to events referencing this token""" - - @field_serializer("auth_type") - def serialize_auth_type(self, value): - if isinstance(value, str): - try: - return models.CreateInputSystemByPackAuthenticationMethodCloudflareHec( - value - ) - except ValueError: - return value - return value - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "authType", - "tokenSecret", - "token", - "enabled", - "description", - "allowedIndexesAtToken", - "metadata", - ] - ) - 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 + r"""Source type identifier.""" - return m + CLOUDFLARE_HEC = "cloudflare_hec" class CreateInputSystemByPackTLSSettingsServerSideTypedDict(TypedDict): @@ -1079,6 +1641,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 @@ -1086,6 +1649,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] @@ -1095,13 +1659,11 @@ class CreateInputSystemByPackInputCloudflareHecTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] - auth_tokens: NotRequired[ - List[CreateInputSystemByPackAuthTokenCloudflareHecTypedDict] - ] + auth_tokens: NotRequired[List[AuthTokenConfInputCloudflareHecTypedDict]] r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" tls: NotRequired[CreateInputSystemByPackTLSSettingsServerSideTypedDict] max_active_req: NotRequired[float] @@ -1128,17 +1690,18 @@ class CreateInputSystemByPackInputCloudflareHecTypedDict(TypedDict): r"""Fields to add to every event. May be overridden by fields added at the token or request level.""" allowed_indexes: NotRequired[List[str]] r"""List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level.""" - breaker_rulesets: NotRequired[List[str]] - r"""A list of event-breaking rulesets that will be applied, in order, to the input data stream""" - 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""" access_control_allow_origin: NotRequired[List[str]] r"""HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards.""" access_control_allow_headers: NotRequired[List[str]] r"""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: NotRequired[bool] r"""Emit per-token (.http.perToken) and summary (.http.summary) request metrics""" + breaker_rulesets: NotRequired[List[str]] + r"""A list of event-breaking rulesets that will be applied, in order, to the input data stream""" + 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] @@ -1162,6 +1725,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).""" @@ -1173,6 +1737,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""" @@ -1189,7 +1754,7 @@ class CreateInputSystemByPackInputCloudflareHec(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -1197,7 +1762,7 @@ class CreateInputSystemByPackInputCloudflareHec(BaseModel): pq: Optional[PqType] = None auth_tokens: Annotated[ - Optional[List[CreateInputSystemByPackAuthTokenCloudflareHec]], + Optional[List[AuthTokenConfInputCloudflareHec]], pydantic.Field(alias="authTokens"), ] = None r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" @@ -1262,16 +1827,6 @@ class CreateInputSystemByPackInputCloudflareHec(BaseModel): ] = None r"""List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level.""" - breaker_rulesets: Annotated[ - Optional[List[str]], pydantic.Field(alias="breakerRulesets") - ] = None - r"""A list of event-breaking rulesets that will be applied, in order, to the input data stream""" - - stale_channel_flush_ms: Annotated[ - Optional[float], pydantic.Field(alias="staleChannelFlushMs") - ] = None - 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""" - access_control_allow_origin: Annotated[ Optional[List[str]], pydantic.Field(alias="accessControlAllowOrigin") ] = None @@ -1287,7 +1842,18 @@ class CreateInputSystemByPackInputCloudflareHec(BaseModel): ] = None r"""Emit per-token (.http.perToken) and summary (.http.summary) request metrics""" + breaker_rulesets: Annotated[ + Optional[List[str]], pydantic.Field(alias="breakerRulesets") + ] = None + r"""A list of event-breaking rulesets that will be applied, in order, to the input data stream""" + + stale_channel_flush_ms: Annotated[ + Optional[float], pydantic.Field(alias="staleChannelFlushMs") + ] = None + 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") @@ -1355,11 +1921,11 @@ def serialize_model(self, handler): "ipDenylistRegex", "metadata", "allowedIndexes", - "breakerRulesets", - "staleChannelFlushMs", "accessControlAllowOrigin", "accessControlAllowHeaders", "emitTokenMetrics", + "breakerRulesets", + "staleChannelFlushMs", "description", "__template_environment", "__template_streamtags", @@ -1386,6 +1952,8 @@ def serialize_model(self, handler): class CreateInputSystemByPackTypeZscalerHec(str, Enum): + r"""Source type identifier.""" + ZSCALER_HEC = "zscaler_hec" @@ -1468,6 +2036,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 @@ -1475,6 +2044,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] @@ -1484,7 +2054,7 @@ class CreateInputSystemByPackInputZscalerHecTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -1515,15 +2085,16 @@ class CreateInputSystemByPackInputZscalerHecTypedDict(TypedDict): r"""Fields to add to every event. May be overridden by fields added at the token or request level.""" allowed_indexes: NotRequired[List[str]] r"""List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level.""" - hec_acks: NotRequired[bool] - r"""Whether to enable Zscaler HEC acknowledgements""" access_control_allow_origin: NotRequired[List[str]] - r"""Optionally, list HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards.""" + r"""HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards.""" access_control_allow_headers: NotRequired[List[str]] - r"""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.""" + r"""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: NotRequired[bool] - r"""Enable to emit per-token (.http.perToken) and summary (.http.summary) request metrics""" + r"""Emit per-token (.http.perToken) and summary (.http.summary) request metrics""" + 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] @@ -1534,6 +2105,12 @@ class CreateInputSystemByPackInputZscalerHecTypedDict(TypedDict): 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_hec_api: NotRequired[str] r"""Binds 'hecAPI' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'hecAPI' at runtime.""" + template_allowed_indexes: NotRequired[str] + r"""Binds 'allowedIndexes' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'allowedIndexes' at runtime.""" + template_access_control_allow_origin: NotRequired[str] + r"""Binds 'accessControlAllowOrigin' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowOrigin' at runtime.""" + template_access_control_allow_headers: NotRequired[str] + r"""Binds 'accessControlAllowHeaders' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowHeaders' at runtime.""" class CreateInputSystemByPackInputZscalerHec(BaseModel): @@ -1541,6 +2118,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).""" @@ -1552,6 +2130,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""" @@ -1568,7 +2147,7 @@ class CreateInputSystemByPackInputZscalerHec(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -1641,25 +2220,26 @@ class CreateInputSystemByPackInputZscalerHec(BaseModel): ] = None r"""List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level.""" - hec_acks: Annotated[Optional[bool], pydantic.Field(alias="hecAcks")] = None - r"""Whether to enable Zscaler HEC acknowledgements""" - access_control_allow_origin: Annotated[ Optional[List[str]], pydantic.Field(alias="accessControlAllowOrigin") ] = None - r"""Optionally, list HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards.""" + r"""HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards.""" access_control_allow_headers: Annotated[ Optional[List[str]], pydantic.Field(alias="accessControlAllowHeaders") ] = None - r"""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.""" + r"""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: Annotated[ Optional[bool], pydantic.Field(alias="emitTokenMetrics") ] = None - r"""Enable to emit per-token (.http.perToken) and summary (.http.summary) request metrics""" + r"""Emit per-token (.http.perToken) and summary (.http.summary) request metrics""" + + hec_acks: Annotated[Optional[bool], pydantic.Field(alias="hecAcks")] = None + 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") @@ -1686,6 +2266,21 @@ class CreateInputSystemByPackInputZscalerHec(BaseModel): ] = None r"""Binds 'hecAPI' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'hecAPI' at runtime.""" + template_allowed_indexes: Annotated[ + Optional[str], pydantic.Field(alias="__template_allowedIndexes") + ] = None + r"""Binds 'allowedIndexes' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'allowedIndexes' at runtime.""" + + template_access_control_allow_origin: Annotated[ + Optional[str], pydantic.Field(alias="__template_accessControlAllowOrigin") + ] = None + r"""Binds 'accessControlAllowOrigin' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowOrigin' at runtime.""" + + template_access_control_allow_headers: Annotated[ + Optional[str], pydantic.Field(alias="__template_accessControlAllowHeaders") + ] = None + r"""Binds 'accessControlAllowHeaders' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowHeaders' at runtime.""" + @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( @@ -1712,16 +2307,19 @@ def serialize_model(self, handler): "ipDenylistRegex", "metadata", "allowedIndexes", - "hecAcks", "accessControlAllowOrigin", "accessControlAllowHeaders", "emitTokenMetrics", + "hecAcks", "description", "__template_environment", "__template_streamtags", "__template_host", "__template_port", "__template_hecAPI", + "__template_allowedIndexes", + "__template_accessControlAllowOrigin", + "__template_accessControlAllowHeaders", ] ) serialized = handler(self) @@ -1796,6 +2394,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] @@ -1805,7 +2404,7 @@ class CreateInputSystemByPackInputServicenowTableTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -1847,6 +2446,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] @@ -1909,6 +2509,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""" @@ -1925,7 +2526,7 @@ class CreateInputSystemByPackInputServicenowTable(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -2015,6 +2616,7 @@ class CreateInputSystemByPackInputServicenowTable(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" credentials_secret: Annotated[ Optional[str], pydantic.Field(alias="credentialsSecret") @@ -2223,6 +2825,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] @@ -2232,7 +2835,7 @@ class CreateInputSystemByPackInputSecurityLakeTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -2277,6 +2880,10 @@ class CreateInputSystemByPackInputSecurityLakeTypedDict(TypedDict): 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).""" enable_sqs_assume_role: NotRequired[bool] r"""Use Assume Role credentials when accessing Amazon SQS""" + shared_credentials: NotRequired[bool] + r"""Use the same credential settings for S3 and SQS""" + shared_assume_role_arn: NotRequired[bool] + r"""Use the same settings for S3 and SQS""" preprocess: NotRequired[PreprocessTypeTypedDict] metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" @@ -2290,9 +2897,21 @@ 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""" + sqs_assume_role_arn: NotRequired[str] + r"""Amazon Resource Name (ARN) of the role to assume""" + sqs_assume_role_external_id: NotRequired[str] + r"""External ID to use when assuming role""" + sqs_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).""" + sqs_aws_authentication_method: NotRequired[SqsAuthenticationMethodOptions] + r"""Choose Auto to use IAM roles""" + sqs_aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" + sqs_aws_secret_key: NotRequired[str] tag_after_processing: NotRequired[TagAfterProcessingOptions] processed_tag_key: NotRequired[str] r"""The key for the S3 object tag applied after processing. This field accepts an expression for dynamic generation.""" @@ -2318,6 +2937,12 @@ class CreateInputSystemByPackInputSecurityLakeTypedDict(TypedDict): 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_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_sqs_assume_role_arn: NotRequired[str] + r"""Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime.""" + template_sqs_assume_role_external_id: NotRequired[str] + r"""Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime.""" + template_sqs_aws_secret_key: NotRequired[str] + r"""Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime.""" class CreateInputSystemByPackInputSecurityLake(BaseModel): @@ -2330,6 +2955,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""" @@ -2346,7 +2972,7 @@ class CreateInputSystemByPackInputSecurityLake(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -2448,6 +3074,16 @@ class CreateInputSystemByPackInputSecurityLake(BaseModel): ] = None r"""Use Assume Role credentials when accessing Amazon SQS""" + shared_credentials: Annotated[ + Optional[bool], pydantic.Field(alias="sharedCredentials") + ] = None + r"""Use the same credential settings for S3 and SQS""" + + shared_assume_role_arn: Annotated[ + Optional[bool], pydantic.Field(alias="sharedAssumeRoleArn") + ] = None + r"""Use the same settings for S3 and SQS""" + preprocess: Optional[PreprocessType] = None metadata: Optional[List[MetadataConfInputCollection]] = None @@ -2471,13 +3107,44 @@ class CreateInputSystemByPackInputSecurityLake(BaseModel): encoding: Optional[str] = None 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 + 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""" + + sqs_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="SQSAssumeRoleArn") + ] = None + r"""Amazon Resource Name (ARN) of the role to assume""" + + sqs_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="SQSAssumeRoleExternalId") + ] = None + r"""External ID to use when assuming role""" + + sqs_duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="SQSDurationSeconds") + ] = 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_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None + sqs_aws_authentication_method: Annotated[ + Optional[SqsAuthenticationMethodOptions], + pydantic.Field(alias="SQSAwsAuthenticationMethod"), + ] = None + r"""Choose Auto to use IAM roles""" - aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None + sqs_aws_secret: Annotated[Optional[str], pydantic.Field(alias="SQSAwsSecret")] = ( + None + ) r"""Select or create a stored secret that references your access key and secret key""" + sqs_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="SQSAwsSecretKey") + ] = None + tag_after_processing: Annotated[ Optional[TagAfterProcessingOptions], pydantic.Field(alias="tagAfterProcessing") ] = None @@ -2542,6 +3209,21 @@ class CreateInputSystemByPackInputSecurityLake(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.""" + template_sqs_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAssumeRoleArn") + ] = None + r"""Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime.""" + + template_sqs_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAssumeRoleExternalId") + ] = None + r"""Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime.""" + + template_sqs_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAwsSecretKey") + ] = None + r"""Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime.""" + @field_serializer("aws_authentication_method") def serialize_aws_authentication_method(self, value): if isinstance(value, str): @@ -2551,6 +3233,15 @@ def serialize_aws_authentication_method(self, value): return value return value + @field_serializer("sqs_aws_authentication_method") + def serialize_sqs_aws_authentication_method(self, value): + if isinstance(value, str): + try: + return models.SqsAuthenticationMethodOptions(value) + except ValueError: + return value + return value + @field_serializer("tag_after_processing") def serialize_tag_after_processing(self, value): if isinstance(value, str): @@ -2593,6 +3284,8 @@ def serialize_model(self, handler): "assumeRoleExternalId", "durationSeconds", "enableSQSAssumeRole", + "sharedCredentials", + "sharedAssumeRoleArn", "preprocess", "metadata", "parquetChunkSizeMB", @@ -2603,6 +3296,12 @@ def serialize_model(self, handler): "description", "awsApiKey", "awsSecret", + "SQSAssumeRoleArn", + "SQSAssumeRoleExternalId", + "SQSDurationSeconds", + "SQSAwsAuthenticationMethod", + "SQSAwsSecret", + "SQSAwsSecretKey", "tagAfterProcessing", "processedTagKey", "processedTagValue", @@ -2616,6 +3315,9 @@ def serialize_model(self, handler): "__template_assumeRoleArn", "__template_assumeRoleExternalId", "__template_awsApiKey", + "__template_SQSAssumeRoleArn", + "__template_SQSAssumeRoleExternalId", + "__template_SQSAwsSecretKey", ] ) serialized = handler(self) @@ -2645,6 +3347,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] @@ -2654,7 +3357,7 @@ class CreateInputSystemByPackInputNetflowTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -2677,6 +3380,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] @@ -2700,6 +3404,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""" @@ -2716,7 +3421,7 @@ class CreateInputSystemByPackInputNetflow(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -2763,6 +3468,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") @@ -2827,6 +3533,8 @@ def serialize_model(self, handler): class CreateInputSystemByPackTypeWizWebhook(str, Enum): + r"""Source type identifier.""" + WIZ_WEBHOOK = "wiz_webhook" @@ -2834,11 +3542,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] @@ -2848,7 +3558,7 @@ class CreateInputSystemByPackInputWizWebhookTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -2890,6 +3600,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] @@ -2909,6 +3620,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).""" @@ -2917,6 +3629,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""" @@ -2933,7 +3646,7 @@ class CreateInputSystemByPackInputWizWebhook(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -3032,6 +3745,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") @@ -3151,7 +3865,9 @@ class CreateInputSystemByPackLogLevelOpenai(str, Enum, metaclass=utils.OpenEnumM class CreateInputSystemByPackContentConfigInputTypedDict(TypedDict): - request_params: List[RequestParamConfInputOpenaiTypedDict] + request_params: List[ + RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict + ] r"""Query-string parameters to send with this endpoint""" pagination_type: CreateInputSystemByPackPaginationType cron_schedule: str @@ -3186,7 +3902,8 @@ class CreateInputSystemByPackContentConfigInputTypedDict(TypedDict): class CreateInputSystemByPackContentConfigInput(BaseModel): request_params: Annotated[ - List[RequestParamConfInputOpenai], pydantic.Field(alias="requestParams") + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecret], + pydantic.Field(alias="requestParams"), ] r"""Query-string parameters to send with this endpoint""" @@ -3320,6 +4037,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] @@ -3329,7 +4047,7 @@ class CreateInputSystemByPackInputOpenaiTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -3352,6 +4070,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] @@ -3377,6 +4096,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""" @@ -3393,7 +4113,7 @@ class CreateInputSystemByPackInputOpenai(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -3443,6 +4163,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") @@ -3651,6 +4372,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] @@ -3660,7 +4382,7 @@ class CreateInputSystemByPackInputWizTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -3686,6 +4408,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] @@ -3723,6 +4446,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""" @@ -3739,7 +4463,7 @@ class CreateInputSystemByPackInputWiz(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -3798,6 +4522,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""" @@ -3930,6 +4655,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] @@ -3939,7 +4665,7 @@ class CreateInputSystemByPackInputJournalFilesTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -3955,6 +4681,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] @@ -3974,6 +4701,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""" @@ -3990,7 +4718,7 @@ class CreateInputSystemByPackInputJournalFiles(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -4017,6 +4745,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") @@ -4078,6 +4807,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] @@ -4087,7 +4817,7 @@ class CreateInputSystemByPackInputRawUDPTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -4104,6 +4834,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] @@ -4127,6 +4858,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""" @@ -4143,7 +4875,7 @@ class CreateInputSystemByPackInputRawUDP(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -4179,6 +4911,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") @@ -4259,8 +4992,9 @@ class CreateInputSystemByPackInputAppleUnifiedLogsTypedDict(TypedDict): r"""Unique ID for this input""" type: CreateInputSystemByPackTypeAppleUnifiedLogs predicate: str - r"""String to filter log entries, in NSPredicate format (e.g., subsystem == \"com.apple.security\" or process == \"kernel\"). See [Predicate format reference](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/Predicates/AdditionalChapters/Introduction.html) for more information.""" + 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] @@ -4270,7 +5004,7 @@ class CreateInputSystemByPackInputAppleUnifiedLogsTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -4279,6 +5013,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] @@ -4292,9 +5027,10 @@ class CreateInputSystemByPackInputAppleUnifiedLogs(BaseModel): type: CreateInputSystemByPackTypeAppleUnifiedLogs predicate: str - r"""String to filter log entries, in NSPredicate format (e.g., subsystem == \"com.apple.security\" or process == \"kernel\"). See [Predicate format reference](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/Predicates/AdditionalChapters/Introduction.html) for more information.""" + 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""" @@ -4311,7 +5047,7 @@ class CreateInputSystemByPackInputAppleUnifiedLogs(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -4328,6 +5064,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") @@ -4412,6 +5149,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] @@ -4421,7 +5159,7 @@ class CreateInputSystemByPackInputWinEventLogsTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -4437,9 +5175,10 @@ class CreateInputSystemByPackInputWinEventLogsTypedDict(TypedDict): r"""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: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" - max_event_bytes: NotRequired[float] + 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] @@ -4460,6 +5199,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""" @@ -4476,7 +5216,7 @@ class CreateInputSystemByPackInputWinEventLogs(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -4509,12 +5249,13 @@ class CreateInputSystemByPackInputWinEventLogs(BaseModel): metadata: Optional[List[MetadataConfInputCollection]] = None r"""Fields to add to events from this input""" - max_event_bytes: Annotated[ - Optional[float], pydantic.Field(alias="maxEventBytes") - ] = None + max_event_bytes: Annotated[Optional[int], pydantic.Field(alias="maxEventBytes")] = ( + None + ) 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") @@ -4896,6 +5637,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] @@ -4905,7 +5647,7 @@ class CreateInputSystemByPackInputWefTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -4941,6 +5683,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] @@ -4973,6 +5716,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""" @@ -4989,7 +5733,7 @@ class CreateInputSystemByPackInputWef(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -5069,6 +5813,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") @@ -5321,6 +6066,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] @@ -5330,7 +6076,7 @@ class CreateInputSystemByPackInputAppscopeTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -5359,6 +6105,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] @@ -5391,6 +6138,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""" @@ -5407,7 +6155,7 @@ class CreateInputSystemByPackInputAppscope(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -5475,6 +6223,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).""" @@ -5596,6 +6345,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] @@ -5605,7 +6355,7 @@ class CreateInputSystemByPackInputTCPTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -5632,6 +6382,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] @@ -5661,6 +6412,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""" @@ -5677,7 +6429,7 @@ class CreateInputSystemByPackInputTCP(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -5737,6 +6489,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.""" @@ -5845,6 +6598,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] @@ -5854,7 +6608,7 @@ class CreateInputSystemByPackInputFileTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -5889,6 +6643,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] @@ -5915,6 +6670,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""" @@ -5931,7 +6687,7 @@ class CreateInputSystemByPackInputFile(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -5994,6 +6750,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/).""" @@ -6106,6 +6863,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] @@ -6115,7 +6873,7 @@ class CreateInputSystemByPackInputSyslogSyslog2TypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -6157,6 +6915,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] @@ -6186,6 +6945,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""" @@ -6202,7 +6962,7 @@ class CreateInputSystemByPackInputSyslogSyslog2(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -6298,6 +7058,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") @@ -6402,6 +7163,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] @@ -6411,7 +7173,7 @@ class CreateInputSystemByPackInputSyslogSyslog1TypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -6453,6 +7215,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] @@ -6482,6 +7245,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""" @@ -6498,7 +7262,7 @@ class CreateInputSystemByPackInputSyslogSyslog1(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -6594,6 +7358,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") @@ -6725,6 +7490,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] @@ -6734,7 +7500,7 @@ class CreateInputSystemByPackInputSqsTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -6770,6 +7536,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""" @@ -6814,6 +7581,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""" @@ -6830,7 +7598,7 @@ class CreateInputSystemByPackInputSqs(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -6906,6 +7674,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 @@ -7062,6 +7831,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] @@ -7071,7 +7841,7 @@ class CreateInputSystemByPackInputModelDrivenTelemetryTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -7083,6 +7853,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] @@ -7106,6 +7877,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""" @@ -7122,7 +7894,7 @@ class CreateInputSystemByPackInputModelDrivenTelemetry(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -7145,6 +7917,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") @@ -7204,6 +7977,8 @@ def serialize_model(self, handler): class CreateInputSystemByPackTypeOpenTelemetry(str, Enum): + r"""Source type identifier.""" + OPEN_TELEMETRY = "open_telemetry" @@ -7342,11 +8117,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] @@ -7356,7 +8133,7 @@ class CreateInputSystemByPackInputOpenTelemetryTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -7394,6 +8171,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] @@ -7423,6 +8201,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).""" @@ -7431,6 +8210,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""" @@ -7447,7 +8227,7 @@ class CreateInputSystemByPackInputOpenTelemetry(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -7536,6 +8316,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 @@ -7791,6 +8572,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] @@ -7800,7 +8582,7 @@ class CreateInputSystemByPackInputSnmpTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -7819,6 +8601,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] @@ -7842,6 +8625,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""" @@ -7858,7 +8642,7 @@ class CreateInputSystemByPackInputSnmp(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -7900,6 +8684,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") @@ -7972,6 +8757,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] @@ -7981,7 +8767,7 @@ class CreateInputSystemByPackInputS3InventoryTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -8026,6 +8812,10 @@ class CreateInputSystemByPackInputS3InventoryTypedDict(TypedDict): 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).""" enable_sqs_assume_role: NotRequired[bool] r"""Use Assume Role credentials when accessing Amazon SQS""" + shared_credentials: NotRequired[bool] + r"""Use the same credential settings for S3 and SQS""" + shared_assume_role_arn: NotRequired[bool] + r"""Use the same settings for S3 and SQS""" preprocess: NotRequired[PreprocessTypeTypedDict] metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" @@ -8043,9 +8833,21 @@ 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""" + sqs_assume_role_arn: NotRequired[str] + r"""Amazon Resource Name (ARN) of the role to assume""" + sqs_assume_role_external_id: NotRequired[str] + r"""External ID to use when assuming role""" + sqs_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).""" + sqs_aws_authentication_method: NotRequired[SqsAuthenticationMethodOptions] + r"""Choose Auto to use IAM roles""" + sqs_aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" + sqs_aws_secret_key: NotRequired[str] tag_after_processing: NotRequired[TagAfterProcessingOptions] processed_tag_key: NotRequired[str] r"""The key for the S3 object tag applied after processing. This field accepts an expression for dynamic generation.""" @@ -8071,6 +8873,12 @@ class CreateInputSystemByPackInputS3InventoryTypedDict(TypedDict): 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_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_sqs_assume_role_arn: NotRequired[str] + r"""Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime.""" + template_sqs_assume_role_external_id: NotRequired[str] + r"""Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime.""" + template_sqs_aws_secret_key: NotRequired[str] + r"""Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime.""" class CreateInputSystemByPackInputS3Inventory(BaseModel): @@ -8083,6 +8891,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""" @@ -8099,7 +8908,7 @@ class CreateInputSystemByPackInputS3Inventory(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -8201,6 +9010,16 @@ class CreateInputSystemByPackInputS3Inventory(BaseModel): ] = None r"""Use Assume Role credentials when accessing Amazon SQS""" + shared_credentials: Annotated[ + Optional[bool], pydantic.Field(alias="sharedCredentials") + ] = None + r"""Use the same credential settings for S3 and SQS""" + + shared_assume_role_arn: Annotated[ + Optional[bool], pydantic.Field(alias="sharedAssumeRoleArn") + ] = None + r"""Use the same settings for S3 and SQS""" + preprocess: Optional[PreprocessType] = None metadata: Optional[List[MetadataConfInputCollection]] = None @@ -8237,12 +9056,43 @@ 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 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""" + sqs_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="SQSAssumeRoleArn") + ] = None + r"""Amazon Resource Name (ARN) of the role to assume""" + + sqs_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="SQSAssumeRoleExternalId") + ] = None + r"""External ID to use when assuming role""" + + sqs_duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="SQSDurationSeconds") + ] = 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).""" + + sqs_aws_authentication_method: Annotated[ + Optional[SqsAuthenticationMethodOptions], + pydantic.Field(alias="SQSAwsAuthenticationMethod"), + ] = None + r"""Choose Auto to use IAM roles""" + + sqs_aws_secret: Annotated[Optional[str], pydantic.Field(alias="SQSAwsSecret")] = ( + None + ) + r"""Select or create a stored secret that references your access key and secret key""" + + sqs_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="SQSAwsSecretKey") + ] = None + tag_after_processing: Annotated[ Optional[TagAfterProcessingOptions], pydantic.Field(alias="tagAfterProcessing") ] = None @@ -8307,6 +9157,21 @@ class CreateInputSystemByPackInputS3Inventory(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.""" + template_sqs_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAssumeRoleArn") + ] = None + r"""Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime.""" + + template_sqs_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAssumeRoleExternalId") + ] = None + r"""Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime.""" + + template_sqs_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAwsSecretKey") + ] = None + r"""Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime.""" + @field_serializer("aws_authentication_method") def serialize_aws_authentication_method(self, value): if isinstance(value, str): @@ -8316,6 +9181,15 @@ def serialize_aws_authentication_method(self, value): return value return value + @field_serializer("sqs_aws_authentication_method") + def serialize_sqs_aws_authentication_method(self, value): + if isinstance(value, str): + try: + return models.SqsAuthenticationMethodOptions(value) + except ValueError: + return value + return value + @field_serializer("tag_after_processing") def serialize_tag_after_processing(self, value): if isinstance(value, str): @@ -8358,6 +9232,8 @@ def serialize_model(self, handler): "assumeRoleExternalId", "durationSeconds", "enableSQSAssumeRole", + "sharedCredentials", + "sharedAssumeRoleArn", "preprocess", "metadata", "parquetChunkSizeMB", @@ -8370,6 +9246,12 @@ def serialize_model(self, handler): "description", "awsApiKey", "awsSecret", + "SQSAssumeRoleArn", + "SQSAssumeRoleExternalId", + "SQSDurationSeconds", + "SQSAwsAuthenticationMethod", + "SQSAwsSecret", + "SQSAwsSecretKey", "tagAfterProcessing", "processedTagKey", "processedTagValue", @@ -8383,6 +9265,9 @@ def serialize_model(self, handler): "__template_assumeRoleArn", "__template_assumeRoleExternalId", "__template_awsApiKey", + "__template_SQSAssumeRoleArn", + "__template_SQSAssumeRoleExternalId", + "__template_SQSAwsSecretKey", ] ) serialized = handler(self) @@ -8410,6 +9295,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] @@ -8419,7 +9305,7 @@ class CreateInputSystemByPackInputS3TypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -8464,6 +9350,10 @@ class CreateInputSystemByPackInputS3TypedDict(TypedDict): 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).""" enable_sqs_assume_role: NotRequired[bool] r"""Use Assume Role credentials when accessing Amazon SQS""" + shared_credentials: NotRequired[bool] + r"""Use the same credential settings for S3 and SQS""" + shared_assume_role_arn: NotRequired[bool] + r"""Use the same settings for S3 and SQS""" preprocess: NotRequired[PreprocessTypeTypedDict] metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" @@ -8479,9 +9369,21 @@ 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""" + sqs_assume_role_arn: NotRequired[str] + r"""Amazon Resource Name (ARN) of the role to assume""" + sqs_assume_role_external_id: NotRequired[str] + r"""External ID to use when assuming role""" + sqs_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).""" + sqs_aws_authentication_method: NotRequired[SqsAuthenticationMethodOptions] + r"""Choose Auto to use IAM roles""" + sqs_aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" + sqs_aws_secret_key: NotRequired[str] processed_tag_key: NotRequired[str] r"""The key for the S3 object tag applied after processing. This field accepts an expression for dynamic generation.""" processed_tag_value: NotRequired[str] @@ -8506,6 +9408,12 @@ class CreateInputSystemByPackInputS3TypedDict(TypedDict): 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_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_sqs_assume_role_arn: NotRequired[str] + r"""Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime.""" + template_sqs_assume_role_external_id: NotRequired[str] + r"""Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime.""" + template_sqs_aws_secret_key: NotRequired[str] + r"""Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime.""" class CreateInputSystemByPackInputS3(BaseModel): @@ -8518,6 +9426,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""" @@ -8534,7 +9443,7 @@ class CreateInputSystemByPackInputS3(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -8636,6 +9545,16 @@ class CreateInputSystemByPackInputS3(BaseModel): ] = None r"""Use Assume Role credentials when accessing Amazon SQS""" + shared_credentials: Annotated[ + Optional[bool], pydantic.Field(alias="sharedCredentials") + ] = None + r"""Use the same credential settings for S3 and SQS""" + + shared_assume_role_arn: Annotated[ + Optional[bool], pydantic.Field(alias="sharedAssumeRoleArn") + ] = None + r"""Use the same settings for S3 and SQS""" + preprocess: Optional[PreprocessType] = None metadata: Optional[List[MetadataConfInputCollection]] = None @@ -8665,12 +9584,43 @@ 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 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""" + sqs_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="SQSAssumeRoleArn") + ] = None + r"""Amazon Resource Name (ARN) of the role to assume""" + + sqs_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="SQSAssumeRoleExternalId") + ] = None + r"""External ID to use when assuming role""" + + sqs_duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="SQSDurationSeconds") + ] = 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).""" + + sqs_aws_authentication_method: Annotated[ + Optional[SqsAuthenticationMethodOptions], + pydantic.Field(alias="SQSAwsAuthenticationMethod"), + ] = None + r"""Choose Auto to use IAM roles""" + + sqs_aws_secret: Annotated[Optional[str], pydantic.Field(alias="SQSAwsSecret")] = ( + None + ) + r"""Select or create a stored secret that references your access key and secret key""" + + sqs_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="SQSAwsSecretKey") + ] = None + processed_tag_key: Annotated[ Optional[str], pydantic.Field(alias="processedTagKey") ] = None @@ -8731,6 +9681,21 @@ class CreateInputSystemByPackInputS3(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.""" + template_sqs_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAssumeRoleArn") + ] = None + r"""Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime.""" + + template_sqs_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAssumeRoleExternalId") + ] = None + r"""Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime.""" + + template_sqs_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAwsSecretKey") + ] = None + r"""Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime.""" + @field_serializer("aws_authentication_method") def serialize_aws_authentication_method(self, value): if isinstance(value, str): @@ -8740,6 +9705,15 @@ def serialize_aws_authentication_method(self, value): return value return value + @field_serializer("sqs_aws_authentication_method") + def serialize_sqs_aws_authentication_method(self, value): + if isinstance(value, str): + try: + return models.SqsAuthenticationMethodOptions(value) + except ValueError: + return value + return value + @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( @@ -8773,6 +9747,8 @@ def serialize_model(self, handler): "assumeRoleExternalId", "durationSeconds", "enableSQSAssumeRole", + "sharedCredentials", + "sharedAssumeRoleArn", "preprocess", "metadata", "parquetChunkSizeMB", @@ -8784,6 +9760,12 @@ def serialize_model(self, handler): "description", "awsApiKey", "awsSecret", + "SQSAssumeRoleArn", + "SQSAssumeRoleExternalId", + "SQSDurationSeconds", + "SQSAwsAuthenticationMethod", + "SQSAwsSecret", + "SQSAwsSecretKey", "processedTagKey", "processedTagValue", "__template_environment", @@ -8796,6 +9778,9 @@ def serialize_model(self, handler): "__template_assumeRoleArn", "__template_assumeRoleExternalId", "__template_awsApiKey", + "__template_SQSAssumeRoleArn", + "__template_SQSAssumeRoleExternalId", + "__template_SQSAwsSecretKey", ] ) serialized = handler(self) @@ -8823,6 +9808,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] @@ -8832,7 +9818,7 @@ class CreateInputSystemByPackInputMetricsTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -8852,6 +9838,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] @@ -8874,6 +9861,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""" @@ -8890,7 +9878,7 @@ class CreateInputSystemByPackInputMetrics(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -8929,6 +9917,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") @@ -9006,6 +9995,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] @@ -9015,7 +10005,7 @@ class CreateInputSystemByPackInputCriblmetricsTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -9026,6 +10016,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] @@ -9039,6 +10030,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""" @@ -9055,7 +10047,7 @@ class CreateInputSystemByPackInputCriblmetrics(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -9074,6 +10066,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") @@ -9167,6 +10160,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] @@ -9176,7 +10170,7 @@ class CreateInputSystemByPackInputKinesisTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -9218,6 +10212,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""" @@ -9258,6 +10253,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""" @@ -9274,7 +10270,7 @@ class CreateInputSystemByPackInputKinesis(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -9374,6 +10370,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 @@ -9533,6 +10530,8 @@ def serialize_model(self, handler): class CreateInputSystemByPackTypeHTTPRaw(str, Enum): + r"""Source type identifier.""" + HTTP_RAW = "http_raw" @@ -9540,11 +10539,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] @@ -9554,7 +10555,7 @@ class CreateInputSystemByPackInputHTTPRawTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -9596,6 +10597,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] @@ -9615,6 +10617,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).""" @@ -9623,6 +10626,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""" @@ -9639,7 +10643,7 @@ class CreateInputSystemByPackInputHTTPRaw(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -9738,6 +10742,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") @@ -9846,6 +10851,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] @@ -9855,13 +10861,14 @@ class CreateInputSystemByPackInputDatagenTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] 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] @@ -9877,6 +10884,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""" @@ -9893,7 +10901,7 @@ class CreateInputSystemByPackInputDatagen(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -9904,6 +10912,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") @@ -9948,24 +10957,46 @@ def serialize_model(self, handler): class CreateInputSystemByPackTypeDatadogAgent(str, Enum): + r"""Source type identifier.""" + DATADOG_AGENT = "datadog_agent" +class CreateInputSystemByPackSamplingRuleTypedDict(TypedDict): + service: str + r"""Datadog service name""" + environment: str + r"""Datadog environment name (example: prod, staging)""" + rate: float + r"""Sampling rate for this service/environment combination (0.0–1.0)""" + + +class CreateInputSystemByPackSamplingRule(BaseModel): + service: str + r"""Datadog service name""" + + environment: str + r"""Datadog environment name (example: prod, staging)""" + + rate: float + r"""Sampling rate for this service/environment combination (0.0–1.0)""" + + class CreateInputSystemByPackProxyModeDatadogAgentTypedDict(TypedDict): enabled: bool - r"""Toggle to Yes to send key validation requests from Datadog Agent to the Datadog API. If toggled to No (the default), Stream handles key validation requests by always responding that the key is valid.""" + r"""Forward key validation requests from the Datadog Agent to the Datadog API. If disabled, Stream handles key validation requests locally by always responding that the key is valid.""" reject_unauthorized: NotRequired[bool] - r"""Whether to reject certificates that cannot be verified against a valid CA (e.g., self-signed certificates).""" + r"""Whether to reject certificates that cannot be verified against a valid CA (such as self-signed certificates)""" class CreateInputSystemByPackProxyModeDatadogAgent(BaseModel): enabled: bool - r"""Toggle to Yes to send key validation requests from Datadog Agent to the Datadog API. If toggled to No (the default), Stream handles key validation requests by always responding that the key is valid.""" + r"""Forward key validation requests from the Datadog Agent to the Datadog API. If disabled, Stream handles key validation requests locally by always responding that the key is valid.""" reject_unauthorized: Annotated[ Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = None - r"""Whether to reject certificates that cannot be verified against a valid CA (e.g., self-signed certificates).""" + r"""Whether to reject certificates that cannot be verified against a valid CA (such as self-signed certificates)""" @model_serializer(mode="wrap") def serialize_model(self, handler): @@ -9988,11 +11019,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] @@ -10002,7 +11035,7 @@ class CreateInputSystemByPackInputDatadogAgentTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -10030,11 +11063,16 @@ class CreateInputSystemByPackInputDatadogAgentTypedDict(TypedDict): ip_denylist_regex: NotRequired[str] r"""Messages from matched IP addresses will be ignored. This takes precedence over the allowlist.""" extract_metrics: NotRequired[bool] - r"""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).""" + r"""Extract each incoming metric to multiple events, one per data point. Recommended when sending metrics to a statsd-type output. If sending metrics to DatadogHQ or any destination that accepts arbitrary JSON, leave disabled.""" + sampling_rate: NotRequired[float] + r"""The rate_by_service hint sent to connected tracers as the catch-all sampling rate. Applies to any service/environment not explicitly listed in Per-Service Sampling Rules. 1.0 = keep all traces (default); 0.0 = suggest dropping all.""" + sampling_rules: NotRequired[List[CreateInputSystemByPackSamplingRuleTypedDict]] + r"""Per-service sampling rate hints. Each row maps to a \"service:,env:\" key in the rate_by_service response sent to tracers.""" metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] 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] @@ -10050,6 +11088,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).""" @@ -10058,6 +11097,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""" @@ -10074,7 +11114,7 @@ class CreateInputSystemByPackInputDatadogAgent(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -10141,7 +11181,18 @@ class CreateInputSystemByPackInputDatadogAgent(BaseModel): extract_metrics: Annotated[ Optional[bool], pydantic.Field(alias="extractMetrics") ] = None - r"""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).""" + r"""Extract each incoming metric to multiple events, one per data point. Recommended when sending metrics to a statsd-type output. If sending metrics to DatadogHQ or any destination that accepts arbitrary JSON, leave disabled.""" + + sampling_rate: Annotated[Optional[float], pydantic.Field(alias="samplingRate")] = ( + None + ) + r"""The rate_by_service hint sent to connected tracers as the catch-all sampling rate. Applies to any service/environment not explicitly listed in Per-Service Sampling Rules. 1.0 = keep all traces (default); 0.0 = suggest dropping all.""" + + sampling_rules: Annotated[ + Optional[List[CreateInputSystemByPackSamplingRule]], + pydantic.Field(alias="samplingRules"), + ] = None + r"""Per-service sampling rate hints. Each row maps to a \"service:,env:\" key in the rate_by_service response sent to tracers.""" metadata: Optional[List[MetadataConfInputCollection]] = None r"""Fields to add to events from this input""" @@ -10152,6 +11203,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") @@ -10198,6 +11250,8 @@ def serialize_model(self, handler): "ipAllowlistRegex", "ipDenylistRegex", "extractMetrics", + "samplingRate", + "samplingRules", "metadata", "proxyMode", "description", @@ -10232,6 +11286,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] @@ -10241,7 +11296,7 @@ class CreateInputSystemByPackInputCrowdstrikeTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -10286,6 +11341,10 @@ class CreateInputSystemByPackInputCrowdstrikeTypedDict(TypedDict): 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).""" enable_sqs_assume_role: NotRequired[bool] r"""Use Assume Role credentials when accessing Amazon SQS""" + shared_credentials: NotRequired[bool] + r"""Use the same credential settings for S3 and SQS""" + shared_assume_role_arn: NotRequired[bool] + r"""Use the same settings for S3 and SQS""" preprocess: NotRequired[PreprocessTypeTypedDict] metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" @@ -10295,9 +11354,21 @@ 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""" + sqs_assume_role_arn: NotRequired[str] + r"""Amazon Resource Name (ARN) of the role to assume""" + sqs_assume_role_external_id: NotRequired[str] + r"""External ID to use when assuming role""" + sqs_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).""" + sqs_aws_authentication_method: NotRequired[SqsAuthenticationMethodOptions] + r"""Choose Auto to use IAM roles""" + sqs_aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" + sqs_aws_secret_key: NotRequired[str] tag_after_processing: NotRequired[TagAfterProcessingOptions] processed_tag_key: NotRequired[str] r"""The key for the S3 object tag applied after processing. This field accepts an expression for dynamic generation.""" @@ -10323,6 +11394,12 @@ class CreateInputSystemByPackInputCrowdstrikeTypedDict(TypedDict): 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_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_sqs_assume_role_arn: NotRequired[str] + r"""Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime.""" + template_sqs_assume_role_external_id: NotRequired[str] + r"""Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime.""" + template_sqs_aws_secret_key: NotRequired[str] + r"""Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime.""" class CreateInputSystemByPackInputCrowdstrike(BaseModel): @@ -10335,6 +11412,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""" @@ -10351,7 +11429,7 @@ class CreateInputSystemByPackInputCrowdstrike(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -10453,6 +11531,16 @@ class CreateInputSystemByPackInputCrowdstrike(BaseModel): ] = None r"""Use Assume Role credentials when accessing Amazon SQS""" + shared_credentials: Annotated[ + Optional[bool], pydantic.Field(alias="sharedCredentials") + ] = None + r"""Use the same credential settings for S3 and SQS""" + + shared_assume_role_arn: Annotated[ + Optional[bool], pydantic.Field(alias="sharedAssumeRoleArn") + ] = None + r"""Use the same settings for S3 and SQS""" + preprocess: Optional[PreprocessType] = None metadata: Optional[List[MetadataConfInputCollection]] = None @@ -10467,12 +11555,43 @@ 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 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""" + sqs_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="SQSAssumeRoleArn") + ] = None + r"""Amazon Resource Name (ARN) of the role to assume""" + + sqs_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="SQSAssumeRoleExternalId") + ] = None + r"""External ID to use when assuming role""" + + sqs_duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="SQSDurationSeconds") + ] = 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).""" + + sqs_aws_authentication_method: Annotated[ + Optional[SqsAuthenticationMethodOptions], + pydantic.Field(alias="SQSAwsAuthenticationMethod"), + ] = None + r"""Choose Auto to use IAM roles""" + + sqs_aws_secret: Annotated[Optional[str], pydantic.Field(alias="SQSAwsSecret")] = ( + None + ) + r"""Select or create a stored secret that references your access key and secret key""" + + sqs_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="SQSAwsSecretKey") + ] = None + tag_after_processing: Annotated[ Optional[TagAfterProcessingOptions], pydantic.Field(alias="tagAfterProcessing") ] = None @@ -10537,6 +11656,21 @@ class CreateInputSystemByPackInputCrowdstrike(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.""" + template_sqs_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAssumeRoleArn") + ] = None + r"""Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime.""" + + template_sqs_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAssumeRoleExternalId") + ] = None + r"""Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime.""" + + template_sqs_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAwsSecretKey") + ] = None + r"""Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime.""" + @field_serializer("aws_authentication_method") def serialize_aws_authentication_method(self, value): if isinstance(value, str): @@ -10546,6 +11680,15 @@ def serialize_aws_authentication_method(self, value): return value return value + @field_serializer("sqs_aws_authentication_method") + def serialize_sqs_aws_authentication_method(self, value): + if isinstance(value, str): + try: + return models.SqsAuthenticationMethodOptions(value) + except ValueError: + return value + return value + @field_serializer("tag_after_processing") def serialize_tag_after_processing(self, value): if isinstance(value, str): @@ -10588,6 +11731,8 @@ def serialize_model(self, handler): "assumeRoleExternalId", "durationSeconds", "enableSQSAssumeRole", + "sharedCredentials", + "sharedAssumeRoleArn", "preprocess", "metadata", "checkpointing", @@ -10596,6 +11741,12 @@ def serialize_model(self, handler): "description", "awsApiKey", "awsSecret", + "SQSAssumeRoleArn", + "SQSAssumeRoleExternalId", + "SQSDurationSeconds", + "SQSAwsAuthenticationMethod", + "SQSAwsSecret", + "SQSAwsSecretKey", "tagAfterProcessing", "processedTagKey", "processedTagValue", @@ -10609,6 +11760,9 @@ def serialize_model(self, handler): "__template_assumeRoleArn", "__template_assumeRoleExternalId", "__template_awsApiKey", + "__template_SQSAssumeRoleArn", + "__template_SQSAssumeRoleExternalId", + "__template_SQSAwsSecretKey", ] ) serialized = handler(self) @@ -11089,6 +12243,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] @@ -11098,7 +12253,7 @@ class CreateInputSystemByPackInputWindowsMetricsTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -11113,6 +12268,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] @@ -11126,6 +12282,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""" @@ -11142,7 +12299,7 @@ class CreateInputSystemByPackInputWindowsMetrics(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -11169,6 +12326,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") @@ -11227,6 +12385,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] @@ -11236,7 +12395,7 @@ class CreateInputSystemByPackInputKubeEventsTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -11245,6 +12404,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] @@ -11258,6 +12418,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""" @@ -11274,7 +12435,7 @@ class CreateInputSystemByPackInputKubeEvents(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -11288,6 +12449,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") @@ -11372,6 +12534,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] @@ -11381,7 +12544,7 @@ class CreateInputSystemByPackInputKubeLogsTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -11391,6 +12554,10 @@ class CreateInputSystemByPackInputKubeLogsTypedDict(TypedDict): r"""Add rules to decide which Pods to collect logs from. Logs are collected if no rules are given or if all the rules' expressions evaluate to true.""" timestamps: NotRequired[bool] r"""For use when containers do not emit a timestamp, prefix each line of output with a timestamp. If you enable this setting, you can use the Kubernetes Logs Event Breaker and the kubernetes_logs Pre-processing Pipeline to remove them from the events after the timestamps are extracted.""" + line_buffer_limit: NotRequired[float] + r"""Maximum bytes to buffer while reassembling a single log line. A line that exceeds this size is flushed as-is, either whole or partially. The default is 1048576 (1 MB).""" + lb_disable_assembly: NotRequired[bool] + r"""Internal flag to disable LB worker payload reassembly.""" metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" persistence: NotRequired[DiskSpoolingTypeTypedDict] @@ -11401,6 +12568,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] @@ -11414,6 +12582,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""" @@ -11430,7 +12599,7 @@ class CreateInputSystemByPackInputKubeLogs(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -11446,6 +12615,16 @@ class CreateInputSystemByPackInputKubeLogs(BaseModel): timestamps: Optional[bool] = None r"""For use when containers do not emit a timestamp, prefix each line of output with a timestamp. If you enable this setting, you can use the Kubernetes Logs Event Breaker and the kubernetes_logs Pre-processing Pipeline to remove them from the events after the timestamps are extracted.""" + line_buffer_limit: Annotated[ + Optional[float], pydantic.Field(alias="lineBufferLimit") + ] = None + r"""Maximum bytes to buffer while reassembling a single log line. A line that exceeds this size is flushed as-is, either whole or partially. The default is 1048576 (1 MB).""" + + lb_disable_assembly: Annotated[ + Optional[bool], pydantic.Field(alias="__LBDisableAssembly") + ] = None + r"""Internal flag to disable LB worker payload reassembly.""" + metadata: Optional[List[MetadataConfInputCollection]] = None r"""Fields to add to events from this input""" @@ -11467,6 +12646,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") @@ -11493,6 +12673,8 @@ def serialize_model(self, handler): "interval", "rules", "timestamps", + "lineBufferLimit", + "__LBDisableAssembly", "metadata", "persistence", "breakerRulesets", @@ -11593,6 +12775,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] @@ -11602,7 +12785,7 @@ class CreateInputSystemByPackInputKubeMetricsTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -11618,6 +12801,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] @@ -11631,6 +12815,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""" @@ -11647,7 +12832,7 @@ class CreateInputSystemByPackInputKubeMetrics(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -11676,6 +12861,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") @@ -11924,118 +13110,6 @@ def serialize_model(self, handler): return m -class CreateInputSystemByPackFirewallTypedDict(TypedDict): - r"""Creates events for Firewall rules entries""" - - enable: NotRequired[bool] - - -class CreateInputSystemByPackFirewall(BaseModel): - r"""Creates events for Firewall rules entries""" - - enable: Optional[bool] = None - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["enable"]) - 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 CreateInputSystemByPackServicesTypedDict(TypedDict): - r"""Creates events from the list of services""" - - enable: NotRequired[bool] - - -class CreateInputSystemByPackServices(BaseModel): - r"""Creates events from the list of services""" - - enable: Optional[bool] = None - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["enable"]) - 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 CreateInputSystemByPackListeningPortsTypedDict(TypedDict): - r"""Creates events from list of listening ports""" - - enable: NotRequired[bool] - - -class CreateInputSystemByPackListeningPorts(BaseModel): - r"""Creates events from list of listening ports""" - - enable: Optional[bool] = None - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["enable"]) - 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 CreateInputSystemByPackLoggedInUsersTypedDict(TypedDict): - r"""Creates events from list of logged-in users""" - - enable: NotRequired[bool] - - -class CreateInputSystemByPackLoggedInUsers(BaseModel): - r"""Creates events from list of logged-in users""" - - enable: Optional[bool] = None - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["enable"]) - 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: CreateInputSystemByPackInputOkta.model_rebuild() except NameError: @@ -12053,7 +13127,11 @@ def serialize_model(self, handler): except NameError: pass try: - CreateInputSystemByPackAuthTokenCloudflareHec.model_rebuild() + CreateInputSystemByPackInputUpwindHec.model_rebuild() +except NameError: + pass +try: + CreateInputSystemByPackInputSysdigHec.model_rebuild() except NameError: pass try: diff --git a/src/cribl_control_plane/models/createoutput_outputwebhook_format_2.py b/src/cribl_control_plane/models/createoutput_outputwebhook_format_2.py new file mode 100644 index 000000000..5663881f1 --- /dev/null +++ b/src/cribl_control_plane/models/createoutput_outputwebhook_format_2.py @@ -0,0 +1,18583 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .acknowledgmentsoptions import AcknowledgmentsOptions +from .acknowledgmentsoptionsallleader import AcknowledgmentsOptionsAllLeader +from .authenticationmethodoptions import AuthenticationMethodOptions +from .authenticationmethodoptionsapi import AuthenticationMethodOptionsAPI +from .authenticationmethodoptionsauthtokensitems import ( + AuthenticationMethodOptionsAuthTokensItems, +) +from .authenticationmethodoptionss3collectorconf import ( + AuthenticationMethodOptionsS3CollectorConf, +) +from .authenticationtype import AuthenticationType, AuthenticationTypeTypedDict +from .authenticationtypeuse import AuthenticationTypeUse, AuthenticationTypeUseTypedDict +from .authtypetemplatemanualapikeyauthtype import ( + AuthTypeTemplatemanualAPIKeyAuthType, + AuthTypeTemplatemanualAPIKeyAuthTypeTypedDict, +) +from .backpressurebehavioroptions import BackpressureBehaviorOptions +from .backpressurebehavioroptionsblockdrop import BackpressureBehaviorOptionsBlockDrop +from .certificatetypeazureblobauthtypeclientcert import ( + CertificateTypeAzureBlobAuthTypeClientCert, + CertificateTypeAzureBlobAuthTypeClientCertTypedDict, +) +from .compressionleveloptions import CompressionLevelOptions +from .compressionoptions import CompressionOptions +from .compressionoptionsgziplz4 import CompressionOptionsGzipLz4 +from .compressionoptionsgzipnone import CompressionOptionsGzipNone +from .compressionoptionshttp import CompressionOptionsHTTP +from .compressionoptionspq import CompressionOptionsPq +from .createoutput_pqcontrols_graphite import ( + CreateOutputPqControlsGraphite, + CreateOutputPqControlsGraphiteTypedDict, + CreateOutputTypeGraphite, +) +from .dataformatoptions import DataFormatOptions +from .datapageversionoptions import DataPageVersionOptions +from .destinationprotocoloptions import DestinationProtocolOptions +from .diskspaceprotectionoptions import DiskSpaceProtectionOptions +from .extrahttpheaderconfinputelastic import ( + ExtraHTTPHeaderConfInputElastic, + ExtraHTTPHeaderConfInputElasticTypedDict, +) +from .failedrequestloggingmodeoptions import FailedRequestLoggingModeOptions +from .googleauthenticationmethodoptions import GoogleAuthenticationMethodOptions +from .hostconfoutputsyslog import HostConfOutputSyslog, HostConfOutputSyslogTypedDict +from .kafkaschemaregistryauthenticationtypetemplateschemaregistryurlauth import ( + KafkaSchemaRegistryAuthenticationTypeTemplateschemaRegistryURLAuth, + KafkaSchemaRegistryAuthenticationTypeTemplateschemaRegistryURLAuthTypedDict, +) +from .keyvaluemetadataconfoutputfilesystem import ( + KeyValueMetadataConfOutputFilesystem, + KeyValueMetadataConfOutputFilesystemTypedDict, +) +from .loglabelconfoutputgooglecloudlogging import ( + LogLabelConfOutputGoogleCloudLogging, + LogLabelConfOutputGoogleCloudLoggingTypedDict, +) +from .maxs2sversionoptions import MaxS2SVersionOptions +from .microsoftentraidauthenticationendpointoptionssasl import ( + MicrosoftEntraIDAuthenticationEndpointOptionsSasl, +) +from .modeoptions import ModeOptions +from .nestedfieldserializationoptions import NestedFieldSerializationOptions +from .objectacloptions import ObjectACLOptions +from .objectacloptionsauthenticatedreadbucketownerfullcontrol import ( + ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol, +) +from .orphanfilerecoverytype import ( + OrphanFileRecoveryType, + OrphanFileRecoveryTypeTypedDict, +) +from .parquetversionoptions import ParquetVersionOptions +from .queuefullbehavioroptions import QueueFullBehaviorOptions +from .recorddataformatoptions import RecordDataFormatOptions +from .recorddataformatoptionsjsonprotobuf import RecordDataFormatOptionsJSONProtobuf +from .refreshrequestparamconfhealthcheckauthenticationoauthsecret import ( + RefreshRequestParamConfHealthCheckAuthenticationOauthSecret, + RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict, +) +from .regionoptions import RegionOptions +from .responseretrysettingconfoutputwebhook import ( + ResponseRetrySettingConfOutputWebhook, + ResponseRetrySettingConfOutputWebhookTypedDict, +) +from .retrysettingstype import RetrySettingsType, RetrySettingsTypeTypedDict +from .saslextensionconfinputkafka import ( + SaslExtensionConfInputKafka, + SaslExtensionConfInputKafkaTypedDict, +) +from .serversideencryptionforuploadedobjectsoptions import ( + ServerSideEncryptionForUploadedObjectsOptions, +) +from .serversideencryptionforuploadedobjectsoptionsaes256 import ( + ServerSideEncryptionForUploadedObjectsOptionsAes256, +) +from .storageclassoptions import StorageClassOptions +from .storageclassoptionsarchivecoldline import StorageClassOptionsArchiveColdline +from .storageclassoptionsreducedredundancystandard import ( + StorageClassOptionsReducedredundancyStandard, +) +from .timeoutretrysettingstype import ( + TimeoutRetrySettingsType, + TimeoutRetrySettingsTypeTypedDict, +) +from .tlssettingsclientsidetype import ( + TLSSettingsClientSideType, + TLSSettingsClientSideTypeTypedDict, +) +from .tlssettingsclientsidetypecapathcertpath import ( + TLSSettingsClientSideTypeCaPathCertPath, + TLSSettingsClientSideTypeCaPathCertPathTypedDict, +) +from .tlssettingsclientsidetypecapathcertpathextended import ( + TLSSettingsClientSideTypeCaPathCertPathExtended, + TLSSettingsClientSideTypeCaPathCertPathExtendedTypedDict, +) +from .tlssettingsclientsidetypeextended import ( + TLSSettingsClientSideTypeExtended, + TLSSettingsClientSideTypeExtendedTypedDict, +) +from cribl_control_plane import models, utils +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 CreateOutputOutputGraphiteTypedDict(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.""" + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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[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 CreateOutputOutputGraphite(BaseModel): + 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.""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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.""" + + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") + ] = None + r"""When protocol is TCP, specifies how often buffers should be flushed, resulting in records sent to the destination.""" + + 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.""" + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + 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.""" + + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") + ] = 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""" + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + ] = None + r"""How to handle events when all receivers are exerting backpressure""" + + 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[CreateOutputPqControlsGraphite], 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_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.DestinationProtocolOptions(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", + "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 = {} + + 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 CreateOutputTypeStatsdExt(str, Enum): + STATSD_EXT = "statsd_ext" + + +class CreateOutputPqControlsStatsdExtTypedDict(TypedDict): + pass + + +class CreateOutputPqControlsStatsdExt(BaseModel): + pass + + +class CreateOutputOutputStatsdExtTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputTypeStatsdExt + 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]] + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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[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 CreateOutputOutputStatsdExt(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputTypeStatsdExt + + 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: 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"""Metadata tags used for categorization and filtering.""" + + 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.""" + + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") + ] = None + r"""When protocol is TCP, specifies how often buffers should be flushed, resulting in records sent to the destination.""" + + 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.""" + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + 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.""" + + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") + ] = 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""" + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + ] = None + r"""How to handle events when all receivers are exerting backpressure""" + + 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[CreateOutputPqControlsStatsdExt], 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_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.DestinationProtocolOptions(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", + "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 = {} + + 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 CreateOutputTypeStatsd(str, Enum): + STATSD = "statsd" + + +class CreateOutputPqControlsStatsdTypedDict(TypedDict): + pass + + +class CreateOutputPqControlsStatsd(BaseModel): + pass + + +class CreateOutputOutputStatsdTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + 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]] + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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_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): + id: str + r"""Unique ID for this output""" + + 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: 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"""Metadata tags used for categorization and filtering.""" + + 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.""" + + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") + ] = None + r"""When protocol is TCP, specifies how often buffers should be flushed, resulting in records sent to the destination.""" + + 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.""" + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + 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.""" + + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") + ] = 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""" + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + ] = None + r"""How to handle events when all receivers are exerting backpressure""" + + 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[CreateOutputPqControlsStatsd], 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_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.DestinationProtocolOptions(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", + "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 = {} + + 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 CreateOutputTypeMinio(str, Enum): + MINIO = "minio" + + +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"""Metadata tags used for categorization and filtering.""" + 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: 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_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): + 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: 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)""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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 MinIO 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""" + + 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 + + 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[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_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 + 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_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 + 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): + 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 + + @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("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"""Metadata tags used for categorization and filtering.""" + 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] + 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] + 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"""Metadata tags used for categorization and filtering.""" + + 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 + 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 + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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] + 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"""Metadata tags used for categorization and filtering.""" + + 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 + r"""Optional description for this configuration.""" + + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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] + 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"""Metadata tags used for categorization and filtering.""" + + 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 + 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") + ] = 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 + + +class CreateOutputOutputNewrelicTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputTypeNewrelic + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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] + 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.""" + + +class CreateOutputOutputNewrelic(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputTypeNewrelic + + 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"""Metadata tags used for categorization and filtering.""" + + 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[CreateOutputMetadatum]] = None + r"""Fields to add to events from this input""" + + 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""" + + 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") + ] = 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[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_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") + ] = 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_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_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): + 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", + "logType", + "messageField", + "metadata", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "useRoundRobinDns", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "onBackpressure", + "authType", + "totalMemoryLimitKB", + "description", + "customUrl", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "apiKey", + "textSecret", + "__template_streamtags", + "__template_region", + "__template_logType", + "__template_messageField", + "__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 CreateOutputTypeElasticCloud(str, Enum): + ELASTIC_CLOUD = "elastic_cloud" + + +class CreateOutputPqControlsElasticCloudTypedDict(TypedDict): + pass + + +class CreateOutputPqControlsElasticCloud(BaseModel): + pass + + +class CreateOutputOutputElasticCloudTypedDict(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.""" + 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"""Metadata tags used for categorization and filtering.""" + 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""" + 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.""" + 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[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_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 CreateOutputOutputElasticCloud(BaseModel): + 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.""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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""" + + 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""" + + 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"), + ] = 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.""" + + 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[CreateOutputPqControlsElasticCloud], 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_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_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("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", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "failedRequestLoggingMode", + "safeHeaders", + "extraParams", + "auth", + "elasticPipeline", + "includeDocId", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "onBackpressure", + "description", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_url", + "__template_index", + "__template_failedRequestLoggingMode", + "__template_elasticPipeline", + "__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 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""" + + 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: 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]] + 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"""Metadata tags used for categorization and filtering.""" + 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"""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""" + 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] + 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_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 CreateOutputOutputElastic(BaseModel): + 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.""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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""" + + 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""" + + 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.""" + + 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 + 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""" + + 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[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""" + + 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""" + + 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[CreateOutputPqControlsElastic], 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_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 + 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.""" + + @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("elastic_version") + def serialize_elastic_version(self, value): + if isinstance(value, str): + try: + 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 + + @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", + "loadBalanced", + "docType", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "extraParams", + "auth", + "elasticVersion", + "elasticPipeline", + "includeDocId", + "writeAction", + "retryPartialErrors", + "onBackpressure", + "description", + "url", + "useRoundRobinDns", + "excludeSelf", + "urls", + "dnsResolvePeriodSec", + "loadBalanceStatsPeriodSec", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_index", + "__template_docType", + "__template_failedRequestLoggingMode", + "__template_elasticPipeline", + "__template_onBackpressure", + "__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 CreateOutputTypeMsk(str, Enum): + MSK = "msk" + + +class CreateOutputPqControlsMskTypedDict(TypedDict): + pass + + +class CreateOutputPqControlsMsk(BaseModel): + pass + + +class CreateOutputOutputMskTypedDict(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""" + 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"""Metadata tags used for categorization and filtering.""" + 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""" + 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] + 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[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: 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 CreateOutputOutputMsk(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.""" + + 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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.""" + + 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.""" + + 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") + ] = 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""" + + 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"""The maximum size to hold in memory before writing events 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") + ] = 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_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.""" + + 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 + + @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 + + @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", + "ack", + "format", + "compression", + "maxRecordSizeKB", + "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", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_topic", + "__template_format", + "__template_compression", + "__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 CreateOutputTypeConfluentCloud(str, Enum): + CONFLUENT_CLOUD = "confluent_cloud" + + +class CreateOutputPqControlsConfluentCloudTypedDict(TypedDict): + pass + + +class CreateOutputPqControlsConfluentCloud(BaseModel): + pass + + +class CreateOutputOutputConfluentCloudTypedDict(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.""" + 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"""Metadata tags used for categorization and filtering.""" + 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"""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.""" + 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] + 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[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_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 CreateOutputOutputConfluentCloud(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.""" + + 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"""Metadata tags used for categorization and filtering.""" + + tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None + + 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.""" + + 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.""" + + 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"""The maximum size to hold in memory before writing events 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"), + ] = 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_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 + 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("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): + 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("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", + "tls", + "ack", + "format", + "compression", + "maxRecordSizeKB", + "flushEventCount", + "flushPeriodSec", + "kafkaSchemaRegistry", + "connectionTimeout", + "requestTimeout", + "maxRetries", + "maxBackOff", + "initialBackoff", + "backoffRate", + "authenticationTimeout", + "reauthenticationThreshold", + "sasl", + "onBackpressure", + "description", + "protobufLibraryId", + "protobufEncodingId", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_brokers", + "__template_topic", + "__template_format", + "__template_compression", + "__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 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"""Metadata tags used for categorization and filtering.""" + 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""" + 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] + 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[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_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 CreateOutputOutputKafka(BaseModel): + 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: 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"""Metadata tags used for categorization and filtering.""" + + 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.""" + + 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"""The maximum size to hold in memory before writing events 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") + ] = 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_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("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): + 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("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", + "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 = {} + + 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"""Metadata tags used for categorization and filtering.""" + 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.""" + + +class CreateOutputOutputExabeam(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 + + """ + + 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"""Metadata tags used for categorization and filtering.""" + + 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""" + + 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.""" + + 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""" + + retry_settings: Annotated[ + Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") + ] = None + + orphans: Optional[OrphanFileRecoveryType] = 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.""" + + encoded_configuration: Annotated[ + Optional[str], pydantic.Field(alias="encodedConfiguration") + ] = None + r"""Enter an encoded string containing Exabeam configurations""" + + 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.""" + + 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.""" + + timezone_offset: Annotated[ + Optional[str], pydantic.Field(alias="timezoneOffset") + ] = None + + 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}`.""" + + 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"""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_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("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("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 + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "pipeline", + "systemFields", + "environment", + "streamtags", + "objectACL", + "storageClass", + "reuseConnections", + "rejectUnauthorized", + "addIdToStagePath", + "removeEmptyDirs", + "maxFileOpenTimeSec", + "maxFileIdleTimeSec", + "maxOpenFiles", + "onBackpressure", + "deadletterEnabled", + "onDiskFullBackpressure", + "retrySettings", + "orphans", + "maxFileSizeMB", + "encodedConfiguration", + "siteName", + "siteId", + "timezoneOffset", + "awsApiKey", + "awsSecretKey", + "description", + "emptyDirCleanupSec", + "directoryBatchSize", + "deadletterPath", + "maxRetryNum", + "__template_streamtags", + "__template_region", + "__template_endpoint", + "__template_objectACL", + "__template_storageClass", + "__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 CreateOutputTypeGooglePubsub(str, Enum): + GOOGLE_PUBSUB = "google_pubsub" + + +class CreateOutputPqControlsGooglePubsubTypedDict(TypedDict): + pass + + +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]] + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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_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 CreateOutputOutputGooglePubsub(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputTypeGooglePubsub + + 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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.""" + + 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[CreateOutputPqControlsGooglePubsub], 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_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.""" + + @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", + "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 = {} + + 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 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 CreateOutputGoogleAuthenticationMethodGoogleCloudObservability( + 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 CreateOutputPqControlsGoogleCloudObservabilityTypedDict(TypedDict): + pass + + +class CreateOutputPqControlsGoogleCloudObservability(BaseModel): + pass + + +class CreateOutputOutputGoogleCloudObservabilityTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputTypeGoogleCloudObservability + google_auth_method: CreateOutputGoogleAuthenticationMethodGoogleCloudObservability + 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"""Metadata tags used for categorization and filtering.""" + 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.""" + + +class CreateOutputOutputGoogleCloudObservability(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputTypeGoogleCloudObservability + + google_auth_method: Annotated[ + CreateOutputGoogleAuthenticationMethodGoogleCloudObservability, + 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.""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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'.""" + + 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 sent to Google Cloud Observability""" + + 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") + ] = None + r"""How often the sender should ping the peer to keep the connection open""" + + tls: Optional[TLSSettingsClientSideTypeExtended] = None + + 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). 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") + ] = None + 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""" + + 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[CreateOutputPqControlsGoogleCloudObservability], + 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_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("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): + if isinstance(value, str): + try: + return models.CreateOutputEndpointGoogleCloudObservability(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.CreateOutputGoogleAuthenticationMethodGoogleCloudObservability( + 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 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"""Metadata tags used for categorization and filtering.""" + 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.""" + 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.""" + 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[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_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 CreateOutputOutputGoogleCloudLogging(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputTypeGoogleCloudLogging + + 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + sanitize_log_names: Annotated[ + Optional[bool], pydantic.Field(alias="sanitizeLogNames") + ] = None + + payload_format: Annotated[ + Optional[CreateOutputPayloadFormat], 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 + r"""Optional description for this configuration.""" + + 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[CreateOutputPqControlsGoogleCloudLogging], + 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.CreateOutputLogLocationType(value) + except ValueError: + return value + return value + + @field_serializer("payload_format") + def serialize_payload_format(self, value): + if isinstance(value, str): + try: + return models.CreateOutputPayloadFormat(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 CreateOutputTypeGoogleCloudStorage(str, Enum): + GOOGLE_CLOUD_STORAGE = "google_cloud_storage" + + +class CreateOutputAuthenticationMethodGoogleCloudStorage( + str, Enum, metaclass=utils.OpenEnumMeta +): + # auto + AUTO = "auto" + # manual + MANUAL = "manual" + # Secret Key pair + SECRET = "secret" + + +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.""" + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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_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 CreateOutputOutputGoogleCloudStorage(BaseModel): + 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: 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"""Metadata tags used for categorization and filtering.""" + + aws_authentication_method: Annotated[ + Optional[CreateOutputAuthenticationMethodGoogleCloudStorage], + 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}`""" + + 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""" + + 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"""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.""" + + 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""" + + 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""" + + 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") + ] = 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_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_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_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.""" + + @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.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( + [ + "pipeline", + "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"]) + 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 CreateOutputPqControlsGoogleChronicle(BaseModel): + pass + + +class CreateOutputOutputGoogleChronicleTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + 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]] + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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] + 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.""" + 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] + 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[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 CreateOutputOutputGoogleChronicle(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputTypeGoogleChronicle + + log_format_type: Annotated[ + CreateOutputSendEventsAs, pydantic.Field(alias="logFormatType") + ] + + 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"""Metadata tags used for categorization and filtering.""" + + 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""" + + 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""" + + 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""" + + 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.""" + + 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.""" + + 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") + ] = 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[CreateOutputPqControlsGoogleChronicle], + 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_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 + 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_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): + 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("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): + 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", + "apiVersion", + "authenticationMethod", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "region", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "failedRequestLoggingMode", + "safeHeaders", + "useRoundRobinDns", + "onBackpressure", + "totalMemoryLimitKB", + "description", + "extraLogTypes", + "logType", + "logTextField", + "customerId", + "namespace", + "customLabels", + "udmType", + "apiKey", + "apiKeySecret", + "serviceAccountCredentials", + "serviceAccountCredentialsSecret", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_apiVersion", + "__template_region", + "__template_failedRequestLoggingMode", + "__template_onBackpressure", + "__template_customerId", + ] + ) + 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 CreateOutputTypeGoogleBigquery(str, Enum): + GOOGLE_BIGQUERY = "google_bigquery" + + +class CreateOutputGoogleAuthenticationMethodGoogleBigquery( + str, Enum, metaclass=utils.OpenEnumMeta +): + r"""Choose Auto to use Google Application Default Credentials (ADC), or Secret to select or create a stored secret that references Google service account credentials""" + + # Auto + AUTO = "auto" + # Secret + SECRET = "secret" + + +class CreateOutputPqControlsGoogleBigqueryTypedDict(TypedDict): + pass + + +class CreateOutputPqControlsGoogleBigquery(BaseModel): + pass + + +class CreateOutputOutputGoogleBigqueryTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputTypeGoogleBigquery + project_id: str + r"""Google Cloud project ID that contains the BigQuery dataset""" + dataset_id: str + r"""BigQuery dataset ID""" + table_id: str + r"""BigQuery table ID""" + google_auth_method: CreateOutputGoogleAuthenticationMethodGoogleBigquery + r"""Choose Auto to use Google Application Default Credentials (ADC), or 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"""Metadata tags used for categorization and filtering.""" + timestamp_column: NotRequired[str] + r"""Column name to write event time (`_time`) as a BigQuery TIMESTAMP. Used for time partitioning""" + secret: NotRequired[str] + r"""Select or create a stored text secret""" + flush_period: NotRequired[float] + r"""Maximum time to wait before sending a batch (when batch size limit 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 a single append request. BigQuery limit is 10 MB""" + 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.""" + 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[CreateOutputPqControlsGoogleBigqueryTypedDict] + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_project_id: NotRequired[str] + r"""Binds 'projectId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'projectId' at runtime.""" + template_dataset_id: NotRequired[str] + r"""Binds 'datasetId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'datasetId' at runtime.""" + template_table_id: NotRequired[str] + r"""Binds 'tableId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tableId' 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 CreateOutputOutputGoogleBigquery(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputTypeGoogleBigquery + + project_id: Annotated[str, pydantic.Field(alias="projectId")] + r"""Google Cloud project ID that contains the BigQuery dataset""" + + dataset_id: Annotated[str, pydantic.Field(alias="datasetId")] + r"""BigQuery dataset ID""" + + table_id: Annotated[str, pydantic.Field(alias="tableId")] + r"""BigQuery table ID""" + + google_auth_method: Annotated[ + CreateOutputGoogleAuthenticationMethodGoogleBigquery, + pydantic.Field(alias="googleAuthMethod"), + ] + r"""Choose Auto to use Google Application Default Credentials (ADC), or Secret to select or create a stored secret that references Google service account credentials""" + + 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"""Metadata tags used for categorization and filtering.""" + + timestamp_column: Annotated[ + Optional[str], pydantic.Field(alias="timestampColumn") + ] = None + r"""Column name to write event time (`_time`) as a BigQuery TIMESTAMP. Used for time partitioning""" + + secret: Optional[str] = None + r"""Select or create a stored text secret""" + + 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_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 a single append request. BigQuery limit is 10 MB""" + + 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.""" + + 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[CreateOutputPqControlsGoogleBigquery], + 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_project_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_projectId") + ] = None + r"""Binds 'projectId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'projectId' at runtime.""" + + template_dataset_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_datasetId") + ] = None + r"""Binds 'datasetId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'datasetId' at runtime.""" + + template_table_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_tableId") + ] = None + r"""Binds 'tableId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tableId' 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.CreateOutputGoogleAuthenticationMethodGoogleBigquery( + 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", + "timestampColumn", + "secret", + "flushPeriod", + "maxQueueSize", + "maxRecordSizeKB", + "maxInProgress", + "onBackpressure", + "description", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_projectId", + "__template_datasetId", + "__template_tableId", + "__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 CreateOutputTypeAzureEventhub(str, Enum): + AZURE_EVENTHUB = "azure_eventhub" + + +class CreateOutputPqControlsAzureEventhubTypedDict(TypedDict): + pass + + +class CreateOutputPqControlsAzureEventhub(BaseModel): + pass + + +class CreateOutputOutputAzureEventhubTypedDict(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.""" + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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[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_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.""" + + +class CreateOutputOutputAzureEventhub(BaseModel): + 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.""" + + 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"""Metadata tags used for categorization and filtering.""" + + ack: Optional[AcknowledgmentsOptions] = None + r"""Control the number of required acknowledgments""" + + format_: Annotated[ + Optional[RecordDataFormatOptions], pydantic.Field(alias="format") + ] = None + r"""Format to use to serialize events before writing to the Event Hubs Kafka brokers""" + + 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.""" + + flush_event_count: Annotated[ + Optional[float], pydantic.Field(alias="flushEventCount") + ] = None + r"""Maximum number of events 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 Max record size.""" + + 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[AuthenticationTypeUse] = None + r"""Authentication parameters to use when connecting to brokers. 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[CreateOutputPqControlsAzureEventhub], + 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_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 + 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.""" + + @field_serializer("ack") + def serialize_ack(self, value): + if isinstance(value, str): + try: + return models.AcknowledgmentsOptions(value) + except ValueError: + return value + return value + + @field_serializer("format_") + def serialize_format_(self, value): + if isinstance(value, str): + try: + return models.RecordDataFormatOptions(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", + "ack", + "format", + "maxRecordSizeKB", + "flushEventCount", + "flushPeriodSec", + "connectionTimeout", + "requestTimeout", + "maxRetries", + "maxBackOff", + "initialBackoff", + "backoffRate", + "authenticationTimeout", + "reauthenticationThreshold", + "sasl", + "tls", + "onBackpressure", + "description", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_brokers", + "__template_topic", + "__template_format", + "__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 CreateOutputTypeHoneycomb(str, Enum): + HONEYCOMB = "honeycomb" + + +class CreateOutputPqControlsHoneycombTypedDict(TypedDict): + pass + + +class CreateOutputPqControlsHoneycomb(BaseModel): + pass + + +class CreateOutputOutputHoneycombTypedDict(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""" + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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[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.""" + + +class CreateOutputOutputHoneycomb(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputTypeHoneycomb + + 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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 + 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[CreateOutputPqControlsHoneycomb], 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_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("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", + "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 = {} + + 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 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"""Metadata tags used for categorization and filtering.""" + 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.""" + 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[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] + 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[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_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_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): + id: str + r"""Unique ID for this output""" + + type: CreateOutputTypeKinesis + + stream_name: Annotated[str, pydantic.Field(alias="streamName")] + r"""Kinesis stream name to send events to.""" + + 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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"""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.""" + + 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[CreateOutputPqControlsKinesis], 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_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") + ] = 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("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" + + +class CreateOutputPqControlsAzureLogsTypedDict(TypedDict): + pass + + +class CreateOutputPqControlsAzureLogs(BaseModel): + pass + + +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"""Metadata tags used for categorization and filtering.""" + 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.""" + + +class CreateOutputOutputAzureLogs(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputTypeAzureLogs + + 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.""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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""" + + 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 + + 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""" + + 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"), + ] = 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[CreateOutputAuthenticationMethodAzureLogs], + pydantic.Field(alias="authType"), + ] = None + 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") + ] = 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[CreateOutputPqControlsAzureLogs], 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.""" + + 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 'streamtags' to a variable 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_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): + 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.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] + + +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: 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"""Metadata tags used for categorization and filtering.""" + 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""" + 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.""" + 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_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_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 CreateOutputOutputAzureDataExplorer(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""" + + 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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.""" + + 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""" + + remove_empty_dirs: Annotated[ + Optional[bool], pydantic.Field(alias="removeEmptyDirs") + ] = None + r"""Remove empty staging directories after moving files""" + + 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_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"""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""" + + 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") + ] = 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.""" + + max_concurrent_file_parts: Annotated[ + Optional[float], pydantic.Field(alias="maxConcurrentFileParts") + ] = None + r"""Maximum number of parts to upload in parallel per file""" + + 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""" + + add_id_to_stage_path: Annotated[ + Optional[bool], pydantic.Field(alias="addIdToStagePath") + ] = None + r"""Add the Output ID value to staging location""" + + retry_settings: Annotated[ + Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") + ] = None + + orphans: Optional[OrphanFileRecoveryType] = 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""" + + 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") + ] = None + r"""Prevent blob deletion after ingestion is complete""" + + extent_tags: Annotated[ + Optional[List[CreateOutputExtentTag]], pydantic.Field(alias="extentTags") + ] = None + r"""Strings or tags associated with the extent (ingested data shard)""" + + ingest_if_not_exists: Annotated[ + Optional[List[CreateOutputIngestIfNotExist]], + pydantic.Field(alias="ingestIfNotExists"), + ] = None + r"""Prevents duplicate ingestion by verifying whether an extent with the specified ingest-by tag already exists""" + + report_level: Annotated[ + Optional[CreateOutputReportLevel], pydantic.Field(alias="reportLevel") + ] = None + r"""Level of ingestion status reporting. Defaults to FailuresOnly.""" + + report_method: Annotated[ + Optional[CreateOutputReportMethod], pydantic.Field(alias="reportMethod") + ] = None + r"""Target of the ingestion status reporting. Defaults to Queue.""" + + additional_properties: Annotated[ + Optional[List[CreateOutputAdditionalProperty]], + pydantic.Field(alias="additionalProperties"), + ] = None + r"""Optionally, enter additional configuration properties to send to the ingestion service""" + + 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""" + + 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") + ] = 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.""" + + 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"""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[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") + ] = 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") + ] = 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_mapping_ref: Annotated[ + Optional[str], pydantic.Field(alias="__template_mappingRef") + ] = 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.""" + + template_ingest_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_ingestUrl") + ] = 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.""" + + 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") + ] = 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 + + @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 + + @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( + [ + "pipeline", + "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", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "flushPeriodSec", + "rejectUnauthorized", + "useRoundRobinDns", + "keepAlive", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__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_onBackpressure", + "__template_fileNameSuffix", + ] + ) + 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 CreateOutputTypeAzureBlob(str, Enum): + AZURE_BLOB = "azure_blob" + + +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: 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.""" + 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"""Metadata tags used for categorization and filtering.""" + 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.""" + 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] + 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""" + 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_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_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.""" + + +class CreateOutputOutputAzureBlob(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputTypeAzureBlob + + 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"""Metadata tags used for categorization and filtering.""" + + create_container: Annotated[ + Optional[bool], pydantic.Field(alias="createContainer") + ] = None + 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 + 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 + + auth_type: Annotated[ + Optional[AuthenticationMethodOptions], pydantic.Field(alias="authType") + ] = None + + storage_class: Annotated[ + Optional[CreateOutputBlobAccessTier], pydantic.Field(alias="storageClass") + ] = 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 + 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""" + + connection_string: Annotated[ + Optional[str], pydantic.Field(alias="connectionString") + ] = None + r"""Enter your Azure Storage account connection string. If left blank, Stream will fall back to env.AZURE_STORAGE_CONNECTION_STRING.""" + + 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"""The name of your Azure storage account""" + + 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"""Endpoint suffix for the service URL. Takes precedence over the Azure Cloud setting. Defaults to core.windows.net.""" + + client_text_secret: Annotated[ + Optional[str], pydantic.Field(alias="clientTextSecret") + ] = None + r"""Select or create a stored text secret""" + + certificate: Optional[CertificateTypeAzureBlobAuthTypeClientCert] = 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") + ] = 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.""" + + 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.""" + + 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") + ] = 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.""" + + 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_azure_cloud: Annotated[ + Optional[str], pydantic.Field(alias="__template_azureCloud") + ] = 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 + + @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("auth_type") + def serialize_auth_type(self, value): + if isinstance(value, str): + try: + return models.AuthenticationMethodOptions(value) + except ValueError: + return value + return value + + @field_serializer("storage_class") + def serialize_storage_class(self, value): + if isinstance(value, str): + try: + return models.CreateOutputBlobAccessTier(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", + "createContainer", + "destPath", + "addIdToStagePath", + "maxConcurrentFileParts", + "removeEmptyDirs", + "partitionExpr", + "format", + "baseFileName", + "fileNameSuffix", + "maxFileSizeMB", + "maxFileOpenTimeSec", + "maxFileIdleTimeSec", + "maxOpenFiles", + "headerLine", + "writeHighWaterMark", + "onBackpressure", + "deadletterEnabled", + "onDiskFullBackpressure", + "forceCloseOnShutdown", + "retrySettings", + "orphans", + "authType", + "storageClass", + "description", + "compress", + "compressionLevel", + "automaticSchema", + "parquetSchema", + "parquetVersion", + "parquetDataPageVersion", + "parquetRowGroupLength", + "parquetPageSize", + "shouldLogInvalidRows", + "keyValueMetadata", + "enableStatistics", + "enableWritePageIndex", + "enablePageChecksum", + "emptyDirCleanupSec", + "directoryBatchSize", + "deadletterPath", + "maxRetryNum", + "connectionString", + "textSecret", + "storageAccountName", + "tenantId", + "clientId", + "azureCloud", + "endpointSuffix", + "clientTextSecret", + "certificate", + "__template_streamtags", + "__template_containerName", + "__template_destPath", + "__template_partitionExpr", + "__template_format", + "__template_baseFileName", + "__template_fileNameSuffix", + "__template_onBackpressure", + "__template_compress", + "__template_parquetSchema", + "__template_connectionString", + "__template_storageAccountName", + "__template_tenantId", + "__template_clientId", + "__template_azureCloud", + ] + ) + 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 CreateOutputTypeS3(str, Enum): + S3 = "s3" + + +class CreateOutputOutputS3TypedDict(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}`""" + 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"""Metadata tags used for categorization and filtering.""" + 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""" + 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[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] + 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_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_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 CreateOutputOutputS3(BaseModel): + 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}`""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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""" + + 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 + + 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""" + + 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_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 + 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_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 + 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("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("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): + 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", + "endpoint", + "enableAssumeRole", + "assumeRoleArn", + "assumeRoleExternalId", + "durationSeconds", + "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", + "kmsKeyId", + "description", + "awsApiKey", + "awsSecret", + "compress", + "compressionLevel", + "automaticSchema", + "parquetSchema", + "parquetVersion", + "parquetDataPageVersion", + "parquetRowGroupLength", + "parquetPageSize", + "shouldLogInvalidRows", + "keyValueMetadata", + "enableStatistics", + "enableWritePageIndex", + "enablePageChecksum", + "emptyDirCleanupSec", + "directoryBatchSize", + "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", + ] + ) + 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 CreateOutputTypeFilesystem(str, Enum): + FILESYSTEM = "filesystem" + + +class CreateOutputOutputFilesystemTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + 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]] + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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_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 CreateOutputOutputFilesystem(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputTypeFilesystem + + 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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") + ] = 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.""" + + 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_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("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( + [ + "pipeline", + "systemFields", + "environment", + "streamtags", + "stagePath", + "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", + "__template_streamtags", + "__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 + + +class CreateOutputTypeSignalfx(str, Enum): + SIGNALFX = "signalfx" + + +class CreateOutputPqControlsSignalfxTypedDict(TypedDict): + pass + + +class CreateOutputPqControlsSignalfx(BaseModel): + pass + + +class CreateOutputOutputSignalfxTypedDict(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).""" + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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] + 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] + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable 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.""" + + +class CreateOutputOutputSignalfx(BaseModel): + 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).""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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""" + + 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""" + + 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))""" + + 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_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[CreateOutputPqControlsSignalfx], 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_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("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("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", + "authType", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "useRoundRobinDns", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "onBackpressure", + "description", + "token", + "textSecret", + "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 CreateOutputTypeWavefront(str, Enum): + WAVEFRONT = "wavefront" + + +class CreateOutputPqControlsWavefrontTypedDict(TypedDict): + pass + + +class CreateOutputPqControlsWavefront(BaseModel): + pass + + +class CreateOutputOutputWavefrontTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + 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]] + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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] + 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[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.""" + + +class CreateOutputOutputWavefront(BaseModel): + id: str + r"""Unique ID for this output""" + + 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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""" + + 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""" + + 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))""" + + 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_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[CreateOutputPqControlsWavefront], 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_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("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("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", + "authType", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "useRoundRobinDns", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "onBackpressure", + "description", + "token", + "textSecret", + "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 CreateOutputTypeTcpjson(str, Enum): + TCPJSON = "tcpjson" + + +class CreateOutputPqControlsTcpjsonTypedDict(TypedDict): + pass + + +class CreateOutputPqControlsTcpjson(BaseModel): + pass + + +class CreateOutputOutputTcpjsonTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputTypeTcpjson + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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[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_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): + id: str + r"""Unique ID for this output""" + + type: CreateOutputTypeTcpjson + + 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"""Metadata tags used for categorization and filtering.""" + + load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( + None + ) + r"""Use load-balanced destinations""" + + compression: Optional[CompressionOptionsGzipNone] = None + r"""Codec to use to compress the data before sending""" + + log_failed_requests: Annotated[ + Optional[bool], pydantic.Field(alias="logFailedRequests") + ] = None + r"""Use to troubleshoot issues with sending data""" + + 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") + ] = 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""" + + 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 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.""" + + 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""" + + 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 + 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[CreateOutputPqControlsTcpjson], 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_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): + if isinstance(value, str): + try: + return models.CompressionOptionsGzipNone(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.AuthenticationMethodOptionsAuthTokensItems(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", + "loadBalanced", + "compression", + "logFailedRequests", + "throttleRatePerSec", + "tls", + "connectionTimeout", + "writeTimeout", + "tokenTTLMinutes", + "sendHeader", + "onBackpressure", + "authType", + "description", + "host", + "port", + "excludeSelf", + "hosts", + "dnsResolvePeriodSec", + "loadBalanceStatsPeriodSec", + "maxConcurrentSenders", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "authToken", + "textSecret", + "__template_streamtags", + "__template_onBackpressure", + "__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 CreateOutputTypeWizHec(str, Enum): + WIZ_HEC = "wiz_hec" + + +class CreateOutputPqControlsWizHecTypedDict(TypedDict): + pass + + +class CreateOutputPqControlsWizHec(BaseModel): + pass + + +class CreateOutputOutputWizHecTypedDict(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 + 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"""Metadata tags used for categorization and filtering.""" + 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.""" + 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"""Wiz Defend Auth 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[CreateOutputPqControlsWizHecTypedDict] + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable 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_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_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 CreateOutputOutputWizHec(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 + + 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"""Metadata tags used for categorization and filtering.""" + + 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"""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""" + + 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""" + + 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") + ] = 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.""" + + 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""" + + 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[CreateOutputPqControlsWizHec], 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_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_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.""" + + 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): + if isinstance(value, str): + try: + return models.FailedRequestLoggingModeOptions(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 + + @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", + "tls", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "failedRequestLoggingMode", + "safeHeaders", + "authType", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "onBackpressure", + "description", + "token", + "textSecret", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_failedRequestLoggingMode", + "__template_wiz_environment", + "__template_data_center", + "__template_wiz_sourcetype", + "__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 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 CreateOutputPqControlsSplunkHecTypedDict(TypedDict): + pass + + +class CreateOutputPqControlsSplunkHec(BaseModel): + pass + + +class CreateOutputOutputSplunkHecTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputTypeSplunkHec + 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"""Metadata tags used for categorization and filtering.""" + 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.""" + 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, 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.""" + 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.""" + 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[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] + 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[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_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 CreateOutputOutputSplunkHec(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputTypeSplunkHec + + 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"""Metadata tags used for categorization and filtering.""" + + 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.""" + + 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"""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""" + + 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""" + + 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"), + ] = 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") + ] = 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.""" + + 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.""" + + 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.""" + + 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""" + + 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[CreateOutputPqControlsSplunkHec], 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_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.""" + + @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("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): + 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", + "loadBalanced", + "tls", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "failedRequestLoggingMode", + "safeHeaders", + "enableMultiMetrics", + "authType", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "nextQueue", + "tcpRouting", + "onBackpressure", + "description", + "url", + "useRoundRobinDns", + "excludeSelf", + "urls", + "dnsResolvePeriodSec", + "loadBalanceStatsPeriodSec", + "token", + "textSecret", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_failedRequestLoggingMode", + "__template_onBackpressure", + "__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 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 CreateOutputPqControlsSplunkLb(BaseModel): + pass + + +class CreateOutputOutputSplunkLbTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + 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]] + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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.""" + 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] + 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[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_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 CreateOutputOutputSplunkLb(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputTypeSplunkLb + + 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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 + 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.""" + + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") + ] = 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 + + 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.""" + + 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.""" + + log_failed_requests: Annotated[ + Optional[bool], pydantic.Field(alias="logFailedRequests") + ] = None + r"""Use to troubleshoot issues with sending data""" + + max_s2_sversion: Annotated[ + Optional[MaxS2SVersionOptions], pydantic.Field(alias="maxS2Sversion") + ] = 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""" + + 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"), + ] = 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.""" + + 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.""" + + 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 + 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[CreateOutputPqControlsSplunkLb], 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") + ] = 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.""" + + @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): + 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.AuthenticationMethodOptionsAuthTokensItems(value) + except ValueError: + return value + return value + + @field_serializer("compress") + def serialize_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptions(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", + "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 = {} + + 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 CreateOutputTypeSplunk(str, Enum): + SPLUNK = "splunk" + + +class CreateOutputPqControlsSplunkTypedDict(TypedDict): + pass + + +class CreateOutputPqControlsSplunk(BaseModel): + pass + + +class CreateOutputOutputSplunkTypedDict(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""" + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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""" + 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] + 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[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 CreateOutputOutputSplunk(BaseModel): + 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + nested_fields: Annotated[ + Optional[NestedFieldSerializationOptions], pydantic.Field(alias="nestedFields") + ] = None + 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.""" + + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") + ] = 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 + + 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.""" + + 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.""" + + log_failed_requests: Annotated[ + Optional[bool], pydantic.Field(alias="logFailedRequests") + ] = None + r"""Use to troubleshoot issues with sending data""" + + max_s2_sversion: Annotated[ + Optional[MaxS2SVersionOptions], pydantic.Field(alias="maxS2Sversion") + ] = 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""" + + 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.""" + + 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.""" + + 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[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 + r"""Binds 'streamtags' to a variable 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 + 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.""" + + @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): + 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.AuthenticationMethodOptionsAuthTokensItems(value) + except ValueError: + return value + return value + + @field_serializer("compress") + def serialize_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptions(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", + "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 + + +class CreateOutputMessageFormat(str, Enum, metaclass=utils.OpenEnumMeta): + r"""The syslog message format depending on the receiver's support""" + + # RFC3164 + RFC3164 = "rfc3164" + # RFC5424 + RFC5424 = "rfc5424" + + +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 CreateOutputPqControlsSyslogTypedDict(TypedDict): + pass + + +class CreateOutputPqControlsSyslog(BaseModel): + pass + + +class CreateOutputOutputSyslogTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputTypeSyslog + 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"""Metadata tags used for categorization and filtering.""" + 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""" + 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] + 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[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_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.""" + + +class CreateOutputOutputSyslog(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputTypeSyslog + + 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"""Metadata tags used for categorization and filtering.""" + + 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") + ] = None + r"""Timestamp format to use when serializing event's time field""" + + 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") + ] = None + 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 + ) + 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""" + + 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""" + + 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.""" + + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") + ] = 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 + + 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") + ] = None + 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: 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.""" + + 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.""" + + 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[CreateOutputPqControlsSyslog], 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_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_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 + + @field_serializer("facility") + def serialize_facility(self, value): + if isinstance(value, str): + try: + return models.CreateOutputFacility(value) + except ValueError: + return value + return value + + @field_serializer("severity") + def serialize_severity(self, value): + if isinstance(value, str): + try: + return models.CreateOutputSeveritySyslog(value) + except ValueError: + return value + return value + + @field_serializer("message_format") + def serialize_message_format(self, value): + if isinstance(value, str): + try: + return models.CreateOutputMessageFormat(value) + except ValueError: + return value + return value + + @field_serializer("timestamp_format") + def serialize_timestamp_format(self, value): + if isinstance(value, str): + try: + return models.CreateOutputTimestampFormat(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", + "facility", + "severity", + "appName", + "messageFormat", + "timestampFormat", + "throttleRatePerSec", + "octetCountFraming", + "logFailedRequests", + "description", + "loadBalanced", + "host", + "port", + "excludeSelf", + "hosts", + "dnsResolvePeriodSec", + "loadBalanceStatsPeriodSec", + "maxConcurrentSenders", + "connectionTimeout", + "writeTimeout", + "tls", + "onBackpressure", + "maxRecordSize", + "udpDnsResolvePeriodSec", + "enableIpSpoofing", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_host", + "__template_port", + "__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 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"""Metadata tags used for categorization and filtering.""" + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a 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"""Metadata tags used for categorization and filtering.""" + + 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 = {} + + 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 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: 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]] + 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"""Metadata tags used for categorization and filtering.""" + 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.""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" + auth_type: NotRequired[CreateOutputAuthType] + refresh_token_field: NotRequired[str] + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, @{product} will use the refresh token to obtain new access tokens without re-sending credentials.""" + rotate_refresh_token: NotRequired[bool] + r"""@{product} will update the stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + refresh_url: NotRequired[str] + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + refresh_request_params: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict] + ] + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, @{product} sends only grant_type, refresh_token, and client_secret.""" + 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] + 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] + 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[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""" + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable 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_refresh_url: NotRequired[str] + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' 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): + 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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.""" + + 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[CreateOutputAuthType], pydantic.Field(alias="authType") + ] = None + + refresh_token_field: Annotated[ + Optional[str], pydantic.Field(alias="refreshTokenField") + ] = None + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, @{product} will use the refresh token to obtain new access tokens without re-sending credentials.""" + + rotate_refresh_token: Annotated[ + Optional[bool], pydantic.Field(alias="rotateRefreshToken") + ] = None + r"""@{product} will update the stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + + refresh_url: Annotated[Optional[str], pydantic.Field(alias="refreshUrl")] = None + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + + refresh_request_params: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecret]], + pydantic.Field(alias="refreshRequestParams"), + ] = None + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, @{product} sends only grant_type, refresh_token, and client_secret.""" + + 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.""" + + 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") + ] = 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[CreateOutputPqControlsSentinel], 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_refresh_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_refreshUrl") + ] = None + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' 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.""" + + @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.CreateOutputAuthType(value) + except ValueError: + return value + return value + + @field_serializer("endpoint_url_configuration") + def serialize_endpoint_url_configuration(self, value): + if isinstance(value, str): + try: + return models.CreateOutputEndpointConfiguration(value) + except ValueError: + return value + return value + + @field_serializer("format_") + def serialize_format_(self, value): + if isinstance(value, str): + try: + return models.CreateOutputFormatSentinel(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", + "keepAlive", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "useRoundRobinDns", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "onBackpressure", + "authType", + "refreshTokenField", + "rotateRefreshToken", + "refreshUrl", + "refreshRequestParams", + "scope", + "totalMemoryLimitKB", + "description", + "format", + "customSourceExpression", + "customDropWhenNull", + "customEventDelimiter", + "customContentType", + "customPayloadExpression", + "advancedContentType", + "formatEventCode", + "formatPayloadCode", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "url", + "dcrID", + "dceEndpoint", + "streamName", + "__template_streamtags", + "__template_failedRequestLoggingMode", + "__template_onBackpressure", + "__template_loginUrl", + "__template_secret", + "__template_refreshUrl", + "__template_client_id", + "__template_scope", + "__template_url", + "__template_dcrID", + "__template_dceEndpoint", + "__template_streamName", + ] + ) + 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 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" + + +try: + CreateOutputOutputGraphite.model_rebuild() +except NameError: + pass +try: + CreateOutputOutputStatsdExt.model_rebuild() +except NameError: + pass +try: + CreateOutputOutputStatsd.model_rebuild() +except NameError: + pass +try: + CreateOutputOutputMinio.model_rebuild() +except NameError: + pass +try: + CreateOutputOutputCloudwatch.model_rebuild() +except NameError: + pass +try: + CreateOutputOutputInfluxdb.model_rebuild() +except NameError: + pass +try: + CreateOutputOutputNewrelicEvents.model_rebuild() +except NameError: + pass +try: + CreateOutputOutputNewrelic.model_rebuild() +except NameError: + pass +try: + CreateOutputOutputElasticCloud.model_rebuild() +except NameError: + pass +try: + CreateOutputURLElastic.model_rebuild() +except NameError: + pass +try: + CreateOutputOutputElastic.model_rebuild() +except NameError: + pass +try: + CreateOutputOutputMsk.model_rebuild() +except NameError: + pass +try: + CreateOutputOutputConfluentCloud.model_rebuild() +except NameError: + pass +try: + CreateOutputOutputKafka.model_rebuild() +except NameError: + pass +try: + CreateOutputOutputExabeam.model_rebuild() +except NameError: + pass +try: + CreateOutputOutputGooglePubsub.model_rebuild() +except NameError: + pass +try: + CreateOutputOutputGoogleCloudObservability.model_rebuild() +except NameError: + pass +try: + CreateOutputOutputGoogleCloudLogging.model_rebuild() +except NameError: + pass +try: + CreateOutputOutputGoogleCloudStorage.model_rebuild() +except NameError: + pass +try: + CreateOutputExtraLogType.model_rebuild() +except NameError: + pass +try: + CreateOutputOutputGoogleChronicle.model_rebuild() +except NameError: + pass +try: + CreateOutputOutputGoogleBigquery.model_rebuild() +except NameError: + pass +try: + CreateOutputOutputAzureEventhub.model_rebuild() +except NameError: + pass +try: + CreateOutputOutputHoneycomb.model_rebuild() +except NameError: + pass +try: + CreateOutputOutputKinesis.model_rebuild() +except NameError: + pass +try: + CreateOutputOutputAzureLogs.model_rebuild() +except NameError: + pass +try: + CreateOutputCertificate.model_rebuild() +except NameError: + pass +try: + CreateOutputOutputAzureDataExplorer.model_rebuild() +except NameError: + pass +try: + CreateOutputOutputAzureBlob.model_rebuild() +except NameError: + pass +try: + CreateOutputOutputS3.model_rebuild() +except NameError: + pass +try: + CreateOutputOutputFilesystem.model_rebuild() +except NameError: + pass +try: + CreateOutputOutputSignalfx.model_rebuild() +except NameError: + pass +try: + CreateOutputOutputWavefront.model_rebuild() +except NameError: + pass +try: + CreateOutputOutputTcpjson.model_rebuild() +except NameError: + pass +try: + CreateOutputOutputWizHec.model_rebuild() +except NameError: + pass +try: + CreateOutputURLSplunkHec.model_rebuild() +except NameError: + pass +try: + CreateOutputOutputSplunkHec.model_rebuild() +except NameError: + pass +try: + CreateOutputAuthToken.model_rebuild() +except NameError: + pass +try: + CreateOutputIndexerDiscoveryConfigs.model_rebuild() +except NameError: + pass +try: + CreateOutputOutputSplunkLb.model_rebuild() +except NameError: + pass +try: + CreateOutputOutputSplunk.model_rebuild() +except NameError: + pass +try: + CreateOutputOutputSyslog.model_rebuild() +except NameError: + pass +try: + CreateOutputOutputDevnull.model_rebuild() +except NameError: + pass +try: + CreateOutputOutputSentinel.model_rebuild() +except NameError: + pass diff --git a/src/cribl_control_plane/models/createoutput_type_statsd.py b/src/cribl_control_plane/models/createoutput_pqcontrols_graphite.py similarity index 91% rename from src/cribl_control_plane/models/createoutput_type_statsd.py rename to src/cribl_control_plane/models/createoutput_pqcontrols_graphite.py index 476c157a6..6edde6c05 100644 --- a/src/cribl_control_plane/models/createoutput_type_statsd.py +++ b/src/cribl_control_plane/models/createoutput_pqcontrols_graphite.py @@ -7,14 +7,12 @@ from .authenticationmethodoptionsauthtokensitems import ( AuthenticationMethodOptionsAuthTokensItems, ) +from .authenticationmethodoptionsautosecret import AuthenticationMethodOptionsAutoSecret from .authenticationmethodoptionss3collectorconf import ( AuthenticationMethodOptionsS3CollectorConf, ) from .authenticationmethodoptionssecret import AuthenticationMethodOptionsSecret from .authenticationtypeoptions import AuthenticationTypeOptions -from .authenticationtypeoptionsprometheusauth import ( - AuthenticationTypeOptionsPrometheusAuth, -) from .authenticationtypeoptionsprometheusauthbasiccredentialssecret import ( AuthenticationTypeOptionsPrometheusAuthBasicCredentialsSecret, ) @@ -28,6 +26,10 @@ ) from .backpressurebehavioroptions import BackpressureBehaviorOptions from .backpressurebehavioroptionsblockdrop import BackpressureBehaviorOptionsBlockDrop +from .columnmappingconfoutputclickhouse import ( + ColumnMappingConfOutputClickHouse, + ColumnMappingConfOutputClickHouseTypedDict, +) from .compressionleveloptions import CompressionLevelOptions from .compressionoptionsdeflategzip import CompressionOptionsDeflateGzip from .compressionoptionsgzipnone import CompressionOptionsGzipNone @@ -40,18 +42,19 @@ ) from .dataformatoptions import DataFormatOptions from .datapageversionoptions import DataPageVersionOptions -from .destinationprotocoloptions import DestinationProtocolOptions from .diskspaceprotectionoptions import DiskSpaceProtectionOptions from .extrahttpheaderconfinputelastic import ( ExtraHTTPHeaderConfInputElastic, ExtraHTTPHeaderConfInputElasticTypedDict, ) from .failedrequestloggingmodeoptions import FailedRequestLoggingModeOptions +from .formatoptions import FormatOptions from .hostconfoutputsyslog import HostConfOutputSyslog, HostConfOutputSyslogTypedDict from .keyvaluemetadataconfoutputfilesystem import ( KeyValueMetadataConfOutputFilesystem, KeyValueMetadataConfOutputFilesystemTypedDict, ) +from .mappingtypeoptions import MappingTypeOptions from .messageformatoptions import MessageFormatOptions from .methodoptions import MethodOptions from .microsoftentraidauthenticationendpointoptionssasl import ( @@ -77,11 +80,11 @@ from .protocoloptions import ProtocolOptions from .queuefullbehavioroptions import QueueFullBehaviorOptions from .recorddataformatoptions import RecordDataFormatOptions -from .requestformatoptions import RequestFormatOptions -from .requestparamconfinputopenai import ( - RequestParamConfInputOpenai, - RequestParamConfInputOpenaiTypedDict, +from .refreshrequestparamconfhealthcheckauthenticationoauthsecret import ( + RefreshRequestParamConfHealthCheckAuthenticationOauthSecret, + RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict, ) +from .requestformatoptions import RequestFormatOptions from .responseretrysettingconfoutputwebhook import ( ResponseRetrySettingConfOutputWebhook, ResponseRetrySettingConfOutputWebhookTypedDict, @@ -133,20 +136,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]] @@ -154,7 +157,7 @@ class CreateOutputOutputAlibabaCloudS3TypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: NotRequired[AuthenticationMethodOptionsSecret] r"""Authentication method.""" reuse_connections: NotRequired[bool] @@ -203,9 +206,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] @@ -244,6 +246,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] @@ -258,31 +262,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""" @@ -295,7 +295,7 @@ class CreateOutputOutputAlibabaCloudS3(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: Annotated[ Optional[AuthenticationMethodOptionsSecret], @@ -417,12 +417,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""" @@ -516,6 +512,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 @@ -551,16 +552,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 @@ -607,15 +598,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): @@ -685,7 +667,6 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", - "objectACL", "description", "awsSecret", "compress", @@ -706,6 +687,7 @@ def serialize_model(self, handler): "deadletterPath", "maxRetryNum", "__template_streamtags", + "__template_endpoint", "__template_bucket", "__template_destPath", "__template_partitionExpr", @@ -713,8 +695,6 @@ def serialize_model(self, handler): "__template_baseFileName", "__template_fileNameSuffix", "__template_onBackpressure", - "__template_objectACL", - "__template_endpoint", "__template_compress", "__template_parquetSchema", ] @@ -733,20 +713,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]] @@ -754,15 +745,15 @@ class CreateOutputOutputScalityS3TypedDict(TypedDict): 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"""Metadata tags used for categorization and filtering.""" + 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] @@ -805,7 +796,18 @@ 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""" + enable_assume_role: NotRequired[bool] + r"""Use Assume Role credentials to access Alibaba OSS""" + 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).""" + assume_role_arn: NotRequired[str] + r"""ARN of the RAM role to assume. Format: acs:ram:::role/. Example: acs:ram::123456789:role/OSSAccessRole""" + assume_role_external_id: NotRequired[str] + r"""External ID for the assumed role (optional, for security when configured in the role trust policy)""" 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] @@ -846,8 +848,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] @@ -860,28 +860,34 @@ 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_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_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 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""" @@ -895,10 +901,10 @@ class CreateOutputOutputScalityS3(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: Annotated[ - Optional[AuthenticationMethodOptionsSecret], + Optional[CreateOutputAuthenticationMethodAlibabaCloudS3], pydantic.Field(alias="awsAuthenticationMethod"), ] = None r"""Authentication method.""" @@ -913,9 +919,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}`""" @@ -1020,7 +1023,33 @@ 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""" + + enable_assume_role: Annotated[ + Optional[bool], pydantic.Field(alias="enableAssumeRole") + ] = None + r"""Use Assume Role credentials to access Alibaba OSS""" + + 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).""" + + assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( + None + ) + r"""ARN of the RAM role to assume. Format: acs:ram:::role/. Example: acs:ram::123456789:role/OSSAccessRole""" + + assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="assumeRoleExternalId") + ] = None + r"""External ID for the assumed role (optional, for security when configured in the role trust policy)""" + 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""" @@ -1119,11 +1148,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 @@ -1154,11 +1178,26 @@ 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 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_compress: Annotated[ Optional[str], pydantic.Field(alias="__template_compress") ] = None @@ -1173,7 +1212,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 @@ -1205,6 +1244,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): @@ -1252,7 +1300,6 @@ def serialize_model(self, handler): "awsAuthenticationMethod", "reuseConnections", "rejectUnauthorized", - "region", "destPath", "maxConcurrentFileParts", "verifyPermissions", @@ -1275,6 +1322,11 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", + "objectACL", + "enableAssumeRole", + "durationSeconds", + "assumeRoleArn", + "assumeRoleExternalId", "description", "awsSecret", "compress", @@ -1296,14 +1348,16 @@ 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_assumeRoleArn", + "__template_assumeRoleExternalId", "__template_compress", "__template_parquetSchema", ] @@ -1322,20 +1376,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]] @@ -1343,7 +1397,7 @@ class CreateOutputOutputCloudianS3TypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: NotRequired[AuthenticationMethodOptionsSecret] r"""Authentication method.""" reuse_connections: NotRequired[bool] @@ -1351,7 +1405,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] @@ -1394,15 +1448,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] @@ -1441,8 +1488,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] @@ -1459,35 +1504,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""" @@ -1500,7 +1539,7 @@ class CreateOutputOutputCloudianS3(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: Annotated[ Optional[AuthenticationMethodOptionsSecret], @@ -1519,7 +1558,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}`""" @@ -1625,26 +1664,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""" @@ -1738,11 +1759,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 @@ -1783,25 +1799,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") + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") ] = 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.""" + 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") @@ -1849,33 +1850,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): @@ -1946,10 +1920,6 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", - "objectACL", - "storageClass", - "serverSideEncryption", - "kmsKeyId", "description", "awsSecret", "compress", @@ -1970,7 +1940,6 @@ def serialize_model(self, handler): "deadletterPath", "maxRetryNum", "__template_streamtags", - "__template_endpoint", "__template_bucket", "__template_region", "__template_destPath", @@ -1979,10 +1948,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", ] @@ -2001,20 +1967,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]] @@ -2022,7 +1988,7 @@ class CreateOutputOutputDellS3TypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: NotRequired[AuthenticationMethodOptionsSecret] r"""Authentication method.""" reuse_connections: NotRequired[bool] @@ -2030,7 +1996,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] @@ -2075,7 +2041,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] @@ -2114,6 +2087,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] @@ -2132,29 +2107,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""" @@ -2167,7 +2146,7 @@ class CreateOutputOutputDellS3(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: Annotated[ Optional[AuthenticationMethodOptionsSecret], @@ -2186,7 +2165,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}`""" @@ -2297,7 +2276,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""" @@ -2391,6 +2385,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 @@ -2436,10 +2435,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") @@ -2496,6 +2505,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): @@ -2567,6 +2594,9 @@ def serialize_model(self, handler): "retrySettings", "orphans", "objectACL", + "storageClass", + "serverSideEncryption", + "kmsKeyId", "description", "awsSecret", "compress", @@ -2587,6 +2617,7 @@ def serialize_model(self, handler): "deadletterPath", "maxRetryNum", "__template_streamtags", + "__template_endpoint", "__template_bucket", "__template_region", "__template_destPath", @@ -2596,7 +2627,9 @@ def serialize_model(self, handler): "__template_fileNameSuffix", "__template_onBackpressure", "__template_objectACL", - "__template_endpoint", + "__template_storageClass", + "__template_serverSideEncryption", + "__template_kmsKeyId", "__template_compress", "__template_parquetSchema", ] @@ -2615,18 +2648,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]] @@ -2634,13 +2669,15 @@ class CreateOutputOutputAlphasocS3TypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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 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] @@ -2683,9 +2720,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] @@ -2726,8 +2764,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] @@ -2736,6 +2778,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] @@ -2744,18 +2788,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""" @@ -2768,7 +2815,7 @@ class CreateOutputOutputAlphasocS3(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: Annotated[ Optional[AuthenticationMethodOptionsSecret], @@ -2786,6 +2833,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}`""" @@ -2890,10 +2940,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""" @@ -2992,11 +3045,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 @@ -3017,6 +3080,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 @@ -3068,6 +3136,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): @@ -3115,6 +3192,7 @@ def serialize_model(self, handler): "awsAuthenticationMethod", "reuseConnections", "rejectUnauthorized", + "region", "destPath", "maxConcurrentFileParts", "verifyPermissions", @@ -3137,7 +3215,7 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", - "endpoint", + "objectACL", "description", "awsSecret", "compress", @@ -3159,11 +3237,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", @@ -3183,20 +3264,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]] @@ -3204,7 +3283,7 @@ class CreateOutputOutputStorjS3TypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: NotRequired[AuthenticationMethodOptionsSecret] r"""Authentication method.""" reuse_connections: NotRequired[bool] @@ -3253,7 +3332,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] @@ -3296,8 +3378,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] @@ -3314,21 +3394,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""" @@ -3341,7 +3418,7 @@ class CreateOutputOutputStorjS3(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: Annotated[ Optional[AuthenticationMethodOptionsSecret], @@ -3463,7 +3540,11 @@ class CreateOutputOutputStorjS3(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None - description: Optional[str] = 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""" @@ -3567,11 +3648,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 @@ -3712,6 +3788,7 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", + "endpoint", "description", "awsSecret", "compress", @@ -3734,7 +3811,6 @@ def serialize_model(self, handler): "__template_streamtags", "__template_bucket", "__template_destPath", - "__template_partitionExpr", "__template_format", "__template_baseFileName", "__template_fileNameSuffix", @@ -3758,20 +3834,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]] @@ -3779,15 +3855,13 @@ class CreateOutputOutputNutanixObjectsTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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] @@ -3831,6 +3905,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] @@ -3871,8 +3946,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] @@ -3893,20 +3966,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""" @@ -3920,7 +3993,7 @@ class CreateOutputOutputNutanixObjects(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: Annotated[ Optional[AuthenticationMethodOptionsSecret], @@ -3938,9 +4011,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}`""" @@ -4046,6 +4116,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""" @@ -4144,11 +4215,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 @@ -4277,7 +4343,6 @@ def serialize_model(self, handler): "awsAuthenticationMethod", "reuseConnections", "rejectUnauthorized", - "region", "destPath", "maxConcurrentFileParts", "verifyPermissions", @@ -4321,7 +4386,6 @@ def serialize_model(self, handler): "maxRetryNum", "__template_streamtags", "__template_bucket", - "__template_region", "__template_destPath", "__template_partitionExpr", "__template_format", @@ -4347,31 +4411,20 @@ def serialize_model(self, handler): return m -class CreateOutputTypeCloudflareR2(str, Enum): - CLOUDFLARE_R2 = "cloudflare_r2" - - -class CreateOutputAuthenticationMethodCloudflareR2( - str, Enum, metaclass=utils.OpenEnumMeta -): - r"""AWS authentication method. Choose Auto to use IAM roles.""" - - # Auto - AUTO = "auto" - # Secret Key pair - SECRET = "secret" +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]] @@ -4379,13 +4432,15 @@ class CreateOutputOutputCloudflareR2TypedDict(TypedDict): 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[CreateOutputAuthenticationMethodCloudflareR2] - r"""AWS authentication method. Choose Auto to use IAM roles.""" + r"""Metadata tags used for categorization and filtering.""" + 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] @@ -4428,15 +4483,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] @@ -4477,6 +4525,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] @@ -4489,32 +4539,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""" @@ -4528,13 +4574,13 @@ class CreateOutputOutputCloudflareR2(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: Annotated[ - Optional[CreateOutputAuthenticationMethodCloudflareR2], + 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") @@ -4546,6 +4592,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}`""" @@ -4650,24 +4699,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""" @@ -4766,6 +4799,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 @@ -4796,20 +4834,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") @@ -4825,7 +4853,7 @@ class CreateOutputOutputCloudflareR2(BaseModel): def serialize_aws_authentication_method(self, value): if isinstance(value, str): try: - return models.CreateOutputAuthenticationMethodCloudflareR2(value) + return models.AuthenticationMethodOptionsSecret(value) except ValueError: return value return value @@ -4857,24 +4885,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): @@ -4922,6 +4932,7 @@ def serialize_model(self, handler): "awsAuthenticationMethod", "reuseConnections", "rejectUnauthorized", + "region", "destPath", "maxConcurrentFileParts", "verifyPermissions", @@ -4944,9 +4955,6 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", - "awsSecretKey", - "storageClass", - "serverSideEncryption", "description", "awsSecret", "compress", @@ -4968,15 +4976,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", ] @@ -4995,92 +5002,731 @@ def serialize_model(self, handler): return m -class CreateOutputTypeMicrosoftFabric(str, Enum): - MICROSOFT_FABRIC = "microsoft_fabric" - - -class CreateOutputAuthenticationTypedDict(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 CreateOutputAuthentication(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""" +class CreateOutputTypeCloudflareR2(str, Enum): + CLOUDFLARE_R2 = "cloudflare_r2" - tenant_id: Annotated[Optional[str], pydantic.Field(alias="tenantId")] = None - r"""Directory ID (tenant identifier) in Azure Active Directory""" + +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"""Metadata tags used for categorization and filtering.""" + 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.""" + + +class CreateOutputOutputCloudflareR2(BaseModel): + 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: 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + aws_authentication_method: Annotated[ + Optional[AuthenticationMethodOptionsAutoSecret], + 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""" + + 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 + + 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""" + + 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_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_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.AuthenticationMethodOptionsAutoSecret(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("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", + "destPath", + "maxConcurrentFileParts", + "verifyPermissions", + "maxClosingFilesToBackpressure", + "addIdToStagePath", + "removeEmptyDirs", + "partitionExpr", + "format", + "baseFileName", + "fileNameSuffix", + "maxFileSizeMB", + "maxFileOpenTimeSec", + "maxFileIdleTimeSec", + "maxOpenFiles", + "headerLine", + "writeHighWaterMark", + "onBackpressure", + "deadletterEnabled", + "onDiskFullBackpressure", + "forceCloseOnShutdown", + "retrySettings", + "orphans", + "awsSecretKey", + "storageClass", + "serverSideEncryption", + "description", + "awsSecret", + "compress", + "compressionLevel", + "automaticSchema", + "parquetSchema", + "parquetVersion", + "parquetDataPageVersion", + "parquetRowGroupLength", + "parquetPageSize", + "shouldLogInvalidRows", + "keyValueMetadata", + "enableStatistics", + "enableWritePageIndex", + "enablePageChecksum", + "emptyDirCleanupSec", + "directoryBatchSize", + "deadletterPath", + "maxRetryNum", + "__template_streamtags", + "__template_bucket", + "__template_destPath", + "__template_partitionExpr", + "__template_format", + "__template_baseFileName", + "__template_fileNameSuffix", + "__template_onBackpressure", + "__template_awsSecretKey", + "__template_storageClass", + "__template_serverSideEncryption", + "__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 CreateOutputTypeMicrosoftFabric(str, Enum): + MICROSOFT_FABRIC = "microsoft_fabric" + + +class CreateOutputAuthenticationTypedDict(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 CreateOutputAuthentication(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""" @@ -5198,7 +5844,7 @@ class CreateOutputOutputMicrosoftFabricTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" ack: NotRequired[AcknowledgmentsOptions] r"""Control the number of required acknowledgments""" format_: NotRequired[RecordDataFormatOptions] @@ -5231,6 +5877,7 @@ class CreateOutputOutputMicrosoftFabricTypedDict(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] @@ -5252,7 +5899,7 @@ class CreateOutputOutputMicrosoftFabricTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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.""" @@ -5290,7 +5937,7 @@ class CreateOutputOutputMicrosoftFabric(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" ack: Optional[AcknowledgmentsOptions] = None r"""Control the number of required acknowledgments""" @@ -5360,6 +6007,7 @@ class CreateOutputOutputMicrosoftFabric(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") @@ -5408,7 +6056,7 @@ class CreateOutputOutputMicrosoftFabric(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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], @@ -5581,7 +6229,7 @@ class CreateOutputOutputDatabricksTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" dest_path: NotRequired[str] r"""Optional path to prepend to files before uploading.""" stage_path: NotRequired[str] @@ -5625,6 +6273,7 @@ class CreateOutputOutputDatabricksTypedDict(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] @@ -5716,7 +6365,7 @@ class CreateOutputOutputDatabricks(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None r"""Optional path to prepend to files before uploading.""" @@ -5819,6 +6468,7 @@ class CreateOutputOutputDatabricks(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""" @@ -6149,7 +6799,7 @@ class CreateOutputOutputChronicleTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" api_version: NotRequired[str] authentication_method: NotRequired[CreateOutputAuthenticationMethodChronicle] response_retry_settings: NotRequired[ @@ -6198,6 +6848,7 @@ class CreateOutputOutputChronicleTypedDict(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] @@ -6223,7 +6874,7 @@ class CreateOutputOutputChronicleTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -6277,7 +6928,7 @@ class CreateOutputOutputChronicle(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" api_version: Annotated[Optional[str], pydantic.Field(alias="apiVersion")] = None @@ -6386,6 +7037,7 @@ class CreateOutputOutputChronicle(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") @@ -6444,7 +7096,7 @@ class CreateOutputOutputChronicle(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[CreateOutputPqControlsChronicle], pydantic.Field(alias="pqControls") @@ -6672,7 +7324,7 @@ class CreateOutputOutputSentinelOneAiSiemTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] @@ -6708,6 +7360,7 @@ class CreateOutputOutputSentinelOneAiSiemTypedDict(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] @@ -6763,7 +7416,7 @@ class CreateOutputOutputSentinelOneAiSiemTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -6797,7 +7450,7 @@ class CreateOutputOutputSentinelOneAiSiem(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -6875,6 +7528,7 @@ class CreateOutputOutputSentinelOneAiSiem(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""" @@ -6994,7 +7648,7 @@ class CreateOutputOutputSentinelOneAiSiem(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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], @@ -7016,38 +7670,38 @@ 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): + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): try: - return models.CreateOutputRegion(value) + return models.FailedRequestLoggingModeOptions(value) except ValueError: return value return value - @field_serializer("endpoint") - def serialize_endpoint(self, value): + @field_serializer("auth_type") + def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.CreateOutputAISIEMEndpointPath(value) + return models.AuthenticationMethodOptionsAuthTokensItems(value) except ValueError: return value return value - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("region") + def serialize_region(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.CreateOutputRegion(value) except ValueError: return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): + @field_serializer("endpoint") + def serialize_endpoint(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsAuthTokensItems(value) + return models.CreateOutputAISIEMEndpointPath(value) except ValueError: return value return value @@ -7209,7 +7863,7 @@ class CreateOutputOutputDynatraceOtlpTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" compress: NotRequired[CompressionOptionsDeflateGzip] r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" http_compress: NotRequired[CompressionOptionsMessages] @@ -7246,6 +7900,7 @@ class CreateOutputOutputDynatraceOtlpTypedDict(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), @@ -7285,7 +7940,7 @@ class CreateOutputOutputDynatraceOtlpTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -7330,7 +7985,7 @@ class CreateOutputOutputDynatraceOtlp(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" compress: Optional[CompressionOptionsDeflateGzip] = None r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" @@ -7413,6 +8068,7 @@ 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") @@ -7500,7 +8156,7 @@ class CreateOutputOutputDynatraceOtlp(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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], @@ -7699,7 +8355,7 @@ class CreateOutputFormatDynatraceHTTP(str, Enum, metaclass=utils.OpenEnumMeta): PLAINTEXT = "plaintext" -class CreateOutputEndpoint(str, Enum, metaclass=utils.OpenEnumMeta): +class CreateOutputEndpointDynatraceHTTP(str, Enum, metaclass=utils.OpenEnumMeta): # Cloud CLOUD = "cloud" # ActiveGate @@ -7729,7 +8385,7 @@ class CreateOutputOutputDynatraceHTTPTypedDict(TypedDict): type: CreateOutputTypeDynatraceHTTP format_: CreateOutputFormatDynatraceHTTP r"""How to format events before sending. Defaults to JSON. Plaintext is not currently supported.""" - endpoint: CreateOutputEndpoint + endpoint: CreateOutputEndpointDynatraceHTTP telemetry_type: CreateOutputTelemetryType pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" @@ -7738,7 +8394,7 @@ class CreateOutputOutputDynatraceHTTPTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" method: NotRequired[MethodOptions] r"""The method to use when sending events""" keep_alive: NotRequired[bool] @@ -7781,6 +8437,7 @@ class CreateOutputOutputDynatraceHTTPTypedDict(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] @@ -7802,7 +8459,7 @@ class CreateOutputOutputDynatraceHTTPTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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""" @@ -7833,7 +8490,7 @@ class CreateOutputOutputDynatraceHTTP(BaseModel): format_: Annotated[CreateOutputFormatDynatraceHTTP, pydantic.Field(alias="format")] r"""How to format events before sending. Defaults to JSON. Plaintext is not currently supported.""" - endpoint: CreateOutputEndpoint + endpoint: CreateOutputEndpointDynatraceHTTP telemetry_type: Annotated[ CreateOutputTelemetryType, pydantic.Field(alias="telemetryType") @@ -7851,7 +8508,7 @@ class CreateOutputOutputDynatraceHTTP(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" method: Optional[MethodOptions] = None r"""The method to use when sending events""" @@ -7944,6 +8601,7 @@ class CreateOutputOutputDynatraceHTTP(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") @@ -7992,7 +8650,7 @@ class CreateOutputOutputDynatraceHTTP(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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], @@ -8087,7 +8745,7 @@ def serialize_format_(self, value): def serialize_endpoint(self, value): if isinstance(value, str): try: - return models.CreateOutputEndpoint(value) + return models.CreateOutputEndpointDynatraceHTTP(value) except ValueError: return value return value @@ -8255,12 +8913,13 @@ class CreateOutputOutputNetflowTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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] @@ -8288,7 +8947,7 @@ class CreateOutputOutputNetflow(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" dns_resolve_period_sec: Annotated[ Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") @@ -8301,6 +8960,7 @@ class CreateOutputOutputNetflow(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") @@ -8397,7 +9057,7 @@ class CreateOutputOutputXsiamTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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] @@ -8439,6 +9099,7 @@ class CreateOutputOutputXsiamTypedDict(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] @@ -8475,7 +9136,7 @@ class CreateOutputOutputXsiamTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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.""" @@ -8505,7 +9166,7 @@ class CreateOutputOutputXsiam(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( None @@ -8598,6 +9259,7 @@ class CreateOutputOutputXsiam(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""" @@ -8675,7 +9337,7 @@ class CreateOutputOutputXsiam(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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") @@ -8835,9 +9497,7 @@ class CreateOutputFormatLocalSearchStorage(str, Enum, metaclass=utils.OpenEnumMe JSON_EACH_ROW = "json-each-row" -class CreateOutputMappingTypeLocalSearchStorage( - str, Enum, metaclass=utils.OpenEnumMeta -): +class CreateOutputMappingType(str, Enum, metaclass=utils.OpenEnumMeta): r"""How event fields are mapped to columns.""" # Automatic @@ -8908,7 +9568,7 @@ def serialize_model(self, handler): return m -class CreateOutputColumnMappingLocalSearchStorageTypedDict(TypedDict): +class CreateOutputColumnMappingTypedDict(TypedDict): column_name: str r"""Name of the column that will store field value""" column_value_expression: str @@ -8917,7 +9577,7 @@ class CreateOutputColumnMappingLocalSearchStorageTypedDict(TypedDict): r"""Type of the column in the database""" -class CreateOutputColumnMappingLocalSearchStorage(BaseModel): +class CreateOutputColumnMapping(BaseModel): column_name: Annotated[str, pydantic.Field(alias="columnName")] r"""Name of the column that will store field value""" @@ -8970,11 +9630,11 @@ class CreateOutputOutputLocalSearchStorageTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" auth_type: NotRequired[AuthenticationTypeOptions] format_: NotRequired[CreateOutputFormatLocalSearchStorage] r"""Data format to use when sending data. Defaults to JSON Compact.""" - mapping_type: NotRequired[CreateOutputMappingTypeLocalSearchStorage] + 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.""" @@ -9011,12 +9671,15 @@ 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""" 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] @@ -9029,9 +9692,7 @@ class CreateOutputOutputLocalSearchStorageTypedDict(TypedDict): 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[CreateOutputColumnMappingLocalSearchStorageTypedDict] - ] + 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] @@ -9053,7 +9714,7 @@ class CreateOutputOutputLocalSearchStorageTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -9095,7 +9756,7 @@ class CreateOutputOutputLocalSearchStorage(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" auth_type: Annotated[ Optional[AuthenticationTypeOptions], pydantic.Field(alias="authType") @@ -9107,8 +9768,7 @@ class CreateOutputOutputLocalSearchStorage(BaseModel): r"""Data format to use when sending data. Defaults to JSON Compact.""" mapping_type: Annotated[ - Optional[CreateOutputMappingTypeLocalSearchStorage], - pydantic.Field(alias="mappingType"), + Optional[CreateOutputMappingType], pydantic.Field(alias="mappingType") ] = None r"""How event fields are mapped to columns.""" @@ -9188,6 +9848,9 @@ 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") ] = None @@ -9203,6 +9866,7 @@ class CreateOutputOutputLocalSearchStorage(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" username: Optional[str] = None @@ -9232,7 +9896,7 @@ class CreateOutputOutputLocalSearchStorage(BaseModel): r"""Retrieves the table schema and populates the Column Mapping table""" column_mappings: Annotated[ - Optional[List[CreateOutputColumnMappingLocalSearchStorage]], + Optional[List[CreateOutputColumnMapping]], pydantic.Field(alias="columnMappings"), ] = None @@ -9283,7 +9947,7 @@ class CreateOutputOutputLocalSearchStorage(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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], @@ -9342,7 +10006,7 @@ def serialize_format_(self, value): def serialize_mapping_type(self, value): if isinstance(value, str): try: - return models.CreateOutputMappingTypeLocalSearchStorage(value) + return models.CreateOutputMappingType(value) except ValueError: return value return value @@ -9419,6 +10083,7 @@ def serialize_model(self, handler): "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", + "workload", "dumpFormatErrorsToDisk", "onBackpressure", "statsDestination", @@ -9465,78 +10130,22 @@ def serialize_model(self, handler): return m -class CreateOutputTypeClickHouse(str, Enum): - CLICK_HOUSE = "click_house" - - -class CreateOutputFormatClickHouse(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Data format to use when sending data to ClickHouse. 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 CreateOutputMappingTypeClickHouse(str, Enum, metaclass=utils.OpenEnumMeta): - r"""How event fields are mapped to ClickHouse columns""" - - # Automatic - AUTOMATIC = "automatic" - # Custom - CUSTOM = "custom" - - -class CreateOutputColumnMappingClickHouseTypedDict(TypedDict): - column_name: str - r"""Name of the column in ClickHouse that will store field value""" - column_value_expression: str - r"""JavaScript expression to compute value to be inserted into ClickHouse table""" - column_type: NotRequired[str] - r"""Type of the column in the ClickHouse database""" - - -class CreateOutputColumnMappingClickHouse(BaseModel): - column_name: Annotated[str, pydantic.Field(alias="columnName")] - r"""Name of the column in ClickHouse that will store field value""" - - column_value_expression: Annotated[ - str, pydantic.Field(alias="columnValueExpression") - ] - r"""JavaScript expression to compute value to be inserted into ClickHouse table""" - - column_type: Annotated[Optional[str], pydantic.Field(alias="columnType")] = None - r"""Type of the column in the ClickHouse 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 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 @@ -9549,11 +10158,11 @@ class CreateOutputOutputClickHouseTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" auth_type: NotRequired[AuthenticationTypeOptions] - format_: NotRequired[CreateOutputFormatClickHouse] + format_: NotRequired[FormatOptions] r"""Data format to use when sending data to ClickHouse. Defaults to JSON Compact.""" - mapping_type: NotRequired[CreateOutputMappingTypeClickHouse] + 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.""" @@ -9590,11 +10199,14 @@ class CreateOutputOutputClickHouseTypedDict(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""" 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] @@ -9607,7 +10219,7 @@ class CreateOutputOutputClickHouseTypedDict(TypedDict): 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[CreateOutputColumnMappingClickHouseTypedDict]] + 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] @@ -9629,8 +10241,8 @@ class CreateOutputOutputClickHouseTypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[CreateOutputPqControlsClickHouseTypedDict] + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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] @@ -9645,11 +10257,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/""" @@ -9671,19 +10283,17 @@ class CreateOutputOutputClickHouse(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" auth_type: Annotated[ Optional[AuthenticationTypeOptions], pydantic.Field(alias="authType") ] = None - format_: Annotated[ - Optional[CreateOutputFormatClickHouse], pydantic.Field(alias="format") - ] = None + format_: Annotated[Optional[FormatOptions], pydantic.Field(alias="format")] = None r"""Data format to use when sending data to ClickHouse. Defaults to JSON Compact.""" mapping_type: Annotated[ - Optional[CreateOutputMappingTypeClickHouse], pydantic.Field(alias="mappingType") + Optional[MappingTypeOptions], pydantic.Field(alias="mappingType") ] = None r"""How event fields are mapped to ClickHouse columns""" @@ -9763,6 +10373,9 @@ class CreateOutputOutputClickHouse(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") ] = None @@ -9774,6 +10387,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 @@ -9803,7 +10417,7 @@ class CreateOutputOutputClickHouse(BaseModel): r"""Retrieves the table schema from ClickHouse and populates the Column Mapping table""" column_mappings: Annotated[ - Optional[List[CreateOutputColumnMappingClickHouse]], + Optional[List[ColumnMappingConfOutputClickHouse]], pydantic.Field(alias="columnMappings"), ] = None @@ -9854,10 +10468,11 @@ class CreateOutputOutputClickHouse(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[ @@ -9903,217 +10518,61 @@ def serialize_auth_type(self, value): def serialize_format_(self, value): if isinstance(value, str): try: - return models.CreateOutputFormatClickHouse(value) - except ValueError: - return value - return value - - @field_serializer("mapping_type") - def serialize_mapping_type(self, value): - if isinstance(value, str): - try: - return models.CreateOutputMappingTypeClickHouse(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", - "authType", - "format", - "mappingType", - "asyncInserts", - "tls", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", - "failedRequestLoggingMode", - "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "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_url", - "__template_database", - "__template_tableName", - "__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 CreateOutputTypeDiskSpool(str, Enum): - DISK_SPOOL = "disk_spool" - - -class CreateOutputOutputDiskSpoolTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - 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.""" - 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}""" - 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] - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a 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.""" + return models.FormatOptions(value) + except ValueError: + return value + return value - 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.""" + @field_serializer("mapping_type") + def serialize_mapping_type(self, value): + if isinstance(value, str): + try: + return models.MappingTypeOptions(value) + except ValueError: + return value + return value - compress: Optional[CompressionOptionsPersistence] = None - r"""Data compression format. Default is gzip.""" + @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 - 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.""" + @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 - description: Optional[str] = None + @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_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("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("compress") - def serialize_compress(self, value): + @field_serializer("pq_on_backpressure") + def serialize_pq_on_backpressure(self, value): if isinstance(value, str): try: - return models.CompressionOptionsPersistence(value) + return models.QueueFullBehaviorOptions(value) except ValueError: return value return value @@ -10126,13 +10585,55 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "timeWindow", - "maxDataSize", - "maxDataTime", + "authType", + "format", + "mappingType", + "asyncInserts", + "tls", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", "compress", - "partitionExpr", + "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_url", + "__template_database", + "__template_tableName", + "__template_failedRequestLoggingMode", + "__template_onBackpressure", ] ) serialized = handler(self) @@ -10149,27 +10650,27 @@ def serialize_model(self, handler): return m -class CreateOutputTypeCriblLake(str, Enum): - CRIBL_LAKE = "cribl_lake" +class CreateOutputTypeClickHouse(str, Enum): + CLICK_HOUSE = "click_house" -class CreateOutputAwsAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta): - AUTO = "auto" - AUTO_RPC = "auto_rpc" - MANUAL = "manual" +class CreateOutputPqControlsClickHouseTypedDict(TypedDict): + pass -class CreateOutputFormatCriblLake(str, Enum, metaclass=utils.OpenEnumMeta): - JSON = "json" - PARQUET = "parquet" - DDSS = "ddss" - NETSKOPE = "netskope" +class CreateOutputPqControlsClickHouse(BaseModel): + pass -class CreateOutputOutputCriblLakeTypedDict(TypedDict): +class CreateOutputOutputClickHouseTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeCriblLake + 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]] @@ -10177,123 +10678,118 @@ class CreateOutputOutputCriblLakeTypedDict(TypedDict): 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).""" - reuse_connections: NotRequired[bool] - r"""Reuse connections between requests, which can improve performance""" + r"""Metadata tags used for categorization and filtering.""" + 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 that cannot be verified against a valid CA, such as self-signed certificates""" - bucket: NotRequired[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: NotRequired[str] - r"""Region where the S3 bucket is located""" - dest_path: NotRequired[str] - r"""Lake dataset to send the data to.""" - 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""" - 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"""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""" - 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""" - aws_authentication_method: NotRequired[CreateOutputAwsAuthenticationMethod] - format_: NotRequired[CreateOutputFormatCriblLake] - max_concurrent_file_parts: NotRequired[float] - r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" 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.""" + 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_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_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_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_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.""" -class CreateOutputOutputCriblLake(BaseModel): +class CreateOutputOutputClickHouse(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeCriblLake + 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""" @@ -10307,333 +10803,454 @@ class CreateOutputOutputCriblLake(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" - 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.""" + auth_type: Annotated[ + Optional[AuthenticationTypeOptions], pydantic.Field(alias="authType") + ] = None - enable_assume_role: Annotated[ - Optional[bool], pydantic.Field(alias="enableAssumeRole") + format_: Annotated[Optional[FormatOptions], pydantic.Field(alias="format")] = None + r"""Data format to use when sending data to ClickHouse. Defaults to JSON Compact.""" + + mapping_type: Annotated[ + Optional[MappingTypeOptions], pydantic.Field(alias="mappingType") ] = None - r"""Use Assume Role credentials to access S3""" + r"""How event fields are mapped to ClickHouse columns""" - assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( + async_inserts: Annotated[Optional[bool], pydantic.Field(alias="asyncInserts")] = ( None ) - r"""Amazon Resource Name (ARN) of the role to assume""" + 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.""" - assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="assumeRoleExternalId") - ] = None - r"""External ID to use when assuming role""" + tls: Optional[TLSSettingsClientSideTypeCaPathCertPathExtended] = None - duration_seconds: Annotated[ - Optional[float], pydantic.Field(alias="durationSeconds") + 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"""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 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. + """ - bucket: Optional[str] = None - 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}`""" + 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""" - region: Optional[str] = None - r"""Region where the S3 bucket is located""" + 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.""" - dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None - r"""Lake dataset to send the data to.""" + extra_http_headers: Annotated[ + Optional[List[ExtraHTTPHeaderConfInputElastic]], + pydantic.Field(alias="extraHttpHeaders"), + ] = None + r"""Headers to add to all events""" - verify_permissions: Annotated[ - Optional[bool], pydantic.Field(alias="verifyPermissions") + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") ] = None - r"""Disable if you can access files within the bucket but not the bucket itself""" + 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.""" - max_closing_files_to_backpressure: Annotated[ - Optional[float], pydantic.Field(alias="maxClosingFilesToBackpressure") + failed_request_logging_mode: Annotated[ + Optional[FailedRequestLoggingModeOptions], + pydantic.Field(alias="failedRequestLoggingMode"), ] = None - r"""Maximum number of files that can be waiting for upload before backpressure is applied""" + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - 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.""" + safe_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="safeHeaders") + ] = None + r"""List of headers that are safe to log in plain text""" - add_id_to_stage_path: Annotated[ - Optional[bool], pydantic.Field(alias="addIdToStagePath") + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), ] = None - r"""Add the Output ID value to staging location""" + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - remove_empty_dirs: Annotated[ - Optional[bool], pydantic.Field(alias="removeEmptyDirs") + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") ] = None - r"""Remove empty staging directories after moving files""" - base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = ( + 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.""" + + 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""" + + 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 + + credentials_secret: Annotated[ + Optional[str], pydantic.Field(alias="credentialsSecret") + ] = None + r"""Select or create a secret that references your credentials""" + + 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"""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: 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"""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"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + r"""The maximum size to hold in memory before 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_file_open_time_sec: Annotated[ - Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") + pq_controls: Annotated[ + Optional[CreateOutputPqControlsClickHouse], pydantic.Field(alias="pqControls") ] = 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") + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") ] = 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"""Binds 'streamtags' to a 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_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( 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""" + 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.""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptionsBlockDrop], - pydantic.Field(alias="onBackpressure"), + template_database: Annotated[ + Optional[str], pydantic.Field(alias="__template_database") ] = None - r"""How to handle events when all receivers are exerting backpressure""" + 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.""" - deadletter_enabled: Annotated[ - Optional[bool], pydantic.Field(alias="deadletterEnabled") + template_table_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_tableName") ] = 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 '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.""" - on_disk_full_backpressure: Annotated[ - Optional[DiskSpaceProtectionOptions], - pydantic.Field(alias="onDiskFullBackpressure"), + template_failed_request_logging_mode: Annotated[ + Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + 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.""" - force_close_on_shutdown: Annotated[ - Optional[bool], pydantic.Field(alias="forceCloseOnShutdown") + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = 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 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - retry_settings: Annotated[ - Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") - ] = None + @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 - orphans: Optional[OrphanFileRecoveryType] = None + @field_serializer("format_") + def serialize_format_(self, value): + if isinstance(value, str): + try: + return models.FormatOptions(value) + except ValueError: + return value + return value - 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}`)""" + @field_serializer("mapping_type") + def serialize_mapping_type(self, value): + if isinstance(value, str): + try: + return models.MappingTypeOptions(value) + except ValueError: + return value + return value - object_acl: Annotated[ - Optional[ObjectACLOptions], pydantic.Field(alias="objectACL") - ] = None - r"""Object ACL to assign to uploaded objects""" + @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 - storage_class: Annotated[ - Optional[StorageClassOptions], pydantic.Field(alias="storageClass") - ] = None - r"""Storage class to select for uploaded objects""" + @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 - server_side_encryption: Annotated[ - Optional[ServerSideEncryptionForUploadedObjectsOptions], - pydantic.Field(alias="serverSideEncryption"), - ] = None - r"""Server-side encryption to use for uploaded objects""" + @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 - 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""" + @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 - aws_authentication_method: Annotated[ - Optional[CreateOutputAwsAuthenticationMethod], - pydantic.Field(alias="awsAuthenticationMethod"), - ] = None + @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 - format_: Annotated[ - Optional[CreateOutputFormatCriblLake], pydantic.Field(alias="format") - ] = None + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "pipeline", + "systemFields", + "environment", + "streamtags", + "authType", + "format", + "mappingType", + "asyncInserts", + "tls", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "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_url", + "__template_database", + "__template_tableName", + "__template_failedRequestLoggingMode", + "__template_onBackpressure", + ] + ) + serialized = handler(self) + m = {} - 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.""" + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) - description: Optional[str] = None + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val - empty_dir_cleanup_sec: Annotated[ - Optional[float], pydantic.Field(alias="emptyDirCleanupSec") - ] = None - r"""How frequently, in seconds, to clean up empty directories""" + return m - 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""" +class CreateOutputTypeDiskSpool(str, Enum): + DISK_SPOOL = "disk_spool" - 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 +class CreateOutputOutputDiskSpoolTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + 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.""" + 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"""Metadata tags used for categorization and filtering.""" + 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.""" - 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.""" +class CreateOutputOutputDiskSpool(BaseModel): + id: str + r"""Unique ID for this output""" - 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.""" + type: CreateOutputTypeDiskSpool - 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.""" + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") ] = 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"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - 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.""" + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - 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.""" + streamtags: Optional[List[str]] = None + r"""Metadata tags used for categorization and filtering.""" - 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.""" + time_window: Annotated[Optional[str], pydantic.Field(alias="timeWindow")] = None + r"""Time period for grouping spooled events. Default is 10m.""" - 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.""" + 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.""" - 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.""" + 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.""" - 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.""" + compress: Optional[CompressionOptionsPersistence] = None + r"""Data compression format. Default is gzip.""" - 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.""" + 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.""" - 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.""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - template_kms_key_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_kmsKeyId") + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") ] = 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.""" - - @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("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("aws_authentication_method") - def serialize_aws_authentication_method(self, value): - if isinstance(value, str): - try: - return models.CreateOutputAwsAuthenticationMethod(value) - except ValueError: - return value - return value + r"""Binds 'streamtags' to a 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("format_") - def serialize_format_(self, value): + @field_serializer("compress") + def serialize_compress(self, value): if isinstance(value, str): try: - return models.CreateOutputFormatCriblLake(value) + return models.CompressionOptionsPersistence(value) except ValueError: return value return value @@ -10646,63 +11263,13 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "endpoint", - "enableAssumeRole", - "assumeRoleArn", - "assumeRoleExternalId", - "durationSeconds", - "reuseConnections", - "rejectUnauthorized", - "bucket", - "region", - "destPath", - "verifyPermissions", - "maxClosingFilesToBackpressure", - "stagePath", - "addIdToStagePath", - "removeEmptyDirs", - "baseFileName", - "fileNameSuffix", - "maxFileSizeMB", - "maxFileOpenTimeSec", - "maxFileIdleTimeSec", - "maxOpenFiles", - "headerLine", - "writeHighWaterMark", - "onBackpressure", - "deadletterEnabled", - "onDiskFullBackpressure", - "forceCloseOnShutdown", - "retrySettings", - "orphans", - "awsSecretKey", - "objectACL", - "storageClass", - "serverSideEncryption", - "kmsKeyId", - "awsAuthenticationMethod", - "format", - "maxConcurrentFileParts", + "timeWindow", + "maxDataSize", + "maxDataTime", + "compress", + "partitionExpr", "description", - "emptyDirCleanupSec", - "directoryBatchSize", - "deadletterPath", - "maxRetryNum", "__template_streamtags", - "__template_endpoint", - "__template_assumeRoleArn", - "__template_assumeRoleExternalId", - "__template_bucket", - "__template_region", - "__template_destPath", - "__template_baseFileName", - "__template_fileNameSuffix", - "__template_onBackpressure", - "__template_awsSecretKey", - "__template_objectACL", - "__template_storageClass", - "__template_serverSideEncryption", - "__template_kmsKeyId", ] ) serialized = handler(self) @@ -10719,60 +11286,38 @@ def serialize_model(self, handler): return m -class CreateOutputTypeSecurityLake(str, Enum): - SECURITY_LAKE = "security_lake" +class CreateOutputTypeCriblLake(str, Enum): + CRIBL_LAKE = "cribl_lake" -class CreateOutputOutputSecurityLakeTypedDict(TypedDict): +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: 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. 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"""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""" + 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"""Metadata tags used for categorization and filtering.""" + 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] @@ -10795,17 +11340,22 @@ 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""" + 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] @@ -10824,80 +11374,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""" @@ -10905,62 +11410,16 @@ 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.""" 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.""" + r"""Metadata tags used for categorization and filtering.""" - 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") @@ -10977,6 +11436,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 @@ -11033,34 +11497,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 @@ -11107,14 +11583,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 @@ -11125,11 +11593,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 @@ -11145,95 +11608,36 @@ 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_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") + template_base_file_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_baseFileName") ] = 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 '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_kms_key_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_kmsKeyId") + template_file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="__template_fileNameSuffix") ] = 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 '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_account_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_accountId") + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = 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.""" + r"""Binds 'onBackpressure' to a variable 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_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): @@ -11252,29 +11656,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 @@ -11305,19 +11709,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", @@ -11330,12 +11726,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", @@ -11345,30 +11745,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", ] ) @@ -11386,32 +11772,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}""" + r"""Metadata tags used for categorization and filtering.""" 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] @@ -11422,10 +11814,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] @@ -11436,12 +11824,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] @@ -11465,7 +11849,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] @@ -11474,21 +11857,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] @@ -11507,10 +11877,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] @@ -11527,14 +11905,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] @@ -11547,55 +11919,62 @@ 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.""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" 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 @@ -11622,12 +12001,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 @@ -11653,21 +12026,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 @@ -11727,7 +12090,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") @@ -11748,37 +12110,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 @@ -11825,6 +12161,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 @@ -11835,6 +12180,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 @@ -11873,28 +12223,13 @@ class CreateOutputOutputDlS3(BaseModel): 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_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.""" + 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 @@ -11925,21 +12260,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 @@ -11954,15 +12289,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): @@ -12008,24 +12334,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): @@ -12054,22 +12362,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", @@ -12087,14 +12390,7 @@ def serialize_model(self, handler): "storageClass", "serverSideEncryption", "kmsKeyId", - "partitioningFields", - "description", - "awsApiKey", - "awsSecret", - "compress", - "compressionLevel", "automaticSchema", - "parquetSchema", "parquetVersion", "parquetDataPageVersion", "parquetRowGroupLength", @@ -12104,8 +12400,12 @@ def serialize_model(self, handler): "enableStatistics", "enableWritePageIndex", "enablePageChecksum", + "description", + "awsApiKey", + "awsSecret", "emptyDirCleanupSec", "directoryBatchSize", + "parquetSchema", "deadletterPath", "maxRetryNum", "__template_streamtags", @@ -12114,19 +12414,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", ] ) @@ -12144,28 +12441,18 @@ def serialize_model(self, handler): return m -class CreateOutputTypeCrowdstrikeNextGenSiem(str, Enum): - CROWDSTRIKE_NEXT_GEN_SIEM = "crowdstrike_next_gen_siem" - - -class CreateOutputPqControlsCrowdstrikeNextGenSiemTypedDict(TypedDict): - pass - - -class CreateOutputPqControlsCrowdstrikeNextGenSiem(BaseModel): - pass +class CreateOutputTypeDlS3(str, Enum): + DL_S3 = "dl_s3" -class CreateOutputOutputCrowdstrikeNextGenSiemTypedDict(TypedDict): +class CreateOutputOutputDlS3TypedDict(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.""" + 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]] @@ -12173,93 +12460,170 @@ class CreateOutputOutputCrowdstrikeNextGenSiemTypedDict(TypedDict): 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""" + r"""Metadata tags used for categorization and filtering.""" + 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 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"""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] - 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 1MB.""" - pq_controls: NotRequired[CreateOutputPqControlsCrowdstrikeNextGenSiemTypedDict] + 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_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_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 CreateOutputOutputCrowdstrikeNextGenSiem(BaseModel): +class CreateOutputOutputDlS3(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeCrowdstrikeNextGenSiem + type: CreateOutputTypeDlS3 - url: str - r"""URL provided from a CrowdStrike data connector. - Example: https://ingest..crowdstrike.com/api/ingest/hec//v1/services/collector - """ + 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}`""" - 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.""" + 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""" @@ -12273,639 +12637,466 @@ class CreateOutputOutputCrowdstrikeNextGenSiem(BaseModel): 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}""" - - 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""" - - 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)""" + r"""Metadata tags used for categorization and filtering.""" - 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.""" + 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.""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + enable_assume_role: Annotated[ + Optional[bool], pydantic.Field(alias="enableAssumeRole") ] = None - r"""How to handle events when all receivers are exerting backpressure""" - - description: Optional[str] = None - - token: Optional[str] = None + r"""Use Assume Role credentials to access S3""" - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" + assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( + None + ) + r"""Amazon Resource Name (ARN) of the role to assume""" - pq_strict_ordering: Annotated[ - Optional[bool], pydantic.Field(alias="pqStrictOrdering") + assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="assumeRoleExternalId") ] = None - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + r"""External ID to use when assuming role""" - pq_rate_per_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqRatePerSec") + duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="durationSeconds") ] = 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"""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_max_buffer_size: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBufferSize") + aws_authentication_method: Annotated[ + Optional[AuthenticationMethodOptionsS3CollectorConf], + pydantic.Field(alias="awsAuthenticationMethod"), ] = 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"""AWS authentication method. Choose Auto to use IAM roles.""" - pq_max_backpressure_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") + reuse_connections: Annotated[ + Optional[bool], pydantic.Field(alias="reuseConnections") ] = None - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + r"""Reuse connections between requests, which can improve performance""" - pq_max_file_size: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxFileSize") + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = None - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - 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.""" + region: Optional[str] = None + r"""Region where the S3 bucket is located""" - 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: //.""" + 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}`""" - pq_compress: Annotated[ - Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") + max_concurrent_file_parts: Annotated[ + Optional[float], pydantic.Field(alias="maxConcurrentFileParts") ] = None - r"""Codec to use to compress the persisted data""" + r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" - pq_on_backpressure: Annotated[ - Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") + verify_permissions: Annotated[ + Optional[bool], pydantic.Field(alias="verifyPermissions") ] = 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"""Disable if you can access files within the bucket but not the bucket itself""" - pq_max_buffer_size_bytes: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") + max_closing_files_to_backpressure: Annotated[ + Optional[float], pydantic.Field(alias="maxClosingFilesToBackpressure") ] = 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 1MB.""" + r"""Maximum number of files that can be waiting for upload before backpressure is applied""" - pq_controls: Annotated[ - Optional[CreateOutputPqControlsCrowdstrikeNextGenSiem], - pydantic.Field(alias="pqControls"), + add_id_to_stage_path: Annotated[ + Optional[bool], pydantic.Field(alias="addIdToStagePath") ] = None + r"""Add the Output ID value to staging location""" - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") + remove_empty_dirs: Annotated[ + Optional[bool], pydantic.Field(alias="removeEmptyDirs") ] = 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"""Remove empty staging directories after moving files""" - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( 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.""" - - @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 + r"""Format of the output data""" - @field_serializer("format_") - def serialize_format_(self, value): - if isinstance(value, str): - try: - return models.RequestFormatOptions(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("auth_type") - def serialize_auth_type(self, value): - if isinstance(value, str): - try: - return models.AuthenticationMethodOptionsAuthTokensItems(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("on_backpressure") - def serialize_on_backpressure(self, value): - if isinstance(value, str): - try: - return models.BackpressureBehaviorOptions(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_mode") - def serialize_pq_mode(self, value): - if isinstance(value, str): - try: - return models.ModeOptions(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("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_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("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_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( - [ - "pipeline", - "systemFields", - "environment", - "streamtags", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", - "failedRequestLoggingMode", - "safeHeaders", - "authType", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "onBackpressure", - "description", - "token", - "textSecret", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "__template_streamtags", - "__template_url", - "__template_failedRequestLoggingMode", - "__template_onBackpressure", - ] - ) - 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 CreateOutputTypeHumioHec(str, Enum): - HUMIO_HEC = "humio_hec" + 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 CreateOutputPqControlsHumioHecTypedDict(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 CreateOutputPqControlsHumioHec(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 CreateOutputOutputHumioHecTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - 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]] - 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] - 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] - 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 1MB.""" - 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.""" + 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 CreateOutputOutputHumioHec(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: CreateOutputTypeHumioHec + description: Optional[str] = None + r"""Optional description for this configuration.""" - 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""" + 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.""" + r"""Compression level to apply before moving files to final destination""" - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + automatic_schema: Annotated[ + Optional[bool], pydantic.Field(alias="automaticSchema") + ] = None + r"""Automatically calculate the schema based on the events of each Parquet file generated""" - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + 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 requests before blocking""" + parquet_version: Annotated[ + Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") + ] = None + r"""Determines which data types are supported and how they are represented""" - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + parquet_data_page_version: Annotated[ + Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") ] = None - r"""Maximum size, in KB, of the request body""" + 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_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") + parquet_row_group_length: Annotated[ + Optional[float], pydantic.Field(alias="parquetRowGroupLength") ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - compress: Optional[bool] = None - r"""Compress the payload body before sending""" + 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.""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + should_log_invalid_rows: Annotated[ + Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") ] = 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"""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"), + ] = 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\" """ - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + enable_statistics: Annotated[ + Optional[bool], pydantic.Field(alias="enableStatistics") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + 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.""" - extra_http_headers: Annotated[ - Optional[List[ExtraHTTPHeaderConfInputElastic]], - pydantic.Field(alias="extraHttpHeaders"), + enable_write_page_index: Annotated[ + Optional[bool], pydantic.Field(alias="enableWritePageIndex") ] = None - r"""Headers to add to all events""" + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") + enable_page_checksum: Annotated[ + Optional[bool], pydantic.Field(alias="enablePageChecksum") ] = 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"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), + empty_dir_cleanup_sec: Annotated[ + Optional[float], pydantic.Field(alias="emptyDirCleanupSec") ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + r"""How frequently, in seconds, to clean up empty directories""" - safe_headers: Annotated[ - Optional[List[str]], pydantic.Field(alias="safeHeaders") + directory_batch_size: Annotated[ + Optional[float], pydantic.Field(alias="directoryBatchSize") ] = None - r"""List of headers that are safe to log in plain text""" + 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.""" - auth_type: Annotated[ - Optional[AuthenticationMethodOptionsAuthTokensItems], - pydantic.Field(alias="authType"), + deadletter_path: Annotated[ + Optional[str], pydantic.Field(alias="deadletterPath") ] = None - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), + 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"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + 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.""" - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + template_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleArn") ] = 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 '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.""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + template_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") ] = None - r"""How to handle events when all receivers are exerting backpressure""" + 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_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.""" - token: Optional[str] = None - r"""CrowdStrike Falcon LogScale authentication token""" + 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.""" - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" + 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_strict_ordering: Annotated[ - Optional[bool], pydantic.Field(alias="pqStrictOrdering") + template_format: Annotated[ + Optional[str], pydantic.Field(alias="__template_format") ] = None - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + 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_rate_per_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqRatePerSec") + template_base_file_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_baseFileName") ] = None - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + 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_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_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.""" - pq_max_buffer_size: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBufferSize") + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = 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 'onBackpressure' to a 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_max_backpressure_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") + template_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsSecretKey") ] = None - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + 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_max_file_size: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxFileSize") + template_object_acl: Annotated[ + Optional[str], pydantic.Field(alias="__template_objectACL") ] = None - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + 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_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_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.""" - 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_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.""" - pq_compress: Annotated[ - Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") + template_kms_key_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_kmsKeyId") ] = None - r"""Codec to use to compress the persisted data""" + 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.""" - pq_on_backpressure: Annotated[ - Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") + template_partitioning_fields: Annotated[ + Optional[str], pydantic.Field(alias="__template_partitioningFields") ] = 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 '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.""" - pq_max_buffer_size_bytes: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") + template_aws_api_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsApiKey") ] = 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 1MB.""" + 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.""" - pq_controls: Annotated[ - Optional[CreateOutputPqControlsHumioHec], pydantic.Field(alias="pqControls") + 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_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") + template_parquet_schema: Annotated[ + Optional[str], pydantic.Field(alias="__template_parquetSchema") ] = 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 '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_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("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 - 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.""" + @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 - 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("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("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("object_acl") + def serialize_object_acl(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.ObjectACLOptions(value) except ValueError: return value return value - @field_serializer("format_") - def serialize_format_(self, value): + @field_serializer("storage_class") + def serialize_storage_class(self, value): if isinstance(value, str): try: - return models.RequestFormatOptions(value) + return models.StorageClassOptions(value) except ValueError: return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): + @field_serializer("server_side_encryption") + def serialize_server_side_encryption(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsAuthTokensItems(value) + return models.ServerSideEncryptionForUploadedObjectsOptions(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 @@ -12918,41 +13109,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", + "deadletterEnabled", + "onDiskFullBackpressure", + "forceCloseOnShutdown", + "retrySettings", + "orphans", + "awsSecretKey", + "objectACL", + "storageClass", + "serverSideEncryption", + "kmsKeyId", + "partitioningFields", "description", - "token", - "textSecret", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", + "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) @@ -12969,22 +13201,28 @@ def serialize_model(self, handler): return m -class CreateOutputTypeCriblSearchEngine(str, Enum): - CRIBL_SEARCH_ENGINE = "cribl_search_engine" +class CreateOutputTypeCrowdstrikeNextGenSiem(str, Enum): + CROWDSTRIKE_NEXT_GEN_SIEM = "crowdstrike_next_gen_siem" -class CreateOutputPqControlsCriblSearchEngineTypedDict(TypedDict): +class CreateOutputPqControlsCrowdstrikeNextGenSiemTypedDict(TypedDict): pass -class CreateOutputPqControlsCriblSearchEngine(BaseModel): +class CreateOutputPqControlsCrowdstrikeNextGenSiem(BaseModel): pass -class CreateOutputOutputCriblSearchEngineTypedDict(TypedDict): +class CreateOutputOutputCrowdstrikeNextGenSiemTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeCriblSearchEngine + 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]] @@ -12992,22 +13230,15 @@ class CreateOutputOutputCriblSearchEngineTypedDict(TypedDict): 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"""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""" + r"""Metadata tags used for categorization and filtering.""" 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), @@ -13019,12 +13250,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] ] @@ -13032,22 +13265,13 @@ 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] + 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] @@ -13069,57 +13293,45 @@ class CreateOutputOutputCriblSearchEngineTypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[CreateOutputPqControlsCriblSearchEngineTypedDict] + r"""The maximum size to hold in memory before writing events 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.""" - 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 CreateOutputOutputCrowdstrikeNextGenSiem(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeCriblSearchEngine - - 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.""" + type: CreateOutputTypeCrowdstrikeNextGenSiem - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + url: str + r"""URL provided from a CrowdStrike data connector. + Example: https://ingest..crowdstrike.com/api/ingest/hec//v1/services/collector + """ - 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.""" + 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.""" - tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" - token_ttl_minutes: Annotated[ - Optional[float], pydantic.Field(alias="tokenTTLMinutes") + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") ] = None - r"""The number of minutes before the internally generated authentication token expires. Valid values are between 1 and 60.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - 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.""" + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - compression: Optional[CompressionOptionsGzipNone] = None - r"""Codec to use to compress the data before sending""" + streamtags: Optional[List[str]] = None + r"""Metadata tags used for categorization and filtering.""" concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -13134,6 +13346,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 @@ -13156,6 +13371,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"), @@ -13167,10 +13387,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]], @@ -13187,40 +13408,18 @@ 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 - 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") @@ -13269,10 +13468,10 @@ class CreateOutputOutputCriblSearchEngine(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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], + Optional[CreateOutputPqControlsCrowdstrikeNextGenSiem], pydantic.Field(alias="pqControls"), ] = None @@ -13281,6 +13480,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 @@ -13291,25 +13495,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 @@ -13358,33 +13566,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", @@ -13398,9 +13598,9 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", + "__template_url", "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_url", ] ) serialized = handler(self) @@ -13417,22 +13617,26 @@ def serialize_model(self, handler): return m -class CreateOutputTypeCriblHTTP(str, Enum): - CRIBL_HTTP = "cribl_http" +class CreateOutputTypeHumioHec(str, Enum): + HUMIO_HEC = "humio_hec" -class CreateOutputPqControlsCriblHTTPTypedDict(TypedDict): +class CreateOutputPqControlsHumioHecTypedDict(TypedDict): pass -class CreateOutputPqControlsCriblHTTP(BaseModel): +class CreateOutputPqControlsHumioHec(BaseModel): pass -class CreateOutputOutputCriblHTTPTypedDict(TypedDict): +class CreateOutputOutputHumioHecTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeCriblHTTP + 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]] @@ -13440,22 +13644,15 @@ class CreateOutputOutputCriblHTTPTypedDict(TypedDict): 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"""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""" + r"""Metadata tags used for categorization and filtering.""" 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), @@ -13467,12 +13664,14 @@ class CreateOutputOutputCriblHTTPTypedDict(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] ] @@ -13480,22 +13679,14 @@ class CreateOutputOutputCriblHTTPTypedDict(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 HTTP Source in Cribl.Cloud.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] - 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]] - 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] @@ -13517,23 +13708,29 @@ class CreateOutputOutputCriblHTTPTypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[CreateOutputPqControlsCriblHTTPTypedDict] + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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 CreateOutputOutputCriblHTTP(BaseModel): +class CreateOutputOutputHumioHec(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeCriblHTTP + 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""" @@ -13547,27 +13744,7 @@ class CreateOutputOutputCriblHTTP(BaseModel): 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}""" - - 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""" + r"""Metadata tags used for categorization and filtering.""" concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -13582,6 +13759,9 @@ class CreateOutputOutputCriblHTTP(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 @@ -13604,6 +13784,11 @@ class CreateOutputOutputCriblHTTP(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"), @@ -13615,10 +13800,11 @@ class CreateOutputOutputCriblHTTP(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]], @@ -13635,40 +13821,19 @@ class CreateOutputOutputCriblHTTP(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 HTTP 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 + 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""" - - 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[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") @@ -13717,10 +13882,10 @@ class CreateOutputOutputCriblHTTP(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[CreateOutputPqControlsHumioHec], pydantic.Field(alias="pqControls") ] = None template_streamtags: Annotated[ @@ -13728,6 +13893,11 @@ class CreateOutputOutputCriblHTTP(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 @@ -13736,27 +13906,31 @@ class CreateOutputOutputCriblHTTP(BaseModel): 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.""" + r"""Binds 'onBackpressure' to a 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.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 @@ -13805,33 +13979,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", "description", - "url", - "useRoundRobinDns", - "excludeSelf", - "urls", - "dnsResolvePeriodSec", - "loadBalanceStatsPeriodSec", + "token", + "textSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -13845,9 +14011,9 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", + "__template_url", "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_url", ] ) serialized = handler(self) @@ -13864,22 +14030,22 @@ def serialize_model(self, handler): return m -class CreateOutputTypeCriblTCP(str, Enum): - CRIBL_TCP = "cribl_tcp" +class CreateOutputTypeCriblSearchEngine(str, Enum): + CRIBL_SEARCH_ENGINE = "cribl_search_engine" -class CreateOutputPqControlsCriblTCPTypedDict(TypedDict): +class CreateOutputPqControlsCriblSearchEngineTypedDict(TypedDict): pass -class CreateOutputPqControlsCriblTCP(BaseModel): +class CreateOutputPqControlsCriblSearchEngine(BaseModel): pass -class CreateOutputOutputCriblTCPTypedDict(TypedDict): +class CreateOutputOutputCriblSearchEngineTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeCriblTCP + type: CreateOutputTypeCriblSearchEngine pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -13887,43 +14053,63 @@ class CreateOutputOutputCriblTCPTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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 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] - 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""" 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] @@ -13945,23 +14131,23 @@ class CreateOutputOutputCriblTCPTypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[CreateOutputPqControlsCriblTCPTypedDict] + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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 CreateOutputOutputCriblSearchEngine(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeCriblTCP + type: CreateOutputTypeCriblSearchEngine pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -13975,71 +14161,119 @@ class CreateOutputOutputCriblTCP(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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 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 + 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.""" - host: Optional[str] = None - r"""The hostname of the receiver""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - port: Optional[float] = None - r"""The port to connect to on the provided host""" + 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""" - 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") @@ -14051,11 +14285,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 @@ -14103,10 +14332,11 @@ class CreateOutputOutputCriblTCP(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[CreateOutputPqControlsCriblSearchEngine], + pydantic.Field(alias="pqControls"), ] = None template_streamtags: Annotated[ @@ -14114,20 +14344,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): @@ -14138,6 +14368,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): @@ -14183,24 +14422,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", + "useRoundRobinDns", "description", - "host", - "port", + "url", "excludeSelf", - "hosts", + "urls", "dnsResolvePeriodSec", "loadBalanceStatsPeriodSec", - "maxConcurrentSenders", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -14214,9 +14461,9 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", + "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_host", - "__template_port", + "__template_url", ] ) serialized = handler(self) @@ -14233,52 +14480,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 CreateOutputTypeCriblHTTP(str, Enum): + CRIBL_HTTP = "cribl_http" -class CreateOutputPqControlsDatasetTypedDict(TypedDict): +class CreateOutputPqControlsCriblHTTPTypedDict(TypedDict): pass -class CreateOutputPqControlsDataset(BaseModel): +class CreateOutputPqControlsCriblHTTP(BaseModel): pass -class CreateOutputOutputDatasetTypedDict(TypedDict): +class CreateOutputOutputCriblHTTPTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeDataset + type: CreateOutputTypeCriblHTTP pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -14286,34 +14503,22 @@ class CreateOutputOutputDatasetTypedDict(TypedDict): 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.""" + r"""Metadata tags used for categorization and filtering.""" + 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 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""" + 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), @@ -14325,20 +14530,36 @@ class CreateOutputOutputDatasetTypedDict(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.""" + 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""" - 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.""" + 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]] + 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] @@ -14360,27 +14581,23 @@ class CreateOutputOutputDatasetTypedDict(TypedDict): 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 1MB.""" - 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""" + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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_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 CreateOutputOutputDataset(BaseModel): +class CreateOutputOutputCriblHTTP(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeDataset + type: CreateOutputTypeCriblHTTP pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -14394,48 +14611,27 @@ class CreateOutputOutputDataset(BaseModel): 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}""" - - 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.""" + r"""Metadata tags used for categorization and filtering.""" - 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.""" + 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.""" - 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)""" + tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + 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.""" - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + exclude_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="excludeFields") ] = 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"""Fields to exclude from the event. By default, all internal fields except `__output` are sent. Example: `cribl_pipe`, `c*`. Wildcards supported.""" - site: Optional[CreateOutputDataSetSite] = None - r"""DataSet site to which events should be sent""" + 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""" @@ -14450,9 +14646,6 @@ class CreateOutputOutputDataset(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 @@ -14475,11 +14668,6 @@ class CreateOutputOutputDataset(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"), @@ -14491,24 +14679,61 @@ class CreateOutputOutputDataset(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") + ] = 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.""" + + 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.""" + + 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.""" + 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") + 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""" + + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") ] = None - r"""Enter API key directly, or select a stored secret""" + 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""" - 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.""" + urls: Optional[List[URLConfOutputCriblHTTP]] = None - description: Optional[str] = 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""" - custom_url: Annotated[Optional[str], pydantic.Field(alias="customUrl")] = 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""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -14557,18 +14782,12 @@ class CreateOutputOutputDataset(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[CreateOutputPqControlsCriblHTTP], 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 @@ -14584,25 +14803,16 @@ class CreateOutputOutputDataset(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("default_severity") - def serialize_default_severity(self, value): - if isinstance(value, str): - try: - return models.CreateOutputSeverityDataset(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("site") - def serialize_site(self, value): + @field_serializer("compression") + def serialize_compression(self, value): if isinstance(value, str): try: - return models.CreateOutputDataSetSite(value) + return models.CompressionOptionsGzipNone(value) except ValueError: return value return value @@ -14625,15 +14835,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): @@ -14669,31 +14870,33 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "messageField", + "loadBalanced", + "tls", + "tokenTTLMinutes", "excludeFields", - "serverHostField", - "timestampField", - "defaultSeverity", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "site", + "compression", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", - "compress", "rejectUnauthorized", "timeoutSec", "flushPeriodSec", "extraHttpHeaders", - "useRoundRobinDns", "failedRequestLoggingMode", "safeHeaders", + "throttleRatePerSec", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "authTokens", "onBackpressure", - "authType", - "totalMemoryLimitKB", "description", - "customUrl", + "url", + "useRoundRobinDns", + "excludeSelf", + "urls", + "dnsResolvePeriodSec", + "loadBalanceStatsPeriodSec", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -14706,12 +14909,10 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", - "apiKey", - "textSecret", "__template_streamtags", "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_customUrl", + "__template_url", ] ) serialized = handler(self) @@ -14728,30 +14929,22 @@ def serialize_model(self, handler): return m -class CreateOutputTypeServiceNow(str, Enum): - SERVICE_NOW = "service_now" +class CreateOutputTypeCriblTCP(str, Enum): + CRIBL_TCP = "cribl_tcp" -class CreateOutputPqControlsServiceNowTypedDict(TypedDict): +class CreateOutputPqControlsCriblTCPTypedDict(TypedDict): pass -class CreateOutputPqControlsServiceNow(BaseModel): +class CreateOutputPqControlsCriblTCP(BaseModel): pass -class CreateOutputOutputServiceNowTypedDict(TypedDict): +class CreateOutputOutputCriblTCPTypedDict(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""" + type: CreateOutputTypeCriblTCP pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -14759,62 +14952,44 @@ class CreateOutputOutputServiceNowTypedDict(TypedDict): 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.""" - 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.""" + r"""Metadata tags used for categorization and filtering.""" + 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""" - 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""" + 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. 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""" description: NotRequired[str] - 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.""" - 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[ - 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] + 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] @@ -14836,122 +15011,82 @@ class CreateOutputOutputServiceNowTypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[CreateOutputPqControlsServiceNowTypedDict] + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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 CreateOutputOutputServiceNow(BaseModel): +class CreateOutputOutputCriblTCP(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""" - - 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}""" - - auth_token_name: Annotated[Optional[str], pydantic.Field(alias="authTokenName")] = ( - None - ) - - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") - ] = 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""" - - http_compress: Annotated[ - Optional[CompressionOptionsMessages], pydantic.Field(alias="httpCompress") - ] = None - r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" - - 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""" + type: CreateOutputTypeCriblTCP - 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'.""" + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" - dynamic_headers_enabled: Annotated[ - Optional[bool], pydantic.Field(alias="dynamicHeadersEnabled") + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") ] = None - r"""Batch event data upon dynamic metadata (whether presented or not)""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - 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.""" + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" + streamtags: Optional[List[str]] = None + r"""Metadata tags used for categorization and filtering.""" - 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""" + load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( + None + ) + r"""Use load-balanced destinations""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + compression: Optional[CompressionOptionsGzipNone] = None + r"""Codec to use to compress the data before sending""" + + log_failed_requests: Annotated[ + Optional[bool], pydantic.Field(alias="logFailedRequests") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + r"""Use to troubleshoot issues with sending data""" - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), + throttle_rate_per_sec: Annotated[ + Optional[str], pydantic.Field(alias="throttleRatePerSec") ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + 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") ] = 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") + 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"""How often the sender should ping the peer to keep the connection open""" + r"""The number of minutes before the internally generated authentication token expires, valid values between 1 and 60""" - keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None - r"""Disable to close the connection immediately after sending the outgoing request""" + auth_tokens: Annotated[ + Optional[List[AuthTokenConfInputCriblTCP]], 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 TCP Source in Cribl.Cloud.""" + + 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.""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") @@ -14959,47 +15094,34 @@ class CreateOutputOutputServiceNow(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") - ] = 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. - """ + host: Optional[str] = None + r"""The hostname of the receiver""" - 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.""" + port: Optional[float] = None + r"""The port to connect to on the provided host""" - extra_http_headers: Annotated[ - Optional[List[ExtraHTTPHeaderConfInputElastic]], - pydantic.Field(alias="extraHttpHeaders"), - ] = None - r"""Headers to add to all events""" + 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""" - safe_headers: Annotated[ - Optional[List[str]], pydantic.Field(alias="safeHeaders") - ] = None - r"""List of headers that are safe to log in plain text""" + hosts: Optional[List[HostConfOutputSyslog]] = None + r"""Set of hosts to load-balance data to""" - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), + dns_resolve_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + 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""" - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + max_concurrent_senders: Annotated[ + Optional[float], pydantic.Field(alias="maxConcurrentSenders") ] = 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.""" - - tls: Optional[TLSSettingsClientSideTypeExtended] = 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") @@ -15048,10 +15170,10 @@ class CreateOutputOutputServiceNow(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[CreateOutputPqControlsCriblTCP], pydantic.Field(alias="pqControls") ] = None template_streamtags: Annotated[ @@ -15059,57 +15181,26 @@ class CreateOutputOutputServiceNow(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.""" - @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("protocol") - def serialize_protocol(self, value): - if isinstance(value, str): - try: - return models.ProtocolOptions(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 + 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("http_compress") - def serialize_http_compress(self, value): - if isinstance(value, str): - try: - return models.CompressionOptionsMessages(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 @@ -15158,33 +15249,25 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "authTokenName", - "maxPayloadSizeKB", - "compress", - "httpCompress", - "httpTracesEndpointOverride", - "httpMetricsEndpointOverride", - "httpLogsEndpointOverride", - "metadata", - "dynamicHeadersEnabled", - "dynamicHeadersField", - "concurrency", - "timeoutSec", - "flushPeriodSec", - "failedRequestLoggingMode", + "loadBalanced", + "compression", + "logFailedRequests", + "throttleRatePerSec", + "tls", "connectionTimeout", - "keepAliveTime", - "keepAlive", + "writeTimeout", + "tokenTTLMinutes", + "authTokens", + "excludeFields", "onBackpressure", "description", - "rejectUnauthorized", - "useRoundRobinDns", - "extraHttpHeaders", - "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "tls", + "host", + "port", + "excludeSelf", + "hosts", + "dnsResolvePeriodSec", + "loadBalanceStatsPeriodSec", + "maxConcurrentSenders", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -15198,8 +15281,9 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", - "__template_failedRequestLoggingMode", "__template_onBackpressure", + "__template_host", + "__template_port", ] ) serialized = handler(self) @@ -15216,50 +15300,52 @@ def serialize_model(self, handler): return m -class CreateOutputTypeOpenTelemetry(str, Enum): - OPEN_TELEMETRY = "open_telemetry" +class CreateOutputTypeDataset(str, Enum): + DATASET = "dataset" -class CreateOutputOTLPVersion(str, Enum, metaclass=utils.OpenEnumMeta): - r"""The version of OTLP Protobuf definitions to use when structuring data to send""" +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.10.0 - ZERO_DOT_10_DOT_0 = "0.10.0" - # 1.3.1 - ONE_DOT_3_DOT_1 = "1.3.1" + # 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 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 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 CreateOutputPqControlsOpenTelemetryTypedDict(TypedDict): +class CreateOutputPqControlsDatasetTypedDict(TypedDict): pass -class CreateOutputPqControlsOpenTelemetry(BaseModel): +class CreateOutputPqControlsDataset(BaseModel): pass -class CreateOutputOutputOpenTelemetryTypedDict(TypedDict): +class CreateOutputOutputDatasetTypedDict(TypedDict): 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.""" + type: CreateOutputTypeDataset pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -15267,90 +15353,60 @@ class CreateOutputOutputOpenTelemetryTypedDict(TypedDict): 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[ProtocolOptions] - r"""Select a transport option for OpenTelemetry""" - otlp_version: NotRequired[CreateOutputOTLPVersion] - 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.""" + r"""Metadata tags used for categorization and filtering.""" + 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""" 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] - 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] - 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.""" + 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] @@ -15372,26 +15428,27 @@ class CreateOutputOutputOpenTelemetryTypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[CreateOutputPqControlsOpenTelemetryTypedDict] + r"""The maximum size to hold in memory before writing events 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""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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_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 CreateOutputOutputOpenTelemetry(BaseModel): +class CreateOutputOutputDataset(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.""" + type: CreateOutputTypeDataset pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -15405,153 +15462,64 @@ class CreateOutputOutputOpenTelemetry(BaseModel): 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[CreateOutputOTLPVersion], 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)""" - - 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""" - - 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") - ] = None - r"""How often the sender should ping the peer to keep the connection open""" + r"""Metadata tags used for categorization and filtering.""" - keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None - r"""Disable to close the connection immediately after sending the outgoing request""" + 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.""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + exclude_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="excludeFields") ] = 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""" + 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.""" - credentials_secret: Annotated[ - Optional[str], pydantic.Field(alias="credentialsSecret") + server_host_field: Annotated[ + Optional[str], pydantic.Field(alias="serverHostField") ] = 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""" + r"""Name of the event field that contains the `serverHost` identifier. If not specified, defaults to `cribl_`.""" - secret_param_name: Annotated[ - Optional[str], pydantic.Field(alias="secretParamName") + timestamp_field: Annotated[ + Optional[str], pydantic.Field(alias="timestampField") ] = None - r"""Secret parameter name to pass in request body""" + r"""Name of the event field that contains the timestamp. If not specified, defaults to `ts`, `_time`, or `Date.now()`, in that order.""" - oauth_text_secret: Annotated[ - Optional[str], pydantic.Field(alias="oauthTextSecret") + default_severity: Annotated[ + Optional[CreateOutputSeverityDataset], pydantic.Field(alias="defaultSeverity") ] = None - r"""Select or create a stored text secret for the OAuth secret parameter value to pass in request body""" + 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.""" - token_attribute_name: Annotated[ - Optional[str], pydantic.Field(alias="tokenAttributeName") + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), ] = 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').""" + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - auth_header_expr: Annotated[ - Optional[str], pydantic.Field(alias="authHeaderExpr") + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") ] = 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") + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") ] = None - r"""How often the OAuth token should be refreshed.""" + 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.""" - oauth_params: Annotated[ - Optional[List[OauthParamConfInputServicenowTable]], - pydantic.Field(alias="oauthParams"), + 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"""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"""Maximum size, in KB, of the request body""" - oauth_headers: Annotated[ - Optional[List[OauthHeaderConfInputServicenowTable]], - pydantic.Field(alias="oauthHeaders"), + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") ] = 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"""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") @@ -15561,10 +15529,13 @@ class CreateOutputOutputOpenTelemetry(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]], @@ -15572,27 +15543,41 @@ class CreateOutputOutputOpenTelemetry(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") @@ -15641,13 +15626,18 @@ class CreateOutputOutputOpenTelemetry(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[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 @@ -15663,43 +15653,43 @@ 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") + template_custom_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_customUrl") ] = 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.""" + 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): + @field_serializer("default_severity") + def serialize_default_severity(self, value): if isinstance(value, str): try: - return models.ProtocolOptions(value) + return models.CreateOutputSeverityDataset(value) except ValueError: return value return value - @field_serializer("otlp_version") - def serialize_otlp_version(self, value): + @field_serializer("site") + def serialize_site(self, value): if isinstance(value, str): try: - return models.CreateOutputOTLPVersion(value) + return models.CreateOutputDataSetSite(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.CompressionOptionsDeflateGzip(value) + return models.FailedRequestLoggingModeOptions(value) except ValueError: return value return value - @field_serializer("http_compress") - def serialize_http_compress(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.CompressionOptionsMessages(value) + return models.BackpressureBehaviorOptions(value) except ValueError: return value return value @@ -15708,25 +15698,7 @@ def serialize_http_compress(self, value): 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): - 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) + return models.AuthenticationMethodOptionsAPI(value) except ValueError: return value return value @@ -15766,48 +15738,31 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "protocol", - "otlpVersion", - "compress", - "httpCompress", - "authType", - "httpTracesEndpointOverride", - "httpMetricsEndpointOverride", - "httpLogsEndpointOverride", - "metadata", - "dynamicHeadersEnabled", - "dynamicHeadersField", + "messageField", + "excludeFields", + "serverHostField", + "timestampField", + "defaultSeverity", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "site", "concurrency", "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", "timeoutSec", "flushPeriodSec", + "extraHttpHeaders", + "useRoundRobinDns", "failedRequestLoggingMode", - "connectionTimeout", - "keepAliveTime", - "keepAlive", + "safeHeaders", "onBackpressure", + "authType", + "totalMemoryLimitKB", "description", - "username", - "password", - "token", - "credentialsSecret", - "textSecret", - "loginUrl", - "secretParamName", - "oauthTextSecret", - "tokenAttributeName", - "authHeaderExpr", - "tokenTimeoutSecs", - "oauthParams", - "oauthHeaders", - "rejectUnauthorized", - "useRoundRobinDns", - "extraHttpHeaders", - "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "tls", + "customUrl", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -15820,10 +15775,12 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", + "apiKey", + "textSecret", "__template_streamtags", "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_loginUrl", + "__template_customUrl", ] ) serialized = handler(self) @@ -15840,21 +15797,30 @@ def serialize_model(self, handler): return m -class CreateOutputTypeRing(str, Enum): - RING = "ring" +class CreateOutputTypeServiceNow(str, Enum): + SERVICE_NOW = "service_now" -class CreateOutputDataFormatRing(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Format of the output data.""" +class CreateOutputPqControlsServiceNowTypedDict(TypedDict): + pass - JSON = "json" - RAW = "raw" + +class CreateOutputPqControlsServiceNow(BaseModel): + pass -class CreateOutputOutputRingTypedDict(TypedDict): +class CreateOutputOutputServiceNowTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeRing + 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]] @@ -15862,32 +15828,111 @@ class CreateOutputOutputRingTypedDict(TypedDict): 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"""Metadata tags used for categorization and filtering.""" + 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.""" + 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] + 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. + """ + 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.""" + 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[ + 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] + 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[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.""" -class CreateOutputOutputRing(BaseModel): +class CreateOutputOutputServiceNow(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeRing + 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""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -15901,52 +15946,214 @@ class CreateOutputOutputRing(BaseModel): 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.""" + r"""Metadata tags used for categorization and filtering.""" - partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( + auth_token_name: Annotated[Optional[str], pydantic.Field(alias="authTokenName")] = ( 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_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + ] = None + r"""Maximum size, in KB, of the request body""" - 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[CompressionOptionsDeflateGzip] = None + r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" - compress: Optional[DataCompressionFormatOptionsPersistence] = None + http_compress: Annotated[ + Optional[CompressionOptionsMessages], pydantic.Field(alias="httpCompress") + ] = None + r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" - dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None - r"""Path to use to write metrics. Defaults to $CRIBL_HOME/state/""" + 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""" + + 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") + ] = 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[BackpressureBehaviorOptionsBlockDrop], - pydantic.Field(alias="onBackpressure"), + 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.""" + + extra_http_headers: Annotated[ + Optional[List[ExtraHTTPHeaderConfInputElastic]], + pydantic.Field(alias="extraHttpHeaders"), + ] = None + r"""Headers to add to all events""" + + 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.""" + + tls: Optional[TLSSettingsClientSideTypeExtended] = 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"""How to handle events when all receivers are exerting backpressure""" + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - description: Optional[str] = None + pq_controls: Annotated[ + Optional[CreateOutputPqControlsServiceNow], 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_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("format_") - def serialize_format_(self, value): + @field_serializer("otlp_version") + def serialize_otlp_version(self, value): if isinstance(value, str): try: - return models.CreateOutputDataFormatRing(value) + return models.OtlpVersionOptions131(value) + except ValueError: + return value + return value + + @field_serializer("protocol") + def serialize_protocol(self, value): + if isinstance(value, str): + try: + return models.ProtocolOptions(value) except ValueError: return value return value @@ -15955,7 +16162,25 @@ def serialize_format_(self, value): def serialize_compress(self, value): if isinstance(value, str): try: - return models.DataCompressionFormatOptionsPersistence(value) + return models.CompressionOptionsDeflateGzip(value) + except ValueError: + return value + return value + + @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 + + @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 @@ -15964,7 +16189,34 @@ def serialize_compress(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("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 @@ -15977,15 +16229,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", ] ) @@ -16003,59 +16287,132 @@ def serialize_model(self, handler): return m -class CreateOutputTypePrometheus(str, Enum): - PROMETHEUS = "prometheus" +class CreateOutputTypeOpenTelemetry(str, Enum): + OPEN_TELEMETRY = "open_telemetry" -class CreateOutputPqControlsPrometheusTypedDict(TypedDict): +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 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""" + r"""Metadata tags used for categorization and filtering.""" + 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[ @@ -16065,13 +16422,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[AuthenticationTypeOptionsPrometheusAuth] - 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] @@ -16093,34 +16444,26 @@ class CreateOutputOutputPrometheusTypedDict(TypedDict): 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 1MB.""" - 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""" + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable 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.""" + r"""Binds 'streamtags' to a variable 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 CreateOutputOutputPrometheus(BaseModel): +class CreateOutputOutputOpenTelemetry(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypePrometheus + type: CreateOutputTypeOpenTelemetry - url: str - r"""The endpoint to send metrics to""" + 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""" @@ -16128,28 +16471,63 @@ class CreateOutputOutputPrometheus(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 to generated metrics.""" + 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}""" + r"""Metadata tags used for categorization and filtering.""" - metric_rename_expr: Annotated[ - Optional[str], pydantic.Field(alias="metricRenameExpr") + protocol: Optional[ProtocolOptions] = None + r"""Select a transport option for OpenTelemetry""" + + otlp_version: Annotated[ + Optional[CreateOutputOTLPVersionOpenTelemetry], + pydantic.Field(alias="otlpVersion"), ] = 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"""The version of OTLP Protobuf definitions to use when structuring data to send""" - send_metadata: Annotated[Optional[bool], pydantic.Field(alias="sendMetadata")] = ( - None - ) - r"""Generate and send metadata (`type` and `metricFamilyName`) requests""" + compress: Optional[CompressionOptionsDeflateGzip] = None + r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" - use_prometheus_histogram_bucket_suffix: Annotated[ - Optional[bool], pydantic.Field(alias="usePrometheusHistogramBucketSuffix") + http_compress: Annotated[ + Optional[CompressionOptionsMessages], pydantic.Field(alias="httpCompress") ] = None - r"""Serialize histogram bucket series as `_bucket` to match Prometheus histogram naming convention""" + 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)""" + + 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""" @@ -16159,10 +16537,95 @@ class CreateOutputOutputPrometheus(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") @@ -16172,13 +16635,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]], @@ -16186,17 +16646,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 @@ -16217,23 +16666,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[AuthenticationTypeOptionsPrometheusAuth], - 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") @@ -16282,46 +16715,77 @@ class CreateOutputOutputPrometheus(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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") + Optional[CreateOutputPqControlsOpenTelemetry], + pydantic.Field(alias="pqControls"), ] = 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_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.""" + + @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.CreateOutputOTLPVersionOpenTelemetry(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 + + @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 + + @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): @@ -16341,15 +16805,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.AuthenticationTypeOptionsPrometheusAuth(value) - except ValueError: - return value - return value - @field_serializer("pq_mode") def serialize_pq_mode(self, value): if isinstance(value, str): @@ -16385,26 +16840,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", @@ -16417,15 +16894,10 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", - "username", - "password", - "token", - "credentialsSecret", - "textSecret", "__template_streamtags", - "__template_url", "__template_failedRequestLoggingMode", "__template_onBackpressure", + "__template_loginUrl", ] ) serialized = handler(self) @@ -16442,47 +16914,226 @@ def serialize_model(self, handler): return m -class CreateOutputTypeLoki(str, Enum): - LOKI = "loki" +class CreateOutputTypeRing(str, Enum): + RING = "ring" -class CreateOutputPqControlsLokiTypedDict(TypedDict): +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"""Metadata tags used for categorization and filtering.""" + 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"""Metadata tags used for categorization and filtering.""" + + 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", + "description", + "__template_streamtags", + "__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 CreateOutputTypePrometheus(str, Enum): + PROMETHEUS = "prometheus" + + +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[RequestParamConfInputOpenaiTypedDict]] - 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 - ] + r"""Metadata tags used for categorization and filtering.""" + 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), @@ -16491,7 +17142,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] @@ -16507,25 +17158,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] @@ -16547,24 +17187,58 @@ class CreateOutputOutputLokiTypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[CreateOutputPqControlsLokiTypedDict] + r"""The maximum size to hold in memory before writing events 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).""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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""" @@ -16572,42 +17246,41 @@ 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.""" 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.""" + r"""Metadata tags used for categorization and filtering.""" - 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[RequestParamConfInputOpenai]] = 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") @@ -16623,7 +17296,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]], @@ -16662,42 +17335,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") @@ -16746,17 +17401,72 @@ class CreateOutputOutputLoki(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[CreateOutputPqControlsLoki], pydantic.Field(alias="pqControls") + 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") ] = 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 @@ -16767,25 +17477,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): @@ -16805,6 +17515,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): @@ -16832,6 +17551,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( @@ -16840,10 +17568,9 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "message", - "messageFormat", - "labels", - "authType", + "metricRenameExpr", + "sendMetadata", + "usePrometheusHistogramBucketSuffix", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -16857,16 +17584,10 @@ def serialize_model(self, handler): "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", - "enableDynamicHeaders", "onBackpressure", - "totalMemoryLimitKB", + "authType", "description", - "compress", - "token", - "textSecret", - "username", - "password", - "credentialsSecret", + "metricsFlushPeriodSec", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -16879,9 +17600,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) @@ -16898,61 +17637,68 @@ def serialize_model(self, handler): return m -class CreateOutputOutputGrafanaCloudType2(str, Enum): - GRAFANA_CLOUD = "grafana_cloud" +class CreateOutputTypeAmazonManagedPrometheus(str, Enum): + AMAZON_MANAGED_PROMETHEUS = "amazon_managed_prometheus" -class CreateOutputOutputGrafanaCloudPqControls2TypedDict(TypedDict): +class CreateOutputPqControlsAmazonManagedPrometheusTypedDict(TypedDict): pass -class CreateOutputOutputGrafanaCloudPqControls2(BaseModel): +class CreateOutputPqControlsAmazonManagedPrometheus(BaseModel): pass -class CreateOutputOutputGrafanaCloudGrafanaCloud2TypedDict(TypedDict): +class CreateOutputOutputAmazonManagedPrometheusTypedDict(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: CreateOutputTypeAmazonManagedPrometheus + url: str + r"""The Amazon Managed Service for Prometheus remote_write endpoint""" + aws_authentication_method: AuthenticationMethodOptionsAutoSecret + r"""AWS authentication method. Choose Auto to use IAM roles.""" + region: str + r"""Region where the AMSP 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. 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 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}""" - 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[RequestParamConfInputOpenaiTypedDict]] - 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. 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. 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). 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"""Metadata tags used for categorization and filtering.""" + aws_secret_key: NotRequired[str] 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. """ + enable_assume_role: NotRequired[bool] + r"""Use Assume Role credentials to access AMSP""" + 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).""" + 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""" + max_payload_size_kb: NotRequired[float] + r"""Maximum uncompressed size, in KB, of the request body. The 1 MB cap is intentional and protects against data that compresses poorly, since oversized requests fail with a non-retryable 413.""" + 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 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 Body size limit.""" extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events""" + r"""Headers to add to all events. SigV4-managed headers and the Prometheus remote-write protocol version header are generated by this Destination and cannot be configured here.""" 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] @@ -16969,8 +17715,11 @@ class CreateOutputOutputGrafanaCloudGrafanaCloud2TypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] - 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"""Optional description for this configuration.""" + aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" + 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] @@ -16992,28 +17741,43 @@ class CreateOutputOutputGrafanaCloudGrafanaCloud2TypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[CreateOutputOutputGrafanaCloudPqControls2TypedDict] + r"""The maximum size to hold in memory before writing events 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[CreateOutputPqControlsAmazonManagedPrometheusTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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_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_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_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_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 CreateOutputOutputAmazonManagedPrometheus(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputOutputGrafanaCloudType2 + type: CreateOutputTypeAmazonManagedPrometheus - 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 Amazon Managed Service for Prometheus remote_write endpoint""" + + aws_authentication_method: Annotated[ + AuthenticationMethodOptionsAutoSecret, + pydantic.Field(alias="awsAuthenticationMethod"), + ] + r"""AWS authentication method. Choose Auto to use IAM roles.""" + + region: str + r"""Region where the AMSP is located""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -17021,61 +17785,73 @@ 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 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.""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" - 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""" + aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( + None + ) - 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.""" + 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. + """ - message_format: Annotated[ - Optional[MessageFormatOptions], pydantic.Field(alias="messageFormat") + enable_assume_role: Annotated[ + Optional[bool], pydantic.Field(alias="enableAssumeRole") ] = None - r"""Format to use when sending logs to Loki (Protobuf or JSON)""" + r"""Use Assume Role credentials to access AMSP""" - labels: Optional[List[RequestParamConfInputOpenai]] = 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\"}'""" + 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).""" 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 + send_metadata: Annotated[Optional[bool], pydantic.Field(alias="sendMetadata")] = ( + None + ) + r"""Generate and send metadata (`type` and `metricFamilyName`) requests""" - loki_auth: Annotated[ - Optional[PrometheusAuthType], pydantic.Field(alias="lokiAuth") + 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 and Prometheus 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 and Prometheus to complain about entries being delivered out of order.""" + r"""Maximum uncompressed size, in KB, of the request body. The 1 MB cap is intentional and protects against data that compresses poorly, since oversized requests fail with a non-retryable 413.""" 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.""" - - 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. - """ + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" 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""" @@ -17083,13 +17859,13 @@ 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 Body size limit.""" extra_http_headers: Annotated[ Optional[List[ExtraHTTPHeaderConfInputElastic]], pydantic.Field(alias="extraHttpHeaders"), ] = None - r"""Headers to add to all events""" + r"""Headers to add to all events. SigV4-managed headers and the Prometheus remote-write protocol version header are generated by this Destination and cannot be configured here.""" use_round_robin_dns: Annotated[ Optional[bool], pydantic.Field(alias="useRoundRobinDns") @@ -17128,9 +17904,15 @@ class CreateOutputOutputGrafanaCloudGrafanaCloud2(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.""" + 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""" + + 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.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -17179,10 +17961,10 @@ class CreateOutputOutputGrafanaCloudGrafanaCloud2(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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], + Optional[CreateOutputPqControlsAmazonManagedPrometheus], pydantic.Field(alias="pqControls"), ] = None @@ -17191,15 +17973,30 @@ 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") + 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_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsSecretKey") ] = 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.""" + 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_prometheus_url: Annotated[ - Optional[str], pydantic.Field(alias="__template_prometheusUrl") + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") ] = 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.""" + 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_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_failed_request_logging_mode: Annotated[ Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") @@ -17211,11 +18008,11 @@ 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("aws_authentication_method") + def serialize_aws_authentication_method(self, value): if isinstance(value, str): try: - return models.MessageFormatOptions(value) + return models.AuthenticationMethodOptionsAutoSecret(value) except ValueError: return value return value @@ -17273,17 +18070,18 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "lokiUrl", - "message", - "messageFormat", - "labels", + "awsSecretKey", + "rejectUnauthorized", + "enableAssumeRole", + "assumeRoleArn", + "assumeRoleExternalId", + "durationSeconds", "metricRenameExpr", - "prometheusAuth", - "lokiAuth", + "sendMetadata", + "usePrometheusHistogramBucketSuffix", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", - "rejectUnauthorized", "timeoutSec", "flushPeriodSec", "extraHttpHeaders", @@ -17295,7 +18093,8 @@ def serialize_model(self, handler): "responseHonorRetryAfterHeader", "onBackpressure", "description", - "compress", + "awsSecret", + "metricsFlushPeriodSec", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -17309,8 +18108,11 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", - "__template_lokiUrl", - "__template_prometheusUrl", + "__template_url", + "__template_awsSecretKey", + "__template_region", + "__template_assumeRoleArn", + "__template_assumeRoleExternalId", "__template_failedRequestLoggingMode", "__template_onBackpressure", ] @@ -17329,50 +18131,49 @@ def serialize_model(self, handler): return m -class CreateOutputOutputGrafanaCloudType1(str, Enum): - GRAFANA_CLOUD = "grafana_cloud" +class CreateOutputTypeLoki(str, Enum): + LOKI = "loki" -class CreateOutputOutputGrafanaCloudPqControls1TypedDict(TypedDict): +class CreateOutputPqControlsLokiTypedDict(TypedDict): pass -class CreateOutputOutputGrafanaCloudPqControls1(BaseModel): +class CreateOutputPqControlsLoki(BaseModel): pass -class CreateOutputOutputGrafanaCloudGrafanaCloud1TypedDict(TypedDict): +class CreateOutputOutputLokiTypedDict(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: 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}""" - 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""" + r"""Metadata tags used for categorization and filtering.""" 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[RequestParamConfInputOpenaiTypedDict]] + labels: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict] + ] 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), @@ -17381,7 +18182,7 @@ class CreateOutputOutputGrafanaCloudGrafanaCloud1TypedDict(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] @@ -17397,11 +18198,26 @@ class CreateOutputOutputGrafanaCloudGrafanaCloud1TypedDict(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] @@ -17423,28 +18239,24 @@ class CreateOutputOutputGrafanaCloudGrafanaCloud1TypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[CreateOutputOutputGrafanaCloudPqControls1TypedDict] + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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 CreateOutputOutputGrafanaCloudGrafanaCloud1(BaseModel): +class CreateOutputOutputLoki(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputOutputGrafanaCloudType1 + type: CreateOutputTypeLoki - loki_url: Annotated[str, pydantic.Field(alias="lokiUrl")] - r"""The endpoint to send logs to, such as https://logs-prod-us-central1.grafana.net""" + url: str + r"""The endpoint to send logs to""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -17452,18 +18264,13 @@ class CreateOutputOutputGrafanaCloudGrafanaCloud1(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.""" 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""" + r"""Metadata tags used for categorization and filtering.""" 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.""" @@ -17473,34 +18280,28 @@ class CreateOutputOutputGrafanaCloudGrafanaCloud1(BaseModel): ] = None r"""Format to use when sending logs to Loki (Protobuf or JSON)""" - labels: Optional[List[RequestParamConfInputOpenai]] = 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") + labels: Optional[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecret] ] = 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\"}'""" - 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") @@ -17516,7 +18317,7 @@ class CreateOutputOutputGrafanaCloudGrafanaCloud1(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]], @@ -17555,15 +18356,43 @@ class CreateOutputOutputGrafanaCloudGrafanaCloud1(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") @@ -17612,11 +18441,10 @@ class CreateOutputOutputGrafanaCloudGrafanaCloud1(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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], - pydantic.Field(alias="pqControls"), + Optional[CreateOutputPqControlsLoki], pydantic.Field(alias="pqControls") ] = None template_streamtags: Annotated[ @@ -17624,16 +18452,6 @@ class CreateOutputOutputGrafanaCloudGrafanaCloud1(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 @@ -17653,6 +18471,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): @@ -17706,13 +18535,10 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "prometheusUrl", "message", "messageFormat", "labels", - "metricRenameExpr", - "prometheusAuth", - "lokiAuth", + "authType", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -17726,9 +18552,16 @@ def serialize_model(self, handler): "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", + "enableDynamicHeaders", "onBackpressure", + "totalMemoryLimitKB", "description", "compress", + "token", + "textSecret", + "username", + "password", + "credentialsSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -17742,8 +18575,6 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", - "__template_lokiUrl", - "__template_prometheusUrl", "__template_failedRequestLoggingMode", "__template_onBackpressure", ] @@ -17762,127 +18593,52 @@ 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 CreateOutputOutputGrafanaCloudType2(str, Enum): + GRAFANA_CLOUD = "grafana_cloud" -class CreateOutputPqControlsDatadogTypedDict(TypedDict): +class CreateOutputOutputGrafanaCloudPqControls2TypedDict(TypedDict): pass -class CreateOutputPqControlsDatadog(BaseModel): +class CreateOutputOutputGrafanaCloudPqControls2(BaseModel): pass -class CreateOutputOutputDatadogTypedDict(TypedDict): +class CreateOutputOutputGrafanaCloudGrafanaCloud2TypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeDatadog + 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]] - 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""" - 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)""" + r"""Metadata tags used for categorization and filtering.""" + 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[RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict] + ] + 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), @@ -17891,7 +18647,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] @@ -17909,12 +18665,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] @@ -17936,27 +18690,28 @@ class CreateOutputOutputDatadogTypedDict(TypedDict): 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 1MB.""" - 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""" + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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 CreateOutputOutputGrafanaCloudGrafanaCloud2(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeDatadog + type: CreateOutputOutputGrafanaCloudType2 + + 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""" @@ -17964,68 +18719,55 @@ 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.""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" - content_type: Annotated[ - Optional[CreateOutputSendLogsAs], pydantic.Field(alias="contentType") - ] = None - r"""The content type to use when sending logs""" + 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.""" - 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.""" + message_format: Annotated[ + Optional[MessageFormatOptions], pydantic.Field(alias="messageFormat") + ] = None + r"""Format to use when sending logs to Loki (Protobuf or JSON)""" - allow_api_key_from_events: Annotated[ - Optional[bool], pydantic.Field(alias="allowApiKeyFromEvents") + labels: Optional[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecret] ] = None - r"""Allow API key to be set from the event's '__agent_api_key' field""" + 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\"}'""" - 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.""" + 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..""" - 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") @@ -18041,7 +18783,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]], @@ -18085,19 +18827,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") @@ -18146,27 +18880,27 @@ class CreateOutputOutputDatadog(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[CreateOutputOutputGrafanaCloudPqControls2], + 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") @@ -18178,29 +18912,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 @@ -18223,15 +18939,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): @@ -18267,21 +18974,16 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "contentType", + "lokiUrl", "message", - "source", - "host", - "service", - "tags", - "batchByTags", - "allowApiKeyFromEvents", - "severity", - "site", - "sendCountersAsCount", + "messageFormat", + "labels", + "metricRenameExpr", + "prometheusAuth", + "lokiAuth", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", - "compress", "rejectUnauthorized", "timeoutSec", "flushPeriodSec", @@ -18293,10 +18995,8 @@ def serialize_model(self, handler): "timeoutRetrySettings", "responseHonorRetryAfterHeader", "onBackpressure", - "authType", - "totalMemoryLimitKB", "description", - "customUrl", + "compress", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -18309,10 +19009,9 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", - "apiKey", - "textSecret", "__template_streamtags", - "__template_tags", + "__template_lokiUrl", + "__template_prometheusUrl", "__template_failedRequestLoggingMode", "__template_onBackpressure", ] @@ -18331,55 +19030,52 @@ def serialize_model(self, handler): return m -class CreateOutputTypeSumoLogic(str, Enum): - SUMO_LOGIC = "sumo_logic" - - -class CreateOutputDataFormatSumoLogic(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Preserve the raw event format instead of JSONifying it""" - - # JSON - JSON = "json" - # Raw - RAW = "raw" +class CreateOutputOutputGrafanaCloudType1(str, Enum): + GRAFANA_CLOUD = "grafana_cloud" -class CreateOutputPqControlsSumoLogicTypedDict(TypedDict): +class CreateOutputOutputGrafanaCloudPqControls1TypedDict(TypedDict): pass -class CreateOutputPqControlsSumoLogic(BaseModel): +class CreateOutputOutputGrafanaCloudPqControls1(BaseModel): pass -class CreateOutputOutputSumoLogicTypedDict(TypedDict): +class CreateOutputOutputGrafanaCloudGrafanaCloud1TypedDict(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: 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}""" - 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""" + r"""Metadata tags used for categorization and filtering.""" + 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.""" + message_format: NotRequired[MessageFormatOptions] + r"""Format to use when sending logs to Loki (Protobuf or JSON)""" + labels: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict] + ] + 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), @@ -18388,7 +19084,7 @@ class CreateOutputOutputSumoLogicTypedDict(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] @@ -18406,9 +19102,10 @@ 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""" - 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.""" 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] @@ -18430,26 +19127,28 @@ class CreateOutputOutputSumoLogicTypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[CreateOutputPqControlsSumoLogicTypedDict] + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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_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 CreateOutputOutputSumoLogic(BaseModel): +class CreateOutputOutputGrafanaCloudGrafanaCloud1(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeSumoLogic + type: CreateOutputOutputGrafanaCloudType1 - url: str - r"""Sumo Logic HTTP collector URL to which events should be sent""" + 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""" @@ -18457,42 +19156,57 @@ class CreateOutputOutputSumoLogic(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.""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" - 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.""" + 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""" - custom_category: Annotated[ - Optional[str], pydantic.Field(alias="customCategory") + 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") ] = 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"""Format to use when sending logs to Loki (Protobuf or JSON)""" - format_: Annotated[ - Optional[CreateOutputDataFormatSumoLogic], pydantic.Field(alias="format") + labels: Optional[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecret] + ] = 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") ] = None - r"""Preserve the raw event format instead of JSONifying it""" 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") @@ -18508,7 +19222,7 @@ class CreateOutputOutputSumoLogic(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]], @@ -18552,12 +19266,11 @@ class CreateOutputOutputSumoLogic(BaseModel): ] = 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.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -18606,10 +19319,11 @@ class CreateOutputOutputSumoLogic(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[CreateOutputOutputGrafanaCloudPqControls1], + pydantic.Field(alias="pqControls"), ] = None template_streamtags: Annotated[ @@ -18617,10 +19331,15 @@ class CreateOutputOutputSumoLogic(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_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") @@ -18632,11 +19351,11 @@ 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("message_format") + def serialize_message_format(self, value): if isinstance(value, str): try: - return models.CreateOutputDataFormatSumoLogic(value) + return models.MessageFormatOptions(value) except ValueError: return value return value @@ -18694,13 +19413,16 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "customSource", - "customCategory", - "format", + "prometheusUrl", + "message", + "messageFormat", + "labels", + "metricRenameExpr", + "prometheusAuth", + "lokiAuth", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", - "compress", "rejectUnauthorized", "timeoutSec", "flushPeriodSec", @@ -18712,8 +19434,8 @@ def serialize_model(self, handler): "timeoutRetrySettings", "responseHonorRetryAfterHeader", "onBackpressure", - "totalMemoryLimitKB", "description", + "compress", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -18727,7 +19449,8 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", - "__template_url", + "__template_lokiUrl", + "__template_prometheusUrl", "__template_failedRequestLoggingMode", "__template_onBackpressure", ] @@ -18746,167 +19469,89 @@ def serialize_model(self, handler): 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.""" - 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 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.""" +CreateOutputOutputGrafanaCloudUnionTypedDict = TypeAliasType( + "CreateOutputOutputGrafanaCloudUnionTypedDict", + Union[ + CreateOutputOutputGrafanaCloudGrafanaCloud1TypedDict, + CreateOutputOutputGrafanaCloudGrafanaCloud2TypedDict, + ], +) - 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.""" +CreateOutputOutputGrafanaCloudUnion = TypeAliasType( + "CreateOutputOutputGrafanaCloudUnion", + Union[ + CreateOutputOutputGrafanaCloudGrafanaCloud1, + CreateOutputOutputGrafanaCloudGrafanaCloud2, + ], +) - 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.""" +class CreateOutputTypeDatadog(str, Enum): + DATADOG = "datadog" - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "pipeline", - "systemFields", - "environment", - "streamtags", - "dnsResolvePeriodSec", - "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)) +class CreateOutputSendLogsAs(str, Enum, metaclass=utils.OpenEnumMeta): + r"""The content type to use when sending logs""" - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val + # text/plain + TEXT = "text" + # application/json + JSON = "json" - return m +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.""" -class CreateOutputTypeSqs(str, Enum): - SQS = "sqs" + # 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 CreateOutputQueueType(str, Enum, metaclass=utils.OpenEnumMeta): - r"""The queue type used (or created). Defaults to Standard.""" +class CreateOutputDatadogSite(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Datadog site to which events should be sent""" - # Standard - STANDARD = "standard" - # FIFO - FIFO = "fifo" + # US + US = "us" + # US3 + US3 = "us3" + # US5 + US5 = "us5" + # Europe + EU = "eu" + # US1-FED + FED1 = "fed1" + # AP1 + AP1 = "ap1" + # Custom + CUSTOM = "custom" -class CreateOutputPqControlsSqsTypedDict(TypedDict): +class CreateOutputPqControlsDatadogTypedDict(TypedDict): pass -class CreateOutputPqControlsSqs(BaseModel): +class CreateOutputPqControlsDatadog(BaseModel): pass -class CreateOutputOutputSqsTypedDict(TypedDict): +class CreateOutputOutputDatadogTypedDict(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: CreateOutputTypeDatadog pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -18914,46 +19559,70 @@ class CreateOutputOutputSqsTypedDict(TypedDict): 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_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""" + r"""Metadata tags used for categorization and filtering.""" + 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] + 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""" + 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] - 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.""" + 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] @@ -18975,45 +19644,27 @@ class CreateOutputOutputSqsTypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[CreateOutputPqControlsSqsTypedDict] + r"""The maximum size to hold in memory before writing events 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""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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_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.""" - 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 CreateOutputOutputDatadog(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}`.""" - - queue_type: Annotated[CreateOutputQueueType, pydantic.Field(alias="queueType")] - r"""The queue type used (or created). Defaults to Standard.""" + type: CreateOutputTypeDatadog pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -19027,98 +19678,135 @@ class CreateOutputOutputSqs(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" - 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.""" + content_type: Annotated[ + Optional[CreateOutputSendLogsAs], pydantic.Field(alias="contentType") + ] = None + r"""The content type to use when sending logs""" - message_group_id: Annotated[ - Optional[str], pydantic.Field(alias="messageGroupId") + 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"""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.""" + r"""Allow API key to be set from the event's '__agent_api_key' field""" - create_queue: Annotated[Optional[bool], pydantic.Field(alias="createQueue")] = None - r"""Create queue if it does not exist.""" + 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.""" - aws_authentication_method: Annotated[ - Optional[AuthenticationMethodOptionsS3CollectorConf], - pydantic.Field(alias="awsAuthenticationMethod"), + 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"""AWS authentication method. Choose Auto to use IAM roles.""" + 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)""" - aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( - None - ) + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" - 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.""" + 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"""SQS service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to SQS-compatible endpoint.""" + 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).""" - reuse_connections: Annotated[ - Optional[bool], pydantic.Field(alias="reuseConnections") + compress: Optional[bool] = None + r"""Compress the payload body before sending""" + + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = None - r"""Reuse connections between requests, which can improve performance""" + 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""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - enable_assume_role: Annotated[ - Optional[bool], pydantic.Field(alias="enableAssumeRole") + extra_http_headers: Annotated[ + Optional[List[ExtraHTTPHeaderConfInputElastic]], + pydantic.Field(alias="extraHttpHeaders"), ] = None - 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""" + 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 + auth_type: Annotated[ + Optional[AuthenticationMethodOptionsAPI], pydantic.Field(alias="authType") + ] = None + r"""Enter API key directly, or select a stored secret""" - 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.""" + + custom_url: Annotated[Optional[str], pydantic.Field(alias="customUrl")] = None pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -19167,86 +19855,70 @@ class CreateOutputOutputSqs(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[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_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_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") - ] = 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_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_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") - ] = 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("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("queue_type") - def serialize_queue_type(self, value): + @field_serializer("severity") + def serialize_severity(self, value): if isinstance(value, str): try: - return models.CreateOutputQueueType(value) + return models.CreateOutputSeverityDatadog(value) except ValueError: return value return value - @field_serializer("aws_authentication_method") - def serialize_aws_authentication_method(self, value): + @field_serializer("site") + def serialize_site(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsS3CollectorConf(value) + return models.CreateOutputDatadogSite(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 @@ -19260,6 +19932,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): @@ -19295,27 +19976,36 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "awsAccountId", - "messageGroupId", - "createQueue", - "awsAuthenticationMethod", - "awsSecretKey", - "region", - "endpoint", - "reuseConnections", + "contentType", + "message", + "source", + "host", + "service", + "tags", + "batchByTags", + "allowApiKeyFromEvents", + "severity", + "site", + "sendCountersAsCount", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", "rejectUnauthorized", - "enableAssumeRole", - "assumeRoleArn", - "assumeRoleExternalId", - "durationSeconds", - "maxQueueSize", - "maxRecordSizeKB", + "timeoutSec", "flushPeriodSec", - "maxInProgress", + "extraHttpHeaders", + "useRoundRobinDns", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", "onBackpressure", + "authType", + "totalMemoryLimitKB", "description", - "awsApiKey", - "awsSecret", + "customUrl", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -19328,18 +20018,12 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", + "apiKey", + "textSecret", "__template_streamtags", - "__template_queueName", - "__template_queueType", - "__template_awsAccountId", - "__template_messageGroupId", - "__template_awsSecretKey", - "__template_region", - "__template_endpoint", - "__template_assumeRoleArn", - "__template_assumeRoleExternalId", + "__template_tags", + "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_awsApiKey", ] ) serialized = handler(self) @@ -19356,26 +20040,33 @@ def serialize_model(self, handler): return m -class CreateOutputTypeSns(str, Enum): - SNS = "sns" +class CreateOutputTypeSumoLogic(str, Enum): + SUMO_LOGIC = "sumo_logic" -class CreateOutputPqControlsSnsTypedDict(TypedDict): +class CreateOutputDataFormatSumoLogic(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Preserve the raw event format instead of JSONifying it""" + + # JSON + JSON = "json" + # Raw + RAW = "raw" + + +class CreateOutputPqControlsSumoLogicTypedDict(TypedDict): pass -class CreateOutputPqControlsSns(BaseModel): +class CreateOutputPqControlsSumoLogic(BaseModel): pass -class CreateOutputOutputSnsTypedDict(TypedDict): +class CreateOutputOutputSumoLogicTypedDict(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: 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]] @@ -19383,34 +20074,51 @@ class CreateOutputOutputSnsTypedDict(TypedDict): 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}""" - 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""" + r"""Metadata tags used for categorization and filtering.""" + 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 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).""" + 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""" + 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] @@ -19432,41 +20140,26 @@ class CreateOutputOutputSnsTypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[CreateOutputPqControlsSnsTypedDict] + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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_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 CreateOutputOutputSns(BaseModel): +class CreateOutputOutputSumoLogic(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeSns - - 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}`""" + type: CreateOutputTypeSumoLogic - 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}`.""" + 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""" @@ -19480,68 +20173,102 @@ class CreateOutputOutputSns(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" - 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.""" + 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.""" - aws_authentication_method: Annotated[ - Optional[AuthenticationMethodOptionsS3CollectorConf], - pydantic.Field(alias="awsAuthenticationMethod"), + custom_category: Annotated[ + Optional[str], pydantic.Field(alias="customCategory") ] = None - r"""AWS authentication method. Choose Auto to use IAM roles.""" + 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_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( - None - ) + format_: Annotated[ + Optional[CreateOutputDataFormatSumoLogic], pydantic.Field(alias="format") + ] = None + r"""Preserve the raw event format instead of JSONifying it""" - region: Optional[str] = None - r"""Region where the SNS is located""" + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" - 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.""" + 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 SNS""" + 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.""" + + 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""" - 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") @@ -19590,10 +20317,10 @@ class CreateOutputOutputSns(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[CreateOutputPqControlsSumoLogic], pydantic.Field(alias="pqControls") ] = None template_streamtags: Annotated[ @@ -19601,56 +20328,35 @@ 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") - ] = 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_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_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") - ] = 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("format_") + def serialize_format_(self, value): + if isinstance(value, str): + try: + return models.CreateOutputDataFormatSumoLogic(value) + except ValueError: + return value + return value - @field_serializer("aws_authentication_method") - def serialize_aws_authentication_method(self, value): + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsS3CollectorConf(value) + return models.FailedRequestLoggingModeOptions(value) except ValueError: return value return value @@ -19699,21 +20405,26 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "maxRetries", - "awsAuthenticationMethod", - "awsSecretKey", - "region", - "endpoint", - "reuseConnections", + "customSource", + "customCategory", + "format", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", "rejectUnauthorized", - "enableAssumeRole", - "assumeRoleArn", - "assumeRoleExternalId", - "durationSeconds", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "useRoundRobinDns", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", "onBackpressure", + "totalMemoryLimitKB", "description", - "awsApiKey", - "awsSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -19727,15 +20438,9 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", - "__template_topicArn", - "__template_messageGroupId", - "__template_awsSecretKey", - "__template_region", - "__template_endpoint", - "__template_assumeRoleArn", - "__template_assumeRoleExternalId", + "__template_url", + "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_awsApiKey", ] ) serialized = handler(self) @@ -19752,37 +20457,41 @@ def serialize_model(self, handler): return m -class CreateOutputTypeRouter(str, Enum): - ROUTER = "router" +class CreateOutputTypeSnmp(str, Enum): + SNMP = "snmp" -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 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 CreateOutputRule(BaseModel): - filter_: Annotated[str, pydantic.Field(alias="filter")] - r"""JavaScript expression to select events to send to output""" +class CreateOutputHostSnmp(BaseModel): + host: str + r"""Destination host""" - output: str - r"""Output to send matching events to""" + port: float + r"""Destination port, default is 162""" - description: Optional[str] = None - r"""Description of this rule's purpose""" + 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.""" - final: Optional[bool] = None - r"""Flag to control whether to stop the event from being checked against other rules""" + 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(["description", "final"]) + optional_fields = set(["__template_host", "__template_port"]) serialized = handler(self) m = {} @@ -19797,12 +20506,12 @@ def serialize_model(self, handler): return m -class CreateOutputOutputRouterTypedDict(TypedDict): +class CreateOutputOutputSnmpTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeRouter - rules: List[CreateOutputRuleTypedDict] - r"""Event routing rules""" + 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]] @@ -19810,20 +20519,27 @@ class CreateOutputOutputRouterTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" + 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 CreateOutputOutputRouter(BaseModel): +class CreateOutputOutputSnmp(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeRouter + type: CreateOutputTypeSnmp - rules: List[CreateOutputRule] - r"""Event routing rules""" + 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""" @@ -19837,9 +20553,25 @@ class CreateOutputOutputRouter(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" + + 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 + r"""Optional description for this configuration.""" + + 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") @@ -19854,7 +20586,10 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", + "dnsResolvePeriodSec", + "enableIpSpoofing", "description", + "maxRecordSize", "__template_streamtags", ] ) @@ -19872,28 +20607,35 @@ def serialize_model(self, handler): return m -class CreateOutputTypeGraphite(str, Enum): - GRAPHITE = "graphite" +class CreateOutputTypeSqs(str, Enum): + SQS = "sqs" -class CreateOutputPqControlsGraphiteTypedDict(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 CreateOutputPqControlsGraphite(BaseModel): +class CreateOutputPqControlsSqs(BaseModel): pass -class CreateOutputOutputGraphiteTypedDict(TypedDict): +class CreateOutputOutputSqsTypedDict(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: 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]] @@ -19901,22 +20643,47 @@ class CreateOutputOutputGraphiteTypedDict(TypedDict): 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}""" - 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.""" + r"""Metadata tags used for categorization and filtering.""" + 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""" + 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.""" 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""" + 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""" 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] @@ -19938,78 +20705,152 @@ class CreateOutputOutputGraphiteTypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[CreateOutputPqControlsGraphiteTypedDict] + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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_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 CreateOutputOutputSqs(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeGraphite + 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}`.""" - protocol: DestinationProtocolOptions - r"""Protocol to use when communicating with the destination.""" + queue_type: Annotated[CreateOutputQueueType, pydantic.Field(alias="queueType")] + r"""The queue type used (or created). Defaults to Standard.""" - host: str - r"""The hostname of the destination.""" + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" - port: float - r"""Destination port.""" + 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"""Metadata tags used for categorization and filtering.""" + + 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], + 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 + ) + + 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.""" - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" + 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.""" - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") + reuse_connections: Annotated[ + Optional[bool], pydantic.Field(alias="reuseConnections") ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + r"""Reuse connections between requests, which can improve performance""" - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + 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""" - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + enable_assume_role: Annotated[ + Optional[bool], pydantic.Field(alias="enableAssumeRole") + ] = None + r"""Use Assume Role credentials to access SQS""" - 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.""" + assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( + None + ) + r"""Amazon Resource Name (ARN) of the role to assume""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="assumeRoleExternalId") ] = None - r"""When protocol is TCP, specifies how often buffers should be flushed, resulting in records sent to the destination.""" + r"""External ID to use when assuming role""" - dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") + duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="durationSeconds") ] = 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.""" + 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).""" - description: Optional[str] = None + max_queue_size: Annotated[Optional[float], pydantic.Field(alias="maxQueueSize")] = ( + None + ) + r"""Maximum number of queued batches before blocking.""" - throttle_rate_per_sec: Annotated[ - Optional[str], pydantic.Field(alias="throttleRatePerSec") + max_record_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxRecordSizeKB") ] = 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 size (KB) of batches to send. Per the SQS spec, the max allowed value is 256 KB.""" - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - 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_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 + + 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 @@ -20057,10 +20898,10 @@ class CreateOutputOutputGraphite(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[CreateOutputPqControlsSqs], pydantic.Field(alias="pqControls") ] = None template_streamtags: Annotated[ @@ -20068,16 +20909,75 @@ 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_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_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") + ] = 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("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): try: - return models.DestinationProtocolOptions(value) + return models.AuthenticationMethodOptionsS3CollectorConf(value) except ValueError: return value return value @@ -20126,14 +21026,27 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "mtu", + "awsAccountId", + "messageGroupId", + "createQueue", + "awsAuthenticationMethod", + "awsSecretKey", + "region", + "endpoint", + "reuseConnections", + "rejectUnauthorized", + "enableAssumeRole", + "assumeRoleArn", + "assumeRoleExternalId", + "durationSeconds", + "maxQueueSize", + "maxRecordSizeKB", "flushPeriodSec", - "dnsResolvePeriodSec", - "description", - "throttleRatePerSec", - "connectionTimeout", - "writeTimeout", + "maxInProgress", "onBackpressure", + "description", + "awsApiKey", + "awsSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -20147,7 +21060,17 @@ def serialize_model(self, handler): "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", ] ) serialized = handler(self) @@ -20164,28 +21087,26 @@ def serialize_model(self, handler): return m -class CreateOutputTypeStatsdExt(str, Enum): - STATSD_EXT = "statsd_ext" +class CreateOutputTypeSns(str, Enum): + SNS = "sns" -class CreateOutputPqControlsStatsdExtTypedDict(TypedDict): +class CreateOutputPqControlsSnsTypedDict(TypedDict): pass -class CreateOutputPqControlsStatsdExt(BaseModel): +class CreateOutputPqControlsSns(BaseModel): pass -class CreateOutputOutputStatsdExtTypedDict(TypedDict): +class CreateOutputOutputSnsTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeStatsdExt - 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]] @@ -20193,22 +21114,35 @@ class CreateOutputOutputStatsdExtTypedDict(TypedDict): 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}""" - 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""" + r"""Metadata tags used for categorization and filtering.""" + 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] @@ -20230,28 +21164,41 @@ class CreateOutputOutputStatsdExtTypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[CreateOutputPqControlsStatsdExtTypedDict] + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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 CreateOutputOutputStatsdExt(BaseModel): +class CreateOutputOutputSns(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeStatsdExt - - 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""" @@ -20265,43 +21212,70 @@ class CreateOutputOutputStatsdExt(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" - 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.""" + + aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( + 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.""" - dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") + reuse_connections: Annotated[ + Optional[bool], pydantic.Field(alias="reuseConnections") ] = 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.""" - - description: Optional[str] = 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 @@ -20349,10 +21323,10 @@ class CreateOutputOutputStatsdExt(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[CreateOutputPqControlsSns], pydantic.Field(alias="pqControls") ] = None template_streamtags: Annotated[ @@ -20360,16 +21334,56 @@ class CreateOutputOutputStatsdExt(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 @@ -20418,14 +21432,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", @@ -20439,7 +21460,137 @@ 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) + 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 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"""Metadata tags used for categorization and filtering.""" + 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"""Metadata tags used for categorization and filtering.""" + + 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) @@ -20456,10 +21607,22 @@ def serialize_model(self, handler): return m -class CreateOutputTypeStatsd(str, Enum): - STATSD = "statsd" +class CreateOutputTypeGraphite(str, Enum): + GRAPHITE = "graphite" + + +class CreateOutputPqControlsGraphiteTypedDict(TypedDict): + pass + + +class CreateOutputPqControlsGraphite(BaseModel): + pass +try: + CreateOutputOutputIbmCloudS3.model_rebuild() +except NameError: + pass try: CreateOutputOutputAlibabaCloudS3.model_rebuild() except NameError: @@ -20541,7 +21704,7 @@ class CreateOutputTypeStatsd(str, Enum): except NameError: pass try: - CreateOutputColumnMappingLocalSearchStorage.model_rebuild() + CreateOutputColumnMapping.model_rebuild() except NameError: pass try: @@ -20549,7 +21712,7 @@ class CreateOutputTypeStatsd(str, Enum): except NameError: pass try: - CreateOutputColumnMappingClickHouse.model_rebuild() + CreateOutputOutputCustomerMetricsStorage.model_rebuild() except NameError: pass try: @@ -20612,6 +21775,10 @@ class CreateOutputTypeStatsd(str, Enum): CreateOutputOutputPrometheus.model_rebuild() except NameError: pass +try: + CreateOutputOutputAmazonManagedPrometheus.model_rebuild() +except NameError: + pass try: CreateOutputOutputLoki.model_rebuild() except NameError: @@ -20656,11 +21823,3 @@ class CreateOutputTypeStatsd(str, Enum): CreateOutputOutputRouter.model_rebuild() except NameError: pass -try: - 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 c279773e1..b02868ca3 100644 --- a/src/cribl_control_plane/models/createoutput_request.py +++ b/src/cribl_control_plane/models/createoutput_request.py @@ -1,39 +1,95 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .acknowledgmentsoptions import AcknowledgmentsOptions -from .acknowledgmentsoptionsallleader import AcknowledgmentsOptionsAllLeader -from .authenticationmethodoptions import AuthenticationMethodOptions -from .authenticationmethodoptionsapi import AuthenticationMethodOptionsAPI -from .authenticationmethodoptionsauthtokensitems import ( - AuthenticationMethodOptionsAuthTokensItems, -) -from .authenticationmethodoptionss3collectorconf import ( - AuthenticationMethodOptionsS3CollectorConf, -) -from .authenticationtype import AuthenticationType, AuthenticationTypeTypedDict -from .authenticationtypeuse import AuthenticationTypeUse, AuthenticationTypeUseTypedDict -from .authtypetemplatemanualapikeyauthtype import ( - AuthTypeTemplatemanualAPIKeyAuthType, - AuthTypeTemplatemanualAPIKeyAuthTypeTypedDict, -) from .backpressurebehavioroptions import BackpressureBehaviorOptions -from .backpressurebehavioroptionsblockdrop import BackpressureBehaviorOptionsBlockDrop -from .certificatetypeazureblobauthtypeclientcert import ( - CertificateTypeAzureBlobAuthTypeClientCert, - CertificateTypeAzureBlobAuthTypeClientCertTypedDict, -) -from .compressionleveloptions import CompressionLevelOptions -from .compressionoptions import CompressionOptions -from .compressionoptionsgziplz4 import CompressionOptionsGzipLz4 -from .compressionoptionsgzipnone import CompressionOptionsGzipNone -from .compressionoptionshttp import CompressionOptionsHTTP from .compressionoptionspq import CompressionOptionsPq -from .createoutput_type_statsd import ( +from .createoutput_outputwebhook_format_2 import ( + CreateOutputOutputAzureBlob, + CreateOutputOutputAzureBlobTypedDict, + CreateOutputOutputAzureDataExplorer, + CreateOutputOutputAzureDataExplorerTypedDict, + CreateOutputOutputAzureEventhub, + CreateOutputOutputAzureEventhubTypedDict, + CreateOutputOutputAzureLogs, + CreateOutputOutputAzureLogsTypedDict, + CreateOutputOutputCloudwatch, + CreateOutputOutputCloudwatchTypedDict, + CreateOutputOutputConfluentCloud, + CreateOutputOutputConfluentCloudTypedDict, + CreateOutputOutputDevnull, + CreateOutputOutputDevnullTypedDict, + CreateOutputOutputElastic, + CreateOutputOutputElasticCloud, + CreateOutputOutputElasticCloudTypedDict, + CreateOutputOutputElasticTypedDict, + CreateOutputOutputExabeam, + CreateOutputOutputExabeamTypedDict, + CreateOutputOutputFilesystem, + CreateOutputOutputFilesystemTypedDict, + CreateOutputOutputGoogleBigquery, + CreateOutputOutputGoogleBigqueryTypedDict, + CreateOutputOutputGoogleChronicle, + CreateOutputOutputGoogleChronicleTypedDict, + CreateOutputOutputGoogleCloudLogging, + CreateOutputOutputGoogleCloudLoggingTypedDict, + CreateOutputOutputGoogleCloudObservability, + CreateOutputOutputGoogleCloudObservabilityTypedDict, + CreateOutputOutputGoogleCloudStorage, + CreateOutputOutputGoogleCloudStorageTypedDict, + CreateOutputOutputGooglePubsub, + CreateOutputOutputGooglePubsubTypedDict, + CreateOutputOutputGraphite, + CreateOutputOutputGraphiteTypedDict, + CreateOutputOutputHoneycomb, + CreateOutputOutputHoneycombTypedDict, + CreateOutputOutputInfluxdb, + CreateOutputOutputInfluxdbTypedDict, + CreateOutputOutputKafka, + CreateOutputOutputKafkaTypedDict, + CreateOutputOutputKinesis, + CreateOutputOutputKinesisTypedDict, + CreateOutputOutputMinio, + CreateOutputOutputMinioTypedDict, + CreateOutputOutputMsk, + CreateOutputOutputMskTypedDict, + CreateOutputOutputNewrelic, + CreateOutputOutputNewrelicEvents, + CreateOutputOutputNewrelicEventsTypedDict, + CreateOutputOutputNewrelicTypedDict, + CreateOutputOutputS3, + CreateOutputOutputS3TypedDict, + CreateOutputOutputSentinel, + CreateOutputOutputSentinelTypedDict, + CreateOutputOutputSignalfx, + CreateOutputOutputSignalfxTypedDict, + CreateOutputOutputSplunk, + CreateOutputOutputSplunkHec, + CreateOutputOutputSplunkHecTypedDict, + CreateOutputOutputSplunkLb, + CreateOutputOutputSplunkLbTypedDict, + CreateOutputOutputSplunkTypedDict, + CreateOutputOutputStatsd, + CreateOutputOutputStatsdExt, + CreateOutputOutputStatsdExtTypedDict, + CreateOutputOutputStatsdTypedDict, + CreateOutputOutputSyslog, + CreateOutputOutputSyslogTypedDict, + CreateOutputOutputTcpjson, + CreateOutputOutputTcpjsonTypedDict, + CreateOutputOutputWavefront, + CreateOutputOutputWavefrontTypedDict, + CreateOutputOutputWebhookFormat2, + CreateOutputOutputWebhookType2, + CreateOutputOutputWizHec, + CreateOutputOutputWizHecTypedDict, +) +from .createoutput_pqcontrols_graphite import ( CreateOutputOutputAlibabaCloudS3, CreateOutputOutputAlibabaCloudS3TypedDict, CreateOutputOutputAlphasocS3, CreateOutputOutputAlphasocS3TypedDict, + CreateOutputOutputAmazonManagedPrometheus, + CreateOutputOutputAmazonManagedPrometheusTypedDict, CreateOutputOutputChronicle, CreateOutputOutputChronicleTypedDict, CreateOutputOutputClickHouse, @@ -52,6 +108,8 @@ CreateOutputOutputCriblTCPTypedDict, CreateOutputOutputCrowdstrikeNextGenSiem, CreateOutputOutputCrowdstrikeNextGenSiemTypedDict, + CreateOutputOutputCustomerMetricsStorage, + CreateOutputOutputCustomerMetricsStorageTypedDict, CreateOutputOutputDatabricks, CreateOutputOutputDatabricksTypedDict, CreateOutputOutputDatadog, @@ -70,10 +128,10 @@ CreateOutputOutputDynatraceOtlpTypedDict, CreateOutputOutputGrafanaCloudUnion, CreateOutputOutputGrafanaCloudUnionTypedDict, - CreateOutputOutputGraphite, - CreateOutputOutputGraphiteTypedDict, CreateOutputOutputHumioHec, CreateOutputOutputHumioHecTypedDict, + CreateOutputOutputIbmCloudS3, + CreateOutputOutputIbmCloudS3TypedDict, CreateOutputOutputLocalSearchStorage, CreateOutputOutputLocalSearchStorageTypedDict, CreateOutputOutputLoki, @@ -86,16961 +144,73 @@ CreateOutputOutputNutanixObjectsTypedDict, CreateOutputOutputOpenTelemetry, CreateOutputOutputOpenTelemetryTypedDict, - CreateOutputOutputPrometheus, - CreateOutputOutputPrometheusTypedDict, - CreateOutputOutputRing, - CreateOutputOutputRingTypedDict, - CreateOutputOutputRouter, - CreateOutputOutputRouterTypedDict, - CreateOutputOutputScalityS3, - CreateOutputOutputScalityS3TypedDict, - CreateOutputOutputSecurityLake, - CreateOutputOutputSecurityLakeTypedDict, - CreateOutputOutputSentinelOneAiSiem, - CreateOutputOutputSentinelOneAiSiemTypedDict, - CreateOutputOutputServiceNow, - CreateOutputOutputServiceNowTypedDict, - CreateOutputOutputSnmp, - CreateOutputOutputSnmpTypedDict, - CreateOutputOutputSns, - CreateOutputOutputSnsTypedDict, - CreateOutputOutputSqs, - CreateOutputOutputSqsTypedDict, - CreateOutputOutputStatsdExt, - CreateOutputOutputStatsdExtTypedDict, - CreateOutputOutputStorjS3, - CreateOutputOutputStorjS3TypedDict, - CreateOutputOutputSumoLogic, - CreateOutputOutputSumoLogicTypedDict, - CreateOutputOutputXsiam, - CreateOutputOutputXsiamTypedDict, - CreateOutputTypeStatsd, -) -from .dataformatoptions import DataFormatOptions -from .datapageversionoptions import DataPageVersionOptions -from .destinationprotocoloptions import DestinationProtocolOptions -from .diskspaceprotectionoptions import DiskSpaceProtectionOptions -from .extrahttpheaderconfinputelastic import ( - ExtraHTTPHeaderConfInputElastic, - ExtraHTTPHeaderConfInputElasticTypedDict, -) -from .failedrequestloggingmodeoptions import FailedRequestLoggingModeOptions -from .googleauthenticationmethodoptions import GoogleAuthenticationMethodOptions -from .hostconfoutputsyslog import HostConfOutputSyslog, HostConfOutputSyslogTypedDict -from .kafkaschemaregistryauthenticationtypetemplateschemaregistryurlauth import ( - KafkaSchemaRegistryAuthenticationTypeTemplateschemaRegistryURLAuth, - KafkaSchemaRegistryAuthenticationTypeTemplateschemaRegistryURLAuthTypedDict, -) -from .keyvaluemetadataconfoutputfilesystem import ( - KeyValueMetadataConfOutputFilesystem, - KeyValueMetadataConfOutputFilesystemTypedDict, -) -from .loglabelconfoutputgooglecloudlogging import ( - LogLabelConfOutputGoogleCloudLogging, - LogLabelConfOutputGoogleCloudLoggingTypedDict, -) -from .maxs2sversionoptions import MaxS2SVersionOptions -from .methodoptions import MethodOptions -from .microsoftentraidauthenticationendpointoptionssasl import ( - MicrosoftEntraIDAuthenticationEndpointOptionsSasl, -) -from .modeoptions import ModeOptions -from .nestedfieldserializationoptions import NestedFieldSerializationOptions -from .oauthheaderconfinputservicenowtable import ( - OauthHeaderConfInputServicenowTable, - OauthHeaderConfInputServicenowTableTypedDict, -) -from .oauthparamconfinputservicenowtable import ( - OauthParamConfInputServicenowTable, - OauthParamConfInputServicenowTableTypedDict, -) -from .objectacloptions import ObjectACLOptions -from .objectacloptionsauthenticatedreadbucketownerfullcontrol import ( - ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol, -) -from .orphanfilerecoverytype import ( - OrphanFileRecoveryType, - OrphanFileRecoveryTypeTypedDict, -) -from .parquetversionoptions import ParquetVersionOptions -from .queuefullbehavioroptions import QueueFullBehaviorOptions -from .recorddataformatoptions import RecordDataFormatOptions -from .recorddataformatoptionsjsonprotobuf import RecordDataFormatOptionsJSONProtobuf -from .regionoptions import RegionOptions -from .responseretrysettingconfoutputwebhook import ( - ResponseRetrySettingConfOutputWebhook, - ResponseRetrySettingConfOutputWebhookTypedDict, -) -from .retrysettingstype import RetrySettingsType, RetrySettingsTypeTypedDict -from .saslextensionconfinputkafka import ( - SaslExtensionConfInputKafka, - SaslExtensionConfInputKafkaTypedDict, -) -from .serversideencryptionforuploadedobjectsoptions import ( - ServerSideEncryptionForUploadedObjectsOptions, -) -from .serversideencryptionforuploadedobjectsoptionsaes256 import ( - ServerSideEncryptionForUploadedObjectsOptionsAes256, -) -from .storageclassoptions import StorageClassOptions -from .storageclassoptionsarchivecoldline import StorageClassOptionsArchiveColdline -from .storageclassoptionsreducedredundancystandard import ( - StorageClassOptionsReducedredundancyStandard, -) -from .timeoutretrysettingstype import ( - TimeoutRetrySettingsType, - TimeoutRetrySettingsTypeTypedDict, -) -from .tlssettingsclientsidetype import ( - TLSSettingsClientSideType, - TLSSettingsClientSideTypeTypedDict, -) -from .tlssettingsclientsidetypecapathcertpath import ( - TLSSettingsClientSideTypeCaPathCertPath, - TLSSettingsClientSideTypeCaPathCertPathTypedDict, -) -from .tlssettingsclientsidetypecapathcertpathextended import ( - TLSSettingsClientSideTypeCaPathCertPathExtended, - TLSSettingsClientSideTypeCaPathCertPathExtendedTypedDict, -) -from cribl_control_plane import models, utils -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, field_serializer, model_serializer -from typing import List, Optional, Union -from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict - - -class CreateOutputPqControlsStatsdTypedDict(TypedDict): - pass - - -class CreateOutputPqControlsStatsd(BaseModel): - pass - - -class CreateOutputOutputStatsdTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - 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]] - 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}""" - 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""" - 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 1MB.""" - 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_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): - id: str - r"""Unique ID for this output""" - - 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: 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}""" - - 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.""" - - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") - ] = None - r"""When protocol is TCP, specifies how often buffers should be flushed, resulting in records sent to the destination.""" - - 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.""" - - description: Optional[str] = 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.""" - - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") - ] = 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""" - - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") - ] = None - r"""How to handle events when all receivers are exerting backpressure""" - - 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 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputPqControlsStatsd], 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_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.DestinationProtocolOptions(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", - "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 = {} - - 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 CreateOutputTypeMinio(str, Enum): - MINIO = "minio" - - -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] - 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_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): - 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: 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)""" - - 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.""" - - 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 MinIO 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""" - - 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 - - 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[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 - - 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 - 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_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 - 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): - 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 - - @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("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 1MB.""" - 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 1MB.""" - - 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 1MB.""" - 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 1MB.""" - - 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 1MB.""" - 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 1MB.""" - - 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): - SERVICE = "service" - HOSTNAME = "hostname" - TIMESTAMP = "timestamp" - AUDIT_ID = "auditId" - - -class CreateOutputMetadatumTypedDict(TypedDict): - name: CreateOutputFieldName - 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 - - 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 - - -class CreateOutputOutputNewrelicTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - type: CreateOutputTypeNewrelic - 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.""" - 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 1MB.""" - 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.""" - - -class CreateOutputOutputNewrelic(BaseModel): - id: str - r"""Unique ID for this output""" - - type: CreateOutputTypeNewrelic - - 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.""" - - 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[CreateOutputMetadatum]] = None - r"""Fields to add to events from this input""" - - 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""" - - 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 - - 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 1MB.""" - - pq_controls: Annotated[ - 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_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") - ] = 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_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_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): - 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", - "logType", - "messageField", - "metadata", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", - "failedRequestLoggingMode", - "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "onBackpressure", - "authType", - "totalMemoryLimitKB", - "description", - "customUrl", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "apiKey", - "textSecret", - "__template_streamtags", - "__template_region", - "__template_logType", - "__template_messageField", - "__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 CreateOutputTypeElasticCloud(str, Enum): - ELASTIC_CLOUD = "elastic_cloud" - - -class CreateOutputPqControlsElasticCloudTypedDict(TypedDict): - pass - - -class CreateOutputPqControlsElasticCloud(BaseModel): - pass - - -class CreateOutputOutputElasticCloudTypedDict(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.""" - 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""" - 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.""" - 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 1MB.""" - 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_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 CreateOutputOutputElasticCloud(BaseModel): - 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.""" - - 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}""" - - 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""" - - 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""" - - 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"), - ] = 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 - - 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 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputPqControlsElasticCloud], 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_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_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("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", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "failedRequestLoggingMode", - "safeHeaders", - "extraParams", - "auth", - "elasticPipeline", - "includeDocId", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "onBackpressure", - "description", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "__template_streamtags", - "__template_url", - "__template_index", - "__template_failedRequestLoggingMode", - "__template_elasticPipeline", - "__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 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""" - - 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: 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]] - 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"""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""" - 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""" - 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 1MB.""" - 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_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 CreateOutputOutputElastic(BaseModel): - 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.""" - - 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}""" - - 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""" - - 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""" - - 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.""" - - 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") - ] = 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[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""" - - 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""" - - 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 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputPqControlsElastic], 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_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 - 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.""" - - @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("elastic_version") - def serialize_elastic_version(self, value): - if isinstance(value, str): - try: - 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 - - @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", - "loadBalanced", - "docType", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "failedRequestLoggingMode", - "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "extraParams", - "auth", - "elasticVersion", - "elasticPipeline", - "includeDocId", - "writeAction", - "retryPartialErrors", - "onBackpressure", - "description", - "url", - "useRoundRobinDns", - "excludeSelf", - "urls", - "dnsResolvePeriodSec", - "loadBalanceStatsPeriodSec", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "__template_streamtags", - "__template_index", - "__template_docType", - "__template_failedRequestLoggingMode", - "__template_elasticPipeline", - "__template_onBackpressure", - "__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 CreateOutputTypeMsk(str, Enum): - MSK = "msk" - - -class CreateOutputPqControlsMskTypedDict(TypedDict): - pass - - -class CreateOutputPqControlsMsk(BaseModel): - pass - - -class CreateOutputOutputMskTypedDict(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""" - 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""" - 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] - 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] - 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 1MB.""" - 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: 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 CreateOutputOutputMsk(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.""" - - 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""" - - 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}""" - - 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.""" - - 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.""" - - 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") - ] = 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") - ] = 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"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputPqControlsMsk], 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_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.""" - - 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 - - @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 - - @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", - "ack", - "format", - "compression", - "maxRecordSizeKB", - "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", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "__template_streamtags", - "__template_topic", - "__template_format", - "__template_compression", - "__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 CreateOutputTypeConfluentCloud(str, Enum): - CONFLUENT_CLOUD = "confluent_cloud" - - -class CreateOutputPqControlsConfluentCloudTypedDict(TypedDict): - pass - - -class CreateOutputPqControlsConfluentCloud(BaseModel): - pass - - -class CreateOutputOutputConfluentCloudTypedDict(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.""" - 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}""" - 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"""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.""" - 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""" - 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 1MB.""" - 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_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 CreateOutputOutputConfluentCloud(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.""" - - 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}""" - - tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None - - 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.""" - - 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.""" - - 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") - ] = 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"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputPqControlsConfluentCloud], - 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_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 - 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("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): - 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("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", - "tls", - "ack", - "format", - "compression", - "maxRecordSizeKB", - "flushEventCount", - "flushPeriodSec", - "kafkaSchemaRegistry", - "connectionTimeout", - "requestTimeout", - "maxRetries", - "maxBackOff", - "initialBackoff", - "backoffRate", - "authenticationTimeout", - "reauthenticationThreshold", - "sasl", - "onBackpressure", - "description", - "protobufLibraryId", - "protobufEncodingId", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "__template_streamtags", - "__template_brokers", - "__template_topic", - "__template_format", - "__template_compression", - "__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 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""" - 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""" - 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 1MB.""" - 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_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 CreateOutputOutputKafka(BaseModel): - 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: 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}""" - - 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.""" - - 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 - - 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"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputPqControlsKafka], 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_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("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): - 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("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", - "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 = {} - - 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] - 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.""" - - -class CreateOutputOutputExabeam(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 - - """ - - 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}""" - - 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""" - - 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.""" - - 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""" - - retry_settings: Annotated[ - Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") - ] = None - - orphans: Optional[OrphanFileRecoveryType] = 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.""" - - encoded_configuration: Annotated[ - Optional[str], pydantic.Field(alias="encodedConfiguration") - ] = None - r"""Enter an encoded string containing Exabeam configurations""" - - 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.""" - - 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.""" - - timezone_offset: Annotated[ - Optional[str], pydantic.Field(alias="timezoneOffset") - ] = None - - 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}`.""" - - 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 - - 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_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("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("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 - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "pipeline", - "systemFields", - "environment", - "streamtags", - "objectACL", - "storageClass", - "reuseConnections", - "rejectUnauthorized", - "addIdToStagePath", - "removeEmptyDirs", - "maxFileOpenTimeSec", - "maxFileIdleTimeSec", - "maxOpenFiles", - "onBackpressure", - "deadletterEnabled", - "onDiskFullBackpressure", - "retrySettings", - "orphans", - "maxFileSizeMB", - "encodedConfiguration", - "siteName", - "siteId", - "timezoneOffset", - "awsApiKey", - "awsSecretKey", - "description", - "emptyDirCleanupSec", - "directoryBatchSize", - "deadletterPath", - "maxRetryNum", - "__template_streamtags", - "__template_region", - "__template_endpoint", - "__template_objectACL", - "__template_storageClass", - "__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 CreateOutputTypeGooglePubsub(str, Enum): - GOOGLE_PUBSUB = "google_pubsub" - - -class CreateOutputPqControlsGooglePubsubTypedDict(TypedDict): - pass - - -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]] - 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}""" - 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] - 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 1MB.""" - 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_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 CreateOutputOutputGooglePubsub(BaseModel): - id: str - r"""Unique ID for this output""" - - type: CreateOutputTypeGooglePubsub - - 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""" - - 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 - - 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 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputPqControlsGooglePubsub], 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_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.""" - - @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", - "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 = {} - - 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 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.""" - 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 1MB.""" - 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_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 CreateOutputOutputGoogleCloudLogging(BaseModel): - id: str - r"""Unique ID for this output""" - - type: CreateOutputTypeGoogleCloudLogging - - 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""" - - 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[CreateOutputPayloadFormat], 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 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputPqControlsGoogleCloudLogging], - 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.CreateOutputLogLocationType(value) - except ValueError: - return value - return value - - @field_serializer("payload_format") - def serialize_payload_format(self, value): - if isinstance(value, str): - try: - return models.CreateOutputPayloadFormat(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 CreateOutputTypeGoogleCloudStorage(str, Enum): - GOOGLE_CLOUD_STORAGE = "google_cloud_storage" - - -class CreateOutputAuthenticationMethodGoogleCloudStorage( - str, Enum, metaclass=utils.OpenEnumMeta -): - # auto - AUTO = "auto" - # manual - MANUAL = "manual" - # Secret Key pair - SECRET = "secret" - - -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.""" - 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[ - 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] - 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.""" - - -class CreateOutputOutputGoogleCloudStorage(BaseModel): - 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: 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}""" - - aws_authentication_method: Annotated[ - Optional[CreateOutputAuthenticationMethodGoogleCloudStorage], - 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}`""" - - 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""" - - 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"""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 - - 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""" - - 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""" - - 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") - ] = 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_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_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_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.""" - - @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.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( - [ - "pipeline", - "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"]) - 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 CreateOutputPqControlsGoogleChronicle(BaseModel): - pass - - -class CreateOutputOutputGoogleChronicleTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - 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]] - 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}""" - 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] - 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] - 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""" - 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 1MB.""" - 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 CreateOutputOutputGoogleChronicle(BaseModel): - id: str - r"""Unique ID for this output""" - - type: CreateOutputTypeGoogleChronicle - - log_format_type: Annotated[ - CreateOutputSendEventsAs, pydantic.Field(alias="logFormatType") - ] - - 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}""" - - 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""" - - 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""" - - 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""" - - 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.""" - - 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 - - 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") - ] = 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 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputPqControlsGoogleChronicle], - 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_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 - 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_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): - 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("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): - 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", - "apiVersion", - "authenticationMethod", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "region", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "failedRequestLoggingMode", - "safeHeaders", - "useRoundRobinDns", - "onBackpressure", - "totalMemoryLimitKB", - "description", - "extraLogTypes", - "logType", - "logTextField", - "customerId", - "namespace", - "customLabels", - "udmType", - "apiKey", - "apiKeySecret", - "serviceAccountCredentials", - "serviceAccountCredentialsSecret", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "__template_streamtags", - "__template_apiVersion", - "__template_region", - "__template_failedRequestLoggingMode", - "__template_onBackpressure", - "__template_customerId", - ] - ) - 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 CreateOutputTypeAzureEventhub(str, Enum): - AZURE_EVENTHUB = "azure_eventhub" - - -class CreateOutputPqControlsAzureEventhubTypedDict(TypedDict): - pass - - -class CreateOutputPqControlsAzureEventhub(BaseModel): - pass - - -class CreateOutputOutputAzureEventhubTypedDict(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.""" - 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[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] - 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 1MB.""" - 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_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.""" - - -class CreateOutputOutputAzureEventhub(BaseModel): - 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.""" - - 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}""" - - ack: Optional[AcknowledgmentsOptions] = None - r"""Control the number of required acknowledgments""" - - format_: Annotated[ - Optional[RecordDataFormatOptions], pydantic.Field(alias="format") - ] = None - r"""Format to use to serialize events before writing to the Event Hubs Kafka brokers""" - - 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.""" - - flush_event_count: Annotated[ - Optional[float], pydantic.Field(alias="flushEventCount") - ] = None - r"""Maximum number of events 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 Max record size.""" - - 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[AuthenticationTypeUse] = None - r"""Authentication parameters to use when connecting to brokers. 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 - - 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 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputPqControlsAzureEventhub], - 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_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 - 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.""" - - @field_serializer("ack") - def serialize_ack(self, value): - if isinstance(value, str): - try: - return models.AcknowledgmentsOptions(value) - except ValueError: - return value - return value - - @field_serializer("format_") - def serialize_format_(self, value): - if isinstance(value, str): - try: - return models.RecordDataFormatOptions(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", - "ack", - "format", - "maxRecordSizeKB", - "flushEventCount", - "flushPeriodSec", - "connectionTimeout", - "requestTimeout", - "maxRetries", - "maxBackOff", - "initialBackoff", - "backoffRate", - "authenticationTimeout", - "reauthenticationThreshold", - "sasl", - "tls", - "onBackpressure", - "description", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "__template_streamtags", - "__template_brokers", - "__template_topic", - "__template_format", - "__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 CreateOutputTypeHoneycomb(str, Enum): - HONEYCOMB = "honeycomb" - - -class CreateOutputPqControlsHoneycombTypedDict(TypedDict): - pass - - -class CreateOutputPqControlsHoneycomb(BaseModel): - pass - - -class CreateOutputOutputHoneycombTypedDict(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""" - 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""" - 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] - 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 1MB.""" - 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.""" - - -class CreateOutputOutputHoneycomb(BaseModel): - id: str - r"""Unique ID for this output""" - - type: CreateOutputTypeHoneycomb - - 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""" - - 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}""" - - 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 - - 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 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputPqControlsHoneycomb], 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_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("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", - "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 = {} - - 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 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 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[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] - 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] - 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 1MB.""" - 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_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_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): - id: str - r"""Unique ID for this output""" - - type: CreateOutputTypeKinesis - - stream_name: Annotated[str, pydantic.Field(alias="streamName")] - r"""Kinesis stream name to send events to.""" - - 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""" - - 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"""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 - - 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 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputPqControlsKinesis], 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_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") - ] = 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("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" - - -class CreateOutputPqControlsAzureLogsTypedDict(TypedDict): - pass - - -class CreateOutputPqControlsAzureLogs(BaseModel): - pass - - -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] - 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 1MB.""" - 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.""" - - -class CreateOutputOutputAzureLogs(BaseModel): - id: str - r"""Unique ID for this output""" - - type: CreateOutputTypeAzureLogs - - 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.""" - - 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}""" - - 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""" - - 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 - - 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""" - - 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"), - ] = 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[CreateOutputAuthenticationMethodAzureLogs], - pydantic.Field(alias="authType"), - ] = None - r"""Enter workspace ID and workspace key directly, or select a stored secret""" - - 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.""" - - 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 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputPqControlsAzureLogs], 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.""" - - 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 'streamtags' to a variable 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_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): - 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.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] - - -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: 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.""" - 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 1MB.""" - 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_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_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 CreateOutputOutputAzureDataExplorer(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""" - - 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""" - - 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}""" - - 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 - - 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.""" - - 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""" - - remove_empty_dirs: Annotated[ - Optional[bool], pydantic.Field(alias="removeEmptyDirs") - ] = None - r"""Remove empty staging directories after moving files""" - - 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_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"""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""" - - 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") - ] = 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.""" - - max_concurrent_file_parts: Annotated[ - Optional[float], pydantic.Field(alias="maxConcurrentFileParts") - ] = None - r"""Maximum number of parts to upload in parallel per file""" - - 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""" - - add_id_to_stage_path: Annotated[ - Optional[bool], pydantic.Field(alias="addIdToStagePath") - ] = None - r"""Add the Output ID value to staging location""" - - retry_settings: Annotated[ - Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") - ] = None - - orphans: Optional[OrphanFileRecoveryType] = 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""" - - 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") - ] = None - r"""Prevent blob deletion after ingestion is complete""" - - extent_tags: Annotated[ - Optional[List[CreateOutputExtentTag]], pydantic.Field(alias="extentTags") - ] = None - r"""Strings or tags associated with the extent (ingested data shard)""" - - ingest_if_not_exists: Annotated[ - Optional[List[CreateOutputIngestIfNotExist]], - pydantic.Field(alias="ingestIfNotExists"), - ] = None - r"""Prevents duplicate ingestion by verifying whether an extent with the specified ingest-by tag already exists""" - - report_level: Annotated[ - Optional[CreateOutputReportLevel], pydantic.Field(alias="reportLevel") - ] = None - r"""Level of ingestion status reporting. Defaults to FailuresOnly.""" - - report_method: Annotated[ - Optional[CreateOutputReportMethod], pydantic.Field(alias="reportMethod") - ] = None - r"""Target of the ingestion status reporting. Defaults to Queue.""" - - additional_properties: Annotated[ - Optional[List[CreateOutputAdditionalProperty]], - pydantic.Field(alias="additionalProperties"), - ] = None - r"""Optionally, enter additional configuration properties to send to the ingestion service""" - - 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""" - - 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") - ] = 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.""" - - 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"""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 1MB.""" - - 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") - ] = 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") - ] = 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_mapping_ref: Annotated[ - Optional[str], pydantic.Field(alias="__template_mappingRef") - ] = 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.""" - - template_ingest_url: Annotated[ - Optional[str], pydantic.Field(alias="__template_ingestUrl") - ] = 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.""" - - 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") - ] = 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 - - @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 - - @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( - [ - "pipeline", - "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", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "flushPeriodSec", - "rejectUnauthorized", - "useRoundRobinDns", - "keepAlive", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "__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_onBackpressure", - "__template_fileNameSuffix", - ] - ) - 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 CreateOutputTypeAzureBlob(str, Enum): - AZURE_BLOB = "azure_blob" - - -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: 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.""" - 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}""" - 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.""" - 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] - 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""" - 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_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_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.""" - - -class CreateOutputOutputAzureBlob(BaseModel): - id: str - r"""Unique ID for this output""" - - type: CreateOutputTypeAzureBlob - - 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}""" - - create_container: Annotated[ - Optional[bool], pydantic.Field(alias="createContainer") - ] = None - 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 - 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 - - auth_type: Annotated[ - Optional[AuthenticationMethodOptions], pydantic.Field(alias="authType") - ] = None - - storage_class: Annotated[ - Optional[CreateOutputBlobAccessTier], pydantic.Field(alias="storageClass") - ] = 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") - ] = 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""" - - connection_string: Annotated[ - Optional[str], pydantic.Field(alias="connectionString") - ] = None - r"""Enter your Azure Storage account connection string. If left blank, Stream will fall back to env.AZURE_STORAGE_CONNECTION_STRING.""" - - 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"""The name of your Azure storage account""" - - 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"""Endpoint suffix for the service URL. Takes precedence over the Azure Cloud setting. Defaults to core.windows.net.""" - - client_text_secret: Annotated[ - Optional[str], pydantic.Field(alias="clientTextSecret") - ] = None - r"""Select or create a stored text secret""" - - certificate: Optional[CertificateTypeAzureBlobAuthTypeClientCert] = 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") - ] = 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.""" - - 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.""" - - 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") - ] = 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.""" - - 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_azure_cloud: Annotated[ - Optional[str], pydantic.Field(alias="__template_azureCloud") - ] = 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 - - @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("auth_type") - def serialize_auth_type(self, value): - if isinstance(value, str): - try: - return models.AuthenticationMethodOptions(value) - except ValueError: - return value - return value - - @field_serializer("storage_class") - def serialize_storage_class(self, value): - if isinstance(value, str): - try: - return models.CreateOutputBlobAccessTier(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", - "createContainer", - "destPath", - "addIdToStagePath", - "maxConcurrentFileParts", - "removeEmptyDirs", - "partitionExpr", - "format", - "baseFileName", - "fileNameSuffix", - "maxFileSizeMB", - "maxFileOpenTimeSec", - "maxFileIdleTimeSec", - "maxOpenFiles", - "headerLine", - "writeHighWaterMark", - "onBackpressure", - "deadletterEnabled", - "onDiskFullBackpressure", - "forceCloseOnShutdown", - "retrySettings", - "orphans", - "authType", - "storageClass", - "description", - "compress", - "compressionLevel", - "automaticSchema", - "parquetSchema", - "parquetVersion", - "parquetDataPageVersion", - "parquetRowGroupLength", - "parquetPageSize", - "shouldLogInvalidRows", - "keyValueMetadata", - "enableStatistics", - "enableWritePageIndex", - "enablePageChecksum", - "emptyDirCleanupSec", - "directoryBatchSize", - "deadletterPath", - "maxRetryNum", - "connectionString", - "textSecret", - "storageAccountName", - "tenantId", - "clientId", - "azureCloud", - "endpointSuffix", - "clientTextSecret", - "certificate", - "__template_streamtags", - "__template_containerName", - "__template_destPath", - "__template_partitionExpr", - "__template_format", - "__template_baseFileName", - "__template_fileNameSuffix", - "__template_onBackpressure", - "__template_compress", - "__template_parquetSchema", - "__template_connectionString", - "__template_storageAccountName", - "__template_tenantId", - "__template_clientId", - "__template_azureCloud", - ] - ) - 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 CreateOutputTypeS3(str, Enum): - S3 = "s3" - - -class CreateOutputOutputS3TypedDict(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}`""" - 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""" - 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[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] - 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_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_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 CreateOutputOutputS3(BaseModel): - 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}`""" - - 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""" - - 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 - - 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 - - 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 - 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_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 - 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_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 - 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("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("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): - 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", - "endpoint", - "enableAssumeRole", - "assumeRoleArn", - "assumeRoleExternalId", - "durationSeconds", - "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", - "kmsKeyId", - "description", - "awsApiKey", - "awsSecret", - "compress", - "compressionLevel", - "automaticSchema", - "parquetSchema", - "parquetVersion", - "parquetDataPageVersion", - "parquetRowGroupLength", - "parquetPageSize", - "shouldLogInvalidRows", - "keyValueMetadata", - "enableStatistics", - "enableWritePageIndex", - "enablePageChecksum", - "emptyDirCleanupSec", - "directoryBatchSize", - "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", - ] - ) - 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 CreateOutputTypeFilesystem(str, Enum): - FILESYSTEM = "filesystem" - - -class CreateOutputOutputFilesystemTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - 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]] - 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""" - 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""" - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable 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 CreateOutputOutputFilesystem(BaseModel): - id: str - r"""Unique ID for this output""" - - type: CreateOutputTypeFilesystem - - 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""" - - 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}""" - - 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") - ] = 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 - - 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_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("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( - [ - "pipeline", - "systemFields", - "environment", - "streamtags", - "stagePath", - "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", - "__template_streamtags", - "__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 - - -class CreateOutputTypeSignalfx(str, Enum): - SIGNALFX = "signalfx" - - -class CreateOutputPqControlsSignalfxTypedDict(TypedDict): - pass - - -class CreateOutputPqControlsSignalfx(BaseModel): - pass - - -class CreateOutputOutputSignalfxTypedDict(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).""" - 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[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] - 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 1MB.""" - 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] - 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 CreateOutputOutputSignalfx(BaseModel): - 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).""" - - 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}""" - - 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""" - - 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""" - - description: Optional[str] = None - - 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))""" - - 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_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 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputPqControlsSignalfx], 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_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("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("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", - "authType", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", - "failedRequestLoggingMode", - "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "onBackpressure", - "description", - "token", - "textSecret", - "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 CreateOutputTypeWavefront(str, Enum): - WAVEFRONT = "wavefront" - - -class CreateOutputPqControlsWavefrontTypedDict(TypedDict): - pass - - -class CreateOutputPqControlsWavefront(BaseModel): - pass - - -class CreateOutputOutputWavefrontTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - 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]] - 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[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] - 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] - 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 1MB.""" - 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.""" - - -class CreateOutputOutputWavefront(BaseModel): - id: str - r"""Unique ID for this output""" - - 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""" - - 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}""" - - 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""" - - 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""" - - description: Optional[str] = None - - token: Optional[str] = None - r"""WaveFront API authentication token (see [here](https://docs.wavefront.com/wavefront_api.html#generating-an-api-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_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 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputPqControlsWavefront], 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_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("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("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", - "authType", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", - "failedRequestLoggingMode", - "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "onBackpressure", - "description", - "token", - "textSecret", - "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 CreateOutputTypeTcpjson(str, Enum): - TCPJSON = "tcpjson" - - -class CreateOutputPqControlsTcpjsonTypedDict(TypedDict): - pass - - -class CreateOutputPqControlsTcpjson(BaseModel): - pass - - -class CreateOutputOutputTcpjsonTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - type: CreateOutputTypeTcpjson - 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"""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] - 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] - 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 1MB.""" - 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_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): - id: str - r"""Unique ID for this output""" - - type: CreateOutputTypeTcpjson - - 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}""" - - load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( - None - ) - r"""Use load-balanced destinations""" - - compression: Optional[CompressionOptionsGzipNone] = None - r"""Codec to use to compress the data before sending""" - - log_failed_requests: Annotated[ - Optional[bool], pydantic.Field(alias="logFailedRequests") - ] = None - r"""Use to troubleshoot issues with sending data""" - - 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") - ] = 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""" - - 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 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.""" - - 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 - - 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""" - - 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 - 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 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputPqControlsTcpjson], 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_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): - if isinstance(value, str): - try: - return models.CompressionOptionsGzipNone(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.AuthenticationMethodOptionsAuthTokensItems(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", - "loadBalanced", - "compression", - "logFailedRequests", - "throttleRatePerSec", - "tls", - "connectionTimeout", - "writeTimeout", - "tokenTTLMinutes", - "sendHeader", - "onBackpressure", - "authType", - "description", - "host", - "port", - "excludeSelf", - "hosts", - "dnsResolvePeriodSec", - "loadBalanceStatsPeriodSec", - "maxConcurrentSenders", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "authToken", - "textSecret", - "__template_streamtags", - "__template_onBackpressure", - "__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 CreateOutputTypeWizHec(str, Enum): - WIZ_HEC = "wiz_hec" - - -class CreateOutputPqControlsWizHecTypedDict(TypedDict): - pass - - -class CreateOutputPqControlsWizHec(BaseModel): - pass - - -class CreateOutputOutputWizHecTypedDict(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 - 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}""" - 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.""" - 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 1MB.""" - 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_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 CreateOutputOutputWizHec(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 - - 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}""" - - 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"""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""" - - 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""" - - 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") - ] = 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 - - 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 1MB.""" - - pq_controls: Annotated[ - 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 - r"""Binds 'streamtags' to a variable 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_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): - if isinstance(value, str): - try: - return models.FailedRequestLoggingModeOptions(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 - - @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", - "nextQueue", - "tcpRouting", - "tls", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "failedRequestLoggingMode", - "safeHeaders", - "authType", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "onBackpressure", - "description", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "token", - "textSecret", - "__template_streamtags", - "__template_failedRequestLoggingMode", - "__template_onBackpressure", - "__template_wiz_environment", - "__template_data_center", - "__template_wiz_sourcetype", - ] - ) - 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 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 CreateOutputPqControlsSplunkHecTypedDict(TypedDict): - pass - - -class CreateOutputPqControlsSplunkHec(BaseModel): - pass - - -class CreateOutputOutputSplunkHecTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - type: CreateOutputTypeSplunkHec - 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.""" - 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, 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] - 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] - 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 1MB.""" - 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_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 CreateOutputOutputSplunkHec(BaseModel): - id: str - r"""Unique ID for this output""" - - type: CreateOutputTypeSplunkHec - - 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}""" - - 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.""" - - 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"""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""" - - 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""" - - 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"), - ] = 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") - ] = 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 - - 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""" - - 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 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputPqControlsSplunkHec], 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_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.""" - - @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("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): - 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", - "loadBalanced", - "nextQueue", - "tcpRouting", - "tls", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "failedRequestLoggingMode", - "safeHeaders", - "enableMultiMetrics", - "authType", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "onBackpressure", - "description", - "url", - "useRoundRobinDns", - "excludeSelf", - "urls", - "dnsResolvePeriodSec", - "loadBalanceStatsPeriodSec", - "token", - "textSecret", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "__template_streamtags", - "__template_failedRequestLoggingMode", - "__template_onBackpressure", - "__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 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 CreateOutputPqControlsSplunkLb(BaseModel): - pass - - -class CreateOutputOutputSplunkLbTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - 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]] - 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"""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] - 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.""" - 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[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] - 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 1MB.""" - 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_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 CreateOutputOutputSplunkLb(BaseModel): - id: str - r"""Unique ID for this output""" - - type: CreateOutputTypeSplunkLb - - 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""" - - 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"""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 - 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.""" - - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") - ] = 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 - - 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.""" - - 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.""" - - log_failed_requests: Annotated[ - Optional[bool], pydantic.Field(alias="logFailedRequests") - ] = None - r"""Use to troubleshoot issues with sending data""" - - max_s2_sversion: Annotated[ - Optional[MaxS2SVersionOptions], pydantic.Field(alias="maxS2Sversion") - ] = 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""" - - 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"), - ] = None - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - - description: Optional[str] = None - - 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.""" - - 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 - 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 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputPqControlsSplunkLb], 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") - ] = 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.""" - - @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): - 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.AuthenticationMethodOptionsAuthTokensItems(value) - except ValueError: - return value - return value - - @field_serializer("compress") - def serialize_compress(self, value): - if isinstance(value, str): - try: - return models.CompressionOptions(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", - "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 = {} - - 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 CreateOutputTypeSplunk(str, Enum): - SPLUNK = "splunk" - - -class CreateOutputPqControlsSplunkTypedDict(TypedDict): - pass - - -class CreateOutputPqControlsSplunk(BaseModel): - pass - - -class CreateOutputOutputSplunkTypedDict(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""" - 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}""" - 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] - 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""" - 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.""" - 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 1MB.""" - 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 CreateOutputOutputSplunk(BaseModel): - 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""" - - 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}""" - - nested_fields: Annotated[ - Optional[NestedFieldSerializationOptions], pydantic.Field(alias="nestedFields") - ] = None - 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.""" - - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") - ] = 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 - - 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.""" - - 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.""" - - log_failed_requests: Annotated[ - Optional[bool], pydantic.Field(alias="logFailedRequests") - ] = None - r"""Use to troubleshoot issues with sending data""" - - max_s2_sversion: Annotated[ - Optional[MaxS2SVersionOptions], pydantic.Field(alias="maxS2Sversion") - ] = 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""" - - 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 - - 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.""" - - 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 1MB.""" - - pq_controls: Annotated[ - 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 - r"""Binds 'streamtags' to a variable 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 - 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.""" - - @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): - 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.AuthenticationMethodOptionsAuthTokensItems(value) - except ValueError: - return value - return value - - @field_serializer("compress") - def serialize_compress(self, value): - if isinstance(value, str): - try: - return models.CompressionOptions(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", - "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 - - -class CreateOutputMessageFormat(str, Enum, metaclass=utils.OpenEnumMeta): - r"""The syslog message format depending on the receiver's support""" - - # RFC3164 - RFC3164 = "rfc3164" - # RFC5424 - RFC5424 = "rfc5424" - - -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 CreateOutputPqControlsSyslogTypedDict(TypedDict): - pass - - -class CreateOutputPqControlsSyslog(BaseModel): - pass - - -class CreateOutputOutputSyslogTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - type: CreateOutputTypeSyslog - 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[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] - 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""" - 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] - 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 1MB.""" - 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_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.""" - - -class CreateOutputOutputSyslog(BaseModel): - id: str - r"""Unique ID for this output""" - - type: CreateOutputTypeSyslog - - 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[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") - ] = None - r"""Timestamp format to use when serializing event's time field""" - - 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") - ] = None - r"""Use to troubleshoot issues with sending data""" - - description: Optional[str] = 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.""" - - 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""" - - 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.""" - - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") - ] = 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 - - 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") - ] = None - 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: 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.""" - - 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.""" - - 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 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputPqControlsSyslog], 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_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_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 - - @field_serializer("facility") - def serialize_facility(self, value): - if isinstance(value, str): - try: - return models.CreateOutputFacility(value) - except ValueError: - return value - return value - - @field_serializer("severity") - def serialize_severity(self, value): - if isinstance(value, str): - try: - return models.CreateOutputSeveritySyslog(value) - except ValueError: - return value - return value - - @field_serializer("message_format") - def serialize_message_format(self, value): - if isinstance(value, str): - try: - return models.CreateOutputMessageFormat(value) - except ValueError: - return value - return value - - @field_serializer("timestamp_format") - def serialize_timestamp_format(self, value): - if isinstance(value, str): - try: - return models.CreateOutputTimestampFormat(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", - "facility", - "severity", - "appName", - "messageFormat", - "timestampFormat", - "throttleRatePerSec", - "octetCountFraming", - "logFailedRequests", - "description", - "loadBalanced", - "host", - "port", - "excludeSelf", - "hosts", - "dnsResolvePeriodSec", - "loadBalanceStatsPeriodSec", - "maxConcurrentSenders", - "connectionTimeout", - "writeTimeout", - "tls", - "onBackpressure", - "maxRecordSize", - "udpDnsResolvePeriodSec", - "enableIpSpoofing", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "__template_streamtags", - "__template_host", - "__template_port", - "__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 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}""" - - 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 = {} - - 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 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: 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]] - 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}""" - 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.""" - 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.""" - 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 1MB.""" - 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""" - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable 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_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): - 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""" - - 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}""" - - 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.""" - - 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[CreateOutputAuthType], pydantic.Field(alias="authType") - ] = 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.""" - - description: Optional[str] = None - - format_: Annotated[ - Optional[CreateOutputFormatSentinel], pydantic.Field(alias="format") - ] = None - - 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 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputPqControlsSentinel], 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")] = ( - 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.""" - - @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.CreateOutputAuthType(value) - except ValueError: - return value - return value - - @field_serializer("endpoint_url_configuration") - def serialize_endpoint_url_configuration(self, value): - if isinstance(value, str): - try: - return models.CreateOutputEndpointConfiguration(value) - except ValueError: - return value - return value - - @field_serializer("format_") - def serialize_format_(self, value): - if isinstance(value, str): - try: - return models.CreateOutputFormatSentinel(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", - "keepAlive", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", - "failedRequestLoggingMode", - "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "onBackpressure", - "authType", - "scope", - "totalMemoryLimitKB", - "description", - "format", - "customSourceExpression", - "customDropWhenNull", - "customEventDelimiter", - "customContentType", - "customPayloadExpression", - "advancedContentType", - "formatEventCode", - "formatPayloadCode", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "url", - "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) - 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 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" + CreateOutputOutputPrometheus, + CreateOutputOutputPrometheusTypedDict, + CreateOutputOutputRing, + CreateOutputOutputRingTypedDict, + CreateOutputOutputRouter, + CreateOutputOutputRouterTypedDict, + CreateOutputOutputScalityS3, + CreateOutputOutputScalityS3TypedDict, + CreateOutputOutputSecurityLake, + CreateOutputOutputSecurityLakeTypedDict, + CreateOutputOutputSentinelOneAiSiem, + CreateOutputOutputSentinelOneAiSiemTypedDict, + CreateOutputOutputServiceNow, + CreateOutputOutputServiceNowTypedDict, + CreateOutputOutputSnmp, + CreateOutputOutputSnmpTypedDict, + CreateOutputOutputSns, + CreateOutputOutputSnsTypedDict, + CreateOutputOutputSqs, + CreateOutputOutputSqsTypedDict, + CreateOutputOutputStorjS3, + CreateOutputOutputStorjS3TypedDict, + CreateOutputOutputSumoLogic, + CreateOutputOutputSumoLogicTypedDict, + 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 .refreshrequestparamconfhealthcheckauthenticationoauthsecret import ( + RefreshRequestParamConfHealthCheckAuthenticationOauthSecret, + RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict, +) +from .responseretrysettingconfoutputwebhook import ( + ResponseRetrySettingConfOutputWebhook, + ResponseRetrySettingConfOutputWebhookTypedDict, +) +from .timeoutretrysettingstype import ( + TimeoutRetrySettingsType, + TimeoutRetrySettingsTypeTypedDict, +) +from .tlssettingsclientsidetypecapathcertpathextended import ( + TLSSettingsClientSideTypeCaPathCertPathExtended, + TLSSettingsClientSideTypeCaPathCertPathExtendedTypedDict, +) +from cribl_control_plane import models, utils +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, field_serializer, model_serializer +from typing import List, Optional, Union +from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict class CreateOutputOutputWebhookAuthenticationType2( @@ -17120,7 +290,7 @@ class CreateOutputOutputWebhookWebhook2TypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" method: NotRequired[MethodOptions] r"""The method to use when sending events""" format_: NotRequired[CreateOutputOutputWebhookFormat2] @@ -17169,6 +339,7 @@ class CreateOutputOutputWebhookWebhook2TypedDict(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] @@ -17206,7 +377,7 @@ class CreateOutputOutputWebhookWebhook2TypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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] @@ -17232,6 +403,16 @@ class CreateOutputOutputWebhookWebhook2TypedDict(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.""" + refresh_token_field: NotRequired[str] + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, @{product} will use the refresh token to obtain new access tokens without re-sending credentials.""" + rotate_refresh_token: NotRequired[bool] + r"""@{product} will update the stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + refresh_url: NotRequired[str] + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + refresh_request_params: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict] + ] + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, @{product} sends only grant_type, refresh_token, and client_secret.""" url: NotRequired[str] r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" exclude_self: NotRequired[bool] @@ -17250,6 +431,8 @@ 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_refresh_url: NotRequired[str] + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' 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.""" @@ -17274,7 +457,7 @@ class CreateOutputOutputWebhookWebhook2(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" method: Optional[MethodOptions] = None r"""The method to use when sending events""" @@ -17380,6 +563,7 @@ class CreateOutputOutputWebhookWebhook2(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") @@ -17468,7 +652,7 @@ class CreateOutputOutputWebhookWebhook2(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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], @@ -17528,6 +712,25 @@ class CreateOutputOutputWebhookWebhook2(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.""" + refresh_token_field: Annotated[ + Optional[str], pydantic.Field(alias="refreshTokenField") + ] = None + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, @{product} will use the refresh token to obtain new access tokens without re-sending credentials.""" + + rotate_refresh_token: Annotated[ + Optional[bool], pydantic.Field(alias="rotateRefreshToken") + ] = None + r"""@{product} will update the stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + + refresh_url: Annotated[Optional[str], pydantic.Field(alias="refreshUrl")] = None + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + + refresh_request_params: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecret]], + pydantic.Field(alias="refreshRequestParams"), + ] = None + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, @{product} sends only grant_type, refresh_token, and client_secret.""" + url: Optional[str] = None r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" @@ -17569,6 +772,11 @@ 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_refresh_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_refreshUrl") + ] = None + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( None ) @@ -17710,6 +918,10 @@ def serialize_model(self, handler): "tokenTimeoutSecs", "oauthParams", "oauthHeaders", + "refreshTokenField", + "rotateRefreshToken", + "refreshUrl", + "refreshRequestParams", "url", "excludeSelf", "dnsResolvePeriodSec", @@ -17719,6 +931,7 @@ def serialize_model(self, handler): "__template_onBackpressure", "__template_loginUrl", "__template_secret", + "__template_refreshUrl", "__template_url", ] ) @@ -17831,7 +1044,7 @@ class CreateOutputOutputWebhookWebhook1TypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" method: NotRequired[MethodOptions] r"""The method to use when sending events""" format_: NotRequired[CreateOutputOutputWebhookFormat1] @@ -17880,6 +1093,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] @@ -17917,7 +1131,7 @@ class CreateOutputOutputWebhookWebhook1TypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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] @@ -17943,6 +1157,16 @@ 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.""" + refresh_token_field: NotRequired[str] + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, @{product} will use the refresh token to obtain new access tokens without re-sending credentials.""" + rotate_refresh_token: NotRequired[bool] + r"""@{product} will update the stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + refresh_url: NotRequired[str] + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + refresh_request_params: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict] + ] + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, @{product} sends only grant_type, refresh_token, and client_secret.""" exclude_self: NotRequired[bool] r"""Exclude all IPs of the current host from the list of any resolved hostnames""" urls: NotRequired[List[CreateOutputOutputWebhookURL1TypedDict]] @@ -17960,6 +1184,8 @@ class CreateOutputOutputWebhookWebhook1TypedDict(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_refresh_url: NotRequired[str] + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' 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.""" @@ -17985,7 +1211,7 @@ class CreateOutputOutputWebhookWebhook1(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" method: Optional[MethodOptions] = None r"""The method to use when sending events""" @@ -18091,6 +1317,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") @@ -18179,7 +1406,7 @@ class CreateOutputOutputWebhookWebhook1(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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], @@ -18239,6 +1466,25 @@ 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.""" + refresh_token_field: Annotated[ + Optional[str], pydantic.Field(alias="refreshTokenField") + ] = None + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, @{product} will use the refresh token to obtain new access tokens without re-sending credentials.""" + + rotate_refresh_token: Annotated[ + Optional[bool], pydantic.Field(alias="rotateRefreshToken") + ] = None + r"""@{product} will update the stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + + refresh_url: Annotated[Optional[str], pydantic.Field(alias="refreshUrl")] = None + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + + refresh_request_params: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecret]], + pydantic.Field(alias="refreshRequestParams"), + ] = None + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, @{product} sends only grant_type, refresh_token, and client_secret.""" + 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""" @@ -18279,6 +1525,11 @@ class CreateOutputOutputWebhookWebhook1(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_refresh_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_refreshUrl") + ] = None + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( None ) @@ -18420,6 +1671,10 @@ def serialize_model(self, handler): "tokenTimeoutSecs", "oauthParams", "oauthHeaders", + "refreshTokenField", + "rotateRefreshToken", + "refreshUrl", + "refreshRequestParams", "excludeSelf", "urls", "dnsResolvePeriodSec", @@ -18429,6 +1684,7 @@ def serialize_model(self, handler): "__template_onBackpressure", "__template_loginUrl", "__template_secret", + "__template_refreshUrl", "__template_url", ] ) @@ -18478,7 +1734,7 @@ class CreateOutputOutputDefaultTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -18504,7 +1760,7 @@ class CreateOutputOutputDefault(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") @@ -18551,71 +1807,76 @@ def serialize_model(self, handler): CreateOutputOutputDevnullTypedDict, CreateOutputOutputDefaultTypedDict, CreateOutputOutputRouterTypedDict, - CreateOutputOutputSnmpTypedDict, CreateOutputOutputNetflowTypedDict, + CreateOutputOutputSnmpTypedDict, CreateOutputOutputDiskSpoolTypedDict, CreateOutputOutputRingTypedDict, + CreateOutputOutputStatsdTypedDict, CreateOutputOutputGraphiteTypedDict, CreateOutputOutputStatsdExtTypedDict, - CreateOutputOutputStatsdTypedDict, + CreateOutputOutputGoogleBigqueryTypedDict, CreateOutputOutputGooglePubsubTypedDict, - CreateOutputOutputCriblTCPTypedDict, - CreateOutputOutputHoneycombTypedDict, + CreateOutputOutputGoogleCloudObservabilityTypedDict, CreateOutputOutputWavefrontTypedDict, CreateOutputOutputSignalfxTypedDict, + CreateOutputOutputHoneycombTypedDict, + CreateOutputOutputCriblTCPTypedDict, CreateOutputOutputAzureEventhubTypedDict, CreateOutputOutputMicrosoftFabricTypedDict, - CreateOutputOutputSumoLogicTypedDict, - CreateOutputOutputCrowdstrikeNextGenSiemTypedDict, CreateOutputOutputHumioHecTypedDict, - CreateOutputOutputTcpjsonTypedDict, CreateOutputOutputSplunkTypedDict, + CreateOutputOutputSumoLogicTypedDict, + CreateOutputOutputTcpjsonTypedDict, CreateOutputOutputExabeamTypedDict, - CreateOutputOutputSnsTypedDict, + CreateOutputOutputCrowdstrikeNextGenSiemTypedDict, CreateOutputOutputElasticCloudTypedDict, - CreateOutputOutputKafkaTypedDict, + CreateOutputOutputSnsTypedDict, CreateOutputOutputAzureLogsTypedDict, + CreateOutputOutputKafkaTypedDict, CreateOutputOutputConfluentCloudTypedDict, - CreateOutputOutputSplunkLbTypedDict, CreateOutputOutputCloudwatchTypedDict, CreateOutputOutputSyslogTypedDict, - CreateOutputOutputPrometheusTypedDict, + CreateOutputOutputSplunkLbTypedDict, + CreateOutputOutputWizHecTypedDict, CreateOutputOutputNewrelicEventsTypedDict, - CreateOutputOutputNewrelicTypedDict, - CreateOutputOutputLokiTypedDict, CreateOutputOutputCriblHTTPTypedDict, - CreateOutputOutputDatasetTypedDict, - CreateOutputOutputWizHecTypedDict, + CreateOutputOutputKinesisTypedDict, CreateOutputOutputCriblSearchEngineTypedDict, + CreateOutputOutputLokiTypedDict, + CreateOutputOutputNewrelicTypedDict, CreateOutputOutputXsiamTypedDict, - CreateOutputOutputKinesisTypedDict, + CreateOutputOutputDatasetTypedDict, CreateOutputOutputDynatraceHTTPTypedDict, CreateOutputOutputSplunkHecTypedDict, + CreateOutputOutputFilesystemTypedDict, CreateOutputOutputDynatraceOtlpTypedDict, CreateOutputOutputServiceNowTypedDict, - CreateOutputOutputFilesystemTypedDict, + CreateOutputOutputCriblLakeTypedDict, CreateOutputOutputSqsTypedDict, + CreateOutputOutputAmazonManagedPrometheusTypedDict, CreateOutputOutputDatadogTypedDict, CreateOutputOutputInfluxdbTypedDict, - CreateOutputOutputSentinelOneAiSiemTypedDict, CreateOutputOutputElasticTypedDict, + CreateOutputOutputSentinelOneAiSiemTypedDict, CreateOutputOutputGoogleChronicleTypedDict, CreateOutputOutputClickHouseTypedDict, CreateOutputOutputChronicleTypedDict, + CreateOutputOutputCustomerMetricsStorageTypedDict, CreateOutputOutputLocalSearchStorageTypedDict, + CreateOutputOutputPrometheusTypedDict, CreateOutputOutputDatabricksTypedDict, - CreateOutputOutputAlphasocS3TypedDict, CreateOutputOutputMskTypedDict, - CreateOutputOutputCriblLakeTypedDict, + CreateOutputOutputAlphasocS3TypedDict, + CreateOutputOutputIbmCloudS3TypedDict, CreateOutputOutputStorjS3TypedDict, CreateOutputOutputOpenTelemetryTypedDict, - CreateOutputOutputAlibabaCloudS3TypedDict, CreateOutputOutputScalityS3TypedDict, - CreateOutputOutputSentinelTypedDict, CreateOutputOutputNutanixObjectsTypedDict, CreateOutputOutputDellS3TypedDict, CreateOutputOutputCloudflareR2TypedDict, + CreateOutputOutputSentinelTypedDict, CreateOutputOutputGoogleCloudStorageTypedDict, + CreateOutputOutputAlibabaCloudS3TypedDict, CreateOutputOutputAzureBlobTypedDict, CreateOutputOutputCloudianS3TypedDict, CreateOutputOutputMinioTypedDict, @@ -18624,8 +1885,8 @@ def serialize_model(self, handler): CreateOutputOutputDlS3TypedDict, CreateOutputOutputS3TypedDict, CreateOutputOutputAzureDataExplorerTypedDict, - CreateOutputOutputGrafanaCloudUnionTypedDict, CreateOutputOutputWebhookUnionTypedDict, + CreateOutputOutputGrafanaCloudUnionTypedDict, ], ) r"""Output object.""" @@ -18653,9 +1914,14 @@ def serialize_model(self, handler): Annotated[CreateOutputOutputKinesis, Tag("kinesis")], Annotated[CreateOutputOutputHoneycomb, Tag("honeycomb")], Annotated[CreateOutputOutputAzureEventhub, Tag("azure_eventhub")], + Annotated[CreateOutputOutputGoogleBigquery, Tag("google_bigquery")], Annotated[CreateOutputOutputGoogleChronicle, Tag("google_chronicle")], Annotated[CreateOutputOutputGoogleCloudStorage, Tag("google_cloud_storage")], Annotated[CreateOutputOutputGoogleCloudLogging, Tag("google_cloud_logging")], + Annotated[ + CreateOutputOutputGoogleCloudObservability, + Tag("google_cloud_observability"), + ], Annotated[CreateOutputOutputGooglePubsub, Tag("google_pubsub")], Annotated[CreateOutputOutputExabeam, Tag("exabeam")], Annotated[CreateOutputOutputKafka, Tag("kafka")], @@ -18679,6 +1945,9 @@ def serialize_model(self, handler): Annotated[CreateOutputOutputDatadog, Tag("datadog")], Annotated[CreateOutputOutputGrafanaCloudUnion, Tag("grafana_cloud")], Annotated[CreateOutputOutputLoki, Tag("loki")], + Annotated[ + CreateOutputOutputAmazonManagedPrometheus, Tag("amazon_managed_prometheus") + ], Annotated[CreateOutputOutputPrometheus, Tag("prometheus")], Annotated[CreateOutputOutputRing, Tag("ring")], Annotated[CreateOutputOutputOpenTelemetry, Tag("open_telemetry")], @@ -18696,6 +1965,9 @@ def serialize_model(self, handler): Annotated[CreateOutputOutputCriblLake, Tag("cribl_lake")], Annotated[CreateOutputOutputDiskSpool, Tag("disk_spool")], Annotated[CreateOutputOutputClickHouse, Tag("click_house")], + Annotated[ + CreateOutputOutputCustomerMetricsStorage, Tag("customer_metrics_storage") + ], Annotated[CreateOutputOutputLocalSearchStorage, Tag("local_search_storage")], Annotated[CreateOutputOutputXsiam, Tag("xsiam")], Annotated[CreateOutputOutputNetflow, Tag("netflow")], @@ -18713,172 +1985,13 @@ 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: - CreateOutputOutputStatsd.model_rebuild() -except NameError: - pass -try: - CreateOutputOutputMinio.model_rebuild() -except NameError: - pass -try: - CreateOutputOutputCloudwatch.model_rebuild() -except NameError: - pass -try: - CreateOutputOutputInfluxdb.model_rebuild() -except NameError: - pass -try: - CreateOutputOutputNewrelicEvents.model_rebuild() -except NameError: - pass -try: - CreateOutputOutputNewrelic.model_rebuild() -except NameError: - pass -try: - CreateOutputOutputElasticCloud.model_rebuild() -except NameError: - pass -try: - CreateOutputURLElastic.model_rebuild() -except NameError: - pass -try: - CreateOutputOutputElastic.model_rebuild() -except NameError: - pass -try: - CreateOutputOutputMsk.model_rebuild() -except NameError: - pass -try: - CreateOutputOutputConfluentCloud.model_rebuild() -except NameError: - pass -try: - CreateOutputOutputKafka.model_rebuild() -except NameError: - pass -try: - CreateOutputOutputExabeam.model_rebuild() -except NameError: - pass -try: - CreateOutputOutputGooglePubsub.model_rebuild() -except NameError: - pass -try: - CreateOutputOutputGoogleCloudLogging.model_rebuild() -except NameError: - pass -try: - CreateOutputOutputGoogleCloudStorage.model_rebuild() -except NameError: - pass -try: - CreateOutputExtraLogType.model_rebuild() -except NameError: - pass -try: - CreateOutputOutputGoogleChronicle.model_rebuild() -except NameError: - pass -try: - CreateOutputOutputAzureEventhub.model_rebuild() -except NameError: - pass -try: - CreateOutputOutputHoneycomb.model_rebuild() -except NameError: - pass -try: - CreateOutputOutputKinesis.model_rebuild() -except NameError: - pass -try: - CreateOutputOutputAzureLogs.model_rebuild() -except NameError: - pass -try: - CreateOutputCertificate.model_rebuild() -except NameError: - pass -try: - CreateOutputOutputAzureDataExplorer.model_rebuild() -except NameError: - pass -try: - CreateOutputOutputAzureBlob.model_rebuild() -except NameError: - pass -try: - CreateOutputOutputS3.model_rebuild() -except NameError: - pass -try: - CreateOutputOutputFilesystem.model_rebuild() -except NameError: - pass -try: - CreateOutputOutputSignalfx.model_rebuild() -except NameError: - pass -try: - CreateOutputOutputWavefront.model_rebuild() -except NameError: - pass -try: - CreateOutputOutputTcpjson.model_rebuild() -except NameError: - pass -try: - CreateOutputOutputWizHec.model_rebuild() -except NameError: - pass -try: - CreateOutputURLSplunkHec.model_rebuild() -except NameError: - pass -try: - CreateOutputOutputSplunkHec.model_rebuild() -except NameError: - pass -try: - CreateOutputAuthToken.model_rebuild() -except NameError: - pass -try: - CreateOutputIndexerDiscoveryConfigs.model_rebuild() -except NameError: - pass -try: - CreateOutputOutputSplunkLb.model_rebuild() -except NameError: - pass -try: - CreateOutputOutputSplunk.model_rebuild() -except NameError: - pass -try: - CreateOutputOutputSyslog.model_rebuild() -except NameError: - pass -try: - CreateOutputOutputDevnull.model_rebuild() -except NameError: - pass -try: - CreateOutputOutputSentinel.model_rebuild() -except NameError: - pass try: CreateOutputOutputWebhookURL2.model_rebuild() except NameError: diff --git a/src/cribl_control_plane/models/createoutputsystembypack_outputwebhook_format_2.py b/src/cribl_control_plane/models/createoutputsystembypack_outputwebhook_format_2.py new file mode 100644 index 000000000..4c6adb360 --- /dev/null +++ b/src/cribl_control_plane/models/createoutputsystembypack_outputwebhook_format_2.py @@ -0,0 +1,18662 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .acknowledgmentsoptions import AcknowledgmentsOptions +from .acknowledgmentsoptionsallleader import AcknowledgmentsOptionsAllLeader +from .authenticationmethodoptions import AuthenticationMethodOptions +from .authenticationmethodoptionsapi import AuthenticationMethodOptionsAPI +from .authenticationmethodoptionsauthtokensitems import ( + AuthenticationMethodOptionsAuthTokensItems, +) +from .authenticationmethodoptionss3collectorconf import ( + AuthenticationMethodOptionsS3CollectorConf, +) +from .authenticationtype import AuthenticationType, AuthenticationTypeTypedDict +from .authenticationtypeuse import AuthenticationTypeUse, AuthenticationTypeUseTypedDict +from .authtypetemplatemanualapikeyauthtype import ( + AuthTypeTemplatemanualAPIKeyAuthType, + AuthTypeTemplatemanualAPIKeyAuthTypeTypedDict, +) +from .backpressurebehavioroptions import BackpressureBehaviorOptions +from .backpressurebehavioroptionsblockdrop import BackpressureBehaviorOptionsBlockDrop +from .certificatetypeazureblobauthtypeclientcert import ( + CertificateTypeAzureBlobAuthTypeClientCert, + CertificateTypeAzureBlobAuthTypeClientCertTypedDict, +) +from .compressionleveloptions import CompressionLevelOptions +from .compressionoptions import CompressionOptions +from .compressionoptionsgziplz4 import CompressionOptionsGzipLz4 +from .compressionoptionsgzipnone import CompressionOptionsGzipNone +from .compressionoptionshttp import CompressionOptionsHTTP +from .compressionoptionspq import CompressionOptionsPq +from .createoutputsystembypack_pqcontrols_graphite import ( + CreateOutputSystemByPackPqControlsGraphite, + CreateOutputSystemByPackPqControlsGraphiteTypedDict, + CreateOutputSystemByPackTypeGraphite, +) +from .dataformatoptions import DataFormatOptions +from .datapageversionoptions import DataPageVersionOptions +from .destinationprotocoloptions import DestinationProtocolOptions +from .diskspaceprotectionoptions import DiskSpaceProtectionOptions +from .extrahttpheaderconfinputelastic import ( + ExtraHTTPHeaderConfInputElastic, + ExtraHTTPHeaderConfInputElasticTypedDict, +) +from .failedrequestloggingmodeoptions import FailedRequestLoggingModeOptions +from .googleauthenticationmethodoptions import GoogleAuthenticationMethodOptions +from .hostconfoutputsyslog import HostConfOutputSyslog, HostConfOutputSyslogTypedDict +from .kafkaschemaregistryauthenticationtypetemplateschemaregistryurlauth import ( + KafkaSchemaRegistryAuthenticationTypeTemplateschemaRegistryURLAuth, + KafkaSchemaRegistryAuthenticationTypeTemplateschemaRegistryURLAuthTypedDict, +) +from .keyvaluemetadataconfoutputfilesystem import ( + KeyValueMetadataConfOutputFilesystem, + KeyValueMetadataConfOutputFilesystemTypedDict, +) +from .loglabelconfoutputgooglecloudlogging import ( + LogLabelConfOutputGoogleCloudLogging, + LogLabelConfOutputGoogleCloudLoggingTypedDict, +) +from .maxs2sversionoptions import MaxS2SVersionOptions +from .microsoftentraidauthenticationendpointoptionssasl import ( + MicrosoftEntraIDAuthenticationEndpointOptionsSasl, +) +from .modeoptions import ModeOptions +from .nestedfieldserializationoptions import NestedFieldSerializationOptions +from .objectacloptions import ObjectACLOptions +from .objectacloptionsauthenticatedreadbucketownerfullcontrol import ( + ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol, +) +from .orphanfilerecoverytype import ( + OrphanFileRecoveryType, + OrphanFileRecoveryTypeTypedDict, +) +from .parquetversionoptions import ParquetVersionOptions +from .queuefullbehavioroptions import QueueFullBehaviorOptions +from .recorddataformatoptions import RecordDataFormatOptions +from .recorddataformatoptionsjsonprotobuf import RecordDataFormatOptionsJSONProtobuf +from .refreshrequestparamconfhealthcheckauthenticationoauthsecret import ( + RefreshRequestParamConfHealthCheckAuthenticationOauthSecret, + RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict, +) +from .regionoptions import RegionOptions +from .responseretrysettingconfoutputwebhook import ( + ResponseRetrySettingConfOutputWebhook, + ResponseRetrySettingConfOutputWebhookTypedDict, +) +from .retrysettingstype import RetrySettingsType, RetrySettingsTypeTypedDict +from .saslextensionconfinputkafka import ( + SaslExtensionConfInputKafka, + SaslExtensionConfInputKafkaTypedDict, +) +from .serversideencryptionforuploadedobjectsoptions import ( + ServerSideEncryptionForUploadedObjectsOptions, +) +from .serversideencryptionforuploadedobjectsoptionsaes256 import ( + ServerSideEncryptionForUploadedObjectsOptionsAes256, +) +from .storageclassoptions import StorageClassOptions +from .storageclassoptionsarchivecoldline import StorageClassOptionsArchiveColdline +from .storageclassoptionsreducedredundancystandard import ( + StorageClassOptionsReducedredundancyStandard, +) +from .timeoutretrysettingstype import ( + TimeoutRetrySettingsType, + TimeoutRetrySettingsTypeTypedDict, +) +from .tlssettingsclientsidetype import ( + TLSSettingsClientSideType, + TLSSettingsClientSideTypeTypedDict, +) +from .tlssettingsclientsidetypecapathcertpath import ( + TLSSettingsClientSideTypeCaPathCertPath, + TLSSettingsClientSideTypeCaPathCertPathTypedDict, +) +from .tlssettingsclientsidetypecapathcertpathextended import ( + TLSSettingsClientSideTypeCaPathCertPathExtended, + TLSSettingsClientSideTypeCaPathCertPathExtendedTypedDict, +) +from .tlssettingsclientsidetypeextended import ( + TLSSettingsClientSideTypeExtended, + TLSSettingsClientSideTypeExtendedTypedDict, +) +from cribl_control_plane import models, utils +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 CreateOutputSystemByPackOutputGraphiteTypedDict(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.""" + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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[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 CreateOutputSystemByPackOutputGraphite(BaseModel): + 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.""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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.""" + + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") + ] = None + r"""When protocol is TCP, specifies how often buffers should be flushed, resulting in records sent to the destination.""" + + 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.""" + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + 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.""" + + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") + ] = 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""" + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + ] = None + r"""How to handle events when all receivers are exerting backpressure""" + + 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[CreateOutputSystemByPackPqControlsGraphite], + 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_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.DestinationProtocolOptions(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", + "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 = {} + + 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 CreateOutputSystemByPackTypeStatsdExt(str, Enum): + STATSD_EXT = "statsd_ext" + + +class CreateOutputSystemByPackPqControlsStatsdExtTypedDict(TypedDict): + pass + + +class CreateOutputSystemByPackPqControlsStatsdExt(BaseModel): + pass + + +class CreateOutputSystemByPackOutputStatsdExtTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputSystemByPackTypeStatsdExt + 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]] + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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[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 CreateOutputSystemByPackOutputStatsdExt(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputSystemByPackTypeStatsdExt + + 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: 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"""Metadata tags used for categorization and filtering.""" + + 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.""" + + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") + ] = None + r"""When protocol is TCP, specifies how often buffers should be flushed, resulting in records sent to the destination.""" + + 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.""" + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + 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.""" + + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") + ] = 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""" + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + ] = None + r"""How to handle events when all receivers are exerting backpressure""" + + 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[CreateOutputSystemByPackPqControlsStatsdExt], + 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_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.DestinationProtocolOptions(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", + "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 = {} + + 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 CreateOutputSystemByPackTypeStatsd(str, Enum): + STATSD = "statsd" + + +class CreateOutputSystemByPackPqControlsStatsdTypedDict(TypedDict): + pass + + +class CreateOutputSystemByPackPqControlsStatsd(BaseModel): + pass + + +class CreateOutputSystemByPackOutputStatsdTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + 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]] + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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_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): + id: str + r"""Unique ID for this output""" + + 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: 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"""Metadata tags used for categorization and filtering.""" + + 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.""" + + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") + ] = None + r"""When protocol is TCP, specifies how often buffers should be flushed, resulting in records sent to the destination.""" + + 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.""" + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + 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.""" + + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") + ] = 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""" + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + ] = None + r"""How to handle events when all receivers are exerting backpressure""" + + 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[CreateOutputSystemByPackPqControlsStatsd], + 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_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.DestinationProtocolOptions(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", + "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 = {} + + 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 CreateOutputSystemByPackTypeMinio(str, Enum): + MINIO = "minio" + + +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"""Metadata tags used for categorization and filtering.""" + 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: 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_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): + 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: 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)""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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 MinIO 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""" + + 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 + + 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[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_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 + 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_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 + 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): + 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 + + @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("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 CreateOutputSystemByPackTypeCloudwatch(str, Enum): + CLOUDWATCH = "cloudwatch" + + +class CreateOutputSystemByPackPqControlsCloudwatchTypedDict(TypedDict): + pass + + +class CreateOutputSystemByPackPqControlsCloudwatch(BaseModel): + pass + + +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"""Metadata tags used for categorization and filtering.""" + 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] + 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] + 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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 + 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 + 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[CreateOutputSystemByPackPqControlsCloudwatch], + 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 CreateOutputSystemByPackTypeInfluxdb(str, Enum): + INFLUXDB = "influxdb" + + +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 CreateOutputSystemByPackPqControlsInfluxdb(BaseModel): + pass + + +class CreateOutputSystemByPackOutputInfluxdbTypedDict(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""" + 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"""Metadata tags used for categorization and filtering.""" + 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""" + 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[CreateOutputSystemByPackAuthenticationTypeInfluxdb] + r"""InfluxDB authentication type""" + description: 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] + 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[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_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 CreateOutputSystemByPackOutputInfluxdb(BaseModel): + 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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""" + + 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[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.""" + + 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[CreateOutputSystemByPackPqControlsInfluxdb], + 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.CreateOutputSystemByPackTimestampPrecision(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.CreateOutputSystemByPackAuthenticationTypeInfluxdb(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 CreateOutputSystemByPackTypeNewrelicEvents(str, Enum): + NEWRELIC_EVENTS = "newrelic_events" + + +class CreateOutputSystemByPackPqControlsNewrelicEventsTypedDict(TypedDict): + pass + + +class CreateOutputSystemByPackPqControlsNewrelicEvents(BaseModel): + pass + + +class CreateOutputSystemByPackOutputNewrelicEventsTypedDict(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).""" + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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] + 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[CreateOutputSystemByPackPqControlsNewrelicEventsTypedDict] + 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 CreateOutputSystemByPackOutputNewrelicEvents(BaseModel): + id: str + r"""Unique ID for this output""" + + 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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 + 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") + ] = 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[CreateOutputSystemByPackPqControlsNewrelicEvents], + 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 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 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]] + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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] + 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] + 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[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_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 CreateOutputSystemByPackOutputNewrelic(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputSystemByPackTypeNewrelic + + 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"""Metadata tags used for categorization and filtering.""" + + 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""" + + 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""" + + 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") + ] = 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[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_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") + ] = 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_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_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): + 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", + "logType", + "messageField", + "metadata", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "useRoundRobinDns", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "onBackpressure", + "authType", + "totalMemoryLimitKB", + "description", + "customUrl", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "apiKey", + "textSecret", + "__template_streamtags", + "__template_region", + "__template_logType", + "__template_messageField", + "__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 CreateOutputSystemByPackTypeElasticCloud(str, Enum): + ELASTIC_CLOUD = "elastic_cloud" + + +class CreateOutputSystemByPackPqControlsElasticCloudTypedDict(TypedDict): + pass + + +class CreateOutputSystemByPackPqControlsElasticCloud(BaseModel): + pass + + +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.""" + 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"""Metadata tags used for categorization and filtering.""" + 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""" + 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.""" + 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[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_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): + 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.""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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""" + + 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""" + + 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"), + ] = 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.""" + + 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[CreateOutputSystemByPackPqControlsElasticCloud], + 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_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_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("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", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "failedRequestLoggingMode", + "safeHeaders", + "extraParams", + "auth", + "elasticPipeline", + "includeDocId", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "onBackpressure", + "description", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_url", + "__template_index", + "__template_failedRequestLoggingMode", + "__template_elasticPipeline", + "__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 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 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 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"""Metadata tags used for categorization and filtering.""" + 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"""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] + 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] + 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[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_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): + 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: 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"""Metadata tags used for categorization and filtering.""" + + 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""" + + 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""" + + 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.""" + + extra_params: Annotated[ + Optional[List[SaslExtensionConfInputKafka]], pydantic.Field(alias="extraParams") + ] = None + + 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""" + + 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"), + ] = 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 + 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""" + + 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""" + + 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[CreateOutputSystemByPackPqControlsElastic], + 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_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 + 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.""" + + @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("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): + 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", + "loadBalanced", + "docType", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "extraParams", + "auth", + "elasticVersion", + "elasticPipeline", + "includeDocId", + "writeAction", + "retryPartialErrors", + "onBackpressure", + "description", + "url", + "useRoundRobinDns", + "excludeSelf", + "urls", + "dnsResolvePeriodSec", + "loadBalanceStatsPeriodSec", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_index", + "__template_docType", + "__template_failedRequestLoggingMode", + "__template_elasticPipeline", + "__template_onBackpressure", + "__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 CreateOutputSystemByPackTypeMsk(str, Enum): + MSK = "msk" + + +class CreateOutputSystemByPackPqControlsMskTypedDict(TypedDict): + pass + + +class CreateOutputSystemByPackPqControlsMsk(BaseModel): + pass + + +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"""Metadata tags used for categorization and filtering.""" + 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""" + 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] + 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[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_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 CreateOutputSystemByPackOutputMsk(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.""" + + 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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.""" + + 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.""" + + 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") + ] = 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""" + + 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"""The maximum size to hold in memory before writing events 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], + 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_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.""" + + 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 + + @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 + + @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", + "ack", + "format", + "compression", + "maxRecordSizeKB", + "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", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_topic", + "__template_format", + "__template_compression", + "__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 CreateOutputSystemByPackTypeConfluentCloud(str, Enum): + CONFLUENT_CLOUD = "confluent_cloud" + + +class CreateOutputSystemByPackPqControlsConfluentCloudTypedDict(TypedDict): + pass + + +class CreateOutputSystemByPackPqControlsConfluentCloud(BaseModel): + pass + + +class CreateOutputSystemByPackOutputConfluentCloudTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputSystemByPackTypeConfluentCloud + 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]] + 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"""Metadata tags used for categorization and filtering.""" + 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"""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.""" + 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] + 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[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] + 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 CreateOutputSystemByPackOutputConfluentCloud(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputSystemByPackTypeConfluentCloud + + 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None + + 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.""" + + 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.""" + + 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"""The maximum size to hold in memory before writing events 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], + 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_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 + 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("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): + 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("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", + "tls", + "ack", + "format", + "compression", + "maxRecordSizeKB", + "flushEventCount", + "flushPeriodSec", + "kafkaSchemaRegistry", + "connectionTimeout", + "requestTimeout", + "maxRetries", + "maxBackOff", + "initialBackoff", + "backoffRate", + "authenticationTimeout", + "reauthenticationThreshold", + "sasl", + "onBackpressure", + "description", + "protobufLibraryId", + "protobufEncodingId", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_brokers", + "__template_topic", + "__template_format", + "__template_compression", + "__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 CreateOutputSystemByPackTypeKafka(str, Enum): + KAFKA = "kafka" + + +class CreateOutputSystemByPackPqControlsKafkaTypedDict(TypedDict): + pass + + +class CreateOutputSystemByPackPqControlsKafka(BaseModel): + pass + + +class CreateOutputSystemByPackOutputKafkaTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + 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]] + 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"""Metadata tags used for categorization and filtering.""" + 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""" + 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] + 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_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 CreateOutputSystemByPackOutputKafka(BaseModel): + id: str + r"""Unique ID for this output""" + + 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: 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"""Metadata tags used for categorization and filtering.""" + + 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.""" + + 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"""The maximum size to hold in memory before writing events 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_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("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): + 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("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", + "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 = {} + + 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 CreateOutputSystemByPackTypeExabeam(str, Enum): + EXABEAM = "exabeam" + + +class CreateOutputSystemByPackOutputExabeamTypedDict(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 + + """ + 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"""Metadata tags used for categorization and filtering.""" + 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.""" + + +class CreateOutputSystemByPackOutputExabeam(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""" + + 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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""" + + 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.""" + + 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""" + + retry_settings: Annotated[ + Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") + ] = None + + orphans: Optional[OrphanFileRecoveryType] = 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.""" + + encoded_configuration: Annotated[ + Optional[str], pydantic.Field(alias="encodedConfiguration") + ] = None + r"""Enter an encoded string containing Exabeam configurations""" + + 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.""" + + 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.""" + + timezone_offset: Annotated[ + Optional[str], pydantic.Field(alias="timezoneOffset") + ] = None + + 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}`.""" + + 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"""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_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("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("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 + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "pipeline", + "systemFields", + "environment", + "streamtags", + "objectACL", + "storageClass", + "reuseConnections", + "rejectUnauthorized", + "addIdToStagePath", + "removeEmptyDirs", + "maxFileOpenTimeSec", + "maxFileIdleTimeSec", + "maxOpenFiles", + "onBackpressure", + "deadletterEnabled", + "onDiskFullBackpressure", + "retrySettings", + "orphans", + "maxFileSizeMB", + "encodedConfiguration", + "siteName", + "siteId", + "timezoneOffset", + "awsApiKey", + "awsSecretKey", + "description", + "emptyDirCleanupSec", + "directoryBatchSize", + "deadletterPath", + "maxRetryNum", + "__template_streamtags", + "__template_region", + "__template_endpoint", + "__template_objectACL", + "__template_storageClass", + "__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 CreateOutputSystemByPackTypeGooglePubsub(str, Enum): + GOOGLE_PUBSUB = "google_pubsub" + + +class CreateOutputSystemByPackPqControlsGooglePubsubTypedDict(TypedDict): + pass + + +class CreateOutputSystemByPackPqControlsGooglePubsub(BaseModel): + pass + + +class CreateOutputSystemByPackOutputGooglePubsubTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + 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]] + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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[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_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 CreateOutputSystemByPackOutputGooglePubsub(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputSystemByPackTypeGooglePubsub + + 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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.""" + + 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[CreateOutputSystemByPackPqControlsGooglePubsub], + 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_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.""" + + @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", + "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 = {} + + 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 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 CreateOutputSystemByPackGoogleAuthenticationMethodGoogleCloudObservability( + 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 CreateOutputSystemByPackPqControlsGoogleCloudObservabilityTypedDict(TypedDict): + pass + + +class CreateOutputSystemByPackPqControlsGoogleCloudObservability(BaseModel): + pass + + +class CreateOutputSystemByPackOutputGoogleCloudObservabilityTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputSystemByPackTypeGoogleCloudObservability + google_auth_method: ( + CreateOutputSystemByPackGoogleAuthenticationMethodGoogleCloudObservability + ) + 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"""Metadata tags used for categorization and filtering.""" + 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.""" + + +class CreateOutputSystemByPackOutputGoogleCloudObservability(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputSystemByPackTypeGoogleCloudObservability + + google_auth_method: Annotated[ + CreateOutputSystemByPackGoogleAuthenticationMethodGoogleCloudObservability, + 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.""" + + 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"""Metadata tags used for categorization and filtering.""" + + protocol: Optional[CreateOutputSystemByPackProtocolGoogleCloudObservability] = None + + otlp_version: Annotated[ + Optional[CreateOutputSystemByPackOtlpVersionGoogleCloudObservability], + pydantic.Field(alias="otlpVersion"), + ] = None + + 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.""" + + 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 sent to Google Cloud Observability""" + + 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") + ] = None + r"""How often the sender should ping the peer to keep the connection open""" + + tls: Optional[TLSSettingsClientSideTypeExtended] = None + + 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). 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") + ] = None + 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""" + + 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[CreateOutputSystemByPackPqControlsGoogleCloudObservability], + 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_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("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.CreateOutputSystemByPackGoogleAuthenticationMethodGoogleCloudObservability( + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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] + 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"""Metadata tags used for categorization and filtering.""" + + 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 + r"""Optional description for this configuration.""" + + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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_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 CreateOutputSystemByPackOutputGoogleCloudStorage(BaseModel): + 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: 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"""Metadata tags used for categorization and filtering.""" + + 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}`""" + + 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""" + + 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"""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.""" + + 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""" + + 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""" + + 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") + ] = 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_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_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_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.""" + + @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.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( + [ + "pipeline", + "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 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)) + + 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 CreateOutputSystemByPackPqControlsGoogleChronicle(BaseModel): + pass + + +class CreateOutputSystemByPackOutputGoogleChronicleTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + 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]] + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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] + 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.""" + 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] + 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[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 CreateOutputSystemByPackOutputGoogleChronicle(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputSystemByPackTypeGoogleChronicle + + log_format_type: Annotated[ + CreateOutputSystemByPackSendEventsAs, pydantic.Field(alias="logFormatType") + ] + + 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"""Metadata tags used for categorization and filtering.""" + + 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""" + + 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""" + + 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""" + + 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.""" + + 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.""" + + 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") + ] = 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[CreateOutputSystemByPackPqControlsGoogleChronicle], + 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_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 + 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_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): + 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("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): + 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", + "apiVersion", + "authenticationMethod", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "region", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "failedRequestLoggingMode", + "safeHeaders", + "useRoundRobinDns", + "onBackpressure", + "totalMemoryLimitKB", + "description", + "extraLogTypes", + "logType", + "logTextField", + "customerId", + "namespace", + "customLabels", + "udmType", + "apiKey", + "apiKeySecret", + "serviceAccountCredentials", + "serviceAccountCredentialsSecret", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_apiVersion", + "__template_region", + "__template_failedRequestLoggingMode", + "__template_onBackpressure", + "__template_customerId", + ] + ) + 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 CreateOutputSystemByPackTypeGoogleBigquery(str, Enum): + GOOGLE_BIGQUERY = "google_bigquery" + + +class CreateOutputSystemByPackGoogleAuthenticationMethodGoogleBigquery( + str, Enum, metaclass=utils.OpenEnumMeta +): + r"""Choose Auto to use Google Application Default Credentials (ADC), or Secret to select or create a stored secret that references Google service account credentials""" + + # Auto + AUTO = "auto" + # Secret + SECRET = "secret" + + +class CreateOutputSystemByPackPqControlsGoogleBigqueryTypedDict(TypedDict): + pass + + +class CreateOutputSystemByPackPqControlsGoogleBigquery(BaseModel): + pass + + +class CreateOutputSystemByPackOutputGoogleBigqueryTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputSystemByPackTypeGoogleBigquery + project_id: str + r"""Google Cloud project ID that contains the BigQuery dataset""" + dataset_id: str + r"""BigQuery dataset ID""" + table_id: str + r"""BigQuery table ID""" + google_auth_method: CreateOutputSystemByPackGoogleAuthenticationMethodGoogleBigquery + r"""Choose Auto to use Google Application Default Credentials (ADC), or 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"""Metadata tags used for categorization and filtering.""" + timestamp_column: NotRequired[str] + r"""Column name to write event time (`_time`) as a BigQuery TIMESTAMP. Used for time partitioning""" + secret: NotRequired[str] + r"""Select or create a stored text secret""" + flush_period: NotRequired[float] + r"""Maximum time to wait before sending a batch (when batch size limit 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 a single append request. BigQuery limit is 10 MB""" + 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.""" + 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[CreateOutputSystemByPackPqControlsGoogleBigqueryTypedDict] + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_project_id: NotRequired[str] + r"""Binds 'projectId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'projectId' at runtime.""" + template_dataset_id: NotRequired[str] + r"""Binds 'datasetId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'datasetId' at runtime.""" + template_table_id: NotRequired[str] + r"""Binds 'tableId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tableId' 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 CreateOutputSystemByPackOutputGoogleBigquery(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputSystemByPackTypeGoogleBigquery + + project_id: Annotated[str, pydantic.Field(alias="projectId")] + r"""Google Cloud project ID that contains the BigQuery dataset""" + + dataset_id: Annotated[str, pydantic.Field(alias="datasetId")] + r"""BigQuery dataset ID""" + + table_id: Annotated[str, pydantic.Field(alias="tableId")] + r"""BigQuery table ID""" + + google_auth_method: Annotated[ + CreateOutputSystemByPackGoogleAuthenticationMethodGoogleBigquery, + pydantic.Field(alias="googleAuthMethod"), + ] + r"""Choose Auto to use Google Application Default Credentials (ADC), or Secret to select or create a stored secret that references Google service account credentials""" + + 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"""Metadata tags used for categorization and filtering.""" + + timestamp_column: Annotated[ + Optional[str], pydantic.Field(alias="timestampColumn") + ] = None + r"""Column name to write event time (`_time`) as a BigQuery TIMESTAMP. Used for time partitioning""" + + secret: Optional[str] = None + r"""Select or create a stored text secret""" + + 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_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 a single append request. BigQuery limit is 10 MB""" + + 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.""" + + 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[CreateOutputSystemByPackPqControlsGoogleBigquery], + 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_project_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_projectId") + ] = None + r"""Binds 'projectId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'projectId' at runtime.""" + + template_dataset_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_datasetId") + ] = None + r"""Binds 'datasetId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'datasetId' at runtime.""" + + template_table_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_tableId") + ] = None + r"""Binds 'tableId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tableId' 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.CreateOutputSystemByPackGoogleAuthenticationMethodGoogleBigquery( + 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", + "timestampColumn", + "secret", + "flushPeriod", + "maxQueueSize", + "maxRecordSizeKB", + "maxInProgress", + "onBackpressure", + "description", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_projectId", + "__template_datasetId", + "__template_tableId", + "__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 CreateOutputSystemByPackTypeAzureEventhub(str, Enum): + AZURE_EVENTHUB = "azure_eventhub" + + +class CreateOutputSystemByPackPqControlsAzureEventhubTypedDict(TypedDict): + pass + + +class CreateOutputSystemByPackPqControlsAzureEventhub(BaseModel): + pass + + +class CreateOutputSystemByPackOutputAzureEventhubTypedDict(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.""" + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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[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_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.""" + + +class CreateOutputSystemByPackOutputAzureEventhub(BaseModel): + 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.""" + + 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"""Metadata tags used for categorization and filtering.""" + + ack: Optional[AcknowledgmentsOptions] = None + r"""Control the number of required acknowledgments""" + + format_: Annotated[ + Optional[RecordDataFormatOptions], pydantic.Field(alias="format") + ] = None + r"""Format to use to serialize events before writing to the Event Hubs Kafka brokers""" + + 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.""" + + flush_event_count: Annotated[ + Optional[float], pydantic.Field(alias="flushEventCount") + ] = None + r"""Maximum number of events 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 Max record size.""" + + 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[AuthenticationTypeUse] = None + r"""Authentication parameters to use when connecting to brokers. 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[CreateOutputSystemByPackPqControlsAzureEventhub], + 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_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 + 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.""" + + @field_serializer("ack") + def serialize_ack(self, value): + if isinstance(value, str): + try: + return models.AcknowledgmentsOptions(value) + except ValueError: + return value + return value + + @field_serializer("format_") + def serialize_format_(self, value): + if isinstance(value, str): + try: + return models.RecordDataFormatOptions(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", + "ack", + "format", + "maxRecordSizeKB", + "flushEventCount", + "flushPeriodSec", + "connectionTimeout", + "requestTimeout", + "maxRetries", + "maxBackOff", + "initialBackoff", + "backoffRate", + "authenticationTimeout", + "reauthenticationThreshold", + "sasl", + "tls", + "onBackpressure", + "description", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_brokers", + "__template_topic", + "__template_format", + "__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 CreateOutputSystemByPackTypeHoneycomb(str, Enum): + HONEYCOMB = "honeycomb" + + +class CreateOutputSystemByPackPqControlsHoneycombTypedDict(TypedDict): + pass + + +class CreateOutputSystemByPackPqControlsHoneycomb(BaseModel): + pass + + +class CreateOutputSystemByPackOutputHoneycombTypedDict(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""" + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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[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.""" + + +class CreateOutputSystemByPackOutputHoneycomb(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputSystemByPackTypeHoneycomb + + 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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 + 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[CreateOutputSystemByPackPqControlsHoneycomb], + 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_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("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", + "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 = {} + + 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 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 CreateOutputSystemByPackPqControlsKinesisTypedDict(TypedDict): + pass + + +class CreateOutputSystemByPackPqControlsKinesis(BaseModel): + pass + + +class CreateOutputSystemByPackOutputKinesisTypedDict(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"""Metadata tags used for categorization and filtering.""" + 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.""" + 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] + 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[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_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_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): + id: str + r"""Unique ID for this output""" + + type: CreateOutputSystemByPackTypeKinesis + + stream_name: Annotated[str, pydantic.Field(alias="streamName")] + r"""Kinesis stream name to send events to.""" + + 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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"""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[CreateOutputSystemByPackCompression] = 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.""" + + 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 + + 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_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") + ] = 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("compression") + def serialize_compression(self, value): + if isinstance(value, str): + try: + return models.CreateOutputSystemByPackCompression(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 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"""Metadata tags used for categorization and filtering.""" + 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.""" + + +class CreateOutputSystemByPackOutputAzureLogs(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputSystemByPackTypeAzureLogs + + 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.""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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""" + + 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 + + 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""" + + 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"), + ] = 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[CreateOutputSystemByPackAuthenticationMethodAzureLogs], + pydantic.Field(alias="authType"), + ] = None + 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") + ] = 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[CreateOutputSystemByPackPqControlsAzureLogs], + 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.""" + + 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 'streamtags' to a variable 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_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): + 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.CreateOutputSystemByPackAuthenticationMethodAzureLogs( + 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 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): + 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: 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]] + 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"""Metadata tags used for categorization and filtering.""" + 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""" + 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.""" + 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_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_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 CreateOutputSystemByPackOutputAzureDataExplorer(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""" + + 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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""" + + 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""" + + remove_empty_dirs: Annotated[ + Optional[bool], pydantic.Field(alias="removeEmptyDirs") + ] = None + r"""Remove empty staging directories after moving files""" + + 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_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"""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""" + + 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") + ] = 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.""" + + max_concurrent_file_parts: Annotated[ + Optional[float], pydantic.Field(alias="maxConcurrentFileParts") + ] = None + r"""Maximum number of parts to upload in parallel per file""" + + 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""" + + add_id_to_stage_path: Annotated[ + Optional[bool], pydantic.Field(alias="addIdToStagePath") + ] = None + r"""Add the Output ID value to staging location""" + + retry_settings: Annotated[ + Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") + ] = None + + orphans: Optional[OrphanFileRecoveryType] = 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""" + + 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") + ] = None + r"""Prevent blob deletion after ingestion is complete""" + + extent_tags: Annotated[ + Optional[List[CreateOutputSystemByPackExtentTag]], + pydantic.Field(alias="extentTags"), + ] = None + r"""Strings or tags associated with the extent (ingested data shard)""" + + ingest_if_not_exists: Annotated[ + Optional[List[CreateOutputSystemByPackIngestIfNotExist]], + pydantic.Field(alias="ingestIfNotExists"), + ] = None + r"""Prevents duplicate ingestion by verifying whether an extent with the specified ingest-by tag already exists""" + + report_level: Annotated[ + Optional[CreateOutputSystemByPackReportLevel], + pydantic.Field(alias="reportLevel"), + ] = None + r"""Level of ingestion status reporting. Defaults to FailuresOnly.""" + + report_method: Annotated[ + Optional[CreateOutputSystemByPackReportMethod], + pydantic.Field(alias="reportMethod"), + ] = None + r"""Target of the ingestion status reporting. Defaults to Queue.""" + + additional_properties: Annotated[ + Optional[List[CreateOutputSystemByPackAdditionalProperty]], + pydantic.Field(alias="additionalProperties"), + ] = None + r"""Optionally, enter additional configuration properties to send to the ingestion service""" + + 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""" + + 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") + ] = 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.""" + + 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"""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[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.""" + + 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") + ] = 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") + ] = 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_mapping_ref: Annotated[ + Optional[str], pydantic.Field(alias="__template_mappingRef") + ] = 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.""" + + template_ingest_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_ingestUrl") + ] = 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.""" + + 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") + ] = 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 + + @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 + + @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( + [ + "pipeline", + "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", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "flushPeriodSec", + "rejectUnauthorized", + "useRoundRobinDns", + "keepAlive", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__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_onBackpressure", + "__template_fileNameSuffix", + ] + ) + 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 CreateOutputSystemByPackTypeAzureBlob(str, Enum): + AZURE_BLOB = "azure_blob" + + +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: 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.""" + 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"""Metadata tags used for categorization and filtering.""" + 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.""" + 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] + 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""" + 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_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_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.""" + + +class CreateOutputSystemByPackOutputAzureBlob(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputSystemByPackTypeAzureBlob + + 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"""Metadata tags used for categorization and filtering.""" + + create_container: Annotated[ + Optional[bool], pydantic.Field(alias="createContainer") + ] = None + 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 + 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 + + auth_type: Annotated[ + Optional[AuthenticationMethodOptions], pydantic.Field(alias="authType") + ] = None + + storage_class: Annotated[ + Optional[CreateOutputSystemByPackBlobAccessTier], + pydantic.Field(alias="storageClass"), + ] = 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 + 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""" + + connection_string: Annotated[ + Optional[str], pydantic.Field(alias="connectionString") + ] = None + r"""Enter your Azure Storage account connection string. If left blank, Stream will fall back to env.AZURE_STORAGE_CONNECTION_STRING.""" + + 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"""The name of your Azure storage account""" + + 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"""Endpoint suffix for the service URL. Takes precedence over the Azure Cloud setting. Defaults to core.windows.net.""" + + client_text_secret: Annotated[ + Optional[str], pydantic.Field(alias="clientTextSecret") + ] = None + r"""Select or create a stored text secret""" + + certificate: Optional[CertificateTypeAzureBlobAuthTypeClientCert] = 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") + ] = 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.""" + + 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.""" + + 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") + ] = 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.""" + + 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_azure_cloud: Annotated[ + Optional[str], pydantic.Field(alias="__template_azureCloud") + ] = 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 + + @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("auth_type") + def serialize_auth_type(self, value): + if isinstance(value, str): + try: + return models.AuthenticationMethodOptions(value) + except ValueError: + return value + return value + + @field_serializer("storage_class") + def serialize_storage_class(self, value): + if isinstance(value, str): + try: + return models.CreateOutputSystemByPackBlobAccessTier(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", + "createContainer", + "destPath", + "addIdToStagePath", + "maxConcurrentFileParts", + "removeEmptyDirs", + "partitionExpr", + "format", + "baseFileName", + "fileNameSuffix", + "maxFileSizeMB", + "maxFileOpenTimeSec", + "maxFileIdleTimeSec", + "maxOpenFiles", + "headerLine", + "writeHighWaterMark", + "onBackpressure", + "deadletterEnabled", + "onDiskFullBackpressure", + "forceCloseOnShutdown", + "retrySettings", + "orphans", + "authType", + "storageClass", + "description", + "compress", + "compressionLevel", + "automaticSchema", + "parquetSchema", + "parquetVersion", + "parquetDataPageVersion", + "parquetRowGroupLength", + "parquetPageSize", + "shouldLogInvalidRows", + "keyValueMetadata", + "enableStatistics", + "enableWritePageIndex", + "enablePageChecksum", + "emptyDirCleanupSec", + "directoryBatchSize", + "deadletterPath", + "maxRetryNum", + "connectionString", + "textSecret", + "storageAccountName", + "tenantId", + "clientId", + "azureCloud", + "endpointSuffix", + "clientTextSecret", + "certificate", + "__template_streamtags", + "__template_containerName", + "__template_destPath", + "__template_partitionExpr", + "__template_format", + "__template_baseFileName", + "__template_fileNameSuffix", + "__template_onBackpressure", + "__template_compress", + "__template_parquetSchema", + "__template_connectionString", + "__template_storageAccountName", + "__template_tenantId", + "__template_clientId", + "__template_azureCloud", + ] + ) + 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 CreateOutputSystemByPackTypeS3(str, Enum): + S3 = "s3" + + +class CreateOutputSystemByPackOutputS3TypedDict(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}`""" + 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"""Metadata tags used for categorization and filtering.""" + 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""" + 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[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] + 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_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_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 CreateOutputSystemByPackOutputS3(BaseModel): + 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}`""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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""" + + 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 + + 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""" + + 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_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 + 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_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 + 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("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("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): + 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", + "endpoint", + "enableAssumeRole", + "assumeRoleArn", + "assumeRoleExternalId", + "durationSeconds", + "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", + "kmsKeyId", + "description", + "awsApiKey", + "awsSecret", + "compress", + "compressionLevel", + "automaticSchema", + "parquetSchema", + "parquetVersion", + "parquetDataPageVersion", + "parquetRowGroupLength", + "parquetPageSize", + "shouldLogInvalidRows", + "keyValueMetadata", + "enableStatistics", + "enableWritePageIndex", + "enablePageChecksum", + "emptyDirCleanupSec", + "directoryBatchSize", + "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", + ] + ) + 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 CreateOutputSystemByPackTypeFilesystem(str, Enum): + FILESYSTEM = "filesystem" + + +class CreateOutputSystemByPackOutputFilesystemTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + 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]] + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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_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 CreateOutputSystemByPackOutputFilesystem(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputSystemByPackTypeFilesystem + + 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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") + ] = 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.""" + + 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_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("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( + [ + "pipeline", + "systemFields", + "environment", + "streamtags", + "stagePath", + "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", + "__template_streamtags", + "__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 + + +class CreateOutputSystemByPackTypeSignalfx(str, Enum): + SIGNALFX = "signalfx" + + +class CreateOutputSystemByPackPqControlsSignalfxTypedDict(TypedDict): + pass + + +class CreateOutputSystemByPackPqControlsSignalfx(BaseModel): + pass + + +class CreateOutputSystemByPackOutputSignalfxTypedDict(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).""" + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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] + 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] + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable 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.""" + + +class CreateOutputSystemByPackOutputSignalfx(BaseModel): + 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).""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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""" + + 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""" + + 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))""" + + 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_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[CreateOutputSystemByPackPqControlsSignalfx], + 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_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("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("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", + "authType", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "useRoundRobinDns", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "onBackpressure", + "description", + "token", + "textSecret", + "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 CreateOutputSystemByPackTypeWavefront(str, Enum): + WAVEFRONT = "wavefront" + + +class CreateOutputSystemByPackPqControlsWavefrontTypedDict(TypedDict): + pass + + +class CreateOutputSystemByPackPqControlsWavefront(BaseModel): + pass + + +class CreateOutputSystemByPackOutputWavefrontTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + 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]] + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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] + 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[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.""" + + +class CreateOutputSystemByPackOutputWavefront(BaseModel): + id: str + r"""Unique ID for this output""" + + 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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""" + + 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""" + + 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))""" + + 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_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[CreateOutputSystemByPackPqControlsWavefront], + 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_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("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("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", + "authType", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "useRoundRobinDns", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "onBackpressure", + "description", + "token", + "textSecret", + "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 CreateOutputSystemByPackTypeTcpjson(str, Enum): + TCPJSON = "tcpjson" + + +class CreateOutputSystemByPackPqControlsTcpjsonTypedDict(TypedDict): + pass + + +class CreateOutputSystemByPackPqControlsTcpjson(BaseModel): + pass + + +class CreateOutputSystemByPackOutputTcpjsonTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputSystemByPackTypeTcpjson + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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[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_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): + id: str + r"""Unique ID for this output""" + + type: CreateOutputSystemByPackTypeTcpjson + + 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"""Metadata tags used for categorization and filtering.""" + + load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( + None + ) + r"""Use load-balanced destinations""" + + compression: Optional[CompressionOptionsGzipNone] = None + r"""Codec to use to compress the data before sending""" + + log_failed_requests: Annotated[ + Optional[bool], pydantic.Field(alias="logFailedRequests") + ] = None + r"""Use to troubleshoot issues with sending data""" + + 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") + ] = 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""" + + 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 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.""" + + 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""" + + 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 + 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[CreateOutputSystemByPackPqControlsTcpjson], + 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_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): + if isinstance(value, str): + try: + return models.CompressionOptionsGzipNone(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.AuthenticationMethodOptionsAuthTokensItems(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", + "loadBalanced", + "compression", + "logFailedRequests", + "throttleRatePerSec", + "tls", + "connectionTimeout", + "writeTimeout", + "tokenTTLMinutes", + "sendHeader", + "onBackpressure", + "authType", + "description", + "host", + "port", + "excludeSelf", + "hosts", + "dnsResolvePeriodSec", + "loadBalanceStatsPeriodSec", + "maxConcurrentSenders", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "authToken", + "textSecret", + "__template_streamtags", + "__template_onBackpressure", + "__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 CreateOutputSystemByPackTypeWizHec(str, Enum): + WIZ_HEC = "wiz_hec" + + +class CreateOutputSystemByPackPqControlsWizHecTypedDict(TypedDict): + pass + + +class CreateOutputSystemByPackPqControlsWizHec(BaseModel): + pass + + +class CreateOutputSystemByPackOutputWizHecTypedDict(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 + 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"""Metadata tags used for categorization and filtering.""" + 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.""" + 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"""Wiz Defend Auth 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[CreateOutputSystemByPackPqControlsWizHecTypedDict] + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable 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_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_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 CreateOutputSystemByPackOutputWizHec(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 + + 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"""Metadata tags used for categorization and filtering.""" + + 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"""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""" + + 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""" + + 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") + ] = 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.""" + + 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""" + + 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[CreateOutputSystemByPackPqControlsWizHec], + 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_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_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.""" + + 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): + if isinstance(value, str): + try: + return models.FailedRequestLoggingModeOptions(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 + + @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", + "tls", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "failedRequestLoggingMode", + "safeHeaders", + "authType", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "onBackpressure", + "description", + "token", + "textSecret", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_failedRequestLoggingMode", + "__template_wiz_environment", + "__template_data_center", + "__template_wiz_sourcetype", + "__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 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 = {} + + 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 CreateOutputSystemByPackPqControlsSplunkHecTypedDict(TypedDict): + pass + + +class CreateOutputSystemByPackPqControlsSplunkHec(BaseModel): + pass + + +class CreateOutputSystemByPackOutputSplunkHecTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputSystemByPackTypeSplunkHec + 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"""Metadata tags used for categorization and filtering.""" + 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.""" + 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, 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.""" + 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.""" + 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] + 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[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_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 CreateOutputSystemByPackOutputSplunkHec(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputSystemByPackTypeSplunkHec + + 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"""Metadata tags used for categorization and filtering.""" + + 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.""" + + 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"""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""" + + 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""" + + 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"), + ] = 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") + ] = 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.""" + + 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.""" + + 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.""" + + 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""" + + 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[CreateOutputSystemByPackPqControlsSplunkHec], + 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_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.""" + + @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("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): + 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", + "loadBalanced", + "tls", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "failedRequestLoggingMode", + "safeHeaders", + "enableMultiMetrics", + "authType", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "nextQueue", + "tcpRouting", + "onBackpressure", + "description", + "url", + "useRoundRobinDns", + "excludeSelf", + "urls", + "dnsResolvePeriodSec", + "loadBalanceStatsPeriodSec", + "token", + "textSecret", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_failedRequestLoggingMode", + "__template_onBackpressure", + "__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 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 CreateOutputSystemByPackPqControlsSplunkLb(BaseModel): + pass + + +class CreateOutputSystemByPackOutputSplunkLbTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + 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]] + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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.""" + 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] + 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[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_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 CreateOutputSystemByPackOutputSplunkLb(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputSystemByPackTypeSplunkLb + + 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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 + 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.""" + + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") + ] = 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 + + 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.""" + + 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.""" + + log_failed_requests: Annotated[ + Optional[bool], pydantic.Field(alias="logFailedRequests") + ] = None + r"""Use to troubleshoot issues with sending data""" + + max_s2_sversion: Annotated[ + Optional[MaxS2SVersionOptions], pydantic.Field(alias="maxS2Sversion") + ] = 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""" + + 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"), + ] = 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.""" + + 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.""" + + 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 + 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[CreateOutputSystemByPackPqControlsSplunkLb], + 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") + ] = 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.""" + + @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): + 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.AuthenticationMethodOptionsAuthTokensItems(value) + except ValueError: + return value + return value + + @field_serializer("compress") + def serialize_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptions(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", + "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 = {} + + 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 CreateOutputSystemByPackTypeSplunk(str, Enum): + SPLUNK = "splunk" + + +class CreateOutputSystemByPackPqControlsSplunkTypedDict(TypedDict): + pass + + +class CreateOutputSystemByPackPqControlsSplunk(BaseModel): + pass + + +class CreateOutputSystemByPackOutputSplunkTypedDict(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""" + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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""" + 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] + 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[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 CreateOutputSystemByPackOutputSplunk(BaseModel): + 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + nested_fields: Annotated[ + Optional[NestedFieldSerializationOptions], pydantic.Field(alias="nestedFields") + ] = None + 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.""" + + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") + ] = 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 + + 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.""" + + 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.""" + + log_failed_requests: Annotated[ + Optional[bool], pydantic.Field(alias="logFailedRequests") + ] = None + r"""Use to troubleshoot issues with sending data""" + + max_s2_sversion: Annotated[ + Optional[MaxS2SVersionOptions], pydantic.Field(alias="maxS2Sversion") + ] = 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""" + + 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.""" + + 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.""" + + 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[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 + r"""Binds 'streamtags' to a variable 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 + 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.""" + + @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): + 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.AuthenticationMethodOptionsAuthTokensItems(value) + except ValueError: + return value + return value + + @field_serializer("compress") + def serialize_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptions(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", + "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 + + +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 CreateOutputSystemByPackTimestampFormat(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Timestamp format to use when serializing event's time field""" + + # Syslog + SYSLOG = "syslog" + # ISO8601 + ISO8601 = "iso8601" + + +class CreateOutputSystemByPackPqControlsSyslogTypedDict(TypedDict): + pass + + +class CreateOutputSystemByPackPqControlsSyslog(BaseModel): + pass + + +class CreateOutputSystemByPackOutputSyslogTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputSystemByPackTypeSyslog + 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"""Metadata tags used for categorization and filtering.""" + 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""" + 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] + 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[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_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.""" + + +class CreateOutputSystemByPackOutputSyslog(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputSystemByPackTypeSyslog + + 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"""Metadata tags used for categorization and filtering.""" + + 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"), + ] = None + r"""Timestamp format to use when serializing event's time field""" + + 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") + ] = None + 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 + ) + 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""" + + 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""" + + 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.""" + + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") + ] = 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 + + 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") + ] = None + 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: 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.""" + + 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.""" + + 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[CreateOutputSystemByPackPqControlsSyslog], + 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_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_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 + + @field_serializer("facility") + def serialize_facility(self, value): + if isinstance(value, str): + try: + return models.CreateOutputSystemByPackFacility(value) + except ValueError: + return value + return value + + @field_serializer("severity") + def serialize_severity(self, value): + if isinstance(value, str): + try: + return models.CreateOutputSystemByPackSeveritySyslog(value) + except ValueError: + return value + return value + + @field_serializer("message_format") + def serialize_message_format(self, value): + if isinstance(value, str): + try: + return models.CreateOutputSystemByPackMessageFormat(value) + except ValueError: + return value + return value + + @field_serializer("timestamp_format") + def serialize_timestamp_format(self, value): + if isinstance(value, str): + try: + return models.CreateOutputSystemByPackTimestampFormat(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", + "facility", + "severity", + "appName", + "messageFormat", + "timestampFormat", + "throttleRatePerSec", + "octetCountFraming", + "logFailedRequests", + "description", + "loadBalanced", + "host", + "port", + "excludeSelf", + "hosts", + "dnsResolvePeriodSec", + "loadBalanceStatsPeriodSec", + "maxConcurrentSenders", + "connectionTimeout", + "writeTimeout", + "tls", + "onBackpressure", + "maxRecordSize", + "udpDnsResolvePeriodSec", + "enableIpSpoofing", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_host", + "__template_port", + "__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 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"""Metadata tags used for categorization and filtering.""" + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a 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"""Metadata tags used for categorization and filtering.""" + + 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 = {} + + 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 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: 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]] + 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"""Metadata tags used for categorization and filtering.""" + 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.""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" + auth_type: NotRequired[CreateOutputSystemByPackAuthType] + refresh_token_field: NotRequired[str] + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, @{product} will use the refresh token to obtain new access tokens without re-sending credentials.""" + rotate_refresh_token: NotRequired[bool] + r"""@{product} will update the stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + refresh_url: NotRequired[str] + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + refresh_request_params: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict] + ] + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, @{product} sends only grant_type, refresh_token, and client_secret.""" + 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] + 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] + 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[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""" + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable 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_refresh_url: NotRequired[str] + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' 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): + 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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.""" + + 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[CreateOutputSystemByPackAuthType], pydantic.Field(alias="authType") + ] = None + + refresh_token_field: Annotated[ + Optional[str], pydantic.Field(alias="refreshTokenField") + ] = None + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, @{product} will use the refresh token to obtain new access tokens without re-sending credentials.""" + + rotate_refresh_token: Annotated[ + Optional[bool], pydantic.Field(alias="rotateRefreshToken") + ] = None + r"""@{product} will update the stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + + refresh_url: Annotated[Optional[str], pydantic.Field(alias="refreshUrl")] = None + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + + refresh_request_params: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecret]], + pydantic.Field(alias="refreshRequestParams"), + ] = None + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, @{product} sends only grant_type, refresh_token, and client_secret.""" + + 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.""" + + 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") + ] = 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[CreateOutputSystemByPackPqControlsSentinel], + 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_refresh_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_refreshUrl") + ] = None + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' 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.""" + + @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.CreateOutputSystemByPackAuthType(value) + except ValueError: + return value + return value + + @field_serializer("endpoint_url_configuration") + def serialize_endpoint_url_configuration(self, value): + if isinstance(value, str): + try: + return models.CreateOutputSystemByPackEndpointConfiguration(value) + except ValueError: + return value + return value + + @field_serializer("format_") + def serialize_format_(self, value): + if isinstance(value, str): + try: + return models.CreateOutputSystemByPackFormatSentinel(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", + "keepAlive", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "useRoundRobinDns", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "onBackpressure", + "authType", + "refreshTokenField", + "rotateRefreshToken", + "refreshUrl", + "refreshRequestParams", + "scope", + "totalMemoryLimitKB", + "description", + "format", + "customSourceExpression", + "customDropWhenNull", + "customEventDelimiter", + "customContentType", + "customPayloadExpression", + "advancedContentType", + "formatEventCode", + "formatPayloadCode", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "url", + "dcrID", + "dceEndpoint", + "streamName", + "__template_streamtags", + "__template_failedRequestLoggingMode", + "__template_onBackpressure", + "__template_loginUrl", + "__template_secret", + "__template_refreshUrl", + "__template_client_id", + "__template_scope", + "__template_url", + "__template_dcrID", + "__template_dceEndpoint", + "__template_streamName", + ] + ) + 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 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" + + +try: + CreateOutputSystemByPackOutputGraphite.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackOutputStatsdExt.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackOutputStatsd.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackOutputMinio.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackOutputCloudwatch.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackOutputInfluxdb.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackOutputNewrelicEvents.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackOutputNewrelic.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackOutputElasticCloud.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackURLElastic.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackOutputElastic.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackOutputMsk.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackOutputConfluentCloud.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackOutputKafka.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackOutputExabeam.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackOutputGooglePubsub.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackOutputGoogleCloudObservability.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackOutputGoogleCloudLogging.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackOutputGoogleCloudStorage.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackExtraLogType.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackOutputGoogleChronicle.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackOutputGoogleBigquery.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackOutputAzureEventhub.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackOutputHoneycomb.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackOutputKinesis.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackOutputAzureLogs.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackCertificate.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackOutputAzureDataExplorer.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackOutputAzureBlob.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackOutputS3.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackOutputFilesystem.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackOutputSignalfx.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackOutputWavefront.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackOutputTcpjson.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackOutputWizHec.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackURLSplunkHec.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackOutputSplunkHec.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackAuthToken.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackIndexerDiscoveryConfigs.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackOutputSplunkLb.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackOutputSplunk.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackOutputSyslog.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackOutputDevnull.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackOutputSentinel.model_rebuild() +except NameError: + pass diff --git a/src/cribl_control_plane/models/createoutputsystembypack_type_statsd.py b/src/cribl_control_plane/models/createoutputsystembypack_pqcontrols_graphite.py similarity index 92% rename from src/cribl_control_plane/models/createoutputsystembypack_type_statsd.py rename to src/cribl_control_plane/models/createoutputsystembypack_pqcontrols_graphite.py index 4204b5dd5..5f333a3a1 100644 --- a/src/cribl_control_plane/models/createoutputsystembypack_type_statsd.py +++ b/src/cribl_control_plane/models/createoutputsystembypack_pqcontrols_graphite.py @@ -7,14 +7,12 @@ from .authenticationmethodoptionsauthtokensitems import ( AuthenticationMethodOptionsAuthTokensItems, ) +from .authenticationmethodoptionsautosecret import AuthenticationMethodOptionsAutoSecret from .authenticationmethodoptionss3collectorconf import ( AuthenticationMethodOptionsS3CollectorConf, ) from .authenticationmethodoptionssecret import AuthenticationMethodOptionsSecret from .authenticationtypeoptions import AuthenticationTypeOptions -from .authenticationtypeoptionsprometheusauth import ( - AuthenticationTypeOptionsPrometheusAuth, -) from .authenticationtypeoptionsprometheusauthbasiccredentialssecret import ( AuthenticationTypeOptionsPrometheusAuthBasicCredentialsSecret, ) @@ -28,6 +26,10 @@ ) from .backpressurebehavioroptions import BackpressureBehaviorOptions from .backpressurebehavioroptionsblockdrop import BackpressureBehaviorOptionsBlockDrop +from .columnmappingconfoutputclickhouse import ( + ColumnMappingConfOutputClickHouse, + ColumnMappingConfOutputClickHouseTypedDict, +) from .compressionleveloptions import CompressionLevelOptions from .compressionoptionsdeflategzip import CompressionOptionsDeflateGzip from .compressionoptionsgzipnone import CompressionOptionsGzipNone @@ -40,18 +42,19 @@ ) from .dataformatoptions import DataFormatOptions from .datapageversionoptions import DataPageVersionOptions -from .destinationprotocoloptions import DestinationProtocolOptions from .diskspaceprotectionoptions import DiskSpaceProtectionOptions from .extrahttpheaderconfinputelastic import ( ExtraHTTPHeaderConfInputElastic, ExtraHTTPHeaderConfInputElasticTypedDict, ) from .failedrequestloggingmodeoptions import FailedRequestLoggingModeOptions +from .formatoptions import FormatOptions from .hostconfoutputsyslog import HostConfOutputSyslog, HostConfOutputSyslogTypedDict from .keyvaluemetadataconfoutputfilesystem import ( KeyValueMetadataConfOutputFilesystem, KeyValueMetadataConfOutputFilesystemTypedDict, ) +from .mappingtypeoptions import MappingTypeOptions from .messageformatoptions import MessageFormatOptions from .methodoptions import MethodOptions from .microsoftentraidauthenticationendpointoptionssasl import ( @@ -77,11 +80,11 @@ from .protocoloptions import ProtocolOptions from .queuefullbehavioroptions import QueueFullBehaviorOptions from .recorddataformatoptions import RecordDataFormatOptions -from .requestformatoptions import RequestFormatOptions -from .requestparamconfinputopenai import ( - RequestParamConfInputOpenai, - RequestParamConfInputOpenaiTypedDict, +from .refreshrequestparamconfhealthcheckauthenticationoauthsecret import ( + RefreshRequestParamConfHealthCheckAuthenticationOauthSecret, + RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict, ) +from .requestformatoptions import RequestFormatOptions from .responseretrysettingconfoutputwebhook import ( ResponseRetrySettingConfOutputWebhook, ResponseRetrySettingConfOutputWebhookTypedDict, @@ -133,20 +136,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]] @@ -154,7 +157,7 @@ class CreateOutputSystemByPackOutputAlibabaCloudS3TypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: NotRequired[AuthenticationMethodOptionsSecret] r"""Authentication method.""" reuse_connections: NotRequired[bool] @@ -203,9 +206,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] @@ -244,6 +246,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] @@ -258,31 +262,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""" @@ -295,7 +295,7 @@ class CreateOutputSystemByPackOutputAlibabaCloudS3(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: Annotated[ Optional[AuthenticationMethodOptionsSecret], @@ -417,12 +417,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""" @@ -516,6 +512,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 @@ -551,16 +552,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 @@ -607,15 +598,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): @@ -685,7 +667,6 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", - "objectACL", "description", "awsSecret", "compress", @@ -706,6 +687,7 @@ def serialize_model(self, handler): "deadletterPath", "maxRetryNum", "__template_streamtags", + "__template_endpoint", "__template_bucket", "__template_destPath", "__template_partitionExpr", @@ -713,8 +695,6 @@ def serialize_model(self, handler): "__template_baseFileName", "__template_fileNameSuffix", "__template_onBackpressure", - "__template_objectACL", - "__template_endpoint", "__template_compress", "__template_parquetSchema", ] @@ -733,20 +713,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]] @@ -754,15 +745,15 @@ class CreateOutputSystemByPackOutputScalityS3TypedDict(TypedDict): 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"""Metadata tags used for categorization and filtering.""" + 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] @@ -805,7 +796,18 @@ 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""" + enable_assume_role: NotRequired[bool] + r"""Use Assume Role credentials to access Alibaba OSS""" + 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).""" + assume_role_arn: NotRequired[str] + r"""ARN of the RAM role to assume. Format: acs:ram:::role/. Example: acs:ram::123456789:role/OSSAccessRole""" + assume_role_external_id: NotRequired[str] + r"""External ID for the assumed role (optional, for security when configured in the role trust policy)""" 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] @@ -846,8 +848,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] @@ -860,28 +860,34 @@ 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_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_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 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""" @@ -895,10 +901,10 @@ class CreateOutputSystemByPackOutputScalityS3(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: Annotated[ - Optional[AuthenticationMethodOptionsSecret], + Optional[CreateOutputSystemByPackAuthenticationMethodAlibabaCloudS3], pydantic.Field(alias="awsAuthenticationMethod"), ] = None r"""Authentication method.""" @@ -913,9 +919,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}`""" @@ -1020,7 +1023,33 @@ 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""" + + enable_assume_role: Annotated[ + Optional[bool], pydantic.Field(alias="enableAssumeRole") + ] = None + r"""Use Assume Role credentials to access Alibaba OSS""" + + 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).""" + + assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( + None + ) + r"""ARN of the RAM role to assume. Format: acs:ram:::role/. Example: acs:ram::123456789:role/OSSAccessRole""" + + assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="assumeRoleExternalId") + ] = None + r"""External ID for the assumed role (optional, for security when configured in the role trust policy)""" + 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""" @@ -1119,11 +1148,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 @@ -1154,11 +1178,26 @@ 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 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_compress: Annotated[ Optional[str], pydantic.Field(alias="__template_compress") ] = None @@ -1173,7 +1212,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 @@ -1205,6 +1248,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): @@ -1252,7 +1304,6 @@ def serialize_model(self, handler): "awsAuthenticationMethod", "reuseConnections", "rejectUnauthorized", - "region", "destPath", "maxConcurrentFileParts", "verifyPermissions", @@ -1275,6 +1326,11 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", + "objectACL", + "enableAssumeRole", + "durationSeconds", + "assumeRoleArn", + "assumeRoleExternalId", "description", "awsSecret", "compress", @@ -1296,14 +1352,16 @@ 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_assumeRoleArn", + "__template_assumeRoleExternalId", "__template_compress", "__template_parquetSchema", ] @@ -1322,20 +1380,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]] @@ -1343,7 +1401,7 @@ class CreateOutputSystemByPackOutputCloudianS3TypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: NotRequired[AuthenticationMethodOptionsSecret] r"""Authentication method.""" reuse_connections: NotRequired[bool] @@ -1351,7 +1409,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] @@ -1394,15 +1452,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] @@ -1441,8 +1492,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] @@ -1459,35 +1508,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""" @@ -1500,7 +1543,7 @@ class CreateOutputSystemByPackOutputCloudianS3(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: Annotated[ Optional[AuthenticationMethodOptionsSecret], @@ -1519,7 +1562,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}`""" @@ -1625,26 +1668,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""" @@ -1738,11 +1763,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 @@ -1783,25 +1803,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") + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") ] = 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.""" + 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") @@ -1849,33 +1854,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): @@ -1946,10 +1924,6 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", - "objectACL", - "storageClass", - "serverSideEncryption", - "kmsKeyId", "description", "awsSecret", "compress", @@ -1970,7 +1944,6 @@ def serialize_model(self, handler): "deadletterPath", "maxRetryNum", "__template_streamtags", - "__template_endpoint", "__template_bucket", "__template_region", "__template_destPath", @@ -1979,10 +1952,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", ] @@ -2001,20 +1971,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]] @@ -2022,7 +1992,7 @@ class CreateOutputSystemByPackOutputDellS3TypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: NotRequired[AuthenticationMethodOptionsSecret] r"""Authentication method.""" reuse_connections: NotRequired[bool] @@ -2030,7 +2000,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] @@ -2075,7 +2045,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] @@ -2114,6 +2091,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] @@ -2132,29 +2111,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""" @@ -2167,7 +2150,7 @@ class CreateOutputSystemByPackOutputDellS3(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: Annotated[ Optional[AuthenticationMethodOptionsSecret], @@ -2186,7 +2169,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}`""" @@ -2297,7 +2280,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""" @@ -2391,6 +2389,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 @@ -2436,10 +2439,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") @@ -2496,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): @@ -2567,6 +2598,9 @@ def serialize_model(self, handler): "retrySettings", "orphans", "objectACL", + "storageClass", + "serverSideEncryption", + "kmsKeyId", "description", "awsSecret", "compress", @@ -2587,6 +2621,7 @@ def serialize_model(self, handler): "deadletterPath", "maxRetryNum", "__template_streamtags", + "__template_endpoint", "__template_bucket", "__template_region", "__template_destPath", @@ -2596,7 +2631,9 @@ def serialize_model(self, handler): "__template_fileNameSuffix", "__template_onBackpressure", "__template_objectACL", - "__template_endpoint", + "__template_storageClass", + "__template_serverSideEncryption", + "__template_kmsKeyId", "__template_compress", "__template_parquetSchema", ] @@ -2615,18 +2652,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]] @@ -2634,13 +2673,15 @@ class CreateOutputSystemByPackOutputAlphasocS3TypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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 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] @@ -2683,9 +2724,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] @@ -2726,8 +2768,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] @@ -2736,6 +2782,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] @@ -2744,18 +2792,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""" @@ -2768,7 +2819,7 @@ class CreateOutputSystemByPackOutputAlphasocS3(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: Annotated[ Optional[AuthenticationMethodOptionsSecret], @@ -2786,6 +2837,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}`""" @@ -2890,10 +2944,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""" @@ -2992,11 +3049,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 @@ -3017,6 +3084,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 @@ -3068,6 +3140,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): @@ -3115,6 +3196,7 @@ def serialize_model(self, handler): "awsAuthenticationMethod", "reuseConnections", "rejectUnauthorized", + "region", "destPath", "maxConcurrentFileParts", "verifyPermissions", @@ -3137,7 +3219,7 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", - "endpoint", + "objectACL", "description", "awsSecret", "compress", @@ -3159,11 +3241,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", @@ -3183,20 +3268,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]] @@ -3204,7 +3287,7 @@ class CreateOutputSystemByPackOutputStorjS3TypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: NotRequired[AuthenticationMethodOptionsSecret] r"""Authentication method.""" reuse_connections: NotRequired[bool] @@ -3253,7 +3336,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] @@ -3296,8 +3382,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] @@ -3314,21 +3398,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""" @@ -3341,7 +3422,7 @@ class CreateOutputSystemByPackOutputStorjS3(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: Annotated[ Optional[AuthenticationMethodOptionsSecret], @@ -3463,7 +3544,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""" @@ -3567,11 +3652,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 @@ -3712,6 +3792,7 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", + "endpoint", "description", "awsSecret", "compress", @@ -3734,7 +3815,6 @@ def serialize_model(self, handler): "__template_streamtags", "__template_bucket", "__template_destPath", - "__template_partitionExpr", "__template_format", "__template_baseFileName", "__template_fileNameSuffix", @@ -3758,20 +3838,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]] @@ -3779,15 +3859,13 @@ class CreateOutputSystemByPackOutputNutanixObjectsTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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] @@ -3831,6 +3909,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] @@ -3871,8 +3950,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] @@ -3893,20 +3970,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""" @@ -3920,7 +3997,7 @@ class CreateOutputSystemByPackOutputNutanixObjects(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: Annotated[ Optional[AuthenticationMethodOptionsSecret], @@ -3938,9 +4015,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}`""" @@ -4046,6 +4120,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""" @@ -4144,11 +4219,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 @@ -4277,7 +4347,6 @@ def serialize_model(self, handler): "awsAuthenticationMethod", "reuseConnections", "rejectUnauthorized", - "region", "destPath", "maxConcurrentFileParts", "verifyPermissions", @@ -4321,7 +4390,6 @@ def serialize_model(self, handler): "maxRetryNum", "__template_streamtags", "__template_bucket", - "__template_region", "__template_destPath", "__template_partitionExpr", "__template_format", @@ -4347,31 +4415,20 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeCloudflareR2(str, Enum): - CLOUDFLARE_R2 = "cloudflare_r2" - - -class CreateOutputSystemByPackAuthenticationMethodCloudflareR2( - str, Enum, metaclass=utils.OpenEnumMeta -): - r"""AWS authentication method. Choose Auto to use IAM roles.""" - - # Auto - AUTO = "auto" - # Secret Key pair - SECRET = "secret" +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]] @@ -4379,15 +4436,15 @@ class CreateOutputSystemByPackOutputCloudflareR2TypedDict(TypedDict): 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[ - CreateOutputSystemByPackAuthenticationMethodCloudflareR2 - ] - r"""AWS authentication method. Choose Auto to use IAM roles.""" + r"""Metadata tags used for categorization and filtering.""" + 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] @@ -4430,15 +4487,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] @@ -4479,6 +4529,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] @@ -4491,32 +4543,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""" @@ -4530,13 +4578,13 @@ class CreateOutputSystemByPackOutputCloudflareR2(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: Annotated[ - Optional[CreateOutputSystemByPackAuthenticationMethodCloudflareR2], + 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") @@ -4548,6 +4596,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}`""" @@ -4652,24 +4703,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""" @@ -4768,6 +4803,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 @@ -4798,20 +4838,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") @@ -4827,9 +4857,7 @@ class CreateOutputSystemByPackOutputCloudflareR2(BaseModel): def serialize_aws_authentication_method(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackAuthenticationMethodCloudflareR2( - value - ) + return models.AuthenticationMethodOptionsSecret(value) except ValueError: return value return value @@ -4861,24 +4889,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): @@ -4926,6 +4936,7 @@ def serialize_model(self, handler): "awsAuthenticationMethod", "reuseConnections", "rejectUnauthorized", + "region", "destPath", "maxConcurrentFileParts", "verifyPermissions", @@ -4948,9 +4959,6 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", - "awsSecretKey", - "storageClass", - "serverSideEncryption", "description", "awsSecret", "compress", @@ -4972,15 +4980,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", ] @@ -4999,144 +5006,1142 @@ 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 +class CreateOutputSystemByPackTypeCloudflareR2(str, Enum): + CLOUDFLARE_R2 = "cloudflare_r2" - 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""" +class CreateOutputSystemByPackOutputCloudflareR2TypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + 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]] + 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"""Metadata tags used for categorization and filtering.""" + 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.""" + + +class CreateOutputSystemByPackOutputCloudflareR2(BaseModel): + id: str + r"""Unique ID for this output""" + + 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: 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + aws_authentication_method: Annotated[ + Optional[AuthenticationMethodOptionsAutoSecret], + 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""" + + 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 + + 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""" + + 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_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_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.AuthenticationMethodOptionsAutoSecret(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("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", + "destPath", + "maxConcurrentFileParts", + "verifyPermissions", + "maxClosingFilesToBackpressure", + "addIdToStagePath", + "removeEmptyDirs", + "partitionExpr", + "format", + "baseFileName", + "fileNameSuffix", + "maxFileSizeMB", + "maxFileOpenTimeSec", + "maxFileIdleTimeSec", + "maxOpenFiles", + "headerLine", + "writeHighWaterMark", + "onBackpressure", + "deadletterEnabled", + "onDiskFullBackpressure", + "forceCloseOnShutdown", + "retrySettings", + "orphans", + "awsSecretKey", + "storageClass", + "serverSideEncryption", + "description", + "awsSecret", + "compress", + "compressionLevel", + "automaticSchema", + "parquetSchema", + "parquetVersion", + "parquetDataPageVersion", + "parquetRowGroupLength", + "parquetPageSize", + "shouldLogInvalidRows", + "keyValueMetadata", + "enableStatistics", + "enableWritePageIndex", + "enablePageChecksum", + "emptyDirCleanupSec", + "directoryBatchSize", + "deadletterPath", + "maxRetryNum", + "__template_streamtags", + "__template_bucket", + "__template_destPath", + "__template_partitionExpr", + "__template_format", + "__template_baseFileName", + "__template_fileNameSuffix", + "__template_onBackpressure", + "__template_awsSecretKey", + "__template_storageClass", + "__template_serverSideEncryption", + "__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 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 + + @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 + - tenant_id: Annotated[Optional[str], pydantic.Field(alias="tenantId")] = None - r"""Directory ID (tenant identifier) in Azure Active Directory""" +class CreateOutputSystemByPackPqControlsMicrosoftFabric(BaseModel): + pass - scope: Optional[str] = None - r"""Scope to pass in the OAuth request parameter""" - template_mechanism: Annotated[ - Optional[str], pydantic.Field(alias="__template_mechanism") +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"""Metadata tags used for categorization and filtering.""" + 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.""" + + +class CreateOutputSystemByPackOutputMicrosoftFabric(BaseModel): + 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: 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 '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"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - template_oauth_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_oauthEndpoint") + 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"""Metadata tags used for categorization and filtering.""" + + ack: Optional[AcknowledgmentsOptions] = None + r"""Control the number of required acknowledgments""" + + format_: Annotated[ + Optional[RecordDataFormatOptions], pydantic.Field(alias="format") ] = 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"""Format to use to serialize events before writing to the Event Hubs Kafka brokers""" - template_client_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_clientId") + max_record_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxRecordSizeKB") ] = 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"""Maximum size of each record batch before compression. Setting should be < message.max.bytes settings in Event Hubs brokers.""" - template_tenant_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_tenantId") + flush_event_count: Annotated[ + Optional[float], pydantic.Field(alias="flushEventCount") + ] = None + r"""Maximum number of events 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 Max record size.""" + + 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[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 '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 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_scope: Annotated[ - Optional[str], pydantic.Field(alias="__template_scope") + template_bootstrap_server: Annotated[ + Optional[str], pydantic.Field(alias="__template_bootstrap_server") ] = 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"""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("mechanism") - def serialize_mechanism(self, value): + @field_serializer("ack") + def serialize_ack(self, value): if isinstance(value, str): try: - return models.SaslMechanismOptionsSaslOauthbearerPlain(value) + return models.AcknowledgmentsOptions(value) except ValueError: return value return value - @field_serializer("client_secret_auth_type") - def serialize_client_secret_auth_type(self, value): + @field_serializer("format_") + def serialize_format_(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsAuth(value) + return models.RecordDataFormatOptions(value) except ValueError: return value return value - @field_serializer("oauth_endpoint") - def serialize_oauth_endpoint(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.MicrosoftEntraIDAuthenticationEndpointOptionsSasl(value) + 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 @@ -5145,24 +6150,44 @@ def serialize_oauth_endpoint(self, value): 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", + "pipeline", + "systemFields", + "environment", + "streamtags", + "ack", + "format", + "maxRecordSizeKB", + "flushEventCount", + "flushPeriodSec", + "connectionTimeout", + "requestTimeout", + "maxRetries", + "maxBackOff", + "initialBackoff", + "backoffRate", + "authenticationTimeout", + "reauthenticationThreshold", + "sasl", + "tls", + "onBackpressure", + "description", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_topic", + "__template_format", + "__template_onBackpressure", + "__template_bootstrap_server", ] ) serialized = handler(self) @@ -5179,22 +6204,28 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackPqControlsMicrosoftFabricTypedDict(TypedDict): - pass - - -class CreateOutputSystemByPackPqControlsMicrosoftFabric(BaseModel): - pass +class CreateOutputSystemByPackTypeDatabricks(str, Enum): + DATABRICKS = "databricks" -class CreateOutputSystemByPackOutputMicrosoftFabricTypedDict(TypedDict): +class CreateOutputSystemByPackOutputDatabricksTypedDict(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: 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]] @@ -5202,85 +6233,129 @@ class CreateOutputSystemByPackOutputMicrosoftFabricTypedDict(TypedDict): 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"""Metadata tags used for categorization and filtering.""" + 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] - 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 1MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsMicrosoftFabricTypedDict] + 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_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_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_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 CreateOutputSystemByPackOutputDatabricks(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeMicrosoftFabric + type: CreateOutputSystemByPackTypeDatabricks - topic: str - r"""Topic name from Fabric Eventstream's endpoint""" + 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.""" - bootstrap_server: str - r"""Bootstrap server from Fabric Eventstream's endpoint""" + scope: str + r"""OAuth scope for Unity Catalog authentication""" + + 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.""" + + 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""" @@ -5294,206 +6369,294 @@ class CreateOutputSystemByPackOutputMicrosoftFabric(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" - ack: Optional[AcknowledgmentsOptions] = None - r"""Control the number of required acknowledgments""" + dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None + r"""Optional path to prepend to files before uploading.""" - format_: Annotated[ - Optional[RecordDataFormatOptions], pydantic.Field(alias="format") + 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") ] = None - r"""Format to use to serialize events before writing to the Event Hubs Kafka brokers""" + r"""Add the Output ID value to staging location""" - max_record_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxRecordSizeKB") + remove_empty_dirs: Annotated[ + Optional[bool], pydantic.Field(alias="removeEmptyDirs") ] = None - r"""Maximum size of each record batch before compression. Setting should be < message.max.bytes settings in Event Hubs brokers.""" + r"""Remove empty staging directories after moving files""" - flush_event_count: Annotated[ - Optional[float], pydantic.Field(alias="flushEventCount") + 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"""Maximum number of events in a batch before forcing a flush""" + 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`).""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + 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 Max record size.""" + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") + max_file_open_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") ] = None - r"""Maximum time to wait for a connection to complete successfully""" + 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.""" - request_timeout: Annotated[ - Optional[float], pydantic.Field(alias="requestTimeout") + max_file_idle_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") ] = None - r"""Maximum time to wait for Kafka to respond to a request""" + 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_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_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_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).""" + 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""" - initial_backoff: Annotated[ - Optional[float], pydantic.Field(alias="initialBackoff") + write_high_water_mark: Annotated[ + Optional[float], pydantic.Field(alias="writeHighWaterMark") ] = 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"""Buffer size used to write to a file""" - authentication_timeout: Annotated[ - Optional[float], pydantic.Field(alias="authenticationTimeout") + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptionsBlockDrop], + pydantic.Field(alias="onBackpressure"), ] = None - r"""Maximum time to wait for Kafka to respond to an authentication request""" + r"""How to handle events when all receivers are exerting backpressure""" - reauthentication_threshold: Annotated[ - Optional[float], pydantic.Field(alias="reauthenticationThreshold") + deadletter_enabled: Annotated[ + Optional[bool], pydantic.Field(alias="deadletterEnabled") ] = 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"""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""" - sasl: Optional[CreateOutputSystemByPackAuthentication] = None - r"""Authentication parameters to use when connecting to bootstrap server. Using TLS is highly recommended.""" + 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""" - tls: Optional[TLSSettingsClientSideType] = None + 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.""" - 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 + + 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.""" description: Optional[str] = None + r"""Optional description for this configuration.""" - 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.)""" + 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"""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"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB.""" + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" - pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsMicrosoftFabric], - 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: Annotated[ - Optional[str], pydantic.Field(alias="__template_topic") + template_partition_expr: Annotated[ + Optional[str], pydantic.Field(alias="__template_partitionExpr") ] = 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 '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_bootstrap_server: Annotated[ - Optional[str], pydantic.Field(alias="__template_bootstrap_server") + template_compress: Annotated[ + Optional[str], pydantic.Field(alias="__template_compress") ] = 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 '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("ack") - def serialize_ack(self, value): + 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.AcknowledgmentsOptions(value) + return models.DataFormatOptions(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.RecordDataFormatOptions(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 @@ -5506,40 +6669,54 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "ack", + "destPath", + "stagePath", + "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", + "workspaceHost", + "timeoutSec", "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", "__template_streamtags", - "__template_topic", + "__template_partitionExpr", "__template_format", + "__template_baseFileName", + "__template_fileNameSuffix", "__template_onBackpressure", - "__template_bootstrap_server", + "__template_compress", + "__template_parquetSchema", ] ) serialized = handler(self) @@ -5556,157 +6733,194 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeDatabricks(str, Enum): - DATABRICKS = "databricks" +class CreateOutputSystemByPackTypeChronicle(str, Enum): + CHRONICLE = "chronicle" -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] +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 + + 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): + 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.""" + 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"""Metadata tags used for categorization and filtering.""" + 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] 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.""" + 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] - 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.""" + 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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_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_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_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 CreateOutputSystemByPackOutputDatabricks(BaseModel): +class CreateOutputSystemByPackOutputChronicle(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.""" - - scope: str - r"""OAuth scope for Unity Catalog authentication""" - - client_id: Annotated[str, pydantic.Field(alias="clientId")] - r"""OAuth client ID for Unity Catalog authentication""" + type: CreateOutputSystemByPackTypeChronicle - catalog: str - r"""Name of the Unity Catalog catalog to use for the Destination.""" + region: str + r"""Regional endpoint to send events to""" - schema_: Annotated[str, pydantic.Field(alias="schema")] - r"""Name of the Unity Catalog schema to use for the Destination.""" + log_type: Annotated[str, pydantic.Field(alias="logType")] + r"""Default log type value to send to SecOps. Can be overwritten by event field __logType.""" - events_volume_name: Annotated[str, pydantic.Field(alias="eventsVolumeName")] - r"""Name of the Unity Catalog volume where event data is written.""" + gcp_project_id: Annotated[str, pydantic.Field(alias="gcpProjectId")] + r"""The Google Cloud Platform (GCP) project ID to send events to""" - client_text_secret: Annotated[str, pydantic.Field(alias="clientTextSecret")] - r"""OAuth client secret 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.""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -5720,293 +6934,284 @@ class CreateOutputSystemByPackOutputDatabricks(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" - dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None - r"""Optional path to prepend to files before uploading.""" + api_version: Annotated[Optional[str], pydantic.Field(alias="apiVersion")] = 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.""" + authentication_method: Annotated[ + Optional[CreateOutputSystemByPackAuthenticationMethodChronicle], + pydantic.Field(alias="authenticationMethod"), + ] = None - add_id_to_stage_path: Annotated[ - Optional[bool], pydantic.Field(alias="addIdToStagePath") + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), ] = None - r"""Add the Output ID value to staging location""" + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - remove_empty_dirs: Annotated[ - Optional[bool], pydantic.Field(alias="removeEmptyDirs") + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") ] = 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.""" + 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.""" - 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") + ] = 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""" - file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="fileNameSuffix") + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = 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"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - max_file_size_mb: Annotated[ - Optional[float], pydantic.Field(alias="maxFileSizeMB") + extra_http_headers: Annotated[ + Optional[List[ExtraHTTPHeaderConfInputElastic]], + pydantic.Field(alias="extraHttpHeaders"), ] = None - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + 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.""" - - 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"""List of headers that are safe to log in plain text""" - write_high_water_mark: Annotated[ - Optional[float], pydantic.Field(alias="writeHighWaterMark") + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") ] = None - r"""Buffer size used to write to a file""" + 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[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""" - - 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") + total_memory_limit_kb: Annotated[ + Optional[float], pydantic.Field(alias="totalMemoryLimitKB") ] = 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"""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.""" - retry_settings: Annotated[ - Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") + ingestion_method: Annotated[ + Optional[str], pydantic.Field(alias="ingestionMethod") ] = None - orphans: Optional[OrphanFileRecoveryType] = None + 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.""" - workspace_host: Annotated[Optional[str], pydantic.Field(alias="workspaceHost")] = ( + log_text_field: Annotated[Optional[str], pydantic.Field(alias="logTextField")] = ( 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).""" + 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.""" - 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.""" + custom_labels: Annotated[ + Optional[List[CreateOutputSystemByPackCustomLabel]], + pydantic.Field(alias="customLabels"), + ] = None + r"""Custom labels to be added to every event""" - description: Optional[str] = None + 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)""" - compress: Optional[CompressionOptionsHTTP] = None - r"""Data compression format to apply to HTTP content before it is delivered""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - compression_level: Annotated[ - Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") + service_account_credentials: Annotated[ + Optional[str], pydantic.Field(alias="serviceAccountCredentials") ] = None - r"""Compression level to apply before moving files to final destination""" + 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.""" - automatic_schema: Annotated[ - Optional[bool], pydantic.Field(alias="automaticSchema") + service_account_credentials_secret: Annotated[ + Optional[str], pydantic.Field(alias="serviceAccountCredentialsSecret") ] = 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"""Select or create a stored text secret""" - parquet_version: Annotated[ - Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") + pq_strict_ordering: Annotated[ + Optional[bool], pydantic.Field(alias="pqStrictOrdering") ] = None - r"""Determines which data types are supported and how they are represented""" + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - parquet_data_page_version: Annotated[ - Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") + pq_rate_per_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqRatePerSec") ] = 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"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - 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_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_page_size: Annotated[ - Optional[str], pydantic.Field(alias="parquetPageSize") + pq_max_buffer_size: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBufferSize") ] = 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 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.""" - should_log_invalid_rows: Annotated[ - Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") + pq_max_backpressure_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") ] = None - r"""Log up to 3 rows that @{product} skips due to data mismatch""" + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - key_value_metadata: Annotated[ - Optional[List[KeyValueMetadataConfOutputFilesystem]], - pydantic.Field(alias="keyValueMetadata"), + pq_max_file_size: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxFileSize") ] = 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"""The maximum size to store in each queue file before closing and optionally compressing (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_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_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_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_page_checksum: Annotated[ - Optional[bool], pydantic.Field(alias="enablePageChecksum") + pq_compress: Annotated[ + Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") ] = None - r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + r"""Codec to use to compress the persisted data""" - empty_dir_cleanup_sec: Annotated[ - Optional[float], pydantic.Field(alias="emptyDirCleanupSec") + pq_on_backpressure: Annotated[ + Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") ] = None - r"""How frequently, in seconds, to clean up empty directories""" + 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.""" - directory_batch_size: Annotated[ - Optional[float], pydantic.Field(alias="directoryBatchSize") + pq_max_buffer_size_bytes: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") ] = 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"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - deadletter_path: Annotated[ - Optional[str], pydantic.Field(alias="deadletterPath") + pq_controls: Annotated[ + Optional[CreateOutputSystemByPackPqControlsChronicle], + 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_partition_expr: Annotated[ - Optional[str], pydantic.Field(alias="__template_partitionExpr") + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") ] = 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 '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_format: Annotated[ - Optional[str], pydantic.Field(alias="__template_format") + template_failed_request_logging_mode: Annotated[ + Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = 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 '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_base_file_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_baseFileName") + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = 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 'onBackpressure' to a variable 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_namespace: Annotated[ + Optional[str], pydantic.Field(alias="__template_namespace") ] = 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 '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_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") + template_log_type: Annotated[ + Optional[str], pydantic.Field(alias="__template_logType") ] = 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 '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_compress: Annotated[ - Optional[str], pydantic.Field(alias="__template_compress") + template_log_text_field: Annotated[ + Optional[str], pydantic.Field(alias="__template_logTextField") ] = 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 '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_parquet_schema: Annotated[ - Optional[str], pydantic.Field(alias="__template_parquetSchema") + template_gcp_project_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_gcpProjectId") ] = 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 '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.""" - @field_serializer("format_") - def serialize_format_(self, value): - if isinstance(value, str): - try: - return models.DataFormatOptions(value) - except ValueError: - return value - return value + 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.""" - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, 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("authentication_method") + def serialize_authentication_method(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptionsBlockDrop(value) + return models.CreateOutputSystemByPackAuthenticationMethodChronicle( + 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 @@ -6019,54 +7224,54 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "destPath", - "stagePath", - "addIdToStagePath", - "removeEmptyDirs", - "partitionExpr", - "format", - "baseFileName", - "fileNameSuffix", - "maxFileSizeMB", - "maxFileOpenTimeSec", - "maxFileIdleTimeSec", - "maxOpenFiles", - "headerLine", - "writeHighWaterMark", - "onBackpressure", - "deadletterEnabled", - "onDiskFullBackpressure", - "forceCloseOnShutdown", - "retrySettings", - "orphans", - "workspaceHost", + "apiVersion", + "authenticationMethod", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "failedRequestLoggingMode", + "safeHeaders", + "useRoundRobinDns", + "onBackpressure", + "totalMemoryLimitKB", + "ingestionMethod", + "namespace", + "logTextField", + "customLabels", + "endpoint", "description", - "compress", - "compressionLevel", - "automaticSchema", - "parquetSchema", - "parquetVersion", - "parquetDataPageVersion", - "parquetRowGroupLength", - "parquetPageSize", - "shouldLogInvalidRows", - "keyValueMetadata", - "enableStatistics", - "enableWritePageIndex", - "enablePageChecksum", - "emptyDirCleanupSec", - "directoryBatchSize", - "deadletterPath", - "maxRetryNum", + "serviceAccountCredentials", + "serviceAccountCredentialsSecret", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", "__template_streamtags", - "__template_partitionExpr", - "__template_format", - "__template_baseFileName", - "__template_fileNameSuffix", + "__template_region", + "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_compress", - "__template_parquetSchema", + "__template_namespace", + "__template_logType", + "__template_logTextField", + "__template_gcpProjectId", + "__template_gcpInstance", + "__template_endpoint", ] ) serialized = handler(self) @@ -6083,69 +7288,47 @@ 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 +class CreateOutputSystemByPackTypeSentinelOneAiSiem(str, Enum): + SENTINEL_ONE_AI_SIEM = "sentinel_one_ai_siem" - value: str - rbac_enabled: Annotated[Optional[bool], pydantic.Field(alias="rbacEnabled")] = None - r"""Designate this label for role-based access control and filtering""" +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.""" - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["rbacEnabled"]) - serialized = handler(self) - m = {} + US = "US" + CA = "CA" + EMEA = "EMEA" + AP = "AP" + APS = "APS" + AU = "AU" + CUSTOM = "Custom" - 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 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).""" - return m + ROOT_SERVICES_COLLECTOR_EVENT = "/services/collector/event" + ROOT_SERVICES_COLLECTOR_RAW = "/services/collector/raw" -class CreateOutputSystemByPackPqControlsChronicleTypedDict(TypedDict): +class CreateOutputSystemByPackPqControlsSentinelOneAiSiemTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsChronicle(BaseModel): +class CreateOutputSystemByPackPqControlsSentinelOneAiSiem(BaseModel): pass -class CreateOutputSystemByPackOutputChronicleTypedDict(TypedDict): +class CreateOutputSystemByPackOutputSentinelOneAiSiemTypedDict(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: 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]] @@ -6153,18 +7336,7 @@ class CreateOutputSystemByPackOutputChronicleTypedDict(TypedDict): 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}""" - 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.""" + r"""Metadata tags used for categorization and filtering.""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] @@ -6188,26 +7360,53 @@ class CreateOutputSystemByPackOutputChronicleTypedDict(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""" - 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.""" + 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""" - 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] - 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"""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] @@ -6229,47 +7428,29 @@ class CreateOutputSystemByPackOutputChronicleTypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsChronicleTypedDict] + r"""The maximum size to hold in memory before writing events 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 + ] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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 CreateOutputSystemByPackOutputChronicle(BaseModel): +class CreateOutputSystemByPackOutputSentinelOneAiSiem(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeChronicle - - region: str - r"""Regional endpoint to send events to""" - - log_type: Annotated[str, pydantic.Field(alias="logType")] - r"""Default log type value to send to SecOps. Can be overwritten by event field __logType.""" + type: CreateOutputSystemByPackTypeSentinelOneAiSiem - gcp_project_id: Annotated[str, pydantic.Field(alias="gcpProjectId")] - r"""The Google Cloud Platform (GCP) project ID to send events to""" + 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.""" - 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.""" + 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""" @@ -6283,29 +7464,7 @@ class CreateOutputSystemByPackOutputChronicle(BaseModel): 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}""" - - 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.""" + r"""Metadata tags used for categorization and filtering.""" concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -6356,53 +7515,105 @@ class CreateOutputSystemByPackOutputChronicle(BaseModel): ] = None r"""List of headers that are safe to log in plain text""" - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") + auth_type: Annotated[ + Optional[AuthenticationMethodOptionsAuthTokensItems], + 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.""" + 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""" - total_memory_limit_kb: Annotated[ - Optional[float], pydantic.Field(alias="totalMemoryLimitKB") + 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""" + + 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"""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"""Define serverHost for events using a JavaScript expression. You must enclose text constants in quotes (such as, 'myServer').""" - ingestion_method: Annotated[ - Optional[str], pydantic.Field(alias="ingestionMethod") + 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').""" - 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.""" + source_type_expression: Annotated[ + Optional[str], pydantic.Field(alias="sourceTypeExpression") + ] = 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.""" - 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.""" + data_source_category_expression: Annotated[ + Optional[str], pydantic.Field(alias="dataSourceCategoryExpression") + ] = 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'.""" - custom_labels: Annotated[ - Optional[List[CreateOutputSystemByPackCustomLabel]], - pydantic.Field(alias="customLabels"), + data_source_name_expression: Annotated[ + Optional[str], pydantic.Field(alias="dataSourceNameExpression") ] = None - r"""Custom labels to be added to every event""" + 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').""" - 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_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').""" - description: Optional[str] = None + event_type_expression: Annotated[ + Optional[str], pydantic.Field(alias="eventTypeExpression") + ] = 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').""" - service_account_credentials: Annotated[ - Optional[str], pydantic.Field(alias="serviceAccountCredentials") + 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"""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"""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.""" - service_account_credentials_secret: Annotated[ - Optional[str], pydantic.Field(alias="serviceAccountCredentialsSecret") + data_source_name: Annotated[ + Optional[str], pydantic.Field(alias="dataSourceName") ] = None - r"""Select or create a stored text secret""" + 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") @@ -6451,10 +7662,10 @@ class CreateOutputSystemByPackOutputChronicle(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[CreateOutputSystemByPackPqControlsChronicle], + Optional[CreateOutputSystemByPackPqControlsSentinelOneAiSiem], pydantic.Field(alias="pqControls"), ] = None @@ -6463,11 +7674,6 @@ class CreateOutputSystemByPackOutputChronicle(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 @@ -6478,52 +7684,38 @@ class CreateOutputSystemByPackOutputChronicle(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.""" + @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_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("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("authentication_method") - def serialize_authentication_method(self, value): + @field_serializer("region") + def serialize_region(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackAuthenticationMethodChronicle( - value - ) + return models.CreateOutputSystemByPackRegion(value) except ValueError: return value return value - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("endpoint") + def serialize_endpoint(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.CreateOutputSystemByPackAISIEMEndpointPath(value) except ValueError: return value return value @@ -6572,11 +7764,6 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "apiVersion", - "authenticationMethod", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -6587,17 +7774,29 @@ def serialize_model(self, handler): "extraHttpHeaders", "failedRequestLoggingMode", "safeHeaders", - "useRoundRobinDns", + "authType", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", "onBackpressure", - "totalMemoryLimitKB", - "ingestionMethod", - "namespace", - "logTextField", - "customLabels", - "endpoint", "description", - "serviceAccountCredentials", - "serviceAccountCredentialsSecret", + "token", + "textSecret", + "baseUrl", + "hostExpression", + "sourceExpression", + "sourceTypeExpression", + "dataSourceCategoryExpression", + "dataSourceNameExpression", + "dataSourceVendorExpression", + "eventTypeExpression", + "host", + "source", + "sourceType", + "dataSourceCategory", + "dataSourceName", + "dataSourceVendor", + "eventType", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -6611,15 +7810,8 @@ 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) @@ -6636,47 +7828,50 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeSentinelOneAiSiem(str, Enum): - SENTINEL_ONE_AI_SIEM = "sentinel_one_ai_siem" +class CreateOutputSystemByPackTypeDynatraceOtlp(str, Enum): + DYNATRACE_OTLP = "dynatrace_otlp" -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 CreateOutputSystemByPackProtocolDynatraceOtlp( + str, Enum, metaclass=utils.OpenEnumMeta +): + r"""Select a transport option for Dynatrace""" - US = "US" - CA = "CA" - EMEA = "EMEA" - AP = "AP" - APS = "APS" - AU = "AU" - CUSTOM = "Custom" + # HTTP + HTTP = "http" -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).""" +class CreateOutputSystemByPackEndpointType(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Select the type of Dynatrace endpoint configured""" - ROOT_SERVICES_COLLECTOR_EVENT = "/services/collector/event" - ROOT_SERVICES_COLLECTOR_RAW = "/services/collector/raw" + # SaaS + SAAS = "saas" + # ActiveGate + AG = "ag" -class CreateOutputSystemByPackPqControlsSentinelOneAiSiemTypedDict(TypedDict): +class CreateOutputSystemByPackPqControlsDynatraceOtlpTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsSentinelOneAiSiem(BaseModel): +class CreateOutputSystemByPackPqControlsDynatraceOtlp(BaseModel): pass -class CreateOutputSystemByPackOutputSentinelOneAiSiemTypedDict(TypedDict): +class CreateOutputSystemByPackOutputDynatraceOtlpTypedDict(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: 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]] @@ -6684,32 +7879,55 @@ class CreateOutputSystemByPackOutputSentinelOneAiSiemTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" + 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.""" + 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.""" 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] ] @@ -6717,43 +7935,6 @@ class CreateOutputSystemByPackOutputSentinelOneAiSiemTypedDict(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] - 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] @@ -6775,10 +7956,8 @@ class CreateOutputSystemByPackOutputSentinelOneAiSiemTypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[ - CreateOutputSystemByPackPqControlsSentinelOneAiSiemTypedDict - ] + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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] @@ -6787,17 +7966,28 @@ class CreateOutputSystemByPackOutputSentinelOneAiSiemTypedDict(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 CreateOutputSystemByPackOutputSentinelOneAiSiem(BaseModel): +class CreateOutputSystemByPackOutputDynatraceOtlp(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeSentinelOneAiSiem + type: CreateOutputSystemByPackTypeDynatraceOtlp - 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.""" + protocol: CreateOutputSystemByPackProtocolDynatraceOtlp + r"""Select a transport option for Dynatrace""" - 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).""" + 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""" + + 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""" @@ -6811,7 +8001,43 @@ class CreateOutputSystemByPackOutputSentinelOneAiSiem(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" + + 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""" + + 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""" @@ -6819,15 +8045,46 @@ class CreateOutputSystemByPackOutputSentinelOneAiSiem(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 (in KB) of the request body. The maximum payload size is 4 MB. If this limit is exceeded, the entire OTLP message is dropped""" - 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.""" - compress: Optional[bool] = None - r"""Compress the payload body before sending""" + 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""" + + 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") @@ -6837,13 +8094,10 @@ class CreateOutputSystemByPackOutputSentinelOneAiSiem(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]], @@ -6851,23 +8105,11 @@ class CreateOutputSystemByPackOutputSentinelOneAiSiem(BaseModel): ] = 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""" - 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"), @@ -6883,84 +8125,6 @@ class CreateOutputSystemByPackOutputSentinelOneAiSiem(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""" - - 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") - ] = 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.""" - - data_source_category_expression: Annotated[ - Optional[str], pydantic.Field(alias="dataSourceCategoryExpression") - ] = 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').""" - - 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').""" - - event_type_expression: Annotated[ - Optional[str], pydantic.Field(alias="eventTypeExpression") - ] = 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.""" - - 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") ] = None @@ -7008,10 +8172,10 @@ class CreateOutputSystemByPackOutputSentinelOneAiSiem(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[CreateOutputSystemByPackPqControlsDynatraceOtlp], pydantic.Field(alias="pqControls"), ] = None @@ -7030,20 +8194,38 @@ 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): + @field_serializer("protocol") + def serialize_protocol(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackRegion(value) + return models.CreateOutputSystemByPackProtocolDynatraceOtlp(value) except ValueError: return value return value - @field_serializer("endpoint") - def serialize_endpoint(self, value): + @field_serializer("otlp_version") + def serialize_otlp_version(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackAISIEMEndpointPath(value) + return models.OtlpVersionOptions131(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 + + @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 @@ -7057,11 +8239,11 @@ def serialize_failed_request_logging_mode(self, value): return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): + @field_serializer("endpoint_type") + def serialize_endpoint_type(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsAuthTokensItems(value) + return models.CreateOutputSystemByPackEndpointType(value) except ValueError: return value return value @@ -7110,39 +8292,32 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", + "compress", + "httpCompress", + "httpTracesEndpointOverride", + "httpMetricsEndpointOverride", + "httpLogsEndpointOverride", + "metadata", + "dynamicHeadersEnabled", + "dynamicHeadersField", "concurrency", "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", "timeoutSec", "flushPeriodSec", - "extraHttpHeaders", "failedRequestLoggingMode", + "connectionTimeout", + "keepAliveTime", + "keepAlive", + "authTokenName", + "onBackpressure", + "description", + "rejectUnauthorized", + "useRoundRobinDns", + "extraHttpHeaders", "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", @@ -7174,103 +8349,99 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeDynatraceOtlp(str, Enum): - DYNATRACE_OTLP = "dynatrace_otlp" +class CreateOutputSystemByPackTypeDynatraceHTTP(str, Enum): + DYNATRACE_HTTP = "dynatrace_http" -class CreateOutputSystemByPackProtocolDynatraceOtlp( +class CreateOutputSystemByPackAuthenticationTypeDynatraceHTTP( str, Enum, metaclass=utils.OpenEnumMeta ): - r"""Select a transport option for Dynatrace""" + # Auth token + TOKEN = "token" + # Token (text secret) + TEXT_SECRET = "textSecret" - # 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""" - # SaaS - SAAS = "saas" +class CreateOutputSystemByPackEndpointDynatraceHTTP( + str, Enum, metaclass=utils.OpenEnumMeta +): + # Cloud + CLOUD = "cloud" # ActiveGate - AG = "ag" + ACTIVE_GATE = "activeGate" + # Manual + MANUAL = "manual" -class CreateOutputSystemByPackPqControlsDynatraceOtlpTypedDict(TypedDict): +class CreateOutputSystemByPackTelemetryType(str, Enum, metaclass=utils.OpenEnumMeta): + # Logs + LOGS = "logs" + # Metrics + METRICS = "metrics" + + +class CreateOutputSystemByPackPqControlsDynatraceHTTPTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsDynatraceOtlp(BaseModel): +class CreateOutputSystemByPackPqControlsDynatraceHTTP(BaseModel): pass -class CreateOutputSystemByPackOutputDynatraceOtlpTypedDict(TypedDict): +class CreateOutputSystemByPackOutputDynatraceHTTPTypedDict(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""" - 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}""" - 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.""" + 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]] + 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"""Metadata tags used for categorization and filtering.""" + 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. 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. """ + 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.""" - 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[ @@ -7280,6 +8451,13 @@ 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""" + 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] + 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] @@ -7301,38 +8479,44 @@ class CreateOutputSystemByPackOutputDynatraceOtlpTypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsDynatraceOtlpTypedDict] + r"""The maximum size to hold in memory before writing events 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.""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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 CreateOutputSystemByPackOutputDynatraceOtlp(BaseModel): +class CreateOutputSystemByPackOutputDynatraceHTTP(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeDynatraceOtlp - - protocol: CreateOutputSystemByPackProtocolDynatraceOtlp - r"""Select a transport option for Dynatrace""" + type: CreateOutputSystemByPackTypeDynatraceHTTP - 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)""" + format_: Annotated[ + CreateOutputSystemByPackFormatDynatraceHTTP, pydantic.Field(alias="format") + ] + r"""How to format events before sending. Defaults to JSON. Plaintext is not currently supported.""" - otlp_version: Annotated[OtlpVersionOptions131, pydantic.Field(alias="otlpVersion")] - r"""The version of OTLP Protobuf definitions to use when structuring data to send""" + endpoint: CreateOutputSystemByPackEndpointDynatraceHTTP - endpoint_type: Annotated[ - CreateOutputSystemByPackEndpointType, pydantic.Field(alias="endpointType") + telemetry_type: Annotated[ + CreateOutputSystemByPackTelemetryType, pydantic.Field(alias="telemetryType") ] - 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""" @@ -7346,43 +8530,13 @@ class CreateOutputSystemByPackOutputDynatraceOtlp(BaseModel): 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}""" - - 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""" - - 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'.""" + r"""Metadata tags used for categorization and filtering.""" - dynamic_headers_enabled: Annotated[ - Optional[bool], pydantic.Field(alias="dynamicHeadersEnabled") - ] = None - r"""Batch event data upon dynamic metadata (whether presented or not)""" + method: Optional[MethodOptions] = None + r"""The method to use when sending events""" - 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.""" + 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""" @@ -7390,45 +8544,15 @@ class CreateOutputSystemByPackOutputDynatraceOtlp(BaseModel): 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""" - - 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") - ] = 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 - ) + 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") @@ -7438,16 +8562,30 @@ class CreateOutputSystemByPackOutputDynatraceOtlp(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]], 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], + 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") @@ -7469,6 +8607,24 @@ class CreateOutputSystemByPackOutputDynatraceOtlp(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[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.""" + pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") ] = None @@ -7516,13 +8672,32 @@ class CreateOutputSystemByPackOutputDynatraceOtlp(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[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 @@ -7538,65 +8713,72 @@ 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): + 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.CreateOutputSystemByPackProtocolDynatraceOtlp(value) + return models.MethodOptions(value) except ValueError: return value return value - @field_serializer("otlp_version") - def serialize_otlp_version(self, value): + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): try: - return models.OtlpVersionOptions131(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.CompressionOptionsDeflateGzip(value) + return models.BackpressureBehaviorOptions(value) except ValueError: return value return value - @field_serializer("http_compress") - def serialize_http_compress(self, value): + @field_serializer("auth_type") + def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.CompressionOptionsMessages(value) + return models.CreateOutputSystemByPackAuthenticationTypeDynatraceHTTP( + 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.CreateOutputSystemByPackFormatDynatraceHTTP(value) except ValueError: return value return value - @field_serializer("endpoint_type") - def serialize_endpoint_type(self, value): + @field_serializer("endpoint") + def serialize_endpoint(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackEndpointType(value) + return models.CreateOutputSystemByPackEndpointDynatraceHTTP(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("telemetry_type") + def serialize_telemetry_type(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.CreateOutputSystemByPackTelemetryType(value) except ValueError: return value return value @@ -7636,32 +8818,26 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "compress", - "httpCompress", - "httpTracesEndpointOverride", - "httpMetricsEndpointOverride", - "httpLogsEndpointOverride", - "metadata", - "dynamicHeadersEnabled", - "dynamicHeadersField", + "method", + "keepAlive", "concurrency", "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", "timeoutSec", "flushPeriodSec", - "failedRequestLoggingMode", - "connectionTimeout", - "keepAliveTime", - "keepAlive", - "authTokenName", - "onBackpressure", - "description", - "rejectUnauthorized", - "useRoundRobinDns", "extraHttpHeaders", + "useRoundRobinDns", + "failedRequestLoggingMode", "safeHeaders", "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", + "onBackpressure", + "authType", + "totalMemoryLimitKB", + "description", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -7674,9 +8850,15 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", + "token", + "textSecret", + "environmentId", + "activeGateDomain", + "url", "__template_streamtags", "__template_failedRequestLoggingMode", "__template_onBackpressure", + "__template_url", ] ) serialized = handler(self) @@ -7693,62 +8875,207 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeDynatraceHTTP(str, Enum): - DYNATRACE_HTTP = "dynatrace_http" +class CreateOutputSystemByPackTypeNetflow(str, Enum): + NETFLOW = "netflow" -class CreateOutputSystemByPackAuthenticationTypeDynatraceHTTP( +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 CreateOutputSystemByPackHostNetflow(BaseModel): + host: str + r"""Destination host""" + + port: float + r"""Destination port, default is 2055""" + + 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 CreateOutputSystemByPackOutputNetflowTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + 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]] + 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"""Metadata tags used for categorization and filtering.""" + 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"""Metadata tags used for categorization and filtering.""" + + 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 ): - # Auth token + r"""Enter a token directly, or provide a secret referencing a token""" + TOKEN = "token" - # Token (text secret) - TEXT_SECRET = "textSecret" + SECRET = "secret" -class CreateOutputSystemByPackFormatDynatraceHTTP( - str, Enum, metaclass=utils.OpenEnumMeta -): - r"""How to format events before sending. Defaults to JSON. Plaintext is not currently supported.""" +class CreateOutputSystemByPackURLXsiamTypedDict(TypedDict): + weight: NotRequired[float] + r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" - # JSON - JSON_ARRAY = "json_array" - # Plaintext - PLAINTEXT = "plaintext" +class CreateOutputSystemByPackURLXsiam(BaseModel): + weight: Optional[float] = None + r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" -class CreateOutputSystemByPackEndpoint(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(["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 -class CreateOutputSystemByPackTelemetryType(str, Enum, metaclass=utils.OpenEnumMeta): - # Logs - LOGS = "logs" - # Metrics - METRICS = "metrics" + return m -class CreateOutputSystemByPackPqControlsDynatraceHTTPTypedDict(TypedDict): +class CreateOutputSystemByPackPqControlsXsiamTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsDynatraceHTTP(BaseModel): +class CreateOutputSystemByPackPqControlsXsiam(BaseModel): pass -class CreateOutputSystemByPackOutputDynatraceHTTPTypedDict(TypedDict): +class CreateOutputSystemByPackOutputXsiamTypedDict(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: CreateOutputSystemByPackEndpoint - telemetry_type: CreateOutputSystemByPackTelemetryType + type: CreateOutputSystemByPackTypeXsiam pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -7756,11 +9083,9 @@ class CreateOutputSystemByPackOutputDynatraceHTTPTypedDict(TypedDict): 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""" - keep_alive: NotRequired[bool] - r"""Disable to close the connection immediately after sending the outgoing request""" + r"""Metadata tags used for categorization and filtering.""" + 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] @@ -7779,13 +9104,13 @@ class CreateOutputSystemByPackOutputDynatraceHTTPTypedDict(TypedDict): 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.""" + 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] ] @@ -7793,12 +9118,29 @@ 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.""" + 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""" - 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] + 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] @@ -7820,18 +9162,8 @@ class CreateOutputSystemByPackOutputDynatraceHTTPTypedDict(TypedDict): 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 1MB.""" - 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.""" + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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] @@ -7842,22 +9174,11 @@ class CreateOutputSystemByPackOutputDynatraceHTTPTypedDict(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 CreateOutputSystemByPackOutputDynatraceHTTP(BaseModel): +class CreateOutputSystemByPackOutputXsiam(BaseModel): id: str r"""Unique ID for this output""" - 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: CreateOutputSystemByPackEndpoint - - telemetry_type: Annotated[ - CreateOutputSystemByPackTelemetryType, pydantic.Field(alias="telemetryType") - ] + type: CreateOutputSystemByPackTypeXsiam pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -7871,13 +9192,12 @@ class CreateOutputSystemByPackOutputDynatraceHTTP(BaseModel): 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""" + r"""Metadata tags used for categorization and filtering.""" - keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None - r"""Disable to close the connection immediately after sending the outgoing request""" + 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.""" concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -7915,12 +9235,7 @@ class CreateOutputSystemByPackOutputDynatraceHTTP(BaseModel): 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.""" + r"""Headers to add to all events""" failed_request_logging_mode: Annotated[ Optional[FailedRequestLoggingModeOptions], @@ -7933,6 +9248,12 @@ class CreateOutputSystemByPackOutputDynatraceHTTP(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"), @@ -7948,22 +9269,52 @@ 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.""" + 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") + ] = 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") @@ -8012,32 +9363,13 @@ class CreateOutputSystemByPackOutputDynatraceHTTP(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[CreateOutputSystemByPackPqControlsXsiam], 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 @@ -8058,15 +9390,6 @@ class CreateOutputSystemByPackOutputDynatraceHTTP(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): @@ -8076,49 +9399,20 @@ 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.CreateOutputSystemByPackAuthenticationTypeDynatraceHTTP( - value - ) - except ValueError: - return value - return value - - @field_serializer("format_") - def serialize_format_(self, value): - if isinstance(value, str): - try: - 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.CreateOutputSystemByPackEndpoint(value) + return models.CreateOutputSystemByPackAuthenticationMethodXsiam(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 @@ -8158,8 +9452,7 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "method", - "keepAlive", + "loadBalanced", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -8168,16 +9461,24 @@ 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", @@ -8190,11 +9491,6 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", - "token", - "textSecret", - "environmentId", - "activeGateDomain", - "url", "__template_streamtags", "__template_failedRequestLoggingMode", "__template_onBackpressure", @@ -8215,138 +9511,76 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeNetflow(str, Enum): - NETFLOW = "netflow" - - -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 CreateOutputSystemByPackHostNetflow(BaseModel): - host: str - r"""Destination host""" - - port: float - r"""Destination port, default is 2055""" - - 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)) +class CreateOutputSystemByPackTypeLocalSearchStorage(str, Enum): + LOCAL_SEARCH_STORAGE = "local_search_storage" - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - return m +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 CreateOutputSystemByPackOutputNetflowTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - 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]] - 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] - 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 CreateOutputSystemByPackMappingType(str, Enum, metaclass=utils.OpenEnumMeta): + r"""How event fields are mapped to columns.""" -class CreateOutputSystemByPackOutputNetflow(BaseModel): - id: str - r"""Unique ID for this output""" + # Automatic + AUTOMATIC = "automatic" + # Custom + CUSTOM = "custom" - type: CreateOutputSystemByPackTypeNetflow - hosts: List[CreateOutputSystemByPackHostNetflow] - r"""One or more NetFlow Destinations to forward events to""" +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] - 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 CreateOutputSystemByPackStatsDestination(BaseModel): + url: Optional[str] = None - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + database: Optional[str] = None - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + table_name: Annotated[Optional[str], pydantic.Field(alias="tableName")] = None - 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.""" + auth_type: Annotated[Optional[str], pydantic.Field(alias="authType")] = None - 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.""" + username: Optional[str] = None - description: Optional[str] = None + sql_username: Annotated[Optional[str], pydantic.Field(alias="sqlUsername")] = 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.""" + password: Optional[str] = None - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") + wait_for_async_inserts: Annotated[ + Optional[bool], pydantic.Field(alias="waitForAsyncInserts") ] = 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.""" + + concurrency: Optional[float] = None @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( [ - "pipeline", - "systemFields", - "environment", - "streamtags", - "dnsResolvePeriodSec", - "enableIpSpoofing", - "description", - "maxRecordSize", - "__template_streamtags", + "url", + "database", + "tableName", + "authType", + "username", + "sqlUsername", + "password", + "waitForAsyncInserts", + "concurrency", ] ) serialized = handler(self) @@ -8363,31 +9597,30 @@ def serialize_model(self, handler): 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 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 CreateOutputSystemByPackURLXsiamTypedDict(TypedDict): - weight: NotRequired[float] - r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" +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""" -class CreateOutputSystemByPackURLXsiam(BaseModel): - weight: Optional[float] = None - r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" + 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(["weight"]) + optional_fields = set(["columnType"]) serialized = handler(self) m = {} @@ -8402,18 +9635,23 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackPqControlsXsiamTypedDict(TypedDict): +class CreateOutputSystemByPackPqControlsLocalSearchStorageTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsXsiam(BaseModel): +class CreateOutputSystemByPackPqControlsLocalSearchStorage(BaseModel): pass -class CreateOutputSystemByPackOutputXsiamTypedDict(TypedDict): +class CreateOutputSystemByPackOutputLocalSearchStorageTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeXsiam + 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]] @@ -8421,9 +9659,15 @@ class CreateOutputSystemByPackOutputXsiamTypedDict(TypedDict): 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.""" + r"""Metadata tags used for categorization and filtering.""" + 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] @@ -8443,12 +9687,12 @@ class CreateOutputSystemByPackOutputXsiamTypedDict(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] ] @@ -8456,28 +9700,28 @@ class CreateOutputSystemByPackOutputXsiamTypedDict(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.""" - throttle_rate_req_per_sec: NotRequired[int] - r"""Maximum number of requests to limit to per second""" + 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""" - 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.""" + stats_destination: NotRequired[CreateOutputSystemByPackStatsDestinationTypedDict] 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.""" + 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] @@ -8499,23 +9743,37 @@ class CreateOutputSystemByPackOutputXsiamTypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsXsiamTypedDict] + r"""The maximum size to hold in memory before writing events 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 + ] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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 CreateOutputSystemByPackOutputXsiam(BaseModel): +class CreateOutputSystemByPackOutputLocalSearchStorage(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeXsiam + 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 \"_\".""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -8529,12 +9787,30 @@ class CreateOutputSystemByPackOutputXsiam(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" - load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( + 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")] = ( 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.""" + r"""Collect data into batches for later processing. Disable to write to a table immediately.""" + + tls: Optional[TLSSettingsClientSideTypeCaPathCertPathExtended] = None concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -8574,6 +9850,11 @@ class CreateOutputSystemByPackOutputXsiam(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"), @@ -8585,12 +9866,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"), @@ -8606,51 +9881,58 @@ 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") + 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") ] = None - r"""Maximum number of requests to limit to per second""" + r"""Log the most recent event that fails to match the table schema""" 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") + stats_destination: Annotated[ + Optional[CreateOutputSystemByPackStatsDestination], + pydantic.Field(alias="statsDestination"), ] = 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""" + username: Optional[str] = None - 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.""" + password: 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""" + credentials_secret: Annotated[ + Optional[str], pydantic.Field(alias="credentialsSecret") + ] = None + r"""Select or create a secret that references your credentials""" - urls: Optional[List[CreateOutputSystemByPackURLXsiam]] = None + sql_username: Annotated[Optional[str], pydantic.Field(alias="sqlUsername")] = None + r"""Username for certificate authentication""" - dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") + wait_for_async_inserts: Annotated[ + Optional[bool], pydantic.Field(alias="waitForAsyncInserts") ] = None - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + 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.""" - load_balance_stats_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") + exclude_mapping_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="excludeMappingFields") ] = None - r"""How far back in time to keep traffic stats for load balancing purposes""" + r"""Fields to exclude from sending""" - token: Optional[str] = None - r"""XSIAM authentication token""" + describe_table: Annotated[Optional[str], pydantic.Field(alias="describeTable")] = ( + None + ) + r"""Retrieves the table schema and populates the Column Mapping table""" - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" + column_mappings: Annotated[ + Optional[List[CreateOutputSystemByPackColumnMapping]], + pydantic.Field(alias="columnMappings"), + ] = None pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -8699,10 +9981,10 @@ class CreateOutputSystemByPackOutputXsiam(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[CreateOutputSystemByPackPqControlsLocalSearchStorage], pydantic.Field(alias="pqControls"), ] = None @@ -8711,6 +9993,21 @@ class CreateOutputSystemByPackOutputXsiam(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 @@ -8721,25 +10018,38 @@ class CreateOutputSystemByPackOutputXsiam(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("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("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.CreateOutputSystemByPackFormatLocalSearchStorage(value) except ValueError: return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): + @field_serializer("mapping_type") + def serialize_mapping_type(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackAuthenticationMethodXsiam(value) + return models.CreateOutputSystemByPackMappingType(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 @@ -8788,7 +10098,11 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "loadBalanced", + "authType", + "format", + "mappingType", + "asyncInserts", + "tls", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -8797,24 +10111,25 @@ def serialize_model(self, handler): "timeoutSec", "flushPeriodSec", "extraHttpHeaders", + "useRoundRobinDns", "failedRequestLoggingMode", "safeHeaders", - "authType", "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", - "throttleRateReqPerSec", + "workload", + "dumpFormatErrorsToDisk", "onBackpressure", - "totalMemoryLimitKB", + "statsDestination", "description", - "url", - "useRoundRobinDns", - "excludeSelf", - "urls", - "dnsResolvePeriodSec", - "loadBalanceStatsPeriodSec", - "token", - "textSecret", + "username", + "password", + "credentialsSecret", + "sqlUsername", + "waitForAsyncInserts", + "excludeMappingFields", + "describeTable", + "columnMappings", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -8828,97 +10143,11 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", + "__template_url", + "__template_database", + "__template_tableName", "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__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 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 CreateOutputSystemByPackMappingTypeLocalSearchStorage( - 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) @@ -8935,61 +10164,27 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackColumnMappingLocalSearchStorageTypedDict(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 CreateOutputSystemByPackColumnMappingLocalSearchStorage(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 CreateOutputSystemByPackTypeCustomerMetricsStorage(str, Enum): + CUSTOMER_METRICS_STORAGE = "customer_metrics_storage" -class CreateOutputSystemByPackPqControlsLocalSearchStorageTypedDict(TypedDict): +class CreateOutputSystemByPackPqControlsCustomerMetricsStorageTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsLocalSearchStorage(BaseModel): +class CreateOutputSystemByPackPqControlsCustomerMetricsStorage(BaseModel): pass -class CreateOutputSystemByPackOutputLocalSearchStorageTypedDict(TypedDict): +class CreateOutputSystemByPackOutputCustomerMetricsStorageTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeLocalSearchStorage + type: CreateOutputSystemByPackTypeCustomerMetricsStorage url: str - r"""URL of the database instance. Example: http://localhost:8123/""" + r"""URL of the ClickHouse 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 \"_\".""" + 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]] @@ -8997,14 +10192,14 @@ class CreateOutputSystemByPackOutputLocalSearchStorageTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" auth_type: NotRequired[AuthenticationTypeOptions] - format_: NotRequired[CreateOutputSystemByPackFormatLocalSearchStorage] - r"""Data format to use when sending data. Defaults to JSON Compact.""" - mapping_type: NotRequired[CreateOutputSystemByPackMappingTypeLocalSearchStorage] - r"""How event fields are mapped to columns.""" + 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. Disable to write to a table immediately.""" + 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""" @@ -9038,12 +10233,14 @@ 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""" 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] @@ -9051,14 +10248,12 @@ class CreateOutputSystemByPackOutputLocalSearchStorageTypedDict(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 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 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""" + r"""Fields to exclude from sending to ClickHouse""" describe_table: NotRequired[str] - r"""Retrieves the table schema and populates the Column Mapping table""" - column_mappings: NotRequired[ - List[CreateOutputSystemByPackColumnMappingLocalSearchStorageTypedDict] - ] + 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] @@ -9080,9 +10275,9 @@ class CreateOutputSystemByPackOutputLocalSearchStorageTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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 + 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.""" @@ -9098,19 +10293,19 @@ class CreateOutputSystemByPackOutputLocalSearchStorageTypedDict(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 CreateOutputSystemByPackOutputLocalSearchStorage(BaseModel): +class CreateOutputSystemByPackOutputCustomerMetricsStorage(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeLocalSearchStorage + type: CreateOutputSystemByPackTypeCustomerMetricsStorage url: str - r"""URL of the database instance. Example: http://localhost:8123/""" + r"""URL of the ClickHouse 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 \"_\".""" + 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""" @@ -9124,28 +10319,24 @@ class CreateOutputSystemByPackOutputLocalSearchStorage(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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.""" + format_: Annotated[Optional[FormatOptions], pydantic.Field(alias="format")] = None + r"""Data format to use when sending data to ClickHouse. Defaults to JSON Compact.""" mapping_type: Annotated[ - Optional[CreateOutputSystemByPackMappingTypeLocalSearchStorage], - pydantic.Field(alias="mappingType"), + Optional[MappingTypeOptions], pydantic.Field(alias="mappingType") ] = None - r"""How event fields are mapped to columns.""" + r"""How event fields are mapped to ClickHouse columns""" async_inserts: Annotated[Optional[bool], pydantic.Field(alias="asyncInserts")] = ( None ) - r"""Collect data into batches for later processing. Disable to write to a table immediately.""" + 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: Optional[TLSSettingsClientSideTypeCaPathCertPathExtended] = None @@ -9218,6 +10409,9 @@ 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") ] = None @@ -9228,12 +10422,8 @@ class CreateOutputSystemByPackOutputLocalSearchStorage(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 @@ -9250,20 +10440,20 @@ class CreateOutputSystemByPackOutputLocalSearchStorage(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 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 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: Annotated[ Optional[List[str]], pydantic.Field(alias="excludeMappingFields") ] = None - r"""Fields to exclude from sending""" + r"""Fields to exclude from sending to ClickHouse""" describe_table: Annotated[Optional[str], pydantic.Field(alias="describeTable")] = ( None ) - r"""Retrieves the table schema and populates the Column Mapping table""" + r"""Retrieves the table schema from ClickHouse and populates the Column Mapping table""" column_mappings: Annotated[ - Optional[List[CreateOutputSystemByPackColumnMappingLocalSearchStorage]], + Optional[List[ColumnMappingConfOutputClickHouse]], pydantic.Field(alias="columnMappings"), ] = None @@ -9314,10 +10504,10 @@ class CreateOutputSystemByPackOutputLocalSearchStorage(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[CreateOutputSystemByPackPqControlsCustomerMetricsStorage], pydantic.Field(alias="pqControls"), ] = None @@ -9364,7 +10554,7 @@ def serialize_auth_type(self, value): def serialize_format_(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackFormatLocalSearchStorage(value) + return models.FormatOptions(value) except ValueError: return value return value @@ -9373,9 +10563,7 @@ def serialize_format_(self, value): def serialize_mapping_type(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackMappingTypeLocalSearchStorage( - value - ) + return models.MappingTypeOptions(value) except ValueError: return value return value @@ -9452,9 +10640,9 @@ def serialize_model(self, handler): "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", + "workload", "dumpFormatErrorsToDisk", "onBackpressure", - "statsDestination", "description", "username", "password", @@ -9502,64 +10690,6 @@ class CreateOutputSystemByPackTypeClickHouse(str, Enum): CLICK_HOUSE = "click_house" -class CreateOutputSystemByPackFormatClickHouse(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Data format to use when sending data to ClickHouse. 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 CreateOutputSystemByPackMappingTypeClickHouse( - str, Enum, metaclass=utils.OpenEnumMeta -): - r"""How event fields are mapped to ClickHouse columns""" - - # Automatic - AUTOMATIC = "automatic" - # Custom - CUSTOM = "custom" - - -class CreateOutputSystemByPackColumnMappingClickHouseTypedDict(TypedDict): - column_name: str - r"""Name of the column in ClickHouse that will store field value""" - column_value_expression: str - r"""JavaScript expression to compute value to be inserted into ClickHouse table""" - column_type: NotRequired[str] - r"""Type of the column in the ClickHouse database""" - - -class CreateOutputSystemByPackColumnMappingClickHouse(BaseModel): - column_name: Annotated[str, pydantic.Field(alias="columnName")] - r"""Name of the column in ClickHouse that will store field value""" - - column_value_expression: Annotated[ - str, pydantic.Field(alias="columnValueExpression") - ] - r"""JavaScript expression to compute value to be inserted into ClickHouse table""" - - column_type: Annotated[Optional[str], pydantic.Field(alias="columnType")] = None - r"""Type of the column in the ClickHouse 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 CreateOutputSystemByPackPqControlsClickHouseTypedDict(TypedDict): pass @@ -9584,11 +10714,11 @@ class CreateOutputSystemByPackOutputClickHouseTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" auth_type: NotRequired[AuthenticationTypeOptions] - format_: NotRequired[CreateOutputSystemByPackFormatClickHouse] + format_: NotRequired[FormatOptions] r"""Data format to use when sending data to ClickHouse. Defaults to JSON Compact.""" - mapping_type: NotRequired[CreateOutputSystemByPackMappingTypeClickHouse] + 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.""" @@ -9625,11 +10755,14 @@ class CreateOutputSystemByPackOutputClickHouseTypedDict(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""" 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] @@ -9642,9 +10775,7 @@ class CreateOutputSystemByPackOutputClickHouseTypedDict(TypedDict): 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[CreateOutputSystemByPackColumnMappingClickHouseTypedDict] - ] + 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] @@ -9666,7 +10797,7 @@ class CreateOutputSystemByPackOutputClickHouseTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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.""" @@ -9708,21 +10839,17 @@ class CreateOutputSystemByPackOutputClickHouse(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" auth_type: Annotated[ Optional[AuthenticationTypeOptions], pydantic.Field(alias="authType") ] = None - format_: Annotated[ - Optional[CreateOutputSystemByPackFormatClickHouse], - pydantic.Field(alias="format"), - ] = None + format_: Annotated[Optional[FormatOptions], pydantic.Field(alias="format")] = None r"""Data format to use when sending data to ClickHouse. Defaults to JSON Compact.""" mapping_type: Annotated[ - Optional[CreateOutputSystemByPackMappingTypeClickHouse], - pydantic.Field(alias="mappingType"), + Optional[MappingTypeOptions], pydantic.Field(alias="mappingType") ] = None r"""How event fields are mapped to ClickHouse columns""" @@ -9802,6 +10929,9 @@ class CreateOutputSystemByPackOutputClickHouse(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") ] = None @@ -9813,6 +10943,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 @@ -9842,7 +10973,7 @@ class CreateOutputSystemByPackOutputClickHouse(BaseModel): r"""Retrieves the table schema from ClickHouse and populates the Column Mapping table""" column_mappings: Annotated[ - Optional[List[CreateOutputSystemByPackColumnMappingClickHouse]], + Optional[List[ColumnMappingConfOutputClickHouse]], pydantic.Field(alias="columnMappings"), ] = None @@ -9893,7 +11024,7 @@ class CreateOutputSystemByPackOutputClickHouse(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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], @@ -9943,7 +11074,7 @@ def serialize_auth_type(self, value): def serialize_format_(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackFormatClickHouse(value) + return models.FormatOptions(value) except ValueError: return value return value @@ -9952,7 +11083,7 @@ def serialize_format_(self, value): def serialize_mapping_type(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackMappingTypeClickHouse(value) + return models.MappingTypeOptions(value) except ValueError: return value return value @@ -10029,6 +11160,7 @@ def serialize_model(self, handler): "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", + "workload", "dumpFormatErrorsToDisk", "onBackpressure", "description", @@ -10089,7 +11221,7 @@ class CreateOutputSystemByPackOutputDiskSpoolTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" time_window: NotRequired[str] r"""Time period for grouping spooled events. Default is 10m.""" max_data_size: NotRequired[str] @@ -10101,6 +11233,7 @@ class CreateOutputSystemByPackOutputDiskSpoolTypedDict(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.""" @@ -10123,7 +11256,7 @@ class CreateOutputSystemByPackOutputDiskSpool(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" time_window: Annotated[Optional[str], pydantic.Field(alias="timeWindow")] = None r"""Time period for grouping spooled events. Default is 10m.""" @@ -10143,6 +11276,7 @@ class CreateOutputSystemByPackOutputDiskSpool(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") @@ -10193,19 +11327,10 @@ class CreateOutputSystemByPackTypeCriblLake(str, Enum): CRIBL_LAKE = "cribl_lake" -class CreateOutputSystemByPackAwsAuthenticationMethod( - str, Enum, metaclass=utils.OpenEnumMeta -): - AUTO = "auto" - AUTO_RPC = "auto_rpc" - MANUAL = "manual" - - class CreateOutputSystemByPackFormatCriblLake(str, Enum, metaclass=utils.OpenEnumMeta): JSON = "json" PARQUET = "parquet" - DDSS = "ddss" - NETSKOPE = "netskope" + RAW = "raw" class CreateOutputSystemByPackOutputCriblLakeTypedDict(TypedDict): @@ -10219,31 +11344,7 @@ class CreateOutputSystemByPackOutputCriblLakeTypedDict(TypedDict): 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).""" - 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""" - bucket: NotRequired[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: NotRequired[str] - r"""Region where the S3 bucket is located""" - dest_path: NotRequired[str] - r"""Lake dataset to send the data to.""" - 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"""Metadata tags used for categorization and filtering.""" 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] @@ -10276,23 +11377,40 @@ class CreateOutputSystemByPackOutputCriblLakeTypedDict(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""" - aws_authentication_method: NotRequired[ - CreateOutputSystemByPackAwsAuthenticationMethod - ] + 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] - r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" 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] @@ -10303,107 +11421,39 @@ class CreateOutputSystemByPackOutputCriblLakeTypedDict(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_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.""" - - -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") - ] = 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).""" - - reuse_connections: Annotated[ - Optional[bool], pydantic.Field(alias="reuseConnections") - ] = None - r"""Reuse connections between requests, which can improve performance""" + 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.""" - 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""" - bucket: Optional[str] = None - 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 CreateOutputSystemByPackOutputCriblLake(BaseModel): + id: str + r"""Unique ID for this output""" - region: Optional[str] = None - r"""Region where the S3 bucket is located""" + type: CreateOutputSystemByPackTypeCriblLake - dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None - r"""Lake dataset to send the data to.""" + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" - verify_permissions: Annotated[ - Optional[bool], pydantic.Field(alias="verifyPermissions") + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") ] = None - r"""Disable if you can access files within the bucket but not the bucket itself""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - 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""" + 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"""Metadata tags used for categorization and filtering.""" 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.""" @@ -10484,46 +11534,92 @@ class CreateOutputSystemByPackOutputCriblLake(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None - aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( + dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None + r"""Lake dataset to send the data to.""" + + format_: Annotated[ + Optional[CreateOutputSystemByPackFormatCriblLake], + 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 + 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"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" - object_acl: Annotated[ - Optional[ObjectACLOptions], pydantic.Field(alias="objectACL") + parquet_version: Annotated[ + Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") ] = None - r"""Object ACL to assign to uploaded objects""" + r"""Determines which data types are supported and how they are represented""" - storage_class: Annotated[ - Optional[StorageClassOptions], pydantic.Field(alias="storageClass") + parquet_data_page_version: Annotated[ + Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") ] = None - r"""Storage class to select for uploaded objects""" + 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.""" - server_side_encryption: Annotated[ - Optional[ServerSideEncryptionForUploadedObjectsOptions], - pydantic.Field(alias="serverSideEncryption"), + parquet_row_group_length: Annotated[ + Optional[float], pydantic.Field(alias="parquetRowGroupLength") ] = None - r"""Server-side encryption to use for uploaded objects""" + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - 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""" + 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.""" - aws_authentication_method: Annotated[ - Optional[CreateOutputSystemByPackAwsAuthenticationMethod], - pydantic.Field(alias="awsAuthenticationMethod"), + 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""" - format_: Annotated[ - Optional[CreateOutputSystemByPackFormatCriblLake], - pydantic.Field(alias="format"), + 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\" """ - max_concurrent_file_parts: Annotated[ - Optional[float], pydantic.Field(alias="maxConcurrentFileParts") + enable_statistics: Annotated[ + Optional[bool], pydantic.Field(alias="enableStatistics") ] = None - r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" + 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.""" - description: Optional[str] = None + 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") @@ -10550,36 +11646,6 @@ class CreateOutputSystemByPackOutputCriblLake(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_base_file_name: Annotated[ Optional[str], pydantic.Field(alias="__template_baseFileName") ] = None @@ -10595,30 +11661,20 @@ class CreateOutputSystemByPackOutputCriblLake(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") + template_dest_path: Annotated[ + Optional[str], pydantic.Field(alias="__template_destPath") ] = 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 '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_server_side_encryption: Annotated[ - Optional[str], pydantic.Field(alias="__template_serverSideEncryption") + template_compress: Annotated[ + Optional[str], pydantic.Field(alias="__template_compress") ] = 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 '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_kms_key_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_kmsKeyId") + template_parquet_schema: Annotated[ + Optional[str], pydantic.Field(alias="__template_parquetSchema") ] = 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 '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("on_backpressure") def serialize_on_backpressure(self, value): @@ -10638,47 +11694,47 @@ 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 - @field_serializer("aws_authentication_method") - def serialize_aws_authentication_method(self, value): + @field_serializer("parquet_version") + def serialize_parquet_version(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackAwsAuthenticationMethod(value) + return models.ParquetVersionOptions(value) except ValueError: return value return value - @field_serializer("format_") - def serialize_format_(self, value): + @field_serializer("parquet_data_page_version") + def serialize_parquet_data_page_version(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackFormatCriblLake(value) + return models.DataPageVersionOptions(value) except ValueError: return value return value @@ -10691,18 +11747,6 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "endpoint", - "enableAssumeRole", - "assumeRoleArn", - "assumeRoleExternalId", - "durationSeconds", - "reuseConnections", - "rejectUnauthorized", - "bucket", - "region", - "destPath", - "verifyPermissions", - "maxClosingFilesToBackpressure", "stagePath", "addIdToStagePath", "removeEmptyDirs", @@ -10720,34 +11764,36 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", - "awsSecretKey", - "objectACL", - "storageClass", - "serverSideEncryption", - "kmsKeyId", - "awsAuthenticationMethod", + "destPath", "format", + "dynamicDataset", + "maxClosingFilesToBackpressure", "maxConcurrentFileParts", "description", + "compress", + "compressionLevel", + "automaticSchema", + "parquetSchema", + "parquetVersion", + "parquetDataPageVersion", + "parquetRowGroupLength", + "parquetPageSize", + "shouldLogInvalidRows", + "keyValueMetadata", + "enableStatistics", + "enableWritePageIndex", + "enablePageChecksum", "emptyDirCleanupSec", "directoryBatchSize", "deadletterPath", "maxRetryNum", - "__template_streamtags", - "__template_endpoint", - "__template_assumeRoleArn", - "__template_assumeRoleExternalId", - "__template_bucket", - "__template_region", - "__template_destPath", - "__template_baseFileName", - "__template_fileNameSuffix", - "__template_onBackpressure", - "__template_awsSecretKey", - "__template_objectACL", - "__template_storageClass", - "__template_serverSideEncryption", - "__template_kmsKeyId", + "__template_streamtags", + "__template_baseFileName", + "__template_fileNameSuffix", + "__template_onBackpressure", + "__template_destPath", + "__template_compress", + "__template_parquetSchema", ] ) serialized = handler(self) @@ -10791,7 +11837,7 @@ class CreateOutputSystemByPackOutputSecurityLakeTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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] @@ -10870,6 +11916,7 @@ class CreateOutputSystemByPackOutputSecurityLakeTypedDict(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] @@ -10956,7 +12003,7 @@ class CreateOutputSystemByPackOutputSecurityLake(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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.""" @@ -11153,6 +12200,7 @@ class CreateOutputSystemByPackOutputSecurityLake(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}`)""" @@ -11350,1144 +12398,653 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "endpoint", - "enableAssumeRole", - "assumeRoleExternalId", - "durationSeconds", - "awsAuthenticationMethod", - "reuseConnections", - "rejectUnauthorized", - "maxConcurrentFileParts", - "verifyPermissions", - "maxClosingFilesToBackpressure", - "addIdToStagePath", - "removeEmptyDirs", - "baseFileName", - "maxFileSizeMB", - "maxFileOpenTimeSec", - "maxFileIdleTimeSec", - "maxOpenFiles", - "headerLine", - "writeHighWaterMark", - "onBackpressure", - "deadletterEnabled", - "onDiskFullBackpressure", - "forceCloseOnShutdown", - "retrySettings", - "orphans", - "awsSecretKey", - "objectACL", - "storageClass", - "serverSideEncryption", - "kmsKeyId", - "automaticSchema", - "parquetVersion", - "parquetDataPageVersion", - "parquetRowGroupLength", - "parquetPageSize", - "shouldLogInvalidRows", - "keyValueMetadata", - "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_onBackpressure", - "__template_awsSecretKey", - "__template_objectACL", - "__template_storageClass", - "__template_serverSideEncryption", - "__template_kmsKeyId", - "__template_accountId", - "__template_customSource", - "__template_awsApiKey", - "__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 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] - 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.""" + "endpoint", + "enableAssumeRole", + "assumeRoleExternalId", + "durationSeconds", + "awsAuthenticationMethod", + "reuseConnections", + "rejectUnauthorized", + "maxConcurrentFileParts", + "verifyPermissions", + "maxClosingFilesToBackpressure", + "addIdToStagePath", + "removeEmptyDirs", + "baseFileName", + "maxFileSizeMB", + "maxFileOpenTimeSec", + "maxFileIdleTimeSec", + "maxOpenFiles", + "headerLine", + "writeHighWaterMark", + "onBackpressure", + "deadletterEnabled", + "onDiskFullBackpressure", + "forceCloseOnShutdown", + "retrySettings", + "orphans", + "awsSecretKey", + "objectACL", + "storageClass", + "serverSideEncryption", + "kmsKeyId", + "automaticSchema", + "parquetVersion", + "parquetDataPageVersion", + "parquetRowGroupLength", + "parquetPageSize", + "shouldLogInvalidRows", + "keyValueMetadata", + "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_onBackpressure", + "__template_awsSecretKey", + "__template_objectACL", + "__template_storageClass", + "__template_serverSideEncryption", + "__template_kmsKeyId", + "__template_accountId", + "__template_customSource", + "__template_awsApiKey", + "__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 CreateOutputSystemByPackOutputDlS3(BaseModel): +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: Annotated[str, pydantic.Field(alias="stagePath")] + stage_path: str r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - - pipeline: Optional[str] = None + pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" - - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") - ] = None + system_fields: NotRequired[List[str]] r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - - environment: Optional[str] = None + environment: NotRequired[str] 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 + streamtags: NotRequired[List[str]] + r"""Metadata tags used for categorization and filtering.""" + 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: Annotated[ - Optional[bool], pydantic.Field(alias="enableAssumeRole") - ] = None + enable_assume_role: NotRequired[bool] r"""Use Assume Role credentials to access S3""" - - assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( - None - ) + assume_role_arn: NotRequired[str] r"""Amazon Resource Name (ARN) of the role to assume""" - - assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="assumeRoleExternalId") - ] = None + assume_role_external_id: NotRequired[str] r"""External ID to use when assuming role""" - - duration_seconds: Annotated[ - Optional[float], pydantic.Field(alias="durationSeconds") - ] = None + 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: Annotated[ - Optional[AuthenticationMethodOptionsS3CollectorConf], - pydantic.Field(alias="awsAuthenticationMethod"), - ] = None + aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] r"""AWS authentication method. Choose Auto to use IAM roles.""" - - reuse_connections: Annotated[ - Optional[bool], pydantic.Field(alias="reuseConnections") - ] = None + reuse_connections: NotRequired[bool] r"""Reuse connections between requests, which can improve performance""" - - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") - ] = None + reject_unauthorized: NotRequired[bool] r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - - region: Optional[str] = None + region: NotRequired[str] r"""Region where the S3 bucket is located""" - - dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None + 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: Annotated[ - Optional[float], pydantic.Field(alias="maxConcurrentFileParts") - ] = None + max_concurrent_file_parts: NotRequired[float] 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 + verify_permissions: NotRequired[bool] 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 + 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: Annotated[ - Optional[bool], pydantic.Field(alias="addIdToStagePath") - ] = None + add_id_to_stage_path: NotRequired[bool] r"""Add the Output ID value to staging location""" - - remove_empty_dirs: Annotated[ - Optional[bool], pydantic.Field(alias="removeEmptyDirs") - ] = None + remove_empty_dirs: NotRequired[bool] r"""Remove empty staging directories after moving files""" - - format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( - None - ) + format_: NotRequired[DataFormatOptions] r"""Format of the output data""" - - base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = ( - None - ) + base_file_name: NotRequired[str] r"""JavaScript expression to define the output filename prefix (can be constant)""" - - file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="fileNameSuffix") - ] = None + 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: Annotated[ - Optional[float], pydantic.Field(alias="maxFileSizeMB") - ] = None + 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: Annotated[ - Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") - ] = None + 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: Annotated[ - Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") - ] = None + 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: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( - None - ) + 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: Annotated[Optional[str], pydantic.Field(alias="headerLine")] = None + header_line: NotRequired[str] 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 + write_high_water_mark: NotRequired[float] r"""Buffer size used to write to a file""" - - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptionsBlockDrop], - pydantic.Field(alias="onBackpressure"), - ] = None + on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] r"""How to handle events when all receivers are exerting backpressure""" - - deadletter_enabled: Annotated[ - Optional[bool], pydantic.Field(alias="deadletterEnabled") - ] = None + 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: Annotated[ - Optional[DiskSpaceProtectionOptions], - pydantic.Field(alias="onDiskFullBackpressure"), - ] = None + 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: Annotated[ - Optional[bool], pydantic.Field(alias="forceCloseOnShutdown") - ] = None + 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: 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}`)""" - - object_acl: Annotated[ - Optional[ObjectACLOptions], pydantic.Field(alias="objectACL") - ] = None + 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: Annotated[ - Optional[StorageClassOptions], pydantic.Field(alias="storageClass") - ] = None + storage_class: NotRequired[StorageClassOptions] r"""Storage class to select for uploaded objects""" - - server_side_encryption: Annotated[ - Optional[ServerSideEncryptionForUploadedObjectsOptions], - pydantic.Field(alias="serverSideEncryption"), - ] = None + server_side_encryption: NotRequired[ServerSideEncryptionForUploadedObjectsOptions] r"""Server-side encryption to use for uploaded objects""" - - kms_key_id: Annotated[Optional[str], pydantic.Field(alias="kmsKeyId")] = None + kms_key_id: NotRequired[str] 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 + 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: Optional[str] = None - - aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None + 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: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None + aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" - - compress: Optional[CompressionOptionsHTTP] = None + compress: NotRequired[CompressionOptionsHTTP] r"""Data compression format to apply to HTTP content before it is delivered""" - - compression_level: Annotated[ - Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") - ] = None + compression_level: NotRequired[CompressionLevelOptions] r"""Compression level to apply before moving files to final destination""" - - automatic_schema: Annotated[ - Optional[bool], pydantic.Field(alias="automaticSchema") - ] = None + automatic_schema: NotRequired[bool] r"""Automatically calculate the schema based on the events of each Parquet file generated""" - - parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( - None - ) + parquet_schema: NotRequired[str] r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" - - parquet_version: Annotated[ - Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") - ] = None + parquet_version: NotRequired[ParquetVersionOptions] r"""Determines which data types are supported and how they are represented""" - - parquet_data_page_version: Annotated[ - Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") - ] = None + 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: Annotated[ - Optional[float], pydantic.Field(alias="parquetRowGroupLength") - ] = None + 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: Annotated[ - Optional[str], pydantic.Field(alias="parquetPageSize") - ] = None + 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: Annotated[ - Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") - ] = None + should_log_invalid_rows: NotRequired[bool] 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 + 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: Annotated[ - Optional[bool], pydantic.Field(alias="enableStatistics") - ] = None + 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: Annotated[ - Optional[bool], pydantic.Field(alias="enableWritePageIndex") - ] = None + 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_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_endpoint") - ] = None + 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: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleArn") - ] = None + 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: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") - ] = None + 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: 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_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: 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.""" - template_base_file_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_baseFileName") + +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"""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"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - template_file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="__template_fileNameSuffix") + 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"""Metadata tags used for categorization and filtering.""" + + 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"""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"""Use Assume Role credentials to access S3""" - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") + 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"""Binds 'onBackpressure' to a 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"""External ID to use when assuming role""" - template_aws_secret_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsSecretKey") + duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="durationSeconds") ] = 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"""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_object_acl: Annotated[ - Optional[str], pydantic.Field(alias="__template_objectACL") + aws_authentication_method: Annotated[ + Optional[AuthenticationMethodOptionsS3CollectorConf], + pydantic.Field(alias="awsAuthenticationMethod"), ] = 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"""AWS authentication method. Choose Auto to use IAM roles.""" - template_storage_class: Annotated[ - Optional[str], pydantic.Field(alias="__template_storageClass") + reuse_connections: Annotated[ + Optional[bool], pydantic.Field(alias="reuseConnections") ] = 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"""Reuse connections between requests, which can improve performance""" - template_server_side_encryption: Annotated[ - Optional[str], pydantic.Field(alias="__template_serverSideEncryption") + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = 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"""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}`""" - template_kms_key_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_kmsKeyId") + max_concurrent_file_parts: Annotated[ + Optional[float], pydantic.Field(alias="maxConcurrentFileParts") ] = 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"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" - template_partitioning_fields: Annotated[ - Optional[str], pydantic.Field(alias="__template_partitioningFields") + verify_permissions: Annotated[ + Optional[bool], pydantic.Field(alias="verifyPermissions") ] = 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"""Disable if you can access files within the bucket but not the bucket itself""" - template_aws_api_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsApiKey") + max_closing_files_to_backpressure: Annotated[ + Optional[float], pydantic.Field(alias="maxClosingFilesToBackpressure") ] = 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"""Maximum number of files that can be waiting for upload before backpressure is applied""" - template_compress: Annotated[ - Optional[str], pydantic.Field(alias="__template_compress") + add_id_to_stage_path: Annotated[ + Optional[bool], pydantic.Field(alias="addIdToStagePath") ] = 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"""Add the Output ID value to staging location""" - template_parquet_schema: Annotated[ - Optional[str], pydantic.Field(alias="__template_parquetSchema") + remove_empty_dirs: Annotated[ + Optional[bool], pydantic.Field(alias="removeEmptyDirs") ] = 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): - 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 + r"""Remove empty staging directories after moving files""" - @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 + format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( + None + ) + r"""Format of the output data""" - @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 + 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("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 + 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("compress") - def serialize_compress(self, value): - if isinstance(value, str): - try: - return models.CompressionOptionsHTTP(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("compression_level") - def serialize_compression_level(self, value): - if isinstance(value, str): - try: - return models.CompressionLevelOptions(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("parquet_version") - def serialize_parquet_version(self, value): - if isinstance(value, str): - try: - return models.ParquetVersionOptions(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("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 + 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( - [ - "pipeline", - "systemFields", - "environment", - "streamtags", - "endpoint", - "enableAssumeRole", - "assumeRoleArn", - "assumeRoleExternalId", - "durationSeconds", - "awsAuthenticationMethod", - "reuseConnections", - "rejectUnauthorized", - "region", - "destPath", - "maxConcurrentFileParts", - "verifyPermissions", - "maxClosingFilesToBackpressure", - "addIdToStagePath", - "removeEmptyDirs", - "format", - "baseFileName", - "fileNameSuffix", - "maxFileSizeMB", - "maxFileOpenTimeSec", - "maxFileIdleTimeSec", - "maxOpenFiles", - "headerLine", - "writeHighWaterMark", - "onBackpressure", - "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_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) - 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 CreateOutputSystemByPackTypeCrowdstrikeNextGenSiem(str, Enum): - CROWDSTRIKE_NEXT_GEN_SIEM = "crowdstrike_next_gen_siem" + 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 CreateOutputSystemByPackPqControlsCrowdstrikeNextGenSiemTypedDict(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 CreateOutputSystemByPackPqControlsCrowdstrikeNextGenSiem(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 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 1MB.""" - 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.""" + 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 CreateOutputSystemByPackOutputCrowdstrikeNextGenSiem(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: CreateOutputSystemByPackTypeCrowdstrikeNextGenSiem + 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.""" + r"""Compression level to apply before moving files to final destination""" - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + automatic_schema: Annotated[ + Optional[bool], pydantic.Field(alias="automaticSchema") + ] = None + r"""Automatically calculate the schema based on the events of each Parquet file generated""" - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + 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 requests before blocking""" + parquet_version: Annotated[ + Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") + ] = None + r"""Determines which data types are supported and how they are represented""" - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + parquet_data_page_version: Annotated[ + Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") ] = None - r"""Maximum size, in KB, of the request body""" + 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_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") + parquet_row_group_length: Annotated[ + Optional[float], pydantic.Field(alias="parquetRowGroupLength") ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - compress: Optional[bool] = None - r"""Compress the payload body before sending""" + 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.""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + should_log_invalid_rows: Annotated[ + Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") ] = 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"""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"), + ] = 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\" """ - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + enable_statistics: Annotated[ + Optional[bool], pydantic.Field(alias="enableStatistics") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + 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.""" - extra_http_headers: Annotated[ - Optional[List[ExtraHTTPHeaderConfInputElastic]], - pydantic.Field(alias="extraHttpHeaders"), + enable_write_page_index: Annotated[ + Optional[bool], pydantic.Field(alias="enableWritePageIndex") ] = None - r"""Headers to add to all events""" + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") + enable_page_checksum: Annotated[ + Optional[bool], pydantic.Field(alias="enablePageChecksum") ] = 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"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), + empty_dir_cleanup_sec: Annotated[ + Optional[float], pydantic.Field(alias="emptyDirCleanupSec") ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + r"""How frequently, in seconds, to clean up empty directories""" - safe_headers: Annotated[ - Optional[List[str]], pydantic.Field(alias="safeHeaders") + directory_batch_size: Annotated[ + Optional[float], pydantic.Field(alias="directoryBatchSize") ] = None - r"""List of headers that are safe to log in plain text""" + 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.""" - auth_type: Annotated[ - Optional[AuthenticationMethodOptionsAuthTokensItems], - pydantic.Field(alias="authType"), + deadletter_path: Annotated[ + Optional[str], pydantic.Field(alias="deadletterPath") ] = None - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" + 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_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + 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.""" - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + template_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleArn") ] = 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 '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.""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + template_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") ] = 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 '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 1MB.""" + 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 @@ -12496,52 +13053,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 @@ -12554,41 +13147,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) @@ -12605,24 +13239,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] @@ -12632,7 +13268,7 @@ class CreateOutputSystemByPackOutputHumioHecTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] @@ -12670,8 +13306,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] @@ -12695,8 +13331,10 @@ class CreateOutputSystemByPackOutputHumioHecTypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsHumioHecTypedDict] + r"""The maximum size to hold in memory before writing events 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] @@ -12707,14 +13345,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.""" @@ -12731,7 +13371,7 @@ class CreateOutputSystemByPackOutputHumioHec(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -12814,9 +13454,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""" @@ -12868,10 +13508,10 @@ class CreateOutputSystemByPackOutputHumioHec(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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 @@ -13017,22 +13657,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]] @@ -13040,22 +13684,15 @@ class CreateOutputSystemByPackOutputCriblSearchEngineTypedDict(TypedDict): 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"""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""" + r"""Metadata tags used for categorization and filtering.""" 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), @@ -13067,12 +13704,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] ] @@ -13080,22 +13719,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] @@ -13117,25 +13748,29 @@ class CreateOutputSystemByPackOutputCriblSearchEngineTypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[ - CreateOutputSystemByPackPqControlsCriblSearchEngineTypedDict - ] + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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""" @@ -13149,27 +13784,7 @@ class CreateOutputSystemByPackOutputCriblSearchEngine(BaseModel): 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}""" - - 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""" + r"""Metadata tags used for categorization and filtering.""" concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -13184,6 +13799,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 @@ -13206,6 +13824,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"), @@ -13217,10 +13840,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]], @@ -13237,40 +13861,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") @@ -13319,10 +13922,10 @@ class CreateOutputSystemByPackOutputCriblSearchEngine(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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 @@ -13331,6 +13934,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 @@ -13341,25 +13949,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 @@ -13408,33 +14020,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", @@ -13448,9 +14052,9 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", + "__template_url", "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_url", ] ) serialized = handler(self) @@ -13467,22 +14071,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]] @@ -13490,7 +14094,7 @@ class CreateOutputSystemByPackOutputCriblHTTPTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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] @@ -13531,14 +14135,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]] @@ -13567,8 +14172,10 @@ class CreateOutputSystemByPackOutputCriblHTTPTypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsCriblHTTPTypedDict] + r"""The maximum size to hold in memory before writing events 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 + ] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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] @@ -13579,11 +14186,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""" @@ -13597,7 +14204,7 @@ class CreateOutputSystemByPackOutputCriblHTTP(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( None @@ -13688,23 +14295,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""" @@ -13767,10 +14375,10 @@ class CreateOutputSystemByPackOutputCriblHTTP(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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 @@ -13876,9 +14484,9 @@ def serialize_model(self, handler): "responseHonorRetryAfterHeader", "authTokens", "onBackpressure", + "useRoundRobinDns", "description", "url", - "useRoundRobinDns", "excludeSelf", "urls", "dnsResolvePeriodSec", @@ -13915,22 +14523,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]] @@ -13938,43 +14546,63 @@ class CreateOutputSystemByPackOutputCriblTCPTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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] @@ -13996,23 +14624,23 @@ class CreateOutputSystemByPackOutputCriblTCPTypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsCriblTCPTypedDict] + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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""" @@ -14026,52 +14654,98 @@ class CreateOutputSystemByPackOutputCriblTCP(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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") @@ -14079,18 +14753,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") @@ -14102,11 +14778,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 @@ -14154,32 +14825,32 @@ class CreateOutputSystemByPackOutputCriblTCP(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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): @@ -14190,6 +14861,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): @@ -14235,24 +14915,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", @@ -14266,9 +14954,9 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", + "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_host", - "__template_port", + "__template_url", ] ) serialized = handler(self) @@ -14285,52 +14973,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]] @@ -14338,59 +14996,44 @@ class CreateOutputSystemByPackOutputDatasetTypedDict(TypedDict): 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.""" + r"""Metadata tags used for categorization and filtering.""" + 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] @@ -14412,27 +15055,23 @@ class CreateOutputSystemByPackOutputDatasetTypedDict(TypedDict): 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 1MB.""" - 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""" + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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""" @@ -14446,122 +15085,87 @@ class CreateOutputSystemByPackOutputDataset(BaseModel): 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}""" - - 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.""" + r"""Metadata tags used for categorization and filtering.""" - 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""" + load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( + None + ) + r"""Use load-balanced destinations""" - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") - ] = None - r"""Maximum size, in KB, of the request body""" + compression: Optional[CompressionOptionsGzipNone] = None + r"""Codec to use to compress the data before sending""" - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") + log_failed_requests: Annotated[ + Optional[bool], pydantic.Field(alias="logFailedRequests") ] = 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"""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") @@ -14610,62 +15214,38 @@ class CreateOutputSystemByPackOutputDataset(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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 @@ -14679,15 +15259,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): @@ -14723,31 +15294,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", @@ -14760,12 +15325,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) @@ -14782,93 +15345,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): - 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""" - 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.""" +class CreateOutputSystemByPackOutputDatasetTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + 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"""Metadata tags used for categorization and filtering.""" + 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] @@ -14890,33 +15473,27 @@ class CreateOutputSystemByPackOutputServiceNowTypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsServiceNowTypedDict] + r"""The maximum size to hold in memory before writing events 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""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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""" @@ -14930,89 +15507,65 @@ class CreateOutputSystemByPackOutputServiceNow(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" - 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") @@ -15022,10 +15575,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]], @@ -15033,27 +15589,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") @@ -15102,13 +15672,19 @@ class CreateOutputSystemByPackOutputServiceNow(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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 @@ -15121,41 +15697,28 @@ class CreateOutputSystemByPackOutputServiceNow(BaseModel): 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 + ] = 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.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 @@ -15178,6 +15741,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): @@ -15213,33 +15785,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", @@ -15252,9 +15822,12 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", + "apiKey", + "textSecret", "__template_streamtags", "__template_failedRequestLoggingMode", "__template_onBackpressure", + "__template_customUrl", ] ) serialized = handler(self) @@ -15271,50 +15844,30 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeOpenTelemetry(str, Enum): - OPEN_TELEMETRY = "open_telemetry" - - -class CreateOutputSystemByPackOTLPVersion(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]] @@ -15322,16 +15875,14 @@ class CreateOutputSystemByPackOutputOpenTelemetryTypedDict(TypedDict): 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[ProtocolOptions] - r"""Select a transport option for OpenTelemetry""" - otlp_version: NotRequired[CreateOutputSystemByPackOTLPVersion] - r"""The version of OTLP Protobuf definitions to use when structuring data to send""" + r"""Metadata tags used for categorization and filtering.""" + 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] @@ -15346,8 +15897,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] @@ -15363,30 +15912,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), @@ -15427,26 +15953,33 @@ class CreateOutputSystemByPackOutputOpenTelemetryTypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsOpenTelemetryTypedDict] + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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""" @@ -15460,16 +15993,16 @@ class CreateOutputSystemByPackOutputOpenTelemetry(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" - 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[CreateOutputSystemByPackOTLPVersion], - 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""" @@ -15479,11 +16012,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 @@ -15515,11 +16043,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""" @@ -15553,61 +16076,7 @@ class CreateOutputSystemByPackOutputOpenTelemetry(BaseModel): 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"), - ] = 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"""Optional description for this configuration.""" reject_unauthorized: Annotated[ Optional[bool], pydantic.Field(alias="rejectUnauthorized") @@ -15697,10 +16166,10 @@ class CreateOutputSystemByPackOutputOpenTelemetry(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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 @@ -15717,27 +16186,22 @@ class CreateOutputSystemByPackOutputOpenTelemetry(BaseModel): 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.""" + r"""Binds 'onBackpressure' to a 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): + @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.CreateOutputSystemByPackOTLPVersion(value) + return models.ProtocolOptions(value) except ValueError: return value return value @@ -15760,17 +16224,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): @@ -15824,11 +16277,10 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "protocol", - "otlpVersion", + "authTokenName", + "maxPayloadSizeKB", "compress", "httpCompress", - "authType", "httpTracesEndpointOverride", "httpMetricsEndpointOverride", "httpLogsEndpointOverride", @@ -15836,7 +16288,6 @@ def serialize_model(self, handler): "dynamicHeadersEnabled", "dynamicHeadersField", "concurrency", - "maxPayloadSizeKB", "timeoutSec", "flushPeriodSec", "failedRequestLoggingMode", @@ -15845,19 +16296,6 @@ def serialize_model(self, handler): "keepAlive", "onBackpressure", "description", - "username", - "password", - "token", - "credentialsSecret", - "textSecret", - "loginUrl", - "secretParamName", - "oauthTextSecret", - "tokenAttributeName", - "authHeaderExpr", - "tokenTimeoutSecs", - "oauthParams", - "oauthHeaders", "rejectUnauthorized", "useRoundRobinDns", "extraHttpHeaders", @@ -15881,7 +16319,6 @@ def serialize_model(self, handler): "__template_streamtags", "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_loginUrl", ] ) serialized = handler(self) @@ -15898,222 +16335,134 @@ def serialize_model(self, handler): 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.""" - - @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", - ] - ) - serialized = handler(self) - m = {} +class CreateOutputSystemByPackTypeOpenTelemetry(str, Enum): + OPEN_TELEMETRY = "open_telemetry" - 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 CreateOutputSystemByPackOTLPVersionOpenTelemetry( + str, Enum, metaclass=utils.OpenEnumMeta +): + r"""The version of OTLP Protobuf definitions to use when structuring data to send""" - return m + # 0.10.0 + ZERO_DOT_10_DOT_0 = "0.10.0" + # 1.3.1 + ONE_DOT_3_DOT_1 = "1.3.1" -class CreateOutputSystemByPackTypePrometheus(str, Enum): - PROMETHEUS = "prometheus" +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 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""" + r"""Metadata tags used for categorization and filtering.""" + 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[ @@ -16123,13 +16472,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[AuthenticationTypeOptionsPrometheusAuth] - 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] @@ -16151,34 +16494,26 @@ class CreateOutputSystemByPackOutputPrometheusTypedDict(TypedDict): 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 1MB.""" - 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""" + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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_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 - url: str - r"""The endpoint to send metrics to""" + 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""" @@ -16186,28 +16521,63 @@ class CreateOutputSystemByPackOutputPrometheus(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 to generated metrics.""" + 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}""" + r"""Metadata tags used for categorization and filtering.""" - metric_rename_expr: Annotated[ - Optional[str], pydantic.Field(alias="metricRenameExpr") + protocol: Optional[ProtocolOptions] = None + r"""Select a transport option for OpenTelemetry""" + + otlp_version: Annotated[ + Optional[CreateOutputSystemByPackOTLPVersionOpenTelemetry], + pydantic.Field(alias="otlpVersion"), ] = 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"""The version of OTLP Protobuf definitions to use when structuring data to send""" - send_metadata: Annotated[Optional[bool], pydantic.Field(alias="sendMetadata")] = ( - None - ) - r"""Generate and send metadata (`type` and `metricFamilyName`) requests""" + compress: Optional[CompressionOptionsDeflateGzip] = None + r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" - use_prometheus_histogram_bucket_suffix: Annotated[ - Optional[bool], pydantic.Field(alias="usePrometheusHistogramBucketSuffix") + http_compress: Annotated[ + Optional[CompressionOptionsMessages], pydantic.Field(alias="httpCompress") ] = None - r"""Serialize histogram bucket series as `_bucket` to match Prometheus histogram naming convention""" + 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 + 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""" @@ -16217,10 +16587,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") @@ -16230,13 +16685,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]], @@ -16244,17 +16696,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 @@ -16275,163 +16716,383 @@ 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") + tls: Optional[TLSSettingsClientSideTypeExtended] = None + + 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[AuthenticationTypeOptionsPrometheusAuth], - pydantic.Field(alias="authType"), + pq_rate_per_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqRatePerSec") ] = None - r"""Remote Write authentication type""" + 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.""" - metrics_flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="metricsFlushPeriodSec") + pq_max_buffer_size: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBufferSize") ] = None - r"""How frequently metrics metadata is sent out. Value cannot be smaller than the base Flush period set above.""" + 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_strict_ordering: Annotated[ - Optional[bool], pydantic.Field(alias="pqStrictOrdering") + pq_max_backpressure_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") ] = None - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + 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[CreateOutputSystemByPackPqControlsOpenTelemetry], + 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_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.""" + + @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.CreateOutputSystemByPackOTLPVersionOpenTelemetry(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 + + @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 + + @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): + 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", + "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" + - 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.""" +class CreateOutputSystemByPackDataFormatRing(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Format of the output data.""" - 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.""" + JSON = "json" + RAW = "raw" - 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""" +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"""Metadata tags used for categorization and filtering.""" + 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.""" - 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.""" +class CreateOutputSystemByPackOutputRing(BaseModel): + id: str + r"""Unique ID for this output""" - 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: //.""" + type: CreateOutputSystemByPackTypeRing - pq_compress: Annotated[ - Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") - ] = None - r"""Codec to use to compress the persisted data""" + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" - pq_on_backpressure: Annotated[ - Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") ] = 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"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - 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 1MB.""" + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsPrometheus], - pydantic.Field(alias="pqControls"), + streamtags: Optional[List[str]] = None + r"""Metadata tags used for categorization and filtering.""" + + format_: Annotated[ + Optional[CreateOutputSystemByPackDataFormatRing], pydantic.Field(alias="format") ] = None + r"""Format of the output data.""" - username: Optional[str] = None + 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.""" - password: Optional[str] = None + 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.""" - token: Optional[str] = None - r"""Bearer token to include in the authorization header""" + 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.""" - credentials_secret: Annotated[ - Optional[str], pydantic.Field(alias="credentialsSecret") + 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"""Select or create a secret that references your credentials""" + r"""How to handle events when all receivers are exerting backpressure""" - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" + 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_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.""" - @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.AuthenticationTypeOptionsPrometheusAuth(value) - except ValueError: - return value - return value - - @field_serializer("pq_mode") - def serialize_pq_mode(self, value): + @field_serializer("format_") + def serialize_format_(self, value): if isinstance(value, str): try: - return models.ModeOptions(value) + return models.CreateOutputSystemByPackDataFormatRing(value) except ValueError: return value return value - @field_serializer("pq_compress") - def serialize_pq_compress(self, value): + @field_serializer("compress") + def serialize_compress(self, value): if isinstance(value, str): try: - return models.CompressionOptionsPq(value) + return models.DataCompressionFormatOptionsPersistence(value) except ValueError: return value return value - @field_serializer("pq_on_backpressure") - def serialize_pq_on_backpressure(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.QueueFullBehaviorOptions(value) + return models.BackpressureBehaviorOptionsBlockDrop(value) except ValueError: return value return value @@ -16444,46 +17105,15 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "metricRenameExpr", - "sendMetadata", - "usePrometheusHistogramBucketSuffix", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", - "failedRequestLoggingMode", - "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", + "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", "__template_streamtags", - "__template_url", - "__template_failedRequestLoggingMode", "__template_onBackpressure", ] ) @@ -16501,47 +17131,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[RequestParamConfInputOpenaiTypedDict]] - 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 - ] + r"""Metadata tags used for categorization and filtering.""" + 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), @@ -16550,7 +17196,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] @@ -16566,25 +17212,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] @@ -16606,24 +17241,58 @@ class CreateOutputSystemByPackOutputLokiTypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsLokiTypedDict] + r"""The maximum size to hold in memory before writing events 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).""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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""" @@ -16631,42 +17300,41 @@ 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.""" 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.""" + r"""Metadata tags used for categorization and filtering.""" - 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[RequestParamConfInputOpenai]] = 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") @@ -16682,7 +17350,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]], @@ -16721,42 +17389,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") @@ -16805,18 +17455,73 @@ class CreateOutputSystemByPackOutputLoki(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[CreateOutputSystemByPackPqControlsLoki], + 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"""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 @@ -16827,25 +17532,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): @@ -16865,6 +17570,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): @@ -16892,6 +17608,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( @@ -16900,10 +17625,9 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "message", - "messageFormat", - "labels", - "authType", + "metricRenameExpr", + "sendMetadata", + "usePrometheusHistogramBucketSuffix", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -16917,16 +17641,10 @@ def serialize_model(self, handler): "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", - "enableDynamicHeaders", "onBackpressure", - "totalMemoryLimitKB", + "authType", "description", - "compress", - "token", - "textSecret", - "username", - "password", - "credentialsSecret", + "metricsFlushPeriodSec", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -16939,9 +17657,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) @@ -16958,61 +17694,68 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackOutputGrafanaCloudType2(str, Enum): - GRAFANA_CLOUD = "grafana_cloud" +class CreateOutputSystemByPackTypeAmazonManagedPrometheus(str, Enum): + AMAZON_MANAGED_PROMETHEUS = "amazon_managed_prometheus" -class CreateOutputSystemByPackOutputGrafanaCloudPqControls2TypedDict(TypedDict): +class CreateOutputSystemByPackPqControlsAmazonManagedPrometheusTypedDict(TypedDict): pass -class CreateOutputSystemByPackOutputGrafanaCloudPqControls2(BaseModel): +class CreateOutputSystemByPackPqControlsAmazonManagedPrometheus(BaseModel): pass -class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud2TypedDict(TypedDict): +class CreateOutputSystemByPackOutputAmazonManagedPrometheusTypedDict(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: CreateOutputSystemByPackTypeAmazonManagedPrometheus + url: str + r"""The Amazon Managed Service for Prometheus remote_write endpoint""" + aws_authentication_method: AuthenticationMethodOptionsAutoSecret + r"""AWS authentication method. Choose Auto to use IAM roles.""" + region: str + r"""Region where the AMSP 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. 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 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}""" - 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[RequestParamConfInputOpenaiTypedDict]] - 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. 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. 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). 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"""Metadata tags used for categorization and filtering.""" + aws_secret_key: NotRequired[str] 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. """ + enable_assume_role: NotRequired[bool] + r"""Use Assume Role credentials to access AMSP""" + 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).""" + 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""" + max_payload_size_kb: NotRequired[float] + r"""Maximum uncompressed size, in KB, of the request body. The 1 MB cap is intentional and protects against data that compresses poorly, since oversized requests fail with a non-retryable 413.""" + 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 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 Body size limit.""" extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events""" + r"""Headers to add to all events. SigV4-managed headers and the Prometheus remote-write protocol version header are generated by this Destination and cannot be configured here.""" 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] @@ -17029,8 +17772,11 @@ class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud2TypedDict(TypedDict on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] - 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"""Optional description for this configuration.""" + aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" + 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] @@ -17052,30 +17798,45 @@ class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud2TypedDict(TypedDict 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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 + CreateOutputSystemByPackPqControlsAmazonManagedPrometheusTypedDict ] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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_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_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_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_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 CreateOutputSystemByPackOutputAmazonManagedPrometheus(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackOutputGrafanaCloudType2 + type: CreateOutputSystemByPackTypeAmazonManagedPrometheus - 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 Amazon Managed Service for Prometheus remote_write endpoint""" + + aws_authentication_method: Annotated[ + AuthenticationMethodOptionsAutoSecret, + pydantic.Field(alias="awsAuthenticationMethod"), + ] + r"""AWS authentication method. Choose Auto to use IAM roles.""" + + region: str + r"""Region where the AMSP is located""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -17083,61 +17844,73 @@ 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 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.""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" - 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""" + aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( + None + ) - 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.""" + 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. + """ - message_format: Annotated[ - Optional[MessageFormatOptions], pydantic.Field(alias="messageFormat") + enable_assume_role: Annotated[ + Optional[bool], pydantic.Field(alias="enableAssumeRole") ] = None - r"""Format to use when sending logs to Loki (Protobuf or JSON)""" + r"""Use Assume Role credentials to access AMSP""" - labels: Optional[List[RequestParamConfInputOpenai]] = 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\"}'""" + 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).""" 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 + send_metadata: Annotated[Optional[bool], pydantic.Field(alias="sendMetadata")] = ( + None + ) + r"""Generate and send metadata (`type` and `metricFamilyName`) requests""" - loki_auth: Annotated[ - Optional[PrometheusAuthType], pydantic.Field(alias="lokiAuth") + 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 and Prometheus 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 and Prometheus to complain about entries being delivered out of order.""" + r"""Maximum uncompressed size, in KB, of the request body. The 1 MB cap is intentional and protects against data that compresses poorly, since oversized requests fail with a non-retryable 413.""" 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.""" - - 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. - """ + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" 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""" @@ -17145,13 +17918,13 @@ 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 Body size limit.""" extra_http_headers: Annotated[ Optional[List[ExtraHTTPHeaderConfInputElastic]], pydantic.Field(alias="extraHttpHeaders"), ] = None - r"""Headers to add to all events""" + r"""Headers to add to all events. SigV4-managed headers and the Prometheus remote-write protocol version header are generated by this Destination and cannot be configured here.""" use_round_robin_dns: Annotated[ Optional[bool], pydantic.Field(alias="useRoundRobinDns") @@ -17190,9 +17963,15 @@ class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud2(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.""" + 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""" + + 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.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -17241,10 +18020,10 @@ class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud2(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[CreateOutputSystemByPackPqControlsAmazonManagedPrometheus], pydantic.Field(alias="pqControls"), ] = None @@ -17253,15 +18032,30 @@ 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") + 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_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsSecretKey") ] = 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.""" + 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_prometheus_url: Annotated[ - Optional[str], pydantic.Field(alias="__template_prometheusUrl") + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") ] = 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.""" + 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_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_failed_request_logging_mode: Annotated[ Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") @@ -17273,11 +18067,11 @@ class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud2(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("aws_authentication_method") + def serialize_aws_authentication_method(self, value): if isinstance(value, str): try: - return models.MessageFormatOptions(value) + return models.AuthenticationMethodOptionsAutoSecret(value) except ValueError: return value return value @@ -17335,17 +18129,18 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "lokiUrl", - "message", - "messageFormat", - "labels", + "awsSecretKey", + "rejectUnauthorized", + "enableAssumeRole", + "assumeRoleArn", + "assumeRoleExternalId", + "durationSeconds", "metricRenameExpr", - "prometheusAuth", - "lokiAuth", + "sendMetadata", + "usePrometheusHistogramBucketSuffix", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", - "rejectUnauthorized", "timeoutSec", "flushPeriodSec", "extraHttpHeaders", @@ -17357,7 +18152,8 @@ def serialize_model(self, handler): "responseHonorRetryAfterHeader", "onBackpressure", "description", - "compress", + "awsSecret", + "metricsFlushPeriodSec", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -17371,8 +18167,11 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", - "__template_lokiUrl", - "__template_prometheusUrl", + "__template_url", + "__template_awsSecretKey", + "__template_region", + "__template_assumeRoleArn", + "__template_assumeRoleExternalId", "__template_failedRequestLoggingMode", "__template_onBackpressure", ] @@ -17391,50 +18190,49 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackOutputGrafanaCloudType1(str, Enum): - GRAFANA_CLOUD = "grafana_cloud" +class CreateOutputSystemByPackTypeLoki(str, Enum): + LOKI = "loki" -class CreateOutputSystemByPackOutputGrafanaCloudPqControls1TypedDict(TypedDict): +class CreateOutputSystemByPackPqControlsLokiTypedDict(TypedDict): pass -class CreateOutputSystemByPackOutputGrafanaCloudPqControls1(BaseModel): +class CreateOutputSystemByPackPqControlsLoki(BaseModel): pass -class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud1TypedDict(TypedDict): +class CreateOutputSystemByPackOutputLokiTypedDict(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: 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}""" - 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""" + r"""Metadata tags used for categorization and filtering.""" 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[RequestParamConfInputOpenaiTypedDict]] + labels: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict] + ] 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), @@ -17443,7 +18241,7 @@ class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud1TypedDict(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] @@ -17459,11 +18257,26 @@ class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud1TypedDict(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,30 +18298,24 @@ class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud1TypedDict(TypedDict 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 1MB.""" - pq_controls: NotRequired[ - CreateOutputSystemByPackOutputGrafanaCloudPqControls1TypedDict - ] + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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 CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud1(BaseModel): +class CreateOutputSystemByPackOutputLoki(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackOutputGrafanaCloudType1 + type: CreateOutputSystemByPackTypeLoki - loki_url: Annotated[str, pydantic.Field(alias="lokiUrl")] - r"""The endpoint to send logs to, such as https://logs-prod-us-central1.grafana.net""" + url: str + r"""The endpoint to send logs to""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -17516,18 +18323,13 @@ class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud1(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.""" 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""" + r"""Metadata tags used for categorization and filtering.""" 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.""" @@ -17537,34 +18339,28 @@ class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud1(BaseModel): ] = None r"""Format to use when sending logs to Loki (Protobuf or JSON)""" - labels: Optional[List[RequestParamConfInputOpenai]] = 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") + labels: Optional[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecret] ] = 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\"}'""" - 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") @@ -17580,7 +18376,7 @@ class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud1(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]], @@ -17619,15 +18415,43 @@ class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud1(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") @@ -17676,10 +18500,10 @@ class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud1(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[CreateOutputSystemByPackPqControlsLoki], pydantic.Field(alias="pqControls"), ] = None @@ -17688,16 +18512,6 @@ class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud1(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 @@ -17717,6 +18531,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): @@ -17770,13 +18595,10 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "prometheusUrl", "message", "messageFormat", "labels", - "metricRenameExpr", - "prometheusAuth", - "lokiAuth", + "authType", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -17790,9 +18612,16 @@ def serialize_model(self, handler): "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", + "enableDynamicHeaders", "onBackpressure", + "totalMemoryLimitKB", "description", "compress", + "token", + "textSecret", + "username", + "password", + "credentialsSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -17806,8 +18635,6 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", - "__template_lokiUrl", - "__template_prometheusUrl", "__template_failedRequestLoggingMode", "__template_onBackpressure", ] @@ -17826,127 +18653,52 @@ 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 CreateOutputSystemByPackOutputGrafanaCloudType2(str, Enum): + GRAFANA_CLOUD = "grafana_cloud" -class CreateOutputSystemByPackPqControlsDatadogTypedDict(TypedDict): +class CreateOutputSystemByPackOutputGrafanaCloudPqControls2TypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsDatadog(BaseModel): +class CreateOutputSystemByPackOutputGrafanaCloudPqControls2(BaseModel): pass -class CreateOutputSystemByPackOutputDatadogTypedDict(TypedDict): +class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud2TypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeDatadog + 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]] - 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""" + r"""Metadata tags used for categorization and filtering.""" + 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.""" - 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[RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict] + ] + 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), @@ -17955,7 +18707,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] @@ -17970,15 +18722,13 @@ class CreateOutputSystemByPackOutputDatadogTypedDict(TypedDict): 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.""" + 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] - 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] @@ -18000,27 +18750,30 @@ class CreateOutputSystemByPackOutputDatadogTypedDict(TypedDict): 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 1MB.""" - 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""" + r"""The maximum size to hold in memory before writing events 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 + ] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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 CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud2(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeDatadog + type: CreateOutputSystemByPackOutputGrafanaCloudType2 + + 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""" @@ -18028,69 +18781,55 @@ 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.""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" - content_type: Annotated[ - Optional[CreateOutputSystemByPackSendLogsAs], - pydantic.Field(alias="contentType"), - ] = None - r"""The content type to use when sending logs""" + 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.""" - 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.""" + message_format: Annotated[ + Optional[MessageFormatOptions], pydantic.Field(alias="messageFormat") + ] = None + r"""Format to use when sending logs to Loki (Protobuf or JSON)""" - allow_api_key_from_events: Annotated[ - Optional[bool], pydantic.Field(alias="allowApiKeyFromEvents") + labels: Optional[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecret] ] = None - r"""Allow API key to be set from the event's '__agent_api_key' field""" + 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\"}'""" - 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.""" + 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..""" - 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") @@ -18106,7 +18845,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]], @@ -18150,19 +18889,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") @@ -18211,28 +18942,27 @@ class CreateOutputSystemByPackOutputDatadog(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[CreateOutputSystemByPackOutputGrafanaCloudPqControls2], 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") @@ -18244,29 +18974,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 @@ -18289,15 +19001,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): @@ -18333,21 +19036,16 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "contentType", + "lokiUrl", "message", - "source", - "host", - "service", - "tags", - "batchByTags", - "allowApiKeyFromEvents", - "severity", - "site", - "sendCountersAsCount", + "messageFormat", + "labels", + "metricRenameExpr", + "prometheusAuth", + "lokiAuth", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", - "compress", "rejectUnauthorized", "timeoutSec", "flushPeriodSec", @@ -18359,10 +19057,8 @@ def serialize_model(self, handler): "timeoutRetrySettings", "responseHonorRetryAfterHeader", "onBackpressure", - "authType", - "totalMemoryLimitKB", "description", - "customUrl", + "compress", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -18375,10 +19071,9 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", - "apiKey", - "textSecret", "__template_streamtags", - "__template_tags", + "__template_lokiUrl", + "__template_prometheusUrl", "__template_failedRequestLoggingMode", "__template_onBackpressure", ] @@ -18397,57 +19092,52 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeSumoLogic(str, Enum): - SUMO_LOGIC = "sumo_logic" - - -class CreateOutputSystemByPackDataFormatSumoLogic( - str, Enum, metaclass=utils.OpenEnumMeta -): - r"""Preserve the raw event format instead of JSONifying it""" - - # JSON - JSON = "json" - # Raw - RAW = "raw" +class CreateOutputSystemByPackOutputGrafanaCloudType1(str, Enum): + GRAFANA_CLOUD = "grafana_cloud" -class CreateOutputSystemByPackPqControlsSumoLogicTypedDict(TypedDict): +class CreateOutputSystemByPackOutputGrafanaCloudPqControls1TypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsSumoLogic(BaseModel): +class CreateOutputSystemByPackOutputGrafanaCloudPqControls1(BaseModel): pass -class CreateOutputSystemByPackOutputSumoLogicTypedDict(TypedDict): +class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud1TypedDict(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: 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}""" - 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""" + r"""Metadata tags used for categorization and filtering.""" + 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.""" + message_format: NotRequired[MessageFormatOptions] + r"""Format to use when sending logs to Loki (Protobuf or JSON)""" + labels: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict] + ] + 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), @@ -18456,7 +19146,7 @@ class CreateOutputSystemByPackOutputSumoLogicTypedDict(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] @@ -18474,9 +19164,10 @@ 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""" - 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.""" 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] @@ -18498,26 +19189,30 @@ class CreateOutputSystemByPackOutputSumoLogicTypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsSumoLogicTypedDict] + r"""The maximum size to hold in memory before writing events 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 + ] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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_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 CreateOutputSystemByPackOutputSumoLogic(BaseModel): +class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud1(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: 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""" @@ -18525,43 +19220,57 @@ class CreateOutputSystemByPackOutputSumoLogic(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.""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" - 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.""" + 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""" - custom_category: Annotated[ - Optional[str], pydantic.Field(alias="customCategory") + 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") ] = 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"""Format to use when sending logs to Loki (Protobuf or JSON)""" - format_: Annotated[ - Optional[CreateOutputSystemByPackDataFormatSumoLogic], - pydantic.Field(alias="format"), + labels: Optional[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecret] + ] = 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") ] = None - r"""Preserve the raw event format instead of JSONifying it""" 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") @@ -18577,7 +19286,7 @@ class CreateOutputSystemByPackOutputSumoLogic(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]], @@ -18621,12 +19330,11 @@ class CreateOutputSystemByPackOutputSumoLogic(BaseModel): ] = 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.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -18675,10 +19383,10 @@ class CreateOutputSystemByPackOutputSumoLogic(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[CreateOutputSystemByPackOutputGrafanaCloudPqControls1], pydantic.Field(alias="pqControls"), ] = None @@ -18687,10 +19395,15 @@ class CreateOutputSystemByPackOutputSumoLogic(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_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") @@ -18702,11 +19415,11 @@ 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("message_format") + def serialize_message_format(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackDataFormatSumoLogic(value) + return models.MessageFormatOptions(value) except ValueError: return value return value @@ -18764,13 +19477,16 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "customSource", - "customCategory", - "format", + "prometheusUrl", + "message", + "messageFormat", + "labels", + "metricRenameExpr", + "prometheusAuth", + "lokiAuth", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", - "compress", "rejectUnauthorized", "timeoutSec", "flushPeriodSec", @@ -18782,8 +19498,8 @@ def serialize_model(self, handler): "timeoutRetrySettings", "responseHonorRetryAfterHeader", "onBackpressure", - "totalMemoryLimitKB", "description", + "compress", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -18797,7 +19513,8 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", - "__template_url", + "__template_lokiUrl", + "__template_prometheusUrl", "__template_failedRequestLoggingMode", "__template_onBackpressure", ] @@ -18816,167 +19533,89 @@ def serialize_model(self, handler): 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.""" - 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 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.""" +CreateOutputSystemByPackOutputGrafanaCloudUnionTypedDict = TypeAliasType( + "CreateOutputSystemByPackOutputGrafanaCloudUnionTypedDict", + Union[ + CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud1TypedDict, + CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud2TypedDict, + ], +) - 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.""" +CreateOutputSystemByPackOutputGrafanaCloudUnion = TypeAliasType( + "CreateOutputSystemByPackOutputGrafanaCloudUnion", + Union[ + CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud1, + CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud2, + ], +) - 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.""" +class CreateOutputSystemByPackTypeDatadog(str, Enum): + DATADOG = "datadog" - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "pipeline", - "systemFields", - "environment", - "streamtags", - "dnsResolvePeriodSec", - "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)) +class CreateOutputSystemByPackSendLogsAs(str, Enum, metaclass=utils.OpenEnumMeta): + r"""The content type to use when sending logs""" - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val + # text/plain + TEXT = "text" + # application/json + JSON = "json" - return m +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.""" -class CreateOutputSystemByPackTypeSqs(str, Enum): - SQS = "sqs" + # 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 CreateOutputSystemByPackQueueType(str, Enum, metaclass=utils.OpenEnumMeta): - r"""The queue type used (or created). Defaults to Standard.""" +class CreateOutputSystemByPackDatadogSite(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Datadog site to which events should be sent""" - # Standard - STANDARD = "standard" - # FIFO - FIFO = "fifo" + # US + US = "us" + # US3 + US3 = "us3" + # US5 + US5 = "us5" + # Europe + EU = "eu" + # US1-FED + FED1 = "fed1" + # AP1 + AP1 = "ap1" + # Custom + CUSTOM = "custom" -class CreateOutputSystemByPackPqControlsSqsTypedDict(TypedDict): +class CreateOutputSystemByPackPqControlsDatadogTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsSqs(BaseModel): +class CreateOutputSystemByPackPqControlsDatadog(BaseModel): pass -class CreateOutputSystemByPackOutputSqsTypedDict(TypedDict): +class CreateOutputSystemByPackOutputDatadogTypedDict(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: CreateOutputSystemByPackTypeDatadog pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -18984,46 +19623,70 @@ class CreateOutputSystemByPackOutputSqsTypedDict(TypedDict): 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_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""" + r"""Metadata tags used for categorization and filtering.""" + 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] + 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""" + 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] - 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.""" + 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] @@ -19045,47 +19708,27 @@ class CreateOutputSystemByPackOutputSqsTypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsSqsTypedDict] + r"""The maximum size to hold in memory before writing events 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""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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_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.""" - 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 CreateOutputSystemByPackOutputDatadog(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}`.""" - - queue_type: Annotated[ - CreateOutputSystemByPackQueueType, pydantic.Field(alias="queueType") - ] - r"""The queue type used (or created). Defaults to Standard.""" + type: CreateOutputSystemByPackTypeDatadog pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -19099,98 +19742,136 @@ class CreateOutputSystemByPackOutputSqs(BaseModel): 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_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.""" + r"""Metadata tags used for categorization and filtering.""" - message_group_id: Annotated[ - Optional[str], pydantic.Field(alias="messageGroupId") + content_type: Annotated[ + Optional[CreateOutputSystemByPackSendLogsAs], + pydantic.Field(alias="contentType"), ] = 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.""" + r"""The content type to use when sending logs""" - create_queue: Annotated[Optional[bool], pydantic.Field(alias="createQueue")] = None - r"""Create queue if it does not exist.""" + 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.""" - aws_authentication_method: Annotated[ - Optional[AuthenticationMethodOptionsS3CollectorConf], - pydantic.Field(alias="awsAuthenticationMethod"), + 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"""AWS authentication method. Choose Auto to use IAM roles.""" + r"""Allow API key to be set from the event's '__agent_api_key' field""" - aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( - None - ) + 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.""" - 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.""" + site: Optional[CreateOutputSystemByPackDatadogSite] = None + r"""Datadog site to which events should be sent""" - 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.""" + send_counters_as_count: Annotated[ + Optional[bool], pydantic.Field(alias="sendCountersAsCount") + ] = 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)""" - reuse_connections: Annotated[ - Optional[bool], pydantic.Field(alias="reuseConnections") + 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"""Reuse connections between requests, which can improve performance""" + 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 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 + auth_type: Annotated[ + Optional[AuthenticationMethodOptionsAPI], pydantic.Field(alias="authType") + ] = None + r"""Enter API key directly, or select a stored secret""" - 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.""" + + custom_url: Annotated[Optional[str], pydantic.Field(alias="customUrl")] = None pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -19239,87 +19920,71 @@ class CreateOutputSystemByPackOutputSqs(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[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_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_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") - ] = 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_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_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") - ] = 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("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("queue_type") - def serialize_queue_type(self, value): + @field_serializer("severity") + def serialize_severity(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackQueueType(value) + return models.CreateOutputSystemByPackSeverityDatadog(value) except ValueError: return value return value - @field_serializer("aws_authentication_method") - def serialize_aws_authentication_method(self, value): + @field_serializer("site") + def serialize_site(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsS3CollectorConf(value) + return models.CreateOutputSystemByPackDatadogSite(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 @@ -19333,6 +19998,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): @@ -19368,27 +20042,36 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "awsAccountId", - "messageGroupId", - "createQueue", - "awsAuthenticationMethod", - "awsSecretKey", - "region", - "endpoint", - "reuseConnections", + "contentType", + "message", + "source", + "host", + "service", + "tags", + "batchByTags", + "allowApiKeyFromEvents", + "severity", + "site", + "sendCountersAsCount", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", "rejectUnauthorized", - "enableAssumeRole", - "assumeRoleArn", - "assumeRoleExternalId", - "durationSeconds", - "maxQueueSize", - "maxRecordSizeKB", + "timeoutSec", "flushPeriodSec", - "maxInProgress", + "extraHttpHeaders", + "useRoundRobinDns", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", "onBackpressure", + "authType", + "totalMemoryLimitKB", "description", - "awsApiKey", - "awsSecret", + "customUrl", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -19401,18 +20084,12 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", + "apiKey", + "textSecret", "__template_streamtags", - "__template_queueName", - "__template_queueType", - "__template_awsAccountId", - "__template_messageGroupId", - "__template_awsSecretKey", - "__template_region", - "__template_endpoint", - "__template_assumeRoleArn", - "__template_assumeRoleExternalId", + "__template_tags", + "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_awsApiKey", ] ) serialized = handler(self) @@ -19429,26 +20106,35 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeSns(str, Enum): - SNS = "sns" +class CreateOutputSystemByPackTypeSumoLogic(str, Enum): + SUMO_LOGIC = "sumo_logic" -class CreateOutputSystemByPackPqControlsSnsTypedDict(TypedDict): +class CreateOutputSystemByPackDataFormatSumoLogic( + str, Enum, metaclass=utils.OpenEnumMeta +): + r"""Preserve the raw event format instead of JSONifying it""" + + # JSON + JSON = "json" + # Raw + RAW = "raw" + + +class CreateOutputSystemByPackPqControlsSumoLogicTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsSns(BaseModel): +class CreateOutputSystemByPackPqControlsSumoLogic(BaseModel): pass -class CreateOutputSystemByPackOutputSnsTypedDict(TypedDict): +class CreateOutputSystemByPackOutputSumoLogicTypedDict(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: 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]] @@ -19456,34 +20142,51 @@ class CreateOutputSystemByPackOutputSnsTypedDict(TypedDict): 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}""" - 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""" + r"""Metadata tags used for categorization and filtering.""" + 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 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).""" + 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""" + 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] @@ -19505,41 +20208,26 @@ class CreateOutputSystemByPackOutputSnsTypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsSnsTypedDict] + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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_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 CreateOutputSystemByPackOutputSns(BaseModel): +class CreateOutputSystemByPackOutputSumoLogic(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeSns - - 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}`""" + type: CreateOutputSystemByPackTypeSumoLogic - 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}`.""" + 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""" @@ -19553,68 +20241,103 @@ class CreateOutputSystemByPackOutputSns(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" - 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.""" + 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.""" - aws_authentication_method: Annotated[ - Optional[AuthenticationMethodOptionsS3CollectorConf], - pydantic.Field(alias="awsAuthenticationMethod"), + custom_category: Annotated[ + Optional[str], pydantic.Field(alias="customCategory") ] = None - r"""AWS authentication method. Choose Auto to use IAM roles.""" + 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_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( - None - ) + format_: Annotated[ + Optional[CreateOutputSystemByPackDataFormatSumoLogic], + pydantic.Field(alias="format"), + ] = None + r"""Preserve the raw event format instead of JSONifying it""" - region: Optional[str] = None - r"""Region where the SNS is located""" + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" - 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.""" + 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 SNS""" + 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.""" + + 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""" - 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") @@ -19663,10 +20386,10 @@ class CreateOutputSystemByPackOutputSns(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[CreateOutputSystemByPackPqControlsSumoLogic], pydantic.Field(alias="pqControls"), ] = None @@ -19675,56 +20398,35 @@ 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") - ] = 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_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_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") - ] = 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("format_") + def serialize_format_(self, value): + if isinstance(value, str): + try: + return models.CreateOutputSystemByPackDataFormatSumoLogic(value) + except ValueError: + return value + return value - @field_serializer("aws_authentication_method") - def serialize_aws_authentication_method(self, value): + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsS3CollectorConf(value) + return models.FailedRequestLoggingModeOptions(value) except ValueError: return value return value @@ -19768,26 +20470,31 @@ def serialize_pq_on_backpressure(self, value): @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( - [ - "pipeline", - "systemFields", - "environment", - "streamtags", - "maxRetries", - "awsAuthenticationMethod", - "awsSecretKey", - "region", - "endpoint", - "reuseConnections", + [ + "pipeline", + "systemFields", + "environment", + "streamtags", + "customSource", + "customCategory", + "format", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", "rejectUnauthorized", - "enableAssumeRole", - "assumeRoleArn", - "assumeRoleExternalId", - "durationSeconds", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "useRoundRobinDns", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", "onBackpressure", + "totalMemoryLimitKB", "description", - "awsApiKey", - "awsSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -19801,15 +20508,9 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", - "__template_topicArn", - "__template_messageGroupId", - "__template_awsSecretKey", - "__template_region", - "__template_endpoint", - "__template_assumeRoleArn", - "__template_assumeRoleExternalId", + "__template_url", + "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_awsApiKey", ] ) serialized = handler(self) @@ -19826,37 +20527,41 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeRouter(str, Enum): - ROUTER = "router" +class CreateOutputSystemByPackTypeSnmp(str, Enum): + SNMP = "snmp" -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 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 CreateOutputSystemByPackRule(BaseModel): - filter_: Annotated[str, pydantic.Field(alias="filter")] - r"""JavaScript expression to select events to send to output""" +class CreateOutputSystemByPackHostSnmp(BaseModel): + host: str + r"""Destination host""" - output: str - r"""Output to send matching events to""" + port: float + r"""Destination port, default is 162""" - description: Optional[str] = None - r"""Description of this rule's purpose""" + 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.""" - final: Optional[bool] = None - r"""Flag to control whether to stop the event from being checked against other rules""" + 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(["description", "final"]) + optional_fields = set(["__template_host", "__template_port"]) serialized = handler(self) m = {} @@ -19871,12 +20576,12 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackOutputRouterTypedDict(TypedDict): +class CreateOutputSystemByPackOutputSnmpTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeRouter - rules: List[CreateOutputSystemByPackRuleTypedDict] - r"""Event routing rules""" + 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]] @@ -19884,20 +20589,27 @@ class CreateOutputSystemByPackOutputRouterTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" + 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 CreateOutputSystemByPackOutputRouter(BaseModel): +class CreateOutputSystemByPackOutputSnmp(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeRouter + type: CreateOutputSystemByPackTypeSnmp - rules: List[CreateOutputSystemByPackRule] - r"""Event routing rules""" + 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""" @@ -19911,9 +20623,25 @@ class CreateOutputSystemByPackOutputRouter(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" + + 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 + r"""Optional description for this configuration.""" + + 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") @@ -19928,7 +20656,10 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", + "dnsResolvePeriodSec", + "enableIpSpoofing", "description", + "maxRecordSize", "__template_streamtags", ] ) @@ -19946,28 +20677,35 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeGraphite(str, Enum): - GRAPHITE = "graphite" +class CreateOutputSystemByPackTypeSqs(str, Enum): + SQS = "sqs" -class CreateOutputSystemByPackPqControlsGraphiteTypedDict(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 CreateOutputSystemByPackPqControlsGraphite(BaseModel): +class CreateOutputSystemByPackPqControlsSqs(BaseModel): pass -class CreateOutputSystemByPackOutputGraphiteTypedDict(TypedDict): +class CreateOutputSystemByPackOutputSqsTypedDict(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: 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]] @@ -19975,22 +20713,47 @@ class CreateOutputSystemByPackOutputGraphiteTypedDict(TypedDict): 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}""" - 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.""" + r"""Metadata tags used for categorization and filtering.""" + 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""" + 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.""" 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""" + 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""" 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] @@ -20012,78 +20775,154 @@ class CreateOutputSystemByPackOutputGraphiteTypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsGraphiteTypedDict] + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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_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 CreateOutputSystemByPackOutputSqs(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeGraphite + type: CreateOutputSystemByPackTypeSqs - protocol: DestinationProtocolOptions - r"""Protocol to use when communicating with the destination.""" + 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}`.""" - host: str - r"""The hostname of the destination.""" + queue_type: Annotated[ + CreateOutputSystemByPackQueueType, pydantic.Field(alias="queueType") + ] + r"""The queue type used (or created). Defaults to Standard.""" - port: float - r"""Destination port.""" + 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"""Metadata tags used for categorization and filtering.""" + + 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], + 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 + ) + + 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.""" - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" + 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.""" - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") + reuse_connections: Annotated[ + Optional[bool], pydantic.Field(alias="reuseConnections") ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + r"""Reuse connections between requests, which can improve performance""" - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + 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""" - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + enable_assume_role: Annotated[ + Optional[bool], pydantic.Field(alias="enableAssumeRole") + ] = None + r"""Use Assume Role credentials to access SQS""" - 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.""" + assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( + None + ) + r"""Amazon Resource Name (ARN) of the role to assume""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="assumeRoleExternalId") ] = None - r"""When protocol is TCP, specifies how often buffers should be flushed, resulting in records sent to the destination.""" + r"""External ID to use when assuming role""" - dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") + duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="durationSeconds") ] = 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.""" + 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).""" - description: Optional[str] = None + max_queue_size: Annotated[Optional[float], pydantic.Field(alias="maxQueueSize")] = ( + None + ) + r"""Maximum number of queued batches before blocking.""" - throttle_rate_per_sec: Annotated[ - Optional[str], pydantic.Field(alias="throttleRatePerSec") + max_record_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxRecordSizeKB") ] = 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 size (KB) of batches to send. Per the SQS spec, the max allowed value is 256 KB.""" - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - 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_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 + + 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 @@ -20131,10 +20970,10 @@ class CreateOutputSystemByPackOutputGraphite(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[CreateOutputSystemByPackPqControlsSqs], pydantic.Field(alias="pqControls"), ] = None @@ -20143,16 +20982,75 @@ 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_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_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") + ] = 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("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): try: - return models.DestinationProtocolOptions(value) + return models.AuthenticationMethodOptionsS3CollectorConf(value) except ValueError: return value return value @@ -20201,14 +21099,27 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "mtu", + "awsAccountId", + "messageGroupId", + "createQueue", + "awsAuthenticationMethod", + "awsSecretKey", + "region", + "endpoint", + "reuseConnections", + "rejectUnauthorized", + "enableAssumeRole", + "assumeRoleArn", + "assumeRoleExternalId", + "durationSeconds", + "maxQueueSize", + "maxRecordSizeKB", "flushPeriodSec", - "dnsResolvePeriodSec", - "description", - "throttleRatePerSec", - "connectionTimeout", - "writeTimeout", + "maxInProgress", "onBackpressure", + "description", + "awsApiKey", + "awsSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -20222,7 +21133,17 @@ def serialize_model(self, handler): "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", ] ) serialized = handler(self) @@ -20239,28 +21160,26 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeStatsdExt(str, Enum): - STATSD_EXT = "statsd_ext" +class CreateOutputSystemByPackTypeSns(str, Enum): + SNS = "sns" -class CreateOutputSystemByPackPqControlsStatsdExtTypedDict(TypedDict): +class CreateOutputSystemByPackPqControlsSnsTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsStatsdExt(BaseModel): +class CreateOutputSystemByPackPqControlsSns(BaseModel): pass -class CreateOutputSystemByPackOutputStatsdExtTypedDict(TypedDict): +class CreateOutputSystemByPackOutputSnsTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeStatsdExt - 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]] @@ -20268,22 +21187,35 @@ class CreateOutputSystemByPackOutputStatsdExtTypedDict(TypedDict): 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}""" - 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""" + r"""Metadata tags used for categorization and filtering.""" + 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] @@ -20305,28 +21237,41 @@ class CreateOutputSystemByPackOutputStatsdExtTypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsStatsdExtTypedDict] + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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 CreateOutputSystemByPackOutputStatsdExt(BaseModel): +class CreateOutputSystemByPackOutputSns(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeStatsdExt - - 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""" @@ -20340,43 +21285,70 @@ class CreateOutputSystemByPackOutputStatsdExt(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" - 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.""" + + aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( + 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.""" - dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") + reuse_connections: Annotated[ + Optional[bool], pydantic.Field(alias="reuseConnections") ] = 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.""" - - description: Optional[str] = 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 @@ -20424,10 +21396,10 @@ class CreateOutputSystemByPackOutputStatsdExt(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[CreateOutputSystemByPackPqControlsSns], pydantic.Field(alias="pqControls"), ] = None @@ -20436,16 +21408,56 @@ class CreateOutputSystemByPackOutputStatsdExt(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 @@ -20494,14 +21506,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", @@ -20515,7 +21534,137 @@ 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) + 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 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"""Metadata tags used for categorization and filtering.""" + 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"""Metadata tags used for categorization and filtering.""" + + 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) @@ -20532,10 +21681,22 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeStatsd(str, Enum): - STATSD = "statsd" +class CreateOutputSystemByPackTypeGraphite(str, Enum): + GRAPHITE = "graphite" + + +class CreateOutputSystemByPackPqControlsGraphiteTypedDict(TypedDict): + pass + + +class CreateOutputSystemByPackPqControlsGraphite(BaseModel): + pass +try: + CreateOutputSystemByPackOutputIbmCloudS3.model_rebuild() +except NameError: + pass try: CreateOutputSystemByPackOutputAlibabaCloudS3.model_rebuild() except NameError: @@ -20617,7 +21778,7 @@ class CreateOutputSystemByPackTypeStatsd(str, Enum): except NameError: pass try: - CreateOutputSystemByPackColumnMappingLocalSearchStorage.model_rebuild() + CreateOutputSystemByPackColumnMapping.model_rebuild() except NameError: pass try: @@ -20625,7 +21786,7 @@ class CreateOutputSystemByPackTypeStatsd(str, Enum): except NameError: pass try: - CreateOutputSystemByPackColumnMappingClickHouse.model_rebuild() + CreateOutputSystemByPackOutputCustomerMetricsStorage.model_rebuild() except NameError: pass try: @@ -20688,6 +21849,10 @@ class CreateOutputSystemByPackTypeStatsd(str, Enum): CreateOutputSystemByPackOutputPrometheus.model_rebuild() except NameError: pass +try: + CreateOutputSystemByPackOutputAmazonManagedPrometheus.model_rebuild() +except NameError: + pass try: CreateOutputSystemByPackOutputLoki.model_rebuild() except NameError: @@ -20732,11 +21897,3 @@ class CreateOutputSystemByPackTypeStatsd(str, Enum): CreateOutputSystemByPackOutputRouter.model_rebuild() except NameError: pass -try: - 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 eef72f50a..74424bc01 100644 --- a/src/cribl_control_plane/models/createoutputsystembypack_request.py +++ b/src/cribl_control_plane/models/createoutputsystembypack_request.py @@ -1,39 +1,95 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .acknowledgmentsoptions import AcknowledgmentsOptions -from .acknowledgmentsoptionsallleader import AcknowledgmentsOptionsAllLeader -from .authenticationmethodoptions import AuthenticationMethodOptions -from .authenticationmethodoptionsapi import AuthenticationMethodOptionsAPI -from .authenticationmethodoptionsauthtokensitems import ( - AuthenticationMethodOptionsAuthTokensItems, -) -from .authenticationmethodoptionss3collectorconf import ( - AuthenticationMethodOptionsS3CollectorConf, -) -from .authenticationtype import AuthenticationType, AuthenticationTypeTypedDict -from .authenticationtypeuse import AuthenticationTypeUse, AuthenticationTypeUseTypedDict -from .authtypetemplatemanualapikeyauthtype import ( - AuthTypeTemplatemanualAPIKeyAuthType, - AuthTypeTemplatemanualAPIKeyAuthTypeTypedDict, -) from .backpressurebehavioroptions import BackpressureBehaviorOptions -from .backpressurebehavioroptionsblockdrop import BackpressureBehaviorOptionsBlockDrop -from .certificatetypeazureblobauthtypeclientcert import ( - CertificateTypeAzureBlobAuthTypeClientCert, - CertificateTypeAzureBlobAuthTypeClientCertTypedDict, -) -from .compressionleveloptions import CompressionLevelOptions -from .compressionoptions import CompressionOptions -from .compressionoptionsgziplz4 import CompressionOptionsGzipLz4 -from .compressionoptionsgzipnone import CompressionOptionsGzipNone -from .compressionoptionshttp import CompressionOptionsHTTP from .compressionoptionspq import CompressionOptionsPq -from .createoutputsystembypack_type_statsd import ( +from .createoutputsystembypack_outputwebhook_format_2 import ( + CreateOutputSystemByPackOutputAzureBlob, + CreateOutputSystemByPackOutputAzureBlobTypedDict, + CreateOutputSystemByPackOutputAzureDataExplorer, + CreateOutputSystemByPackOutputAzureDataExplorerTypedDict, + CreateOutputSystemByPackOutputAzureEventhub, + CreateOutputSystemByPackOutputAzureEventhubTypedDict, + CreateOutputSystemByPackOutputAzureLogs, + CreateOutputSystemByPackOutputAzureLogsTypedDict, + CreateOutputSystemByPackOutputCloudwatch, + CreateOutputSystemByPackOutputCloudwatchTypedDict, + CreateOutputSystemByPackOutputConfluentCloud, + CreateOutputSystemByPackOutputConfluentCloudTypedDict, + CreateOutputSystemByPackOutputDevnull, + CreateOutputSystemByPackOutputDevnullTypedDict, + CreateOutputSystemByPackOutputElastic, + CreateOutputSystemByPackOutputElasticCloud, + CreateOutputSystemByPackOutputElasticCloudTypedDict, + CreateOutputSystemByPackOutputElasticTypedDict, + CreateOutputSystemByPackOutputExabeam, + CreateOutputSystemByPackOutputExabeamTypedDict, + CreateOutputSystemByPackOutputFilesystem, + CreateOutputSystemByPackOutputFilesystemTypedDict, + CreateOutputSystemByPackOutputGoogleBigquery, + CreateOutputSystemByPackOutputGoogleBigqueryTypedDict, + CreateOutputSystemByPackOutputGoogleChronicle, + CreateOutputSystemByPackOutputGoogleChronicleTypedDict, + CreateOutputSystemByPackOutputGoogleCloudLogging, + CreateOutputSystemByPackOutputGoogleCloudLoggingTypedDict, + CreateOutputSystemByPackOutputGoogleCloudObservability, + CreateOutputSystemByPackOutputGoogleCloudObservabilityTypedDict, + CreateOutputSystemByPackOutputGoogleCloudStorage, + CreateOutputSystemByPackOutputGoogleCloudStorageTypedDict, + CreateOutputSystemByPackOutputGooglePubsub, + CreateOutputSystemByPackOutputGooglePubsubTypedDict, + CreateOutputSystemByPackOutputGraphite, + CreateOutputSystemByPackOutputGraphiteTypedDict, + CreateOutputSystemByPackOutputHoneycomb, + CreateOutputSystemByPackOutputHoneycombTypedDict, + CreateOutputSystemByPackOutputInfluxdb, + CreateOutputSystemByPackOutputInfluxdbTypedDict, + CreateOutputSystemByPackOutputKafka, + CreateOutputSystemByPackOutputKafkaTypedDict, + CreateOutputSystemByPackOutputKinesis, + CreateOutputSystemByPackOutputKinesisTypedDict, + CreateOutputSystemByPackOutputMinio, + CreateOutputSystemByPackOutputMinioTypedDict, + CreateOutputSystemByPackOutputMsk, + CreateOutputSystemByPackOutputMskTypedDict, + CreateOutputSystemByPackOutputNewrelic, + CreateOutputSystemByPackOutputNewrelicEvents, + CreateOutputSystemByPackOutputNewrelicEventsTypedDict, + CreateOutputSystemByPackOutputNewrelicTypedDict, + CreateOutputSystemByPackOutputS3, + CreateOutputSystemByPackOutputS3TypedDict, + CreateOutputSystemByPackOutputSentinel, + CreateOutputSystemByPackOutputSentinelTypedDict, + CreateOutputSystemByPackOutputSignalfx, + CreateOutputSystemByPackOutputSignalfxTypedDict, + CreateOutputSystemByPackOutputSplunk, + CreateOutputSystemByPackOutputSplunkHec, + CreateOutputSystemByPackOutputSplunkHecTypedDict, + CreateOutputSystemByPackOutputSplunkLb, + CreateOutputSystemByPackOutputSplunkLbTypedDict, + CreateOutputSystemByPackOutputSplunkTypedDict, + CreateOutputSystemByPackOutputStatsd, + CreateOutputSystemByPackOutputStatsdExt, + CreateOutputSystemByPackOutputStatsdExtTypedDict, + CreateOutputSystemByPackOutputStatsdTypedDict, + CreateOutputSystemByPackOutputSyslog, + CreateOutputSystemByPackOutputSyslogTypedDict, + CreateOutputSystemByPackOutputTcpjson, + CreateOutputSystemByPackOutputTcpjsonTypedDict, + CreateOutputSystemByPackOutputWavefront, + CreateOutputSystemByPackOutputWavefrontTypedDict, + CreateOutputSystemByPackOutputWebhookFormat2, + CreateOutputSystemByPackOutputWebhookType2, + CreateOutputSystemByPackOutputWizHec, + CreateOutputSystemByPackOutputWizHecTypedDict, +) +from .createoutputsystembypack_pqcontrols_graphite import ( CreateOutputSystemByPackOutputAlibabaCloudS3, CreateOutputSystemByPackOutputAlibabaCloudS3TypedDict, CreateOutputSystemByPackOutputAlphasocS3, CreateOutputSystemByPackOutputAlphasocS3TypedDict, + CreateOutputSystemByPackOutputAmazonManagedPrometheus, + CreateOutputSystemByPackOutputAmazonManagedPrometheusTypedDict, CreateOutputSystemByPackOutputChronicle, CreateOutputSystemByPackOutputChronicleTypedDict, CreateOutputSystemByPackOutputClickHouse, @@ -52,6 +108,8 @@ CreateOutputSystemByPackOutputCriblTCPTypedDict, CreateOutputSystemByPackOutputCrowdstrikeNextGenSiem, CreateOutputSystemByPackOutputCrowdstrikeNextGenSiemTypedDict, + CreateOutputSystemByPackOutputCustomerMetricsStorage, + CreateOutputSystemByPackOutputCustomerMetricsStorageTypedDict, CreateOutputSystemByPackOutputDatabricks, CreateOutputSystemByPackOutputDatabricksTypedDict, CreateOutputSystemByPackOutputDatadog, @@ -70,10 +128,10 @@ CreateOutputSystemByPackOutputDynatraceOtlpTypedDict, CreateOutputSystemByPackOutputGrafanaCloudUnion, CreateOutputSystemByPackOutputGrafanaCloudUnionTypedDict, - CreateOutputSystemByPackOutputGraphite, - CreateOutputSystemByPackOutputGraphiteTypedDict, CreateOutputSystemByPackOutputHumioHec, CreateOutputSystemByPackOutputHumioHecTypedDict, + CreateOutputSystemByPackOutputIbmCloudS3, + CreateOutputSystemByPackOutputIbmCloudS3TypedDict, CreateOutputSystemByPackOutputLocalSearchStorage, CreateOutputSystemByPackOutputLocalSearchStorageTypedDict, CreateOutputSystemByPackOutputLoki, @@ -91,17024 +149,73 @@ CreateOutputSystemByPackOutputRing, CreateOutputSystemByPackOutputRingTypedDict, CreateOutputSystemByPackOutputRouter, - CreateOutputSystemByPackOutputRouterTypedDict, - CreateOutputSystemByPackOutputScalityS3, - CreateOutputSystemByPackOutputScalityS3TypedDict, - CreateOutputSystemByPackOutputSecurityLake, - CreateOutputSystemByPackOutputSecurityLakeTypedDict, - CreateOutputSystemByPackOutputSentinelOneAiSiem, - CreateOutputSystemByPackOutputSentinelOneAiSiemTypedDict, - CreateOutputSystemByPackOutputServiceNow, - CreateOutputSystemByPackOutputServiceNowTypedDict, - CreateOutputSystemByPackOutputSnmp, - CreateOutputSystemByPackOutputSnmpTypedDict, - CreateOutputSystemByPackOutputSns, - CreateOutputSystemByPackOutputSnsTypedDict, - CreateOutputSystemByPackOutputSqs, - CreateOutputSystemByPackOutputSqsTypedDict, - CreateOutputSystemByPackOutputStatsdExt, - CreateOutputSystemByPackOutputStatsdExtTypedDict, - CreateOutputSystemByPackOutputStorjS3, - CreateOutputSystemByPackOutputStorjS3TypedDict, - CreateOutputSystemByPackOutputSumoLogic, - CreateOutputSystemByPackOutputSumoLogicTypedDict, - CreateOutputSystemByPackOutputXsiam, - CreateOutputSystemByPackOutputXsiamTypedDict, - CreateOutputSystemByPackTypeStatsd, -) -from .dataformatoptions import DataFormatOptions -from .datapageversionoptions import DataPageVersionOptions -from .destinationprotocoloptions import DestinationProtocolOptions -from .diskspaceprotectionoptions import DiskSpaceProtectionOptions -from .extrahttpheaderconfinputelastic import ( - ExtraHTTPHeaderConfInputElastic, - ExtraHTTPHeaderConfInputElasticTypedDict, -) -from .failedrequestloggingmodeoptions import FailedRequestLoggingModeOptions -from .googleauthenticationmethodoptions import GoogleAuthenticationMethodOptions -from .hostconfoutputsyslog import HostConfOutputSyslog, HostConfOutputSyslogTypedDict -from .kafkaschemaregistryauthenticationtypetemplateschemaregistryurlauth import ( - KafkaSchemaRegistryAuthenticationTypeTemplateschemaRegistryURLAuth, - KafkaSchemaRegistryAuthenticationTypeTemplateschemaRegistryURLAuthTypedDict, -) -from .keyvaluemetadataconfoutputfilesystem import ( - KeyValueMetadataConfOutputFilesystem, - KeyValueMetadataConfOutputFilesystemTypedDict, -) -from .loglabelconfoutputgooglecloudlogging import ( - LogLabelConfOutputGoogleCloudLogging, - LogLabelConfOutputGoogleCloudLoggingTypedDict, -) -from .maxs2sversionoptions import MaxS2SVersionOptions -from .methodoptions import MethodOptions -from .microsoftentraidauthenticationendpointoptionssasl import ( - MicrosoftEntraIDAuthenticationEndpointOptionsSasl, -) -from .modeoptions import ModeOptions -from .nestedfieldserializationoptions import NestedFieldSerializationOptions -from .oauthheaderconfinputservicenowtable import ( - OauthHeaderConfInputServicenowTable, - OauthHeaderConfInputServicenowTableTypedDict, -) -from .oauthparamconfinputservicenowtable import ( - OauthParamConfInputServicenowTable, - OauthParamConfInputServicenowTableTypedDict, -) -from .objectacloptions import ObjectACLOptions -from .objectacloptionsauthenticatedreadbucketownerfullcontrol import ( - ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol, -) -from .orphanfilerecoverytype import ( - OrphanFileRecoveryType, - OrphanFileRecoveryTypeTypedDict, -) -from .parquetversionoptions import ParquetVersionOptions -from .queuefullbehavioroptions import QueueFullBehaviorOptions -from .recorddataformatoptions import RecordDataFormatOptions -from .recorddataformatoptionsjsonprotobuf import RecordDataFormatOptionsJSONProtobuf -from .regionoptions import RegionOptions -from .responseretrysettingconfoutputwebhook import ( - ResponseRetrySettingConfOutputWebhook, - ResponseRetrySettingConfOutputWebhookTypedDict, -) -from .retrysettingstype import RetrySettingsType, RetrySettingsTypeTypedDict -from .saslextensionconfinputkafka import ( - SaslExtensionConfInputKafka, - SaslExtensionConfInputKafkaTypedDict, -) -from .serversideencryptionforuploadedobjectsoptions import ( - ServerSideEncryptionForUploadedObjectsOptions, -) -from .serversideencryptionforuploadedobjectsoptionsaes256 import ( - ServerSideEncryptionForUploadedObjectsOptionsAes256, -) -from .storageclassoptions import StorageClassOptions -from .storageclassoptionsarchivecoldline import StorageClassOptionsArchiveColdline -from .storageclassoptionsreducedredundancystandard import ( - StorageClassOptionsReducedredundancyStandard, -) -from .timeoutretrysettingstype import ( - TimeoutRetrySettingsType, - TimeoutRetrySettingsTypeTypedDict, -) -from .tlssettingsclientsidetype import ( - TLSSettingsClientSideType, - TLSSettingsClientSideTypeTypedDict, -) -from .tlssettingsclientsidetypecapathcertpath import ( - TLSSettingsClientSideTypeCaPathCertPath, - TLSSettingsClientSideTypeCaPathCertPathTypedDict, -) -from .tlssettingsclientsidetypecapathcertpathextended import ( - TLSSettingsClientSideTypeCaPathCertPathExtended, - TLSSettingsClientSideTypeCaPathCertPathExtendedTypedDict, -) -from cribl_control_plane import models, utils -from cribl_control_plane.types import BaseModel, Nullable, UNSET_SENTINEL -from cribl_control_plane.utils import ( - FieldMetadata, - PathParamMetadata, - RequestMetadata, - get_discriminator, -) -from enum import Enum -import pydantic -from pydantic import Discriminator, Tag, field_serializer, model_serializer -from typing import List, Optional, Union -from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict - - -class CreateOutputSystemByPackPqControlsStatsdTypedDict(TypedDict): - pass - - -class CreateOutputSystemByPackPqControlsStatsd(BaseModel): - pass - - -class CreateOutputSystemByPackOutputStatsdTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - 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]] - 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}""" - 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""" - 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 1MB.""" - 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_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): - id: str - r"""Unique ID for this output""" - - 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: 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}""" - - 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.""" - - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") - ] = None - r"""When protocol is TCP, specifies how often buffers should be flushed, resulting in records sent to the destination.""" - - 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.""" - - description: Optional[str] = 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.""" - - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") - ] = 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""" - - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") - ] = None - r"""How to handle events when all receivers are exerting backpressure""" - - 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 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsStatsd], - 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_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.DestinationProtocolOptions(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", - "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 = {} - - 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 CreateOutputSystemByPackTypeMinio(str, Enum): - MINIO = "minio" - - -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] - 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_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): - 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: 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)""" - - 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.""" - - 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 MinIO 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""" - - 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 - - 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[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 - - 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 - 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_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 - 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): - 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 - - @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("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 CreateOutputSystemByPackTypeCloudwatch(str, Enum): - CLOUDWATCH = "cloudwatch" - - -class CreateOutputSystemByPackPqControlsCloudwatchTypedDict(TypedDict): - pass - - -class CreateOutputSystemByPackPqControlsCloudwatch(BaseModel): - pass - - -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 1MB.""" - 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""" - - 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 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsCloudwatch], - 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 CreateOutputSystemByPackTypeInfluxdb(str, Enum): - INFLUXDB = "influxdb" - - -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 CreateOutputSystemByPackPqControlsInfluxdb(BaseModel): - pass - - -class CreateOutputSystemByPackOutputInfluxdbTypedDict(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""" - 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[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""" - 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[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.""" - 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 1MB.""" - 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_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 CreateOutputSystemByPackOutputInfluxdb(BaseModel): - 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""" - - 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[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""" - - 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[CreateOutputSystemByPackAuthenticationTypeInfluxdb], - 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 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsInfluxdb], - 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.CreateOutputSystemByPackTimestampPrecision(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.CreateOutputSystemByPackAuthenticationTypeInfluxdb(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 CreateOutputSystemByPackTypeNewrelicEvents(str, Enum): - NEWRELIC_EVENTS = "newrelic_events" - - -class CreateOutputSystemByPackPqControlsNewrelicEventsTypedDict(TypedDict): - pass - - -class CreateOutputSystemByPackPqControlsNewrelicEvents(BaseModel): - pass - - -class CreateOutputSystemByPackOutputNewrelicEventsTypedDict(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).""" - 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 1MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsNewrelicEventsTypedDict] - 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 CreateOutputSystemByPackOutputNewrelicEvents(BaseModel): - id: str - r"""Unique ID for this output""" - - 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""" - - 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 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsNewrelicEvents], - 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 CreateOutputSystemByPackTypeNewrelic(str, Enum): - NEWRELIC = "newrelic" - - -class CreateOutputSystemByPackFieldName(str, Enum, metaclass=utils.OpenEnumMeta): - SERVICE = "service" - HOSTNAME = "hostname" - TIMESTAMP = "timestamp" - AUDIT_ID = "auditId" - - -class CreateOutputSystemByPackMetadatumTypedDict(TypedDict): - name: CreateOutputSystemByPackFieldName - 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 - - 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]] - 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.""" - 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] - 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 1MB.""" - 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_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 CreateOutputSystemByPackOutputNewrelic(BaseModel): - id: str - r"""Unique ID for this output""" - - type: CreateOutputSystemByPackTypeNewrelic - - 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.""" - - 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""" - - 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""" - - 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 - - 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 1MB.""" - - pq_controls: Annotated[ - 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_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") - ] = 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_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_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): - 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", - "logType", - "messageField", - "metadata", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", - "failedRequestLoggingMode", - "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "onBackpressure", - "authType", - "totalMemoryLimitKB", - "description", - "customUrl", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "apiKey", - "textSecret", - "__template_streamtags", - "__template_region", - "__template_logType", - "__template_messageField", - "__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 CreateOutputSystemByPackTypeElasticCloud(str, Enum): - ELASTIC_CLOUD = "elastic_cloud" - - -class CreateOutputSystemByPackPqControlsElasticCloudTypedDict(TypedDict): - pass - - -class CreateOutputSystemByPackPqControlsElasticCloud(BaseModel): - pass - - -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.""" - 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""" - 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.""" - 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 1MB.""" - 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_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): - 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.""" - - 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}""" - - 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""" - - 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""" - - 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"), - ] = 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 - - 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 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsElasticCloud], - 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_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_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("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", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "failedRequestLoggingMode", - "safeHeaders", - "extraParams", - "auth", - "elasticPipeline", - "includeDocId", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "onBackpressure", - "description", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "__template_streamtags", - "__template_url", - "__template_index", - "__template_failedRequestLoggingMode", - "__template_elasticPipeline", - "__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 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 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 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 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] - 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] - 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 1MB.""" - 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_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): - 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: 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}""" - - 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""" - - 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""" - - 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.""" - - extra_params: Annotated[ - Optional[List[SaslExtensionConfInputKafka]], pydantic.Field(alias="extraParams") - ] = None - - 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""" - - 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"), - ] = 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") - ] = 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""" - - 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 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsElastic], - 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_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 - 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.""" - - @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("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): - 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", - "loadBalanced", - "docType", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "failedRequestLoggingMode", - "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "extraParams", - "auth", - "elasticVersion", - "elasticPipeline", - "includeDocId", - "writeAction", - "retryPartialErrors", - "onBackpressure", - "description", - "url", - "useRoundRobinDns", - "excludeSelf", - "urls", - "dnsResolvePeriodSec", - "loadBalanceStatsPeriodSec", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "__template_streamtags", - "__template_index", - "__template_docType", - "__template_failedRequestLoggingMode", - "__template_elasticPipeline", - "__template_onBackpressure", - "__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 CreateOutputSystemByPackTypeMsk(str, Enum): - MSK = "msk" - - -class CreateOutputSystemByPackPqControlsMskTypedDict(TypedDict): - pass - - -class CreateOutputSystemByPackPqControlsMsk(BaseModel): - pass - - -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""" - 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] - 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] - 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 1MB.""" - 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_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 CreateOutputSystemByPackOutputMsk(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.""" - - 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""" - - 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}""" - - 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.""" - - 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.""" - - 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") - ] = 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") - ] = 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"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsMsk], - 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_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.""" - - 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 - - @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 - - @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", - "ack", - "format", - "compression", - "maxRecordSizeKB", - "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", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "__template_streamtags", - "__template_topic", - "__template_format", - "__template_compression", - "__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 CreateOutputSystemByPackTypeConfluentCloud(str, Enum): - CONFLUENT_CLOUD = "confluent_cloud" - - -class CreateOutputSystemByPackPqControlsConfluentCloudTypedDict(TypedDict): - pass - - -class CreateOutputSystemByPackPqControlsConfluentCloud(BaseModel): - pass - - -class CreateOutputSystemByPackOutputConfluentCloudTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeConfluentCloud - 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]] - 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}""" - 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"""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.""" - 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""" - 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 1MB.""" - 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] - 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 CreateOutputSystemByPackOutputConfluentCloud(BaseModel): - id: str - r"""Unique ID for this output""" - - type: CreateOutputSystemByPackTypeConfluentCloud - - 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""" - - 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}""" - - tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None - - 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.""" - - 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.""" - - 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") - ] = 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"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsConfluentCloud], - 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_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 - 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("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): - 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("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", - "tls", - "ack", - "format", - "compression", - "maxRecordSizeKB", - "flushEventCount", - "flushPeriodSec", - "kafkaSchemaRegistry", - "connectionTimeout", - "requestTimeout", - "maxRetries", - "maxBackOff", - "initialBackoff", - "backoffRate", - "authenticationTimeout", - "reauthenticationThreshold", - "sasl", - "onBackpressure", - "description", - "protobufLibraryId", - "protobufEncodingId", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "__template_streamtags", - "__template_brokers", - "__template_topic", - "__template_format", - "__template_compression", - "__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 CreateOutputSystemByPackTypeKafka(str, Enum): - KAFKA = "kafka" - - -class CreateOutputSystemByPackPqControlsKafkaTypedDict(TypedDict): - pass - - -class CreateOutputSystemByPackPqControlsKafka(BaseModel): - pass - - -class CreateOutputSystemByPackOutputKafkaTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - 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]] - 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""" - 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""" - 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 1MB.""" - 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_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 CreateOutputSystemByPackOutputKafka(BaseModel): - id: str - r"""Unique ID for this output""" - - 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: 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}""" - - 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.""" - - 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 - - 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"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB.""" - - 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_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("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): - 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("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", - "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 = {} - - 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 CreateOutputSystemByPackTypeExabeam(str, Enum): - EXABEAM = "exabeam" - - -class CreateOutputSystemByPackOutputExabeamTypedDict(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 - - """ - 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] - 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.""" - - -class CreateOutputSystemByPackOutputExabeam(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""" - - 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""" - - 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}""" - - 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""" - - 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.""" - - 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""" - - retry_settings: Annotated[ - Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") - ] = None - - orphans: Optional[OrphanFileRecoveryType] = 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.""" - - encoded_configuration: Annotated[ - Optional[str], pydantic.Field(alias="encodedConfiguration") - ] = None - r"""Enter an encoded string containing Exabeam configurations""" - - 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.""" - - 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.""" - - timezone_offset: Annotated[ - Optional[str], pydantic.Field(alias="timezoneOffset") - ] = None - - 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}`.""" - - 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 - - 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_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("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("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 - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "pipeline", - "systemFields", - "environment", - "streamtags", - "objectACL", - "storageClass", - "reuseConnections", - "rejectUnauthorized", - "addIdToStagePath", - "removeEmptyDirs", - "maxFileOpenTimeSec", - "maxFileIdleTimeSec", - "maxOpenFiles", - "onBackpressure", - "deadletterEnabled", - "onDiskFullBackpressure", - "retrySettings", - "orphans", - "maxFileSizeMB", - "encodedConfiguration", - "siteName", - "siteId", - "timezoneOffset", - "awsApiKey", - "awsSecretKey", - "description", - "emptyDirCleanupSec", - "directoryBatchSize", - "deadletterPath", - "maxRetryNum", - "__template_streamtags", - "__template_region", - "__template_endpoint", - "__template_objectACL", - "__template_storageClass", - "__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 CreateOutputSystemByPackTypeGooglePubsub(str, Enum): - GOOGLE_PUBSUB = "google_pubsub" - - -class CreateOutputSystemByPackPqControlsGooglePubsubTypedDict(TypedDict): - pass - - -class CreateOutputSystemByPackPqControlsGooglePubsub(BaseModel): - pass - - -class CreateOutputSystemByPackOutputGooglePubsubTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - 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]] - 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}""" - 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] - 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 1MB.""" - 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_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 CreateOutputSystemByPackOutputGooglePubsub(BaseModel): - id: str - r"""Unique ID for this output""" - - type: CreateOutputSystemByPackTypeGooglePubsub - - 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""" - - 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 - - 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 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsGooglePubsub], - 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_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.""" - - @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", - "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 = {} - - 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 1MB.""" - 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 1MB.""" - - 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.""" - - -class CreateOutputSystemByPackOutputGoogleCloudStorage(BaseModel): - 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: 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}""" - - 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}`""" - - 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""" - - 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"""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 - - 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""" - - 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""" - - 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") - ] = 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_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_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_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.""" - - @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.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( - [ - "pipeline", - "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 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)) - - 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 CreateOutputSystemByPackPqControlsGoogleChronicle(BaseModel): - pass - - -class CreateOutputSystemByPackOutputGoogleChronicleTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - 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]] - 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}""" - 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] - 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] - 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""" - 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 1MB.""" - 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 CreateOutputSystemByPackOutputGoogleChronicle(BaseModel): - id: str - r"""Unique ID for this output""" - - type: CreateOutputSystemByPackTypeGoogleChronicle - - log_format_type: Annotated[ - CreateOutputSystemByPackSendEventsAs, pydantic.Field(alias="logFormatType") - ] - - 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}""" - - 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""" - - 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""" - - 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""" - - 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.""" - - 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 - - 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") - ] = 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 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsGoogleChronicle], - 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_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 - 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_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): - 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("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): - 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", - "apiVersion", - "authenticationMethod", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "region", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "failedRequestLoggingMode", - "safeHeaders", - "useRoundRobinDns", - "onBackpressure", - "totalMemoryLimitKB", - "description", - "extraLogTypes", - "logType", - "logTextField", - "customerId", - "namespace", - "customLabels", - "udmType", - "apiKey", - "apiKeySecret", - "serviceAccountCredentials", - "serviceAccountCredentialsSecret", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "__template_streamtags", - "__template_apiVersion", - "__template_region", - "__template_failedRequestLoggingMode", - "__template_onBackpressure", - "__template_customerId", - ] - ) - 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 CreateOutputSystemByPackTypeAzureEventhub(str, Enum): - AZURE_EVENTHUB = "azure_eventhub" - - -class CreateOutputSystemByPackPqControlsAzureEventhubTypedDict(TypedDict): - pass - - -class CreateOutputSystemByPackPqControlsAzureEventhub(BaseModel): - pass - - -class CreateOutputSystemByPackOutputAzureEventhubTypedDict(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.""" - 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[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] - 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 1MB.""" - 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_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.""" - - -class CreateOutputSystemByPackOutputAzureEventhub(BaseModel): - 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.""" - - 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}""" - - ack: Optional[AcknowledgmentsOptions] = None - r"""Control the number of required acknowledgments""" - - format_: Annotated[ - Optional[RecordDataFormatOptions], pydantic.Field(alias="format") - ] = None - r"""Format to use to serialize events before writing to the Event Hubs Kafka brokers""" - - 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.""" - - flush_event_count: Annotated[ - Optional[float], pydantic.Field(alias="flushEventCount") - ] = None - r"""Maximum number of events 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 Max record size.""" - - 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[AuthenticationTypeUse] = None - r"""Authentication parameters to use when connecting to brokers. 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 - - 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 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsAzureEventhub], - 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_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 - 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.""" - - @field_serializer("ack") - def serialize_ack(self, value): - if isinstance(value, str): - try: - return models.AcknowledgmentsOptions(value) - except ValueError: - return value - return value - - @field_serializer("format_") - def serialize_format_(self, value): - if isinstance(value, str): - try: - return models.RecordDataFormatOptions(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", - "ack", - "format", - "maxRecordSizeKB", - "flushEventCount", - "flushPeriodSec", - "connectionTimeout", - "requestTimeout", - "maxRetries", - "maxBackOff", - "initialBackoff", - "backoffRate", - "authenticationTimeout", - "reauthenticationThreshold", - "sasl", - "tls", - "onBackpressure", - "description", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "__template_streamtags", - "__template_brokers", - "__template_topic", - "__template_format", - "__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 CreateOutputSystemByPackTypeHoneycomb(str, Enum): - HONEYCOMB = "honeycomb" - - -class CreateOutputSystemByPackPqControlsHoneycombTypedDict(TypedDict): - pass - - -class CreateOutputSystemByPackPqControlsHoneycomb(BaseModel): - pass - - -class CreateOutputSystemByPackOutputHoneycombTypedDict(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""" - 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""" - 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] - 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 1MB.""" - 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.""" - - -class CreateOutputSystemByPackOutputHoneycomb(BaseModel): - id: str - r"""Unique ID for this output""" - - type: CreateOutputSystemByPackTypeHoneycomb - - 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""" - - 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}""" - - 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 - - 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 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsHoneycomb], - 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_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("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", - "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 = {} - - 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 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 CreateOutputSystemByPackPqControlsKinesisTypedDict(TypedDict): - pass - - -class CreateOutputSystemByPackPqControlsKinesis(BaseModel): - pass - - -class CreateOutputSystemByPackOutputKinesisTypedDict(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.""" - 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] - 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] - 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 1MB.""" - 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_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_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): - id: str - r"""Unique ID for this output""" - - type: CreateOutputSystemByPackTypeKinesis - - stream_name: Annotated[str, pydantic.Field(alias="streamName")] - r"""Kinesis stream name to send events to.""" - - 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""" - - 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"""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[CreateOutputSystemByPackCompression] = 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 - - 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 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsKinesis], - 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_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") - ] = 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("compression") - def serialize_compression(self, value): - if isinstance(value, str): - try: - return models.CreateOutputSystemByPackCompression(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 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] - 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 1MB.""" - 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.""" - - -class CreateOutputSystemByPackOutputAzureLogs(BaseModel): - id: str - r"""Unique ID for this output""" - - type: CreateOutputSystemByPackTypeAzureLogs - - 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.""" - - 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}""" - - 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""" - - 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 - - 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""" - - 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"), - ] = 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[CreateOutputSystemByPackAuthenticationMethodAzureLogs], - pydantic.Field(alias="authType"), - ] = None - r"""Enter workspace ID and workspace key directly, or select a stored secret""" - - 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.""" - - 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 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsAzureLogs], - 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.""" - - 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 'streamtags' to a variable 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_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): - 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.CreateOutputSystemByPackAuthenticationMethodAzureLogs( - 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 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): - 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: 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]] - 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[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.""" - 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 1MB.""" - 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_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_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 CreateOutputSystemByPackOutputAzureDataExplorer(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""" - - 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""" - - 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}""" - - 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 - - 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""" - - 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""" - - remove_empty_dirs: Annotated[ - Optional[bool], pydantic.Field(alias="removeEmptyDirs") - ] = None - r"""Remove empty staging directories after moving files""" - - 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_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"""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""" - - 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") - ] = 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.""" - - max_concurrent_file_parts: Annotated[ - Optional[float], pydantic.Field(alias="maxConcurrentFileParts") - ] = None - r"""Maximum number of parts to upload in parallel per file""" - - 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""" - - add_id_to_stage_path: Annotated[ - Optional[bool], pydantic.Field(alias="addIdToStagePath") - ] = None - r"""Add the Output ID value to staging location""" - - retry_settings: Annotated[ - Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") - ] = None - - orphans: Optional[OrphanFileRecoveryType] = 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""" - - 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") - ] = None - r"""Prevent blob deletion after ingestion is complete""" - - extent_tags: Annotated[ - Optional[List[CreateOutputSystemByPackExtentTag]], - pydantic.Field(alias="extentTags"), - ] = None - r"""Strings or tags associated with the extent (ingested data shard)""" - - ingest_if_not_exists: Annotated[ - Optional[List[CreateOutputSystemByPackIngestIfNotExist]], - pydantic.Field(alias="ingestIfNotExists"), - ] = None - r"""Prevents duplicate ingestion by verifying whether an extent with the specified ingest-by tag already exists""" - - report_level: Annotated[ - Optional[CreateOutputSystemByPackReportLevel], - pydantic.Field(alias="reportLevel"), - ] = None - r"""Level of ingestion status reporting. Defaults to FailuresOnly.""" - - report_method: Annotated[ - Optional[CreateOutputSystemByPackReportMethod], - pydantic.Field(alias="reportMethod"), - ] = None - r"""Target of the ingestion status reporting. Defaults to Queue.""" - - additional_properties: Annotated[ - Optional[List[CreateOutputSystemByPackAdditionalProperty]], - pydantic.Field(alias="additionalProperties"), - ] = None - r"""Optionally, enter additional configuration properties to send to the ingestion service""" - - 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""" - - 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") - ] = 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.""" - - 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"""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 1MB.""" - - 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.""" - - 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") - ] = 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") - ] = 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_mapping_ref: Annotated[ - Optional[str], pydantic.Field(alias="__template_mappingRef") - ] = 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.""" - - template_ingest_url: Annotated[ - Optional[str], pydantic.Field(alias="__template_ingestUrl") - ] = 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.""" - - 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") - ] = 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 - - @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 - - @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( - [ - "pipeline", - "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", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "flushPeriodSec", - "rejectUnauthorized", - "useRoundRobinDns", - "keepAlive", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "__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_onBackpressure", - "__template_fileNameSuffix", - ] - ) - 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 CreateOutputSystemByPackTypeAzureBlob(str, Enum): - AZURE_BLOB = "azure_blob" - - -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: 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.""" - 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}""" - 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.""" - 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] - 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""" - 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_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_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.""" - - -class CreateOutputSystemByPackOutputAzureBlob(BaseModel): - id: str - r"""Unique ID for this output""" - - type: CreateOutputSystemByPackTypeAzureBlob - - 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}""" - - create_container: Annotated[ - Optional[bool], pydantic.Field(alias="createContainer") - ] = None - 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 - 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 - - auth_type: Annotated[ - Optional[AuthenticationMethodOptions], pydantic.Field(alias="authType") - ] = None - - storage_class: Annotated[ - Optional[CreateOutputSystemByPackBlobAccessTier], - pydantic.Field(alias="storageClass"), - ] = 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") - ] = 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""" - - connection_string: Annotated[ - Optional[str], pydantic.Field(alias="connectionString") - ] = None - r"""Enter your Azure Storage account connection string. If left blank, Stream will fall back to env.AZURE_STORAGE_CONNECTION_STRING.""" - - 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"""The name of your Azure storage account""" - - 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"""Endpoint suffix for the service URL. Takes precedence over the Azure Cloud setting. Defaults to core.windows.net.""" - - client_text_secret: Annotated[ - Optional[str], pydantic.Field(alias="clientTextSecret") - ] = None - r"""Select or create a stored text secret""" - - certificate: Optional[CertificateTypeAzureBlobAuthTypeClientCert] = 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") - ] = 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.""" - - 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.""" - - 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") - ] = 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.""" - - 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_azure_cloud: Annotated[ - Optional[str], pydantic.Field(alias="__template_azureCloud") - ] = 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 - - @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("auth_type") - def serialize_auth_type(self, value): - if isinstance(value, str): - try: - return models.AuthenticationMethodOptions(value) - except ValueError: - return value - return value - - @field_serializer("storage_class") - def serialize_storage_class(self, value): - if isinstance(value, str): - try: - return models.CreateOutputSystemByPackBlobAccessTier(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", - "createContainer", - "destPath", - "addIdToStagePath", - "maxConcurrentFileParts", - "removeEmptyDirs", - "partitionExpr", - "format", - "baseFileName", - "fileNameSuffix", - "maxFileSizeMB", - "maxFileOpenTimeSec", - "maxFileIdleTimeSec", - "maxOpenFiles", - "headerLine", - "writeHighWaterMark", - "onBackpressure", - "deadletterEnabled", - "onDiskFullBackpressure", - "forceCloseOnShutdown", - "retrySettings", - "orphans", - "authType", - "storageClass", - "description", - "compress", - "compressionLevel", - "automaticSchema", - "parquetSchema", - "parquetVersion", - "parquetDataPageVersion", - "parquetRowGroupLength", - "parquetPageSize", - "shouldLogInvalidRows", - "keyValueMetadata", - "enableStatistics", - "enableWritePageIndex", - "enablePageChecksum", - "emptyDirCleanupSec", - "directoryBatchSize", - "deadletterPath", - "maxRetryNum", - "connectionString", - "textSecret", - "storageAccountName", - "tenantId", - "clientId", - "azureCloud", - "endpointSuffix", - "clientTextSecret", - "certificate", - "__template_streamtags", - "__template_containerName", - "__template_destPath", - "__template_partitionExpr", - "__template_format", - "__template_baseFileName", - "__template_fileNameSuffix", - "__template_onBackpressure", - "__template_compress", - "__template_parquetSchema", - "__template_connectionString", - "__template_storageAccountName", - "__template_tenantId", - "__template_clientId", - "__template_azureCloud", - ] - ) - 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 CreateOutputSystemByPackTypeS3(str, Enum): - S3 = "s3" - - -class CreateOutputSystemByPackOutputS3TypedDict(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}`""" - 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""" - 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[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] - 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_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_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 CreateOutputSystemByPackOutputS3(BaseModel): - 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}`""" - - 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""" - - 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 - - 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 - - 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 - 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_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 - 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_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 - 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("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("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): - 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", - "endpoint", - "enableAssumeRole", - "assumeRoleArn", - "assumeRoleExternalId", - "durationSeconds", - "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", - "kmsKeyId", - "description", - "awsApiKey", - "awsSecret", - "compress", - "compressionLevel", - "automaticSchema", - "parquetSchema", - "parquetVersion", - "parquetDataPageVersion", - "parquetRowGroupLength", - "parquetPageSize", - "shouldLogInvalidRows", - "keyValueMetadata", - "enableStatistics", - "enableWritePageIndex", - "enablePageChecksum", - "emptyDirCleanupSec", - "directoryBatchSize", - "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", - ] - ) - 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 CreateOutputSystemByPackTypeFilesystem(str, Enum): - FILESYSTEM = "filesystem" - - -class CreateOutputSystemByPackOutputFilesystemTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - 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]] - 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""" - 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""" - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable 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 CreateOutputSystemByPackOutputFilesystem(BaseModel): - id: str - r"""Unique ID for this output""" - - type: CreateOutputSystemByPackTypeFilesystem - - 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""" - - 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}""" - - 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") - ] = 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 - - 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_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("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( - [ - "pipeline", - "systemFields", - "environment", - "streamtags", - "stagePath", - "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", - "__template_streamtags", - "__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 - - -class CreateOutputSystemByPackTypeSignalfx(str, Enum): - SIGNALFX = "signalfx" - - -class CreateOutputSystemByPackPqControlsSignalfxTypedDict(TypedDict): - pass - - -class CreateOutputSystemByPackPqControlsSignalfx(BaseModel): - pass - - -class CreateOutputSystemByPackOutputSignalfxTypedDict(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).""" - 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[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] - 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 1MB.""" - 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] - 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 CreateOutputSystemByPackOutputSignalfx(BaseModel): - 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).""" - - 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}""" - - 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""" - - 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""" - - description: Optional[str] = None - - 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))""" - - 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_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 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsSignalfx], - 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_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("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("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", - "authType", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", - "failedRequestLoggingMode", - "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "onBackpressure", - "description", - "token", - "textSecret", - "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 CreateOutputSystemByPackTypeWavefront(str, Enum): - WAVEFRONT = "wavefront" - - -class CreateOutputSystemByPackPqControlsWavefrontTypedDict(TypedDict): - pass - - -class CreateOutputSystemByPackPqControlsWavefront(BaseModel): - pass - - -class CreateOutputSystemByPackOutputWavefrontTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - 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]] - 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[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] - 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] - 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 1MB.""" - 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.""" - - -class CreateOutputSystemByPackOutputWavefront(BaseModel): - id: str - r"""Unique ID for this output""" - - 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""" - - 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}""" - - 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""" - - 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""" - - description: Optional[str] = None - - token: Optional[str] = None - r"""WaveFront API authentication token (see [here](https://docs.wavefront.com/wavefront_api.html#generating-an-api-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_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 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsWavefront], - 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_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("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("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", - "authType", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", - "failedRequestLoggingMode", - "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "onBackpressure", - "description", - "token", - "textSecret", - "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 CreateOutputSystemByPackTypeTcpjson(str, Enum): - TCPJSON = "tcpjson" - - -class CreateOutputSystemByPackPqControlsTcpjsonTypedDict(TypedDict): - pass - - -class CreateOutputSystemByPackPqControlsTcpjson(BaseModel): - pass - - -class CreateOutputSystemByPackOutputTcpjsonTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeTcpjson - 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"""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] - 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] - 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 1MB.""" - 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_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): - id: str - r"""Unique ID for this output""" - - type: CreateOutputSystemByPackTypeTcpjson - - 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}""" - - load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( - None - ) - r"""Use load-balanced destinations""" - - compression: Optional[CompressionOptionsGzipNone] = None - r"""Codec to use to compress the data before sending""" - - log_failed_requests: Annotated[ - Optional[bool], pydantic.Field(alias="logFailedRequests") - ] = None - r"""Use to troubleshoot issues with sending data""" - - 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") - ] = 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""" - - 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 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.""" - - 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 - - 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""" - - 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 - 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 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsTcpjson], - 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_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): - if isinstance(value, str): - try: - return models.CompressionOptionsGzipNone(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.AuthenticationMethodOptionsAuthTokensItems(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", - "loadBalanced", - "compression", - "logFailedRequests", - "throttleRatePerSec", - "tls", - "connectionTimeout", - "writeTimeout", - "tokenTTLMinutes", - "sendHeader", - "onBackpressure", - "authType", - "description", - "host", - "port", - "excludeSelf", - "hosts", - "dnsResolvePeriodSec", - "loadBalanceStatsPeriodSec", - "maxConcurrentSenders", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "authToken", - "textSecret", - "__template_streamtags", - "__template_onBackpressure", - "__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 CreateOutputSystemByPackTypeWizHec(str, Enum): - WIZ_HEC = "wiz_hec" - - -class CreateOutputSystemByPackPqControlsWizHecTypedDict(TypedDict): - pass - - -class CreateOutputSystemByPackPqControlsWizHec(BaseModel): - pass - - -class CreateOutputSystemByPackOutputWizHecTypedDict(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 - 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}""" - 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.""" - 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 1MB.""" - 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_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 CreateOutputSystemByPackOutputWizHec(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 - - 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}""" - - 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"""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""" - - 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""" - - 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") - ] = 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 - - 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 1MB.""" - - pq_controls: Annotated[ - 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 - r"""Binds 'streamtags' to a variable 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_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): - if isinstance(value, str): - try: - return models.FailedRequestLoggingModeOptions(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 - - @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", - "nextQueue", - "tcpRouting", - "tls", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "failedRequestLoggingMode", - "safeHeaders", - "authType", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "onBackpressure", - "description", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "token", - "textSecret", - "__template_streamtags", - "__template_failedRequestLoggingMode", - "__template_onBackpressure", - "__template_wiz_environment", - "__template_data_center", - "__template_wiz_sourcetype", - ] - ) - 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 = {} - - 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 CreateOutputSystemByPackPqControlsSplunkHecTypedDict(TypedDict): - pass - - -class CreateOutputSystemByPackPqControlsSplunkHec(BaseModel): - pass - - -class CreateOutputSystemByPackOutputSplunkHecTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeSplunkHec - 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.""" - 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, 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] - 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] - 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 1MB.""" - 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_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 CreateOutputSystemByPackOutputSplunkHec(BaseModel): - id: str - r"""Unique ID for this output""" - - type: CreateOutputSystemByPackTypeSplunkHec - - 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}""" - - 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.""" - - 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"""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""" - - 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""" - - 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"), - ] = 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") - ] = 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 - - 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""" - - 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 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsSplunkHec], - 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_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.""" - - @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("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): - 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", - "loadBalanced", - "nextQueue", - "tcpRouting", - "tls", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "failedRequestLoggingMode", - "safeHeaders", - "enableMultiMetrics", - "authType", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "onBackpressure", - "description", - "url", - "useRoundRobinDns", - "excludeSelf", - "urls", - "dnsResolvePeriodSec", - "loadBalanceStatsPeriodSec", - "token", - "textSecret", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "__template_streamtags", - "__template_failedRequestLoggingMode", - "__template_onBackpressure", - "__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 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 CreateOutputSystemByPackPqControlsSplunkLb(BaseModel): - pass - - -class CreateOutputSystemByPackOutputSplunkLbTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - 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]] - 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"""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] - 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.""" - 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 - ] - 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] - 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 1MB.""" - 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_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 CreateOutputSystemByPackOutputSplunkLb(BaseModel): - id: str - r"""Unique ID for this output""" - - type: CreateOutputSystemByPackTypeSplunkLb - - 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""" - - 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"""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 - 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.""" - - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") - ] = 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 - - 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.""" - - 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.""" - - log_failed_requests: Annotated[ - Optional[bool], pydantic.Field(alias="logFailedRequests") - ] = None - r"""Use to troubleshoot issues with sending data""" - - max_s2_sversion: Annotated[ - Optional[MaxS2SVersionOptions], pydantic.Field(alias="maxS2Sversion") - ] = 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""" - - 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"), - ] = None - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - - description: Optional[str] = None - - 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.""" - - 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 - 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 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsSplunkLb], - 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") - ] = 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.""" - - @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): - 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.AuthenticationMethodOptionsAuthTokensItems(value) - except ValueError: - return value - return value - - @field_serializer("compress") - def serialize_compress(self, value): - if isinstance(value, str): - try: - return models.CompressionOptions(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", - "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 = {} - - 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 CreateOutputSystemByPackTypeSplunk(str, Enum): - SPLUNK = "splunk" - - -class CreateOutputSystemByPackPqControlsSplunkTypedDict(TypedDict): - pass - - -class CreateOutputSystemByPackPqControlsSplunk(BaseModel): - pass - - -class CreateOutputSystemByPackOutputSplunkTypedDict(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""" - 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}""" - 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] - 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""" - 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.""" - 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 1MB.""" - 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 CreateOutputSystemByPackOutputSplunk(BaseModel): - 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""" - - 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}""" - - nested_fields: Annotated[ - Optional[NestedFieldSerializationOptions], pydantic.Field(alias="nestedFields") - ] = None - 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.""" - - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") - ] = 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 - - 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.""" - - 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.""" - - log_failed_requests: Annotated[ - Optional[bool], pydantic.Field(alias="logFailedRequests") - ] = None - r"""Use to troubleshoot issues with sending data""" - - max_s2_sversion: Annotated[ - Optional[MaxS2SVersionOptions], pydantic.Field(alias="maxS2Sversion") - ] = 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""" - - 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 - - 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.""" - - 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 1MB.""" - - pq_controls: Annotated[ - 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 - r"""Binds 'streamtags' to a variable 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 - 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.""" - - @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): - 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.AuthenticationMethodOptionsAuthTokensItems(value) - except ValueError: - return value - return value - - @field_serializer("compress") - def serialize_compress(self, value): - if isinstance(value, str): - try: - return models.CompressionOptions(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", - "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 - - -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 CreateOutputSystemByPackTimestampFormat(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Timestamp format to use when serializing event's time field""" - - # Syslog - SYSLOG = "syslog" - # ISO8601 - ISO8601 = "iso8601" - - -class CreateOutputSystemByPackPqControlsSyslogTypedDict(TypedDict): - pass - - -class CreateOutputSystemByPackPqControlsSyslog(BaseModel): - pass - - -class CreateOutputSystemByPackOutputSyslogTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeSyslog - 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[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] - 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""" - 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] - 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 1MB.""" - 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_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.""" - - -class CreateOutputSystemByPackOutputSyslog(BaseModel): - id: str - r"""Unique ID for this output""" - - type: CreateOutputSystemByPackTypeSyslog - - 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[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"), - ] = None - r"""Timestamp format to use when serializing event's time field""" - - 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") - ] = None - r"""Use to troubleshoot issues with sending data""" - - description: Optional[str] = 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.""" - - 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""" - - 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.""" - - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") - ] = 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 - - 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") - ] = None - 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: 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.""" - - 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.""" - - 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 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsSyslog], - 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_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_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 - - @field_serializer("facility") - def serialize_facility(self, value): - if isinstance(value, str): - try: - return models.CreateOutputSystemByPackFacility(value) - except ValueError: - return value - return value - - @field_serializer("severity") - def serialize_severity(self, value): - if isinstance(value, str): - try: - return models.CreateOutputSystemByPackSeveritySyslog(value) - except ValueError: - return value - return value - - @field_serializer("message_format") - def serialize_message_format(self, value): - if isinstance(value, str): - try: - return models.CreateOutputSystemByPackMessageFormat(value) - except ValueError: - return value - return value - - @field_serializer("timestamp_format") - def serialize_timestamp_format(self, value): - if isinstance(value, str): - try: - return models.CreateOutputSystemByPackTimestampFormat(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", - "facility", - "severity", - "appName", - "messageFormat", - "timestampFormat", - "throttleRatePerSec", - "octetCountFraming", - "logFailedRequests", - "description", - "loadBalanced", - "host", - "port", - "excludeSelf", - "hosts", - "dnsResolvePeriodSec", - "loadBalanceStatsPeriodSec", - "maxConcurrentSenders", - "connectionTimeout", - "writeTimeout", - "tls", - "onBackpressure", - "maxRecordSize", - "udpDnsResolvePeriodSec", - "enableIpSpoofing", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "__template_streamtags", - "__template_host", - "__template_port", - "__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 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.""" - - @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)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -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: 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]] - 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}""" - 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.""" - 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.""" - 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 1MB.""" - 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""" - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable 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_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): - 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""" - - 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}""" - - 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.""" - - 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[CreateOutputSystemByPackAuthType], pydantic.Field(alias="authType") - ] = 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.""" - - description: Optional[str] = None - - format_: Annotated[ - Optional[CreateOutputSystemByPackFormatSentinel], pydantic.Field(alias="format") - ] = None - - 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 1MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsSentinel], - 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")] = ( - 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.""" - - @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.CreateOutputSystemByPackAuthType(value) - except ValueError: - return value - return value - - @field_serializer("endpoint_url_configuration") - def serialize_endpoint_url_configuration(self, value): - if isinstance(value, str): - try: - return models.CreateOutputSystemByPackEndpointConfiguration(value) - except ValueError: - return value - return value - - @field_serializer("format_") - def serialize_format_(self, value): - if isinstance(value, str): - try: - return models.CreateOutputSystemByPackFormatSentinel(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", - "keepAlive", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", - "failedRequestLoggingMode", - "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "onBackpressure", - "authType", - "scope", - "totalMemoryLimitKB", - "description", - "format", - "customSourceExpression", - "customDropWhenNull", - "customEventDelimiter", - "customContentType", - "customPayloadExpression", - "advancedContentType", - "formatEventCode", - "formatPayloadCode", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "url", - "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) - 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 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" + CreateOutputSystemByPackOutputRouterTypedDict, + CreateOutputSystemByPackOutputScalityS3, + CreateOutputSystemByPackOutputScalityS3TypedDict, + CreateOutputSystemByPackOutputSecurityLake, + CreateOutputSystemByPackOutputSecurityLakeTypedDict, + CreateOutputSystemByPackOutputSentinelOneAiSiem, + CreateOutputSystemByPackOutputSentinelOneAiSiemTypedDict, + CreateOutputSystemByPackOutputServiceNow, + CreateOutputSystemByPackOutputServiceNowTypedDict, + CreateOutputSystemByPackOutputSnmp, + CreateOutputSystemByPackOutputSnmpTypedDict, + CreateOutputSystemByPackOutputSns, + CreateOutputSystemByPackOutputSnsTypedDict, + CreateOutputSystemByPackOutputSqs, + CreateOutputSystemByPackOutputSqsTypedDict, + CreateOutputSystemByPackOutputStorjS3, + CreateOutputSystemByPackOutputStorjS3TypedDict, + CreateOutputSystemByPackOutputSumoLogic, + CreateOutputSystemByPackOutputSumoLogicTypedDict, + 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 .refreshrequestparamconfhealthcheckauthenticationoauthsecret import ( + RefreshRequestParamConfHealthCheckAuthenticationOauthSecret, + RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict, +) +from .responseretrysettingconfoutputwebhook import ( + ResponseRetrySettingConfOutputWebhook, + ResponseRetrySettingConfOutputWebhookTypedDict, +) +from .timeoutretrysettingstype import ( + TimeoutRetrySettingsType, + TimeoutRetrySettingsTypeTypedDict, +) +from .tlssettingsclientsidetypecapathcertpathextended import ( + TLSSettingsClientSideTypeCaPathCertPathExtended, + TLSSettingsClientSideTypeCaPathCertPathExtendedTypedDict, +) +from cribl_control_plane import models, utils +from cribl_control_plane.types import BaseModel, Nullable, UNSET_SENTINEL +from cribl_control_plane.utils import ( + FieldMetadata, + PathParamMetadata, + RequestMetadata, + get_discriminator, +) +from enum import Enum +import pydantic +from pydantic import Discriminator, Tag, field_serializer, model_serializer +from typing import List, Optional, Union +from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict class CreateOutputSystemByPackOutputWebhookAuthenticationType2( @@ -17188,7 +295,7 @@ class CreateOutputSystemByPackOutputWebhookWebhook2TypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" method: NotRequired[MethodOptions] r"""The method to use when sending events""" format_: NotRequired[CreateOutputSystemByPackOutputWebhookFormat2] @@ -17237,6 +344,7 @@ class CreateOutputSystemByPackOutputWebhookWebhook2TypedDict(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] @@ -17274,7 +382,7 @@ class CreateOutputSystemByPackOutputWebhookWebhook2TypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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] @@ -17300,6 +408,16 @@ class CreateOutputSystemByPackOutputWebhookWebhook2TypedDict(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.""" + refresh_token_field: NotRequired[str] + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, @{product} will use the refresh token to obtain new access tokens without re-sending credentials.""" + rotate_refresh_token: NotRequired[bool] + r"""@{product} will update the stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + refresh_url: NotRequired[str] + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + refresh_request_params: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict] + ] + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, @{product} sends only grant_type, refresh_token, and client_secret.""" url: NotRequired[str] r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" exclude_self: NotRequired[bool] @@ -17318,6 +436,8 @@ 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_refresh_url: NotRequired[str] + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' 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.""" @@ -17342,7 +462,7 @@ class CreateOutputSystemByPackOutputWebhookWebhook2(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" method: Optional[MethodOptions] = None r"""The method to use when sending events""" @@ -17449,6 +569,7 @@ class CreateOutputSystemByPackOutputWebhookWebhook2(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") @@ -17537,7 +658,7 @@ class CreateOutputSystemByPackOutputWebhookWebhook2(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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], @@ -17597,6 +718,25 @@ class CreateOutputSystemByPackOutputWebhookWebhook2(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.""" + refresh_token_field: Annotated[ + Optional[str], pydantic.Field(alias="refreshTokenField") + ] = None + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, @{product} will use the refresh token to obtain new access tokens without re-sending credentials.""" + + rotate_refresh_token: Annotated[ + Optional[bool], pydantic.Field(alias="rotateRefreshToken") + ] = None + r"""@{product} will update the stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + + refresh_url: Annotated[Optional[str], pydantic.Field(alias="refreshUrl")] = None + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + + refresh_request_params: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecret]], + pydantic.Field(alias="refreshRequestParams"), + ] = None + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, @{product} sends only grant_type, refresh_token, and client_secret.""" + url: Optional[str] = None r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" @@ -17638,6 +778,11 @@ 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_refresh_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_refreshUrl") + ] = None + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( None ) @@ -17781,6 +926,10 @@ def serialize_model(self, handler): "tokenTimeoutSecs", "oauthParams", "oauthHeaders", + "refreshTokenField", + "rotateRefreshToken", + "refreshUrl", + "refreshRequestParams", "url", "excludeSelf", "dnsResolvePeriodSec", @@ -17790,6 +939,7 @@ def serialize_model(self, handler): "__template_onBackpressure", "__template_loginUrl", "__template_secret", + "__template_refreshUrl", "__template_url", ] ) @@ -17904,7 +1054,7 @@ class CreateOutputSystemByPackOutputWebhookWebhook1TypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" method: NotRequired[MethodOptions] r"""The method to use when sending events""" format_: NotRequired[CreateOutputSystemByPackOutputWebhookFormat1] @@ -17953,6 +1103,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] @@ -17990,7 +1141,7 @@ class CreateOutputSystemByPackOutputWebhookWebhook1TypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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] @@ -18016,6 +1167,16 @@ 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.""" + refresh_token_field: NotRequired[str] + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, @{product} will use the refresh token to obtain new access tokens without re-sending credentials.""" + rotate_refresh_token: NotRequired[bool] + r"""@{product} will update the stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + refresh_url: NotRequired[str] + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + refresh_request_params: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict] + ] + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, @{product} sends only grant_type, refresh_token, and client_secret.""" exclude_self: NotRequired[bool] r"""Exclude all IPs of the current host from the list of any resolved hostnames""" urls: NotRequired[List[CreateOutputSystemByPackOutputWebhookURL1TypedDict]] @@ -18033,6 +1194,8 @@ class CreateOutputSystemByPackOutputWebhookWebhook1TypedDict(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_refresh_url: NotRequired[str] + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' 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.""" @@ -18058,7 +1221,7 @@ class CreateOutputSystemByPackOutputWebhookWebhook1(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" method: Optional[MethodOptions] = None r"""The method to use when sending events""" @@ -18165,6 +1328,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") @@ -18253,7 +1417,7 @@ class CreateOutputSystemByPackOutputWebhookWebhook1(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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], @@ -18313,6 +1477,25 @@ 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.""" + refresh_token_field: Annotated[ + Optional[str], pydantic.Field(alias="refreshTokenField") + ] = None + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, @{product} will use the refresh token to obtain new access tokens without re-sending credentials.""" + + rotate_refresh_token: Annotated[ + Optional[bool], pydantic.Field(alias="rotateRefreshToken") + ] = None + r"""@{product} will update the stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + + refresh_url: Annotated[Optional[str], pydantic.Field(alias="refreshUrl")] = None + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + + refresh_request_params: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecret]], + pydantic.Field(alias="refreshRequestParams"), + ] = None + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, @{product} sends only grant_type, refresh_token, and client_secret.""" + 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""" @@ -18353,6 +1536,11 @@ class CreateOutputSystemByPackOutputWebhookWebhook1(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_refresh_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_refreshUrl") + ] = None + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( None ) @@ -18496,6 +1684,10 @@ def serialize_model(self, handler): "tokenTimeoutSecs", "oauthParams", "oauthHeaders", + "refreshTokenField", + "rotateRefreshToken", + "refreshUrl", + "refreshRequestParams", "excludeSelf", "urls", "dnsResolvePeriodSec", @@ -18505,6 +1697,7 @@ def serialize_model(self, handler): "__template_onBackpressure", "__template_loginUrl", "__template_secret", + "__template_refreshUrl", "__template_url", ] ) @@ -18557,7 +1750,7 @@ class CreateOutputSystemByPackOutputDefaultTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -18583,7 +1776,7 @@ class CreateOutputSystemByPackOutputDefault(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") @@ -18630,71 +1823,76 @@ def serialize_model(self, handler): CreateOutputSystemByPackOutputDevnullTypedDict, CreateOutputSystemByPackOutputDefaultTypedDict, CreateOutputSystemByPackOutputRouterTypedDict, - CreateOutputSystemByPackOutputSnmpTypedDict, CreateOutputSystemByPackOutputNetflowTypedDict, + CreateOutputSystemByPackOutputSnmpTypedDict, CreateOutputSystemByPackOutputDiskSpoolTypedDict, CreateOutputSystemByPackOutputRingTypedDict, + CreateOutputSystemByPackOutputStatsdTypedDict, CreateOutputSystemByPackOutputGraphiteTypedDict, CreateOutputSystemByPackOutputStatsdExtTypedDict, - CreateOutputSystemByPackOutputStatsdTypedDict, + CreateOutputSystemByPackOutputGoogleBigqueryTypedDict, CreateOutputSystemByPackOutputGooglePubsubTypedDict, - CreateOutputSystemByPackOutputCriblTCPTypedDict, - CreateOutputSystemByPackOutputHoneycombTypedDict, + CreateOutputSystemByPackOutputGoogleCloudObservabilityTypedDict, CreateOutputSystemByPackOutputWavefrontTypedDict, CreateOutputSystemByPackOutputSignalfxTypedDict, + CreateOutputSystemByPackOutputHoneycombTypedDict, + CreateOutputSystemByPackOutputCriblTCPTypedDict, CreateOutputSystemByPackOutputAzureEventhubTypedDict, CreateOutputSystemByPackOutputMicrosoftFabricTypedDict, - CreateOutputSystemByPackOutputSumoLogicTypedDict, - CreateOutputSystemByPackOutputCrowdstrikeNextGenSiemTypedDict, CreateOutputSystemByPackOutputHumioHecTypedDict, - CreateOutputSystemByPackOutputTcpjsonTypedDict, CreateOutputSystemByPackOutputSplunkTypedDict, + CreateOutputSystemByPackOutputSumoLogicTypedDict, + CreateOutputSystemByPackOutputTcpjsonTypedDict, CreateOutputSystemByPackOutputExabeamTypedDict, - CreateOutputSystemByPackOutputSnsTypedDict, + CreateOutputSystemByPackOutputCrowdstrikeNextGenSiemTypedDict, CreateOutputSystemByPackOutputElasticCloudTypedDict, - CreateOutputSystemByPackOutputKafkaTypedDict, + CreateOutputSystemByPackOutputSnsTypedDict, CreateOutputSystemByPackOutputAzureLogsTypedDict, + CreateOutputSystemByPackOutputKafkaTypedDict, CreateOutputSystemByPackOutputConfluentCloudTypedDict, - CreateOutputSystemByPackOutputSplunkLbTypedDict, CreateOutputSystemByPackOutputCloudwatchTypedDict, CreateOutputSystemByPackOutputSyslogTypedDict, - CreateOutputSystemByPackOutputPrometheusTypedDict, + CreateOutputSystemByPackOutputSplunkLbTypedDict, + CreateOutputSystemByPackOutputWizHecTypedDict, CreateOutputSystemByPackOutputNewrelicEventsTypedDict, - CreateOutputSystemByPackOutputNewrelicTypedDict, - CreateOutputSystemByPackOutputLokiTypedDict, CreateOutputSystemByPackOutputCriblHTTPTypedDict, - CreateOutputSystemByPackOutputDatasetTypedDict, - CreateOutputSystemByPackOutputWizHecTypedDict, + CreateOutputSystemByPackOutputKinesisTypedDict, CreateOutputSystemByPackOutputCriblSearchEngineTypedDict, + CreateOutputSystemByPackOutputLokiTypedDict, + CreateOutputSystemByPackOutputNewrelicTypedDict, CreateOutputSystemByPackOutputXsiamTypedDict, - CreateOutputSystemByPackOutputKinesisTypedDict, + CreateOutputSystemByPackOutputDatasetTypedDict, CreateOutputSystemByPackOutputDynatraceHTTPTypedDict, CreateOutputSystemByPackOutputSplunkHecTypedDict, + CreateOutputSystemByPackOutputFilesystemTypedDict, CreateOutputSystemByPackOutputDynatraceOtlpTypedDict, CreateOutputSystemByPackOutputServiceNowTypedDict, - CreateOutputSystemByPackOutputFilesystemTypedDict, + CreateOutputSystemByPackOutputCriblLakeTypedDict, CreateOutputSystemByPackOutputSqsTypedDict, + CreateOutputSystemByPackOutputAmazonManagedPrometheusTypedDict, CreateOutputSystemByPackOutputDatadogTypedDict, CreateOutputSystemByPackOutputInfluxdbTypedDict, - CreateOutputSystemByPackOutputSentinelOneAiSiemTypedDict, CreateOutputSystemByPackOutputElasticTypedDict, + CreateOutputSystemByPackOutputSentinelOneAiSiemTypedDict, CreateOutputSystemByPackOutputGoogleChronicleTypedDict, CreateOutputSystemByPackOutputClickHouseTypedDict, CreateOutputSystemByPackOutputChronicleTypedDict, + CreateOutputSystemByPackOutputCustomerMetricsStorageTypedDict, CreateOutputSystemByPackOutputLocalSearchStorageTypedDict, + CreateOutputSystemByPackOutputPrometheusTypedDict, CreateOutputSystemByPackOutputDatabricksTypedDict, - CreateOutputSystemByPackOutputAlphasocS3TypedDict, CreateOutputSystemByPackOutputMskTypedDict, - CreateOutputSystemByPackOutputCriblLakeTypedDict, + CreateOutputSystemByPackOutputAlphasocS3TypedDict, + CreateOutputSystemByPackOutputIbmCloudS3TypedDict, CreateOutputSystemByPackOutputStorjS3TypedDict, CreateOutputSystemByPackOutputOpenTelemetryTypedDict, - CreateOutputSystemByPackOutputAlibabaCloudS3TypedDict, CreateOutputSystemByPackOutputScalityS3TypedDict, - CreateOutputSystemByPackOutputSentinelTypedDict, CreateOutputSystemByPackOutputNutanixObjectsTypedDict, CreateOutputSystemByPackOutputDellS3TypedDict, CreateOutputSystemByPackOutputCloudflareR2TypedDict, + CreateOutputSystemByPackOutputSentinelTypedDict, CreateOutputSystemByPackOutputGoogleCloudStorageTypedDict, + CreateOutputSystemByPackOutputAlibabaCloudS3TypedDict, CreateOutputSystemByPackOutputAzureBlobTypedDict, CreateOutputSystemByPackOutputCloudianS3TypedDict, CreateOutputSystemByPackOutputMinioTypedDict, @@ -18703,8 +1901,8 @@ def serialize_model(self, handler): CreateOutputSystemByPackOutputDlS3TypedDict, CreateOutputSystemByPackOutputS3TypedDict, CreateOutputSystemByPackOutputAzureDataExplorerTypedDict, - CreateOutputSystemByPackOutputGrafanaCloudUnionTypedDict, CreateOutputSystemByPackOutputWebhookUnionTypedDict, + CreateOutputSystemByPackOutputGrafanaCloudUnionTypedDict, ], ) r"""Output object.""" @@ -18734,6 +1932,7 @@ def serialize_model(self, handler): Annotated[CreateOutputSystemByPackOutputKinesis, Tag("kinesis")], Annotated[CreateOutputSystemByPackOutputHoneycomb, Tag("honeycomb")], Annotated[CreateOutputSystemByPackOutputAzureEventhub, Tag("azure_eventhub")], + Annotated[CreateOutputSystemByPackOutputGoogleBigquery, Tag("google_bigquery")], Annotated[ CreateOutputSystemByPackOutputGoogleChronicle, Tag("google_chronicle") ], @@ -18745,6 +1944,10 @@ def serialize_model(self, handler): CreateOutputSystemByPackOutputGoogleCloudLogging, Tag("google_cloud_logging"), ], + Annotated[ + CreateOutputSystemByPackOutputGoogleCloudObservability, + Tag("google_cloud_observability"), + ], Annotated[CreateOutputSystemByPackOutputGooglePubsub, Tag("google_pubsub")], Annotated[CreateOutputSystemByPackOutputExabeam, Tag("exabeam")], Annotated[CreateOutputSystemByPackOutputKafka, Tag("kafka")], @@ -18770,6 +1973,10 @@ def serialize_model(self, handler): CreateOutputSystemByPackOutputGrafanaCloudUnion, Tag("grafana_cloud") ], Annotated[CreateOutputSystemByPackOutputLoki, Tag("loki")], + Annotated[ + CreateOutputSystemByPackOutputAmazonManagedPrometheus, + Tag("amazon_managed_prometheus"), + ], Annotated[CreateOutputSystemByPackOutputPrometheus, Tag("prometheus")], Annotated[CreateOutputSystemByPackOutputRing, Tag("ring")], Annotated[CreateOutputSystemByPackOutputOpenTelemetry, Tag("open_telemetry")], @@ -18790,6 +1997,10 @@ def serialize_model(self, handler): Annotated[CreateOutputSystemByPackOutputCriblLake, Tag("cribl_lake")], Annotated[CreateOutputSystemByPackOutputDiskSpool, Tag("disk_spool")], Annotated[CreateOutputSystemByPackOutputClickHouse, Tag("click_house")], + Annotated[ + CreateOutputSystemByPackOutputCustomerMetricsStorage, + Tag("customer_metrics_storage"), + ], Annotated[ CreateOutputSystemByPackOutputLocalSearchStorage, Tag("local_search_storage"), @@ -18816,6 +2027,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")), ] @@ -18842,166 +2054,6 @@ class CreateOutputSystemByPackRequest(BaseModel): r"""Output object.""" -try: - CreateOutputSystemByPackOutputStatsd.model_rebuild() -except NameError: - pass -try: - CreateOutputSystemByPackOutputMinio.model_rebuild() -except NameError: - pass -try: - CreateOutputSystemByPackOutputCloudwatch.model_rebuild() -except NameError: - pass -try: - CreateOutputSystemByPackOutputInfluxdb.model_rebuild() -except NameError: - pass -try: - CreateOutputSystemByPackOutputNewrelicEvents.model_rebuild() -except NameError: - pass -try: - CreateOutputSystemByPackOutputNewrelic.model_rebuild() -except NameError: - pass -try: - CreateOutputSystemByPackOutputElasticCloud.model_rebuild() -except NameError: - pass -try: - CreateOutputSystemByPackURLElastic.model_rebuild() -except NameError: - pass -try: - CreateOutputSystemByPackOutputElastic.model_rebuild() -except NameError: - pass -try: - CreateOutputSystemByPackOutputMsk.model_rebuild() -except NameError: - pass -try: - CreateOutputSystemByPackOutputConfluentCloud.model_rebuild() -except NameError: - pass -try: - CreateOutputSystemByPackOutputKafka.model_rebuild() -except NameError: - pass -try: - CreateOutputSystemByPackOutputExabeam.model_rebuild() -except NameError: - pass -try: - CreateOutputSystemByPackOutputGooglePubsub.model_rebuild() -except NameError: - pass -try: - CreateOutputSystemByPackOutputGoogleCloudLogging.model_rebuild() -except NameError: - pass -try: - CreateOutputSystemByPackOutputGoogleCloudStorage.model_rebuild() -except NameError: - pass -try: - CreateOutputSystemByPackExtraLogType.model_rebuild() -except NameError: - pass -try: - CreateOutputSystemByPackOutputGoogleChronicle.model_rebuild() -except NameError: - pass -try: - CreateOutputSystemByPackOutputAzureEventhub.model_rebuild() -except NameError: - pass -try: - CreateOutputSystemByPackOutputHoneycomb.model_rebuild() -except NameError: - pass -try: - CreateOutputSystemByPackOutputKinesis.model_rebuild() -except NameError: - pass -try: - CreateOutputSystemByPackOutputAzureLogs.model_rebuild() -except NameError: - pass -try: - CreateOutputSystemByPackCertificate.model_rebuild() -except NameError: - pass -try: - CreateOutputSystemByPackOutputAzureDataExplorer.model_rebuild() -except NameError: - pass -try: - CreateOutputSystemByPackOutputAzureBlob.model_rebuild() -except NameError: - pass -try: - CreateOutputSystemByPackOutputS3.model_rebuild() -except NameError: - pass -try: - CreateOutputSystemByPackOutputFilesystem.model_rebuild() -except NameError: - pass -try: - CreateOutputSystemByPackOutputSignalfx.model_rebuild() -except NameError: - pass -try: - CreateOutputSystemByPackOutputWavefront.model_rebuild() -except NameError: - pass -try: - CreateOutputSystemByPackOutputTcpjson.model_rebuild() -except NameError: - pass -try: - CreateOutputSystemByPackOutputWizHec.model_rebuild() -except NameError: - pass -try: - CreateOutputSystemByPackURLSplunkHec.model_rebuild() -except NameError: - pass -try: - CreateOutputSystemByPackOutputSplunkHec.model_rebuild() -except NameError: - pass -try: - CreateOutputSystemByPackAuthToken.model_rebuild() -except NameError: - pass -try: - CreateOutputSystemByPackIndexerDiscoveryConfigs.model_rebuild() -except NameError: - pass -try: - CreateOutputSystemByPackOutputSplunkLb.model_rebuild() -except NameError: - pass -try: - CreateOutputSystemByPackOutputSplunk.model_rebuild() -except NameError: - pass -try: - CreateOutputSystemByPackOutputSyslog.model_rebuild() -except NameError: - pass -try: - CreateOutputSystemByPackOutputDevnull.model_rebuild() -except NameError: - pass -try: - CreateOutputSystemByPackOutputSentinel.model_rebuild() -except NameError: - pass try: CreateOutputSystemByPackOutputWebhookURL2.model_rebuild() except NameError: diff --git a/src/cribl_control_plane/models/createconfiggroupbyproductop.py b/src/cribl_control_plane/models/createproductsgroupsbyproductop.py similarity index 92% rename from src/cribl_control_plane/models/createconfiggroupbyproductop.py rename to src/cribl_control_plane/models/createproductsgroupsbyproductop.py index cf1cd3a39..8e1a33151 100644 --- a/src/cribl_control_plane/models/createconfiggroupbyproductop.py +++ b/src/cribl_control_plane/models/createproductsgroupsbyproductop.py @@ -10,14 +10,14 @@ from typing_extensions import Annotated, TypedDict -class CreateConfigGroupByProductRequestTypedDict(TypedDict): +class CreateProductsGroupsByProductRequestTypedDict(TypedDict): product: ProductsCore r"""Name of the Cribl product to add the Worker Group, Outpost Group, or Edge Fleet to.""" group_create_request: GroupCreateRequestTypedDict r"""GroupCreateRequest object.""" -class CreateConfigGroupByProductRequest(BaseModel): +class CreateProductsGroupsByProductRequest(BaseModel): product: Annotated[ ProductsCore, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)), diff --git a/src/cribl_control_plane/models/cribllakedataset.py b/src/cribl_control_plane/models/cribllakedataset.py index a68255b42..beb2ce4dc 100644 --- a/src/cribl_control_plane/models/cribllakedataset.py +++ b/src/cribl_control_plane/models/cribllakedataset.py @@ -32,7 +32,7 @@ class CriblLakeDatasetTypedDict(TypedDict): format_: NotRequired[FormatOptionsCriblLakeDataset] r"""Storage format used for data persisted in the Dataset.""" http_da_used: NotRequired[bool] - r"""If true, the Dataset is used by Direct Access HTTP.""" + r"""If true, the Dataset is used by Direct Access HTTP. Otherwise, false.""" metrics: NotRequired[LakeDatasetMetricsTypedDict] retention_period_in_days: NotRequired[int] r"""Dataset retention period, in days.""" @@ -40,7 +40,7 @@ class CriblLakeDatasetTypedDict(TypedDict): storage_class: NotRequired[StorageClassOptionsCriblLakeDataset] r"""Storage class used for objects written to the Dataset.""" storage_location_id: NotRequired[str] - r"""Identifier for the Storage Location that backs the Dataset. Mutually exclusive with bucketName.""" + r"""Unique identifier for the Storage Location that backs the Dataset. Mutually exclusive with bucketName.""" view_name: NotRequired[str] r"""Name of the ClickHouse view for the Dataset on the Lakehouse.""" @@ -75,7 +75,7 @@ class CriblLakeDataset(BaseModel): r"""Storage format used for data persisted in the Dataset.""" http_da_used: Annotated[Optional[bool], pydantic.Field(alias="httpDAUsed")] = None - r"""If true, the Dataset is used by Direct Access HTTP.""" + r"""If true, the Dataset is used by Direct Access HTTP. Otherwise, false.""" metrics: Optional[LakeDatasetMetrics] = None @@ -97,7 +97,7 @@ class CriblLakeDataset(BaseModel): storage_location_id: Annotated[ Optional[str], pydantic.Field(alias="storageLocationId") ] = None - r"""Identifier for the Storage Location that backs the Dataset. Mutually exclusive with bucketName.""" + r"""Unique identifier for the Storage Location that backs the Dataset. Mutually exclusive with bucketName.""" view_name: Annotated[Optional[str], pydantic.Field(alias="viewName")] = None r"""Name of the ClickHouse view for the Dataset on the Lakehouse.""" diff --git a/src/cribl_control_plane/models/cribllakedatasetupdate.py b/src/cribl_control_plane/models/cribllakedatasetupdate.py index f766329ae..8e59cee86 100644 --- a/src/cribl_control_plane/models/cribllakedatasetupdate.py +++ b/src/cribl_control_plane/models/cribllakedatasetupdate.py @@ -30,9 +30,9 @@ class CriblLakeDatasetUpdateTypedDict(TypedDict): format_: NotRequired[FormatOptionsCriblLakeDataset] r"""Storage format used for data persisted in the Dataset.""" http_da_used: NotRequired[bool] - r"""If true, the Dataset is used by Direct Access HTTP.""" + r"""If true, the Dataset is used by Direct Access HTTP. Otherwise, false.""" id: NotRequired[str] - r"""Dataset identifier. Optional; the path parameter id is authoritative.""" + r"""Unique identifier for the Dataset. Optional; the path parameter id is authoritative.""" metrics: NotRequired[LakeDatasetMetricsTypedDict] retention_period_in_days: NotRequired[int] r"""Dataset retention period, in days.""" @@ -40,7 +40,7 @@ class CriblLakeDatasetUpdateTypedDict(TypedDict): storage_class: NotRequired[StorageClassOptionsCriblLakeDataset] r"""Storage class used for objects written to the Dataset.""" storage_location_id: NotRequired[str] - r"""Identifier for the Storage Location that backs the Dataset. Mutually exclusive with bucketName.""" + r"""Unique identifier for the Storage Location that backs the Dataset. Mutually exclusive with bucketName.""" view_name: NotRequired[str] r"""Name of the ClickHouse view for the Dataset on the Lakehouse.""" @@ -72,10 +72,10 @@ class CriblLakeDatasetUpdate(BaseModel): r"""Storage format used for data persisted in the Dataset.""" http_da_used: Annotated[Optional[bool], pydantic.Field(alias="httpDAUsed")] = None - r"""If true, the Dataset is used by Direct Access HTTP.""" + r"""If true, the Dataset is used by Direct Access HTTP. Otherwise, false.""" id: Optional[str] = None - r"""Dataset identifier. Optional; the path parameter id is authoritative.""" + r"""Unique identifier for the Dataset. Optional; the path parameter id is authoritative.""" metrics: Optional[LakeDatasetMetrics] = None @@ -97,7 +97,7 @@ class CriblLakeDatasetUpdate(BaseModel): storage_location_id: Annotated[ Optional[str], pydantic.Field(alias="storageLocationId") ] = None - r"""Identifier for the Storage Location that backs the Dataset. Mutually exclusive with bucketName.""" + r"""Unique identifier for the Storage Location that backs the Dataset. Mutually exclusive with bucketName.""" view_name: Annotated[Optional[str], pydantic.Field(alias="viewName")] = None r"""Name of the ClickHouse view for the Dataset on the Lakehouse.""" diff --git a/src/cribl_control_plane/models/currentbranchresult.py b/src/cribl_control_plane/models/currentbranchresult.py index 7f3ad2d7e..384b3f0ee 100644 --- a/src/cribl_control_plane/models/currentbranchresult.py +++ b/src/cribl_control_plane/models/currentbranchresult.py @@ -7,7 +7,9 @@ class CurrentBranchResultTypedDict(TypedDict): branch: str + r"""Name of the Git branch that the Cribl configuration is currently checked out to.""" class CurrentBranchResult(BaseModel): branch: str + r"""Name of the Git branch that the Cribl configuration is currently checked out to.""" diff --git a/src/cribl_control_plane/models/customlogotypesystemsettingsconf.py b/src/cribl_control_plane/models/customlogotypesystemsettingsconf.py index a4bcee3f1..c64416cd8 100644 --- a/src/cribl_control_plane/models/customlogotypesystemsettingsconf.py +++ b/src/cribl_control_plane/models/customlogotypesystemsettingsconf.py @@ -9,19 +9,29 @@ class CustomLogoTypeSystemSettingsConfTypedDict(TypedDict): + r"""Custom logo configuration for the Cribl UI login page and navigation bar.""" + enabled: bool + r"""If true, display the custom logo in the UI. Otherwise, false.""" logo_description: NotRequired[str] + r"""Description text displayed alongside the custom logo.""" logo_image: NotRequired[str] + r"""Custom logo image as a base64-encoded data URI (PNG or JPEG, maximum 2 MB).""" class CustomLogoTypeSystemSettingsConf(BaseModel): + r"""Custom logo configuration for the Cribl UI login page and navigation bar.""" + enabled: bool + r"""If true, display the custom logo in the UI. Otherwise, false.""" logo_description: Annotated[ Optional[str], pydantic.Field(alias="logoDescription") ] = None + r"""Description text displayed alongside the custom logo.""" logo_image: Annotated[Optional[str], pydantic.Field(alias="logoImage")] = None + r"""Custom logo image as a base64-encoded data URI (PNG or JPEG, maximum 2 MB).""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/databaseconnectionauthtype.py b/src/cribl_control_plane/models/databaseconnectionauthtype.py new file mode 100644 index 000000000..d5932ce37 --- /dev/null +++ b/src/cribl_control_plane/models/databaseconnectionauthtype.py @@ -0,0 +1,12 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from cribl_control_plane import utils +from enum import Enum + + +class DatabaseConnectionAuthType(str, Enum, metaclass=utils.OpenEnumMeta): + CONFIG_OBJ = "configObj" + CONNECTION_STRING = "connectionString" + SECRET = "secret" + SECRETS = "secrets" diff --git a/src/cribl_control_plane/models/databaseconnectionconfig.py b/src/cribl_control_plane/models/databaseconnectionconfig.py index 18fe5d343..aa9bf4699 100644 --- a/src/cribl_control_plane/models/databaseconnectionconfig.py +++ b/src/cribl_control_plane/models/databaseconnectionconfig.py @@ -1,7 +1,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations +from .databaseconnectionauthtype import DatabaseConnectionAuthType from .databaseconnectiontype import DatabaseConnectionType +from .tlsclientparams import TLSClientParams, TLSClientParamsTypedDict from cribl_control_plane import models from cribl_control_plane.types import BaseModel, UNSET_SENTINEL import pydantic @@ -11,55 +13,91 @@ class DatabaseConnectionConfigTypedDict(TypedDict): - auth_type: str + auth_type: DatabaseConnectionAuthType database_type: DatabaseConnectionType description: str + r"""Brief description of the Database Connection.""" id: str + r"""Unique identifier for the Database Connection.""" config_obj: NotRequired[str] + r"""JSON configuration object for advanced SQL Server connection settings.""" connection_string: NotRequired[str] - connection_timeout: NotRequired[float] + r"""Database connection string with embedded credentials or server information.""" + connection_timeout: NotRequired[int] + r"""Maximum time (in milliseconds) to wait when establishing the database connection.""" creds_secrets: NotRequired[str] + r"""Name of the stored credentials secret containing username and password. Used with Oracle connections.""" password: NotRequired[str] - request_timeout: NotRequired[float] + r"""Database password for authentication. Used with Oracle connections.""" + request_timeout: NotRequired[int] + r"""Maximum time (in milliseconds) to wait for a database query to complete. Applies to SQL Server connections only.""" tags: NotRequired[str] + r"""Comma-separated list of tags for categorizing and filtering Database Connections.""" text_secret: NotRequired[str] + r"""Name of the stored text secret containing the connection string.""" + tls: NotRequired[TLSClientParamsTypedDict] + r"""TLS client connection settings.""" user: NotRequired[str] + r"""Database username for authentication. Used with Oracle connections.""" class DatabaseConnectionConfig(BaseModel): - auth_type: Annotated[str, pydantic.Field(alias="authType")] + auth_type: Annotated[DatabaseConnectionAuthType, pydantic.Field(alias="authType")] database_type: Annotated[ DatabaseConnectionType, pydantic.Field(alias="databaseType") ] description: str + r"""Brief description of the Database Connection.""" id: str + r"""Unique identifier for the Database Connection.""" config_obj: Annotated[Optional[str], pydantic.Field(alias="configObj")] = None + r"""JSON configuration object for advanced SQL Server connection settings.""" connection_string: Annotated[ Optional[str], pydantic.Field(alias="connectionString") ] = None + r"""Database connection string with embedded credentials or server information.""" connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") + Optional[int], pydantic.Field(alias="connectionTimeout") ] = None + r"""Maximum time (in milliseconds) to wait when establishing the database connection.""" creds_secrets: Annotated[Optional[str], pydantic.Field(alias="credsSecrets")] = None + r"""Name of the stored credentials secret containing username and password. Used with Oracle connections.""" password: Optional[str] = None + r"""Database password for authentication. Used with Oracle connections.""" request_timeout: Annotated[ - Optional[float], pydantic.Field(alias="requestTimeout") + Optional[int], pydantic.Field(alias="requestTimeout") ] = None + r"""Maximum time (in milliseconds) to wait for a database query to complete. Applies to SQL Server connections only.""" tags: Optional[str] = None + r"""Comma-separated list of tags for categorizing and filtering Database Connections.""" text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Name of the stored text secret containing the connection string.""" + + tls: Optional[TLSClientParams] = None + r"""TLS client connection settings.""" user: Optional[str] = None + r"""Database username for authentication. Used with Oracle connections.""" + + @field_serializer("auth_type") + def serialize_auth_type(self, value): + if isinstance(value, str): + try: + return models.DatabaseConnectionAuthType(value) + except ValueError: + return value + return value @field_serializer("database_type") def serialize_database_type(self, value): @@ -82,6 +120,7 @@ def serialize_model(self, handler): "requestTimeout", "tags", "textSecret", + "tls", "user", ] ) diff --git a/src/cribl_control_plane/models/databaseconnectionresponseenvelope.py b/src/cribl_control_plane/models/databaseconnectionresponseenvelope.py new file mode 100644 index 000000000..236428841 --- /dev/null +++ b/src/cribl_control_plane/models/databaseconnectionresponseenvelope.py @@ -0,0 +1,25 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .databaseconnectionconfig import ( + DatabaseConnectionConfig, + DatabaseConnectionConfigTypedDict, +) +from cribl_control_plane.types import BaseModel +from typing import List +from typing_extensions import TypedDict + + +class DatabaseConnectionResponseEnvelopeTypedDict(TypedDict): + count: int + r"""Number of Database Connections returned in the response envelope.""" + items: List[DatabaseConnectionConfigTypedDict] + r"""Database Connections returned in the response envelope.""" + + +class DatabaseConnectionResponseEnvelope(BaseModel): + count: int + r"""Number of Database Connections returned in the response envelope.""" + + items: List[DatabaseConnectionConfig] + r"""Database Connections returned in the response envelope.""" diff --git a/src/cribl_control_plane/models/datasetmetadata.py b/src/cribl_control_plane/models/datasetmetadata.py index cba351fd4..a82cab6a6 100644 --- a/src/cribl_control_plane/models/datasetmetadata.py +++ b/src/cribl_control_plane/models/datasetmetadata.py @@ -25,7 +25,7 @@ class DatasetMetadataTypedDict(TypedDict): earliest: str r"""Rolling time window that defines how far back acceleration scans.""" enable_acceleration: bool - r"""If true, the system automatically backfills and refreshes Dataset metadata.""" + r"""If true, the system automatically backfills and refreshes Dataset metadata. Otherwise, false.""" field_list: List[str] r"""Fields for which acceleration gathers statistics. Required when scan mode is detailed.""" scan_mode: ScanMode @@ -38,7 +38,7 @@ class DatasetMetadata(BaseModel): r"""Rolling time window that defines how far back acceleration scans.""" enable_acceleration: Annotated[bool, pydantic.Field(alias="enableAcceleration")] - r"""If true, the system automatically backfills and refreshes Dataset metadata.""" + r"""If true, the system automatically backfills and refreshes Dataset metadata. Otherwise, false.""" field_list: Annotated[List[str], pydantic.Field(alias="fieldList")] r"""Fields for which acceleration gathers statistics. Required when scan mode is detailed.""" 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/deleteconfiggroupbyproductandidop.py b/src/cribl_control_plane/models/deleteproductsgroupsbyproductandidop.py similarity index 91% rename from src/cribl_control_plane/models/deleteconfiggroupbyproductandidop.py rename to src/cribl_control_plane/models/deleteproductsgroupsbyproductandidop.py index 9e50e728c..71e1d844a 100644 --- a/src/cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +++ b/src/cribl_control_plane/models/deleteproductsgroupsbyproductandidop.py @@ -9,14 +9,14 @@ from typing_extensions import Annotated, TypedDict -class DeleteConfigGroupByProductAndIDRequestTypedDict(TypedDict): +class DeleteProductsGroupsByProductAndIDRequestTypedDict(TypedDict): product: ProductsCore r"""Name of the Cribl product to get the Worker Groups, Outpost Groups, or Edge Fleets for.""" id: str r"""The id of the Worker Group, Outpost Group, or Edge Fleet to delete.""" -class DeleteConfigGroupByProductAndIDRequest(BaseModel): +class DeleteProductsGroupsByProductAndIDRequest(BaseModel): product: Annotated[ ProductsCore, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)), diff --git a/src/cribl_control_plane/models/destinationtype.py b/src/cribl_control_plane/models/destinationtype.py index 622950d80..54acfe5c4 100644 --- a/src/cribl_control_plane/models/destinationtype.py +++ b/src/cribl_control_plane/models/destinationtype.py @@ -47,9 +47,12 @@ class DestinationType(str, Enum, metaclass=utils.OpenEnumMeta): DATADOG = "datadog" WEBHOOK = "webhook" PROMETHEUS = "prometheus" + AMAZON_MANAGED_PROMETHEUS = "amazon_managed_prometheus" GOOGLE_PUBSUB = "google_pubsub" GOOGLE_CHRONICLE = "google_chronicle" CHRONICLE = "chronicle" + GOOGLE_CLOUD_OBSERVABILITY = "google_cloud_observability" + GOOGLE_BIGQUERY = "google_bigquery" GRAFANA_CLOUD = "grafana_cloud" LOKI = "loki" OPEN_TELEMETRY = "open_telemetry" @@ -71,6 +74,7 @@ class DestinationType(str, Enum, metaclass=utils.OpenEnumMeta): EXABEAM = "exabeam" DISK_SPOOL = "disk_spool" CLICK_HOUSE = "click_house" + CUSTOMER_METRICS_STORAGE = "customer_metrics_storage" LOCAL_SEARCH_STORAGE = "local_search_storage" XSIAM = "xsiam" NETFLOW = "netflow" @@ -84,3 +88,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/difffiles.py b/src/cribl_control_plane/models/difffiles.py index d8963a729..bb870dec7 100644 --- a/src/cribl_control_plane/models/difffiles.py +++ b/src/cribl_control_plane/models/difffiles.py @@ -1,37 +1,44 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .diffline import DiffLine, DiffLineTypedDict -from .scalarorarray import ScalarOrArray, ScalarOrArrayTypedDict +from .gitdifflines import GitDiffLines, GitDiffLinesTypedDict from cribl_control_plane.types import BaseModel, UNSET_SENTINEL import pydantic from pydantic import model_serializer -from typing import List, Optional -from typing_extensions import Annotated, NotRequired, TypedDict +from typing import List, Optional, Union +from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict class BlockTypedDict(TypedDict): header: str - lines: List[DiffLineTypedDict] - r"""Diff Line""" - new_start_line: float - old_start_line: float - old_start_line2: NotRequired[float] + r"""Unified diff hunk header.""" + lines: List[GitDiffLinesTypedDict] + r"""Array of lines in a Git diff hunk.""" + new_start_line: int + r"""Starting line number in the new file for this hunk.""" + old_start_line: int + r"""Starting line number in the original file for this hunk.""" + old_start_line2: NotRequired[int] + r"""Starting line number in the original file for the second parent, present in combined diffs.""" class Block(BaseModel): header: str + r"""Unified diff hunk header.""" - lines: List[DiffLine] - r"""Diff Line""" + lines: List[GitDiffLines] + r"""Array of lines in a Git diff hunk.""" - new_start_line: Annotated[float, pydantic.Field(alias="newStartLine")] + new_start_line: Annotated[int, pydantic.Field(alias="newStartLine")] + r"""Starting line number in the new file for this hunk.""" - old_start_line: Annotated[float, pydantic.Field(alias="oldStartLine")] + old_start_line: Annotated[int, pydantic.Field(alias="oldStartLine")] + r"""Starting line number in the original file for this hunk.""" - old_start_line2: Annotated[ - Optional[float], pydantic.Field(alias="oldStartLine2") - ] = None + old_start_line2: Annotated[Optional[int], pydantic.Field(alias="oldStartLine2")] = ( + None + ) + r"""Starting line number in the original file for the second parent, present in combined diffs.""" @model_serializer(mode="wrap") def serialize_model(self, handler): @@ -50,88 +57,152 @@ def serialize_model(self, handler): return m +ChecksumBeforeTypedDict = TypeAliasType( + "ChecksumBeforeTypedDict", Union[str, List[str]] +) +r"""Checksum of the original file. May be an array for combined diffs.""" + + +ChecksumBefore = TypeAliasType("ChecksumBefore", Union[str, List[str]]) +r"""Checksum of the original file. May be an array for combined diffs.""" + + +OldModeTypedDict = TypeAliasType("OldModeTypedDict", Union[str, List[str]]) +r"""File mode of the original file. May be an array for combined diffs.""" + + +OldMode = TypeAliasType("OldMode", Union[str, List[str]]) +r"""File mode of the original file. May be an array for combined diffs.""" + + class DiffFilesTypedDict(TypedDict): - added_lines: float + added_lines: int + r"""Number of lines added in this file.""" blocks: List[BlockTypedDict] - deleted_lines: float + r"""Array of diff blocks (hunks) showing changed line ranges in this file.""" + deleted_lines: int + r"""Number of lines deleted in this file.""" is_combined: bool + r"""If true, this is a combined diff (merge commit). Otherwise, false.""" is_git_diff: bool + r"""If true, this diff was generated by Git. Otherwise, false.""" language: str + r"""Programming language or file format detected for syntax highlighting.""" new_name: str + r"""New file path after the change.""" old_name: str + r"""Original file path before the change.""" changed_percentage: NotRequired[float] + r"""Percentage of lines in the file that changed.""" checksum_after: NotRequired[str] - checksum_before: NotRequired[ScalarOrArrayTypedDict] + r"""Checksum of the new file.""" + checksum_before: NotRequired[ChecksumBeforeTypedDict] + r"""Checksum of the original file. May be an array for combined diffs.""" deleted_file_mode: NotRequired[str] + r"""File mode of the deleted file, present when the file was deleted.""" is_binary: NotRequired[bool] + r"""If true, this file is a binary file and the diff content is not shown. Otherwise, false.""" is_copy: NotRequired[bool] + r"""If true, this file was copied from another path. Otherwise, false.""" is_deleted: NotRequired[bool] + r"""If true, this file was deleted in the commit. Otherwise, false.""" is_new: NotRequired[bool] + r"""If true, this file was added in the commit. Otherwise, false.""" is_rename: NotRequired[bool] + r"""If true, this file was renamed. Otherwise, false.""" is_too_big: NotRequired[bool] + r"""If true, the diff was truncated because it exceeded the line limit. Otherwise, false.""" mode: NotRequired[str] + r"""Combined file mode when both old and new modes are the same.""" new_file_mode: NotRequired[str] + r"""File mode of the new file, present when the file was added.""" new_mode: NotRequired[str] - old_mode: NotRequired[ScalarOrArrayTypedDict] + r"""File mode of the new file.""" + old_mode: NotRequired[OldModeTypedDict] + r"""File mode of the original file. May be an array for combined diffs.""" unchanged_percentage: NotRequired[float] + r"""Percentage of lines in the file that are unchanged.""" class DiffFiles(BaseModel): - added_lines: Annotated[float, pydantic.Field(alias="addedLines")] + added_lines: Annotated[int, pydantic.Field(alias="addedLines")] + r"""Number of lines added in this file.""" blocks: List[Block] + r"""Array of diff blocks (hunks) showing changed line ranges in this file.""" - deleted_lines: Annotated[float, pydantic.Field(alias="deletedLines")] + deleted_lines: Annotated[int, pydantic.Field(alias="deletedLines")] + r"""Number of lines deleted in this file.""" is_combined: Annotated[bool, pydantic.Field(alias="isCombined")] + r"""If true, this is a combined diff (merge commit). Otherwise, false.""" is_git_diff: Annotated[bool, pydantic.Field(alias="isGitDiff")] + r"""If true, this diff was generated by Git. Otherwise, false.""" language: str + r"""Programming language or file format detected for syntax highlighting.""" new_name: Annotated[str, pydantic.Field(alias="newName")] + r"""New file path after the change.""" old_name: Annotated[str, pydantic.Field(alias="oldName")] + r"""Original file path before the change.""" changed_percentage: Annotated[ Optional[float], pydantic.Field(alias="changedPercentage") ] = None + r"""Percentage of lines in the file that changed.""" checksum_after: Annotated[Optional[str], pydantic.Field(alias="checksumAfter")] = ( None ) + r"""Checksum of the new file.""" checksum_before: Annotated[ - Optional[ScalarOrArray], pydantic.Field(alias="checksumBefore") + Optional[ChecksumBefore], pydantic.Field(alias="checksumBefore") ] = None + r"""Checksum of the original file. May be an array for combined diffs.""" deleted_file_mode: Annotated[ Optional[str], pydantic.Field(alias="deletedFileMode") ] = None + r"""File mode of the deleted file, present when the file was deleted.""" is_binary: Annotated[Optional[bool], pydantic.Field(alias="isBinary")] = None + r"""If true, this file is a binary file and the diff content is not shown. Otherwise, false.""" is_copy: Annotated[Optional[bool], pydantic.Field(alias="isCopy")] = None + r"""If true, this file was copied from another path. Otherwise, false.""" is_deleted: Annotated[Optional[bool], pydantic.Field(alias="isDeleted")] = None + r"""If true, this file was deleted in the commit. Otherwise, false.""" is_new: Annotated[Optional[bool], pydantic.Field(alias="isNew")] = None + r"""If true, this file was added in the commit. Otherwise, false.""" is_rename: Annotated[Optional[bool], pydantic.Field(alias="isRename")] = None + r"""If true, this file was renamed. Otherwise, false.""" is_too_big: Annotated[Optional[bool], pydantic.Field(alias="isTooBig")] = None + r"""If true, the diff was truncated because it exceeded the line limit. Otherwise, false.""" mode: Optional[str] = None + r"""Combined file mode when both old and new modes are the same.""" new_file_mode: Annotated[Optional[str], pydantic.Field(alias="newFileMode")] = None + r"""File mode of the new file, present when the file was added.""" new_mode: Annotated[Optional[str], pydantic.Field(alias="newMode")] = None + r"""File mode of the new file.""" - old_mode: Annotated[Optional[ScalarOrArray], pydantic.Field(alias="oldMode")] = None + old_mode: Annotated[Optional[OldMode], pydantic.Field(alias="oldMode")] = None + r"""File mode of the original file. May be an array for combined diffs.""" unchanged_percentage: Annotated[ Optional[float], pydantic.Field(alias="unchangedPercentage") ] = None + r"""Percentage of lines in the file that are unchanged.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/difflinecontext.py b/src/cribl_control_plane/models/difflinecontext.py index 4b30a030f..b8a14ddc9 100644 --- a/src/cribl_control_plane/models/difflinecontext.py +++ b/src/cribl_control_plane/models/difflinecontext.py @@ -8,24 +8,38 @@ class DiffLineContextType(str, Enum): + r"""Line change type. Always context for unchanged lines.""" + CONTEXT = "context" class DiffLineContextTypedDict(TypedDict): + r"""Unchanged context line in a Git diff hunk.""" + type: DiffLineContextType - new_number: float - old_number: float + r"""Line change type. Always context for unchanged lines.""" + new_number: int + r"""Line number in the new file.""" + old_number: int + r"""Line number in the original file.""" content: str + r"""Full content of the line, including the diff prefix character.""" class DiffLineContext(BaseModel): + r"""Unchanged context line in a Git diff hunk.""" + type: DiffLineContextType + r"""Line change type. Always context for unchanged lines.""" - new_number: Annotated[float, pydantic.Field(alias="newNumber")] + new_number: Annotated[int, pydantic.Field(alias="newNumber")] + r"""Line number in the new file.""" - old_number: Annotated[float, pydantic.Field(alias="oldNumber")] + old_number: Annotated[int, pydantic.Field(alias="oldNumber")] + r"""Line number in the original file.""" content: str + r"""Full content of the line, including the diff prefix character.""" try: diff --git a/src/cribl_control_plane/models/difflinedelete.py b/src/cribl_control_plane/models/difflinedelete.py index ff80f9d6c..2390f9b9e 100644 --- a/src/cribl_control_plane/models/difflinedelete.py +++ b/src/cribl_control_plane/models/difflinedelete.py @@ -8,21 +8,33 @@ class DiffLineDeleteType(str, Enum): + r"""Line change type. Always delete for deleted lines.""" + DELETE = "delete" class DiffLineDeleteTypedDict(TypedDict): + r"""Deleted line in a Git diff hunk.""" + type: DiffLineDeleteType - old_number: float + r"""Line change type. Always delete for deleted lines.""" + old_number: int + r"""Line number in the original file.""" content: str + r"""Full content of the line, including the diff prefix character.""" class DiffLineDelete(BaseModel): + r"""Deleted line in a Git diff hunk.""" + type: DiffLineDeleteType + r"""Line change type. Always delete for deleted lines.""" - old_number: Annotated[float, pydantic.Field(alias="oldNumber")] + old_number: Annotated[int, pydantic.Field(alias="oldNumber")] + r"""Line number in the original file.""" content: str + r"""Full content of the line, including the diff prefix character.""" try: diff --git a/src/cribl_control_plane/models/difflineinsert.py b/src/cribl_control_plane/models/difflineinsert.py index c3567bd88..f739bdd03 100644 --- a/src/cribl_control_plane/models/difflineinsert.py +++ b/src/cribl_control_plane/models/difflineinsert.py @@ -8,21 +8,33 @@ class DiffLineInsertType(str, Enum): + r"""Line change type. Always insert for inserted lines.""" + INSERT = "insert" class DiffLineInsertTypedDict(TypedDict): + r"""Inserted line in a Git diff hunk.""" + type: DiffLineInsertType - new_number: float + r"""Line change type. Always insert for inserted lines.""" + new_number: int + r"""Line number in the new file.""" content: str + r"""Full content of the line, including the diff prefix character.""" class DiffLineInsert(BaseModel): + r"""Inserted line in a Git diff hunk.""" + type: DiffLineInsertType + r"""Line change type. Always insert for inserted lines.""" - new_number: Annotated[float, pydantic.Field(alias="newNumber")] + new_number: Annotated[int, pydantic.Field(alias="newNumber")] + r"""Line number in the new file.""" content: str + r"""Full content of the line, including the diff prefix character.""" try: diff --git a/src/cribl_control_plane/models/distributedsummary.py b/src/cribl_control_plane/models/distributedsummary.py index a0c10d622..ec97edef3 100644 --- a/src/cribl_control_plane/models/distributedsummary.py +++ b/src/cribl_control_plane/models/distributedsummary.py @@ -9,6 +9,8 @@ class DistributedSummaryGroupsTypedDict(TypedDict): + r"""Resource counts for Worker Groups or Edge Fleets in the deployment summary.""" + count: int r"""Total number of Worker Groups or Edge Fleets.""" destinations: int @@ -26,6 +28,8 @@ class DistributedSummaryGroupsTypedDict(TypedDict): class DistributedSummaryGroups(BaseModel): + r"""Resource counts for Worker Groups or Edge Fleets in the deployment summary.""" + count: int r"""Total number of Worker Groups or Edge Fleets.""" @@ -48,7 +52,9 @@ class DistributedSummaryGroups(BaseModel): r"""Total number of Sources.""" -class DistributedSummaryWorkersTypedDict(TypedDict): +class WorkersTypedDict(TypedDict): + r"""Worker or Edge Node counts and health statistics in the deployment summary.""" + alive: int r"""Total number of Worker or Edge Nodes that are connected with healthy status.""" conf_versions: int @@ -65,7 +71,9 @@ class DistributedSummaryWorkersTypedDict(TypedDict): r"""Total number of Worker or Edge Nodes that are connected with a status other than healthy.""" -class DistributedSummaryWorkers(BaseModel): +class Workers(BaseModel): + r"""Worker or Edge Node counts and health statistics in the deployment summary.""" + alive: int r"""Total number of Worker or Edge Nodes that are connected with healthy status.""" @@ -92,15 +100,19 @@ class DistributedSummaryTypedDict(TypedDict): r"""Summary of the deployment for the specified Cribl product (Stream or Edge).""" groups: DistributedSummaryGroupsTypedDict - workers: NotRequired[DistributedSummaryWorkersTypedDict] + r"""Resource counts for Worker Groups or Edge Fleets in the deployment summary.""" + workers: NotRequired[WorkersTypedDict] + r"""Worker or Edge Node counts and health statistics in the deployment summary.""" class DistributedSummary(BaseModel): r"""Summary of the deployment for the specified Cribl product (Stream or Edge).""" groups: DistributedSummaryGroups + r"""Resource counts for Worker Groups or Edge Fleets in the deployment summary.""" - workers: Optional[DistributedSummaryWorkers] = None + workers: Optional[Workers] = None + r"""Worker or Edge Node counts and health statistics in the deployment summary.""" @model_serializer(mode="wrap") def serialize_model(self, handler): @@ -124,6 +136,6 @@ def serialize_model(self, handler): except NameError: pass try: - DistributedSummaryWorkers.model_rebuild() + Workers.model_rebuild() except NameError: pass 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/featureflagoverrideconfsystemsettingsconf.py b/src/cribl_control_plane/models/featureflagoverrideconfsystemsettingsconf.py index c1f58d44c..33691294f 100644 --- a/src/cribl_control_plane/models/featureflagoverrideconfsystemsettingsconf.py +++ b/src/cribl_control_plane/models/featureflagoverrideconfsystemsettingsconf.py @@ -8,13 +8,17 @@ class FeatureFlagOverrideConfSystemSettingsConfTypedDict(TypedDict): disabled: bool + r"""If true, the feature flag is disabled. Otherwise, false.""" flag_id: str + r"""Unique identifier of the feature flag to override.""" class FeatureFlagOverrideConfSystemSettingsConf(BaseModel): disabled: bool + r"""If true, the feature flag is disabled. Otherwise, false.""" flag_id: Annotated[str, pydantic.Field(alias="flagId")] + r"""Unique identifier of the feature flag to override.""" try: diff --git a/src/cribl_control_plane/models/filestypegitcommitsummary.py b/src/cribl_control_plane/models/filestypegitcommitsummary.py deleted file mode 100644 index d4c80324a..000000000 --- a/src/cribl_control_plane/models/filestypegitcommitsummary.py +++ /dev/null @@ -1,49 +0,0 @@ -"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" - -from __future__ import annotations -from .gitfilerename import GitFileRename, GitFileRenameTypedDict -from cribl_control_plane.types import BaseModel, UNSET_SENTINEL -from pydantic import model_serializer -from typing import List, Optional -from typing_extensions import NotRequired, TypedDict - - -class FilesTypeGitCommitSummaryTypedDict(TypedDict): - created: NotRequired[List[str]] - r"""Array of file paths that were created in the commit.""" - deleted: NotRequired[List[str]] - r"""Array of file paths that were deleted in the commit.""" - modified: NotRequired[List[str]] - r"""Array of file paths that were modified in the commit.""" - renamed: NotRequired[List[GitFileRenameTypedDict]] - r"""Array of file rename operations, each containing the original path and the new path.""" - - -class FilesTypeGitCommitSummary(BaseModel): - created: Optional[List[str]] = None - r"""Array of file paths that were created in the commit.""" - - deleted: Optional[List[str]] = None - r"""Array of file paths that were deleted in the commit.""" - - modified: Optional[List[str]] = None - r"""Array of file paths that were modified in the commit.""" - - renamed: Optional[List[GitFileRename]] = None - r"""Array of file rename operations, each containing the original path and the new path.""" - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["created", "deleted", "modified", "renamed"]) - 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/formatoptions.py b/src/cribl_control_plane/models/formatoptions.py new file mode 100644 index 000000000..b5490d931 --- /dev/null +++ b/src/cribl_control_plane/models/formatoptions.py @@ -0,0 +1,14 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from cribl_control_plane import utils +from enum import Enum + + +class FormatOptions(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Data format to use when sending data to ClickHouse. Defaults to JSON Compact.""" + + # JSONCompactEachRowWithNames + JSON_COMPACT_EACH_ROW_WITH_NAMES = "json-compact-each-row-with-names" + # JSONEachRow + JSON_EACH_ROW = "json-each-row" 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/functionconfschemaautotimestamp.py b/src/cribl_control_plane/models/functionconfschemaautotimestamp.py index 50b987e4e..c65da72ca 100644 --- a/src/cribl_control_plane/models/functionconfschemaautotimestamp.py +++ b/src/cribl_control_plane/models/functionconfschemaautotimestamp.py @@ -54,6 +54,7 @@ class FunctionConfSchemaAutoTimestampTypedDict(TypedDict): latest_date_allowed: NotRequired[str] r"""The latest timestamp value allowed relative to now, such as +42days. Parsed values after this date will be set to the Default time.""" spacer: NotRequired[str] + r"""UI layout spacer; no effect on event processing.""" earliest_date_allowed: NotRequired[str] r"""The earliest timestamp value allowed relative to now, such as -42years. Parsed values prior to this date will be set to the Default time.""" timestamps: NotRequired[List[TimestampTypedDict]] @@ -94,6 +95,7 @@ class FunctionConfSchemaAutoTimestamp(BaseModel): r"""The latest timestamp value allowed relative to now, such as +42days. Parsed values after this date will be set to the Default time.""" spacer: Optional[str] = None + r"""UI layout spacer; no effect on event processing.""" earliest_date_allowed: Annotated[ Optional[str], pydantic.Field(alias="earliestDateAllowed") diff --git a/src/cribl_control_plane/models/functionconfschemadnslookup.py b/src/cribl_control_plane/models/functionconfschemadnslookup.py index 66b2aa0b4..788e85d0b 100644 --- a/src/cribl_control_plane/models/functionconfschemadnslookup.py +++ b/src/cribl_control_plane/models/functionconfschemadnslookup.py @@ -118,6 +118,8 @@ def serialize_model(self, handler): class LogLevelForFailedLookups(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Log level to use when a DNS lookup fails.""" + # silly SILLY = "silly" # debug @@ -148,6 +150,7 @@ class FunctionConfSchemaDNSLookupTypedDict(TypedDict): domain_overrides: NotRequired[List[str]] r"""Specify fallback values for the DNS resolver to use when it cannot resolve a DNS short name""" lookup_fail_log_level: NotRequired[LogLevelForFailedLookups] + r"""Log level to use when a DNS lookup fails.""" class FunctionConfSchemaDNSLookup(BaseModel): @@ -197,6 +200,7 @@ class FunctionConfSchemaDNSLookup(BaseModel): lookup_fail_log_level: Annotated[ Optional[LogLevelForFailedLookups], pydantic.Field(alias="lookupFailLogLevel") ] = None + r"""Log level to use when a DNS lookup fails.""" @property def additional_properties(self): diff --git a/src/cribl_control_plane/models/functionconfschemagenstats.py b/src/cribl_control_plane/models/functionconfschemagenstats.py index 3f212cc98..6b5dba484 100644 --- a/src/cribl_control_plane/models/functionconfschemagenstats.py +++ b/src/cribl_control_plane/models/functionconfschemagenstats.py @@ -9,10 +9,12 @@ class FunctionConfSchemaGenStatsTypedDict(TypedDict): fields: NotRequired[List[str]] + r"""List of field names from which to generate statistics.""" class FunctionConfSchemaGenStats(BaseModel): fields: Optional[List[str]] = None + r"""List of field names from which to generate statistics.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionconfschemalocalsearchrulesetrunner.py b/src/cribl_control_plane/models/functionconfschemalocalsearchrulesetrunner.py index acfc7e650..2949296bd 100644 --- a/src/cribl_control_plane/models/functionconfschemalocalsearchrulesetrunner.py +++ b/src/cribl_control_plane/models/functionconfschemalocalsearchrulesetrunner.py @@ -11,26 +11,27 @@ class RulesetType(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Type of ruleset to apply: dataset or datatype.""" + DATASET = "dataset" DATATYPE = "datatype" -class FullRulesetIEForUseWithLiveDataCaptureWhichUsesDraftUnsavedRulesetsTypedDict( - TypedDict -): - pass +class FullRulesetTypedDict(TypedDict): + r"""Full ruleset definition, used with live data capture for draft or unsaved rulesets.""" -class FullRulesetIEForUseWithLiveDataCaptureWhichUsesDraftUnsavedRulesets(BaseModel): - pass +class FullRuleset(BaseModel): + r"""Full ruleset definition, used with live data capture for draft or unsaved rulesets.""" class FunctionConfSchemaLocalSearchRulesetRunnerTypedDict(TypedDict): ruleset_type: NotRequired[RulesetType] + r"""Type of ruleset to apply: dataset or datatype.""" ruleset_id: NotRequired[str] - ruleset: NotRequired[ - FullRulesetIEForUseWithLiveDataCaptureWhichUsesDraftUnsavedRulesetsTypedDict - ] + r"""ID of the ruleset to apply.""" + ruleset: NotRequired[FullRulesetTypedDict] + r"""Full ruleset definition, used with live data capture for draft or unsaved rulesets.""" mark_and_include_dropped_events: NotRequired[bool] r"""Only for use with live data capture. Mark events that were dropped by dataset rules and still include them for capture""" @@ -39,12 +40,13 @@ class FunctionConfSchemaLocalSearchRulesetRunner(BaseModel): ruleset_type: Annotated[ Optional[RulesetType], pydantic.Field(alias="rulesetType") ] = None + r"""Type of ruleset to apply: dataset or datatype.""" ruleset_id: Annotated[Optional[str], pydantic.Field(alias="rulesetId")] = None + r"""ID of the ruleset to apply.""" - ruleset: Optional[ - FullRulesetIEForUseWithLiveDataCaptureWhichUsesDraftUnsavedRulesets - ] = None + ruleset: Optional[FullRuleset] = None + r"""Full ruleset definition, used with live data capture for draft or unsaved rulesets.""" mark_and_include_dropped_events: Annotated[ Optional[bool], pydantic.Field(alias="markAndIncludeDroppedEvents") diff --git a/src/cribl_control_plane/models/functionconfschemanotificationpolicies.py b/src/cribl_control_plane/models/functionconfschemanotificationpolicies.py index d0e267683..8246b13a6 100644 --- a/src/cribl_control_plane/models/functionconfschemanotificationpolicies.py +++ b/src/cribl_control_plane/models/functionconfschemanotificationpolicies.py @@ -67,11 +67,11 @@ class PolicyTypedDict(TypedDict): TemplateTargetPairConfFunctionConfSchemaNotificationPoliciesTypedDict ] r"""List of targets to route to and the templates to use""" - order: float + order: int r"""Evaluation order of this policy (lower numbers evaluated first)""" disabled: NotRequired[bool] r"""If true, this policy will be skipped during evaluation""" - wait_to_group: NotRequired[float] + wait_to_group: NotRequired[int] r"""Time to wait (in minutes) to group similar alerts before sending""" group_by_labels: NotRequired[List[str]] r"""Event fields to use for grouping""" @@ -91,15 +91,13 @@ class Policy(BaseModel): ] r"""List of targets to route to and the templates to use""" - order: float + order: int r"""Evaluation order of this policy (lower numbers evaluated first)""" disabled: Optional[bool] = None r"""If true, this policy will be skipped during evaluation""" - wait_to_group: Annotated[Optional[float], pydantic.Field(alias="waitToGroup")] = ( - None - ) + wait_to_group: Annotated[Optional[int], pydantic.Field(alias="waitToGroup")] = None r"""Time to wait (in minutes) to group similar alerts before sending""" group_by_labels: Annotated[ diff --git a/src/cribl_control_plane/models/functionconfschemanumerify.py b/src/cribl_control_plane/models/functionconfschemanumerify.py index 0d384d112..77a271e23 100644 --- a/src/cribl_control_plane/models/functionconfschemanumerify.py +++ b/src/cribl_control_plane/models/functionconfschemanumerify.py @@ -14,6 +14,8 @@ class NumerifyFormatNoneFormat(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Numeric format to apply after type conversion.""" + # None NONE = "none" # Fix @@ -26,6 +28,7 @@ class NumerifyFormatNoneFormat(str, Enum, metaclass=utils.OpenEnumMeta): class NumerifyFormatNoneTypedDict(TypedDict): format_: NotRequired[NumerifyFormatNoneFormat] + r"""Numeric format to apply after type conversion.""" depth: NotRequired[int] r"""Depth to which the Numerify Function will search within a nested event. Depth greater than 5 (the default) could decrease performance.""" ignore_fields: NotRequired[List[str]] @@ -40,6 +43,7 @@ class NumerifyFormatNone(BaseModel): format_: Annotated[ Optional[NumerifyFormatNoneFormat], pydantic.Field(alias="format") ] = None + r"""Numeric format to apply after type conversion.""" depth: Optional[int] = None r"""Depth to which the Numerify Function will search within a nested event. Depth greater than 5 (the default) could decrease performance.""" @@ -84,6 +88,8 @@ def serialize_model(self, handler): class NumerifyFormatFixFormat(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Numeric format to apply after type conversion.""" + # None NONE = "none" # Fix @@ -96,6 +102,7 @@ class NumerifyFormatFixFormat(str, Enum, metaclass=utils.OpenEnumMeta): class NumerifyFormatFixTypedDict(TypedDict): format_: NotRequired[NumerifyFormatFixFormat] + r"""Numeric format to apply after type conversion.""" digits: NotRequired[float] r"""Number of digits after the decimal point, between 0 and 20. If left blank, defaults to 2.""" depth: NotRequired[int] @@ -110,6 +117,7 @@ class NumerifyFormatFix(BaseModel): format_: Annotated[ Optional[NumerifyFormatFixFormat], pydantic.Field(alias="format") ] = None + r"""Numeric format to apply after type conversion.""" digits: Optional[float] = None r"""Number of digits after the decimal point, between 0 and 20. If left blank, defaults to 2.""" diff --git a/src/cribl_control_plane/models/functionconfschemaotlplogs.py b/src/cribl_control_plane/models/functionconfschemaotlplogs.py index 952c97cb6..a20b4badf 100644 --- a/src/cribl_control_plane/models/functionconfschemaotlplogs.py +++ b/src/cribl_control_plane/models/functionconfschemaotlplogs.py @@ -4,12 +4,13 @@ from cribl_control_plane.types import BaseModel, UNSET_SENTINEL import pydantic from pydantic import model_serializer -from typing import Any, List, Optional +from typing import List, Optional from typing_extensions import Annotated, NotRequired, TypedDict class FunctionConfSchemaOtlpLogsTypedDict(TypedDict): drop_non_log_events: NotRequired[bool] + r"""Drop events that are not OTLP log records.""" batch_otlp_logs: NotRequired[bool] r"""Batch OTLP log records by shared top-level `resource` attributes""" send_batch_size: NotRequired[float] @@ -18,7 +19,7 @@ class FunctionConfSchemaOtlpLogsTypedDict(TypedDict): r"""Time duration after which a batch will be sent, regardless of size""" send_batch_max_size: NotRequired[float] r"""Maximum batch size. Enter 0 for no maximum.""" - metadata_keys: NotRequired[List[Any]] + metadata_keys: NotRequired[List[str]] r"""When set, this processor will create one batcher instance per distinct combination of values in the metadata""" metadata_cardinality_limit: NotRequired[float] r"""Limit the number of unique combinations of metadata key values that will be processed over the lifetime of the process. After the limit is reached, events with new metadata key value combinations will be dropped.""" @@ -28,6 +29,7 @@ class FunctionConfSchemaOtlpLogs(BaseModel): drop_non_log_events: Annotated[ Optional[bool], pydantic.Field(alias="dropNonLogEvents") ] = None + r"""Drop events that are not OTLP log records.""" batch_otlp_logs: Annotated[ Optional[bool], pydantic.Field(alias="batchOTLPLogs") @@ -48,7 +50,7 @@ class FunctionConfSchemaOtlpLogs(BaseModel): r"""Maximum batch size. Enter 0 for no maximum.""" metadata_keys: Annotated[ - Optional[List[Any]], pydantic.Field(alias="metadataKeys") + Optional[List[str]], pydantic.Field(alias="metadataKeys") ] = None r"""When set, this processor will create one batcher instance per distinct combination of values in the metadata""" diff --git a/src/cribl_control_plane/models/functionconfschemaotlpmetrics.py b/src/cribl_control_plane/models/functionconfschemaotlpmetrics.py index 6e5f77a85..8879d29a9 100644 --- a/src/cribl_control_plane/models/functionconfschemaotlpmetrics.py +++ b/src/cribl_control_plane/models/functionconfschemaotlpmetrics.py @@ -6,7 +6,7 @@ from cribl_control_plane.types import BaseModel, UNSET_SENTINEL import pydantic from pydantic import field_serializer, model_serializer -from typing import Any, List, Optional +from typing import List, Optional from typing_extensions import Annotated, NotRequired, TypedDict @@ -14,6 +14,7 @@ class FunctionConfSchemaOtlpMetricsTypedDict(TypedDict): resource_attribute_prefixes: NotRequired[List[str]] r"""The prefixes of top-level attributes to add as resource attributes. Each attribute must match the regex pattern `^[a-zA-Z0-9_\.]+$`. Use Eval to copy nested attributes to the top level for matching.""" drop_non_metric_events: NotRequired[bool] + r"""Drop events that are not OTLP metric data points.""" otlp_version: NotRequired[OtlpVersionOptions] batch_otlp_metrics: NotRequired[bool] r"""Batch OTLP metrics by shared top-level `resource` attributes""" @@ -23,7 +24,7 @@ class FunctionConfSchemaOtlpMetricsTypedDict(TypedDict): r"""Time duration after which a batch will be sent, regardless of size""" send_batch_max_size: NotRequired[float] r"""Maximum batch size. Enter 0 for no maximum.""" - metadata_keys: NotRequired[List[Any]] + metadata_keys: NotRequired[List[str]] r"""When set, this processor will create one batcher instance per distinct combination of values in the metadata""" metadata_cardinality_limit: NotRequired[float] r"""Limit the number of unique combinations of metadata key values that will be processed over the lifetime of the process. After the limit is reached, events with new metadata key value combinations will be dropped.""" @@ -38,6 +39,7 @@ class FunctionConfSchemaOtlpMetrics(BaseModel): drop_non_metric_events: Annotated[ Optional[bool], pydantic.Field(alias="dropNonMetricEvents") ] = None + r"""Drop events that are not OTLP metric data points.""" otlp_version: Annotated[ Optional[OtlpVersionOptions], pydantic.Field(alias="otlpVersion") @@ -62,7 +64,7 @@ class FunctionConfSchemaOtlpMetrics(BaseModel): r"""Maximum batch size. Enter 0 for no maximum.""" metadata_keys: Annotated[ - Optional[List[Any]], pydantic.Field(alias="metadataKeys") + Optional[List[str]], pydantic.Field(alias="metadataKeys") ] = None r"""When set, this processor will create one batcher instance per distinct combination of values in the metadata""" diff --git a/src/cribl_control_plane/models/functionconfschemaotlptraces.py b/src/cribl_control_plane/models/functionconfschemaotlptraces.py index 6f61d8f4d..eeaa85b38 100644 --- a/src/cribl_control_plane/models/functionconfschemaotlptraces.py +++ b/src/cribl_control_plane/models/functionconfschemaotlptraces.py @@ -6,12 +6,13 @@ from cribl_control_plane.types import BaseModel, UNSET_SENTINEL import pydantic from pydantic import field_serializer, model_serializer -from typing import Any, List, Optional +from typing import List, Optional from typing_extensions import Annotated, NotRequired, TypedDict class FunctionConfSchemaOtlpTracesTypedDict(TypedDict): drop_non_trace_events: NotRequired[bool] + r"""Drop events that are not OTLP trace spans.""" otlp_version: NotRequired[OtlpVersionOptions] batch_otlp_traces: NotRequired[bool] r"""Batch OTLP traces by shared top-level `resource` attributes""" @@ -21,7 +22,7 @@ class FunctionConfSchemaOtlpTracesTypedDict(TypedDict): r"""Time duration after which a batch will be sent, regardless of size""" send_batch_max_size: NotRequired[float] r"""Maximum batch size. Enter 0 for no maximum.""" - metadata_keys: NotRequired[List[Any]] + metadata_keys: NotRequired[List[str]] r"""When set, this processor will create one batcher instance per distinct combination of values in the metadata""" metadata_cardinality_limit: NotRequired[float] r"""Limit the number of unique combinations of metadata key values that will be processed over the lifetime of the process. After the limit is reached, events with new metadata key value combinations will be dropped.""" @@ -31,6 +32,7 @@ class FunctionConfSchemaOtlpTraces(BaseModel): drop_non_trace_events: Annotated[ Optional[bool], pydantic.Field(alias="dropNonTraceEvents") ] = None + r"""Drop events that are not OTLP trace spans.""" otlp_version: Annotated[ Optional[OtlpVersionOptions], pydantic.Field(alias="otlpVersion") @@ -55,7 +57,7 @@ class FunctionConfSchemaOtlpTraces(BaseModel): r"""Maximum batch size. Enter 0 for no maximum.""" metadata_keys: Annotated[ - Optional[List[Any]], pydantic.Field(alias="metadataKeys") + Optional[List[str]], pydantic.Field(alias="metadataKeys") ] = None r"""When set, this processor will create one batcher instance per distinct combination of values in the metadata""" diff --git a/src/cribl_control_plane/models/functionconfschemaregexfilter.py b/src/cribl_control_plane/models/functionconfschemaregexfilter.py index 87df279ce..bcf8ad24b 100644 --- a/src/cribl_control_plane/models/functionconfschemaregexfilter.py +++ b/src/cribl_control_plane/models/functionconfschemaregexfilter.py @@ -22,6 +22,7 @@ class FunctionConfSchemaRegexFilterTypedDict(TypedDict): regex: NotRequired[str] r"""Regex to test against""" regex_list: NotRequired[List[RegexListTypedDict]] + r"""Additional regex patterns to test against the field.""" field: NotRequired[str] r"""Name of the field to apply the regex on (defaults to _raw)""" @@ -33,6 +34,7 @@ class FunctionConfSchemaRegexFilter(BaseModel): regex_list: Annotated[ Optional[List[RegexList]], pydantic.Field(alias="regexList") ] = None + r"""Additional regex patterns to test against the field.""" field: Optional[str] = None r"""Name of the field to apply the regex on (defaults to _raw)""" diff --git a/src/cribl_control_plane/models/functionconfschemasnmptrapserialize.py b/src/cribl_control_plane/models/functionconfschemasnmptrapserialize.py index 8344ec246..126e4ce04 100644 --- a/src/cribl_control_plane/models/functionconfschemasnmptrapserialize.py +++ b/src/cribl_control_plane/models/functionconfschemasnmptrapserialize.py @@ -204,6 +204,7 @@ def serialize_model(self, handler): SnmpTrapSerializeV3UserAuthProtocolNotNoneTypedDict, ], ) +r"""SNMPv3 user configuration, including authentication and privacy protocol settings.""" class UnknownV3User(BaseModel): @@ -248,6 +249,7 @@ class UnknownV3User(BaseModel): ) ), ] +r"""SNMPv3 user configuration, including authentication and privacy protocol settings.""" class FunctionConfSchemaSnmpTrapSerializeTypedDict(TypedDict): @@ -256,6 +258,7 @@ class FunctionConfSchemaSnmpTrapSerializeTypedDict(TypedDict): drop_failed_events: NotRequired[bool] r"""When disabled, `snmpSerializeErrors` will be set on the event, and the `__snmpRaw` field will be removed to prevent @{product} from sending the event from the SNMP Trap Destination""" v3_user: NotRequired[V3UserTypedDict] + r"""SNMPv3 user configuration, including authentication and privacy protocol settings.""" class FunctionConfSchemaSnmpTrapSerialize(BaseModel): @@ -268,6 +271,7 @@ class FunctionConfSchemaSnmpTrapSerialize(BaseModel): r"""When disabled, `snmpSerializeErrors` will be set on the event, and the `__snmpRaw` field will be removed to prevent @{product} from sending the event from the SNMP Trap Destination""" v3_user: Annotated[Optional[V3User], pydantic.Field(alias="v3User")] = None + r"""SNMPv3 user configuration, including authentication and privacy protocol settings.""" @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/getcribllakedatasetbylakeidop.py b/src/cribl_control_plane/models/getcribllakedatasetbylakeidop.py index 025caa8ca..b99f2fb43 100644 --- a/src/cribl_control_plane/models/getcribllakedatasetbylakeidop.py +++ b/src/cribl_control_plane/models/getcribllakedatasetbylakeidop.py @@ -1,6 +1,14 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations +from .countedcribllakedataset import ( + CountedCriblLakeDataset, + CountedCriblLakeDatasetTypedDict, +) +from .paginatedcribllakedataset import ( + PaginatedCriblLakeDataset, + PaginatedCriblLakeDatasetTypedDict, +) from cribl_control_plane import models, utils from cribl_control_plane.types import BaseModel, UNSET_SENTINEL from cribl_control_plane.utils import ( @@ -11,8 +19,8 @@ from enum import Enum import pydantic from pydantic import field_serializer, model_serializer -from typing import Optional -from typing_extensions import Annotated, NotRequired, TypedDict +from typing import Awaitable, Callable, Optional, Union +from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict class GetCriblLakeDatasetByLakeIDFormat(str, Enum, metaclass=utils.OpenEnumMeta): @@ -30,6 +38,8 @@ class GetCriblLakeDatasetByLakeIDRequestTypedDict(TypedDict): r"""Filter datasets by format. Set to ddss to return only DDSS datasets.""" exclude_ddss: NotRequired[bool] r"""Exclude DDSS format datasets from the response.""" + exclude_netskope: NotRequired[bool] + r"""Exclude Netskope format datasets from the response.""" exclude_deleted: NotRequired[bool] r"""Exclude deleted datasets from the response.""" exclude_internal: NotRequired[bool] @@ -38,6 +48,10 @@ class GetCriblLakeDatasetByLakeIDRequestTypedDict(TypedDict): r"""Exclude BYOS (Bring Your Own Storage) datasets from the response.""" include_metrics: NotRequired[bool] r"""Set to true to include storage metrics for each Lake Dataset. Otherwise, false (default). Requires a Cribl Lake metrics license.""" + offset: NotRequired[int] + r"""Pagination offset""" + limit: NotRequired[int] + r"""Maximum number of items to return""" class GetCriblLakeDatasetByLakeIDRequest(BaseModel): @@ -69,6 +83,13 @@ class GetCriblLakeDatasetByLakeIDRequest(BaseModel): ] = None r"""Exclude DDSS format datasets from the response.""" + exclude_netskope: Annotated[ + Optional[bool], + pydantic.Field(alias="excludeNetskope"), + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Exclude Netskope format datasets from the response.""" + exclude_deleted: Annotated[ Optional[bool], pydantic.Field(alias="excludeDeleted"), @@ -97,6 +118,18 @@ class GetCriblLakeDatasetByLakeIDRequest(BaseModel): ] = None r"""Set to true to include storage metrics for each Lake Dataset. Otherwise, false (default). Requires a Cribl Lake metrics license.""" + offset: Annotated[ + Optional[int], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Pagination offset""" + + limit: Annotated[ + Optional[int], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Maximum number of items to return""" + @field_serializer("format_") def serialize_format_(self, value): if isinstance(value, str): @@ -113,10 +146,13 @@ def serialize_model(self, handler): "storageLocationId", "format", "excludeDDSS", + "excludeNetskope", "excludeDeleted", "excludeInternal", "excludeBYOS", "includeMetrics", + "offset", + "limit", ] ) serialized = handler(self) @@ -131,3 +167,30 @@ def serialize_model(self, handler): m[k] = val return m + + +GetCriblLakeDatasetByLakeIDResponseBodyTypedDict = TypeAliasType( + "GetCriblLakeDatasetByLakeIDResponseBodyTypedDict", + Union[CountedCriblLakeDatasetTypedDict, PaginatedCriblLakeDatasetTypedDict], +) +r"""List of CriblLakeDataset objects.""" + + +GetCriblLakeDatasetByLakeIDResponseBody = TypeAliasType( + "GetCriblLakeDatasetByLakeIDResponseBody", + Union[CountedCriblLakeDataset, PaginatedCriblLakeDataset], +) +r"""List of CriblLakeDataset objects.""" + + +class GetCriblLakeDatasetByLakeIDResponseTypedDict(TypedDict): + result: GetCriblLakeDatasetByLakeIDResponseBodyTypedDict + + +class GetCriblLakeDatasetByLakeIDResponse(BaseModel): + next: Union[ + Callable[[], Optional[GetCriblLakeDatasetByLakeIDResponse]], + Callable[[], Awaitable[Optional[GetCriblLakeDatasetByLakeIDResponse]]], + ] + + result: GetCriblLakeDatasetByLakeIDResponseBody diff --git a/src/cribl_control_plane/models/getdatabaseconnectionconfigop.py b/src/cribl_control_plane/models/getdatabaseconnectionconfigop.py index bc3290f25..fb8110d1a 100644 --- a/src/cribl_control_plane/models/getdatabaseconnectionconfigop.py +++ b/src/cribl_control_plane/models/getdatabaseconnectionconfigop.py @@ -1,19 +1,27 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations +from .databaseconnectionresponseenvelope import ( + DatabaseConnectionResponseEnvelope, + DatabaseConnectionResponseEnvelopeTypedDict, +) from .databaseconnectiontype import DatabaseConnectionType from cribl_control_plane import models from cribl_control_plane.types import BaseModel, UNSET_SENTINEL from cribl_control_plane.utils import FieldMetadata, QueryParamMetadata import pydantic from pydantic import field_serializer, model_serializer -from typing import Optional +from typing import Awaitable, Callable, Optional, Union from typing_extensions import Annotated, NotRequired, TypedDict class GetDatabaseConnectionConfigRequestTypedDict(TypedDict): database_type: NotRequired[DatabaseConnectionType] - r"""Type of Database Connections to include in the results.""" + r"""Filter results by database engine type. Use this parameter to return only Database Connections for the specified engine.""" + limit: NotRequired[int] + r"""Maximum number of Database Connections to return in the response for this request. Use with offset to paginate the response into manageable batches.""" + offset: NotRequired[int] + r"""Starting point from which to retrieve results for this request. Use with limit to paginate the response into manageable batches.""" class GetDatabaseConnectionConfigRequest(BaseModel): @@ -22,7 +30,19 @@ class GetDatabaseConnectionConfigRequest(BaseModel): pydantic.Field(alias="databaseType"), FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = None - r"""Type of Database Connections to include in the results.""" + r"""Filter results by database engine type. Use this parameter to return only Database Connections for the specified engine.""" + + limit: Annotated[ + Optional[int], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Maximum number of Database Connections to return in the response for this request. Use with offset to paginate the response into manageable batches.""" + + offset: Annotated[ + Optional[int], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Starting point from which to retrieve results for this request. Use with limit to paginate the response into manageable batches.""" @field_serializer("database_type") def serialize_database_type(self, value): @@ -35,7 +55,7 @@ def serialize_database_type(self, value): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["databaseType"]) + optional_fields = set(["databaseType", "limit", "offset"]) serialized = handler(self) m = {} @@ -48,3 +68,16 @@ def serialize_model(self, handler): m[k] = val return m + + +class GetDatabaseConnectionConfigResponseTypedDict(TypedDict): + result: DatabaseConnectionResponseEnvelopeTypedDict + + +class GetDatabaseConnectionConfigResponse(BaseModel): + next: Union[ + Callable[[], Optional[GetDatabaseConnectionConfigResponse]], + Callable[[], Awaitable[Optional[GetDatabaseConnectionConfigResponse]]], + ] + + result: DatabaseConnectionResponseEnvelope diff --git a/src/cribl_control_plane/models/getfunctionsop.py b/src/cribl_control_plane/models/getfunctionsop.py new file mode 100644 index 000000000..3780472ac --- /dev/null +++ b/src/cribl_control_plane/models/getfunctionsop.py @@ -0,0 +1,90 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .countedfunctionresponse import ( + CountedFunctionResponse, + CountedFunctionResponseTypedDict, +) +from .paginatedfunctionresponse import ( + PaginatedFunctionResponse, + PaginatedFunctionResponseTypedDict, +) +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 Awaitable, Callable, Optional, Union +from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict + + +class GetFunctionsRequestTypedDict(TypedDict): + show_hidden: NotRequired[bool] + r"""If true, include hidden Functions in the response. Otherwise, hidden Functions are excluded.""" + offset: NotRequired[int] + r"""Pagination offset""" + limit: NotRequired[int] + r"""Maximum number of items to return""" + + +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.""" + + offset: Annotated[ + Optional[int], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Pagination offset""" + + limit: Annotated[ + Optional[int], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Maximum number of items to return""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["showHidden", "offset", "limit"]) + 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 + + +GetFunctionsResponseBodyTypedDict = TypeAliasType( + "GetFunctionsResponseBodyTypedDict", + Union[CountedFunctionResponseTypedDict, PaginatedFunctionResponseTypedDict], +) +r"""List of Function objects.""" + + +GetFunctionsResponseBody = TypeAliasType( + "GetFunctionsResponseBody", + Union[CountedFunctionResponse, PaginatedFunctionResponse], +) +r"""List of Function objects.""" + + +class GetFunctionsResponseTypedDict(TypedDict): + result: GetFunctionsResponseBodyTypedDict + + +class GetFunctionsResponse(BaseModel): + next: Union[ + Callable[[], Optional[GetFunctionsResponse]], + Callable[[], Awaitable[Optional[GetFunctionsResponse]]], + ] + + result: GetFunctionsResponseBody diff --git a/src/cribl_control_plane/models/getinputstatusop.py b/src/cribl_control_plane/models/getinputstatusop.py index 6bc9a0130..7dff7d034 100644 --- a/src/cribl_control_plane/models/getinputstatusop.py +++ b/src/cribl_control_plane/models/getinputstatusop.py @@ -2,11 +2,12 @@ from __future__ import annotations from .countedinputstatus import CountedInputStatus, CountedInputStatusTypedDict +from .paginatedinputstatus import PaginatedInputStatus, PaginatedInputStatusTypedDict from cribl_control_plane.types import BaseModel, UNSET_SENTINEL from cribl_control_plane.utils import FieldMetadata, QueryParamMetadata from pydantic import model_serializer from typing import Awaitable, Callable, Optional, Union -from typing_extensions import Annotated, NotRequired, TypedDict +from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict class GetInputStatusRequestTypedDict(TypedDict): @@ -62,8 +63,21 @@ def serialize_model(self, handler): return m +GetInputStatusResponseBodyTypedDict = TypeAliasType( + "GetInputStatusResponseBodyTypedDict", + Union[CountedInputStatusTypedDict, PaginatedInputStatusTypedDict], +) +r"""List of Source status objects.""" + + +GetInputStatusResponseBody = TypeAliasType( + "GetInputStatusResponseBody", Union[CountedInputStatus, PaginatedInputStatus] +) +r"""List of Source status objects.""" + + class GetInputStatusResponseTypedDict(TypedDict): - result: CountedInputStatusTypedDict + result: GetInputStatusResponseBodyTypedDict class GetInputStatusResponse(BaseModel): @@ -72,4 +86,4 @@ class GetInputStatusResponse(BaseModel): Callable[[], Awaitable[Optional[GetInputStatusResponse]]], ] - result: CountedInputStatus + result: GetInputStatusResponseBody diff --git a/src/cribl_control_plane/models/getinputstatussysteminputsbypackop.py b/src/cribl_control_plane/models/getinputstatussysteminputsbypackop.py index 8058d5351..010eeec3d 100644 --- a/src/cribl_control_plane/models/getinputstatussysteminputsbypackop.py +++ b/src/cribl_control_plane/models/getinputstatussysteminputsbypackop.py @@ -2,6 +2,7 @@ from __future__ import annotations from .countedinputstatus import CountedInputStatus, CountedInputStatusTypedDict +from .paginatedinputstatus import PaginatedInputStatus, PaginatedInputStatusTypedDict from cribl_control_plane.types import BaseModel, UNSET_SENTINEL from cribl_control_plane.utils import ( FieldMetadata, @@ -10,7 +11,7 @@ ) from pydantic import model_serializer from typing import Awaitable, Callable, Optional, Union -from typing_extensions import Annotated, NotRequired, TypedDict +from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict class GetInputStatusSystemInputsByPackRequestTypedDict(TypedDict): @@ -73,8 +74,22 @@ def serialize_model(self, handler): return m +GetInputStatusSystemInputsByPackResponseBodyTypedDict = TypeAliasType( + "GetInputStatusSystemInputsByPackResponseBodyTypedDict", + Union[CountedInputStatusTypedDict, PaginatedInputStatusTypedDict], +) +r"""List of Source status objects.""" + + +GetInputStatusSystemInputsByPackResponseBody = TypeAliasType( + "GetInputStatusSystemInputsByPackResponseBody", + Union[CountedInputStatus, PaginatedInputStatus], +) +r"""List of Source status objects.""" + + class GetInputStatusSystemInputsByPackResponseTypedDict(TypedDict): - result: CountedInputStatusTypedDict + result: GetInputStatusSystemInputsByPackResponseBodyTypedDict class GetInputStatusSystemInputsByPackResponse(BaseModel): @@ -83,4 +98,4 @@ class GetInputStatusSystemInputsByPackResponse(BaseModel): Callable[[], Awaitable[Optional[GetInputStatusSystemInputsByPackResponse]]], ] - result: CountedInputStatus + result: GetInputStatusSystemInputsByPackResponseBody diff --git a/src/cribl_control_plane/models/getinputsystembypackop.py b/src/cribl_control_plane/models/getinputsystembypackop.py index b2a7c9a48..87d780a43 100644 --- a/src/cribl_control_plane/models/getinputsystembypackop.py +++ b/src/cribl_control_plane/models/getinputsystembypackop.py @@ -1,6 +1,11 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations +from .countedinputresponse import CountedInputResponse, CountedInputResponseTypedDict +from .paginatedinputresponse import ( + PaginatedInputResponse, + PaginatedInputResponseTypedDict, +) from cribl_control_plane.types import BaseModel, UNSET_SENTINEL from cribl_control_plane.utils import ( FieldMetadata, @@ -8,8 +13,8 @@ QueryParamMetadata, ) from pydantic import model_serializer -from typing import List, Optional -from typing_extensions import Annotated, NotRequired, TypedDict +from typing import Awaitable, Callable, List, Optional, Union +from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict class GetInputSystemByPackRequestTypedDict(TypedDict): @@ -17,6 +22,10 @@ class GetInputSystemByPackRequestTypedDict(TypedDict): r"""The id of the Pack.""" type: NotRequired[List[str]] r"""Type of Source to include in the results. Each request can include only one type parameter; multiple parameters per request are not supported.""" + offset: NotRequired[int] + r"""Pagination offset""" + limit: NotRequired[int] + r"""Maximum number of items to return""" class GetInputSystemByPackRequest(BaseModel): @@ -31,9 +40,21 @@ class GetInputSystemByPackRequest(BaseModel): ] = None r"""Type of Source to include in the results. Each request can include only one type parameter; multiple parameters per request are not supported.""" + offset: Annotated[ + Optional[int], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Pagination offset""" + + limit: Annotated[ + Optional[int], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Maximum number of items to return""" + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["type"]) + optional_fields = set(["type", "offset", "limit"]) serialized = handler(self) m = {} @@ -46,3 +67,30 @@ def serialize_model(self, handler): m[k] = val return m + + +GetInputSystemByPackResponseBodyTypedDict = TypeAliasType( + "GetInputSystemByPackResponseBodyTypedDict", + Union[CountedInputResponseTypedDict, PaginatedInputResponseTypedDict], +) +r"""List of Source objects.""" + + +GetInputSystemByPackResponseBody = TypeAliasType( + "GetInputSystemByPackResponseBody", + Union[CountedInputResponse, PaginatedInputResponse], +) +r"""List of Source objects.""" + + +class GetInputSystemByPackResponseTypedDict(TypedDict): + result: GetInputSystemByPackResponseBodyTypedDict + + +class GetInputSystemByPackResponse(BaseModel): + next: Union[ + Callable[[], Optional[GetInputSystemByPackResponse]], + Callable[[], Awaitable[Optional[GetInputSystemByPackResponse]]], + ] + + result: GetInputSystemByPackResponseBody diff --git a/src/cribl_control_plane/models/getoutputstatusop.py b/src/cribl_control_plane/models/getoutputstatusop.py index ebc8313fb..f7d2e2a00 100644 --- a/src/cribl_control_plane/models/getoutputstatusop.py +++ b/src/cribl_control_plane/models/getoutputstatusop.py @@ -2,11 +2,12 @@ from __future__ import annotations from .countedoutputstatus import CountedOutputStatus, CountedOutputStatusTypedDict +from .paginatedoutputstatus import PaginatedOutputStatus, PaginatedOutputStatusTypedDict from cribl_control_plane.types import BaseModel, UNSET_SENTINEL from cribl_control_plane.utils import FieldMetadata, QueryParamMetadata from pydantic import model_serializer from typing import Awaitable, Callable, Optional, Union -from typing_extensions import Annotated, NotRequired, TypedDict +from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict class GetOutputStatusRequestTypedDict(TypedDict): @@ -62,8 +63,21 @@ def serialize_model(self, handler): return m +GetOutputStatusResponseBodyTypedDict = TypeAliasType( + "GetOutputStatusResponseBodyTypedDict", + Union[CountedOutputStatusTypedDict, PaginatedOutputStatusTypedDict], +) +r"""List of Destination status objects.""" + + +GetOutputStatusResponseBody = TypeAliasType( + "GetOutputStatusResponseBody", Union[CountedOutputStatus, PaginatedOutputStatus] +) +r"""List of Destination status objects.""" + + class GetOutputStatusResponseTypedDict(TypedDict): - result: CountedOutputStatusTypedDict + result: GetOutputStatusResponseBodyTypedDict class GetOutputStatusResponse(BaseModel): @@ -72,4 +86,4 @@ class GetOutputStatusResponse(BaseModel): Callable[[], Awaitable[Optional[GetOutputStatusResponse]]], ] - result: CountedOutputStatus + result: GetOutputStatusResponseBody diff --git a/src/cribl_control_plane/models/getoutputstatussystemoutputsbypackop.py b/src/cribl_control_plane/models/getoutputstatussystemoutputsbypackop.py index 0793628d5..6cb19543c 100644 --- a/src/cribl_control_plane/models/getoutputstatussystemoutputsbypackop.py +++ b/src/cribl_control_plane/models/getoutputstatussystemoutputsbypackop.py @@ -2,6 +2,7 @@ from __future__ import annotations from .countedoutputstatus import CountedOutputStatus, CountedOutputStatusTypedDict +from .paginatedoutputstatus import PaginatedOutputStatus, PaginatedOutputStatusTypedDict from cribl_control_plane.types import BaseModel, UNSET_SENTINEL from cribl_control_plane.utils import ( FieldMetadata, @@ -10,7 +11,7 @@ ) from pydantic import model_serializer from typing import Awaitable, Callable, Optional, Union -from typing_extensions import Annotated, NotRequired, TypedDict +from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict class GetOutputStatusSystemOutputsByPackRequestTypedDict(TypedDict): @@ -73,8 +74,22 @@ def serialize_model(self, handler): return m +GetOutputStatusSystemOutputsByPackResponseBodyTypedDict = TypeAliasType( + "GetOutputStatusSystemOutputsByPackResponseBodyTypedDict", + Union[CountedOutputStatusTypedDict, PaginatedOutputStatusTypedDict], +) +r"""List of Destination status objects.""" + + +GetOutputStatusSystemOutputsByPackResponseBody = TypeAliasType( + "GetOutputStatusSystemOutputsByPackResponseBody", + Union[CountedOutputStatus, PaginatedOutputStatus], +) +r"""List of Destination status objects.""" + + class GetOutputStatusSystemOutputsByPackResponseTypedDict(TypedDict): - result: CountedOutputStatusTypedDict + result: GetOutputStatusSystemOutputsByPackResponseBodyTypedDict class GetOutputStatusSystemOutputsByPackResponse(BaseModel): @@ -83,4 +98,4 @@ class GetOutputStatusSystemOutputsByPackResponse(BaseModel): Callable[[], Awaitable[Optional[GetOutputStatusSystemOutputsByPackResponse]]], ] - result: CountedOutputStatus + result: GetOutputStatusSystemOutputsByPackResponseBody diff --git a/src/cribl_control_plane/models/getoutputsystembypackop.py b/src/cribl_control_plane/models/getoutputsystembypackop.py index fc16e2990..9b8903ab5 100644 --- a/src/cribl_control_plane/models/getoutputsystembypackop.py +++ b/src/cribl_control_plane/models/getoutputsystembypackop.py @@ -1,7 +1,12 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations +from .countedoutputresponse import CountedOutputResponse, CountedOutputResponseTypedDict from .destinationtype import DestinationType +from .paginatedoutputresponse import ( + PaginatedOutputResponse, + PaginatedOutputResponseTypedDict, +) from cribl_control_plane import models from cribl_control_plane.types import BaseModel, UNSET_SENTINEL from cribl_control_plane.utils import ( @@ -10,8 +15,8 @@ QueryParamMetadata, ) from pydantic import field_serializer, model_serializer -from typing import Optional -from typing_extensions import Annotated, NotRequired, TypedDict +from typing import Awaitable, Callable, Optional, Union +from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict class GetOutputSystemByPackRequestTypedDict(TypedDict): @@ -19,6 +24,10 @@ class GetOutputSystemByPackRequestTypedDict(TypedDict): r"""The id of the Pack.""" type: NotRequired[DestinationType] r"""Type of Destination to include in the results. Each request can include only one type parameter; multiple parameters per request are not supported.""" + offset: NotRequired[int] + r"""Pagination offset""" + limit: NotRequired[int] + r"""Maximum number of items to return""" class GetOutputSystemByPackRequest(BaseModel): @@ -33,6 +42,18 @@ class GetOutputSystemByPackRequest(BaseModel): ] = None r"""Type of Destination to include in the results. Each request can include only one type parameter; multiple parameters per request are not supported.""" + offset: Annotated[ + Optional[int], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Pagination offset""" + + limit: Annotated[ + Optional[int], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Maximum number of items to return""" + @field_serializer("type") def serialize_type(self, value): if isinstance(value, str): @@ -44,7 +65,7 @@ def serialize_type(self, value): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["type"]) + optional_fields = set(["type", "offset", "limit"]) serialized = handler(self) m = {} @@ -57,3 +78,30 @@ def serialize_model(self, handler): m[k] = val return m + + +GetOutputSystemByPackResponseBodyTypedDict = TypeAliasType( + "GetOutputSystemByPackResponseBodyTypedDict", + Union[CountedOutputResponseTypedDict, PaginatedOutputResponseTypedDict], +) +r"""List of Destination objects.""" + + +GetOutputSystemByPackResponseBody = TypeAliasType( + "GetOutputSystemByPackResponseBody", + Union[CountedOutputResponse, PaginatedOutputResponse], +) +r"""List of Destination objects.""" + + +class GetOutputSystemByPackResponseTypedDict(TypedDict): + result: GetOutputSystemByPackResponseBodyTypedDict + + +class GetOutputSystemByPackResponse(BaseModel): + next: Union[ + Callable[[], Optional[GetOutputSystemByPackResponse]], + Callable[[], Awaitable[Optional[GetOutputSystemByPackResponse]]], + ] + + result: GetOutputSystemByPackResponseBody 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..856891b6f 100644 --- a/src/cribl_control_plane/models/getpacksop.py +++ b/src/cribl_control_plane/models/getpacksop.py @@ -1,17 +1,23 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations +from .countedpackinfo import CountedPackInfo, CountedPackInfoTypedDict +from .paginatedpackinfo import PaginatedPackInfo, PaginatedPackInfoTypedDict 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 +from typing import Awaitable, Callable, Optional, Union +from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict 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.""" + offset: NotRequired[int] + r"""Pagination offset""" + limit: NotRequired[int] + r"""Maximum number of items to return""" class GetPacksRequest(BaseModel): @@ -20,11 +26,23 @@ 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.""" + + offset: Annotated[ + Optional[int], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Pagination offset""" + + limit: Annotated[ + Optional[int], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Maximum number of items to return""" @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["with"]) + optional_fields = set(["with", "offset", "limit"]) serialized = handler(self) m = {} @@ -37,3 +55,29 @@ def serialize_model(self, handler): m[k] = val return m + + +GetPacksResponseBodyTypedDict = TypeAliasType( + "GetPacksResponseBodyTypedDict", + Union[CountedPackInfoTypedDict, PaginatedPackInfoTypedDict], +) +r"""List of Pack objects.""" + + +GetPacksResponseBody = TypeAliasType( + "GetPacksResponseBody", Union[CountedPackInfo, PaginatedPackInfo] +) +r"""List of Pack objects.""" + + +class GetPacksResponseTypedDict(TypedDict): + result: GetPacksResponseBodyTypedDict + + +class GetPacksResponse(BaseModel): + next: Union[ + Callable[[], Optional[GetPacksResponse]], + Callable[[], Awaitable[Optional[GetPacksResponse]]], + ] + + result: GetPacksResponseBody diff --git a/src/cribl_control_plane/models/getpipelinesbypackop.py b/src/cribl_control_plane/models/getpipelinesbypackop.py index 4f0ec6b6e..036cb9ed7 100644 --- a/src/cribl_control_plane/models/getpipelinesbypackop.py +++ b/src/cribl_control_plane/models/getpipelinesbypackop.py @@ -1,14 +1,26 @@ """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 FieldMetadata, PathParamMetadata -from typing_extensions import Annotated, TypedDict +from .countedpipeline import CountedPipeline, CountedPipelineTypedDict +from .paginatedpipeline import PaginatedPipeline, PaginatedPipelineTypedDict +from cribl_control_plane.types import BaseModel, UNSET_SENTINEL +from cribl_control_plane.utils import ( + FieldMetadata, + PathParamMetadata, + QueryParamMetadata, +) +from pydantic import model_serializer +from typing import Awaitable, Callable, Optional, Union +from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict class GetPipelinesByPackRequestTypedDict(TypedDict): pack: str r"""The id of the Pack.""" + offset: NotRequired[int] + r"""Pagination offset""" + limit: NotRequired[int] + r"""Maximum number of items to return""" class GetPipelinesByPackRequest(BaseModel): @@ -16,3 +28,57 @@ class GetPipelinesByPackRequest(BaseModel): str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)) ] r"""The id of the Pack.""" + + offset: Annotated[ + Optional[int], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Pagination offset""" + + limit: Annotated[ + Optional[int], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Maximum number of items to return""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["offset", "limit"]) + 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 + + +GetPipelinesByPackResponseBodyTypedDict = TypeAliasType( + "GetPipelinesByPackResponseBodyTypedDict", + Union[CountedPipelineTypedDict, PaginatedPipelineTypedDict], +) +r"""List of Pipeline objects.""" + + +GetPipelinesByPackResponseBody = TypeAliasType( + "GetPipelinesByPackResponseBody", Union[CountedPipeline, PaginatedPipeline] +) +r"""List of Pipeline objects.""" + + +class GetPipelinesByPackResponseTypedDict(TypedDict): + result: GetPipelinesByPackResponseBodyTypedDict + + +class GetPipelinesByPackResponse(BaseModel): + next: Union[ + Callable[[], Optional[GetPipelinesByPackResponse]], + Callable[[], Awaitable[Optional[GetPipelinesByPackResponse]]], + ] + + result: GetPipelinesByPackResponseBody diff --git a/src/cribl_control_plane/models/getpipelinesop.py b/src/cribl_control_plane/models/getpipelinesop.py new file mode 100644 index 000000000..ccfec4488 --- /dev/null +++ b/src/cribl_control_plane/models/getpipelinesop.py @@ -0,0 +1,73 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .countedpipeline import CountedPipeline, CountedPipelineTypedDict +from .paginatedpipeline import PaginatedPipeline, PaginatedPipelineTypedDict +from cribl_control_plane.types import BaseModel, UNSET_SENTINEL +from cribl_control_plane.utils import FieldMetadata, QueryParamMetadata +from pydantic import model_serializer +from typing import Awaitable, Callable, Optional, Union +from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict + + +class GetPipelinesRequestTypedDict(TypedDict): + offset: NotRequired[int] + r"""Pagination offset""" + limit: NotRequired[int] + r"""Maximum number of items to return""" + + +class GetPipelinesRequest(BaseModel): + offset: Annotated[ + Optional[int], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Pagination offset""" + + limit: Annotated[ + Optional[int], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Maximum number of items to return""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["offset", "limit"]) + 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 + + +GetPipelinesResponseBodyTypedDict = TypeAliasType( + "GetPipelinesResponseBodyTypedDict", + Union[CountedPipelineTypedDict, PaginatedPipelineTypedDict], +) +r"""List of Pipeline objects.""" + + +GetPipelinesResponseBody = TypeAliasType( + "GetPipelinesResponseBody", Union[CountedPipeline, PaginatedPipeline] +) +r"""List of Pipeline objects.""" + + +class GetPipelinesResponseTypedDict(TypedDict): + result: GetPipelinesResponseBodyTypedDict + + +class GetPipelinesResponse(BaseModel): + next: Union[ + Callable[[], Optional[GetPipelinesResponse]], + Callable[[], Awaitable[Optional[GetPipelinesResponse]]], + ] + + result: GetPipelinesResponseBody diff --git a/src/cribl_control_plane/models/getconfiggroupaclbyproductandidop.py b/src/cribl_control_plane/models/getproductsgroupsaclbyproductandidop.py similarity index 95% rename from src/cribl_control_plane/models/getconfiggroupaclbyproductandidop.py rename to src/cribl_control_plane/models/getproductsgroupsaclbyproductandidop.py index 605650685..0cb9593bb 100644 --- a/src/cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +++ b/src/cribl_control_plane/models/getproductsgroupsaclbyproductandidop.py @@ -15,7 +15,7 @@ from typing_extensions import Annotated, NotRequired, TypedDict -class GetConfigGroupACLByProductAndIDRequestTypedDict(TypedDict): +class GetProductsGroupsACLByProductAndIDRequestTypedDict(TypedDict): product: ProductsCore r"""Name of the Cribl product to get the Worker Groups or Edge Fleets for.""" id: str @@ -24,7 +24,7 @@ class GetConfigGroupACLByProductAndIDRequestTypedDict(TypedDict): r"""Filter for limiting the response to ACL entries for the specified RBAC resource type.""" -class GetConfigGroupACLByProductAndIDRequest(BaseModel): +class GetProductsGroupsACLByProductAndIDRequest(BaseModel): product: Annotated[ ProductsCore, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)), diff --git a/src/cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py b/src/cribl_control_plane/models/getproductsgroupsaclteamsbyproductandidop.py similarity index 94% rename from src/cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py rename to src/cribl_control_plane/models/getproductsgroupsaclteamsbyproductandidop.py index 3daf12e3b..faa79d553 100644 --- a/src/cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +++ b/src/cribl_control_plane/models/getproductsgroupsaclteamsbyproductandidop.py @@ -15,7 +15,7 @@ from typing_extensions import Annotated, NotRequired, TypedDict -class GetConfigGroupACLTeamsByProductAndIDRequestTypedDict(TypedDict): +class GetProductsGroupsACLTeamsByProductAndIDRequestTypedDict(TypedDict): product: ProductsCore r"""Name of the Cribl product that contains the Worker Group, Outpost Group, or Edge Fleet.""" id: str @@ -24,7 +24,7 @@ class GetConfigGroupACLTeamsByProductAndIDRequestTypedDict(TypedDict): r"""Filter for limiting the response to ACL entries for the specified RBAC resource type.""" -class GetConfigGroupACLTeamsByProductAndIDRequest(BaseModel): +class GetProductsGroupsACLTeamsByProductAndIDRequest(BaseModel): product: Annotated[ ProductsCore, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)), diff --git a/src/cribl_control_plane/models/getconfiggroupbyproductandidop.py b/src/cribl_control_plane/models/getproductsgroupsbyproductandidop.py similarity index 95% rename from src/cribl_control_plane/models/getconfiggroupbyproductandidop.py rename to src/cribl_control_plane/models/getproductsgroupsbyproductandidop.py index deefb12b8..df117b106 100644 --- a/src/cribl_control_plane/models/getconfiggroupbyproductandidop.py +++ b/src/cribl_control_plane/models/getproductsgroupsbyproductandidop.py @@ -14,7 +14,7 @@ from typing_extensions import Annotated, NotRequired, TypedDict -class GetConfigGroupByProductAndIDRequestTypedDict(TypedDict): +class GetProductsGroupsByProductAndIDRequestTypedDict(TypedDict): product: ProductsCore r"""Name of the Cribl product to get the Worker Groups, Outpost Groups, or Edge Fleets for.""" id: str @@ -23,7 +23,7 @@ class GetConfigGroupByProductAndIDRequestTypedDict(TypedDict): r"""Comma-separated list of additional properties to include in the response. Available values are git.commit, git.localChanges, and git.log.""" -class GetConfigGroupByProductAndIDRequest(BaseModel): +class GetProductsGroupsByProductAndIDRequest(BaseModel): product: Annotated[ ProductsCore, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)), diff --git a/src/cribl_control_plane/models/listconfiggroupbyproductop.py b/src/cribl_control_plane/models/getproductsgroupsbyproductop.py similarity index 52% rename from src/cribl_control_plane/models/listconfiggroupbyproductop.py rename to src/cribl_control_plane/models/getproductsgroupsbyproductop.py index 23dcff0a6..1a6ec5f55 100644 --- a/src/cribl_control_plane/models/listconfiggroupbyproductop.py +++ b/src/cribl_control_plane/models/getproductsgroupsbyproductop.py @@ -1,6 +1,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations +from .countedconfiggroup import CountedConfigGroup, CountedConfigGroupTypedDict +from .paginatedconfiggroup import PaginatedConfigGroup, PaginatedConfigGroupTypedDict from .productscore import ProductsCore from cribl_control_plane import models from cribl_control_plane.types import BaseModel, UNSET_SENTINEL @@ -10,18 +12,22 @@ QueryParamMetadata, ) from pydantic import field_serializer, model_serializer -from typing import Optional -from typing_extensions import Annotated, NotRequired, TypedDict +from typing import Awaitable, Callable, Optional, Union +from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict -class ListConfigGroupByProductRequestTypedDict(TypedDict): +class GetProductsGroupsByProductRequestTypedDict(TypedDict): product: ProductsCore r"""Name of the Cribl product to get the Worker Groups, Outpost Groups, or Edge Fleets for.""" fields: NotRequired[str] r"""Comma-separated list of additional properties to include in the response. Available values are git.commit, git.localChanges, and git.log.""" + offset: NotRequired[int] + r"""Pagination offset""" + limit: NotRequired[int] + r"""Maximum number of items to return""" -class ListConfigGroupByProductRequest(BaseModel): +class GetProductsGroupsByProductRequest(BaseModel): product: Annotated[ ProductsCore, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)), @@ -34,6 +40,18 @@ class ListConfigGroupByProductRequest(BaseModel): ] = None r"""Comma-separated list of additional properties to include in the response. Available values are git.commit, git.localChanges, and git.log.""" + offset: Annotated[ + Optional[int], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Pagination offset""" + + limit: Annotated[ + Optional[int], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Maximum number of items to return""" + @field_serializer("product") def serialize_product(self, value): if isinstance(value, str): @@ -45,7 +63,7 @@ def serialize_product(self, value): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["fields"]) + optional_fields = set(["fields", "offset", "limit"]) serialized = handler(self) m = {} @@ -58,3 +76,30 @@ def serialize_model(self, handler): m[k] = val return m + + +GetProductsGroupsByProductResponseBodyTypedDict = TypeAliasType( + "GetProductsGroupsByProductResponseBodyTypedDict", + Union[CountedConfigGroupTypedDict, PaginatedConfigGroupTypedDict], +) +r"""List of ConfigGroup objects.""" + + +GetProductsGroupsByProductResponseBody = TypeAliasType( + "GetProductsGroupsByProductResponseBody", + Union[CountedConfigGroup, PaginatedConfigGroup], +) +r"""List of ConfigGroup objects.""" + + +class GetProductsGroupsByProductResponseTypedDict(TypedDict): + result: GetProductsGroupsByProductResponseBodyTypedDict + + +class GetProductsGroupsByProductResponse(BaseModel): + next: Union[ + Callable[[], Optional[GetProductsGroupsByProductResponse]], + Callable[[], Awaitable[Optional[GetProductsGroupsByProductResponse]]], + ] + + result: GetProductsGroupsByProductResponseBody diff --git a/src/cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py b/src/cribl_control_plane/models/getproductsgroupsconfigversionbyproductandidop.py similarity index 90% rename from src/cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py rename to src/cribl_control_plane/models/getproductsgroupsconfigversionbyproductandidop.py index e13142cb7..e8a4c3e7a 100644 --- a/src/cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +++ b/src/cribl_control_plane/models/getproductsgroupsconfigversionbyproductandidop.py @@ -9,14 +9,14 @@ from typing_extensions import Annotated, TypedDict -class GetConfigGroupConfigVersionByProductAndIDRequestTypedDict(TypedDict): +class GetProductsGroupsConfigVersionByProductAndIDRequestTypedDict(TypedDict): product: ProductsCore r"""Name of the Cribl product to get the Worker Groups, Outpost Groups, or Edge Fleets for.""" id: str r"""The id of the Worker Group, Outpost Group, or Edge Fleet to get the configuration version for.""" -class GetConfigGroupConfigVersionByProductAndIDRequest(BaseModel): +class GetProductsGroupsConfigVersionByProductAndIDRequest(BaseModel): product: Annotated[ ProductsCore, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)), diff --git a/src/cribl_control_plane/models/getproductssummarybyproductop.py b/src/cribl_control_plane/models/getproductssummarybyproductop.py index fb90a83c6..f7abc252f 100644 --- a/src/cribl_control_plane/models/getproductssummarybyproductop.py +++ b/src/cribl_control_plane/models/getproductssummarybyproductop.py @@ -1,17 +1,34 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations +from .counteddistributedsummary import ( + CountedDistributedSummary, + CountedDistributedSummaryTypedDict, +) +from .paginateddistributedsummary import ( + PaginatedDistributedSummary, + PaginatedDistributedSummaryTypedDict, +) from .productsbase import ProductsBase from cribl_control_plane import models -from cribl_control_plane.types import BaseModel -from cribl_control_plane.utils import FieldMetadata, PathParamMetadata -from pydantic import field_serializer -from typing_extensions import Annotated, TypedDict +from cribl_control_plane.types import BaseModel, UNSET_SENTINEL +from cribl_control_plane.utils import ( + FieldMetadata, + PathParamMetadata, + QueryParamMetadata, +) +from pydantic import field_serializer, model_serializer +from typing import Awaitable, Callable, Optional, Union +from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict class GetProductsSummaryByProductRequestTypedDict(TypedDict): product: ProductsBase r"""Name of the Cribl product to get the summary for.""" + offset: NotRequired[int] + r"""Pagination offset""" + limit: NotRequired[int] + r"""Maximum number of items to return""" class GetProductsSummaryByProductRequest(BaseModel): @@ -21,6 +38,18 @@ class GetProductsSummaryByProductRequest(BaseModel): ] r"""Name of the Cribl product to get the summary for.""" + offset: Annotated[ + Optional[int], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Pagination offset""" + + limit: Annotated[ + Optional[int], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Maximum number of items to return""" + @field_serializer("product") def serialize_product(self, value): if isinstance(value, str): @@ -29,3 +58,46 @@ def serialize_product(self, value): except ValueError: return value return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["offset", "limit"]) + 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 + + +GetProductsSummaryByProductResponseBodyTypedDict = TypeAliasType( + "GetProductsSummaryByProductResponseBodyTypedDict", + Union[CountedDistributedSummaryTypedDict, PaginatedDistributedSummaryTypedDict], +) +r"""List of DistributedSummary objects.""" + + +GetProductsSummaryByProductResponseBody = TypeAliasType( + "GetProductsSummaryByProductResponseBody", + Union[CountedDistributedSummary, PaginatedDistributedSummary], +) +r"""List of DistributedSummary objects.""" + + +class GetProductsSummaryByProductResponseTypedDict(TypedDict): + result: GetProductsSummaryByProductResponseBodyTypedDict + + +class GetProductsSummaryByProductResponse(BaseModel): + next: Union[ + Callable[[], Optional[GetProductsSummaryByProductResponse]], + Callable[[], Awaitable[Optional[GetProductsSummaryByProductResponse]]], + ] + + result: GetProductsSummaryByProductResponseBody diff --git a/src/cribl_control_plane/models/getproductsworkersbyproductop.py b/src/cribl_control_plane/models/getproductsworkersbyproductop.py index 2c522d828..91ce956f4 100644 --- a/src/cribl_control_plane/models/getproductsworkersbyproductop.py +++ b/src/cribl_control_plane/models/getproductsworkersbyproductop.py @@ -5,6 +5,10 @@ CountedMasterWorkerEntry, CountedMasterWorkerEntryTypedDict, ) +from .paginatedmasterworkerentry import ( + PaginatedMasterWorkerEntry, + PaginatedMasterWorkerEntryTypedDict, +) from .productscore import ProductsCore from cribl_control_plane import models from cribl_control_plane.types import BaseModel, UNSET_SENTINEL @@ -16,7 +20,7 @@ import pydantic from pydantic import field_serializer, model_serializer from typing import Awaitable, Callable, Optional, Union -from typing_extensions import Annotated, NotRequired, TypedDict +from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict class GetProductsWorkersByProductRequestTypedDict(TypedDict): @@ -110,8 +114,22 @@ def serialize_model(self, handler): return m +GetProductsWorkersByProductResponseBodyTypedDict = TypeAliasType( + "GetProductsWorkersByProductResponseBodyTypedDict", + Union[CountedMasterWorkerEntryTypedDict, PaginatedMasterWorkerEntryTypedDict], +) +r"""List of MasterWorkerEntry objects.""" + + +GetProductsWorkersByProductResponseBody = TypeAliasType( + "GetProductsWorkersByProductResponseBody", + Union[CountedMasterWorkerEntry, PaginatedMasterWorkerEntry], +) +r"""List of MasterWorkerEntry objects.""" + + class GetProductsWorkersByProductResponseTypedDict(TypedDict): - result: CountedMasterWorkerEntryTypedDict + result: GetProductsWorkersByProductResponseBodyTypedDict class GetProductsWorkersByProductResponse(BaseModel): @@ -120,4 +138,4 @@ class GetProductsWorkersByProductResponse(BaseModel): Callable[[], Awaitable[Optional[GetProductsWorkersByProductResponse]]], ] - result: CountedMasterWorkerEntry + result: GetProductsWorkersByProductResponseBody diff --git a/src/cribl_control_plane/models/getsavedjobop.py b/src/cribl_control_plane/models/getsavedjobop.py index 52fd8f316..c3ee63914 100644 --- a/src/cribl_control_plane/models/getsavedjobop.py +++ b/src/cribl_control_plane/models/getsavedjobop.py @@ -2,18 +2,30 @@ from __future__ import annotations from .collectortype import CollectorType +from .countedsavedjobresponse import ( + CountedSavedJobResponse, + CountedSavedJobResponseTypedDict, +) +from .paginatedsavedjobresponse import ( + PaginatedSavedJobResponse, + PaginatedSavedJobResponseTypedDict, +) from cribl_control_plane import models from cribl_control_plane.types import BaseModel, UNSET_SENTINEL from cribl_control_plane.utils import FieldMetadata, QueryParamMetadata import pydantic from pydantic import field_serializer, model_serializer -from typing import Optional -from typing_extensions import Annotated, NotRequired, TypedDict +from typing import Awaitable, Callable, Optional, Union +from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict class GetSavedJobRequestTypedDict(TypedDict): collector_type: NotRequired[CollectorType] - r"""Filter by collector type""" + r"""Filter by collector type.""" + offset: NotRequired[int] + r"""Pagination offset""" + limit: NotRequired[int] + r"""Maximum number of items to return""" class GetSavedJobRequest(BaseModel): @@ -22,7 +34,19 @@ 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.""" + + offset: Annotated[ + Optional[int], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Pagination offset""" + + limit: Annotated[ + Optional[int], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Maximum number of items to return""" @field_serializer("collector_type") def serialize_collector_type(self, value): @@ -35,7 +59,7 @@ def serialize_collector_type(self, value): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["collectorType"]) + optional_fields = set(["collectorType", "offset", "limit"]) serialized = handler(self) m = {} @@ -48,3 +72,29 @@ def serialize_model(self, handler): m[k] = val return m + + +GetSavedJobResponseBodyTypedDict = TypeAliasType( + "GetSavedJobResponseBodyTypedDict", + Union[CountedSavedJobResponseTypedDict, PaginatedSavedJobResponseTypedDict], +) +r"""The list of Collectors in a response envelope with count and items.""" + + +GetSavedJobResponseBody = TypeAliasType( + "GetSavedJobResponseBody", Union[CountedSavedJobResponse, PaginatedSavedJobResponse] +) +r"""The list of Collectors in a response envelope with count and items.""" + + +class GetSavedJobResponseTypedDict(TypedDict): + result: GetSavedJobResponseBodyTypedDict + + +class GetSavedJobResponse(BaseModel): + next: Union[ + Callable[[], Optional[GetSavedJobResponse]], + Callable[[], Awaitable[Optional[GetSavedJobResponse]]], + ] + + result: GetSavedJobResponseBody diff --git a/src/cribl_control_plane/models/getversionop.py b/src/cribl_control_plane/models/getversionop.py index 6660e2414..85b74d8a9 100644 --- a/src/cribl_control_plane/models/getversionop.py +++ b/src/cribl_control_plane/models/getversionop.py @@ -1,16 +1,22 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations +from .countedgitlogresult import CountedGitLogResult, CountedGitLogResultTypedDict +from .paginatedgitlogresult import PaginatedGitLogResult, PaginatedGitLogResultTypedDict from cribl_control_plane.types import BaseModel, UNSET_SENTINEL from cribl_control_plane.utils import FieldMetadata, QueryParamMetadata from pydantic import model_serializer -from typing import Optional -from typing_extensions import Annotated, NotRequired, TypedDict +from typing import Awaitable, Callable, Optional, Union +from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict class GetVersionRequestTypedDict(TypedDict): count: NotRequired[int] r"""Maximum number of commits to return in the response for this request.""" + offset: NotRequired[int] + r"""Pagination offset""" + limit: NotRequired[int] + r"""Maximum number of items to return""" class GetVersionRequest(BaseModel): @@ -20,9 +26,21 @@ class GetVersionRequest(BaseModel): ] = None r"""Maximum number of commits to return in the response for this request.""" + offset: Annotated[ + Optional[int], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Pagination offset""" + + limit: Annotated[ + Optional[int], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Maximum number of items to return""" + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["count"]) + optional_fields = set(["count", "offset", "limit"]) serialized = handler(self) m = {} @@ -35,3 +53,29 @@ def serialize_model(self, handler): m[k] = val return m + + +GetVersionResponseBodyTypedDict = TypeAliasType( + "GetVersionResponseBodyTypedDict", + Union[CountedGitLogResultTypedDict, PaginatedGitLogResultTypedDict], +) +r"""List of GitLogResult objects.""" + + +GetVersionResponseBody = TypeAliasType( + "GetVersionResponseBody", Union[CountedGitLogResult, PaginatedGitLogResult] +) +r"""List of GitLogResult objects.""" + + +class GetVersionResponseTypedDict(TypedDict): + result: GetVersionResponseBodyTypedDict + + +class GetVersionResponse(BaseModel): + next: Union[ + Callable[[], Optional[GetVersionResponse]], + Callable[[], Awaitable[Optional[GetVersionResponse]]], + ] + + result: GetVersionResponseBody diff --git a/src/cribl_control_plane/models/gitcommitbody.py b/src/cribl_control_plane/models/gitcommitbody.py index 8b3adb95c..bfeb50360 100644 --- a/src/cribl_control_plane/models/gitcommitbody.py +++ b/src/cribl_control_plane/models/gitcommitbody.py @@ -9,16 +9,22 @@ class GitCommitBodyTypedDict(TypedDict): message: str + r"""Commit message to use for the new Git commit.""" effective: NotRequired[bool] + r"""If true, apply the commit to the group's effective configuration. Otherwise, false.""" files: NotRequired[List[str]] + r"""Array of file paths to include in the commit, relative to the configuration root. If omitted, all pending changes are committed.""" class GitCommitBody(BaseModel): message: str + r"""Commit message to use for the new Git commit.""" effective: Optional[bool] = None + r"""If true, apply the commit to the group's effective configuration. Otherwise, false.""" files: Optional[List[str]] = None + r"""Array of file paths to include in the commit, relative to the configuration root. If omitted, all pending changes are committed.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/gitcommitsummary.py b/src/cribl_control_plane/models/gitcommitsummary.py index 88010c1d2..78b5eb5af 100644 --- a/src/cribl_control_plane/models/gitcommitsummary.py +++ b/src/cribl_control_plane/models/gitcommitsummary.py @@ -1,59 +1,129 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .filestypegitcommitsummary import ( - FilesTypeGitCommitSummary, - FilesTypeGitCommitSummaryTypedDict, -) +from .gitfilerename import GitFileRename, GitFileRenameTypedDict from cribl_control_plane.types import BaseModel, UNSET_SENTINEL from pydantic import model_serializer -from typing import Optional +from typing import List, Optional from typing_extensions import NotRequired, TypedDict class AuthorTypedDict(TypedDict): + r"""Author of the Git commit, including email and display name.""" + email: str + r"""Email address of the commit author.""" name: str + r"""Display name of the commit author.""" class Author(BaseModel): + r"""Author of the Git commit, including email and display name.""" + email: str + r"""Email address of the commit author.""" name: str + r"""Display name of the commit author.""" + + +class GitCommitSummaryFilesTypedDict(TypedDict): + r"""Files affected by the commit, grouped by change type.""" + + created: NotRequired[List[str]] + r"""Array of file paths that were created in the commit.""" + deleted: NotRequired[List[str]] + r"""Array of file paths that were deleted in the commit.""" + modified: NotRequired[List[str]] + r"""Array of file paths that were modified in the commit.""" + renamed: NotRequired[List[GitFileRenameTypedDict]] + r"""Array of file rename operations, each containing the original path and the new path.""" + + +class GitCommitSummaryFiles(BaseModel): + r"""Files affected by the commit, grouped by change type.""" + + created: Optional[List[str]] = None + r"""Array of file paths that were created in the commit.""" + + deleted: Optional[List[str]] = None + r"""Array of file paths that were deleted in the commit.""" + + modified: Optional[List[str]] = None + r"""Array of file paths that were modified in the commit.""" + + renamed: Optional[List[GitFileRename]] = None + r"""Array of file rename operations, each containing the original path and the new path.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["created", "deleted", "modified", "renamed"]) + 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 SummaryTypedDict(TypedDict): - changes: float - deletions: float - insertions: float + r"""Summary of line changes in the commit.""" + + changes: int + r"""Total number of lines changed (insertions plus deletions).""" + deletions: int + r"""Number of lines deleted.""" + insertions: int + r"""Number of lines inserted.""" class Summary(BaseModel): - changes: float + r"""Summary of line changes in the commit.""" + + changes: int + r"""Total number of lines changed (insertions plus deletions).""" - deletions: float + deletions: int + r"""Number of lines deleted.""" - insertions: float + insertions: int + r"""Number of lines inserted.""" class GitCommitSummaryTypedDict(TypedDict): branch: str + r"""Name of the Git branch the commit was made on.""" commit: str + r"""Full SHA-1 hash of the new commit.""" summary: SummaryTypedDict + r"""Summary of line changes in the commit.""" author: NotRequired[AuthorTypedDict] - files: NotRequired[FilesTypeGitCommitSummaryTypedDict] + r"""Author of the Git commit, including email and display name.""" + files: NotRequired[GitCommitSummaryFilesTypedDict] + r"""Files affected by the commit, grouped by change type.""" class GitCommitSummary(BaseModel): branch: str + r"""Name of the Git branch the commit was made on.""" commit: str + r"""Full SHA-1 hash of the new commit.""" summary: Summary + r"""Summary of line changes in the commit.""" author: Optional[Author] = None + r"""Author of the Git commit, including email and display name.""" - files: Optional[FilesTypeGitCommitSummary] = None + files: Optional[GitCommitSummaryFiles] = None + r"""Files affected by the commit, grouped by change type.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/gitcountresult.py b/src/cribl_control_plane/models/gitcountresult.py index d1079c0c2..85981770a 100644 --- a/src/cribl_control_plane/models/gitcountresult.py +++ b/src/cribl_control_plane/models/gitcountresult.py @@ -6,8 +6,10 @@ class GitCountResultTypedDict(TypedDict): - count: float + count: int + r"""Number of files that changed since the specified commit.""" class GitCountResult(BaseModel): - count: float + count: int + r"""Number of files that changed since the specified commit.""" diff --git a/src/cribl_control_plane/models/diffline.py b/src/cribl_control_plane/models/gitdifflines.py similarity index 73% rename from src/cribl_control_plane/models/diffline.py rename to src/cribl_control_plane/models/gitdifflines.py index f17d3919c..1f4c62d9d 100644 --- a/src/cribl_control_plane/models/diffline.py +++ b/src/cribl_control_plane/models/gitdifflines.py @@ -13,14 +13,14 @@ from typing_extensions import Annotated, TypeAliasType -DiffLineTypedDict = TypeAliasType( - "DiffLineTypedDict", +GitDiffLinesTypedDict = TypeAliasType( + "GitDiffLinesTypedDict", Union[DiffLineDeleteTypedDict, DiffLineInsertTypedDict, DiffLineContextTypedDict], ) -class UnknownDiffLine(BaseModel): - r"""A DiffLine variant the SDK doesn't recognize. Preserves the raw payload.""" +class UnknownGitDiffLines(BaseModel): + r"""A GitDiffLines variant the SDK doesn't recognize. Preserves the raw payload.""" type: Literal["UNKNOWN"] = "UNKNOWN" raw: Any @@ -29,22 +29,22 @@ class UnknownDiffLine(BaseModel): model_config = ConfigDict(frozen=True) -_DIFF_LINE_VARIANTS: dict[str, Any] = { +_GIT_DIFF_LINES_VARIANTS: dict[str, Any] = { "delete": DiffLineDelete, "insert": DiffLineInsert, "context": DiffLineContext, } -DiffLine = Annotated[ - Union[DiffLineDelete, DiffLineInsert, DiffLineContext, UnknownDiffLine], +GitDiffLines = Annotated[ + Union[DiffLineDelete, DiffLineInsert, DiffLineContext, UnknownGitDiffLines], BeforeValidator( partial( parse_open_union, disc_key="type", - variants=_DIFF_LINE_VARIANTS, - unknown_cls=UnknownDiffLine, - union_name="DiffLine", + variants=_GIT_DIFF_LINES_VARIANTS, + unknown_cls=UnknownGitDiffLines, + union_name="GitDiffLines", ) ), ] diff --git a/src/cribl_control_plane/models/gitfile.py b/src/cribl_control_plane/models/gitfile.py index 8a03a59fc..e266b4c54 100644 --- a/src/cribl_control_plane/models/gitfile.py +++ b/src/cribl_control_plane/models/gitfile.py @@ -2,27 +2,41 @@ from __future__ import annotations from cribl_control_plane.types import BaseModel, UNSET_SENTINEL +import pydantic from pydantic import model_serializer from typing import List, Optional -from typing_extensions import NotRequired, TypedDict +from typing_extensions import Annotated, NotRequired, TypedDict class GitFileTypedDict(TypedDict): name: str + r"""Path of the file relative to the configuration root.""" + auto_included_in_commit: NotRequired[bool] + r"""If true, this file is automatically included in commits without being explicitly listed. Otherwise, false.""" children: NotRequired[List[GitFileTypedDict]] + r"""When this entry is a directory, nested files and subdirectories. Each array element matches this same object shape (recursive file tree).""" state: NotRequired[str] + r"""Git status code for the file: M for modified, A for added, or D for deleted.""" class GitFile(BaseModel): name: str + r"""Path of the file relative to the configuration root.""" + + auto_included_in_commit: Annotated[ + Optional[bool], pydantic.Field(alias="autoIncludedInCommit") + ] = None + r"""If true, this file is automatically included in commits without being explicitly listed. Otherwise, false.""" children: Optional[List[GitFile]] = None + r"""When this entry is a directory, nested files and subdirectories. Each array element matches this same object shape (recursive file tree).""" state: Optional[str] = None + r"""Git status code for the file: M for modified, A for added, or D for deleted.""" @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["children", "state"]) + optional_fields = set(["autoIncludedInCommit", "children", "state"]) serialized = handler(self) m = {} @@ -35,3 +49,9 @@ def serialize_model(self, handler): m[k] = val return m + + +try: + GitFile.model_rebuild() +except NameError: + pass diff --git a/src/cribl_control_plane/models/gitfilesresponse.py b/src/cribl_control_plane/models/gitfilesresponse.py index 8fcad5794..1b2b46018 100644 --- a/src/cribl_control_plane/models/gitfilesresponse.py +++ b/src/cribl_control_plane/models/gitfilesresponse.py @@ -5,24 +5,30 @@ from cribl_control_plane.types import BaseModel, UNSET_SENTINEL import pydantic from pydantic import model_serializer -from typing import Any, Dict, List, Optional +from typing import List, Optional from typing_extensions import Annotated, NotRequired, TypedDict class GitFilesResponseTypedDict(TypedDict): - count: float + count: int + r"""Number of files returned.""" items: List[GitFileTypedDict] - commit_message: NotRequired[Dict[str, Any]] + r"""Array of files that changed since the specified commit.""" + commit_message: NotRequired[str] + r"""Commit message of the specified commit.""" class GitFilesResponse(BaseModel): - count: float + count: int + r"""Number of files returned.""" items: List[GitFile] + r"""Array of files that changed since the specified commit.""" - commit_message: Annotated[ - Optional[Dict[str, Any]], pydantic.Field(alias="commitMessage") - ] = None + commit_message: Annotated[Optional[str], pydantic.Field(alias="commitMessage")] = ( + None + ) + r"""Commit message of the specified commit.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/gitinfo.py b/src/cribl_control_plane/models/gitinfo.py index 55b36fba2..84759ed1f 100644 --- a/src/cribl_control_plane/models/gitinfo.py +++ b/src/cribl_control_plane/models/gitinfo.py @@ -13,17 +13,23 @@ class RemoteEnum(str, Enum, metaclass=utils.OpenEnumMeta): RemoteTypedDict = TypeAliasType("RemoteTypedDict", Union[str, RemoteEnum]) +r"""URL of the configured remote Git repository, with credentials redacted. false if no remote is configured.""" Remote = TypeAliasType("Remote", Union[str, RemoteEnum]) +r"""URL of the configured remote Git repository, with credentials redacted. false if no remote is configured.""" class GitInfoTypedDict(TypedDict): remote: RemoteTypedDict + r"""URL of the configured remote Git repository, with credentials redacted. false if no remote is configured.""" versioning: bool + r"""If true, Git versioning is enabled for this Cribl instance. Otherwise, false.""" class GitInfo(BaseModel): remote: Remote + r"""URL of the configured remote Git repository, with credentials redacted. false if no remote is configured.""" versioning: bool + r"""If true, Git versioning is enabled for this Cribl instance. Otherwise, false.""" diff --git a/src/cribl_control_plane/models/gitlogresult.py b/src/cribl_control_plane/models/gitlogresult.py index 1c5255600..2b8d473fa 100644 --- a/src/cribl_control_plane/models/gitlogresult.py +++ b/src/cribl_control_plane/models/gitlogresult.py @@ -10,28 +10,42 @@ class GitLogResultTypedDict(TypedDict): author_email: NotRequired[str] + r"""Email address of the commit author.""" author_name: NotRequired[str] + r"""Display name of the commit author.""" body: NotRequired[str] + r"""Body of the commit message, excluding the subject line.""" date_: NotRequired[str] + r"""Date and time of the commit in ISO 8601 format with timezone offset.""" hash: NotRequired[str] + r"""Full SHA-1 hash of the commit.""" message: NotRequired[str] + r"""First line of the commit message (the subject).""" refs: NotRequired[str] + r"""Git refs (branches, tags) pointing to this commit.""" class GitLogResult(BaseModel): author_email: Optional[str] = None + r"""Email address of the commit author.""" author_name: Optional[str] = None + r"""Display name of the commit author.""" body: Optional[str] = None + r"""Body of the commit message, excluding the subject line.""" date_: Annotated[Optional[str], pydantic.Field(alias="date")] = None + r"""Date and time of the commit in ISO 8601 format with timezone offset.""" hash: Optional[str] = None + r"""Full SHA-1 hash of the commit.""" message: Optional[str] = None + r"""First line of the commit message (the subject).""" refs: Optional[str] = None + r"""Git refs (branches, tags) pointing to this commit.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/gitrevertparams.py b/src/cribl_control_plane/models/gitrevertparams.py index d90ec9971..600fc2425 100644 --- a/src/cribl_control_plane/models/gitrevertparams.py +++ b/src/cribl_control_plane/models/gitrevertparams.py @@ -9,16 +9,22 @@ class GitRevertParamsTypedDict(TypedDict): commit: str + r"""SHA-1 hash of the commit to revert.""" force: NotRequired[bool] + r"""If true, force the revert even when the working directory is not clean. Otherwise, false.""" message: NotRequired[str] + r"""Custom message to use for the revert commit. If omitted, a default message is generated.""" class GitRevertParams(BaseModel): commit: str + r"""SHA-1 hash of the commit to revert.""" force: Optional[bool] = None + r"""If true, force the revert even when the working directory is not clean. Otherwise, false.""" message: Optional[str] = None + r"""Custom message to use for the revert commit. If omitted, a default message is generated.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/gitrevertresult.py b/src/cribl_control_plane/models/gitrevertresult.py index 8fbfa89b2..ff65b1260 100644 --- a/src/cribl_control_plane/models/gitrevertresult.py +++ b/src/cribl_control_plane/models/gitrevertresult.py @@ -1,28 +1,80 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .filestypegitcommitsummary import ( - FilesTypeGitCommitSummary, - FilesTypeGitCommitSummaryTypedDict, -) +from .gitfilerename import GitFileRename, GitFileRenameTypedDict from cribl_control_plane.types import BaseModel, UNSET_SENTINEL from pydantic import model_serializer -from typing import Optional +from typing import List, Optional from typing_extensions import NotRequired, TypedDict +class GitRevertResultFilesTypedDict(TypedDict): + r"""Files affected by the revert, grouped by change type.""" + + created: NotRequired[List[str]] + r"""Array of file paths that were created in the commit.""" + deleted: NotRequired[List[str]] + r"""Array of file paths that were deleted in the commit.""" + modified: NotRequired[List[str]] + r"""Array of file paths that were modified in the commit.""" + renamed: NotRequired[List[GitFileRenameTypedDict]] + r"""Array of file rename operations, each containing the original path and the new path.""" + + +class GitRevertResultFiles(BaseModel): + r"""Files affected by the revert, grouped by change type.""" + + created: Optional[List[str]] = None + r"""Array of file paths that were created in the commit.""" + + deleted: Optional[List[str]] = None + r"""Array of file paths that were deleted in the commit.""" + + modified: Optional[List[str]] = None + r"""Array of file paths that were modified in the commit.""" + + renamed: Optional[List[GitFileRename]] = None + r"""Array of file rename operations, each containing the original path and the new path.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["created", "deleted", "modified", "renamed"]) + 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 AuditTypedDict(TypedDict): + r"""Audit record for the revert operation, including the commit hash and affected files.""" + id: str - files: NotRequired[FilesTypeGitCommitSummaryTypedDict] + r"""SHA-1 hash of the revert commit that was created.""" + files: NotRequired[GitRevertResultFilesTypedDict] + r"""Files affected by the revert, grouped by change type.""" group: NotRequired[str] + r"""Worker Group the revert was applied to, if applicable.""" class Audit(BaseModel): + r"""Audit record for the revert operation, including the commit hash and affected files.""" + id: str + r"""SHA-1 hash of the revert commit that was created.""" - files: Optional[FilesTypeGitCommitSummary] = None + files: Optional[GitRevertResultFiles] = None + r"""Files affected by the revert, grouped by change type.""" group: Optional[str] = None + r"""Worker Group the revert was applied to, if applicable.""" @model_serializer(mode="wrap") def serialize_model(self, handler): @@ -43,10 +95,14 @@ def serialize_model(self, handler): class GitRevertResultTypedDict(TypedDict): audit: AuditTypedDict + r"""Audit record for the revert operation, including the commit hash and affected files.""" reverted: bool + r"""If true, the revert was applied successfully. Otherwise, false.""" class GitRevertResult(BaseModel): audit: Audit + r"""Audit record for the revert operation, including the commit hash and affected files.""" reverted: bool + r"""If true, the revert was applied successfully. Otherwise, false.""" diff --git a/src/cribl_control_plane/models/gitshowresult.py b/src/cribl_control_plane/models/gitshowresult.py index 45bc4e9ad..d8b8a60ea 100644 --- a/src/cribl_control_plane/models/gitshowresult.py +++ b/src/cribl_control_plane/models/gitshowresult.py @@ -10,11 +10,13 @@ class GitShowResultTypedDict(TypedDict): commit_message: str + r"""Full commit message of the specified commit.""" diff_json: List[DiffFilesTypedDict] class GitShowResult(BaseModel): commit_message: Annotated[str, pydantic.Field(alias="commitMessage")] + r"""Full commit message of the specified commit.""" diff_json: Annotated[List[DiffFiles], pydantic.Field(alias="diffJson")] diff --git a/src/cribl_control_plane/models/gitstatusresult.py b/src/cribl_control_plane/models/gitstatusresult.py index b86a3d6c3..5950517e3 100644 --- a/src/cribl_control_plane/models/gitstatusresult.py +++ b/src/cribl_control_plane/models/gitstatusresult.py @@ -9,65 +9,97 @@ class FileTypedDict(TypedDict): index: str + r"""Status code for the file in the index (staging area), using Git short-format notation.""" path: str + r"""File path relative to the configuration root.""" working_dir: str + r"""Status code for the file in the working directory, using Git short-format notation.""" class File(BaseModel): index: str + r"""Status code for the file in the index (staging area), using Git short-format notation.""" path: str + r"""File path relative to the configuration root.""" working_dir: str + r"""Status code for the file in the working directory, using Git short-format notation.""" class RenamedTypedDict(TypedDict): from_: str + r"""Original file path before the rename.""" to: str + r"""New file path after the rename.""" class Renamed(BaseModel): from_: Annotated[str, pydantic.Field(alias="from")] + r"""Original file path before the rename.""" to: str + r"""New file path after the rename.""" class GitStatusResultTypedDict(TypedDict): - ahead: float - behind: float + ahead: int + r"""Number of local commits that have not been pushed to the remote repository.""" + behind: int + r"""Number of commits in the remote repository that have not been pulled to the local branch.""" conflicted: List[str] + r"""Array of file paths that have merge conflicts.""" created: List[str] + r"""Array of file paths for newly created files that are staged for commit.""" current: str + r"""Name of the current Git branch.""" deleted: List[str] + r"""Array of file paths for deleted files that are staged for commit.""" files: List[FileTypedDict] + r"""Array of all changed files with their index and working directory status codes.""" modified: List[str] + r"""Array of file paths for modified files that are staged for commit.""" not_added: List[str] + r"""Array of file paths that have been modified but are not staged for commit.""" renamed: List[RenamedTypedDict] + r"""Array of file rename operations that are staged for commit.""" staged: List[str] + r"""Array of file paths that are staged for the next commit.""" class GitStatusResult(BaseModel): - ahead: float + ahead: int + r"""Number of local commits that have not been pushed to the remote repository.""" - behind: float + behind: int + r"""Number of commits in the remote repository that have not been pulled to the local branch.""" conflicted: List[str] + r"""Array of file paths that have merge conflicts.""" created: List[str] + r"""Array of file paths for newly created files that are staged for commit.""" current: str + r"""Name of the current Git branch.""" deleted: List[str] + r"""Array of file paths for deleted files that are staged for commit.""" files: List[File] + r"""Array of all changed files with their index and working directory status codes.""" modified: List[str] + r"""Array of file paths for modified files that are staged for commit.""" not_added: List[str] + r"""Array of file paths that have been modified but are not staged for commit.""" renamed: List[Renamed] + r"""Array of file rename operations that are staged for commit.""" staged: List[str] + r"""Array of file paths that are staged for the next commit.""" try: diff --git a/src/cribl_control_plane/models/groupcreaterequest.py b/src/cribl_control_plane/models/groupcreaterequest.py index f3842f4a3..6adf10fc6 100644 --- a/src/cribl_control_plane/models/groupcreaterequest.py +++ b/src/cribl_control_plane/models/groupcreaterequest.py @@ -16,6 +16,8 @@ class GroupCreateRequestTypedDict(TypedDict): id: str r"""Unique identifier.""" cloud: NotRequired[ConfigGroupCloudTypedDict] + collectors_ha_enabled: NotRequired[bool] + r"""Keeps Collector jobs running if the Leader Node fails. Applies only to Stream Worker Groups. Always true for Cribl.Cloud groups; defaults to false for on-prem groups. to Stream Worker Groups. Always true for Cribl.Cloud groups; defaults to false for on-prem groups.""" description: NotRequired[str] r"""Brief description of the Worker Group, Outpost Group, or Edge Fleet.""" estimated_ingest_rate: NotRequired[EstimatedIngestRateOptionsConfigGroup] @@ -54,6 +56,11 @@ class GroupCreateRequest(BaseModel): cloud: Optional[ConfigGroupCloud] = None + collectors_ha_enabled: Annotated[ + Optional[bool], pydantic.Field(alias="collectorsHaEnabled") + ] = None + r"""Keeps Collector jobs running if the Leader Node fails. Applies only to Stream Worker Groups. Always true for Cribl.Cloud groups; defaults to false for on-prem groups. to Stream Worker Groups. Always true for Cribl.Cloud groups; defaults to false for on-prem groups.""" + description: Optional[str] = None r"""Brief description of the Worker Group, Outpost Group, or Edge Fleet.""" @@ -150,6 +157,7 @@ def serialize_model(self, handler): optional_fields = set( [ "cloud", + "collectorsHaEnabled", "description", "estimatedIngestRate", "inherits", diff --git a/src/cribl_control_plane/models/hbcriblinfo.py b/src/cribl_control_plane/models/hbcriblinfo.py index 3a2882e5b..c6dde4bb9 100644 --- a/src/cribl_control_plane/models/hbcriblinfo.py +++ b/src/cribl_control_plane/models/hbcriblinfo.py @@ -14,6 +14,8 @@ class ConfigTypedDict(TypedDict): r"""Configuration bundle and policy revision metadata for the node.""" + api_credentials_rev: NotRequired[str] + r"""Current API credentials revision string. Only used in leader <> leader universal subscription.""" features_rev: NotRequired[str] r"""Feature flags or feature revision string for the bundle.""" hb_period_seconds: NotRequired[int] @@ -22,6 +24,8 @@ class ConfigTypedDict(TypedDict): r"""GitOps or LogStream environment label associated with the bundle.""" policy_rev: NotRequired[str] r"""Current policies revision string.""" + teams_rev: NotRequired[str] + r"""Current teams revision string. Only used in leader <> leader universal subscription.""" users_rev: NotRequired[str] r"""Current users revision string. Only used in leader <> leader universal subscription.""" version: NotRequired[str] @@ -31,6 +35,11 @@ class ConfigTypedDict(TypedDict): class Config(BaseModel): r"""Configuration bundle and policy revision metadata for the node.""" + api_credentials_rev: Annotated[ + Optional[str], pydantic.Field(alias="apiCredentialsRev") + ] = None + r"""Current API credentials revision string. Only used in leader <> leader universal subscription.""" + features_rev: Annotated[Optional[str], pydantic.Field(alias="featuresRev")] = None r"""Feature flags or feature revision string for the bundle.""" @@ -47,6 +56,9 @@ class Config(BaseModel): policy_rev: Annotated[Optional[str], pydantic.Field(alias="policyRev")] = None r"""Current policies revision string.""" + teams_rev: Annotated[Optional[str], pydantic.Field(alias="teamsRev")] = None + r"""Current teams revision string. Only used in leader <> leader universal subscription.""" + users_rev: Annotated[Optional[str], pydantic.Field(alias="usersRev")] = None r"""Current users revision string. Only used in leader <> leader universal subscription.""" @@ -57,10 +69,12 @@ class Config(BaseModel): def serialize_model(self, handler): optional_fields = set( [ + "apiCredentialsRev", "featuresRev", "hbPeriodSeconds", "logStreamEnv", "policyRev", + "teamsRev", "usersRev", "version", ] @@ -114,6 +128,8 @@ class HBCriblInfoTypedDict(TypedDict): r"""Objects that map Lookup files to deployment versions.""" master: NotRequired[HBLeaderInfoTypedDict] r"""Connection parameters for the Leader Node, as reported in a Worker heartbeat.""" + overlay_id: NotRequired[str] + r"""Currently active overlay identifier on the node. Omitted if no overlay is active.""" pid: NotRequired[int] r"""The process ID.""" socks_enabled: NotRequired[bool] @@ -162,6 +178,9 @@ class HBCriblInfo(BaseModel): master: Optional[HBLeaderInfo] = None r"""Connection parameters for the Leader Node, as reported in a Worker heartbeat.""" + overlay_id: Annotated[Optional[str], pydantic.Field(alias="overlayId")] = None + r"""Currently active overlay identifier on the node. Omitted if no overlay is active.""" + pid: Optional[int] = None r"""The process ID.""" @@ -195,6 +214,7 @@ def serialize_model(self, handler): "installType", "lookupVersions", "master", + "overlayId", "pid", "socksEnabled", "tags", diff --git a/src/cribl_control_plane/models/healthcheckauthenticationnone_healthcheckretryrulestypebackoff.py b/src/cribl_control_plane/models/healthcheckauthenticationnone_healthcheckretryrulestypebackoff.py index c2ba4fcfd..11cb20346 100644 --- a/src/cribl_control_plane/models/healthcheckauthenticationnone_healthcheckretryrulestypebackoff.py +++ b/src/cribl_control_plane/models/healthcheckauthenticationnone_healthcheckretryrulestypebackoff.py @@ -19,6 +19,10 @@ from .hiddendefaultbreakersoptionsdatabasecollectorconf import ( HiddenDefaultBreakersOptionsDatabaseCollectorConf, ) +from .refreshrequestparamconfhealthcheckauthenticationoauth import ( + RefreshRequestParamConfHealthCheckAuthenticationOauth, + RefreshRequestParamConfHealthCheckAuthenticationOauthTypedDict, +) from .retrytypeoptionshealthcheckcollectorconfretryrules import ( RetryTypeOptionsHealthCheckCollectorConfRetryRules, ) @@ -1238,10 +1242,22 @@ class HealthCheckAuthenticationOauthSecretTypedDict(TypedDict): List[AuthRequestHeaderConfHealthCheckAuthenticationLoginTypedDict] ] r"""Optional authentication request headers.""" + refresh_token_field: NotRequired[str] + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + rotate_refresh_token: NotRequired[bool] + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + refresh_url: NotRequired[str] + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + refresh_request_params: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthTypedDict] + ] + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" 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_token_resp_attribute: NotRequired[str] r"""Binds 'tokenRespAttribute' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tokenRespAttribute' at runtime.""" + template_refresh_url: NotRequired[str] + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" discovery: NotRequired[HealthCheckAuthenticationOauthSecretDiscoveryTypedDict] collect_request_headers: NotRequired[ List[HealthCheckAuthenticationOauthSecretCollectRequestHeaderTypedDict] @@ -1319,6 +1335,25 @@ class HealthCheckAuthenticationOauthSecret(BaseModel): ] = None r"""Optional authentication request headers.""" + refresh_token_field: Annotated[ + Optional[str], pydantic.Field(alias="refreshTokenField") + ] = None + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + + rotate_refresh_token: Annotated[ + Optional[bool], pydantic.Field(alias="rotateRefreshToken") + ] = None + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + + refresh_url: Annotated[Optional[str], pydantic.Field(alias="refreshUrl")] = None + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + + refresh_request_params: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauth]], + pydantic.Field(alias="refreshRequestParams"), + ] = None + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" + template_login_url: Annotated[ Optional[str], pydantic.Field(alias="__template_loginUrl") ] = None @@ -1329,6 +1364,11 @@ class HealthCheckAuthenticationOauthSecret(BaseModel): ] = None r"""Binds 'tokenRespAttribute' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tokenRespAttribute' at runtime.""" + template_refresh_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_refreshUrl") + ] = None + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + discovery: Optional[HealthCheckAuthenticationOauthSecretDiscovery] = None collect_request_headers: Annotated[ @@ -1435,8 +1475,13 @@ def serialize_model(self, handler): "tokenRespAttribute", "authRequestParams", "authRequestHeaders", + "refreshTokenField", + "rotateRefreshToken", + "refreshUrl", + "refreshRequestParams", "__template_loginUrl", "__template_tokenRespAttribute", + "__template_refreshUrl", "discovery", "collectRequestHeaders", "authenticateCollect", @@ -2669,10 +2714,22 @@ class HealthCheckAuthenticationOauthTypedDict(TypedDict): List[AuthRequestHeaderConfHealthCheckAuthenticationLoginTypedDict] ] r"""Optional authentication request headers.""" + refresh_token_field: NotRequired[str] + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + rotate_refresh_token: NotRequired[bool] + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + refresh_url: NotRequired[str] + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + refresh_request_params: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthTypedDict] + ] + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" 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_token_resp_attribute: NotRequired[str] r"""Binds 'tokenRespAttribute' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tokenRespAttribute' at runtime.""" + template_refresh_url: NotRequired[str] + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" discovery: NotRequired[HealthCheckAuthenticationOauthDiscoveryTypedDict] collect_request_headers: NotRequired[ List[HealthCheckAuthenticationOauthCollectRequestHeaderTypedDict] @@ -2752,6 +2809,25 @@ class HealthCheckAuthenticationOauth(BaseModel): ] = None r"""Optional authentication request headers.""" + refresh_token_field: Annotated[ + Optional[str], pydantic.Field(alias="refreshTokenField") + ] = None + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + + rotate_refresh_token: Annotated[ + Optional[bool], pydantic.Field(alias="rotateRefreshToken") + ] = None + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + + refresh_url: Annotated[Optional[str], pydantic.Field(alias="refreshUrl")] = None + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + + refresh_request_params: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauth]], + pydantic.Field(alias="refreshRequestParams"), + ] = None + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" + template_login_url: Annotated[ Optional[str], pydantic.Field(alias="__template_loginUrl") ] = None @@ -2762,6 +2838,11 @@ class HealthCheckAuthenticationOauth(BaseModel): ] = None r"""Binds 'tokenRespAttribute' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tokenRespAttribute' at runtime.""" + template_refresh_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_refreshUrl") + ] = None + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + discovery: Optional[HealthCheckAuthenticationOauthDiscovery] = None collect_request_headers: Annotated[ @@ -2864,8 +2945,13 @@ def serialize_model(self, handler): "tokenRespAttribute", "authRequestParams", "authRequestHeaders", + "refreshTokenField", + "rotateRefreshToken", + "refreshUrl", + "refreshRequestParams", "__template_loginUrl", "__template_tokenRespAttribute", + "__template_refreshUrl", "discovery", "collectRequestHeaders", "authenticateCollect", @@ -4133,6 +4219,18 @@ class HealthCheckAuthenticationLoginSecretTypedDict(TypedDict): List[AuthRequestParamConfHealthCheckAuthenticationOauthTypedDict] ] r"""OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded.""" + refresh_token_field: NotRequired[str] + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + rotate_refresh_token: NotRequired[bool] + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + refresh_url: NotRequired[str] + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + template_refresh_url: NotRequired[str] + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + refresh_request_params: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthTypedDict] + ] + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" text_secret: NotRequired[str] r"""Select or create a text secret that contains the client secret's value.""" template_collect_url: NotRequired[str] @@ -4253,6 +4351,30 @@ class HealthCheckAuthenticationLoginSecret(BaseModel): ] = None r"""OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded.""" + refresh_token_field: Annotated[ + Optional[str], pydantic.Field(alias="refreshTokenField") + ] = None + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + + rotate_refresh_token: Annotated[ + Optional[bool], pydantic.Field(alias="rotateRefreshToken") + ] = None + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + + refresh_url: Annotated[Optional[str], pydantic.Field(alias="refreshUrl")] = None + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + + template_refresh_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_refreshUrl") + ] = None + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + + refresh_request_params: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauth]], + pydantic.Field(alias="refreshRequestParams"), + ] = None + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None r"""Select or create a text secret that contains the client secret's value.""" @@ -4313,6 +4435,11 @@ def serialize_model(self, handler): "clientSecretParamName", "clientSecretParamValue", "authRequestParams", + "refreshTokenField", + "rotateRefreshToken", + "refreshUrl", + "__template_refreshUrl", + "refreshRequestParams", "textSecret", "__template_collectUrl", ] @@ -5562,6 +5689,18 @@ class HealthCheckAuthenticationLoginTypedDict(TypedDict): List[AuthRequestParamConfHealthCheckAuthenticationOauthTypedDict] ] r"""OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded.""" + refresh_token_field: NotRequired[str] + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + rotate_refresh_token: NotRequired[bool] + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + refresh_url: NotRequired[str] + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + template_refresh_url: NotRequired[str] + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + refresh_request_params: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthTypedDict] + ] + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" text_secret: NotRequired[str] r"""Select or create a text secret that contains the client secret's value.""" template_collect_url: NotRequired[str] @@ -5684,6 +5823,30 @@ class HealthCheckAuthenticationLogin(BaseModel): ] = None r"""OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded.""" + refresh_token_field: Annotated[ + Optional[str], pydantic.Field(alias="refreshTokenField") + ] = None + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + + rotate_refresh_token: Annotated[ + Optional[bool], pydantic.Field(alias="rotateRefreshToken") + ] = None + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + + refresh_url: Annotated[Optional[str], pydantic.Field(alias="refreshUrl")] = None + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + + template_refresh_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_refreshUrl") + ] = None + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + + refresh_request_params: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauth]], + pydantic.Field(alias="refreshRequestParams"), + ] = None + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None r"""Select or create a text secret that contains the client secret's value.""" @@ -5741,6 +5904,11 @@ def serialize_model(self, handler): "clientSecretParamName", "clientSecretParamValue", "authRequestParams", + "refreshTokenField", + "rotateRefreshToken", + "refreshUrl", + "__template_refreshUrl", + "refreshRequestParams", "textSecret", "__template_collectUrl", ] @@ -6994,6 +7162,18 @@ class HealthCheckAuthenticationBasicSecretTypedDict(TypedDict): List[AuthRequestParamConfHealthCheckAuthenticationOauthTypedDict] ] r"""OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded.""" + refresh_token_field: NotRequired[str] + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + rotate_refresh_token: NotRequired[bool] + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + refresh_url: NotRequired[str] + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + template_refresh_url: NotRequired[str] + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + refresh_request_params: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthTypedDict] + ] + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" text_secret: NotRequired[str] r"""Select or create a text secret that contains the client secret's value.""" template_collect_url: NotRequired[str] @@ -7116,6 +7296,30 @@ class HealthCheckAuthenticationBasicSecret(BaseModel): ] = None r"""OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded.""" + refresh_token_field: Annotated[ + Optional[str], pydantic.Field(alias="refreshTokenField") + ] = None + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + + rotate_refresh_token: Annotated[ + Optional[bool], pydantic.Field(alias="rotateRefreshToken") + ] = None + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + + refresh_url: Annotated[Optional[str], pydantic.Field(alias="refreshUrl")] = None + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + + template_refresh_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_refreshUrl") + ] = None + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + + refresh_request_params: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauth]], + pydantic.Field(alias="refreshRequestParams"), + ] = None + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None r"""Select or create a text secret that contains the client secret's value.""" @@ -7179,6 +7383,11 @@ def serialize_model(self, handler): "clientSecretParamName", "clientSecretParamValue", "authRequestParams", + "refreshTokenField", + "rotateRefreshToken", + "refreshUrl", + "__template_refreshUrl", + "refreshRequestParams", "textSecret", "__template_collectUrl", ] @@ -8428,6 +8637,18 @@ class HealthCheckAuthenticationBasicTypedDict(TypedDict): List[AuthRequestParamConfHealthCheckAuthenticationOauthTypedDict] ] r"""OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded.""" + refresh_token_field: NotRequired[str] + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + rotate_refresh_token: NotRequired[bool] + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + refresh_url: NotRequired[str] + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + template_refresh_url: NotRequired[str] + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + refresh_request_params: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthTypedDict] + ] + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" text_secret: NotRequired[str] r"""Select or create a text secret that contains the client secret's value.""" template_collect_url: NotRequired[str] @@ -8552,6 +8773,30 @@ class HealthCheckAuthenticationBasic(BaseModel): ] = None r"""OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded.""" + refresh_token_field: Annotated[ + Optional[str], pydantic.Field(alias="refreshTokenField") + ] = None + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + + rotate_refresh_token: Annotated[ + Optional[bool], pydantic.Field(alias="rotateRefreshToken") + ] = None + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + + refresh_url: Annotated[Optional[str], pydantic.Field(alias="refreshUrl")] = None + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + + template_refresh_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_refreshUrl") + ] = None + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + + refresh_request_params: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauth]], + pydantic.Field(alias="refreshRequestParams"), + ] = None + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None r"""Select or create a text secret that contains the client secret's value.""" @@ -8612,6 +8857,11 @@ def serialize_model(self, handler): "clientSecretParamName", "clientSecretParamValue", "authRequestParams", + "refreshTokenField", + "rotateRefreshToken", + "refreshUrl", + "__template_refreshUrl", + "refreshRequestParams", "textSecret", "__template_collectUrl", ] diff --git a/src/cribl_control_plane/models/healthcheckcollectorconf.py b/src/cribl_control_plane/models/healthcheckcollectorconf.py index ba5b62f18..7bc59e2ee 100644 --- a/src/cribl_control_plane/models/healthcheckcollectorconf.py +++ b/src/cribl_control_plane/models/healthcheckcollectorconf.py @@ -41,6 +41,10 @@ from .hiddendefaultbreakersoptionsdatabasecollectorconf import ( HiddenDefaultBreakersOptionsDatabaseCollectorConf, ) +from .refreshrequestparamconfhealthcheckauthenticationoauth import ( + RefreshRequestParamConfHealthCheckAuthenticationOauth, + RefreshRequestParamConfHealthCheckAuthenticationOauthTypedDict, +) from .retrytypeoptionshealthcheckcollectorconfretryrules import ( RetryTypeOptionsHealthCheckCollectorConfRetryRules, ) @@ -234,6 +238,18 @@ class HealthCheckAuthenticationNoneTypedDict(TypedDict): List[AuthRequestParamConfHealthCheckAuthenticationOauthTypedDict] ] r"""OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded.""" + refresh_token_field: NotRequired[str] + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + rotate_refresh_token: NotRequired[bool] + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + refresh_url: NotRequired[str] + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + template_refresh_url: NotRequired[str] + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + refresh_request_params: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthTypedDict] + ] + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" text_secret: NotRequired[str] r"""Select or create a text secret that contains the client secret's value.""" template_collect_url: NotRequired[str] @@ -358,6 +374,30 @@ class HealthCheckAuthenticationNone(BaseModel): ] = None r"""OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded.""" + refresh_token_field: Annotated[ + Optional[str], pydantic.Field(alias="refreshTokenField") + ] = None + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + + rotate_refresh_token: Annotated[ + Optional[bool], pydantic.Field(alias="rotateRefreshToken") + ] = None + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + + refresh_url: Annotated[Optional[str], pydantic.Field(alias="refreshUrl")] = None + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + + template_refresh_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_refreshUrl") + ] = None + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + + refresh_request_params: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauth]], + pydantic.Field(alias="refreshRequestParams"), + ] = None + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None r"""Select or create a text secret that contains the client secret's value.""" @@ -420,6 +460,11 @@ def serialize_model(self, handler): "clientSecretParamName", "clientSecretParamValue", "authRequestParams", + "refreshTokenField", + "rotateRefreshToken", + "refreshUrl", + "__template_refreshUrl", + "refreshRequestParams", "textSecret", "__template_collectUrl", ] @@ -1675,6 +1720,18 @@ class HealthCheckCollectMethodPostWithBodyTypedDict(TypedDict): List[AuthRequestParamConfHealthCheckAuthenticationOauthTypedDict] ] r"""OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded.""" + refresh_token_field: NotRequired[str] + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + rotate_refresh_token: NotRequired[bool] + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + refresh_url: NotRequired[str] + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + template_refresh_url: NotRequired[str] + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + refresh_request_params: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthTypedDict] + ] + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" text_secret: NotRequired[str] r"""Select or create a text secret that contains the client secret's value.""" template_collect_url: NotRequired[str] @@ -1802,6 +1859,30 @@ class HealthCheckCollectMethodPostWithBody(BaseModel): ] = None r"""OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded.""" + refresh_token_field: Annotated[ + Optional[str], pydantic.Field(alias="refreshTokenField") + ] = None + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + + rotate_refresh_token: Annotated[ + Optional[bool], pydantic.Field(alias="rotateRefreshToken") + ] = None + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + + refresh_url: Annotated[Optional[str], pydantic.Field(alias="refreshUrl")] = None + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + + template_refresh_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_refreshUrl") + ] = None + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + + refresh_request_params: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauth]], + pydantic.Field(alias="refreshRequestParams"), + ] = None + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None r"""Select or create a text secret that contains the client secret's value.""" @@ -1867,6 +1948,11 @@ def serialize_model(self, handler): "clientSecretParamName", "clientSecretParamValue", "authRequestParams", + "refreshTokenField", + "rotateRefreshToken", + "refreshUrl", + "__template_refreshUrl", + "refreshRequestParams", "textSecret", "__template_collectUrl", ] @@ -3118,6 +3204,18 @@ class HealthCheckCollectMethodPostTypedDict(TypedDict): List[AuthRequestParamConfHealthCheckAuthenticationOauthTypedDict] ] r"""OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded.""" + refresh_token_field: NotRequired[str] + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + rotate_refresh_token: NotRequired[bool] + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + refresh_url: NotRequired[str] + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + template_refresh_url: NotRequired[str] + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + refresh_request_params: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthTypedDict] + ] + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" text_secret: NotRequired[str] r"""Select or create a text secret that contains the client secret's value.""" template_collect_url: NotRequired[str] @@ -3248,6 +3346,30 @@ class HealthCheckCollectMethodPost(BaseModel): ] = None r"""OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded.""" + refresh_token_field: Annotated[ + Optional[str], pydantic.Field(alias="refreshTokenField") + ] = None + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + + rotate_refresh_token: Annotated[ + Optional[bool], pydantic.Field(alias="rotateRefreshToken") + ] = None + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + + refresh_url: Annotated[Optional[str], pydantic.Field(alias="refreshUrl")] = None + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + + template_refresh_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_refreshUrl") + ] = None + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + + refresh_request_params: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauth]], + pydantic.Field(alias="refreshRequestParams"), + ] = None + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None r"""Select or create a text secret that contains the client secret's value.""" @@ -3311,6 +3433,11 @@ def serialize_model(self, handler): "clientSecretParamName", "clientSecretParamValue", "authRequestParams", + "refreshTokenField", + "rotateRefreshToken", + "refreshUrl", + "__template_refreshUrl", + "refreshRequestParams", "textSecret", "__template_collectUrl", ] @@ -4575,6 +4702,18 @@ class HealthCheckCollectMethodGetTypedDict(TypedDict): List[AuthRequestParamConfHealthCheckAuthenticationOauthTypedDict] ] r"""OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded.""" + refresh_token_field: NotRequired[str] + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + rotate_refresh_token: NotRequired[bool] + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + refresh_url: NotRequired[str] + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + template_refresh_url: NotRequired[str] + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + refresh_request_params: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthTypedDict] + ] + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" text_secret: NotRequired[str] r"""Select or create a text secret that contains the client secret's value.""" template_collect_url: NotRequired[str] @@ -4705,6 +4844,30 @@ class HealthCheckCollectMethodGet(BaseModel): ] = None r"""OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded.""" + refresh_token_field: Annotated[ + Optional[str], pydantic.Field(alias="refreshTokenField") + ] = None + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + + rotate_refresh_token: Annotated[ + Optional[bool], pydantic.Field(alias="rotateRefreshToken") + ] = None + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + + refresh_url: Annotated[Optional[str], pydantic.Field(alias="refreshUrl")] = None + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + + template_refresh_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_refreshUrl") + ] = None + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + + refresh_request_params: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauth]], + pydantic.Field(alias="refreshRequestParams"), + ] = None + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None r"""Select or create a text secret that contains the client secret's value.""" @@ -4768,6 +4931,11 @@ def serialize_model(self, handler): "clientSecretParamName", "clientSecretParamValue", "authRequestParams", + "refreshTokenField", + "rotateRefreshToken", + "refreshUrl", + "__template_refreshUrl", + "refreshRequestParams", "textSecret", "__template_collectUrl", ] diff --git a/src/cribl_control_plane/models/healthcounttype.py b/src/cribl_control_plane/models/healthcounttype.py index 23ed7c5bb..edc41adc5 100644 --- a/src/cribl_control_plane/models/healthcounttype.py +++ b/src/cribl_control_plane/models/healthcounttype.py @@ -1,44 +1,34 @@ """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.types import BaseModel import pydantic -from pydantic import model_serializer -from typing import Optional -from typing_extensions import Annotated, NotRequired, TypedDict +from typing_extensions import Annotated, TypedDict class HealthCountTypeTypedDict(TypedDict): - green: NotRequired[float] - yellow: NotRequired[float] - red: NotRequired[float] - unknown: NotRequired[float] + green: int + r"""Number of Worker Processes reporting a healthy (Green) status.""" + red: int + r"""Number of Worker Processes reporting a critical (Red) status.""" + unknown: int + r"""Number of Worker Processes reporting an unknown health status.""" + yellow: int + r"""Number of Worker Processes reporting a degraded (Yellow) status.""" class HealthCountType(BaseModel): - green: Annotated[Optional[float], pydantic.Field(alias="Green")] = None + green: Annotated[int, pydantic.Field(alias="Green")] + r"""Number of Worker Processes reporting a healthy (Green) status.""" - yellow: Annotated[Optional[float], pydantic.Field(alias="Yellow")] = None + red: Annotated[int, pydantic.Field(alias="Red")] + r"""Number of Worker Processes reporting a critical (Red) status.""" - red: Annotated[Optional[float], pydantic.Field(alias="Red")] = None + unknown: Annotated[int, pydantic.Field(alias="Unknown")] + r"""Number of Worker Processes reporting an unknown health status.""" - unknown: Annotated[Optional[float], pydantic.Field(alias="Unknown")] = None - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["Green", "Yellow", "Red", "Unknown"]) - 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 + yellow: Annotated[int, pydantic.Field(alias="Yellow")] + r"""Number of Worker Processes reporting a degraded (Yellow) status.""" try: diff --git a/src/cribl_control_plane/models/healthstringtype.py b/src/cribl_control_plane/models/healthoptionsstatus.py similarity index 65% rename from src/cribl_control_plane/models/healthstringtype.py rename to src/cribl_control_plane/models/healthoptionsstatus.py index 6bf5e745a..62097cc2c 100644 --- a/src/cribl_control_plane/models/healthstringtype.py +++ b/src/cribl_control_plane/models/healthoptionsstatus.py @@ -5,8 +5,10 @@ from enum import Enum -class HealthStringType(str, Enum, metaclass=utils.OpenEnumMeta): +class HealthOptionsStatus(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Overall health status of the Source or Destination.""" + GREEN = "Green" - YELLOW = "Yellow" RED = "Red" UNKNOWN = "Unknown" + YELLOW = "Yellow" 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/heartbeatmetadata.py b/src/cribl_control_plane/models/heartbeatmetadata.py index b5d9a3614..ac4023603 100644 --- a/src/cribl_control_plane/models/heartbeatmetadata.py +++ b/src/cribl_control_plane/models/heartbeatmetadata.py @@ -17,6 +17,10 @@ KubeTypeHeartbeatMetadata, KubeTypeHeartbeatMetadataTypedDict, ) +from .ostypeheartbeatmetadata import ( + OsTypeHeartbeatMetadata, + OsTypeHeartbeatMetadataTypedDict, +) from cribl_control_plane.types import BaseModel, UNSET_SENTINEL import pydantic from pydantic import model_serializer @@ -29,7 +33,7 @@ class HeartbeatMetadataTypedDict(TypedDict): azure: NotRequired[AzureTypeHeartbeatMetadataTypedDict] host_os: NotRequired[HostOsTypeHeartbeatMetadataTypedDict] kube: NotRequired[KubeTypeHeartbeatMetadataTypedDict] - os: NotRequired[HostOsTypeHeartbeatMetadataTypedDict] + os: NotRequired[OsTypeHeartbeatMetadataTypedDict] class HeartbeatMetadata(BaseModel): @@ -43,7 +47,7 @@ class HeartbeatMetadata(BaseModel): kube: Optional[KubeTypeHeartbeatMetadata] = None - os: Optional[HostOsTypeHeartbeatMetadata] = None + os: Optional[OsTypeHeartbeatMetadata] = None @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/hostostypeheartbeatmetadata.py b/src/cribl_control_plane/models/hostostypeheartbeatmetadata.py index 8c46b1695..38caaeb14 100644 --- a/src/cribl_control_plane/models/hostostypeheartbeatmetadata.py +++ b/src/cribl_control_plane/models/hostostypeheartbeatmetadata.py @@ -8,16 +8,24 @@ class HostOsTypeHeartbeatMetadataTypedDict(TypedDict): addresses: List[str] + r"""Network addresses reported by the host operating system.""" enabled: bool + r"""If true, the host operating system metadata collector is enabled on the node. Otherwise, false.""" id: str + r"""Host operating system distribution name.""" version: str + r"""Host operating system version.""" class HostOsTypeHeartbeatMetadata(BaseModel): addresses: List[str] + r"""Network addresses reported by the host operating system.""" enabled: bool + r"""If true, the host operating system metadata collector is enabled on the node. Otherwise, false.""" id: str + r"""Host operating system distribution name.""" version: str + r"""Host operating system version.""" diff --git a/src/cribl_control_plane/models/input.py b/src/cribl_control_plane/models/input.py index 7ab2c1978..59d64bc7b 100644 --- a/src/cribl_control_plane/models/input.py +++ b/src/cribl_control_plane/models/input.py @@ -136,6 +136,7 @@ InputSplunkSearchInputTypedDict, ) from .inputsqs_input import InputSqsInput, InputSqsInputTypedDict +from .inputsysdighec_input import InputSysdigHecInput, InputSysdigHecInputTypedDict from .inputsyslog_input_union import ( InputSyslogInputUnion, InputSyslogInputUnionTypedDict, @@ -150,6 +151,7 @@ ) from .inputtcp_input import InputTCPInput, InputTCPInputTypedDict from .inputtcpjson_input import InputTcpjsonInput, InputTcpjsonInputTypedDict +from .inputupwindhec_input import InputUpwindHecInput, InputUpwindHecInputTypedDict from .inputwef_input import InputWefInput, InputWefInputTypedDict from .inputwindowsmetrics_input import ( InputWindowsMetricsInput, @@ -182,12 +184,12 @@ InputSystemMetricsInputTypedDict, InputWindowsMetricsInputTypedDict, InputJournalFilesInputTypedDict, - InputKubeLogsInputTypedDict, InputModelDrivenTelemetryInputTypedDict, InputExecInputTypedDict, InputRawUDPInputTypedDict, InputAnthropicComplianceInputTypedDict, InputWinEventLogsInputTypedDict, + InputKubeLogsInputTypedDict, InputSnmpInputTypedDict, InputMetricsInputTypedDict, InputNetflowInputTypedDict, @@ -199,44 +201,46 @@ InputGooglePubsubInputTypedDict, InputCriblHTTPInputTypedDict, InputTCPInputTypedDict, - InputDatadogAgentInputTypedDict, InputFirehoseInputTypedDict, InputOffice365ServiceInputTypedDict, InputWizInputTypedDict, + InputDatadogAgentInputTypedDict, InputAppscopeInputTypedDict, - InputFileInputTypedDict, - InputSplunkInputTypedDict, InputOffice365MgmtInputTypedDict, - InputZscalerHecInputTypedDict, + InputSplunkInputTypedDict, + InputFileInputTypedDict, InputWefInputTypedDict, - InputWizWebhookInputTypedDict, - InputHTTPRawInputTypedDict, InputLokiInputTypedDict, + InputHTTPRawInputTypedDict, + InputWizWebhookInputTypedDict, InputPrometheusRwInputTypedDict, - InputCriblLakeHTTPInputTypedDict, + InputUpwindHecInputTypedDict, + InputSysdigHecInputTypedDict, InputHTTPInputTypedDict, - InputConfluentCloudInputTypedDict, InputKafkaInputTypedDict, + InputConfluentCloudInputTypedDict, + InputCriblLakeHTTPInputTypedDict, + InputZscalerHecInputTypedDict, InputEventhubInputTypedDict, + InputAzureBlobInputTypedDict, InputCloudflareHecInputTypedDict, InputOpenaiComplianceLogsInputTypedDict, - InputAzureBlobInputTypedDict, - InputOpenTelemetryInputTypedDict, InputElasticInputTypedDict, + InputOpenTelemetryInputTypedDict, InputSplunkHecInputTypedDict, InputSqsInputTypedDict, InputMicrosoftGraphInputTypedDict, InputKinesisInputTypedDict, InputOffice365MsgTraceInputTypedDict, InputSplunkSearchInputTypedDict, - InputCrowdstrikeInputTypedDict, InputServicenowTableInputTypedDict, - InputSecurityLakeInputTypedDict, - InputS3InputTypedDict, - InputS3InventoryInputTypedDict, - InputEdgePrometheusInputTypedDict, InputMskInputTypedDict, + InputEdgePrometheusInputTypedDict, + InputCrowdstrikeInputTypedDict, + InputS3InputTypedDict, + InputSecurityLakeInputTypedDict, InputPrometheusInputTypedDict, + InputS3InventoryInputTypedDict, InputGrafanaInputUnionTypedDict, InputSyslogInputUnionTypedDict, ], @@ -310,6 +314,8 @@ Annotated[InputServicenowTableInput, Tag("servicenow_table")], Annotated[InputZscalerHecInput, Tag("zscaler_hec")], Annotated[InputCloudflareHecInput, Tag("cloudflare_hec")], + Annotated[InputSysdigHecInput, Tag("sysdig_hec")], + Annotated[InputUpwindHecInput, Tag("upwind_hec")], Annotated[InputOpenaiComplianceLogsInput, Tag("openai_compliance_logs")], Annotated[InputAnthropicComplianceInput, Tag("anthropic_compliance")], Annotated[InputOktaInput, Tag("okta")], diff --git a/src/cribl_control_plane/models/inputanthropiccompliance_input.py b/src/cribl_control_plane/models/inputanthropiccompliance_input.py index 428fb1f5e..9d2fd36b7 100644 --- a/src/cribl_control_plane/models/inputanthropiccompliance_input.py +++ b/src/cribl_control_plane/models/inputanthropiccompliance_input.py @@ -11,10 +11,11 @@ ) from .pqtype import PqType, PqTypeTypedDict from .retryrulestype import RetryRulesType, RetryRulesTypeTypedDict +from cribl_control_plane import models, utils from cribl_control_plane.types import BaseModel, UNSET_SENTINEL from enum import Enum import pydantic -from pydantic import model_serializer +from pydantic import field_serializer, model_serializer from typing import List, Optional from typing_extensions import Annotated, NotRequired, TypedDict @@ -23,6 +24,14 @@ class InputAnthropicComplianceType(str, Enum): ANTHROPIC_COMPLIANCE = "anthropic_compliance" +class InputAnthropicComplianceEndpointName(str, Enum, metaclass=utils.OpenEnumMeta): + ACTIVITIES = "activities" + CHATS = "chats" + PROJECTS = "projects" + GROUPS = "groups" + ORGANIZATIONS = "organizations" + + class InputAnthropicComplianceManageStateTypedDict(TypedDict): pass @@ -32,13 +41,9 @@ class InputAnthropicComplianceManageState(BaseModel): class InputAnthropicComplianceContentConfigTypedDict(TypedDict): - content_type: str + content_type: InputAnthropicComplianceEndpointName cron_schedule: str r"""Schedule on which to run this collection job""" - earliest: str - r"""Earliest time for data collection, relative to now""" - latest: str - r"""Latest time for data collection, relative to now""" content_description: NotRequired[str] enabled: NotRequired[bool] state_tracking: NotRequired[bool] @@ -48,22 +53,22 @@ class InputAnthropicComplianceContentConfigTypedDict(TypedDict): state_merge_expression: NotRequired[str] r"""JavaScript expression that defines which state to keep when merging task state""" manage_state: NotRequired[InputAnthropicComplianceManageStateTypedDict] + earliest: NotRequired[str] + r"""Earliest time for data collection, relative to now""" + latest: NotRequired[str] + r"""Latest time for data collection, relative to now""" job_timeout: NotRequired[str] r"""Maximum time the job is allowed to run (examples: 30, 45s, 15m). Enter 0 for unlimited time.""" class InputAnthropicComplianceContentConfig(BaseModel): - content_type: Annotated[str, pydantic.Field(alias="contentType")] + content_type: Annotated[ + InputAnthropicComplianceEndpointName, pydantic.Field(alias="contentType") + ] cron_schedule: Annotated[str, pydantic.Field(alias="cronSchedule")] r"""Schedule on which to run this collection job""" - earliest: str - r"""Earliest time for data collection, relative to now""" - - latest: str - r"""Latest time for data collection, relative to now""" - content_description: Annotated[ Optional[str], pydantic.Field(alias="contentDescription") ] = None @@ -90,9 +95,24 @@ class InputAnthropicComplianceContentConfig(BaseModel): pydantic.Field(alias="manageState"), ] = None + earliest: Optional[str] = None + r"""Earliest time for data collection, relative to now""" + + latest: Optional[str] = None + r"""Latest time for data collection, relative to now""" + job_timeout: Annotated[Optional[str], pydantic.Field(alias="jobTimeout")] = None r"""Maximum time the job is allowed to run (examples: 30, 45s, 15m). Enter 0 for unlimited time.""" + @field_serializer("content_type") + def serialize_content_type(self, value): + if isinstance(value, str): + try: + return models.InputAnthropicComplianceEndpointName(value) + except ValueError: + return value + return value + @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( @@ -103,6 +123,8 @@ def serialize_model(self, handler): "stateUpdateExpression", "stateMergeExpression", "manageState", + "earliest", + "latest", "jobTimeout", ] ) @@ -128,6 +150,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] @@ -137,7 +160,7 @@ class InputAnthropicComplianceInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -156,6 +179,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 +201,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""" @@ -193,7 +218,7 @@ class InputAnthropicComplianceInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -233,6 +258,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 88d8ff1e4..62e569975 100644 --- a/src/cribl_control_plane/models/inputappleunifiedlogs_input.py +++ b/src/cribl_control_plane/models/inputappleunifiedlogs_input.py @@ -35,10 +35,11 @@ class InputAppleUnifiedLogsReadMode(str, Enum, metaclass=utils.OpenEnumMeta): class InputAppleUnifiedLogsInputTypedDict(TypedDict): type: InputAppleUnifiedLogsType predicate: str - r"""String to filter log entries, in NSPredicate format (e.g., subsystem == \"com.apple.security\" or process == \"kernel\"). See [Predicate format reference](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/Predicates/AdditionalChapters/Introduction.html) for more information.""" + 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.""" 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] @@ -48,7 +49,7 @@ class InputAppleUnifiedLogsInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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] @@ -67,12 +69,13 @@ class InputAppleUnifiedLogsInput(BaseModel): type: InputAppleUnifiedLogsType predicate: str - r"""String to filter log entries, in NSPredicate format (e.g., subsystem == \"com.apple.security\" or process == \"kernel\"). See [Predicate format reference](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/Predicates/AdditionalChapters/Introduction.html) for more information.""" + 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.""" id: Optional[str] = None 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""" @@ -89,7 +92,7 @@ class InputAppleUnifiedLogsInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..df1b7811c 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] @@ -193,7 +194,7 @@ class InputAppscopeInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -268,7 +271,7 @@ class InputAppscopeInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..83568fee2 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] @@ -44,7 +45,7 @@ class InputAzureBlobInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -133,7 +136,7 @@ class InputAzureBlobInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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 6758d95b7..07f4dfe0e 100644 --- a/src/cribl_control_plane/models/inputcloudflarehec_input.py +++ b/src/cribl_control_plane/models/inputcloudflarehec_input.py @@ -1,6 +1,10 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations +from .authtokenconfinputcloudflarehec import ( + AuthTokenConfInputCloudflareHec, + AuthTokenConfInputCloudflareHecTypedDict, +) from .connectionconfinputcollection import ( ConnectionConfInputCollection, ConnectionConfInputCollectionTypedDict, @@ -12,7 +16,7 @@ ) from .minimumtlsversionoptionstls import MinimumTLSVersionOptionsTLS from .pqtype import PqType, PqTypeTypedDict -from cribl_control_plane import models, utils +from cribl_control_plane import models from cribl_control_plane.types import BaseModel, UNSET_SENTINEL from enum import Enum import pydantic @@ -22,89 +26,9 @@ class InputCloudflareHecType(str, Enum): - CLOUDFLARE_HEC = "cloudflare_hec" - - -class InputCloudflareHecAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Select Secret to use a text secret to authenticate""" - - SECRET = "secret" - - -class InputCloudflareHecAuthTokenTypedDict(TypedDict): - auth_type: NotRequired[InputCloudflareHecAuthenticationMethod] - r"""Select Secret to use a text secret to authenticate""" - token_secret: NotRequired[str] - r"""Select or create a stored text secret""" - token: NotRequired[str] - r"""Shared secret to be provided by any client (Authorization: )""" - enabled: NotRequired[bool] - description: NotRequired[str] - allowed_indexes_at_token: NotRequired[List[str]] - r"""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: NotRequired[List[MetadataConfInputCollectionTypedDict]] - r"""Fields to add to events referencing this token""" - - -class InputCloudflareHecAuthToken(BaseModel): - auth_type: Annotated[ - Optional[InputCloudflareHecAuthenticationMethod], - pydantic.Field(alias="authType"), - ] = None - r"""Select Secret to use a text secret to authenticate""" - - token_secret: Annotated[Optional[str], pydantic.Field(alias="tokenSecret")] = None - r"""Select or create a stored text secret""" - - token: Optional[str] = None - r"""Shared secret to be provided by any client (Authorization: )""" - - enabled: Optional[bool] = None - - description: Optional[str] = None - - allowed_indexes_at_token: Annotated[ - Optional[List[str]], pydantic.Field(alias="allowedIndexesAtToken") - ] = None - r"""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: Optional[List[MetadataConfInputCollection]] = None - r"""Fields to add to events referencing this token""" - - @field_serializer("auth_type") - def serialize_auth_type(self, value): - if isinstance(value, str): - try: - return models.InputCloudflareHecAuthenticationMethod(value) - except ValueError: - return value - return value - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "authType", - "tokenSecret", - "token", - "enabled", - "description", - "allowedIndexesAtToken", - "metadata", - ] - ) - 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)) + r"""Source type identifier.""" - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m + CLOUDFLARE_HEC = "cloudflare_hec" class InputCloudflareHecTLSSettingsServerSideTypedDict(TypedDict): @@ -223,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 @@ -232,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] @@ -241,11 +167,11 @@ class InputCloudflareHecInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] - auth_tokens: NotRequired[List[InputCloudflareHecAuthTokenTypedDict]] + auth_tokens: NotRequired[List[AuthTokenConfInputCloudflareHecTypedDict]] r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" tls: NotRequired[InputCloudflareHecTLSSettingsServerSideTypedDict] max_active_req: NotRequired[float] @@ -272,17 +198,18 @@ class InputCloudflareHecInputTypedDict(TypedDict): r"""Fields to add to every event. May be overridden by fields added at the token or request level.""" allowed_indexes: NotRequired[List[str]] r"""List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level.""" - breaker_rulesets: NotRequired[List[str]] - r"""A list of event-breaking rulesets that will be applied, in order, to the input data stream""" - 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""" access_control_allow_origin: NotRequired[List[str]] r"""HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards.""" access_control_allow_headers: NotRequired[List[str]] r"""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: NotRequired[bool] r"""Emit per-token (.http.perToken) and summary (.http.summary) request metrics""" + breaker_rulesets: NotRequired[List[str]] + r"""A list of event-breaking rulesets that will be applied, in order, to the input data stream""" + 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] @@ -303,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).""" @@ -317,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""" @@ -333,7 +262,7 @@ class InputCloudflareHecInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -341,7 +270,8 @@ class InputCloudflareHecInput(BaseModel): pq: Optional[PqType] = None auth_tokens: Annotated[ - Optional[List[InputCloudflareHecAuthToken]], pydantic.Field(alias="authTokens") + Optional[List[AuthTokenConfInputCloudflareHec]], + pydantic.Field(alias="authTokens"), ] = None r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" @@ -405,16 +335,6 @@ class InputCloudflareHecInput(BaseModel): ] = None r"""List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level.""" - breaker_rulesets: Annotated[ - Optional[List[str]], pydantic.Field(alias="breakerRulesets") - ] = None - r"""A list of event-breaking rulesets that will be applied, in order, to the input data stream""" - - stale_channel_flush_ms: Annotated[ - Optional[float], pydantic.Field(alias="staleChannelFlushMs") - ] = None - 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""" - access_control_allow_origin: Annotated[ Optional[List[str]], pydantic.Field(alias="accessControlAllowOrigin") ] = None @@ -430,7 +350,18 @@ class InputCloudflareHecInput(BaseModel): ] = None r"""Emit per-token (.http.perToken) and summary (.http.summary) request metrics""" + breaker_rulesets: Annotated[ + Optional[List[str]], pydantic.Field(alias="breakerRulesets") + ] = None + r"""A list of event-breaking rulesets that will be applied, in order, to the input data stream""" + + stale_channel_flush_ms: Annotated[ + Optional[float], pydantic.Field(alias="staleChannelFlushMs") + ] = None + 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") @@ -499,11 +430,11 @@ def serialize_model(self, handler): "ipDenylistRegex", "metadata", "allowedIndexes", - "breakerRulesets", - "staleChannelFlushMs", "accessControlAllowOrigin", "accessControlAllowHeaders", "emitTokenMetrics", + "breakerRulesets", + "staleChannelFlushMs", "description", "__template_environment", "__template_streamtags", @@ -529,10 +460,6 @@ def serialize_model(self, handler): return m -try: - InputCloudflareHecAuthToken.model_rebuild() -except NameError: - pass try: InputCloudflareHecTLSSettingsServerSide.model_rebuild() except NameError: diff --git a/src/cribl_control_plane/models/inputcollection_input.py b/src/cribl_control_plane/models/inputcollection_input.py index ba98408cc..b1b911fe4 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] @@ -37,7 +38,7 @@ class InputCollectionInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -81,7 +83,7 @@ class InputCollectionInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" diff --git a/src/cribl_control_plane/models/inputconfluentcloud_input.py b/src/cribl_control_plane/models/inputconfluentcloud_input.py index 8ab625b3a..beb1d36e1 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] @@ -49,7 +50,7 @@ class InputConfluentCloudInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -147,7 +150,7 @@ class InputConfluentCloudInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..6f9fab0b7 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] @@ -36,7 +37,7 @@ class InputCriblInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -73,7 +76,7 @@ class InputCriblInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..fccfa5383 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] @@ -48,7 +52,7 @@ class InputCriblHTTPInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -119,7 +126,7 @@ class InputCriblHTTPInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..a3b9a6dde 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] @@ -155,7 +159,7 @@ class InputCriblLakeHTTPInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -242,7 +249,7 @@ class InputCriblLakeHTTPInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..08f5993f9 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] @@ -36,7 +37,7 @@ class InputCriblmetricsInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -76,7 +79,7 @@ class InputCriblmetricsInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..6142321e9 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] @@ -48,7 +49,7 @@ class InputCriblTCPInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -109,7 +112,7 @@ class InputCriblTCPInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..84af40dd8 100644 --- a/src/cribl_control_plane/models/inputcrowdstrike_input.py +++ b/src/cribl_control_plane/models/inputcrowdstrike_input.py @@ -15,6 +15,7 @@ ) from .pqtype import PqType, PqTypeTypedDict from .preprocesstype import PreprocessType, PreprocessTypeTypedDict +from .sqsauthenticationmethodoptions import SqsAuthenticationMethodOptions from .tagafterprocessingoptions import TagAfterProcessingOptions from cribl_control_plane import models from cribl_control_plane.types import BaseModel, UNSET_SENTINEL @@ -36,6 +37,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] @@ -45,7 +47,7 @@ class InputCrowdstrikeInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -90,6 +92,10 @@ class InputCrowdstrikeInputTypedDict(TypedDict): 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).""" enable_sqs_assume_role: NotRequired[bool] r"""Use Assume Role credentials when accessing Amazon SQS""" + shared_credentials: NotRequired[bool] + r"""Use the same credential settings for S3 and SQS""" + shared_assume_role_arn: NotRequired[bool] + r"""Use the same settings for S3 and SQS""" preprocess: NotRequired[PreprocessTypeTypedDict] metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" @@ -99,9 +105,21 @@ 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""" + sqs_assume_role_arn: NotRequired[str] + r"""Amazon Resource Name (ARN) of the role to assume""" + sqs_assume_role_external_id: NotRequired[str] + r"""External ID to use when assuming role""" + sqs_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).""" + sqs_aws_authentication_method: NotRequired[SqsAuthenticationMethodOptions] + r"""Choose Auto to use IAM roles""" + sqs_aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" + sqs_aws_secret_key: NotRequired[str] tag_after_processing: NotRequired[TagAfterProcessingOptions] processed_tag_key: NotRequired[str] r"""The key for the S3 object tag applied after processing. This field accepts an expression for dynamic generation.""" @@ -127,6 +145,12 @@ class InputCrowdstrikeInputTypedDict(TypedDict): 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_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_sqs_assume_role_arn: NotRequired[str] + r"""Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime.""" + template_sqs_assume_role_external_id: NotRequired[str] + r"""Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime.""" + template_sqs_aws_secret_key: NotRequired[str] + r"""Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime.""" class InputCrowdstrikeInput(BaseModel): @@ -139,6 +163,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""" @@ -155,7 +180,7 @@ class InputCrowdstrikeInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -257,6 +282,16 @@ class InputCrowdstrikeInput(BaseModel): ] = None r"""Use Assume Role credentials when accessing Amazon SQS""" + shared_credentials: Annotated[ + Optional[bool], pydantic.Field(alias="sharedCredentials") + ] = None + r"""Use the same credential settings for S3 and SQS""" + + shared_assume_role_arn: Annotated[ + Optional[bool], pydantic.Field(alias="sharedAssumeRoleArn") + ] = None + r"""Use the same settings for S3 and SQS""" + preprocess: Optional[PreprocessType] = None metadata: Optional[List[MetadataConfInputCollection]] = None @@ -271,12 +306,43 @@ 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 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""" + sqs_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="SQSAssumeRoleArn") + ] = None + r"""Amazon Resource Name (ARN) of the role to assume""" + + sqs_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="SQSAssumeRoleExternalId") + ] = None + r"""External ID to use when assuming role""" + + sqs_duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="SQSDurationSeconds") + ] = 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).""" + + sqs_aws_authentication_method: Annotated[ + Optional[SqsAuthenticationMethodOptions], + pydantic.Field(alias="SQSAwsAuthenticationMethod"), + ] = None + r"""Choose Auto to use IAM roles""" + + sqs_aws_secret: Annotated[Optional[str], pydantic.Field(alias="SQSAwsSecret")] = ( + None + ) + r"""Select or create a stored secret that references your access key and secret key""" + + sqs_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="SQSAwsSecretKey") + ] = None + tag_after_processing: Annotated[ Optional[TagAfterProcessingOptions], pydantic.Field(alias="tagAfterProcessing") ] = None @@ -341,6 +407,21 @@ class InputCrowdstrikeInput(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.""" + template_sqs_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAssumeRoleArn") + ] = None + r"""Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime.""" + + template_sqs_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAssumeRoleExternalId") + ] = None + r"""Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime.""" + + template_sqs_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAwsSecretKey") + ] = None + r"""Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime.""" + @field_serializer("aws_authentication_method") def serialize_aws_authentication_method(self, value): if isinstance(value, str): @@ -350,6 +431,15 @@ def serialize_aws_authentication_method(self, value): return value return value + @field_serializer("sqs_aws_authentication_method") + def serialize_sqs_aws_authentication_method(self, value): + if isinstance(value, str): + try: + return models.SqsAuthenticationMethodOptions(value) + except ValueError: + return value + return value + @field_serializer("tag_after_processing") def serialize_tag_after_processing(self, value): if isinstance(value, str): @@ -393,6 +483,8 @@ def serialize_model(self, handler): "assumeRoleExternalId", "durationSeconds", "enableSQSAssumeRole", + "sharedCredentials", + "sharedAssumeRoleArn", "preprocess", "metadata", "checkpointing", @@ -401,6 +493,12 @@ def serialize_model(self, handler): "description", "awsApiKey", "awsSecret", + "SQSAssumeRoleArn", + "SQSAssumeRoleExternalId", + "SQSDurationSeconds", + "SQSAwsAuthenticationMethod", + "SQSAwsSecret", + "SQSAwsSecretKey", "tagAfterProcessing", "processedTagKey", "processedTagValue", @@ -414,6 +512,9 @@ def serialize_model(self, handler): "__template_assumeRoleArn", "__template_assumeRoleExternalId", "__template_awsApiKey", + "__template_SQSAssumeRoleArn", + "__template_SQSAssumeRoleExternalId", + "__template_SQSAwsSecretKey", ] ) serialized = handler(self) diff --git a/src/cribl_control_plane/models/inputdatadogagent_input.py b/src/cribl_control_plane/models/inputdatadogagent_input.py index a3d315bab..2989cbbb9 100644 --- a/src/cribl_control_plane/models/inputdatadogagent_input.py +++ b/src/cribl_control_plane/models/inputdatadogagent_input.py @@ -23,24 +23,46 @@ class InputDatadogAgentType(str, Enum): + r"""Source type identifier.""" + DATADOG_AGENT = "datadog_agent" +class InputDatadogAgentSamplingRuleTypedDict(TypedDict): + service: str + r"""Datadog service name""" + environment: str + r"""Datadog environment name (example: prod, staging)""" + rate: float + r"""Sampling rate for this service/environment combination (0.0–1.0)""" + + +class InputDatadogAgentSamplingRule(BaseModel): + service: str + r"""Datadog service name""" + + environment: str + r"""Datadog environment name (example: prod, staging)""" + + rate: float + r"""Sampling rate for this service/environment combination (0.0–1.0)""" + + class InputDatadogAgentProxyModeTypedDict(TypedDict): enabled: bool - r"""Toggle to Yes to send key validation requests from Datadog Agent to the Datadog API. If toggled to No (the default), Stream handles key validation requests by always responding that the key is valid.""" + r"""Forward key validation requests from the Datadog Agent to the Datadog API. If disabled, Stream handles key validation requests locally by always responding that the key is valid.""" reject_unauthorized: NotRequired[bool] - r"""Whether to reject certificates that cannot be verified against a valid CA (e.g., self-signed certificates).""" + r"""Whether to reject certificates that cannot be verified against a valid CA (such as self-signed certificates)""" class InputDatadogAgentProxyMode(BaseModel): enabled: bool - r"""Toggle to Yes to send key validation requests from Datadog Agent to the Datadog API. If toggled to No (the default), Stream handles key validation requests by always responding that the key is valid.""" + r"""Forward key validation requests from the Datadog Agent to the Datadog API. If disabled, Stream handles key validation requests locally by always responding that the key is valid.""" reject_unauthorized: Annotated[ Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = None - r"""Whether to reject certificates that cannot be verified against a valid CA (e.g., self-signed certificates).""" + r"""Whether to reject certificates that cannot be verified against a valid CA (such as self-signed certificates)""" @model_serializer(mode="wrap") def serialize_model(self, handler): @@ -61,6 +83,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 +91,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] @@ -77,7 +101,7 @@ class InputDatadogAgentInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -105,11 +129,16 @@ class InputDatadogAgentInputTypedDict(TypedDict): ip_denylist_regex: NotRequired[str] r"""Messages from matched IP addresses will be ignored. This takes precedence over the allowlist.""" extract_metrics: NotRequired[bool] - r"""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).""" + r"""Extract each incoming metric to multiple events, one per data point. Recommended when sending metrics to a statsd-type output. If sending metrics to DatadogHQ or any destination that accepts arbitrary JSON, leave disabled.""" + sampling_rate: NotRequired[float] + r"""The rate_by_service hint sent to connected tracers as the catch-all sampling rate. Applies to any service/environment not explicitly listed in Per-Service Sampling Rules. 1.0 = keep all traces (default); 0.0 = suggest dropping all.""" + sampling_rules: NotRequired[List[InputDatadogAgentSamplingRuleTypedDict]] + r"""Per-service sampling rate hints. Each row maps to a \"service:,env:\" key in the rate_by_service response sent to tracers.""" metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] 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 +151,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 +163,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""" @@ -149,7 +180,7 @@ class InputDatadogAgentInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -216,7 +247,18 @@ class InputDatadogAgentInput(BaseModel): extract_metrics: Annotated[ Optional[bool], pydantic.Field(alias="extractMetrics") ] = None - r"""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).""" + r"""Extract each incoming metric to multiple events, one per data point. Recommended when sending metrics to a statsd-type output. If sending metrics to DatadogHQ or any destination that accepts arbitrary JSON, leave disabled.""" + + sampling_rate: Annotated[Optional[float], pydantic.Field(alias="samplingRate")] = ( + None + ) + r"""The rate_by_service hint sent to connected tracers as the catch-all sampling rate. Applies to any service/environment not explicitly listed in Per-Service Sampling Rules. 1.0 = keep all traces (default); 0.0 = suggest dropping all.""" + + sampling_rules: Annotated[ + Optional[List[InputDatadogAgentSamplingRule]], + pydantic.Field(alias="samplingRules"), + ] = None + r"""Per-service sampling rate hints. Each row maps to a \"service:,env:\" key in the rate_by_service response sent to tracers.""" metadata: Optional[List[MetadataConfInputCollection]] = None r"""Fields to add to events from this input""" @@ -226,6 +268,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") @@ -273,6 +316,8 @@ def serialize_model(self, handler): "ipAllowlistRegex", "ipDenylistRegex", "extractMetrics", + "samplingRate", + "samplingRules", "metadata", "proxyMode", "description", diff --git a/src/cribl_control_plane/models/inputdatagen_input.py b/src/cribl_control_plane/models/inputdatagen_input.py index 720ed98a5..274944a90 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] @@ -50,13 +51,14 @@ class InputDatagenInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] 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""" @@ -88,7 +91,7 @@ class InputDatagenInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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 c80531492..91648e400 100644 --- a/src/cribl_control_plane/models/inputedgeprometheus_input.py +++ b/src/cribl_control_plane/models/inputedgeprometheus_input.py @@ -16,6 +16,10 @@ from .pqtype import PqType, PqTypeTypedDict from .protocoloptionstargetsitems import ProtocolOptionsTargetsItems from .recordtypeoptions import RecordTypeOptions +from .refreshrequestparamconfhealthcheckauthenticationoauthsecret import ( + RefreshRequestParamConfHealthCheckAuthenticationOauthSecret, + RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict, +) from .searchfilterconfinputprometheus import ( SearchFilterConfInputPrometheus, SearchFilterConfInputPrometheusTypedDict, @@ -48,6 +52,8 @@ class InputEdgePrometheusDiscoveryType(str, Enum, metaclass=utils.OpenEnumMeta): K8S_PODS = "k8s-pods" # Kubernetes Service Monitor (v4.18+) K8S_SERVICE_MONITOR = "k8s-service-monitor" + # HTTP SD + HTTP_SD = "http_sd" class InputEdgePrometheusAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta): @@ -148,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] @@ -157,7 +164,7 @@ class InputEdgePrometheusInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -173,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""" @@ -225,6 +233,16 @@ class InputEdgePrometheusInputTypedDict(TypedDict): expressions evaluate to true. """ + http_discovery_url: NotRequired[str] + r"""URL to fetch target groups from (must be http or https)""" + http_discovery_headers: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict] + ] + r"""Extra headers to send with the discovery request""" + http_discovery_reject_unauthorized: NotRequired[bool] + r"""Reject TLS certificates that cannot be verified for the discovery endpoint. Falls back to the source-level setting if not specified.""" + max_response_body_size: NotRequired[str] + r"""Maximum size of the HTTP SD response body. Responses exceeding this limit will be rejected. Defaults to 20 MB.""" username: NotRequired[str] r"""Username for Prometheus Basic authentication""" password: NotRequired[str] @@ -268,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""" @@ -284,7 +303,7 @@ class InputEdgePrometheusInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -316,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 @@ -428,6 +448,27 @@ class InputEdgePrometheusInput(BaseModel): """ + http_discovery_url: Annotated[ + Optional[str], pydantic.Field(alias="httpDiscoveryUrl") + ] = None + r"""URL to fetch target groups from (must be http or https)""" + + http_discovery_headers: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecret]], + pydantic.Field(alias="httpDiscoveryHeaders"), + ] = None + r"""Extra headers to send with the discovery request""" + + http_discovery_reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="httpDiscoveryRejectUnauthorized") + ] = None + r"""Reject TLS certificates that cannot be verified for the discovery endpoint. Falls back to the source-level setting if not specified.""" + + max_response_body_size: Annotated[ + Optional[str], pydantic.Field(alias="maxResponseBodySize") + ] = None + r"""Maximum size of the HTTP SD response body. Responses exceeding this limit will be rejected. Defaults to 20 MB.""" + username: Optional[str] = None r"""Username for Prometheus Basic authentication""" @@ -579,6 +620,10 @@ def serialize_model(self, handler): "scrapePortExpr", "scrapePathExpr", "podFilter", + "httpDiscoveryUrl", + "httpDiscoveryHeaders", + "httpDiscoveryRejectUnauthorized", + "maxResponseBodySize", "username", "password", "credentialsSecret", diff --git a/src/cribl_control_plane/models/inputelastic_input.py b/src/cribl_control_plane/models/inputelastic_input.py index 8a71f55ab..46417c3c1 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] @@ -179,7 +183,7 @@ class InputElasticInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -269,7 +276,7 @@ class InputElasticInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..cf901dad3 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] @@ -45,7 +46,7 @@ class InputEventhubInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -140,7 +143,7 @@ class InputEventhubInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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 0429e97e1..a103c3b8c 100644 --- a/src/cribl_control_plane/models/inputeventhubamqp_input.py +++ b/src/cribl_control_plane/models/inputeventhubamqp_input.py @@ -38,6 +38,47 @@ class InputEventhubAmqpAuthenticationMechanism(str, Enum, metaclass=utils.OpenEn OAUTH_BEARER = "oauth-bearer" +class InputEventhubAmqpCertificateTypedDict(TypedDict): + certificate_name: str + r"""The certificate you registered as credentials for your app in the Azure portal""" + cert_path: str + r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS.""" + priv_key_path: str + r"""Path on server containing the private key to use. PEM format. Can reference $ENV_VARS.""" + passphrase: NotRequired[str] + r"""Passphrase to use to decrypt private key""" + + +class InputEventhubAmqpCertificate(BaseModel): + certificate_name: Annotated[str, pydantic.Field(alias="certificateName")] + r"""The certificate you registered as credentials for your app in the Azure portal""" + + cert_path: Annotated[str, pydantic.Field(alias="certPath")] + r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS.""" + + priv_key_path: Annotated[str, pydantic.Field(alias="privKeyPath")] + r"""Path on server containing the private key to use. PEM format. Can reference $ENV_VARS.""" + + passphrase: Optional[str] = None + r"""Passphrase to use to decrypt private key""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["passphrase"]) + 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 InputEventhubAmqpAuthTypedDict(TypedDict): mechanism: InputEventhubAmqpAuthenticationMechanism text_secret: NotRequired[str] @@ -45,7 +86,7 @@ class InputEventhubAmqpAuthTypedDict(TypedDict): client_secret_auth_type: NotRequired[AuthenticationMethodOptionsAuth] client_text_secret: NotRequired[str] r"""Select or create a stored text secret""" - certificate: NotRequired[CertificateTypeAzureBlobAuthTypeClientCertTypedDict] + certificate: NotRequired[InputEventhubAmqpCertificateTypedDict] oauth_endpoint: NotRequired[MicrosoftEntraIDAuthenticationEndpointOptionsSasl] r"""Endpoint used to acquire authentication tokens from Azure""" client_id: NotRequired[str] @@ -80,7 +121,7 @@ class InputEventhubAmqpAuth(BaseModel): ] = None r"""Select or create a stored text secret""" - certificate: Optional[CertificateTypeAzureBlobAuthTypeClientCert] = None + certificate: Optional[InputEventhubAmqpCertificate] = None oauth_endpoint: Annotated[ Optional[MicrosoftEntraIDAuthenticationEndpointOptionsSasl], @@ -333,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] @@ -342,7 +384,7 @@ class InputEventhubAmqpInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -374,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] @@ -392,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""" @@ -408,7 +452,7 @@ class InputEventhubAmqpInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -475,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") @@ -532,6 +577,10 @@ def serialize_model(self, handler): return m +try: + InputEventhubAmqpCertificate.model_rebuild() +except NameError: + pass try: InputEventhubAmqpAuth.model_rebuild() except NameError: diff --git a/src/cribl_control_plane/models/inputexec_input.py b/src/cribl_control_plane/models/inputexec_input.py index 1fdc885eb..9e53dc60f 100644 --- a/src/cribl_control_plane/models/inputexec_input.py +++ b/src/cribl_control_plane/models/inputexec_input.py @@ -46,7 +46,7 @@ class InputExecInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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] @@ -99,7 +100,7 @@ class InputExecInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..fe3cad357 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] @@ -46,7 +47,7 @@ class InputFileInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -123,7 +126,7 @@ class InputFileInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..28576429c 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] @@ -44,7 +48,7 @@ class InputFirehoseInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -117,7 +124,7 @@ class InputFirehoseInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..1fb3290a4 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] @@ -42,7 +43,7 @@ class InputGooglePubsubInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -112,7 +115,7 @@ class InputGooglePubsubInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..1385081f3 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] @@ -190,7 +194,7 @@ class InputGrafanaGrafanaInput2TypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -270,7 +277,7 @@ class InputGrafanaGrafanaInput2(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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] @@ -595,7 +607,7 @@ class InputGrafanaGrafanaInput1TypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -675,7 +690,7 @@ class InputGrafanaGrafanaInput1(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..30881a045 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] @@ -48,7 +52,7 @@ class InputHTTPInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -136,7 +143,7 @@ class InputHTTPInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..e584af1ed 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] @@ -48,7 +52,7 @@ class InputHTTPRawInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -133,7 +140,7 @@ class InputHTTPRawInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..e99139abb 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] @@ -71,7 +72,7 @@ class InputJournalFilesInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -122,7 +125,7 @@ class InputJournalFilesInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..a58ab99f1 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] @@ -49,7 +50,7 @@ class InputKafkaInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -147,7 +150,7 @@ class InputKafkaInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..5e95df4dc 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] @@ -75,7 +76,7 @@ class InputKinesisInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -173,7 +176,7 @@ class InputKinesisInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..82ad97071 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] @@ -40,7 +41,7 @@ class InputKubeEventsInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -78,7 +81,7 @@ class InputKubeEventsInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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 59dcce432..16c7909df 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] @@ -68,7 +69,7 @@ class InputKubeLogsInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -78,6 +79,10 @@ class InputKubeLogsInputTypedDict(TypedDict): r"""Add rules to decide which Pods to collect logs from. Logs are collected if no rules are given or if all the rules' expressions evaluate to true.""" timestamps: NotRequired[bool] r"""For use when containers do not emit a timestamp, prefix each line of output with a timestamp. If you enable this setting, you can use the Kubernetes Logs Event Breaker and the kubernetes_logs Pre-processing Pipeline to remove them from the events after the timestamps are extracted.""" + line_buffer_limit: NotRequired[float] + r"""Maximum bytes to buffer while reassembling a single log line. A line that exceeds this size is flushed as-is, either whole or partially. The default is 1048576 (1 MB).""" + lb_disable_assembly: NotRequired[bool] + r"""Internal flag to disable LB worker payload reassembly.""" metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" persistence: NotRequired[DiskSpoolingTypeTypedDict] @@ -88,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] @@ -101,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""" @@ -117,7 +124,7 @@ class InputKubeLogsInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -133,6 +140,16 @@ class InputKubeLogsInput(BaseModel): timestamps: Optional[bool] = None r"""For use when containers do not emit a timestamp, prefix each line of output with a timestamp. If you enable this setting, you can use the Kubernetes Logs Event Breaker and the kubernetes_logs Pre-processing Pipeline to remove them from the events after the timestamps are extracted.""" + line_buffer_limit: Annotated[ + Optional[float], pydantic.Field(alias="lineBufferLimit") + ] = None + r"""Maximum bytes to buffer while reassembling a single log line. A line that exceeds this size is flushed as-is, either whole or partially. The default is 1048576 (1 MB).""" + + lb_disable_assembly: Annotated[ + Optional[bool], pydantic.Field(alias="__LBDisableAssembly") + ] = None + r"""Internal flag to disable LB worker payload reassembly.""" + metadata: Optional[List[MetadataConfInputCollection]] = None r"""Fields to add to events from this input""" @@ -154,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") @@ -181,6 +199,8 @@ def serialize_model(self, handler): "interval", "rules", "timestamps", + "lineBufferLimit", + "__LBDisableAssembly", "metadata", "persistence", "breakerRulesets", diff --git a/src/cribl_control_plane/models/inputkubemetrics_input.py b/src/cribl_control_plane/models/inputkubemetrics_input.py index b57757079..3cf8e3122 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] @@ -111,7 +112,7 @@ class InputKubeMetricsInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -156,7 +159,7 @@ class InputKubeMetricsInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..7b9611b23 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] @@ -48,7 +52,7 @@ class InputLokiInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -132,7 +139,7 @@ class InputLokiInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..226592034 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] @@ -42,7 +43,7 @@ class InputMetricsInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -100,7 +103,7 @@ class InputMetricsInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..2a8896536 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] @@ -70,7 +71,7 @@ class InputMicrosoftGraphInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -164,7 +167,7 @@ class InputMicrosoftGraphInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..6c4ef5f9d 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] @@ -44,7 +45,7 @@ class InputModelDrivenTelemetryInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -95,7 +98,7 @@ class InputModelDrivenTelemetryInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..474e9e752 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] @@ -56,7 +57,7 @@ class InputMskInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -191,7 +194,7 @@ class InputMskInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..94e4cff1d 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] @@ -40,7 +41,7 @@ class InputNetflowInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -102,7 +105,7 @@ class InputNetflowInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..65d8d7cb1 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] @@ -107,7 +108,7 @@ class InputOffice365MgmtInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -187,7 +190,7 @@ class InputOffice365MgmtInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..e08da8c72 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] @@ -60,7 +61,7 @@ class InputOffice365MsgTraceInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -158,7 +161,7 @@ class InputOffice365MsgTraceInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..5734182b7 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] @@ -105,7 +106,7 @@ class InputOffice365ServiceInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -178,7 +181,7 @@ class InputOffice365ServiceInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..d64bacdc1 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] @@ -41,7 +42,7 @@ class InputOktaInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -106,7 +109,7 @@ class InputOktaInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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 46653f569..d3309d815 100644 --- a/src/cribl_control_plane/models/inputopenai_input.py +++ b/src/cribl_control_plane/models/inputopenai_input.py @@ -10,9 +10,9 @@ MetadataConfInputCollectionTypedDict, ) from .pqtype import PqType, PqTypeTypedDict -from .requestparamconfinputopenai import ( - RequestParamConfInputOpenai, - RequestParamConfInputOpenaiTypedDict, +from .refreshrequestparamconfhealthcheckauthenticationoauthsecret import ( + RefreshRequestParamConfHealthCheckAuthenticationOauthSecret, + RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict, ) from .retryrulestype import RetryRulesType, RetryRulesTypeTypedDict from cribl_control_plane import models, utils @@ -58,7 +58,9 @@ class InputOpenaiLogLevel(str, Enum, metaclass=utils.OpenEnumMeta): class InputOpenaiContentConfigTypedDict(TypedDict): - request_params: List[RequestParamConfInputOpenaiTypedDict] + request_params: List[ + RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict + ] r"""Query-string parameters to send with this endpoint""" pagination_type: InputOpenaiPaginationType cron_schedule: str @@ -93,7 +95,8 @@ class InputOpenaiContentConfigTypedDict(TypedDict): class InputOpenaiContentConfig(BaseModel): request_params: Annotated[ - List[RequestParamConfInputOpenai], pydantic.Field(alias="requestParams") + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecret], + pydantic.Field(alias="requestParams"), ] r"""Query-string parameters to send with this endpoint""" @@ -225,6 +228,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] @@ -234,7 +238,7 @@ class InputOpenaiInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -257,6 +261,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] @@ -281,6 +286,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""" @@ -297,7 +303,7 @@ class InputOpenaiInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -347,6 +353,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..d7f7121fb 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] @@ -60,7 +61,7 @@ class InputOpenaiComplianceLogsInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -150,7 +153,7 @@ class InputOpenaiComplianceLogsInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..23acf2382 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] @@ -172,7 +176,7 @@ class InputOpenTelemetryInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -263,7 +270,7 @@ class InputOpenTelemetryInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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 3db7b7006..ee930ca62 100644 --- a/src/cribl_control_plane/models/inputprometheus_input.py +++ b/src/cribl_control_plane/models/inputprometheus_input.py @@ -16,6 +16,10 @@ ) from .pqtype import PqType, PqTypeTypedDict from .recordtypeoptions import RecordTypeOptions +from .refreshrequestparamconfhealthcheckauthenticationoauthsecret import ( + RefreshRequestParamConfHealthCheckAuthenticationOauthSecret, + RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict, +) from .searchfilterconfinputprometheus import ( SearchFilterConfInputPrometheus, SearchFilterConfInputPrometheusTypedDict, @@ -42,6 +46,8 @@ class InputPrometheusDiscoveryType(str, Enum, metaclass=utils.OpenEnumMeta): DNS = "dns" # AWS EC2 EC2 = "ec2" + # HTTP SD + HTTP_SD = "http_sd" class InputPrometheusMetricsProtocol(str, Enum, metaclass=utils.OpenEnumMeta): @@ -60,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] @@ -69,7 +76,7 @@ class InputPrometheusInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -98,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] @@ -134,6 +142,16 @@ class InputPrometheusInputTypedDict(TypedDict): 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).""" + http_discovery_url: NotRequired[str] + r"""URL to fetch target groups from (must be http or https)""" + http_discovery_headers: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict] + ] + r"""Extra headers to send with the discovery request""" + http_discovery_reject_unauthorized: NotRequired[bool] + r"""Reject TLS certificates that cannot be verified for the discovery endpoint. Falls back to the source-level setting if not specified.""" + max_response_body_size: NotRequired[str] + r"""Maximum size of the HTTP SD response body. Responses exceeding this limit will be rejected. Defaults to 20 MB.""" username: NotRequired[str] r"""Username for Prometheus Basic authentication""" password: NotRequired[str] @@ -185,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""" @@ -201,7 +220,7 @@ class InputPrometheusInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -261,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 @@ -341,6 +361,27 @@ class InputPrometheusInput(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).""" + http_discovery_url: Annotated[ + Optional[str], pydantic.Field(alias="httpDiscoveryUrl") + ] = None + r"""URL to fetch target groups from (must be http or https)""" + + http_discovery_headers: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecret]], + pydantic.Field(alias="httpDiscoveryHeaders"), + ] = None + r"""Extra headers to send with the discovery request""" + + http_discovery_reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="httpDiscoveryRejectUnauthorized") + ] = None + r"""Reject TLS certificates that cannot be verified for the discovery endpoint. Falls back to the source-level setting if not specified.""" + + max_response_body_size: Annotated[ + Optional[str], pydantic.Field(alias="maxResponseBodySize") + ] = None + r"""Maximum size of the HTTP SD response body. Responses exceeding this limit will be rejected. Defaults to 20 MB.""" + username: Optional[str] = None r"""Username for Prometheus Basic authentication""" @@ -526,6 +567,10 @@ def serialize_model(self, handler): "assumeRoleArn", "assumeRoleExternalId", "durationSeconds", + "httpDiscoveryUrl", + "httpDiscoveryHeaders", + "httpDiscoveryRejectUnauthorized", + "maxResponseBodySize", "username", "password", "credentialsSecret", diff --git a/src/cribl_control_plane/models/inputprometheusrw_input.py b/src/cribl_control_plane/models/inputprometheusrw_input.py index 2606b2d08..f900ec0d0 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] @@ -50,7 +54,7 @@ class InputPrometheusRwInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -136,7 +143,7 @@ class InputPrometheusRwInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..5aa5a1865 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] @@ -40,7 +41,7 @@ class InputRawUDPInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -96,7 +99,7 @@ class InputRawUDPInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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 13f8379c2..92dcb43c0 100644 --- a/src/cribl_control_plane/models/inputresponse.py +++ b/src/cribl_control_plane/models/inputresponse.py @@ -50,13 +50,11 @@ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint, InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict, ) -from .inputresponse_logged_in_users import ( +from .inputresponse_users_and_groups import ( InputResponseDNS, InputResponseDNSTypedDict, InputResponseDisksAndFileSystems, InputResponseDisksAndFileSystemsTypedDict, - InputResponseFirewall, - InputResponseFirewallTypedDict, InputResponseHostInfo, InputResponseHostInfoTypedDict, InputResponseHostsFile, @@ -119,10 +117,14 @@ InputResponseInputSnmpTypedDict, InputResponseInputSqs, InputResponseInputSqsTypedDict, + InputResponseInputSysdigHec, + InputResponseInputSysdigHecTypedDict, InputResponseInputSyslogUnion, InputResponseInputSyslogUnionTypedDict, InputResponseInputTCP, InputResponseInputTCPTypedDict, + InputResponseInputUpwindHec, + InputResponseInputUpwindHecTypedDict, InputResponseInputWef, InputResponseInputWefTypedDict, InputResponseInputWinEventLogs, @@ -137,14 +139,8 @@ InputResponseInputZscalerHecTypedDict, InputResponseInterfaces, InputResponseInterfacesTypedDict, - InputResponseListeningPorts, - InputResponseListeningPortsTypedDict, - InputResponseLoggedInUsers, - InputResponseLoggedInUsersTypedDict, InputResponseRoutes, InputResponseRoutesTypedDict, - InputResponseServices, - InputResponseServicesTypedDict, InputResponseTypeSystemState, InputResponseUsersAndGroups, InputResponseUsersAndGroupsTypedDict, @@ -171,6 +167,10 @@ from .processtype import ProcessType, ProcessTypeTypedDict from .protocoloptionstargetsitems import ProtocolOptionsTargetsItems from .recordtypeoptions import RecordTypeOptions +from .refreshrequestparamconfhealthcheckauthenticationoauthsecret import ( + RefreshRequestParamConfHealthCheckAuthenticationOauthSecret, + RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict, +) from .retryrulestype import RetryRulesType, RetryRulesTypeTypedDict from .retryrulestypecodesenableheader import ( RetryRulesTypeCodesEnableHeader, @@ -206,6 +206,118 @@ from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict +class InputResponseFirewallTypedDict(TypedDict): + r"""Creates events for Firewall rules entries""" + + enable: NotRequired[bool] + + +class InputResponseFirewall(BaseModel): + r"""Creates events for Firewall rules entries""" + + enable: Optional[bool] = None + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["enable"]) + 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 InputResponseServicesTypedDict(TypedDict): + r"""Creates events from the list of services""" + + enable: NotRequired[bool] + + +class InputResponseServices(BaseModel): + r"""Creates events from the list of services""" + + enable: Optional[bool] = None + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["enable"]) + 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 InputResponseListeningPortsTypedDict(TypedDict): + r"""Creates events from list of listening ports""" + + enable: NotRequired[bool] + + +class InputResponseListeningPorts(BaseModel): + r"""Creates events from list of listening ports""" + + enable: Optional[bool] = None + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["enable"]) + 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 InputResponseLoggedInUsersTypedDict(TypedDict): + r"""Creates events from list of logged-in users""" + + enable: NotRequired[bool] + + +class InputResponseLoggedInUsers(BaseModel): + r"""Creates events from list of logged-in users""" + + enable: Optional[bool] = None + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["enable"]) + 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 InputResponseCollectorsTypedDict(TypedDict): hostsfile: NotRequired[InputResponseHostsFileTypedDict] r"""Creates events based on entries collected from the hosts file""" @@ -370,6 +482,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] @@ -379,7 +492,7 @@ class InputResponseInputSystemStateTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -398,6 +511,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] @@ -415,6 +529,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""" @@ -431,7 +546,7 @@ class InputResponseInputSystemState(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -465,6 +580,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") @@ -1104,6 +1220,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] @@ -1113,7 +1230,7 @@ class InputResponseInputSystemMetricsTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -1131,6 +1248,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] @@ -1148,6 +1266,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""" @@ -1164,7 +1283,7 @@ class InputResponseInputSystemMetrics(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -1194,6 +1313,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") @@ -1266,6 +1386,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] @@ -1275,7 +1396,7 @@ class InputResponseInputTcpjsonTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -1303,6 +1424,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] @@ -1334,6 +1456,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""" @@ -1350,7 +1473,7 @@ class InputResponseInputTcpjson(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -1410,6 +1533,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.""" @@ -1502,6 +1626,8 @@ def serialize_model(self, handler): class InputResponseTypeCriblLakeHTTP(str, Enum): + r"""Source type identifier.""" + CRIBL_LAKE_HTTP = "cribl_lake_http" @@ -1616,6 +1742,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 @@ -1623,6 +1750,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] @@ -1632,7 +1760,7 @@ class InputResponseInputCriblLakeHTTPTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -1676,6 +1804,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] @@ -1700,6 +1829,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).""" @@ -1711,6 +1841,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""" @@ -1727,7 +1858,7 @@ class InputResponseInputCriblLakeHTTP(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -1826,6 +1957,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") @@ -1934,11 +2066,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 @@ -1946,6 +2081,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] @@ -1955,7 +2091,7 @@ class InputResponseInputCriblHTTPTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -1991,6 +2127,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] @@ -2007,6 +2144,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).""" @@ -2018,6 +2156,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""" @@ -2034,7 +2173,7 @@ class InputResponseInputCriblHTTP(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -2113,6 +2252,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") @@ -2204,6 +2344,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] @@ -2213,7 +2354,7 @@ class InputResponseInputCriblTCPTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -2239,6 +2380,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] @@ -2266,6 +2408,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""" @@ -2282,7 +2425,7 @@ class InputResponseInputCriblTCP(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -2336,6 +2479,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") @@ -2418,6 +2562,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] @@ -2427,7 +2572,7 @@ class InputResponseInputCriblTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -2439,6 +2584,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] @@ -2456,6 +2602,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""" @@ -2472,7 +2619,7 @@ class InputResponseInputCribl(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -2491,6 +2638,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") @@ -2558,6 +2706,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] @@ -2567,7 +2716,7 @@ class InputResponseInputGooglePubsubTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -2598,6 +2747,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] @@ -2629,6 +2779,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""" @@ -2645,7 +2796,7 @@ class InputResponseInputGooglePubsub(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -2703,6 +2854,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") @@ -2800,11 +2952,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 @@ -2812,6 +2967,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] @@ -2821,7 +2977,7 @@ class InputResponseInputFirehoseTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -2857,6 +3013,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] @@ -2875,6 +3032,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).""" @@ -2886,6 +3044,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""" @@ -2902,7 +3061,7 @@ class InputResponseInputFirehose(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -2981,6 +3140,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") @@ -3092,7 +3252,7 @@ class InputResponseInputExecTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -3113,6 +3273,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] @@ -3153,7 +3314,7 @@ class InputResponseInputExec(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -3191,6 +3352,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.""" @@ -3277,6 +3439,47 @@ class InputResponseAuthenticationMechanism(str, Enum, metaclass=utils.OpenEnumMe OAUTH_BEARER = "oauth-bearer" +class InputResponseCertificateTypedDict(TypedDict): + certificate_name: str + r"""The certificate you registered as credentials for your app in the Azure portal""" + cert_path: str + r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS.""" + priv_key_path: str + r"""Path on server containing the private key to use. PEM format. Can reference $ENV_VARS.""" + passphrase: NotRequired[str] + r"""Passphrase to use to decrypt private key""" + + +class InputResponseCertificate(BaseModel): + certificate_name: Annotated[str, pydantic.Field(alias="certificateName")] + r"""The certificate you registered as credentials for your app in the Azure portal""" + + cert_path: Annotated[str, pydantic.Field(alias="certPath")] + r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS.""" + + priv_key_path: Annotated[str, pydantic.Field(alias="privKeyPath")] + r"""Path on server containing the private key to use. PEM format. Can reference $ENV_VARS.""" + + passphrase: Optional[str] = None + r"""Passphrase to use to decrypt private key""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["passphrase"]) + 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 InputResponseAuthTypedDict(TypedDict): mechanism: InputResponseAuthenticationMechanism text_secret: NotRequired[str] @@ -3284,7 +3487,7 @@ class InputResponseAuthTypedDict(TypedDict): client_secret_auth_type: NotRequired[AuthenticationMethodOptionsAuth] client_text_secret: NotRequired[str] r"""Select or create a stored text secret""" - certificate: NotRequired[CertificateTypeAzureBlobAuthTypeClientCertTypedDict] + certificate: NotRequired[InputResponseCertificateTypedDict] oauth_endpoint: NotRequired[MicrosoftEntraIDAuthenticationEndpointOptionsSasl] r"""Endpoint used to acquire authentication tokens from Azure""" client_id: NotRequired[str] @@ -3319,7 +3522,7 @@ class InputResponseAuth(BaseModel): ] = None r"""Select or create a stored text secret""" - certificate: Optional[CertificateTypeAzureBlobAuthTypeClientCert] = None + certificate: Optional[InputResponseCertificate] = None oauth_endpoint: Annotated[ Optional[MicrosoftEntraIDAuthenticationEndpointOptionsSasl], @@ -3574,6 +3777,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] @@ -3583,7 +3787,7 @@ class InputResponseInputEventhubAmqpTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -3619,6 +3823,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] @@ -3641,6 +3846,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""" @@ -3657,7 +3863,7 @@ class InputResponseInputEventhubAmqp(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -3730,6 +3936,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") @@ -3809,6 +4016,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] @@ -3818,7 +4026,7 @@ class InputResponseInputEventhubTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -3876,6 +4084,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] @@ -3905,6 +4114,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""" @@ -3921,7 +4131,7 @@ class InputResponseInputEventhub(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -4034,6 +4244,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") @@ -4164,6 +4375,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] @@ -4173,7 +4385,7 @@ class InputResponseInputMicrosoftGraphTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -4213,6 +4425,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] @@ -4259,6 +4472,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""" @@ -4275,7 +4489,7 @@ class InputResponseInputMicrosoftGraph(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -4355,6 +4569,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.""" @@ -4536,6 +4751,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] @@ -4545,7 +4761,7 @@ class InputResponseInputOffice365MsgTraceTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -4583,6 +4799,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] @@ -4635,6 +4852,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""" @@ -4651,7 +4869,7 @@ class InputResponseInputOffice365MsgTrace(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -4728,6 +4946,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.""" @@ -4965,6 +5184,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] @@ -4974,7 +5194,7 @@ class InputResponseInputOffice365ServiceTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -5006,6 +5226,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] @@ -5041,6 +5262,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""" @@ -5057,7 +5279,7 @@ class InputResponseInputOffice365Service(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -5119,6 +5341,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""" @@ -5302,6 +5525,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] @@ -5311,7 +5535,7 @@ class InputResponseInputOffice365MgmtTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -5343,6 +5567,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] @@ -5383,6 +5608,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""" @@ -5399,7 +5625,7 @@ class InputResponseInputOffice365Mgmt(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -5466,6 +5692,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""" @@ -5605,6 +5832,8 @@ class InputResponseDiscoveryTypeEdgePrometheus(str, Enum, metaclass=utils.OpenEn K8S_PODS = "k8s-pods" # Kubernetes Service Monitor (v4.18+) K8S_SERVICE_MONITOR = "k8s-service-monitor" + # HTTP SD + HTTP_SD = "http_sd" class InputResponseAuthenticationMethodEdgePrometheus( @@ -5707,6 +5936,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] @@ -5716,7 +5946,7 @@ class InputResponseInputEdgePrometheusTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -5736,6 +5966,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""" @@ -5788,6 +6019,16 @@ class InputResponseInputEdgePrometheusTypedDict(TypedDict): expressions evaluate to true. """ + http_discovery_url: NotRequired[str] + r"""URL to fetch target groups from (must be http or https)""" + http_discovery_headers: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict] + ] + r"""Extra headers to send with the discovery request""" + http_discovery_reject_unauthorized: NotRequired[bool] + r"""Reject TLS certificates that cannot be verified for the discovery endpoint. Falls back to the source-level setting if not specified.""" + max_response_body_size: NotRequired[str] + r"""Maximum size of the HTTP SD response body. Responses exceeding this limit will be rejected. Defaults to 20 MB.""" username: NotRequired[str] r"""Username for Prometheus Basic authentication""" password: NotRequired[str] @@ -5835,6 +6076,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""" @@ -5851,7 +6093,7 @@ class InputResponseInputEdgePrometheus(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -5889,6 +6131,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 @@ -6001,6 +6244,27 @@ class InputResponseInputEdgePrometheus(BaseModel): """ + http_discovery_url: Annotated[ + Optional[str], pydantic.Field(alias="httpDiscoveryUrl") + ] = None + r"""URL to fetch target groups from (must be http or https)""" + + http_discovery_headers: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecret]], + pydantic.Field(alias="httpDiscoveryHeaders"), + ] = None + r"""Extra headers to send with the discovery request""" + + http_discovery_reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="httpDiscoveryRejectUnauthorized") + ] = None + r"""Reject TLS certificates that cannot be verified for the discovery endpoint. Falls back to the source-level setting if not specified.""" + + max_response_body_size: Annotated[ + Optional[str], pydantic.Field(alias="maxResponseBodySize") + ] = None + r"""Maximum size of the HTTP SD response body. Responses exceeding this limit will be rejected. Defaults to 20 MB.""" + username: Optional[str] = None r"""Username for Prometheus Basic authentication""" @@ -6159,6 +6423,10 @@ def serialize_model(self, handler): "scrapePortExpr", "scrapePathExpr", "podFilter", + "httpDiscoveryUrl", + "httpDiscoveryHeaders", + "httpDiscoveryRejectUnauthorized", + "maxResponseBodySize", "username", "password", "credentialsSecret", @@ -6203,6 +6471,8 @@ class InputResponseDiscoveryTypePrometheus(str, Enum, metaclass=utils.OpenEnumMe DNS = "dns" # AWS EC2 EC2 = "ec2" + # HTTP SD + HTTP_SD = "http_sd" class InputResponseMetricsProtocol(str, Enum, metaclass=utils.OpenEnumMeta): @@ -6221,6 +6491,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] @@ -6230,7 +6501,7 @@ class InputResponseInputPrometheusTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -6263,6 +6534,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] @@ -6299,6 +6571,16 @@ class InputResponseInputPrometheusTypedDict(TypedDict): 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).""" + http_discovery_url: NotRequired[str] + r"""URL to fetch target groups from (must be http or https)""" + http_discovery_headers: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict] + ] + r"""Extra headers to send with the discovery request""" + http_discovery_reject_unauthorized: NotRequired[bool] + r"""Reject TLS certificates that cannot be verified for the discovery endpoint. Falls back to the source-level setting if not specified.""" + max_response_body_size: NotRequired[str] + r"""Maximum size of the HTTP SD response body. Responses exceeding this limit will be rejected. Defaults to 20 MB.""" username: NotRequired[str] r"""Username for Prometheus Basic authentication""" password: NotRequired[str] @@ -6354,6 +6636,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""" @@ -6370,7 +6653,7 @@ class InputResponseInputPrometheus(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -6437,6 +6720,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 @@ -6517,6 +6801,27 @@ class InputResponseInputPrometheus(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).""" + http_discovery_url: Annotated[ + Optional[str], pydantic.Field(alias="httpDiscoveryUrl") + ] = None + r"""URL to fetch target groups from (must be http or https)""" + + http_discovery_headers: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecret]], + pydantic.Field(alias="httpDiscoveryHeaders"), + ] = None + r"""Extra headers to send with the discovery request""" + + http_discovery_reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="httpDiscoveryRejectUnauthorized") + ] = None + r"""Reject TLS certificates that cannot be verified for the discovery endpoint. Falls back to the source-level setting if not specified.""" + + max_response_body_size: Annotated[ + Optional[str], pydantic.Field(alias="maxResponseBodySize") + ] = None + r"""Maximum size of the HTTP SD response body. Responses exceeding this limit will be rejected. Defaults to 20 MB.""" + username: Optional[str] = None r"""Username for Prometheus Basic authentication""" @@ -6709,6 +7014,10 @@ def serialize_model(self, handler): "assumeRoleArn", "assumeRoleExternalId", "durationSeconds", + "httpDiscoveryUrl", + "httpDiscoveryHeaders", + "httpDiscoveryRejectUnauthorized", + "maxResponseBodySize", "username", "password", "credentialsSecret", @@ -6746,11 +7055,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 @@ -6760,6 +7072,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] @@ -6769,7 +7082,7 @@ class InputResponseInputPrometheusRwTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -6805,6 +7118,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] @@ -6833,6 +7147,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).""" @@ -6847,6 +7162,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""" @@ -6863,7 +7179,7 @@ class InputResponseInputPrometheusRw(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -6943,6 +7259,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 @@ -7063,11 +7380,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 @@ -7077,6 +7397,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] @@ -7086,7 +7407,7 @@ class InputResponseInputLokiTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -7122,6 +7443,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] @@ -7148,6 +7470,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).""" @@ -7162,6 +7485,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""" @@ -7178,7 +7502,7 @@ class InputResponseInputLoki(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -7257,6 +7581,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 @@ -7371,6 +7696,8 @@ def serialize_model(self, handler): class InputResponseInputGrafanaType2(str, Enum): + r"""Source type identifier.""" + GRAFANA = "grafana" @@ -7515,6 +7842,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 @@ -7524,6 +7852,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] @@ -7533,7 +7862,7 @@ class InputResponseInputGrafanaGrafana2TypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -7571,6 +7900,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] @@ -7591,6 +7921,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).""" @@ -7605,6 +7936,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""" @@ -7621,7 +7953,7 @@ class InputResponseInputGrafanaGrafana2(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -7708,6 +8040,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") @@ -7801,6 +8134,8 @@ def serialize_model(self, handler): class InputResponseInputGrafanaType1(str, Enum): + r"""Source type identifier.""" + GRAFANA = "grafana" @@ -7945,6 +8280,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 @@ -7954,6 +8290,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] @@ -7963,7 +8300,7 @@ class InputResponseInputGrafanaGrafana1TypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -8001,6 +8338,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] @@ -8021,6 +8359,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).""" @@ -8035,6 +8374,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""" @@ -8051,7 +8391,7 @@ class InputResponseInputGrafanaGrafana1(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -8136,6 +8476,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") @@ -8256,6 +8597,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] @@ -8265,7 +8607,7 @@ class InputResponseInputConfluentCloudTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -8326,6 +8668,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] @@ -8355,6 +8698,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""" @@ -8371,7 +8715,7 @@ class InputResponseInputConfluentCloud(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -8488,6 +8832,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") @@ -8581,6 +8926,8 @@ def serialize_model(self, handler): class InputResponseTypeElastic(str, Enum): + r"""Source type identifier.""" + ELASTIC = "elastic" @@ -8715,6 +9062,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 @@ -8724,6 +9072,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] @@ -8733,7 +9082,7 @@ class InputResponseInputElasticTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -8773,6 +9122,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] @@ -8801,6 +9151,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).""" @@ -8815,6 +9166,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""" @@ -8831,7 +9183,7 @@ class InputResponseInputElastic(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -8925,6 +9277,7 @@ class InputResponseInputElastic(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" username: Optional[str] = None @@ -9071,6 +9424,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] @@ -9080,7 +9434,7 @@ class InputResponseInputAzureBlobTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -9112,6 +9466,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] @@ -9161,6 +9516,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""" @@ -9177,7 +9533,7 @@ class InputResponseInputAzureBlob(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -9242,6 +9598,7 @@ class InputResponseInputAzureBlob(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" connection_string: Annotated[ Optional[str], pydantic.Field(alias="connectionString") @@ -9395,6 +9752,8 @@ def serialize_model(self, handler): class InputResponseTypeSplunkHec(str, Enum): + r"""Source type identifier.""" + SPLUNK_HEC = "splunk_hec" @@ -9406,6 +9765,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]] @@ -9428,6 +9788,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""" @@ -9477,6 +9838,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 @@ -9486,6 +9848,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] @@ -9495,7 +9858,7 @@ class InputResponseInputSplunkHecTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -9549,6 +9912,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] @@ -9567,6 +9931,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).""" @@ -9581,6 +9946,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""" @@ -9597,7 +9963,7 @@ class InputResponseInputSplunkHec(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -9722,6 +10088,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") @@ -9888,6 +10255,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] @@ -9897,7 +10265,7 @@ class InputResponseInputSplunkSearchTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -9941,6 +10309,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] @@ -10000,6 +10369,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""" @@ -10016,7 +10386,7 @@ class InputResponseInputSplunkSearch(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -10109,6 +10479,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 @@ -10324,6 +10695,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] @@ -10333,7 +10705,7 @@ class InputResponseInputSplunkTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -10365,6 +10737,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] @@ -10404,6 +10777,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""" @@ -10420,7 +10794,7 @@ class InputResponseInputSplunk(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -10489,6 +10863,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") @@ -10618,11 +10993,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 @@ -10630,6 +11008,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] @@ -10639,7 +11018,7 @@ class InputResponseInputHTTPTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -10684,6 +11063,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] @@ -10708,6 +11088,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).""" @@ -10719,6 +11100,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""" @@ -10735,7 +11117,7 @@ class InputResponseInputHTTP(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -10835,6 +11217,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") @@ -10959,6 +11342,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] @@ -10968,7 +11352,7 @@ class InputResponseInputMskTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -11042,6 +11426,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""" @@ -11095,6 +11480,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""" @@ -11111,7 +11497,7 @@ class InputResponseInputMsk(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -11262,6 +11648,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 @@ -11426,6 +11813,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] @@ -11435,7 +11823,7 @@ class InputResponseInputKafkaTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -11496,6 +11884,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] @@ -11525,6 +11914,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""" @@ -11541,7 +11931,7 @@ class InputResponseInputKafka(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -11658,6 +12048,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") @@ -11759,6 +12150,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] @@ -11768,7 +12160,7 @@ class InputResponseInputCollectionTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -11804,6 +12196,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""" @@ -11820,7 +12213,7 @@ class InputResponseInputCollection(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -11926,12 +12319,12 @@ def serialize_model(self, handler): InputResponseInputSystemMetricsTypedDict, InputResponseInputWindowsMetricsTypedDict, InputResponseInputJournalFilesTypedDict, - InputResponseInputKubeLogsTypedDict, InputResponseInputModelDrivenTelemetryTypedDict, InputResponseInputExecTypedDict, InputResponseInputRawUDPTypedDict, InputResponseInputAnthropicComplianceTypedDict, InputResponseInputWinEventLogsTypedDict, + InputResponseInputKubeLogsTypedDict, InputResponseInputSnmpTypedDict, InputResponseInputMetricsTypedDict, InputResponseInputNetflowTypedDict, @@ -11943,44 +12336,46 @@ def serialize_model(self, handler): InputResponseInputGooglePubsubTypedDict, InputResponseInputCriblHTTPTypedDict, InputResponseInputTCPTypedDict, - InputResponseInputDatadogAgentTypedDict, InputResponseInputFirehoseTypedDict, InputResponseInputOffice365ServiceTypedDict, InputResponseInputWizTypedDict, + InputResponseInputDatadogAgentTypedDict, InputResponseInputAppscopeTypedDict, - InputResponseInputFileTypedDict, - InputResponseInputSplunkTypedDict, InputResponseInputOffice365MgmtTypedDict, - InputResponseInputZscalerHecTypedDict, + InputResponseInputSplunkTypedDict, + InputResponseInputFileTypedDict, InputResponseInputWefTypedDict, - InputResponseInputWizWebhookTypedDict, - InputResponseInputHTTPRawTypedDict, InputResponseInputLokiTypedDict, + InputResponseInputHTTPRawTypedDict, + InputResponseInputWizWebhookTypedDict, InputResponseInputPrometheusRwTypedDict, - InputResponseInputCriblLakeHTTPTypedDict, + InputResponseInputUpwindHecTypedDict, + InputResponseInputSysdigHecTypedDict, InputResponseInputHTTPTypedDict, - InputResponseInputConfluentCloudTypedDict, InputResponseInputKafkaTypedDict, + InputResponseInputConfluentCloudTypedDict, + InputResponseInputCriblLakeHTTPTypedDict, + InputResponseInputZscalerHecTypedDict, InputResponseInputEventhubTypedDict, + InputResponseInputAzureBlobTypedDict, InputResponseInputCloudflareHecTypedDict, InputResponseInputOpenaiComplianceLogsTypedDict, - InputResponseInputAzureBlobTypedDict, - InputResponseInputOpenTelemetryTypedDict, InputResponseInputElasticTypedDict, + InputResponseInputOpenTelemetryTypedDict, InputResponseInputSplunkHecTypedDict, InputResponseInputSqsTypedDict, InputResponseInputMicrosoftGraphTypedDict, InputResponseInputKinesisTypedDict, InputResponseInputOffice365MsgTraceTypedDict, InputResponseInputSplunkSearchTypedDict, - InputResponseInputCrowdstrikeTypedDict, InputResponseInputServicenowTableTypedDict, - InputResponseInputSecurityLakeTypedDict, - InputResponseInputS3TypedDict, - InputResponseInputS3InventoryTypedDict, - InputResponseInputEdgePrometheusTypedDict, InputResponseInputMskTypedDict, + InputResponseInputEdgePrometheusTypedDict, + InputResponseInputCrowdstrikeTypedDict, + InputResponseInputS3TypedDict, + InputResponseInputSecurityLakeTypedDict, InputResponseInputPrometheusTypedDict, + InputResponseInputS3InventoryTypedDict, InputResponseInputGrafanaUnionTypedDict, InputResponseInputSyslogUnionTypedDict, ], @@ -12064,6 +12459,8 @@ class UnknownInputResponse(BaseModel): "servicenow_table": InputResponseInputServicenowTable, "zscaler_hec": InputResponseInputZscalerHec, "cloudflare_hec": InputResponseInputCloudflareHec, + "sysdig_hec": InputResponseInputSysdigHec, + "upwind_hec": InputResponseInputUpwindHec, "openai_compliance_logs": InputResponseInputOpenaiComplianceLogs, "anthropic_compliance": InputResponseInputAnthropicCompliance, "okta": InputResponseInputOkta, @@ -12137,6 +12534,8 @@ class UnknownInputResponse(BaseModel): InputResponseInputServicenowTable, InputResponseInputZscalerHec, InputResponseInputCloudflareHec, + InputResponseInputSysdigHec, + InputResponseInputUpwindHec, InputResponseInputOpenaiComplianceLogs, InputResponseInputAnthropicCompliance, InputResponseInputOkta, @@ -12235,6 +12634,10 @@ class UnknownInputResponse(BaseModel): InputResponseInputExec.model_rebuild() except NameError: pass +try: + InputResponseCertificate.model_rebuild() +except NameError: + pass try: InputResponseAuth.model_rebuild() except NameError: diff --git a/src/cribl_control_plane/models/inputresponse_logged_in_users.py b/src/cribl_control_plane/models/inputresponse_users_and_groups.py similarity index 88% rename from src/cribl_control_plane/models/inputresponse_logged_in_users.py rename to src/cribl_control_plane/models/inputresponse_users_and_groups.py index 9436317b1..97f6298d7 100644 --- a/src/cribl_control_plane/models/inputresponse_logged_in_users.py +++ b/src/cribl_control_plane/models/inputresponse_users_and_groups.py @@ -11,6 +11,10 @@ AuthenticationMethodOptionsS3CollectorConf, ) from .authenticationprotocoloptionsv3user import AuthenticationProtocolOptionsV3User +from .authtokenconfinputcloudflarehec import ( + AuthTokenConfInputCloudflareHec, + AuthTokenConfInputCloudflareHecTypedDict, +) from .authtokensextconfinputhttp import ( AuthTokensExtConfInputHTTP, AuthTokensExtConfInputHTTPTypedDict, @@ -55,15 +59,16 @@ PrivacyProtocolOptionsSnmpTrapSerializeV3UserAuthProtocolNotNone, ) from .processtype import ProcessType, ProcessTypeTypedDict -from .requestparamconfinputopenai import ( - RequestParamConfInputOpenai, - RequestParamConfInputOpenaiTypedDict, +from .refreshrequestparamconfhealthcheckauthenticationoauthsecret import ( + RefreshRequestParamConfHealthCheckAuthenticationOauthSecret, + RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict, ) from .retryrulestype import RetryRulesType, RetryRulesTypeTypedDict from .ruleconfinputkubemetrics import ( RuleConfInputKubeMetrics, RuleConfInputKubeMetricsTypedDict, ) +from .sqsauthenticationmethodoptions import SqsAuthenticationMethodOptions from .statustype import StatusType, StatusTypeTypedDict from .tagafterprocessingoptions import TagAfterProcessingOptions from .tlssettingsserversidetype import ( @@ -92,6 +97,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] @@ -101,7 +107,7 @@ class InputResponseInputOktaTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -133,6 +139,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] @@ -158,6 +165,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""" @@ -174,7 +182,7 @@ class InputResponseInputOkta(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -233,6 +241,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") @@ -307,6 +316,14 @@ class InputResponseTypeAnthropicCompliance(str, Enum): ANTHROPIC_COMPLIANCE = "anthropic_compliance" +class InputResponseEndpointName(str, Enum, metaclass=utils.OpenEnumMeta): + ACTIVITIES = "activities" + CHATS = "chats" + PROJECTS = "projects" + GROUPS = "groups" + ORGANIZATIONS = "organizations" + + class InputResponseManageStateAnthropicComplianceTypedDict(TypedDict): pass @@ -316,13 +333,9 @@ class InputResponseManageStateAnthropicCompliance(BaseModel): class InputResponseContentConfigAnthropicComplianceTypedDict(TypedDict): - content_type: str + content_type: InputResponseEndpointName cron_schedule: str r"""Schedule on which to run this collection job""" - earliest: str - r"""Earliest time for data collection, relative to now""" - latest: str - r"""Latest time for data collection, relative to now""" content_description: NotRequired[str] enabled: NotRequired[bool] state_tracking: NotRequired[bool] @@ -332,22 +345,22 @@ class InputResponseContentConfigAnthropicComplianceTypedDict(TypedDict): state_merge_expression: NotRequired[str] r"""JavaScript expression that defines which state to keep when merging task state""" manage_state: NotRequired[InputResponseManageStateAnthropicComplianceTypedDict] + earliest: NotRequired[str] + r"""Earliest time for data collection, relative to now""" + latest: NotRequired[str] + r"""Latest time for data collection, relative to now""" job_timeout: NotRequired[str] r"""Maximum time the job is allowed to run (examples: 30, 45s, 15m). Enter 0 for unlimited time.""" class InputResponseContentConfigAnthropicCompliance(BaseModel): - content_type: Annotated[str, pydantic.Field(alias="contentType")] + content_type: Annotated[ + InputResponseEndpointName, pydantic.Field(alias="contentType") + ] cron_schedule: Annotated[str, pydantic.Field(alias="cronSchedule")] r"""Schedule on which to run this collection job""" - earliest: str - r"""Earliest time for data collection, relative to now""" - - latest: str - r"""Latest time for data collection, relative to now""" - content_description: Annotated[ Optional[str], pydantic.Field(alias="contentDescription") ] = None @@ -374,9 +387,24 @@ class InputResponseContentConfigAnthropicCompliance(BaseModel): pydantic.Field(alias="manageState"), ] = None + earliest: Optional[str] = None + r"""Earliest time for data collection, relative to now""" + + latest: Optional[str] = None + r"""Latest time for data collection, relative to now""" + job_timeout: Annotated[Optional[str], pydantic.Field(alias="jobTimeout")] = None r"""Maximum time the job is allowed to run (examples: 30, 45s, 15m). Enter 0 for unlimited time.""" + @field_serializer("content_type") + def serialize_content_type(self, value): + if isinstance(value, str): + try: + return models.InputResponseEndpointName(value) + except ValueError: + return value + return value + @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( @@ -387,6 +415,8 @@ def serialize_model(self, handler): "stateUpdateExpression", "stateMergeExpression", "manageState", + "earliest", + "latest", "jobTimeout", ] ) @@ -412,6 +442,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] @@ -421,7 +452,7 @@ class InputResponseInputAnthropicComplianceTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -444,6 +475,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] @@ -469,6 +501,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""" @@ -485,7 +518,7 @@ class InputResponseInputAnthropicCompliance(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -531,6 +564,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") @@ -619,6 +653,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] @@ -628,7 +663,7 @@ class InputResponseInputOpenaiComplianceLogsTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -667,6 +702,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]] @@ -710,6 +746,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""" @@ -726,7 +763,7 @@ class InputResponseInputOpenaiComplianceLogs(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -805,6 +842,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)""" @@ -839,25 +877,701 @@ class InputResponseInputOpenaiComplianceLogs(BaseModel): pydantic.Field(alias="manageState"), ] = None - template_environment: Annotated[ - Optional[str], pydantic.Field(alias="__template_environment") + template_environment: Annotated[ + Optional[str], pydantic.Field(alias="__template_environment") + ] = None + 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: 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_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_organization_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_organizationId") + ] = None + r"""Binds 'organizationId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'organizationId' at runtime.""" + + notifications: Optional[List[NotificationUnion]] = None + r"""Notifications attached to the Source.""" + + status: Optional[StatusType] = None + r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" + + @field_serializer("account_type") + def serialize_account_type(self, value): + if isinstance(value, str): + try: + return models.InputResponseAccountType(value) + except ValueError: + return value + return value + + @field_serializer("log_level") + def serialize_log_level(self, value): + if isinstance(value, str): + try: + return models.LogLevelOptionsContentConfigItemsDebugError(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "id", + "disabled", + "pipeline", + "sendToRoutes", + "environment", + "pqEnabled", + "streamtags", + "criblSourceProvenance", + "connections", + "pq", + "apiKey", + "earliest", + "latest", + "jobTimeout", + "logLevel", + "maxPages", + "stateTracking", + "requestTimeout", + "keepAliveTime", + "maxMissedKeepAlives", + "ttl", + "ignoreGroupJobsLimit", + "metadata", + "breakerRulesets", + "staleChannelFlushMs", + "retryRules", + "description", + "workspaceId", + "workspaceEventTypes", + "organizationId", + "organizationEventTypes", + "stateUpdateExpression", + "stateMergeExpression", + "manageState", + "__template_environment", + "__template_streamtags", + "__template_workspaceId", + "__template_organizationId", + "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 InputResponseTypeUpwindHec(str, Enum): + r"""Source type identifier.""" + + UPWIND_HEC = "upwind_hec" + + +class InputResponseInputUpwindHecTypedDict(TypedDict): + type: InputResponseTypeUpwindHec + 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""" + hec_api: str + r"""Absolute path on which to listen for the Upwind HTTP Event Collector API requests. This input supports the /event endpoint.""" + 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] + r"""Select whether to send data to Routes, or directly to Destinations.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + pq_enabled: NotRequired[bool] + r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" + streamtags: NotRequired[List[str]] + r"""Metadata tags used for categorization and filtering.""" + cribl_source_provenance: NotRequired[ + InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict + ] + r"""Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create.""" + connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] + r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" + pq: NotRequired[PqTypeTypedDict] + auth_tokens: NotRequired[List[AuthTokenConfInputCloudflareHecTypedDict]] + r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" + tls: NotRequired[TLSSettingsServerSideTypeTypedDict] + max_active_req: NotRequired[float] + r"""Maximum number of active requests allowed per Worker Process. Set to 0 for unlimited. Caution: Increasing the limit above the default value, or setting it to unlimited, may degrade performance and reduce throughput.""" + max_requests_per_socket: NotRequired[int] + r"""Maximum number of requests per socket before @{product} instructs the client to close the connection. Default is 0 (unlimited).""" + enable_proxy_header: NotRequired[bool] + r"""Extract the client IP and port from PROXY protocol v1/v2. When enabled, the X-Forwarded-For header is ignored. Disable to use the X-Forwarded-For header for client IP extraction.""" + capture_headers: NotRequired[bool] + r"""Add request headers to events, in the __headers field""" + activity_log_sample_rate: NotRequired[float] + r"""How often request activity is logged at the `info` level. A value of 1 would log every request, 10 every 10th request, etc.""" + request_timeout: NotRequired[float] + r"""How long to wait for an incoming request to complete before aborting it. Use 0 to disable.""" + socket_timeout: NotRequired[float] + r"""How long @{product} should wait before assuming that an inactive socket has timed out. To wait forever, set to 0.""" + keep_alive_timeout: NotRequired[float] + r"""After the last response is sent, @{product} will wait this long for additional data before closing the socket connection. Minimum 1 second, maximum 600 seconds (10 minutes).""" + ip_allowlist_regex: NotRequired[str] + r"""Messages from matched IP addresses will be processed, unless also matched by the denylist""" + ip_denylist_regex: NotRequired[str] + r"""Messages from matched IP addresses will be ignored. This takes precedence over the allowlist.""" + metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] + r"""Fields to add to every event. May be overridden by fields added at the token or request level.""" + allowed_indexes: NotRequired[List[str]] + r"""List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level.""" + access_control_allow_origin: NotRequired[List[str]] + r"""HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards.""" + access_control_allow_headers: NotRequired[List[str]] + r"""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: 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] + r"""Binds 'streamtags' to a variable 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_hec_api: NotRequired[str] + r"""Binds 'hecAPI' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'hecAPI' at runtime.""" + template_allowed_indexes: NotRequired[str] + r"""Binds 'allowedIndexes' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'allowedIndexes' at runtime.""" + template_access_control_allow_origin: NotRequired[str] + r"""Binds 'accessControlAllowOrigin' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowOrigin' at runtime.""" + template_access_control_allow_headers: NotRequired[str] + r"""Binds 'accessControlAllowHeaders' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowHeaders' at runtime.""" + notifications: NotRequired[List[NotificationUnionTypedDict]] + r"""Notifications attached to the Source.""" + status: NotRequired[StatusTypeTypedDict] + r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" + + +class InputResponseInputUpwindHec(BaseModel): + type: InputResponseTypeUpwindHec + 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""" + + hec_api: Annotated[str, pydantic.Field(alias="hecAPI")] + r"""Absolute path on which to listen for the Upwind HTTP Event Collector API requests. This input supports the /event endpoint.""" + + id: Optional[str] = None + 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""" + + send_to_routes: Annotated[Optional[bool], pydantic.Field(alias="sendToRoutes")] = ( + None + ) + r"""Select whether to send data to Routes, or directly to Destinations.""" + + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + + pq_enabled: Annotated[Optional[bool], pydantic.Field(alias="pqEnabled")] = None + r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" + + streamtags: Optional[List[str]] = None + r"""Metadata tags used for categorization and filtering.""" + + cribl_source_provenance: Annotated[ + Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], + pydantic.Field(alias="criblSourceProvenance"), + ] = None + r"""Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create.""" + + connections: Optional[List[ConnectionConfInputCollection]] = None + r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" + + pq: Optional[PqType] = None + + auth_tokens: Annotated[ + Optional[List[AuthTokenConfInputCloudflareHec]], + pydantic.Field(alias="authTokens"), + ] = None + r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" + + tls: Optional[TLSSettingsServerSideType] = None + + max_active_req: Annotated[Optional[float], pydantic.Field(alias="maxActiveReq")] = ( + None + ) + r"""Maximum number of active requests allowed per Worker Process. Set to 0 for unlimited. Caution: Increasing the limit above the default value, or setting it to unlimited, may degrade performance and reduce throughput.""" + + max_requests_per_socket: Annotated[ + Optional[int], pydantic.Field(alias="maxRequestsPerSocket") + ] = None + r"""Maximum number of requests per socket before @{product} instructs the client to close the connection. Default is 0 (unlimited).""" + + enable_proxy_header: Annotated[ + Optional[bool], pydantic.Field(alias="enableProxyHeader") + ] = None + r"""Extract the client IP and port from PROXY protocol v1/v2. When enabled, the X-Forwarded-For header is ignored. Disable to use the X-Forwarded-For header for client IP extraction.""" + + capture_headers: Annotated[ + Optional[bool], pydantic.Field(alias="captureHeaders") + ] = None + r"""Add request headers to events, in the __headers field""" + + activity_log_sample_rate: Annotated[ + Optional[float], pydantic.Field(alias="activityLogSampleRate") + ] = None + r"""How often request activity is logged at the `info` level. A value of 1 would log every request, 10 every 10th request, etc.""" + + request_timeout: Annotated[ + Optional[float], pydantic.Field(alias="requestTimeout") + ] = None + r"""How long to wait for an incoming request to complete before aborting it. Use 0 to disable.""" + + socket_timeout: Annotated[ + Optional[float], pydantic.Field(alias="socketTimeout") + ] = None + r"""How long @{product} should wait before assuming that an inactive socket has timed out. To wait forever, set to 0.""" + + keep_alive_timeout: Annotated[ + Optional[float], pydantic.Field(alias="keepAliveTimeout") + ] = None + r"""After the last response is sent, @{product} will wait this long for additional data before closing the socket connection. Minimum 1 second, maximum 600 seconds (10 minutes).""" + + ip_allowlist_regex: Annotated[ + Optional[str], pydantic.Field(alias="ipAllowlistRegex") + ] = None + r"""Messages from matched IP addresses will be processed, unless also matched by the denylist""" + + ip_denylist_regex: Annotated[ + Optional[str], pydantic.Field(alias="ipDenylistRegex") + ] = None + r"""Messages from matched IP addresses will be ignored. This takes precedence over the allowlist.""" + + metadata: Optional[List[MetadataConfInputCollection]] = None + r"""Fields to add to every event. May be overridden by fields added at the token or request level.""" + + allowed_indexes: Annotated[ + Optional[List[str]], pydantic.Field(alias="allowedIndexes") + ] = None + r"""List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level.""" + + access_control_allow_origin: Annotated[ + Optional[List[str]], pydantic.Field(alias="accessControlAllowOrigin") + ] = None + r"""HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards.""" + + access_control_allow_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="accessControlAllowHeaders") + ] = None + r"""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: Annotated[ + Optional[bool], pydantic.Field(alias="emitTokenMetrics") + ] = None + 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") + ] = None + 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: 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_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_hec_api: Annotated[ + Optional[str], pydantic.Field(alias="__template_hecAPI") + ] = None + r"""Binds 'hecAPI' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'hecAPI' at runtime.""" + + template_allowed_indexes: Annotated[ + Optional[str], pydantic.Field(alias="__template_allowedIndexes") + ] = None + r"""Binds 'allowedIndexes' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'allowedIndexes' at runtime.""" + + template_access_control_allow_origin: Annotated[ + Optional[str], pydantic.Field(alias="__template_accessControlAllowOrigin") + ] = None + r"""Binds 'accessControlAllowOrigin' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowOrigin' at runtime.""" + + template_access_control_allow_headers: Annotated[ + Optional[str], pydantic.Field(alias="__template_accessControlAllowHeaders") + ] = None + r"""Binds 'accessControlAllowHeaders' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowHeaders' at runtime.""" + + notifications: Optional[List[NotificationUnion]] = None + r"""Notifications attached to the Source.""" + + 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", + "disabled", + "pipeline", + "sendToRoutes", + "environment", + "pqEnabled", + "streamtags", + "criblSourceProvenance", + "connections", + "pq", + "authTokens", + "tls", + "maxActiveReq", + "maxRequestsPerSocket", + "enableProxyHeader", + "captureHeaders", + "activityLogSampleRate", + "requestTimeout", + "socketTimeout", + "keepAliveTimeout", + "ipAllowlistRegex", + "ipDenylistRegex", + "metadata", + "allowedIndexes", + "accessControlAllowOrigin", + "accessControlAllowHeaders", + "emitTokenMetrics", + "description", + "__template_environment", + "__template_streamtags", + "__template_host", + "__template_port", + "__template_hecAPI", + "__template_allowedIndexes", + "__template_accessControlAllowOrigin", + "__template_accessControlAllowHeaders", + "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 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 + r"""Port to listen on""" + 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.""" + 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] + r"""Select whether to send data to Routes, or directly to Destinations.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + pq_enabled: NotRequired[bool] + r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" + streamtags: NotRequired[List[str]] + r"""Metadata tags used for categorization and filtering.""" + cribl_source_provenance: NotRequired[ + InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict + ] + r"""Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create.""" + connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] + r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" + pq: NotRequired[PqTypeTypedDict] + auth_tokens: NotRequired[List[AuthTokenConfInputCloudflareHecTypedDict]] + r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" + tls: NotRequired[TLSSettingsServerSideTypeTypedDict] + max_active_req: NotRequired[float] + r"""Maximum number of active requests allowed per Worker Process. Set to 0 for unlimited. Caution: Increasing the limit above the default value, or setting it to unlimited, may degrade performance and reduce throughput.""" + max_requests_per_socket: NotRequired[int] + r"""Maximum number of requests per socket before @{product} instructs the client to close the connection. Default is 0 (unlimited).""" + enable_proxy_header: NotRequired[bool] + r"""Extract the client IP and port from PROXY protocol v1/v2. When enabled, the X-Forwarded-For header is ignored. Disable to use the X-Forwarded-For header for client IP extraction.""" + capture_headers: NotRequired[bool] + r"""Add request headers to events, in the __headers field""" + activity_log_sample_rate: NotRequired[float] + r"""How often request activity is logged at the `info` level. A value of 1 would log every request, 10 every 10th request, etc.""" + request_timeout: NotRequired[float] + r"""How long to wait for an incoming request to complete before aborting it. Use 0 to disable.""" + socket_timeout: NotRequired[float] + r"""How long @{product} should wait before assuming that an inactive socket has timed out. To wait forever, set to 0.""" + keep_alive_timeout: NotRequired[float] + r"""After the last response is sent, @{product} will wait this long for additional data before closing the socket connection. Minimum 1 second, maximum 600 seconds (10 minutes).""" + ip_allowlist_regex: NotRequired[str] + r"""Messages from matched IP addresses will be processed, unless also matched by the denylist""" + ip_denylist_regex: NotRequired[str] + r"""Messages from matched IP addresses will be ignored. This takes precedence over the allowlist.""" + metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] + r"""Fields to add to every event. May be overridden by fields added at the token or request level.""" + allowed_indexes: NotRequired[List[str]] + r"""List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level.""" + access_control_allow_origin: NotRequired[List[str]] + r"""HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards.""" + access_control_allow_headers: NotRequired[List[str]] + r"""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: 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] + r"""Binds 'streamtags' to a variable 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_hec_api: NotRequired[str] + r"""Binds 'hecAPI' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'hecAPI' at runtime.""" + template_allowed_indexes: NotRequired[str] + r"""Binds 'allowedIndexes' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'allowedIndexes' at runtime.""" + template_access_control_allow_origin: NotRequired[str] + r"""Binds 'accessControlAllowOrigin' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowOrigin' at runtime.""" + template_access_control_allow_headers: NotRequired[str] + r"""Binds 'accessControlAllowHeaders' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowHeaders' at runtime.""" + notifications: NotRequired[List[NotificationUnionTypedDict]] + r"""Notifications attached to the Source.""" + status: NotRequired[StatusTypeTypedDict] + r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" + + +class InputResponseInputSysdigHec(BaseModel): + type: InputResponseTypeSysdigHec + 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""" + + hec_api: Annotated[str, pydantic.Field(alias="hecAPI")] + r"""Absolute path on which to listen for the Sysdig HTTP Event Collector API requests. This input supports the /event and /raw endpoints.""" + + id: Optional[str] = None + 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""" + + send_to_routes: Annotated[Optional[bool], pydantic.Field(alias="sendToRoutes")] = ( + None + ) + r"""Select whether to send data to Routes, or directly to Destinations.""" + + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + + pq_enabled: Annotated[Optional[bool], pydantic.Field(alias="pqEnabled")] = None + r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" + + streamtags: Optional[List[str]] = None + r"""Metadata tags used for categorization and filtering.""" + + cribl_source_provenance: Annotated[ + Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], + pydantic.Field(alias="criblSourceProvenance"), + ] = None + r"""Read-only metadata that records how the Source was created. Preserved on update when omitted from the request body. Cannot be set on create.""" + + connections: Optional[List[ConnectionConfInputCollection]] = None + r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" + + pq: Optional[PqType] = None + + auth_tokens: Annotated[ + Optional[List[AuthTokenConfInputCloudflareHec]], + pydantic.Field(alias="authTokens"), + ] = None + r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" + + tls: Optional[TLSSettingsServerSideType] = None + + max_active_req: Annotated[Optional[float], pydantic.Field(alias="maxActiveReq")] = ( + None + ) + r"""Maximum number of active requests allowed per Worker Process. Set to 0 for unlimited. Caution: Increasing the limit above the default value, or setting it to unlimited, may degrade performance and reduce throughput.""" + + max_requests_per_socket: Annotated[ + Optional[int], pydantic.Field(alias="maxRequestsPerSocket") + ] = None + r"""Maximum number of requests per socket before @{product} instructs the client to close the connection. Default is 0 (unlimited).""" + + enable_proxy_header: Annotated[ + Optional[bool], pydantic.Field(alias="enableProxyHeader") + ] = None + r"""Extract the client IP and port from PROXY protocol v1/v2. When enabled, the X-Forwarded-For header is ignored. Disable to use the X-Forwarded-For header for client IP extraction.""" + + capture_headers: Annotated[ + Optional[bool], pydantic.Field(alias="captureHeaders") + ] = None + r"""Add request headers to events, in the __headers field""" + + activity_log_sample_rate: Annotated[ + Optional[float], pydantic.Field(alias="activityLogSampleRate") + ] = None + r"""How often request activity is logged at the `info` level. A value of 1 would log every request, 10 every 10th request, etc.""" + + request_timeout: Annotated[ + Optional[float], pydantic.Field(alias="requestTimeout") + ] = None + r"""How long to wait for an incoming request to complete before aborting it. Use 0 to disable.""" + + socket_timeout: Annotated[ + Optional[float], pydantic.Field(alias="socketTimeout") + ] = None + r"""How long @{product} should wait before assuming that an inactive socket has timed out. To wait forever, set to 0.""" + + keep_alive_timeout: Annotated[ + Optional[float], pydantic.Field(alias="keepAliveTimeout") + ] = None + r"""After the last response is sent, @{product} will wait this long for additional data before closing the socket connection. Minimum 1 second, maximum 600 seconds (10 minutes).""" + + ip_allowlist_regex: Annotated[ + Optional[str], pydantic.Field(alias="ipAllowlistRegex") + ] = None + r"""Messages from matched IP addresses will be processed, unless also matched by the denylist""" + + ip_denylist_regex: Annotated[ + Optional[str], pydantic.Field(alias="ipDenylistRegex") + ] = None + r"""Messages from matched IP addresses will be ignored. This takes precedence over the allowlist.""" + + metadata: Optional[List[MetadataConfInputCollection]] = None + r"""Fields to add to every event. May be overridden by fields added at the token or request level.""" + + allowed_indexes: Annotated[ + Optional[List[str]], pydantic.Field(alias="allowedIndexes") + ] = None + r"""List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level.""" + + access_control_allow_origin: Annotated[ + Optional[List[str]], pydantic.Field(alias="accessControlAllowOrigin") + ] = None + r"""HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards.""" + + access_control_allow_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="accessControlAllowHeaders") + ] = None + r"""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: Annotated[ + Optional[bool], pydantic.Field(alias="emitTokenMetrics") + ] = None + 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") + ] = None + 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: 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_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_hec_api: Annotated[ + Optional[str], pydantic.Field(alias="__template_hecAPI") ] = None - 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.""" + r"""Binds 'hecAPI' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'hecAPI' at runtime.""" - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") + template_allowed_indexes: Annotated[ + Optional[str], pydantic.Field(alias="__template_allowedIndexes") ] = 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 'allowedIndexes' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'allowedIndexes' at runtime.""" - template_workspace_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_workspaceId") + template_access_control_allow_origin: Annotated[ + Optional[str], pydantic.Field(alias="__template_accessControlAllowOrigin") ] = 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.""" + r"""Binds 'accessControlAllowOrigin' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowOrigin' at runtime.""" - template_organization_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_organizationId") + template_access_control_allow_headers: Annotated[ + Optional[str], pydantic.Field(alias="__template_accessControlAllowHeaders") ] = None - r"""Binds 'organizationId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'organizationId' at runtime.""" + r"""Binds 'accessControlAllowHeaders' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowHeaders' at runtime.""" notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Source.""" @@ -865,24 +1579,6 @@ class InputResponseInputOpenaiComplianceLogs(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("account_type") - def serialize_account_type(self, value): - if isinstance(value, str): - try: - return models.InputResponseAccountType(value) - except ValueError: - return value - return value - - @field_serializer("log_level") - def serialize_log_level(self, value): - if isinstance(value, str): - try: - return models.LogLevelOptionsContentConfigItemsDebugError(value) - except ValueError: - return value - return value - @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( @@ -897,34 +1593,32 @@ def serialize_model(self, handler): "criblSourceProvenance", "connections", "pq", - "apiKey", - "earliest", - "latest", - "jobTimeout", - "logLevel", - "maxPages", - "stateTracking", + "authTokens", + "tls", + "maxActiveReq", + "maxRequestsPerSocket", + "enableProxyHeader", + "captureHeaders", + "activityLogSampleRate", "requestTimeout", - "keepAliveTime", - "maxMissedKeepAlives", - "ttl", - "ignoreGroupJobsLimit", + "socketTimeout", + "keepAliveTimeout", + "ipAllowlistRegex", + "ipDenylistRegex", "metadata", - "breakerRulesets", - "staleChannelFlushMs", - "retryRules", + "allowedIndexes", + "accessControlAllowOrigin", + "accessControlAllowHeaders", + "emitTokenMetrics", "description", - "workspaceId", - "workspaceEventTypes", - "organizationId", - "organizationEventTypes", - "stateUpdateExpression", - "stateMergeExpression", - "manageState", "__template_environment", "__template_streamtags", - "__template_workspaceId", - "__template_organizationId", + "__template_host", + "__template_port", + "__template_hecAPI", + "__template_allowedIndexes", + "__template_accessControlAllowOrigin", + "__template_accessControlAllowHeaders", "notifications", "status", ] @@ -944,91 +1638,9 @@ def serialize_model(self, handler): class InputResponseTypeCloudflareHec(str, Enum): - CLOUDFLARE_HEC = "cloudflare_hec" - - -class InputResponseAuthenticationMethodCloudflareHec( - str, Enum, metaclass=utils.OpenEnumMeta -): - r"""Select Secret to use a text secret to authenticate""" - - SECRET = "secret" - - -class InputResponseAuthTokenCloudflareHecTypedDict(TypedDict): - auth_type: NotRequired[InputResponseAuthenticationMethodCloudflareHec] - r"""Select Secret to use a text secret to authenticate""" - token_secret: NotRequired[str] - r"""Select or create a stored text secret""" - token: NotRequired[str] - r"""Shared secret to be provided by any client (Authorization: )""" - enabled: NotRequired[bool] - description: NotRequired[str] - allowed_indexes_at_token: NotRequired[List[str]] - r"""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: NotRequired[List[MetadataConfInputCollectionTypedDict]] - r"""Fields to add to events referencing this token""" - - -class InputResponseAuthTokenCloudflareHec(BaseModel): - auth_type: Annotated[ - Optional[InputResponseAuthenticationMethodCloudflareHec], - pydantic.Field(alias="authType"), - ] = None - r"""Select Secret to use a text secret to authenticate""" - - token_secret: Annotated[Optional[str], pydantic.Field(alias="tokenSecret")] = None - r"""Select or create a stored text secret""" - - token: Optional[str] = None - r"""Shared secret to be provided by any client (Authorization: )""" - - enabled: Optional[bool] = None - - description: Optional[str] = None - - allowed_indexes_at_token: Annotated[ - Optional[List[str]], pydantic.Field(alias="allowedIndexesAtToken") - ] = None - r"""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: Optional[List[MetadataConfInputCollection]] = None - r"""Fields to add to events referencing this token""" - - @field_serializer("auth_type") - def serialize_auth_type(self, value): - if isinstance(value, str): - try: - return models.InputResponseAuthenticationMethodCloudflareHec(value) - except ValueError: - return value - return value - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "authType", - "tokenSecret", - "token", - "enabled", - "description", - "allowedIndexesAtToken", - "metadata", - ] - ) - 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 + r"""Source type identifier.""" - return m + CLOUDFLARE_HEC = "cloudflare_hec" class InputResponseTLSSettingsServerSideTypedDict(TypedDict): @@ -1147,6 +1759,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 @@ -1156,6 +1769,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] @@ -1165,7 +1779,7 @@ class InputResponseInputCloudflareHecTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -1173,7 +1787,7 @@ class InputResponseInputCloudflareHecTypedDict(TypedDict): connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] - auth_tokens: NotRequired[List[InputResponseAuthTokenCloudflareHecTypedDict]] + auth_tokens: NotRequired[List[AuthTokenConfInputCloudflareHecTypedDict]] r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" tls: NotRequired[InputResponseTLSSettingsServerSideTypedDict] max_active_req: NotRequired[float] @@ -1200,17 +1814,18 @@ class InputResponseInputCloudflareHecTypedDict(TypedDict): r"""Fields to add to every event. May be overridden by fields added at the token or request level.""" allowed_indexes: NotRequired[List[str]] r"""List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level.""" - breaker_rulesets: NotRequired[List[str]] - r"""A list of event-breaking rulesets that will be applied, in order, to the input data stream""" - 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""" access_control_allow_origin: NotRequired[List[str]] r"""HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards.""" access_control_allow_headers: NotRequired[List[str]] r"""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: NotRequired[bool] r"""Emit per-token (.http.perToken) and summary (.http.summary) request metrics""" + breaker_rulesets: NotRequired[List[str]] + r"""A list of event-breaking rulesets that will be applied, in order, to the input data stream""" + 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] @@ -1235,6 +1850,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).""" @@ -1249,6 +1865,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""" @@ -1265,7 +1882,7 @@ class InputResponseInputCloudflareHec(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -1279,7 +1896,7 @@ class InputResponseInputCloudflareHec(BaseModel): pq: Optional[PqType] = None auth_tokens: Annotated[ - Optional[List[InputResponseAuthTokenCloudflareHec]], + Optional[List[AuthTokenConfInputCloudflareHec]], pydantic.Field(alias="authTokens"), ] = None r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" @@ -1344,16 +1961,6 @@ class InputResponseInputCloudflareHec(BaseModel): ] = None r"""List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level.""" - breaker_rulesets: Annotated[ - Optional[List[str]], pydantic.Field(alias="breakerRulesets") - ] = None - r"""A list of event-breaking rulesets that will be applied, in order, to the input data stream""" - - stale_channel_flush_ms: Annotated[ - Optional[float], pydantic.Field(alias="staleChannelFlushMs") - ] = None - 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""" - access_control_allow_origin: Annotated[ Optional[List[str]], pydantic.Field(alias="accessControlAllowOrigin") ] = None @@ -1369,7 +1976,18 @@ class InputResponseInputCloudflareHec(BaseModel): ] = None r"""Emit per-token (.http.perToken) and summary (.http.summary) request metrics""" + breaker_rulesets: Annotated[ + Optional[List[str]], pydantic.Field(alias="breakerRulesets") + ] = None + r"""A list of event-breaking rulesets that will be applied, in order, to the input data stream""" + + stale_channel_flush_ms: Annotated[ + Optional[float], pydantic.Field(alias="staleChannelFlushMs") + ] = None + 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") @@ -1445,11 +2063,11 @@ def serialize_model(self, handler): "ipDenylistRegex", "metadata", "allowedIndexes", - "breakerRulesets", - "staleChannelFlushMs", "accessControlAllowOrigin", "accessControlAllowHeaders", "emitTokenMetrics", + "breakerRulesets", + "staleChannelFlushMs", "description", "__template_environment", "__template_streamtags", @@ -1478,6 +2096,8 @@ def serialize_model(self, handler): class InputResponseTypeZscalerHec(str, Enum): + r"""Source type identifier.""" + ZSCALER_HEC = "zscaler_hec" @@ -1558,6 +2178,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 @@ -1567,6 +2188,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] @@ -1576,7 +2198,7 @@ class InputResponseInputZscalerHecTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -1611,15 +2233,16 @@ class InputResponseInputZscalerHecTypedDict(TypedDict): r"""Fields to add to every event. May be overridden by fields added at the token or request level.""" allowed_indexes: NotRequired[List[str]] r"""List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level.""" - hec_acks: NotRequired[bool] - r"""Whether to enable Zscaler HEC acknowledgements""" access_control_allow_origin: NotRequired[List[str]] - r"""Optionally, list HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards.""" + r"""HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards.""" access_control_allow_headers: NotRequired[List[str]] - r"""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.""" + r"""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: NotRequired[bool] - r"""Enable to emit per-token (.http.perToken) and summary (.http.summary) request metrics""" + r"""Emit per-token (.http.perToken) and summary (.http.summary) request metrics""" + 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] @@ -1630,6 +2253,12 @@ class InputResponseInputZscalerHecTypedDict(TypedDict): 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_hec_api: NotRequired[str] r"""Binds 'hecAPI' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'hecAPI' at runtime.""" + template_allowed_indexes: NotRequired[str] + r"""Binds 'allowedIndexes' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'allowedIndexes' at runtime.""" + template_access_control_allow_origin: NotRequired[str] + r"""Binds 'accessControlAllowOrigin' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowOrigin' at runtime.""" + template_access_control_allow_headers: NotRequired[str] + r"""Binds 'accessControlAllowHeaders' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowHeaders' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Source.""" status: NotRequired[StatusTypeTypedDict] @@ -1638,6 +2267,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).""" @@ -1652,6 +2282,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""" @@ -1668,7 +2299,7 @@ class InputResponseInputZscalerHec(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -1747,25 +2378,26 @@ class InputResponseInputZscalerHec(BaseModel): ] = None r"""List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level.""" - hec_acks: Annotated[Optional[bool], pydantic.Field(alias="hecAcks")] = None - r"""Whether to enable Zscaler HEC acknowledgements""" - access_control_allow_origin: Annotated[ Optional[List[str]], pydantic.Field(alias="accessControlAllowOrigin") ] = None - r"""Optionally, list HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards.""" + r"""HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards.""" access_control_allow_headers: Annotated[ Optional[List[str]], pydantic.Field(alias="accessControlAllowHeaders") ] = None - r"""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.""" + r"""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: Annotated[ Optional[bool], pydantic.Field(alias="emitTokenMetrics") ] = None - r"""Enable to emit per-token (.http.perToken) and summary (.http.summary) request metrics""" + r"""Emit per-token (.http.perToken) and summary (.http.summary) request metrics""" + + hec_acks: Annotated[Optional[bool], pydantic.Field(alias="hecAcks")] = None + 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") @@ -1792,6 +2424,21 @@ class InputResponseInputZscalerHec(BaseModel): ] = None r"""Binds 'hecAPI' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'hecAPI' at runtime.""" + template_allowed_indexes: Annotated[ + Optional[str], pydantic.Field(alias="__template_allowedIndexes") + ] = None + r"""Binds 'allowedIndexes' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'allowedIndexes' at runtime.""" + + template_access_control_allow_origin: Annotated[ + Optional[str], pydantic.Field(alias="__template_accessControlAllowOrigin") + ] = None + r"""Binds 'accessControlAllowOrigin' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowOrigin' at runtime.""" + + template_access_control_allow_headers: Annotated[ + Optional[str], pydantic.Field(alias="__template_accessControlAllowHeaders") + ] = None + r"""Binds 'accessControlAllowHeaders' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowHeaders' at runtime.""" + notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Source.""" @@ -1826,16 +2473,19 @@ def serialize_model(self, handler): "ipDenylistRegex", "metadata", "allowedIndexes", - "hecAcks", "accessControlAllowOrigin", "accessControlAllowHeaders", "emitTokenMetrics", + "hecAcks", "description", "__template_environment", "__template_streamtags", "__template_host", "__template_port", "__template_hecAPI", + "__template_allowedIndexes", + "__template_accessControlAllowOrigin", + "__template_accessControlAllowHeaders", "notifications", "status", ] @@ -1912,6 +2562,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] @@ -1921,7 +2572,7 @@ class InputResponseInputServicenowTableTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -1967,6 +2618,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] @@ -2031,6 +2683,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""" @@ -2047,7 +2700,7 @@ class InputResponseInputServicenowTable(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -2142,6 +2795,7 @@ class InputResponseInputServicenowTable(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" credentials_secret: Annotated[ Optional[str], pydantic.Field(alias="credentialsSecret") @@ -2357,6 +3011,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] @@ -2366,7 +3021,7 @@ class InputResponseInputSecurityLakeTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -2415,6 +3070,10 @@ class InputResponseInputSecurityLakeTypedDict(TypedDict): 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).""" enable_sqs_assume_role: NotRequired[bool] r"""Use Assume Role credentials when accessing Amazon SQS""" + shared_credentials: NotRequired[bool] + r"""Use the same credential settings for S3 and SQS""" + shared_assume_role_arn: NotRequired[bool] + r"""Use the same settings for S3 and SQS""" preprocess: NotRequired[PreprocessTypeTypedDict] metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" @@ -2428,9 +3087,21 @@ 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""" + sqs_assume_role_arn: NotRequired[str] + r"""Amazon Resource Name (ARN) of the role to assume""" + sqs_assume_role_external_id: NotRequired[str] + r"""External ID to use when assuming role""" + sqs_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).""" + sqs_aws_authentication_method: NotRequired[SqsAuthenticationMethodOptions] + r"""Choose Auto to use IAM roles""" + sqs_aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" + sqs_aws_secret_key: NotRequired[str] tag_after_processing: NotRequired[TagAfterProcessingOptions] processed_tag_key: NotRequired[str] r"""The key for the S3 object tag applied after processing. This field accepts an expression for dynamic generation.""" @@ -2456,6 +3127,12 @@ class InputResponseInputSecurityLakeTypedDict(TypedDict): 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_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_sqs_assume_role_arn: NotRequired[str] + r"""Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime.""" + template_sqs_assume_role_external_id: NotRequired[str] + r"""Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime.""" + template_sqs_aws_secret_key: NotRequired[str] + r"""Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Source.""" status: NotRequired[StatusTypeTypedDict] @@ -2472,6 +3149,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""" @@ -2488,7 +3166,7 @@ class InputResponseInputSecurityLake(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -2596,6 +3274,16 @@ class InputResponseInputSecurityLake(BaseModel): ] = None r"""Use Assume Role credentials when accessing Amazon SQS""" + shared_credentials: Annotated[ + Optional[bool], pydantic.Field(alias="sharedCredentials") + ] = None + r"""Use the same credential settings for S3 and SQS""" + + shared_assume_role_arn: Annotated[ + Optional[bool], pydantic.Field(alias="sharedAssumeRoleArn") + ] = None + r"""Use the same settings for S3 and SQS""" + preprocess: Optional[PreprocessType] = None metadata: Optional[List[MetadataConfInputCollection]] = None @@ -2619,13 +3307,44 @@ class InputResponseInputSecurityLake(BaseModel): encoding: Optional[str] = None 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 + 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""" + + sqs_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="SQSAssumeRoleArn") + ] = None + r"""Amazon Resource Name (ARN) of the role to assume""" + + sqs_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="SQSAssumeRoleExternalId") + ] = None + r"""External ID to use when assuming role""" + + sqs_duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="SQSDurationSeconds") + ] = 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_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None + sqs_aws_authentication_method: Annotated[ + Optional[SqsAuthenticationMethodOptions], + pydantic.Field(alias="SQSAwsAuthenticationMethod"), + ] = None + r"""Choose Auto to use IAM roles""" - aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None + sqs_aws_secret: Annotated[Optional[str], pydantic.Field(alias="SQSAwsSecret")] = ( + None + ) r"""Select or create a stored secret that references your access key and secret key""" + sqs_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="SQSAwsSecretKey") + ] = None + tag_after_processing: Annotated[ Optional[TagAfterProcessingOptions], pydantic.Field(alias="tagAfterProcessing") ] = None @@ -2690,6 +3409,21 @@ class InputResponseInputSecurityLake(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.""" + template_sqs_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAssumeRoleArn") + ] = None + r"""Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime.""" + + template_sqs_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAssumeRoleExternalId") + ] = None + r"""Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime.""" + + template_sqs_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAwsSecretKey") + ] = None + r"""Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime.""" + notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Source.""" @@ -2705,6 +3439,15 @@ def serialize_aws_authentication_method(self, value): return value return value + @field_serializer("sqs_aws_authentication_method") + def serialize_sqs_aws_authentication_method(self, value): + if isinstance(value, str): + try: + return models.SqsAuthenticationMethodOptions(value) + except ValueError: + return value + return value + @field_serializer("tag_after_processing") def serialize_tag_after_processing(self, value): if isinstance(value, str): @@ -2749,6 +3492,8 @@ def serialize_model(self, handler): "assumeRoleExternalId", "durationSeconds", "enableSQSAssumeRole", + "sharedCredentials", + "sharedAssumeRoleArn", "preprocess", "metadata", "parquetChunkSizeMB", @@ -2759,6 +3504,12 @@ def serialize_model(self, handler): "description", "awsApiKey", "awsSecret", + "SQSAssumeRoleArn", + "SQSAssumeRoleExternalId", + "SQSDurationSeconds", + "SQSAwsAuthenticationMethod", + "SQSAwsSecret", + "SQSAwsSecretKey", "tagAfterProcessing", "processedTagKey", "processedTagValue", @@ -2772,6 +3523,9 @@ def serialize_model(self, handler): "__template_assumeRoleArn", "__template_assumeRoleExternalId", "__template_awsApiKey", + "__template_SQSAssumeRoleArn", + "__template_SQSAssumeRoleExternalId", + "__template_SQSAwsSecretKey", "notifications", "status", ] @@ -2803,6 +3557,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] @@ -2812,7 +3567,7 @@ class InputResponseInputNetflowTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -2839,6 +3594,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] @@ -2866,6 +3622,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""" @@ -2882,7 +3639,7 @@ class InputResponseInputNetflow(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -2935,6 +3692,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") @@ -3009,11 +3767,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 @@ -3021,6 +3782,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] @@ -3030,7 +3792,7 @@ class InputResponseInputWizWebhookTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -3076,6 +3838,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] @@ -3096,6 +3859,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).""" @@ -3107,6 +3871,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""" @@ -3123,7 +3888,7 @@ class InputResponseInputWizWebhook(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -3228,6 +3993,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") @@ -3360,7 +4126,9 @@ class InputResponseContentConfigOpenaiTypedDict(TypedDict): content_type: str collect_path: str r"""OpenAI Organization API path""" - request_params: List[RequestParamConfInputOpenaiTypedDict] + request_params: List[ + RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict + ] r"""Query-string parameters to send with this endpoint""" pagination_type: InputResponsePaginationType cron_schedule: str @@ -3402,7 +4170,8 @@ class InputResponseContentConfigOpenai(BaseModel): r"""OpenAI Organization API path""" request_params: Annotated[ - List[RequestParamConfInputOpenai], pydantic.Field(alias="requestParams") + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecret], + pydantic.Field(alias="requestParams"), ] r"""Query-string parameters to send with this endpoint""" @@ -3542,6 +4311,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] @@ -3551,7 +4321,7 @@ class InputResponseInputOpenaiTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -3578,6 +4348,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] @@ -3606,6 +4377,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""" @@ -3622,7 +4394,7 @@ class InputResponseInputOpenai(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -3678,6 +4450,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") @@ -3895,6 +4668,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] @@ -3904,7 +4678,7 @@ class InputResponseInputWizTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -3934,6 +4708,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] @@ -3974,6 +4749,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""" @@ -3990,7 +4766,7 @@ class InputResponseInputWiz(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -4055,6 +4831,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""" @@ -4197,6 +4974,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] @@ -4206,7 +4984,7 @@ class InputResponseInputJournalFilesTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -4226,6 +5004,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] @@ -4249,6 +5028,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""" @@ -4265,7 +5045,7 @@ class InputResponseInputJournalFiles(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -4298,6 +5078,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") @@ -4369,6 +5150,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] @@ -4378,7 +5160,7 @@ class InputResponseInputRawUDPTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -4399,6 +5181,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] @@ -4426,6 +5209,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""" @@ -4442,7 +5226,7 @@ class InputResponseInputRawUDP(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -4484,6 +5268,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") @@ -4570,10 +5355,11 @@ class InputResponseReadModeAppleUnifiedLogs(str, Enum, metaclass=utils.OpenEnumM class InputResponseInputAppleUnifiedLogsTypedDict(TypedDict): type: InputResponseTypeAppleUnifiedLogs predicate: str - r"""String to filter log entries, in NSPredicate format (e.g., subsystem == \"com.apple.security\" or process == \"kernel\"). See [Predicate format reference](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/Predicates/AdditionalChapters/Introduction.html) for more information.""" + 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.""" 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] @@ -4583,7 +5369,7 @@ class InputResponseInputAppleUnifiedLogsTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -4596,6 +5382,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] @@ -4610,12 +5397,13 @@ class InputResponseInputAppleUnifiedLogs(BaseModel): type: InputResponseTypeAppleUnifiedLogs predicate: str - r"""String to filter log entries, in NSPredicate format (e.g., subsystem == \"com.apple.security\" or process == \"kernel\"). See [Predicate format reference](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/Predicates/AdditionalChapters/Introduction.html) for more information.""" + 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.""" id: Optional[str] = None 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""" @@ -4632,7 +5420,7 @@ class InputResponseInputAppleUnifiedLogs(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -4655,6 +5443,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") @@ -4747,6 +5536,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] @@ -4756,7 +5546,7 @@ class InputResponseInputWinEventLogsTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -4776,9 +5566,10 @@ class InputResponseInputWinEventLogsTypedDict(TypedDict): r"""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: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" - max_event_bytes: NotRequired[float] + 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] @@ -4803,6 +5594,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""" @@ -4819,7 +5611,7 @@ class InputResponseInputWinEventLogs(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -4856,12 +5648,13 @@ class InputResponseInputWinEventLogs(BaseModel): metadata: Optional[List[MetadataConfInputCollection]] = None r"""Fields to add to events from this input""" - max_event_bytes: Annotated[ - Optional[float], pydantic.Field(alias="maxEventBytes") - ] = None + max_event_bytes: Annotated[Optional[int], pydantic.Field(alias="maxEventBytes")] = ( + None + ) 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") @@ -5250,6 +6043,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] @@ -5259,7 +6053,7 @@ class InputResponseInputWefTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -5299,6 +6093,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] @@ -5335,6 +6130,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""" @@ -5351,7 +6147,7 @@ class InputResponseInputWef(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -5437,6 +6233,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") @@ -5699,6 +6496,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] @@ -5708,7 +6506,7 @@ class InputResponseInputAppscopeTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -5741,6 +6539,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] @@ -5775,6 +6574,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""" @@ -5791,7 +6591,7 @@ class InputResponseInputAppscope(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -5865,6 +6665,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).""" @@ -5996,6 +6797,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] @@ -6005,7 +6807,7 @@ class InputResponseInputTCPTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -6036,6 +6838,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] @@ -6069,6 +6872,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""" @@ -6085,7 +6889,7 @@ class InputResponseInputTCP(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -6151,6 +6955,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.""" @@ -6269,6 +7074,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] @@ -6278,7 +7084,7 @@ class InputResponseInputFileTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -6317,6 +7123,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] @@ -6347,6 +7154,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""" @@ -6363,7 +7171,7 @@ class InputResponseInputFile(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -6432,6 +7240,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/).""" @@ -6554,6 +7363,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] @@ -6563,7 +7373,7 @@ class InputResponseInputSyslogSyslog2TypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -6609,6 +7419,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] @@ -6642,6 +7453,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""" @@ -6658,7 +7470,7 @@ class InputResponseInputSyslogSyslog2(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -6760,6 +7572,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") @@ -6874,6 +7687,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] @@ -6883,7 +7697,7 @@ class InputResponseInputSyslogSyslog1TypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -6929,6 +7743,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] @@ -6962,6 +7777,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""" @@ -6978,7 +7794,7 @@ class InputResponseInputSyslogSyslog1(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -7080,6 +7896,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") @@ -7218,6 +8035,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] @@ -7227,7 +8045,7 @@ class InputResponseInputSqsTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -7267,6 +8085,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""" @@ -7313,6 +8132,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""" @@ -7329,7 +8149,7 @@ class InputResponseInputSqs(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -7411,6 +8231,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 @@ -7577,6 +8398,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] @@ -7586,7 +8408,7 @@ class InputResponseInputModelDrivenTelemetryTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -7602,6 +8424,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] @@ -7629,6 +8452,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""" @@ -7645,7 +8469,7 @@ class InputResponseInputModelDrivenTelemetry(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -7674,6 +8498,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") @@ -7743,6 +8568,8 @@ def serialize_model(self, handler): class InputResponseTypeOpenTelemetry(str, Enum): + r"""Source type identifier.""" + OPEN_TELEMETRY = "open_telemetry" @@ -7876,6 +8703,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 @@ -7883,6 +8711,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] @@ -7892,7 +8721,7 @@ class InputResponseInputOpenTelemetryTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -7934,6 +8763,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] @@ -7964,6 +8794,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).""" @@ -7975,6 +8806,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""" @@ -7991,7 +8823,7 @@ class InputResponseInputOpenTelemetry(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -8085,6 +8917,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 @@ -8348,6 +9181,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] @@ -8357,7 +9191,7 @@ class InputResponseInputSnmpTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -8380,6 +9214,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] @@ -8407,6 +9242,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""" @@ -8423,7 +9259,7 @@ class InputResponseInputSnmp(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -8470,6 +9306,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") @@ -8552,6 +9389,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] @@ -8561,7 +9399,7 @@ class InputResponseInputS3InventoryTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -8610,6 +9448,10 @@ class InputResponseInputS3InventoryTypedDict(TypedDict): 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).""" enable_sqs_assume_role: NotRequired[bool] r"""Use Assume Role credentials when accessing Amazon SQS""" + shared_credentials: NotRequired[bool] + r"""Use the same credential settings for S3 and SQS""" + shared_assume_role_arn: NotRequired[bool] + r"""Use the same settings for S3 and SQS""" preprocess: NotRequired[PreprocessTypeTypedDict] metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" @@ -8627,9 +9469,21 @@ 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""" + sqs_assume_role_arn: NotRequired[str] + r"""Amazon Resource Name (ARN) of the role to assume""" + sqs_assume_role_external_id: NotRequired[str] + r"""External ID to use when assuming role""" + sqs_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).""" + sqs_aws_authentication_method: NotRequired[SqsAuthenticationMethodOptions] + r"""Choose Auto to use IAM roles""" + sqs_aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" + sqs_aws_secret_key: NotRequired[str] tag_after_processing: NotRequired[TagAfterProcessingOptions] processed_tag_key: NotRequired[str] r"""The key for the S3 object tag applied after processing. This field accepts an expression for dynamic generation.""" @@ -8655,6 +9509,12 @@ class InputResponseInputS3InventoryTypedDict(TypedDict): 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_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_sqs_assume_role_arn: NotRequired[str] + r"""Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime.""" + template_sqs_assume_role_external_id: NotRequired[str] + r"""Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime.""" + template_sqs_aws_secret_key: NotRequired[str] + r"""Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Source.""" status: NotRequired[StatusTypeTypedDict] @@ -8671,6 +9531,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""" @@ -8687,7 +9548,7 @@ class InputResponseInputS3Inventory(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -8795,6 +9656,16 @@ class InputResponseInputS3Inventory(BaseModel): ] = None r"""Use Assume Role credentials when accessing Amazon SQS""" + shared_credentials: Annotated[ + Optional[bool], pydantic.Field(alias="sharedCredentials") + ] = None + r"""Use the same credential settings for S3 and SQS""" + + shared_assume_role_arn: Annotated[ + Optional[bool], pydantic.Field(alias="sharedAssumeRoleArn") + ] = None + r"""Use the same settings for S3 and SQS""" + preprocess: Optional[PreprocessType] = None metadata: Optional[List[MetadataConfInputCollection]] = None @@ -8831,12 +9702,43 @@ 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 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""" + sqs_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="SQSAssumeRoleArn") + ] = None + r"""Amazon Resource Name (ARN) of the role to assume""" + + sqs_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="SQSAssumeRoleExternalId") + ] = None + r"""External ID to use when assuming role""" + + sqs_duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="SQSDurationSeconds") + ] = 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).""" + + sqs_aws_authentication_method: Annotated[ + Optional[SqsAuthenticationMethodOptions], + pydantic.Field(alias="SQSAwsAuthenticationMethod"), + ] = None + r"""Choose Auto to use IAM roles""" + + sqs_aws_secret: Annotated[Optional[str], pydantic.Field(alias="SQSAwsSecret")] = ( + None + ) + r"""Select or create a stored secret that references your access key and secret key""" + + sqs_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="SQSAwsSecretKey") + ] = None + tag_after_processing: Annotated[ Optional[TagAfterProcessingOptions], pydantic.Field(alias="tagAfterProcessing") ] = None @@ -8901,6 +9803,21 @@ class InputResponseInputS3Inventory(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.""" + template_sqs_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAssumeRoleArn") + ] = None + r"""Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime.""" + + template_sqs_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAssumeRoleExternalId") + ] = None + r"""Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime.""" + + template_sqs_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAwsSecretKey") + ] = None + r"""Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime.""" + notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Source.""" @@ -8916,6 +9833,15 @@ def serialize_aws_authentication_method(self, value): return value return value + @field_serializer("sqs_aws_authentication_method") + def serialize_sqs_aws_authentication_method(self, value): + if isinstance(value, str): + try: + return models.SqsAuthenticationMethodOptions(value) + except ValueError: + return value + return value + @field_serializer("tag_after_processing") def serialize_tag_after_processing(self, value): if isinstance(value, str): @@ -8960,6 +9886,8 @@ def serialize_model(self, handler): "assumeRoleExternalId", "durationSeconds", "enableSQSAssumeRole", + "sharedCredentials", + "sharedAssumeRoleArn", "preprocess", "metadata", "parquetChunkSizeMB", @@ -8972,6 +9900,12 @@ def serialize_model(self, handler): "description", "awsApiKey", "awsSecret", + "SQSAssumeRoleArn", + "SQSAssumeRoleExternalId", + "SQSDurationSeconds", + "SQSAwsAuthenticationMethod", + "SQSAwsSecret", + "SQSAwsSecretKey", "tagAfterProcessing", "processedTagKey", "processedTagValue", @@ -8985,6 +9919,9 @@ def serialize_model(self, handler): "__template_assumeRoleArn", "__template_assumeRoleExternalId", "__template_awsApiKey", + "__template_SQSAssumeRoleArn", + "__template_SQSAssumeRoleExternalId", + "__template_SQSAwsSecretKey", "notifications", "status", ] @@ -9014,6 +9951,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] @@ -9023,7 +9961,7 @@ class InputResponseInputS3TypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -9072,6 +10010,10 @@ class InputResponseInputS3TypedDict(TypedDict): 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).""" enable_sqs_assume_role: NotRequired[bool] r"""Use Assume Role credentials when accessing Amazon SQS""" + shared_credentials: NotRequired[bool] + r"""Use the same credential settings for S3 and SQS""" + shared_assume_role_arn: NotRequired[bool] + r"""Use the same settings for S3 and SQS""" preprocess: NotRequired[PreprocessTypeTypedDict] metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" @@ -9087,9 +10029,21 @@ 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""" + sqs_assume_role_arn: NotRequired[str] + r"""Amazon Resource Name (ARN) of the role to assume""" + sqs_assume_role_external_id: NotRequired[str] + r"""External ID to use when assuming role""" + sqs_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).""" + sqs_aws_authentication_method: NotRequired[SqsAuthenticationMethodOptions] + r"""Choose Auto to use IAM roles""" + sqs_aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" + sqs_aws_secret_key: NotRequired[str] processed_tag_key: NotRequired[str] r"""The key for the S3 object tag applied after processing. This field accepts an expression for dynamic generation.""" processed_tag_value: NotRequired[str] @@ -9114,6 +10068,12 @@ class InputResponseInputS3TypedDict(TypedDict): 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_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_sqs_assume_role_arn: NotRequired[str] + r"""Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime.""" + template_sqs_assume_role_external_id: NotRequired[str] + r"""Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime.""" + template_sqs_aws_secret_key: NotRequired[str] + r"""Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Source.""" status: NotRequired[StatusTypeTypedDict] @@ -9130,6 +10090,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""" @@ -9146,7 +10107,7 @@ class InputResponseInputS3(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -9254,6 +10215,16 @@ class InputResponseInputS3(BaseModel): ] = None r"""Use Assume Role credentials when accessing Amazon SQS""" + shared_credentials: Annotated[ + Optional[bool], pydantic.Field(alias="sharedCredentials") + ] = None + r"""Use the same credential settings for S3 and SQS""" + + shared_assume_role_arn: Annotated[ + Optional[bool], pydantic.Field(alias="sharedAssumeRoleArn") + ] = None + r"""Use the same settings for S3 and SQS""" + preprocess: Optional[PreprocessType] = None metadata: Optional[List[MetadataConfInputCollection]] = None @@ -9283,12 +10254,43 @@ 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 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""" + sqs_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="SQSAssumeRoleArn") + ] = None + r"""Amazon Resource Name (ARN) of the role to assume""" + + sqs_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="SQSAssumeRoleExternalId") + ] = None + r"""External ID to use when assuming role""" + + sqs_duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="SQSDurationSeconds") + ] = 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).""" + + sqs_aws_authentication_method: Annotated[ + Optional[SqsAuthenticationMethodOptions], + pydantic.Field(alias="SQSAwsAuthenticationMethod"), + ] = None + r"""Choose Auto to use IAM roles""" + + sqs_aws_secret: Annotated[Optional[str], pydantic.Field(alias="SQSAwsSecret")] = ( + None + ) + r"""Select or create a stored secret that references your access key and secret key""" + + sqs_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="SQSAwsSecretKey") + ] = None + processed_tag_key: Annotated[ Optional[str], pydantic.Field(alias="processedTagKey") ] = None @@ -9349,6 +10351,21 @@ class InputResponseInputS3(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.""" + template_sqs_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAssumeRoleArn") + ] = None + r"""Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime.""" + + template_sqs_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAssumeRoleExternalId") + ] = None + r"""Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime.""" + + template_sqs_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAwsSecretKey") + ] = None + r"""Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime.""" + notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Source.""" @@ -9364,6 +10381,15 @@ def serialize_aws_authentication_method(self, value): return value return value + @field_serializer("sqs_aws_authentication_method") + def serialize_sqs_aws_authentication_method(self, value): + if isinstance(value, str): + try: + return models.SqsAuthenticationMethodOptions(value) + except ValueError: + return value + return value + @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( @@ -9399,6 +10425,8 @@ def serialize_model(self, handler): "assumeRoleExternalId", "durationSeconds", "enableSQSAssumeRole", + "sharedCredentials", + "sharedAssumeRoleArn", "preprocess", "metadata", "parquetChunkSizeMB", @@ -9410,6 +10438,12 @@ def serialize_model(self, handler): "description", "awsApiKey", "awsSecret", + "SQSAssumeRoleArn", + "SQSAssumeRoleExternalId", + "SQSDurationSeconds", + "SQSAwsAuthenticationMethod", + "SQSAwsSecret", + "SQSAwsSecretKey", "processedTagKey", "processedTagValue", "__template_environment", @@ -9422,6 +10456,9 @@ def serialize_model(self, handler): "__template_assumeRoleArn", "__template_assumeRoleExternalId", "__template_awsApiKey", + "__template_SQSAssumeRoleArn", + "__template_SQSAssumeRoleExternalId", + "__template_SQSAwsSecretKey", "notifications", "status", ] @@ -9451,6 +10488,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] @@ -9460,7 +10498,7 @@ class InputResponseInputMetricsTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -9484,6 +10522,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] @@ -9510,6 +10549,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""" @@ -9526,7 +10566,7 @@ class InputResponseInputMetrics(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -9571,6 +10611,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") @@ -9658,6 +10699,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] @@ -9667,7 +10709,7 @@ class InputResponseInputCriblmetricsTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -9682,6 +10724,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] @@ -9699,6 +10742,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""" @@ -9715,7 +10759,7 @@ class InputResponseInputCriblmetrics(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -9740,6 +10784,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") @@ -9839,6 +10884,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] @@ -9848,7 +10894,7 @@ class InputResponseInputKinesisTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -9894,6 +10940,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""" @@ -9938,6 +10985,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""" @@ -9954,7 +11002,7 @@ class InputResponseInputKinesis(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -10059,6 +11107,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 @@ -10228,11 +11277,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 @@ -10240,6 +11292,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] @@ -10249,7 +11302,7 @@ class InputResponseInputHTTPRawTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -10295,6 +11348,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] @@ -10315,6 +11369,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).""" @@ -10326,6 +11381,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""" @@ -10342,7 +11398,7 @@ class InputResponseInputHTTPRaw(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -10447,6 +11503,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") @@ -10565,6 +11622,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] @@ -10574,7 +11632,7 @@ class InputResponseInputDatagenTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -10585,6 +11643,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] @@ -10604,6 +11663,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""" @@ -10620,7 +11680,7 @@ class InputResponseInputDatagen(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -10637,6 +11697,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") @@ -10691,24 +11752,46 @@ def serialize_model(self, handler): class InputResponseTypeDatadogAgent(str, Enum): + r"""Source type identifier.""" + DATADOG_AGENT = "datadog_agent" +class InputResponseSamplingRuleTypedDict(TypedDict): + service: str + r"""Datadog service name""" + environment: str + r"""Datadog environment name (example: prod, staging)""" + rate: float + r"""Sampling rate for this service/environment combination (0.0–1.0)""" + + +class InputResponseSamplingRule(BaseModel): + service: str + r"""Datadog service name""" + + environment: str + r"""Datadog environment name (example: prod, staging)""" + + rate: float + r"""Sampling rate for this service/environment combination (0.0–1.0)""" + + class InputResponseProxyModeDatadogAgentTypedDict(TypedDict): enabled: bool - r"""Toggle to Yes to send key validation requests from Datadog Agent to the Datadog API. If toggled to No (the default), Stream handles key validation requests by always responding that the key is valid.""" + r"""Forward key validation requests from the Datadog Agent to the Datadog API. If disabled, Stream handles key validation requests locally by always responding that the key is valid.""" reject_unauthorized: NotRequired[bool] - r"""Whether to reject certificates that cannot be verified against a valid CA (e.g., self-signed certificates).""" + r"""Whether to reject certificates that cannot be verified against a valid CA (such as self-signed certificates)""" class InputResponseProxyModeDatadogAgent(BaseModel): enabled: bool - r"""Toggle to Yes to send key validation requests from Datadog Agent to the Datadog API. If toggled to No (the default), Stream handles key validation requests by always responding that the key is valid.""" + r"""Forward key validation requests from the Datadog Agent to the Datadog API. If disabled, Stream handles key validation requests locally by always responding that the key is valid.""" reject_unauthorized: Annotated[ Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = None - r"""Whether to reject certificates that cannot be verified against a valid CA (e.g., self-signed certificates).""" + r"""Whether to reject certificates that cannot be verified against a valid CA (such as self-signed certificates)""" @model_serializer(mode="wrap") def serialize_model(self, handler): @@ -10729,6 +11812,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 @@ -10736,6 +11820,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] @@ -10745,7 +11830,7 @@ class InputResponseInputDatadogAgentTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -10777,11 +11862,16 @@ class InputResponseInputDatadogAgentTypedDict(TypedDict): ip_denylist_regex: NotRequired[str] r"""Messages from matched IP addresses will be ignored. This takes precedence over the allowlist.""" extract_metrics: NotRequired[bool] - r"""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).""" + r"""Extract each incoming metric to multiple events, one per data point. Recommended when sending metrics to a statsd-type output. If sending metrics to DatadogHQ or any destination that accepts arbitrary JSON, leave disabled.""" + sampling_rate: NotRequired[float] + r"""The rate_by_service hint sent to connected tracers as the catch-all sampling rate. Applies to any service/environment not explicitly listed in Per-Service Sampling Rules. 1.0 = keep all traces (default); 0.0 = suggest dropping all.""" + sampling_rules: NotRequired[List[InputResponseSamplingRuleTypedDict]] + r"""Per-service sampling rate hints. Each row maps to a \"service:,env:\" key in the rate_by_service response sent to tracers.""" metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] 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] @@ -10798,6 +11888,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).""" @@ -10809,6 +11900,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""" @@ -10825,7 +11917,7 @@ class InputResponseInputDatadogAgent(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -10898,7 +11990,17 @@ class InputResponseInputDatadogAgent(BaseModel): extract_metrics: Annotated[ Optional[bool], pydantic.Field(alias="extractMetrics") ] = None - r"""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).""" + r"""Extract each incoming metric to multiple events, one per data point. Recommended when sending metrics to a statsd-type output. If sending metrics to DatadogHQ or any destination that accepts arbitrary JSON, leave disabled.""" + + sampling_rate: Annotated[Optional[float], pydantic.Field(alias="samplingRate")] = ( + None + ) + r"""The rate_by_service hint sent to connected tracers as the catch-all sampling rate. Applies to any service/environment not explicitly listed in Per-Service Sampling Rules. 1.0 = keep all traces (default); 0.0 = suggest dropping all.""" + + sampling_rules: Annotated[ + Optional[List[InputResponseSamplingRule]], pydantic.Field(alias="samplingRules") + ] = None + r"""Per-service sampling rate hints. Each row maps to a \"service:,env:\" key in the rate_by_service response sent to tracers.""" metadata: Optional[List[MetadataConfInputCollection]] = None r"""Fields to add to events from this input""" @@ -10908,6 +12010,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") @@ -10962,6 +12065,8 @@ def serialize_model(self, handler): "ipAllowlistRegex", "ipDenylistRegex", "extractMetrics", + "samplingRate", + "samplingRules", "metadata", "proxyMode", "description", @@ -10998,6 +12103,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] @@ -11007,7 +12113,7 @@ class InputResponseInputCrowdstrikeTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -11056,6 +12162,10 @@ class InputResponseInputCrowdstrikeTypedDict(TypedDict): 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).""" enable_sqs_assume_role: NotRequired[bool] r"""Use Assume Role credentials when accessing Amazon SQS""" + shared_credentials: NotRequired[bool] + r"""Use the same credential settings for S3 and SQS""" + shared_assume_role_arn: NotRequired[bool] + r"""Use the same settings for S3 and SQS""" preprocess: NotRequired[PreprocessTypeTypedDict] metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" @@ -11065,9 +12175,21 @@ 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""" + sqs_assume_role_arn: NotRequired[str] + r"""Amazon Resource Name (ARN) of the role to assume""" + sqs_assume_role_external_id: NotRequired[str] + r"""External ID to use when assuming role""" + sqs_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).""" + sqs_aws_authentication_method: NotRequired[SqsAuthenticationMethodOptions] + r"""Choose Auto to use IAM roles""" + sqs_aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" + sqs_aws_secret_key: NotRequired[str] tag_after_processing: NotRequired[TagAfterProcessingOptions] processed_tag_key: NotRequired[str] r"""The key for the S3 object tag applied after processing. This field accepts an expression for dynamic generation.""" @@ -11093,6 +12215,12 @@ class InputResponseInputCrowdstrikeTypedDict(TypedDict): 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_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_sqs_assume_role_arn: NotRequired[str] + r"""Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime.""" + template_sqs_assume_role_external_id: NotRequired[str] + r"""Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime.""" + template_sqs_aws_secret_key: NotRequired[str] + r"""Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Source.""" status: NotRequired[StatusTypeTypedDict] @@ -11109,6 +12237,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""" @@ -11125,7 +12254,7 @@ class InputResponseInputCrowdstrike(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -11233,6 +12362,16 @@ class InputResponseInputCrowdstrike(BaseModel): ] = None r"""Use Assume Role credentials when accessing Amazon SQS""" + shared_credentials: Annotated[ + Optional[bool], pydantic.Field(alias="sharedCredentials") + ] = None + r"""Use the same credential settings for S3 and SQS""" + + shared_assume_role_arn: Annotated[ + Optional[bool], pydantic.Field(alias="sharedAssumeRoleArn") + ] = None + r"""Use the same settings for S3 and SQS""" + preprocess: Optional[PreprocessType] = None metadata: Optional[List[MetadataConfInputCollection]] = None @@ -11247,12 +12386,43 @@ 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 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""" + sqs_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="SQSAssumeRoleArn") + ] = None + r"""Amazon Resource Name (ARN) of the role to assume""" + + sqs_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="SQSAssumeRoleExternalId") + ] = None + r"""External ID to use when assuming role""" + + sqs_duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="SQSDurationSeconds") + ] = 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).""" + + sqs_aws_authentication_method: Annotated[ + Optional[SqsAuthenticationMethodOptions], + pydantic.Field(alias="SQSAwsAuthenticationMethod"), + ] = None + r"""Choose Auto to use IAM roles""" + + sqs_aws_secret: Annotated[Optional[str], pydantic.Field(alias="SQSAwsSecret")] = ( + None + ) + r"""Select or create a stored secret that references your access key and secret key""" + + sqs_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="SQSAwsSecretKey") + ] = None + tag_after_processing: Annotated[ Optional[TagAfterProcessingOptions], pydantic.Field(alias="tagAfterProcessing") ] = None @@ -11317,6 +12487,21 @@ class InputResponseInputCrowdstrike(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.""" + template_sqs_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAssumeRoleArn") + ] = None + r"""Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime.""" + + template_sqs_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAssumeRoleExternalId") + ] = None + r"""Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime.""" + + template_sqs_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAwsSecretKey") + ] = None + r"""Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime.""" + notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Source.""" @@ -11332,6 +12517,15 @@ def serialize_aws_authentication_method(self, value): return value return value + @field_serializer("sqs_aws_authentication_method") + def serialize_sqs_aws_authentication_method(self, value): + if isinstance(value, str): + try: + return models.SqsAuthenticationMethodOptions(value) + except ValueError: + return value + return value + @field_serializer("tag_after_processing") def serialize_tag_after_processing(self, value): if isinstance(value, str): @@ -11376,6 +12570,8 @@ def serialize_model(self, handler): "assumeRoleExternalId", "durationSeconds", "enableSQSAssumeRole", + "sharedCredentials", + "sharedAssumeRoleArn", "preprocess", "metadata", "checkpointing", @@ -11384,6 +12580,12 @@ def serialize_model(self, handler): "description", "awsApiKey", "awsSecret", + "SQSAssumeRoleArn", + "SQSAssumeRoleExternalId", + "SQSDurationSeconds", + "SQSAwsAuthenticationMethod", + "SQSAwsSecret", + "SQSAwsSecretKey", "tagAfterProcessing", "processedTagKey", "processedTagValue", @@ -11397,6 +12599,9 @@ def serialize_model(self, handler): "__template_assumeRoleArn", "__template_assumeRoleExternalId", "__template_awsApiKey", + "__template_SQSAssumeRoleArn", + "__template_SQSAssumeRoleExternalId", + "__template_SQSAwsSecretKey", "notifications", "status", ] @@ -11869,6 +13074,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] @@ -11878,7 +13084,7 @@ class InputResponseInputWindowsMetricsTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -11897,6 +13103,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] @@ -11914,6 +13121,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""" @@ -11930,7 +13138,7 @@ class InputResponseInputWindowsMetrics(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -11963,6 +13171,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") @@ -12031,6 +13240,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] @@ -12040,7 +13250,7 @@ class InputResponseInputKubeEventsTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -12053,6 +13263,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] @@ -12070,6 +13281,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""" @@ -12086,7 +13298,7 @@ class InputResponseInputKubeEvents(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -12106,6 +13318,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") @@ -12200,6 +13413,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] @@ -12209,7 +13423,7 @@ class InputResponseInputKubeLogsTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -12223,6 +13437,10 @@ class InputResponseInputKubeLogsTypedDict(TypedDict): r"""Add rules to decide which Pods to collect logs from. Logs are collected if no rules are given or if all the rules' expressions evaluate to true.""" timestamps: NotRequired[bool] r"""For use when containers do not emit a timestamp, prefix each line of output with a timestamp. If you enable this setting, you can use the Kubernetes Logs Event Breaker and the kubernetes_logs Pre-processing Pipeline to remove them from the events after the timestamps are extracted.""" + line_buffer_limit: NotRequired[float] + r"""Maximum bytes to buffer while reassembling a single log line. A line that exceeds this size is flushed as-is, either whole or partially. The default is 1048576 (1 MB).""" + lb_disable_assembly: NotRequired[bool] + r"""Internal flag to disable LB worker payload reassembly.""" metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" persistence: NotRequired[DiskSpoolingTypeTypedDict] @@ -12233,6 +13451,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] @@ -12250,6 +13469,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""" @@ -12266,7 +13486,7 @@ class InputResponseInputKubeLogs(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -12288,6 +13508,16 @@ class InputResponseInputKubeLogs(BaseModel): timestamps: Optional[bool] = None r"""For use when containers do not emit a timestamp, prefix each line of output with a timestamp. If you enable this setting, you can use the Kubernetes Logs Event Breaker and the kubernetes_logs Pre-processing Pipeline to remove them from the events after the timestamps are extracted.""" + line_buffer_limit: Annotated[ + Optional[float], pydantic.Field(alias="lineBufferLimit") + ] = None + r"""Maximum bytes to buffer while reassembling a single log line. A line that exceeds this size is flushed as-is, either whole or partially. The default is 1048576 (1 MB).""" + + lb_disable_assembly: Annotated[ + Optional[bool], pydantic.Field(alias="__LBDisableAssembly") + ] = None + r"""Internal flag to disable LB worker payload reassembly.""" + metadata: Optional[List[MetadataConfInputCollection]] = None r"""Fields to add to events from this input""" @@ -12309,6 +13539,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") @@ -12343,6 +13574,8 @@ def serialize_model(self, handler): "interval", "rules", "timestamps", + "lineBufferLimit", + "__LBDisableAssembly", "metadata", "persistence", "breakerRulesets", @@ -12445,6 +13678,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] @@ -12454,7 +13688,7 @@ class InputResponseInputKubeMetricsTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -12474,6 +13708,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] @@ -12491,6 +13726,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""" @@ -12507,7 +13743,7 @@ class InputResponseInputKubeMetrics(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -12542,6 +13778,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") @@ -12800,118 +14037,6 @@ def serialize_model(self, handler): return m -class InputResponseFirewallTypedDict(TypedDict): - r"""Creates events for Firewall rules entries""" - - enable: NotRequired[bool] - - -class InputResponseFirewall(BaseModel): - r"""Creates events for Firewall rules entries""" - - enable: Optional[bool] = None - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["enable"]) - 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 InputResponseServicesTypedDict(TypedDict): - r"""Creates events from the list of services""" - - enable: NotRequired[bool] - - -class InputResponseServices(BaseModel): - r"""Creates events from the list of services""" - - enable: Optional[bool] = None - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["enable"]) - 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 InputResponseListeningPortsTypedDict(TypedDict): - r"""Creates events from list of listening ports""" - - enable: NotRequired[bool] - - -class InputResponseListeningPorts(BaseModel): - r"""Creates events from list of listening ports""" - - enable: Optional[bool] = None - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["enable"]) - 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 InputResponseLoggedInUsersTypedDict(TypedDict): - r"""Creates events from list of logged-in users""" - - enable: NotRequired[bool] - - -class InputResponseLoggedInUsers(BaseModel): - r"""Creates events from list of logged-in users""" - - enable: Optional[bool] = None - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["enable"]) - 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: InputResponseInputOkta.model_rebuild() except NameError: @@ -12929,7 +14054,11 @@ def serialize_model(self, handler): except NameError: pass try: - InputResponseAuthTokenCloudflareHec.model_rebuild() + InputResponseInputUpwindHec.model_rebuild() +except NameError: + pass +try: + InputResponseInputSysdigHec.model_rebuild() except NameError: pass try: diff --git a/src/cribl_control_plane/models/inputs3_input.py b/src/cribl_control_plane/models/inputs3_input.py index f7b35ff2e..66f2ec6cb 100644 --- a/src/cribl_control_plane/models/inputs3_input.py +++ b/src/cribl_control_plane/models/inputs3_input.py @@ -15,6 +15,7 @@ ) from .pqtype import PqType, PqTypeTypedDict from .preprocesstype import PreprocessType, PreprocessTypeTypedDict +from .sqsauthenticationmethodoptions import SqsAuthenticationMethodOptions from cribl_control_plane import models from cribl_control_plane.types import BaseModel, UNSET_SENTINEL from enum import Enum @@ -35,6 +36,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] @@ -44,7 +46,7 @@ class InputS3InputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -89,6 +91,10 @@ class InputS3InputTypedDict(TypedDict): 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).""" enable_sqs_assume_role: NotRequired[bool] r"""Use Assume Role credentials when accessing Amazon SQS""" + shared_credentials: NotRequired[bool] + r"""Use the same credential settings for S3 and SQS""" + shared_assume_role_arn: NotRequired[bool] + r"""Use the same settings for S3 and SQS""" preprocess: NotRequired[PreprocessTypeTypedDict] metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" @@ -104,9 +110,21 @@ 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""" + sqs_assume_role_arn: NotRequired[str] + r"""Amazon Resource Name (ARN) of the role to assume""" + sqs_assume_role_external_id: NotRequired[str] + r"""External ID to use when assuming role""" + sqs_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).""" + sqs_aws_authentication_method: NotRequired[SqsAuthenticationMethodOptions] + r"""Choose Auto to use IAM roles""" + sqs_aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" + sqs_aws_secret_key: NotRequired[str] processed_tag_key: NotRequired[str] r"""The key for the S3 object tag applied after processing. This field accepts an expression for dynamic generation.""" processed_tag_value: NotRequired[str] @@ -131,6 +149,12 @@ class InputS3InputTypedDict(TypedDict): 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_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_sqs_assume_role_arn: NotRequired[str] + r"""Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime.""" + template_sqs_assume_role_external_id: NotRequired[str] + r"""Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime.""" + template_sqs_aws_secret_key: NotRequired[str] + r"""Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime.""" class InputS3Input(BaseModel): @@ -143,6 +167,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""" @@ -159,7 +184,7 @@ class InputS3Input(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -261,6 +286,16 @@ class InputS3Input(BaseModel): ] = None r"""Use Assume Role credentials when accessing Amazon SQS""" + shared_credentials: Annotated[ + Optional[bool], pydantic.Field(alias="sharedCredentials") + ] = None + r"""Use the same credential settings for S3 and SQS""" + + shared_assume_role_arn: Annotated[ + Optional[bool], pydantic.Field(alias="sharedAssumeRoleArn") + ] = None + r"""Use the same settings for S3 and SQS""" + preprocess: Optional[PreprocessType] = None metadata: Optional[List[MetadataConfInputCollection]] = None @@ -290,12 +325,43 @@ 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 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""" + sqs_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="SQSAssumeRoleArn") + ] = None + r"""Amazon Resource Name (ARN) of the role to assume""" + + sqs_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="SQSAssumeRoleExternalId") + ] = None + r"""External ID to use when assuming role""" + + sqs_duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="SQSDurationSeconds") + ] = 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).""" + + sqs_aws_authentication_method: Annotated[ + Optional[SqsAuthenticationMethodOptions], + pydantic.Field(alias="SQSAwsAuthenticationMethod"), + ] = None + r"""Choose Auto to use IAM roles""" + + sqs_aws_secret: Annotated[Optional[str], pydantic.Field(alias="SQSAwsSecret")] = ( + None + ) + r"""Select or create a stored secret that references your access key and secret key""" + + sqs_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="SQSAwsSecretKey") + ] = None + processed_tag_key: Annotated[ Optional[str], pydantic.Field(alias="processedTagKey") ] = None @@ -356,6 +422,21 @@ class InputS3Input(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.""" + template_sqs_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAssumeRoleArn") + ] = None + r"""Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime.""" + + template_sqs_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAssumeRoleExternalId") + ] = None + r"""Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime.""" + + template_sqs_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAwsSecretKey") + ] = None + r"""Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime.""" + @field_serializer("aws_authentication_method") def serialize_aws_authentication_method(self, value): if isinstance(value, str): @@ -365,6 +446,15 @@ def serialize_aws_authentication_method(self, value): return value return value + @field_serializer("sqs_aws_authentication_method") + def serialize_sqs_aws_authentication_method(self, value): + if isinstance(value, str): + try: + return models.SqsAuthenticationMethodOptions(value) + except ValueError: + return value + return value + @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( @@ -399,6 +489,8 @@ def serialize_model(self, handler): "assumeRoleExternalId", "durationSeconds", "enableSQSAssumeRole", + "sharedCredentials", + "sharedAssumeRoleArn", "preprocess", "metadata", "parquetChunkSizeMB", @@ -410,6 +502,12 @@ def serialize_model(self, handler): "description", "awsApiKey", "awsSecret", + "SQSAssumeRoleArn", + "SQSAssumeRoleExternalId", + "SQSDurationSeconds", + "SQSAwsAuthenticationMethod", + "SQSAwsSecret", + "SQSAwsSecretKey", "processedTagKey", "processedTagValue", "__template_environment", @@ -422,6 +520,9 @@ def serialize_model(self, handler): "__template_assumeRoleArn", "__template_assumeRoleExternalId", "__template_awsApiKey", + "__template_SQSAssumeRoleArn", + "__template_SQSAssumeRoleExternalId", + "__template_SQSAwsSecretKey", ] ) serialized = handler(self) diff --git a/src/cribl_control_plane/models/inputs3inventory_input.py b/src/cribl_control_plane/models/inputs3inventory_input.py index ae452c10c..e492564c6 100644 --- a/src/cribl_control_plane/models/inputs3inventory_input.py +++ b/src/cribl_control_plane/models/inputs3inventory_input.py @@ -15,6 +15,7 @@ ) from .pqtype import PqType, PqTypeTypedDict from .preprocesstype import PreprocessType, PreprocessTypeTypedDict +from .sqsauthenticationmethodoptions import SqsAuthenticationMethodOptions from .tagafterprocessingoptions import TagAfterProcessingOptions from cribl_control_plane import models from cribl_control_plane.types import BaseModel, UNSET_SENTINEL @@ -36,6 +37,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] @@ -45,7 +47,7 @@ class InputS3InventoryInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -90,6 +92,10 @@ class InputS3InventoryInputTypedDict(TypedDict): 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).""" enable_sqs_assume_role: NotRequired[bool] r"""Use Assume Role credentials when accessing Amazon SQS""" + shared_credentials: NotRequired[bool] + r"""Use the same credential settings for S3 and SQS""" + shared_assume_role_arn: NotRequired[bool] + r"""Use the same settings for S3 and SQS""" preprocess: NotRequired[PreprocessTypeTypedDict] metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" @@ -107,9 +113,21 @@ 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""" + sqs_assume_role_arn: NotRequired[str] + r"""Amazon Resource Name (ARN) of the role to assume""" + sqs_assume_role_external_id: NotRequired[str] + r"""External ID to use when assuming role""" + sqs_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).""" + sqs_aws_authentication_method: NotRequired[SqsAuthenticationMethodOptions] + r"""Choose Auto to use IAM roles""" + sqs_aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" + sqs_aws_secret_key: NotRequired[str] tag_after_processing: NotRequired[TagAfterProcessingOptions] processed_tag_key: NotRequired[str] r"""The key for the S3 object tag applied after processing. This field accepts an expression for dynamic generation.""" @@ -135,6 +153,12 @@ class InputS3InventoryInputTypedDict(TypedDict): 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_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_sqs_assume_role_arn: NotRequired[str] + r"""Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime.""" + template_sqs_assume_role_external_id: NotRequired[str] + r"""Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime.""" + template_sqs_aws_secret_key: NotRequired[str] + r"""Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime.""" class InputS3InventoryInput(BaseModel): @@ -147,6 +171,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""" @@ -163,7 +188,7 @@ class InputS3InventoryInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -265,6 +290,16 @@ class InputS3InventoryInput(BaseModel): ] = None r"""Use Assume Role credentials when accessing Amazon SQS""" + shared_credentials: Annotated[ + Optional[bool], pydantic.Field(alias="sharedCredentials") + ] = None + r"""Use the same credential settings for S3 and SQS""" + + shared_assume_role_arn: Annotated[ + Optional[bool], pydantic.Field(alias="sharedAssumeRoleArn") + ] = None + r"""Use the same settings for S3 and SQS""" + preprocess: Optional[PreprocessType] = None metadata: Optional[List[MetadataConfInputCollection]] = None @@ -301,12 +336,43 @@ 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 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""" + sqs_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="SQSAssumeRoleArn") + ] = None + r"""Amazon Resource Name (ARN) of the role to assume""" + + sqs_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="SQSAssumeRoleExternalId") + ] = None + r"""External ID to use when assuming role""" + + sqs_duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="SQSDurationSeconds") + ] = 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).""" + + sqs_aws_authentication_method: Annotated[ + Optional[SqsAuthenticationMethodOptions], + pydantic.Field(alias="SQSAwsAuthenticationMethod"), + ] = None + r"""Choose Auto to use IAM roles""" + + sqs_aws_secret: Annotated[Optional[str], pydantic.Field(alias="SQSAwsSecret")] = ( + None + ) + r"""Select or create a stored secret that references your access key and secret key""" + + sqs_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="SQSAwsSecretKey") + ] = None + tag_after_processing: Annotated[ Optional[TagAfterProcessingOptions], pydantic.Field(alias="tagAfterProcessing") ] = None @@ -371,6 +437,21 @@ class InputS3InventoryInput(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.""" + template_sqs_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAssumeRoleArn") + ] = None + r"""Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime.""" + + template_sqs_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAssumeRoleExternalId") + ] = None + r"""Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime.""" + + template_sqs_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAwsSecretKey") + ] = None + r"""Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime.""" + @field_serializer("aws_authentication_method") def serialize_aws_authentication_method(self, value): if isinstance(value, str): @@ -380,6 +461,15 @@ def serialize_aws_authentication_method(self, value): return value return value + @field_serializer("sqs_aws_authentication_method") + def serialize_sqs_aws_authentication_method(self, value): + if isinstance(value, str): + try: + return models.SqsAuthenticationMethodOptions(value) + except ValueError: + return value + return value + @field_serializer("tag_after_processing") def serialize_tag_after_processing(self, value): if isinstance(value, str): @@ -423,6 +513,8 @@ def serialize_model(self, handler): "assumeRoleExternalId", "durationSeconds", "enableSQSAssumeRole", + "sharedCredentials", + "sharedAssumeRoleArn", "preprocess", "metadata", "parquetChunkSizeMB", @@ -435,6 +527,12 @@ def serialize_model(self, handler): "description", "awsApiKey", "awsSecret", + "SQSAssumeRoleArn", + "SQSAssumeRoleExternalId", + "SQSDurationSeconds", + "SQSAwsAuthenticationMethod", + "SQSAwsSecret", + "SQSAwsSecretKey", "tagAfterProcessing", "processedTagKey", "processedTagValue", @@ -448,6 +546,9 @@ def serialize_model(self, handler): "__template_assumeRoleArn", "__template_assumeRoleExternalId", "__template_awsApiKey", + "__template_SQSAssumeRoleArn", + "__template_SQSAssumeRoleExternalId", + "__template_SQSAwsSecretKey", ] ) serialized = handler(self) diff --git a/src/cribl_control_plane/models/inputsecuritylake_input.py b/src/cribl_control_plane/models/inputsecuritylake_input.py index 7083ec398..5859965f9 100644 --- a/src/cribl_control_plane/models/inputsecuritylake_input.py +++ b/src/cribl_control_plane/models/inputsecuritylake_input.py @@ -15,6 +15,7 @@ ) from .pqtype import PqType, PqTypeTypedDict from .preprocesstype import PreprocessType, PreprocessTypeTypedDict +from .sqsauthenticationmethodoptions import SqsAuthenticationMethodOptions from .tagafterprocessingoptions import TagAfterProcessingOptions from cribl_control_plane import models from cribl_control_plane.types import BaseModel, UNSET_SENTINEL @@ -36,6 +37,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] @@ -45,7 +47,7 @@ class InputSecurityLakeInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -90,6 +92,10 @@ class InputSecurityLakeInputTypedDict(TypedDict): 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).""" enable_sqs_assume_role: NotRequired[bool] r"""Use Assume Role credentials when accessing Amazon SQS""" + shared_credentials: NotRequired[bool] + r"""Use the same credential settings for S3 and SQS""" + shared_assume_role_arn: NotRequired[bool] + r"""Use the same settings for S3 and SQS""" preprocess: NotRequired[PreprocessTypeTypedDict] metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" @@ -103,9 +109,21 @@ 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""" + sqs_assume_role_arn: NotRequired[str] + r"""Amazon Resource Name (ARN) of the role to assume""" + sqs_assume_role_external_id: NotRequired[str] + r"""External ID to use when assuming role""" + sqs_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).""" + sqs_aws_authentication_method: NotRequired[SqsAuthenticationMethodOptions] + r"""Choose Auto to use IAM roles""" + sqs_aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" + sqs_aws_secret_key: NotRequired[str] tag_after_processing: NotRequired[TagAfterProcessingOptions] processed_tag_key: NotRequired[str] r"""The key for the S3 object tag applied after processing. This field accepts an expression for dynamic generation.""" @@ -131,6 +149,12 @@ class InputSecurityLakeInputTypedDict(TypedDict): 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_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_sqs_assume_role_arn: NotRequired[str] + r"""Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime.""" + template_sqs_assume_role_external_id: NotRequired[str] + r"""Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime.""" + template_sqs_aws_secret_key: NotRequired[str] + r"""Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime.""" class InputSecurityLakeInput(BaseModel): @@ -143,6 +167,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""" @@ -159,7 +184,7 @@ class InputSecurityLakeInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -261,6 +286,16 @@ class InputSecurityLakeInput(BaseModel): ] = None r"""Use Assume Role credentials when accessing Amazon SQS""" + shared_credentials: Annotated[ + Optional[bool], pydantic.Field(alias="sharedCredentials") + ] = None + r"""Use the same credential settings for S3 and SQS""" + + shared_assume_role_arn: Annotated[ + Optional[bool], pydantic.Field(alias="sharedAssumeRoleArn") + ] = None + r"""Use the same settings for S3 and SQS""" + preprocess: Optional[PreprocessType] = None metadata: Optional[List[MetadataConfInputCollection]] = None @@ -285,12 +320,43 @@ 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 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""" + sqs_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="SQSAssumeRoleArn") + ] = None + r"""Amazon Resource Name (ARN) of the role to assume""" + + sqs_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="SQSAssumeRoleExternalId") + ] = None + r"""External ID to use when assuming role""" + + sqs_duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="SQSDurationSeconds") + ] = 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).""" + + sqs_aws_authentication_method: Annotated[ + Optional[SqsAuthenticationMethodOptions], + pydantic.Field(alias="SQSAwsAuthenticationMethod"), + ] = None + r"""Choose Auto to use IAM roles""" + + sqs_aws_secret: Annotated[Optional[str], pydantic.Field(alias="SQSAwsSecret")] = ( + None + ) + r"""Select or create a stored secret that references your access key and secret key""" + + sqs_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="SQSAwsSecretKey") + ] = None + tag_after_processing: Annotated[ Optional[TagAfterProcessingOptions], pydantic.Field(alias="tagAfterProcessing") ] = None @@ -355,6 +421,21 @@ class InputSecurityLakeInput(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.""" + template_sqs_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAssumeRoleArn") + ] = None + r"""Binds 'SQSAssumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleArn' at runtime.""" + + template_sqs_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAssumeRoleExternalId") + ] = None + r"""Binds 'SQSAssumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAssumeRoleExternalId' at runtime.""" + + template_sqs_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_SQSAwsSecretKey") + ] = None + r"""Binds 'SQSAwsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'SQSAwsSecretKey' at runtime.""" + @field_serializer("aws_authentication_method") def serialize_aws_authentication_method(self, value): if isinstance(value, str): @@ -364,6 +445,15 @@ def serialize_aws_authentication_method(self, value): return value return value + @field_serializer("sqs_aws_authentication_method") + def serialize_sqs_aws_authentication_method(self, value): + if isinstance(value, str): + try: + return models.SqsAuthenticationMethodOptions(value) + except ValueError: + return value + return value + @field_serializer("tag_after_processing") def serialize_tag_after_processing(self, value): if isinstance(value, str): @@ -407,6 +497,8 @@ def serialize_model(self, handler): "assumeRoleExternalId", "durationSeconds", "enableSQSAssumeRole", + "sharedCredentials", + "sharedAssumeRoleArn", "preprocess", "metadata", "parquetChunkSizeMB", @@ -417,6 +509,12 @@ def serialize_model(self, handler): "description", "awsApiKey", "awsSecret", + "SQSAssumeRoleArn", + "SQSAssumeRoleExternalId", + "SQSDurationSeconds", + "SQSAwsAuthenticationMethod", + "SQSAwsSecret", + "SQSAwsSecretKey", "tagAfterProcessing", "processedTagKey", "processedTagValue", @@ -430,6 +528,9 @@ def serialize_model(self, handler): "__template_assumeRoleArn", "__template_assumeRoleExternalId", "__template_awsApiKey", + "__template_SQSAssumeRoleArn", + "__template_SQSAssumeRoleExternalId", + "__template_SQSAwsSecretKey", ] ) serialized = handler(self) diff --git a/src/cribl_control_plane/models/inputservicenowtable_input.py b/src/cribl_control_plane/models/inputservicenowtable_input.py index e33ce680a..1683687ee 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] @@ -94,7 +95,7 @@ class InputServicenowTableInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -212,7 +215,7 @@ class InputServicenowTableInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..1b72c9b69 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] @@ -151,7 +152,7 @@ class InputSnmpInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -209,7 +212,7 @@ class InputSnmpInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..56410b5a4 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] @@ -94,7 +95,7 @@ class InputSplunkInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -173,7 +176,7 @@ class InputSplunkInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..24e308c80 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] @@ -131,7 +137,7 @@ class InputSplunkHecInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -225,7 +234,7 @@ class InputSplunkHecInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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] @@ -447,7 +459,7 @@ class InputSplunkHecTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: NotRequired[ InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraintTypedDict ] @@ -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""" @@ -545,7 +560,7 @@ class InputSplunkHec(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" cribl_source_provenance: Annotated[ Optional[InputCollectionOriginDataSourceDiscoveryWithDestinationArnConstraint], @@ -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..05e5d12e0 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] @@ -101,7 +102,7 @@ class InputSplunkSearchInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -212,7 +215,7 @@ class InputSplunkSearchInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..d4b71b9b5 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] @@ -53,7 +54,7 @@ class InputSqsInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -147,7 +150,7 @@ class InputSqsInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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 new file mode 100644 index 000000000..bf4146525 --- /dev/null +++ b/src/cribl_control_plane/models/inputsysdighec_input.py @@ -0,0 +1,337 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .authtokenconfinputcloudflarehec import ( + AuthTokenConfInputCloudflareHec, + AuthTokenConfInputCloudflareHecTypedDict, +) +from .connectionconfinputcollection import ( + ConnectionConfInputCollection, + ConnectionConfInputCollectionTypedDict, +) +from .metadataconfinputcollection import ( + MetadataConfInputCollection, + MetadataConfInputCollectionTypedDict, +) +from .pqtype import PqType, PqTypeTypedDict +from .tlssettingsserversidetype import ( + TLSSettingsServerSideType, + TLSSettingsServerSideTypeTypedDict, +) +from cribl_control_plane.types import BaseModel, UNSET_SENTINEL +from enum import Enum +import pydantic +from pydantic import model_serializer +from typing import List, Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +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 + r"""Port to listen on""" + 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.""" + 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] + r"""Select whether to send data to Routes, or directly to Destinations.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + pq_enabled: NotRequired[bool] + r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" + streamtags: NotRequired[List[str]] + r"""Metadata tags used for categorization and filtering.""" + connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] + r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" + pq: NotRequired[PqTypeTypedDict] + auth_tokens: NotRequired[List[AuthTokenConfInputCloudflareHecTypedDict]] + r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" + tls: NotRequired[TLSSettingsServerSideTypeTypedDict] + max_active_req: NotRequired[float] + r"""Maximum number of active requests allowed per Worker Process. Set to 0 for unlimited. Caution: Increasing the limit above the default value, or setting it to unlimited, may degrade performance and reduce throughput.""" + max_requests_per_socket: NotRequired[int] + r"""Maximum number of requests per socket before @{product} instructs the client to close the connection. Default is 0 (unlimited).""" + enable_proxy_header: NotRequired[bool] + r"""Extract the client IP and port from PROXY protocol v1/v2. When enabled, the X-Forwarded-For header is ignored. Disable to use the X-Forwarded-For header for client IP extraction.""" + capture_headers: NotRequired[bool] + r"""Add request headers to events, in the __headers field""" + activity_log_sample_rate: NotRequired[float] + r"""How often request activity is logged at the `info` level. A value of 1 would log every request, 10 every 10th request, etc.""" + request_timeout: NotRequired[float] + r"""How long to wait for an incoming request to complete before aborting it. Use 0 to disable.""" + socket_timeout: NotRequired[float] + r"""How long @{product} should wait before assuming that an inactive socket has timed out. To wait forever, set to 0.""" + keep_alive_timeout: NotRequired[float] + r"""After the last response is sent, @{product} will wait this long for additional data before closing the socket connection. Minimum 1 second, maximum 600 seconds (10 minutes).""" + ip_allowlist_regex: NotRequired[str] + r"""Messages from matched IP addresses will be processed, unless also matched by the denylist""" + ip_denylist_regex: NotRequired[str] + r"""Messages from matched IP addresses will be ignored. This takes precedence over the allowlist.""" + metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] + r"""Fields to add to every event. May be overridden by fields added at the token or request level.""" + allowed_indexes: NotRequired[List[str]] + r"""List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level.""" + access_control_allow_origin: NotRequired[List[str]] + r"""HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards.""" + access_control_allow_headers: NotRequired[List[str]] + r"""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: 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] + r"""Binds 'streamtags' to a variable 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_hec_api: NotRequired[str] + r"""Binds 'hecAPI' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'hecAPI' at runtime.""" + template_allowed_indexes: NotRequired[str] + r"""Binds 'allowedIndexes' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'allowedIndexes' at runtime.""" + template_access_control_allow_origin: NotRequired[str] + r"""Binds 'accessControlAllowOrigin' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowOrigin' at runtime.""" + template_access_control_allow_headers: NotRequired[str] + r"""Binds 'accessControlAllowHeaders' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowHeaders' at runtime.""" + + +class InputSysdigHecInput(BaseModel): + type: InputSysdigHecType + 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""" + + hec_api: Annotated[str, pydantic.Field(alias="hecAPI")] + r"""Absolute path on which to listen for the Sysdig HTTP Event Collector API requests. This input supports the /event and /raw endpoints.""" + + id: Optional[str] = None + 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""" + + send_to_routes: Annotated[Optional[bool], pydantic.Field(alias="sendToRoutes")] = ( + None + ) + r"""Select whether to send data to Routes, or directly to Destinations.""" + + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + + pq_enabled: Annotated[Optional[bool], pydantic.Field(alias="pqEnabled")] = None + r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" + + streamtags: Optional[List[str]] = None + r"""Metadata tags used for categorization and filtering.""" + + connections: Optional[List[ConnectionConfInputCollection]] = None + r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" + + pq: Optional[PqType] = None + + auth_tokens: Annotated[ + Optional[List[AuthTokenConfInputCloudflareHec]], + pydantic.Field(alias="authTokens"), + ] = None + r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" + + tls: Optional[TLSSettingsServerSideType] = None + + max_active_req: Annotated[Optional[float], pydantic.Field(alias="maxActiveReq")] = ( + None + ) + r"""Maximum number of active requests allowed per Worker Process. Set to 0 for unlimited. Caution: Increasing the limit above the default value, or setting it to unlimited, may degrade performance and reduce throughput.""" + + max_requests_per_socket: Annotated[ + Optional[int], pydantic.Field(alias="maxRequestsPerSocket") + ] = None + r"""Maximum number of requests per socket before @{product} instructs the client to close the connection. Default is 0 (unlimited).""" + + enable_proxy_header: Annotated[ + Optional[bool], pydantic.Field(alias="enableProxyHeader") + ] = None + r"""Extract the client IP and port from PROXY protocol v1/v2. When enabled, the X-Forwarded-For header is ignored. Disable to use the X-Forwarded-For header for client IP extraction.""" + + capture_headers: Annotated[ + Optional[bool], pydantic.Field(alias="captureHeaders") + ] = None + r"""Add request headers to events, in the __headers field""" + + activity_log_sample_rate: Annotated[ + Optional[float], pydantic.Field(alias="activityLogSampleRate") + ] = None + r"""How often request activity is logged at the `info` level. A value of 1 would log every request, 10 every 10th request, etc.""" + + request_timeout: Annotated[ + Optional[float], pydantic.Field(alias="requestTimeout") + ] = None + r"""How long to wait for an incoming request to complete before aborting it. Use 0 to disable.""" + + socket_timeout: Annotated[ + Optional[float], pydantic.Field(alias="socketTimeout") + ] = None + r"""How long @{product} should wait before assuming that an inactive socket has timed out. To wait forever, set to 0.""" + + keep_alive_timeout: Annotated[ + Optional[float], pydantic.Field(alias="keepAliveTimeout") + ] = None + r"""After the last response is sent, @{product} will wait this long for additional data before closing the socket connection. Minimum 1 second, maximum 600 seconds (10 minutes).""" + + ip_allowlist_regex: Annotated[ + Optional[str], pydantic.Field(alias="ipAllowlistRegex") + ] = None + r"""Messages from matched IP addresses will be processed, unless also matched by the denylist""" + + ip_denylist_regex: Annotated[ + Optional[str], pydantic.Field(alias="ipDenylistRegex") + ] = None + r"""Messages from matched IP addresses will be ignored. This takes precedence over the allowlist.""" + + metadata: Optional[List[MetadataConfInputCollection]] = None + r"""Fields to add to every event. May be overridden by fields added at the token or request level.""" + + allowed_indexes: Annotated[ + Optional[List[str]], pydantic.Field(alias="allowedIndexes") + ] = None + r"""List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level.""" + + access_control_allow_origin: Annotated[ + Optional[List[str]], pydantic.Field(alias="accessControlAllowOrigin") + ] = None + r"""HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards.""" + + access_control_allow_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="accessControlAllowHeaders") + ] = None + r"""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: Annotated[ + Optional[bool], pydantic.Field(alias="emitTokenMetrics") + ] = None + 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") + ] = None + 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: 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_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_hec_api: Annotated[ + Optional[str], pydantic.Field(alias="__template_hecAPI") + ] = None + r"""Binds 'hecAPI' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'hecAPI' at runtime.""" + + template_allowed_indexes: Annotated[ + Optional[str], pydantic.Field(alias="__template_allowedIndexes") + ] = None + r"""Binds 'allowedIndexes' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'allowedIndexes' at runtime.""" + + template_access_control_allow_origin: Annotated[ + Optional[str], pydantic.Field(alias="__template_accessControlAllowOrigin") + ] = None + r"""Binds 'accessControlAllowOrigin' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowOrigin' at runtime.""" + + template_access_control_allow_headers: Annotated[ + Optional[str], pydantic.Field(alias="__template_accessControlAllowHeaders") + ] = None + r"""Binds 'accessControlAllowHeaders' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowHeaders' at runtime.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "id", + "disabled", + "pipeline", + "sendToRoutes", + "environment", + "pqEnabled", + "streamtags", + "connections", + "pq", + "authTokens", + "tls", + "maxActiveReq", + "maxRequestsPerSocket", + "enableProxyHeader", + "captureHeaders", + "activityLogSampleRate", + "requestTimeout", + "socketTimeout", + "keepAliveTimeout", + "ipAllowlistRegex", + "ipDenylistRegex", + "metadata", + "allowedIndexes", + "accessControlAllowOrigin", + "accessControlAllowHeaders", + "emitTokenMetrics", + "description", + "__template_environment", + "__template_streamtags", + "__template_host", + "__template_port", + "__template_hecAPI", + "__template_allowedIndexes", + "__template_accessControlAllowOrigin", + "__template_accessControlAllowHeaders", + ] + ) + 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: + InputSysdigHecInput.model_rebuild() +except NameError: + pass diff --git a/src/cribl_control_plane/models/inputsyslog_input_union.py b/src/cribl_control_plane/models/inputsyslog_input_union.py index 7b29b2ec7..7ab7c5785 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] @@ -44,7 +45,7 @@ class InputSyslogSyslogInput2TypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -131,7 +134,7 @@ class InputSyslogSyslogInput2(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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] @@ -341,7 +346,7 @@ class InputSyslogSyslogInput1TypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -428,7 +435,7 @@ class InputSyslogSyslogInput1(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..82ff29ba5 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] @@ -615,7 +616,7 @@ class InputSystemMetricsInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -658,7 +661,7 @@ class InputSystemMetricsInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..1bdaa3487 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] @@ -507,7 +508,7 @@ class InputSystemStateInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -551,7 +554,7 @@ class InputSystemStateInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..1f4fadc78 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] @@ -49,7 +50,7 @@ class InputTCPInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -121,7 +124,7 @@ class InputTCPInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..ca343fc60 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] @@ -48,7 +49,7 @@ class InputTcpjsonInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -115,7 +118,7 @@ class InputTcpjsonInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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/inputupwindhec_input.py b/src/cribl_control_plane/models/inputupwindhec_input.py new file mode 100644 index 000000000..1b9686ea4 --- /dev/null +++ b/src/cribl_control_plane/models/inputupwindhec_input.py @@ -0,0 +1,337 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .authtokenconfinputcloudflarehec import ( + AuthTokenConfInputCloudflareHec, + AuthTokenConfInputCloudflareHecTypedDict, +) +from .connectionconfinputcollection import ( + ConnectionConfInputCollection, + ConnectionConfInputCollectionTypedDict, +) +from .metadataconfinputcollection import ( + MetadataConfInputCollection, + MetadataConfInputCollectionTypedDict, +) +from .pqtype import PqType, PqTypeTypedDict +from .tlssettingsserversidetype import ( + TLSSettingsServerSideType, + TLSSettingsServerSideTypeTypedDict, +) +from cribl_control_plane.types import BaseModel, UNSET_SENTINEL +from enum import Enum +import pydantic +from pydantic import model_serializer +from typing import List, Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class InputUpwindHecType(str, Enum): + r"""Source type identifier.""" + + UPWIND_HEC = "upwind_hec" + + +class InputUpwindHecInputTypedDict(TypedDict): + type: InputUpwindHecType + 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""" + hec_api: str + r"""Absolute path on which to listen for the Upwind HTTP Event Collector API requests. This input supports the /event endpoint.""" + 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] + r"""Select whether to send data to Routes, or directly to Destinations.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + pq_enabled: NotRequired[bool] + r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" + streamtags: NotRequired[List[str]] + r"""Metadata tags used for categorization and filtering.""" + connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] + r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" + pq: NotRequired[PqTypeTypedDict] + auth_tokens: NotRequired[List[AuthTokenConfInputCloudflareHecTypedDict]] + r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" + tls: NotRequired[TLSSettingsServerSideTypeTypedDict] + max_active_req: NotRequired[float] + r"""Maximum number of active requests allowed per Worker Process. Set to 0 for unlimited. Caution: Increasing the limit above the default value, or setting it to unlimited, may degrade performance and reduce throughput.""" + max_requests_per_socket: NotRequired[int] + r"""Maximum number of requests per socket before @{product} instructs the client to close the connection. Default is 0 (unlimited).""" + enable_proxy_header: NotRequired[bool] + r"""Extract the client IP and port from PROXY protocol v1/v2. When enabled, the X-Forwarded-For header is ignored. Disable to use the X-Forwarded-For header for client IP extraction.""" + capture_headers: NotRequired[bool] + r"""Add request headers to events, in the __headers field""" + activity_log_sample_rate: NotRequired[float] + r"""How often request activity is logged at the `info` level. A value of 1 would log every request, 10 every 10th request, etc.""" + request_timeout: NotRequired[float] + r"""How long to wait for an incoming request to complete before aborting it. Use 0 to disable.""" + socket_timeout: NotRequired[float] + r"""How long @{product} should wait before assuming that an inactive socket has timed out. To wait forever, set to 0.""" + keep_alive_timeout: NotRequired[float] + r"""After the last response is sent, @{product} will wait this long for additional data before closing the socket connection. Minimum 1 second, maximum 600 seconds (10 minutes).""" + ip_allowlist_regex: NotRequired[str] + r"""Messages from matched IP addresses will be processed, unless also matched by the denylist""" + ip_denylist_regex: NotRequired[str] + r"""Messages from matched IP addresses will be ignored. This takes precedence over the allowlist.""" + metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] + r"""Fields to add to every event. May be overridden by fields added at the token or request level.""" + allowed_indexes: NotRequired[List[str]] + r"""List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level.""" + access_control_allow_origin: NotRequired[List[str]] + r"""HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards.""" + access_control_allow_headers: NotRequired[List[str]] + r"""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: 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] + r"""Binds 'streamtags' to a variable 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_hec_api: NotRequired[str] + r"""Binds 'hecAPI' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'hecAPI' at runtime.""" + template_allowed_indexes: NotRequired[str] + r"""Binds 'allowedIndexes' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'allowedIndexes' at runtime.""" + template_access_control_allow_origin: NotRequired[str] + r"""Binds 'accessControlAllowOrigin' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowOrigin' at runtime.""" + template_access_control_allow_headers: NotRequired[str] + r"""Binds 'accessControlAllowHeaders' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowHeaders' at runtime.""" + + +class InputUpwindHecInput(BaseModel): + type: InputUpwindHecType + 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""" + + hec_api: Annotated[str, pydantic.Field(alias="hecAPI")] + r"""Absolute path on which to listen for the Upwind HTTP Event Collector API requests. This input supports the /event endpoint.""" + + id: Optional[str] = None + 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""" + + send_to_routes: Annotated[Optional[bool], pydantic.Field(alias="sendToRoutes")] = ( + None + ) + r"""Select whether to send data to Routes, or directly to Destinations.""" + + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + + pq_enabled: Annotated[Optional[bool], pydantic.Field(alias="pqEnabled")] = None + r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" + + streamtags: Optional[List[str]] = None + r"""Metadata tags used for categorization and filtering.""" + + connections: Optional[List[ConnectionConfInputCollection]] = None + r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" + + pq: Optional[PqType] = None + + auth_tokens: Annotated[ + Optional[List[AuthTokenConfInputCloudflareHec]], + pydantic.Field(alias="authTokens"), + ] = None + r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" + + tls: Optional[TLSSettingsServerSideType] = None + + max_active_req: Annotated[Optional[float], pydantic.Field(alias="maxActiveReq")] = ( + None + ) + r"""Maximum number of active requests allowed per Worker Process. Set to 0 for unlimited. Caution: Increasing the limit above the default value, or setting it to unlimited, may degrade performance and reduce throughput.""" + + max_requests_per_socket: Annotated[ + Optional[int], pydantic.Field(alias="maxRequestsPerSocket") + ] = None + r"""Maximum number of requests per socket before @{product} instructs the client to close the connection. Default is 0 (unlimited).""" + + enable_proxy_header: Annotated[ + Optional[bool], pydantic.Field(alias="enableProxyHeader") + ] = None + r"""Extract the client IP and port from PROXY protocol v1/v2. When enabled, the X-Forwarded-For header is ignored. Disable to use the X-Forwarded-For header for client IP extraction.""" + + capture_headers: Annotated[ + Optional[bool], pydantic.Field(alias="captureHeaders") + ] = None + r"""Add request headers to events, in the __headers field""" + + activity_log_sample_rate: Annotated[ + Optional[float], pydantic.Field(alias="activityLogSampleRate") + ] = None + r"""How often request activity is logged at the `info` level. A value of 1 would log every request, 10 every 10th request, etc.""" + + request_timeout: Annotated[ + Optional[float], pydantic.Field(alias="requestTimeout") + ] = None + r"""How long to wait for an incoming request to complete before aborting it. Use 0 to disable.""" + + socket_timeout: Annotated[ + Optional[float], pydantic.Field(alias="socketTimeout") + ] = None + r"""How long @{product} should wait before assuming that an inactive socket has timed out. To wait forever, set to 0.""" + + keep_alive_timeout: Annotated[ + Optional[float], pydantic.Field(alias="keepAliveTimeout") + ] = None + r"""After the last response is sent, @{product} will wait this long for additional data before closing the socket connection. Minimum 1 second, maximum 600 seconds (10 minutes).""" + + ip_allowlist_regex: Annotated[ + Optional[str], pydantic.Field(alias="ipAllowlistRegex") + ] = None + r"""Messages from matched IP addresses will be processed, unless also matched by the denylist""" + + ip_denylist_regex: Annotated[ + Optional[str], pydantic.Field(alias="ipDenylistRegex") + ] = None + r"""Messages from matched IP addresses will be ignored. This takes precedence over the allowlist.""" + + metadata: Optional[List[MetadataConfInputCollection]] = None + r"""Fields to add to every event. May be overridden by fields added at the token or request level.""" + + allowed_indexes: Annotated[ + Optional[List[str]], pydantic.Field(alias="allowedIndexes") + ] = None + r"""List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level.""" + + access_control_allow_origin: Annotated[ + Optional[List[str]], pydantic.Field(alias="accessControlAllowOrigin") + ] = None + r"""HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards.""" + + access_control_allow_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="accessControlAllowHeaders") + ] = None + r"""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: Annotated[ + Optional[bool], pydantic.Field(alias="emitTokenMetrics") + ] = None + 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") + ] = None + 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: 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_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_hec_api: Annotated[ + Optional[str], pydantic.Field(alias="__template_hecAPI") + ] = None + r"""Binds 'hecAPI' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'hecAPI' at runtime.""" + + template_allowed_indexes: Annotated[ + Optional[str], pydantic.Field(alias="__template_allowedIndexes") + ] = None + r"""Binds 'allowedIndexes' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'allowedIndexes' at runtime.""" + + template_access_control_allow_origin: Annotated[ + Optional[str], pydantic.Field(alias="__template_accessControlAllowOrigin") + ] = None + r"""Binds 'accessControlAllowOrigin' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowOrigin' at runtime.""" + + template_access_control_allow_headers: Annotated[ + Optional[str], pydantic.Field(alias="__template_accessControlAllowHeaders") + ] = None + r"""Binds 'accessControlAllowHeaders' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowHeaders' at runtime.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "id", + "disabled", + "pipeline", + "sendToRoutes", + "environment", + "pqEnabled", + "streamtags", + "connections", + "pq", + "authTokens", + "tls", + "maxActiveReq", + "maxRequestsPerSocket", + "enableProxyHeader", + "captureHeaders", + "activityLogSampleRate", + "requestTimeout", + "socketTimeout", + "keepAliveTimeout", + "ipAllowlistRegex", + "ipDenylistRegex", + "metadata", + "allowedIndexes", + "accessControlAllowOrigin", + "accessControlAllowHeaders", + "emitTokenMetrics", + "description", + "__template_environment", + "__template_streamtags", + "__template_host", + "__template_port", + "__template_hecAPI", + "__template_allowedIndexes", + "__template_accessControlAllowOrigin", + "__template_accessControlAllowHeaders", + ] + ) + 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: + InputUpwindHecInput.model_rebuild() +except NameError: + pass diff --git a/src/cribl_control_plane/models/inputwef_input.py b/src/cribl_control_plane/models/inputwef_input.py index 28db70acf..ce15bd717 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] @@ -327,7 +328,7 @@ class InputWefInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -411,7 +414,7 @@ class InputWefInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..6bb92c361 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] @@ -488,7 +489,7 @@ class InputWindowsMetricsInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -532,7 +535,7 @@ class InputWindowsMetricsInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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 00a571332..5bb2e5f54 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] @@ -57,7 +58,7 @@ class InputWinEventLogsInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -73,9 +74,10 @@ class InputWinEventLogsInputTypedDict(TypedDict): r"""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: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" - max_event_bytes: NotRequired[float] + 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""" @@ -112,7 +115,7 @@ class InputWinEventLogsInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -143,12 +146,13 @@ class InputWinEventLogsInput(BaseModel): metadata: Optional[List[MetadataConfInputCollection]] = None r"""Fields to add to events from this input""" - max_event_bytes: Annotated[ - Optional[float], pydantic.Field(alias="maxEventBytes") - ] = None + max_event_bytes: Annotated[Optional[int], pydantic.Field(alias="maxEventBytes")] = ( + None + ) 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..7875234bb 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] @@ -178,7 +179,7 @@ class InputWizInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -256,7 +259,7 @@ class InputWizInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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..21c973550 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] @@ -48,7 +52,7 @@ class InputWizWebhookInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -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""" @@ -133,7 +140,7 @@ class InputWizWebhookInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -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 9c1d20672..4e5e1b518 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] @@ -125,7 +129,7 @@ class InputZscalerHecInputTypedDict(TypedDict): pq_enabled: NotRequired[bool] r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: NotRequired[List[ConnectionConfInputCollectionTypedDict]] r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" pq: NotRequired[PqTypeTypedDict] @@ -156,15 +160,16 @@ class InputZscalerHecInputTypedDict(TypedDict): r"""Fields to add to every event. May be overridden by fields added at the token or request level.""" allowed_indexes: NotRequired[List[str]] r"""List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level.""" - hec_acks: NotRequired[bool] - r"""Whether to enable Zscaler HEC acknowledgements""" access_control_allow_origin: NotRequired[List[str]] - r"""Optionally, list HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards.""" + r"""HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards.""" access_control_allow_headers: NotRequired[List[str]] - r"""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.""" + r"""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: NotRequired[bool] - r"""Enable to emit per-token (.http.perToken) and summary (.http.summary) request metrics""" + r"""Emit per-token (.http.perToken) and summary (.http.summary) request metrics""" + 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] @@ -175,10 +180,17 @@ class InputZscalerHecInputTypedDict(TypedDict): 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_hec_api: NotRequired[str] r"""Binds 'hecAPI' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'hecAPI' at runtime.""" + template_allowed_indexes: NotRequired[str] + r"""Binds 'allowedIndexes' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'allowedIndexes' at runtime.""" + template_access_control_allow_origin: NotRequired[str] + r"""Binds 'accessControlAllowOrigin' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowOrigin' at runtime.""" + template_access_control_allow_headers: NotRequired[str] + r"""Binds 'accessControlAllowHeaders' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowHeaders' at runtime.""" class InputZscalerHecInput(BaseModel): type: InputZscalerHecType + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -193,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""" @@ -209,7 +222,7 @@ class InputZscalerHecInput(BaseModel): r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers).""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" connections: Optional[List[ConnectionConfInputCollection]] = None r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack""" @@ -281,25 +294,26 @@ class InputZscalerHecInput(BaseModel): ] = None r"""List values allowed in HEC event index field. Leave blank to skip validation. Supports wildcards. The values here can expand index validation at the token level.""" - hec_acks: Annotated[Optional[bool], pydantic.Field(alias="hecAcks")] = None - r"""Whether to enable Zscaler HEC acknowledgements""" - access_control_allow_origin: Annotated[ Optional[List[str]], pydantic.Field(alias="accessControlAllowOrigin") ] = None - r"""Optionally, list HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards.""" + r"""HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards.""" access_control_allow_headers: Annotated[ Optional[List[str]], pydantic.Field(alias="accessControlAllowHeaders") ] = None - r"""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.""" + r"""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: Annotated[ Optional[bool], pydantic.Field(alias="emitTokenMetrics") ] = None - r"""Enable to emit per-token (.http.perToken) and summary (.http.summary) request metrics""" + r"""Emit per-token (.http.perToken) and summary (.http.summary) request metrics""" + + hec_acks: Annotated[Optional[bool], pydantic.Field(alias="hecAcks")] = None + 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") @@ -326,6 +340,21 @@ class InputZscalerHecInput(BaseModel): ] = None r"""Binds 'hecAPI' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'hecAPI' at runtime.""" + template_allowed_indexes: Annotated[ + Optional[str], pydantic.Field(alias="__template_allowedIndexes") + ] = None + r"""Binds 'allowedIndexes' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'allowedIndexes' at runtime.""" + + template_access_control_allow_origin: Annotated[ + Optional[str], pydantic.Field(alias="__template_accessControlAllowOrigin") + ] = None + r"""Binds 'accessControlAllowOrigin' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowOrigin' at runtime.""" + + template_access_control_allow_headers: Annotated[ + Optional[str], pydantic.Field(alias="__template_accessControlAllowHeaders") + ] = None + r"""Binds 'accessControlAllowHeaders' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accessControlAllowHeaders' at runtime.""" + @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( @@ -353,16 +382,19 @@ def serialize_model(self, handler): "ipDenylistRegex", "metadata", "allowedIndexes", - "hecAcks", "accessControlAllowOrigin", "accessControlAllowHeaders", "emitTokenMetrics", + "hecAcks", "description", "__template_environment", "__template_streamtags", "__template_host", "__template_port", "__template_hecAPI", + "__template_allowedIndexes", + "__template_accessControlAllowOrigin", + "__template_accessControlAllowHeaders", ] ) serialized = handler(self) diff --git a/src/cribl_control_plane/models/jobinfo.py b/src/cribl_control_plane/models/jobinfo.py index a7d737e50..00a88ed63 100644 --- a/src/cribl_control_plane/models/jobinfo.py +++ b/src/cribl_control_plane/models/jobinfo.py @@ -8,9 +8,10 @@ from .jobstatus import JobStatus, JobStatusTypedDict from .runnablejob import RunnableJob, RunnableJobTypedDict from cribl_control_plane.types import BaseModel, UNSET_SENTINEL +import pydantic from pydantic import model_serializer from typing import Dict, Optional -from typing_extensions import NotRequired, TypedDict +from typing_extensions import Annotated, NotRequired, TypedDict class JobInfoTypedDict(TypedDict): @@ -25,6 +26,8 @@ class JobInfoTypedDict(TypedDict): r"""Status of a job, including its current state and failure reason.""" keep: NotRequired[bool] r"""If true, retain the job and its artifacts instead of deleting according to the time-to-live or retention policy. The job persists until it is manually deleted.""" + worker_owner: NotRequired[str] + r"""The GUID of the worker node that owns this artifact, set when the job ran on a Captain while the leader was offline. When present, the leader proxies read access to the artifact; mutating actions (replay, delete, stop) are not supported.""" class JobInfo(BaseModel): @@ -44,9 +47,12 @@ class JobInfo(BaseModel): keep: Optional[bool] = None r"""If true, retain the job and its artifacts instead of deleting according to the time-to-live or retention policy. The job persists until it is manually deleted.""" + worker_owner: Annotated[Optional[str], pydantic.Field(alias="workerOwner")] = None + r"""The GUID of the worker node that owns this artifact, set when the job ran on a Captain while the leader was offline. When present, the leader proxies read access to the artifact; mutating actions (replay, delete, stop) are not supported.""" + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["keep"]) + optional_fields = set(["keep", "workerOwner"]) serialized = handler(self) m = {} @@ -59,3 +65,9 @@ def serialize_model(self, handler): m[k] = val return m + + +try: + JobInfo.model_rebuild() +except NameError: + pass diff --git a/src/cribl_control_plane/models/kubetypeheartbeatmetadata.py b/src/cribl_control_plane/models/kubetypeheartbeatmetadata.py index 935b989c6..275fde578 100644 --- a/src/cribl_control_plane/models/kubetypeheartbeatmetadata.py +++ b/src/cribl_control_plane/models/kubetypeheartbeatmetadata.py @@ -13,23 +13,33 @@ class KubeTypeHeartbeatMetadataTypedDict(TypedDict): enabled: bool + r"""If true, the Kubernetes metadata collector is enabled on the node. Otherwise, false.""" namespace: str + r"""Kubernetes Namespace name.""" node: str + r"""Kubernetes Node name.""" pod: str + r"""Kubernetes Pod name.""" source: str + r"""Kubernetes config source.""" owner: NotRequired[OwnerTypeHeartbeatMetadataKubeTypedDict] class KubeTypeHeartbeatMetadata(BaseModel): enabled: bool + r"""If true, the Kubernetes metadata collector is enabled on the node. Otherwise, false.""" namespace: str + r"""Kubernetes Namespace name.""" node: str + r"""Kubernetes Node name.""" pod: str + r"""Kubernetes Pod name.""" source: str + r"""Kubernetes config source.""" owner: Optional[OwnerTypeHeartbeatMetadataKube] = None diff --git a/src/cribl_control_plane/models/lakedatasetmetrics.py b/src/cribl_control_plane/models/lakedatasetmetrics.py index 51cbd713a..f1a85ae1a 100644 --- a/src/cribl_control_plane/models/lakedatasetmetrics.py +++ b/src/cribl_control_plane/models/lakedatasetmetrics.py @@ -10,7 +10,7 @@ class LakeDatasetMetricsTypedDict(TypedDict): current_size_bytes: float r"""Total current logical size of the Dataset, in bytes.""" metrics_date: str - r"""Timestamp (ISO 8601) when the metrics snapshot was generated.""" + r"""Timestamp (in Unix time) when the metrics snapshot was generated, as a YYYY-MM-DD calendar date.""" class LakeDatasetMetrics(BaseModel): @@ -18,7 +18,7 @@ class LakeDatasetMetrics(BaseModel): r"""Total current logical size of the Dataset, in bytes.""" metrics_date: Annotated[str, pydantic.Field(alias="metricsDate")] - r"""Timestamp (ISO 8601) when the metrics snapshot was generated.""" + r"""Timestamp (in Unix time) when the metrics snapshot was generated, as a YYYY-MM-DD calendar date.""" try: diff --git a/src/cribl_control_plane/models/lakedatasetsearchconfig.py b/src/cribl_control_plane/models/lakedatasetsearchconfig.py index ea17481ad..bb3816b66 100644 --- a/src/cribl_control_plane/models/lakedatasetsearchconfig.py +++ b/src/cribl_control_plane/models/lakedatasetsearchconfig.py @@ -16,7 +16,7 @@ class LakeDatasetSearchConfigTypedDict(TypedDict): datatypes: NotRequired[List[str]] r"""Datatype identifiers assigned to the Dataset for search-time event classification.""" description: NotRequired[str] - r"""Brief description of Dataset search configuration.""" + r"""Brief description of the Dataset search configuration.""" metadata: NotRequired[DatasetMetadataTypedDict] path_filters: NotRequired[List[ObjectStorageFilterTypedDict]] r"""Glob-to-Datatype mappings for the Lake bucket path. Used only for search execution v2.""" @@ -30,7 +30,7 @@ class LakeDatasetSearchConfig(BaseModel): r"""Datatype identifiers assigned to the Dataset for search-time event classification.""" description: Optional[str] = None - r"""Brief description of Dataset search configuration.""" + r"""Brief description of the Dataset search configuration.""" metadata: Optional[DatasetMetadata] = None diff --git a/src/cribl_control_plane/models/listinputop.py b/src/cribl_control_plane/models/listinputop.py index 33b07e5e3..20238b7d3 100644 --- a/src/cribl_control_plane/models/listinputop.py +++ b/src/cribl_control_plane/models/listinputop.py @@ -1,16 +1,25 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations +from .countedinputresponse import CountedInputResponse, CountedInputResponseTypedDict +from .paginatedinputresponse import ( + PaginatedInputResponse, + PaginatedInputResponseTypedDict, +) from cribl_control_plane.types import BaseModel, UNSET_SENTINEL from cribl_control_plane.utils import FieldMetadata, QueryParamMetadata from pydantic import model_serializer -from typing import List, Optional -from typing_extensions import Annotated, NotRequired, TypedDict +from typing import Awaitable, Callable, List, Optional, Union +from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict class ListInputRequestTypedDict(TypedDict): type: NotRequired[List[str]] r"""Type of Source to include in the results. Each request can include only one type parameter; multiple parameters per request are not supported.""" + offset: NotRequired[int] + r"""Pagination offset""" + limit: NotRequired[int] + r"""Maximum number of items to return""" class ListInputRequest(BaseModel): @@ -20,9 +29,21 @@ class ListInputRequest(BaseModel): ] = None r"""Type of Source to include in the results. Each request can include only one type parameter; multiple parameters per request are not supported.""" + offset: Annotated[ + Optional[int], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Pagination offset""" + + limit: Annotated[ + Optional[int], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Maximum number of items to return""" + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["type"]) + optional_fields = set(["type", "offset", "limit"]) serialized = handler(self) m = {} @@ -35,3 +56,29 @@ def serialize_model(self, handler): m[k] = val return m + + +ListInputResponseBodyTypedDict = TypeAliasType( + "ListInputResponseBodyTypedDict", + Union[CountedInputResponseTypedDict, PaginatedInputResponseTypedDict], +) +r"""List of Source objects.""" + + +ListInputResponseBody = TypeAliasType( + "ListInputResponseBody", Union[CountedInputResponse, PaginatedInputResponse] +) +r"""List of Source objects.""" + + +class ListInputResponseTypedDict(TypedDict): + result: ListInputResponseBodyTypedDict + + +class ListInputResponse(BaseModel): + next: Union[ + Callable[[], Optional[ListInputResponse]], + Callable[[], Awaitable[Optional[ListInputResponse]]], + ] + + result: ListInputResponseBody diff --git a/src/cribl_control_plane/models/listoutputop.py b/src/cribl_control_plane/models/listoutputop.py index b47129900..98d440174 100644 --- a/src/cribl_control_plane/models/listoutputop.py +++ b/src/cribl_control_plane/models/listoutputop.py @@ -1,18 +1,27 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations +from .countedoutputresponse import CountedOutputResponse, CountedOutputResponseTypedDict from .destinationtype import DestinationType +from .paginatedoutputresponse import ( + PaginatedOutputResponse, + PaginatedOutputResponseTypedDict, +) from cribl_control_plane import models from cribl_control_plane.types import BaseModel, UNSET_SENTINEL from cribl_control_plane.utils import FieldMetadata, QueryParamMetadata from pydantic import field_serializer, model_serializer -from typing import Optional -from typing_extensions import Annotated, NotRequired, TypedDict +from typing import Awaitable, Callable, Optional, Union +from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict class ListOutputRequestTypedDict(TypedDict): type: NotRequired[DestinationType] r"""Type of Destination to include in the results. Each request can include only one type parameter; multiple parameters per request are not supported.""" + offset: NotRequired[int] + r"""Pagination offset""" + limit: NotRequired[int] + r"""Maximum number of items to return""" class ListOutputRequest(BaseModel): @@ -22,6 +31,18 @@ class ListOutputRequest(BaseModel): ] = None r"""Type of Destination to include in the results. Each request can include only one type parameter; multiple parameters per request are not supported.""" + offset: Annotated[ + Optional[int], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Pagination offset""" + + limit: Annotated[ + Optional[int], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Maximum number of items to return""" + @field_serializer("type") def serialize_type(self, value): if isinstance(value, str): @@ -33,7 +54,7 @@ def serialize_type(self, value): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["type"]) + optional_fields = set(["type", "offset", "limit"]) serialized = handler(self) m = {} @@ -46,3 +67,29 @@ def serialize_model(self, handler): m[k] = val return m + + +ListOutputResponseBodyTypedDict = TypeAliasType( + "ListOutputResponseBodyTypedDict", + Union[CountedOutputResponseTypedDict, PaginatedOutputResponseTypedDict], +) +r"""List of Destination objects.""" + + +ListOutputResponseBody = TypeAliasType( + "ListOutputResponseBody", Union[CountedOutputResponse, PaginatedOutputResponse] +) +r"""List of Destination objects.""" + + +class ListOutputResponseTypedDict(TypedDict): + result: ListOutputResponseBodyTypedDict + + +class ListOutputResponse(BaseModel): + next: Union[ + Callable[[], Optional[ListOutputResponse]], + Callable[[], Awaitable[Optional[ListOutputResponse]]], + ] + + result: ListOutputResponseBody diff --git a/src/cribl_control_plane/models/mappingtypeoptions.py b/src/cribl_control_plane/models/mappingtypeoptions.py new file mode 100644 index 000000000..16ff69a66 --- /dev/null +++ b/src/cribl_control_plane/models/mappingtypeoptions.py @@ -0,0 +1,14 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from cribl_control_plane import utils +from enum import Enum + + +class MappingTypeOptions(str, Enum, metaclass=utils.OpenEnumMeta): + r"""How event fields are mapped to ClickHouse columns""" + + # Automatic + AUTOMATIC = "automatic" + # Custom + CUSTOM = "custom" diff --git a/src/cribl_control_plane/models/masterworkerentry.py b/src/cribl_control_plane/models/masterworkerentry.py index a489a062d..527a31a9c 100644 --- a/src/cribl_control_plane/models/masterworkerentry.py +++ b/src/cribl_control_plane/models/masterworkerentry.py @@ -3,6 +3,7 @@ from __future__ import annotations from .connectionprotocol import ConnectionProtocol from .heartbeatmetadata import HeartbeatMetadata, HeartbeatMetadataTypedDict +from .masterworkerprocesses import MasterWorkerProcesses, MasterWorkerProcessesTypedDict from .nodeprovidedinfo import NodeProvidedInfo, NodeProvidedInfoTypedDict from .nodeupgradestatus import NodeUpgradeStatus, NodeUpgradeStatusTypedDict from cribl_control_plane import models, utils @@ -15,62 +16,77 @@ class MasterWorkerEntryType(str, Enum, metaclass=utils.OpenEnumMeta): + r"""RPC message type reported by the node.""" + INFO = "info" REQ = "req" RESP = "resp" -class MasterWorkerEntryWorkersTypedDict(TypedDict): - count: float - - -class MasterWorkerEntryWorkers(BaseModel): - count: float - - class MasterWorkerEntryTypedDict(TypedDict): - first_msg_time: float + first_msg_time: int + r"""Timestamp (in Unix time) when the Leader first received a message from the node.""" group: str + r"""The id of the Worker Group, Edge Fleet, or Outpost Group that contains the node.""" id: str + r"""Unique identifier for the node.""" info: NodeProvidedInfoTypedDict - last_msg_time: float - worker_processes: float + last_msg_time: int + r"""Timestamp (in Unix time) when the Leader last received a message from the node.""" + worker_processes: int + r"""Number of Worker Processes running on the node.""" connection_protocol: NotRequired[ConnectionProtocol] deployable: NotRequired[bool] + r"""If true, the node can receive configuration deployments. Otherwise, false.""" disconnected: NotRequired[bool] + r"""If true, the node is disconnected from the Leader. Otherwise, false.""" last_metrics: NotRequired[Dict[str, Any]] + r"""Latest total, input, and destination metrics cached for UI display.""" metadata: NotRequired[HeartbeatMetadataTypedDict] node_upgrade_status: NotRequired[NodeUpgradeStatusTypedDict] + offline_duration_ms: NotRequired[int] + r"""Configured ephemeral offline duration, in milliseconds.""" provisioning_token_id: NotRequired[str] + r"""The id of the provisioning token used to authenticate the node, if used.""" status: NotRequired[str] + r"""Health status reported for the node.""" type: NotRequired[MasterWorkerEntryType] - workers: NotRequired[MasterWorkerEntryWorkersTypedDict] + r"""RPC message type reported by the node.""" + workers: NotRequired[MasterWorkerProcessesTypedDict] class MasterWorkerEntry(BaseModel): - first_msg_time: Annotated[float, pydantic.Field(alias="firstMsgTime")] + first_msg_time: Annotated[int, pydantic.Field(alias="firstMsgTime")] + r"""Timestamp (in Unix time) when the Leader first received a message from the node.""" group: str + r"""The id of the Worker Group, Edge Fleet, or Outpost Group that contains the node.""" id: str + r"""Unique identifier for the node.""" info: NodeProvidedInfo - last_msg_time: Annotated[float, pydantic.Field(alias="lastMsgTime")] + last_msg_time: Annotated[int, pydantic.Field(alias="lastMsgTime")] + r"""Timestamp (in Unix time) when the Leader last received a message from the node.""" - worker_processes: Annotated[float, pydantic.Field(alias="workerProcesses")] + worker_processes: Annotated[int, pydantic.Field(alias="workerProcesses")] + r"""Number of Worker Processes running on the node.""" connection_protocol: Annotated[ Optional[ConnectionProtocol], pydantic.Field(alias="connectionProtocol") ] = None deployable: Optional[bool] = None + r"""If true, the node can receive configuration deployments. Otherwise, false.""" disconnected: Optional[bool] = None + r"""If true, the node is disconnected from the Leader. Otherwise, false.""" last_metrics: Annotated[ Optional[Dict[str, Any]], pydantic.Field(alias="lastMetrics") ] = None + r"""Latest total, input, and destination metrics cached for UI display.""" metadata: Optional[HeartbeatMetadata] = None @@ -78,15 +94,23 @@ class MasterWorkerEntry(BaseModel): Optional[NodeUpgradeStatus], pydantic.Field(alias="nodeUpgradeStatus") ] = None + offline_duration_ms: Annotated[ + Optional[int], pydantic.Field(alias="offlineDurationMs") + ] = None + r"""Configured ephemeral offline duration, in milliseconds.""" + provisioning_token_id: Annotated[ Optional[str], pydantic.Field(alias="provisioningTokenId") ] = None + r"""The id of the provisioning token used to authenticate the node, if used.""" status: Optional[str] = None + r"""Health status reported for the node.""" type: Optional[MasterWorkerEntryType] = None + r"""RPC message type reported by the node.""" - workers: Optional[MasterWorkerEntryWorkers] = None + workers: Optional[MasterWorkerProcesses] = None @field_serializer("connection_protocol") def serialize_connection_protocol(self, value): @@ -116,6 +140,7 @@ def serialize_model(self, handler): "lastMetrics", "metadata", "nodeUpgradeStatus", + "offlineDurationMs", "provisioningTokenId", "status", "type", diff --git a/src/cribl_control_plane/models/masterworkerprocesses.py b/src/cribl_control_plane/models/masterworkerprocesses.py new file mode 100644 index 000000000..01fdafe12 --- /dev/null +++ b/src/cribl_control_plane/models/masterworkerprocesses.py @@ -0,0 +1,15 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from cribl_control_plane.types import BaseModel +from typing_extensions import TypedDict + + +class MasterWorkerProcessesTypedDict(TypedDict): + count: int + r"""Number of Worker Processes represented by the node entry.""" + + +class MasterWorkerProcesses(BaseModel): + count: int + r"""Number of Worker Processes represented by the node entry.""" diff --git a/src/cribl_control_plane/models/eventbreakerrulefields.py b/src/cribl_control_plane/models/metadataconfaddhectokenrequest.py similarity index 70% rename from src/cribl_control_plane/models/eventbreakerrulefields.py rename to src/cribl_control_plane/models/metadataconfaddhectokenrequest.py index cba9883e7..a00d6e6bf 100644 --- a/src/cribl_control_plane/models/eventbreakerrulefields.py +++ b/src/cribl_control_plane/models/metadataconfaddhectokenrequest.py @@ -5,12 +5,12 @@ from typing_extensions import TypedDict -class EventBreakerRuleFieldsTypedDict(TypedDict): +class MetadataConfAddHecTokenRequestTypedDict(TypedDict): name: str value: str -class EventBreakerRuleFields(BaseModel): +class MetadataConfAddHecTokenRequest(BaseModel): name: str value: str diff --git a/src/cribl_control_plane/models/metadataconfinputcollection.py b/src/cribl_control_plane/models/metadataconfinputcollection.py index fbc69efa3..2f0425c21 100644 --- a/src/cribl_control_plane/models/metadataconfinputcollection.py +++ b/src/cribl_control_plane/models/metadataconfinputcollection.py @@ -7,12 +7,14 @@ class MetadataConfInputCollectionTypedDict(TypedDict): name: str + 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 MetadataConfInputCollection(BaseModel): name: str + 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.)""" 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/nodeosinfo.py b/src/cribl_control_plane/models/nodeosinfo.py new file mode 100644 index 000000000..8adb318c3 --- /dev/null +++ b/src/cribl_control_plane/models/nodeosinfo.py @@ -0,0 +1,16 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from cribl_control_plane.types import BaseModel +from typing import List +from typing_extensions import TypedDict + + +class NodeOsInfoTypedDict(TypedDict): + addresses: List[str] + r"""Network addresses reported by the node operating system.""" + + +class NodeOsInfo(BaseModel): + addresses: List[str] + r"""Network addresses reported by the node operating system.""" diff --git a/src/cribl_control_plane/models/nodeprovidedinfo.py b/src/cribl_control_plane/models/nodeprovidedinfo.py index b29bc0837..415df5e95 100644 --- a/src/cribl_control_plane/models/nodeprovidedinfo.py +++ b/src/cribl_control_plane/models/nodeprovidedinfo.py @@ -20,78 +20,102 @@ KubeTypeHeartbeatMetadata, KubeTypeHeartbeatMetadataTypedDict, ) +from .nodeosinfo import NodeOsInfo, NodeOsInfoTypedDict +from .ostypeheartbeatmetadata import ( + OsTypeHeartbeatMetadata, + OsTypeHeartbeatMetadataTypedDict, +) from .outpostnodeinfo import OutpostNodeInfo, OutpostNodeInfoTypedDict from cribl_control_plane import models from cribl_control_plane.types import BaseModel, UNSET_SENTINEL import pydantic from pydantic import field_serializer, model_serializer -from typing import Dict, List, Optional, Union +from typing import Dict, Optional, Union from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict -class OsTypedDict(TypedDict): - addresses: List[str] - - -class Os(BaseModel): - addresses: List[str] - - -OsUnionTypedDict = TypeAliasType( - "OsUnionTypedDict", Union[OsTypedDict, HostOsTypeHeartbeatMetadataTypedDict] +OsTypedDict = TypeAliasType( + "OsTypedDict", Union[NodeOsInfoTypedDict, OsTypeHeartbeatMetadataTypedDict] ) +r"""Operating system metadata collected from the node.""" -OsUnion = TypeAliasType("OsUnion", Union[Os, HostOsTypeHeartbeatMetadata]) +Os = TypeAliasType("Os", Union[NodeOsInfo, OsTypeHeartbeatMetadata]) +r"""Operating system metadata collected from the node.""" class NodeProvidedInfoTypedDict(TypedDict): architecture: str - cpus: float + r"""CPU architecture.""" + cpus: int + r"""Number of CPU cores available on the node.""" cribl: HBCriblInfoTypedDict env: Dict[str, str] + r"""Environment variables reported by the node.""" hostname: str + r"""Hostname reported by the node.""" node: str + r"""Node.js runtime version running on the node.""" platform: str + r"""Operating system platform.""" release: str - totalmem: float - api_port: NotRequired[float] + r"""Operating system kernel release.""" + totalmem: int + r"""Total memory on the node, in bytes.""" + api_port: NotRequired[int] + r"""API port exposed by the node.""" api_scheme: NotRequired[APIScheme] aws: NotRequired[AwsTypeHeartbeatMetadataTypedDict] azure: NotRequired[AzureTypeHeartbeatMetadataTypedDict] conn_ip: NotRequired[str] - free_disk_space: NotRequired[float] + r"""Remote ip:port for the worker socket.""" + free_disk_space: NotRequired[int] + r"""Free disk space on the node, in bytes.""" host_os: NotRequired[HostOsTypeHeartbeatMetadataTypedDict] is_captain: NotRequired[bool] + r"""If true, the node considers itself the elected captain for its group. Otherwise, false.""" is_saas_worker: NotRequired[bool] + r"""If true, the node runs in Cribl.Cloud. Otherwise, false.""" kube: NotRequired[KubeTypeHeartbeatMetadataTypedDict] - local_time: NotRequired[float] + local_time: NotRequired[int] + r"""Local timestamp (in Unix time) on the node, in milliseconds.""" metadata: NotRequired[HeartbeatMetadataTypedDict] - os: NotRequired[OsUnionTypedDict] + os: NotRequired[OsTypedDict] + r"""Operating system metadata collected from the node.""" outpost: NotRequired[OutpostNodeInfoTypedDict] - total_disk_space: NotRequired[float] + total_disk_space: NotRequired[int] + r"""Total disk space on the node, in bytes.""" class NodeProvidedInfo(BaseModel): architecture: str + r"""CPU architecture.""" - cpus: float + cpus: int + r"""Number of CPU cores available on the node.""" cribl: HBCriblInfo env: Dict[str, str] + r"""Environment variables reported by the node.""" hostname: str + r"""Hostname reported by the node.""" node: str + r"""Node.js runtime version running on the node.""" platform: str + r"""Operating system platform.""" release: str + r"""Operating system kernel release.""" - totalmem: float + totalmem: int + r"""Total memory on the node, in bytes.""" - api_port: Annotated[Optional[float], pydantic.Field(alias="apiPort")] = None + api_port: Annotated[Optional[int], pydantic.Field(alias="apiPort")] = None + r"""API port exposed by the node.""" api_scheme: Annotated[Optional[APIScheme], pydantic.Field(alias="apiScheme")] = None @@ -100,34 +124,41 @@ class NodeProvidedInfo(BaseModel): azure: Optional[AzureTypeHeartbeatMetadata] = None conn_ip: Optional[str] = None + r"""Remote ip:port for the worker socket.""" - free_disk_space: Annotated[ - Optional[float], pydantic.Field(alias="freeDiskSpace") - ] = None + free_disk_space: Annotated[Optional[int], pydantic.Field(alias="freeDiskSpace")] = ( + None + ) + r"""Free disk space on the node, in bytes.""" host_os: Annotated[ Optional[HostOsTypeHeartbeatMetadata], pydantic.Field(alias="hostOs") ] = None is_captain: Annotated[Optional[bool], pydantic.Field(alias="isCaptain")] = None + r"""If true, the node considers itself the elected captain for its group. Otherwise, false.""" is_saas_worker: Annotated[Optional[bool], pydantic.Field(alias="isSaasWorker")] = ( None ) + r"""If true, the node runs in Cribl.Cloud. Otherwise, false.""" kube: Optional[KubeTypeHeartbeatMetadata] = None - local_time: Annotated[Optional[float], pydantic.Field(alias="localTime")] = None + local_time: Annotated[Optional[int], pydantic.Field(alias="localTime")] = None + r"""Local timestamp (in Unix time) on the node, in milliseconds.""" metadata: Optional[HeartbeatMetadata] = None - os: Optional[OsUnion] = None + os: Optional[Os] = None + r"""Operating system metadata collected from the node.""" outpost: Optional[OutpostNodeInfo] = None total_disk_space: Annotated[ - Optional[float], pydantic.Field(alias="totalDiskSpace") + Optional[int], pydantic.Field(alias="totalDiskSpace") ] = None + r"""Total disk space on the node, in bytes.""" @field_serializer("api_scheme") def serialize_api_scheme(self, value): diff --git a/src/cribl_control_plane/models/nodeupgradestatus.py b/src/cribl_control_plane/models/nodeupgradestatus.py index 308c4d78e..2bbb9253a 100644 --- a/src/cribl_control_plane/models/nodeupgradestatus.py +++ b/src/cribl_control_plane/models/nodeupgradestatus.py @@ -14,7 +14,8 @@ class NodeUpgradeStatusTypedDict(TypedDict): state: NodeUpgradeState - timestamp: float + timestamp: int + r"""Timestamp (in Unix time) when the node entered the upgrade state, in milliseconds.""" active: NotRequired[NodeActiveUpgradeStatus] failed: NotRequired[NodeFailedUpgradeStatus] skipped: NotRequired[NodeSkippedUpgradeStatus] @@ -23,7 +24,8 @@ class NodeUpgradeStatusTypedDict(TypedDict): class NodeUpgradeStatus(BaseModel): state: NodeUpgradeState - timestamp: float + timestamp: int + r"""Timestamp (in Unix time) when the node entered the upgrade state, in milliseconds.""" active: Optional[NodeActiveUpgradeStatus] = None diff --git a/src/cribl_control_plane/models/notification_union.py b/src/cribl_control_plane/models/notification_union.py index c698961a0..f7e9629a9 100644 --- a/src/cribl_control_plane/models/notification_union.py +++ b/src/cribl_control_plane/models/notification_union.py @@ -26,6 +26,8 @@ class NotificationMode3(str, Enum, metaclass=utils.OpenEnumMeta): class EmailRecipient3TypedDict(TypedDict): + r"""Email recipient settings for the Notification target.""" + to: str r"""Recipients' email addresses""" cc: NotRequired[str] @@ -35,6 +37,8 @@ class EmailRecipient3TypedDict(TypedDict): class EmailRecipient3(BaseModel): + r"""Email recipient settings for the Notification target.""" + to: str r"""Recipients' email addresses""" @@ -62,14 +66,19 @@ def serialize_model(self, handler): class NotificationConfigForSMTPTarget3TypedDict(TypedDict): + r"""Simple Mail Transfer Protocol (SMTP) configuration for the Notification target.""" + subject: NotRequired[str] r"""Email subject""" body: NotRequired[str] r"""Email body""" email_recipient: NotRequired[EmailRecipient3TypedDict] + r"""Email recipient settings for the Notification target.""" class NotificationConfigForSMTPTarget3(BaseModel): + r"""Simple Mail Transfer Protocol (SMTP) configuration for the Notification target.""" + subject: Optional[str] = None r"""Email subject""" @@ -79,6 +88,7 @@ class NotificationConfigForSMTPTarget3(BaseModel): email_recipient: Annotated[ Optional[EmailRecipient3], pydantic.Field(alias="emailRecipient") ] = None + r"""Email recipient settings for the Notification target.""" @model_serializer(mode="wrap") def serialize_model(self, handler): @@ -99,13 +109,17 @@ def serialize_model(self, handler): class TargetConfig3TypedDict(TypedDict): id: str + r"""The id of the Notification target.""" conf: NotRequired[NotificationConfigForSMTPTarget3TypedDict] + r"""Simple Mail Transfer Protocol (SMTP) configuration for the Notification target.""" class TargetConfig3(BaseModel): id: str + r"""The id of the Notification target.""" conf: Optional[NotificationConfigForSMTPTarget3] = None + r"""Simple Mail Transfer Protocol (SMTP) configuration for the Notification target.""" @model_serializer(mode="wrap") def serialize_model(self, handler): @@ -250,6 +264,8 @@ class NotificationMode2(str, Enum, metaclass=utils.OpenEnumMeta): class EmailRecipient2TypedDict(TypedDict): + r"""Email recipient settings for the Notification target.""" + to: str r"""Recipients' email addresses""" cc: NotRequired[str] @@ -259,6 +275,8 @@ class EmailRecipient2TypedDict(TypedDict): class EmailRecipient2(BaseModel): + r"""Email recipient settings for the Notification target.""" + to: str r"""Recipients' email addresses""" @@ -286,14 +304,19 @@ def serialize_model(self, handler): class NotificationConfigForSMTPTarget2TypedDict(TypedDict): + r"""Simple Mail Transfer Protocol (SMTP) configuration for the Notification target.""" + subject: NotRequired[str] r"""Email subject""" body: NotRequired[str] r"""Email body""" email_recipient: NotRequired[EmailRecipient2TypedDict] + r"""Email recipient settings for the Notification target.""" class NotificationConfigForSMTPTarget2(BaseModel): + r"""Simple Mail Transfer Protocol (SMTP) configuration for the Notification target.""" + subject: Optional[str] = None r"""Email subject""" @@ -303,6 +326,7 @@ class NotificationConfigForSMTPTarget2(BaseModel): email_recipient: Annotated[ Optional[EmailRecipient2], pydantic.Field(alias="emailRecipient") ] = None + r"""Email recipient settings for the Notification target.""" @model_serializer(mode="wrap") def serialize_model(self, handler): @@ -323,13 +347,17 @@ def serialize_model(self, handler): class TargetConfig2TypedDict(TypedDict): id: str + r"""The id of the Notification target.""" conf: NotRequired[NotificationConfigForSMTPTarget2TypedDict] + r"""Simple Mail Transfer Protocol (SMTP) configuration for the Notification target.""" class TargetConfig2(BaseModel): id: str + r"""The id of the Notification target.""" conf: Optional[NotificationConfigForSMTPTarget2] = None + r"""Simple Mail Transfer Protocol (SMTP) configuration for the Notification target.""" @model_serializer(mode="wrap") def serialize_model(self, handler): @@ -473,6 +501,8 @@ class NotificationMode1(str, Enum, metaclass=utils.OpenEnumMeta): class EmailRecipient1TypedDict(TypedDict): + r"""Email recipient settings for the Notification target.""" + to: str r"""Recipients' email addresses""" cc: NotRequired[str] @@ -482,6 +512,8 @@ class EmailRecipient1TypedDict(TypedDict): class EmailRecipient1(BaseModel): + r"""Email recipient settings for the Notification target.""" + to: str r"""Recipients' email addresses""" @@ -509,14 +541,19 @@ def serialize_model(self, handler): class NotificationConfigForSMTPTarget1TypedDict(TypedDict): + r"""Simple Mail Transfer Protocol (SMTP) configuration for the Notification target.""" + subject: NotRequired[str] r"""Email subject""" body: NotRequired[str] r"""Email body""" email_recipient: NotRequired[EmailRecipient1TypedDict] + r"""Email recipient settings for the Notification target.""" class NotificationConfigForSMTPTarget1(BaseModel): + r"""Simple Mail Transfer Protocol (SMTP) configuration for the Notification target.""" + subject: Optional[str] = None r"""Email subject""" @@ -526,6 +563,7 @@ class NotificationConfigForSMTPTarget1(BaseModel): email_recipient: Annotated[ Optional[EmailRecipient1], pydantic.Field(alias="emailRecipient") ] = None + r"""Email recipient settings for the Notification target.""" @model_serializer(mode="wrap") def serialize_model(self, handler): @@ -546,13 +584,17 @@ def serialize_model(self, handler): class TargetConfig1TypedDict(TypedDict): id: str + r"""The id of the Notification target.""" conf: NotRequired[NotificationConfigForSMTPTarget1TypedDict] + r"""Simple Mail Transfer Protocol (SMTP) configuration for the Notification target.""" class TargetConfig1(BaseModel): id: str + r"""The id of the Notification target.""" conf: Optional[NotificationConfigForSMTPTarget1] = None + r"""Simple Mail Transfer Protocol (SMTP) configuration for the Notification target.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/objectstoragefilter.py b/src/cribl_control_plane/models/objectstoragefilter.py index b77d3475b..cbd502442 100644 --- a/src/cribl_control_plane/models/objectstoragefilter.py +++ b/src/cribl_control_plane/models/objectstoragefilter.py @@ -16,6 +16,8 @@ class ObjectStorageFilterTypedDict(TypedDict): filter_: str r"""Glob pattern for selecting files within the storage path.""" data_path_format: NotRequired[PathFilterDataFormat] + preprocess_outer_json: NotRequired[bool] + r"""When true, instructs the C++ reader to unwrap the outer JSON envelope before applying the user datatype to the nested _raw field. Set for Cribl Lake NDJSON filters only.""" class ObjectStorageFilter(BaseModel): @@ -29,6 +31,11 @@ class ObjectStorageFilter(BaseModel): Optional[PathFilterDataFormat], pydantic.Field(alias="dataPathFormat") ] = None + preprocess_outer_json: Annotated[ + Optional[bool], pydantic.Field(alias="preprocessOuterJson") + ] = None + r"""When true, instructs the C++ reader to unwrap the outer JSON envelope before applying the user datatype to the nested _raw field. Set for Cribl Lake NDJSON filters only.""" + @field_serializer("data_path_format") def serialize_data_path_format(self, value): if isinstance(value, str): @@ -40,7 +47,7 @@ def serialize_data_path_format(self, value): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["dataPathFormat"]) + optional_fields = set(["dataPathFormat", "preprocessOuterJson"]) serialized = handler(self) m = {} diff --git a/src/cribl_control_plane/models/ostypeheartbeatmetadata.py b/src/cribl_control_plane/models/ostypeheartbeatmetadata.py new file mode 100644 index 000000000..d11c34aad --- /dev/null +++ b/src/cribl_control_plane/models/ostypeheartbeatmetadata.py @@ -0,0 +1,31 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from cribl_control_plane.types import BaseModel +from typing import List +from typing_extensions import TypedDict + + +class OsTypeHeartbeatMetadataTypedDict(TypedDict): + addresses: List[str] + r"""Network addresses reported by the operating system.""" + enabled: bool + r"""If true, the operating system metadata collector is enabled on the node. Otherwise, false.""" + id: str + r"""Operating system distribution name.""" + version: str + r"""Operating system version.""" + + +class OsTypeHeartbeatMetadata(BaseModel): + addresses: List[str] + r"""Network addresses reported by the operating system.""" + + enabled: bool + r"""If true, the operating system metadata collector is enabled on the node. Otherwise, false.""" + + id: str + r"""Operating system distribution name.""" + + version: str + r"""Operating system version.""" diff --git a/src/cribl_control_plane/models/outpostnodeinfo.py b/src/cribl_control_plane/models/outpostnodeinfo.py index 4b0fb970d..6fc9aa963 100644 --- a/src/cribl_control_plane/models/outpostnodeinfo.py +++ b/src/cribl_control_plane/models/outpostnodeinfo.py @@ -9,16 +9,22 @@ class OutpostNodeInfoTypedDict(TypedDict): guid: str + r"""Unique identifier for the Outpost Node.""" host: str + r"""Hostname or IP address for the Outpost Node.""" groupname: NotRequired[str] + r"""Name of the Outpost Group that contains the Outpost Node.""" class OutpostNodeInfo(BaseModel): guid: str + r"""Unique identifier for the Outpost Node.""" host: str + r"""Hostname or IP address for the Outpost Node.""" groupname: Optional[str] = None + r"""Name of the Outpost Group that contains the Outpost Node.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/output.py b/src/cribl_control_plane/models/output.py index ab4491247..e08ebab8f 100644 --- a/src/cribl_control_plane/models/output.py +++ b/src/cribl_control_plane/models/output.py @@ -3,6 +3,10 @@ from __future__ import annotations from .outputalibabaclouds3 import OutputAlibabaCloudS3, OutputAlibabaCloudS3TypedDict from .outputalphasocs3 import OutputAlphasocS3, OutputAlphasocS3TypedDict +from .outputamazonmanagedprometheus import ( + OutputAmazonManagedPrometheus, + OutputAmazonManagedPrometheusTypedDict, +) from .outputazureblob import OutputAzureBlob, OutputAzureBlobTypedDict from .outputazuredataexplorer import ( OutputAzureDataExplorer, @@ -27,6 +31,10 @@ OutputCrowdstrikeNextGenSiem, OutputCrowdstrikeNextGenSiemTypedDict, ) +from .outputcustomermetricsstorage import ( + OutputCustomerMetricsStorage, + OutputCustomerMetricsStorageTypedDict, +) from .outputdatabricks import OutputDatabricks, OutputDatabricksTypedDict from .outputdatadog import OutputDatadog, OutputDatadogTypedDict from .outputdataset import OutputDataset, OutputDatasetTypedDict @@ -41,11 +49,16 @@ from .outputelasticcloud import OutputElasticCloud, OutputElasticCloudTypedDict from .outputexabeam import OutputExabeam, OutputExabeamTypedDict from .outputfilesystem import OutputFilesystem, OutputFilesystemTypedDict +from .outputgooglebigquery import OutputGoogleBigquery, OutputGoogleBigqueryTypedDict from .outputgooglechronicle import OutputGoogleChronicle, OutputGoogleChronicleTypedDict from .outputgooglecloudlogging import ( OutputGoogleCloudLogging, OutputGoogleCloudLoggingTypedDict, ) +from .outputgooglecloudobservability import ( + OutputGoogleCloudObservability, + OutputGoogleCloudObservabilityTypedDict, +) from .outputgooglecloudstorage import ( OutputGoogleCloudStorage, OutputGoogleCloudStorageTypedDict, @@ -58,6 +71,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 @@ -115,71 +129,76 @@ OutputDevnullTypedDict, OutputDefaultTypedDict, OutputRouterTypedDict, - OutputSnmpTypedDict, OutputNetflowTypedDict, + OutputSnmpTypedDict, OutputDiskSpoolTypedDict, OutputRingTypedDict, + OutputStatsdTypedDict, OutputGraphiteTypedDict, OutputStatsdExtTypedDict, - OutputStatsdTypedDict, + OutputGoogleBigqueryTypedDict, OutputGooglePubsubTypedDict, - OutputCriblTCPTypedDict, - OutputHoneycombTypedDict, + OutputGoogleCloudObservabilityTypedDict, OutputWavefrontTypedDict, OutputSignalfxTypedDict, + OutputHoneycombTypedDict, + OutputCriblTCPTypedDict, OutputAzureEventhubTypedDict, OutputMicrosoftFabricTypedDict, - OutputSumoLogicTypedDict, - OutputCrowdstrikeNextGenSiemTypedDict, OutputHumioHecTypedDict, - OutputTcpjsonTypedDict, OutputSplunkTypedDict, + OutputSumoLogicTypedDict, + OutputTcpjsonTypedDict, OutputExabeamTypedDict, - OutputSnsTypedDict, + OutputCrowdstrikeNextGenSiemTypedDict, OutputElasticCloudTypedDict, - OutputKafkaTypedDict, + OutputSnsTypedDict, OutputAzureLogsTypedDict, + OutputKafkaTypedDict, OutputConfluentCloudTypedDict, - OutputSplunkLbTypedDict, OutputCloudwatchTypedDict, OutputSyslogTypedDict, - OutputPrometheusTypedDict, + OutputSplunkLbTypedDict, + OutputWizHecTypedDict, OutputNewrelicEventsTypedDict, - OutputNewrelicTypedDict, - OutputLokiTypedDict, OutputCriblHTTPTypedDict, - OutputDatasetTypedDict, - OutputWizHecTypedDict, + OutputKinesisTypedDict, OutputCriblSearchEngineTypedDict, + OutputLokiTypedDict, + OutputNewrelicTypedDict, OutputXsiamTypedDict, - OutputKinesisTypedDict, + OutputDatasetTypedDict, OutputDynatraceHTTPTypedDict, OutputSplunkHecTypedDict, + OutputFilesystemTypedDict, OutputDynatraceOtlpTypedDict, OutputServiceNowTypedDict, - OutputFilesystemTypedDict, + OutputCriblLakeTypedDict, OutputSqsTypedDict, + OutputAmazonManagedPrometheusTypedDict, OutputDatadogTypedDict, OutputInfluxdbTypedDict, - OutputSentinelOneAiSiemTypedDict, OutputElasticTypedDict, + OutputSentinelOneAiSiemTypedDict, OutputGoogleChronicleTypedDict, OutputClickHouseTypedDict, OutputChronicleTypedDict, + OutputCustomerMetricsStorageTypedDict, OutputLocalSearchStorageTypedDict, + OutputPrometheusTypedDict, OutputDatabricksTypedDict, - OutputAlphasocS3TypedDict, OutputMskTypedDict, - OutputCriblLakeTypedDict, + OutputAlphasocS3TypedDict, + OutputIbmCloudS3TypedDict, OutputStorjS3TypedDict, OutputOpenTelemetryTypedDict, - OutputAlibabaCloudS3TypedDict, OutputScalityS3TypedDict, - OutputSentinelTypedDict, OutputNutanixObjectsTypedDict, OutputDellS3TypedDict, OutputCloudflareR2TypedDict, + OutputSentinelTypedDict, OutputGoogleCloudStorageTypedDict, + OutputAlibabaCloudS3TypedDict, OutputAzureBlobTypedDict, OutputCloudianS3TypedDict, OutputMinioTypedDict, @@ -188,8 +207,8 @@ OutputDlS3TypedDict, OutputS3TypedDict, OutputAzureDataExplorerTypedDict, - OutputGrafanaCloudUnionTypedDict, OutputWebhookUnionTypedDict, + OutputGrafanaCloudUnionTypedDict, ], ) @@ -216,9 +235,11 @@ Annotated[OutputKinesis, Tag("kinesis")], Annotated[OutputHoneycomb, Tag("honeycomb")], Annotated[OutputAzureEventhub, Tag("azure_eventhub")], + Annotated[OutputGoogleBigquery, Tag("google_bigquery")], Annotated[OutputGoogleChronicle, Tag("google_chronicle")], Annotated[OutputGoogleCloudStorage, Tag("google_cloud_storage")], Annotated[OutputGoogleCloudLogging, Tag("google_cloud_logging")], + Annotated[OutputGoogleCloudObservability, Tag("google_cloud_observability")], Annotated[OutputGooglePubsub, Tag("google_pubsub")], Annotated[OutputExabeam, Tag("exabeam")], Annotated[OutputKafka, Tag("kafka")], @@ -242,6 +263,7 @@ Annotated[OutputDatadog, Tag("datadog")], Annotated[OutputGrafanaCloudUnion, Tag("grafana_cloud")], Annotated[OutputLoki, Tag("loki")], + Annotated[OutputAmazonManagedPrometheus, Tag("amazon_managed_prometheus")], Annotated[OutputPrometheus, Tag("prometheus")], Annotated[OutputRing, Tag("ring")], Annotated[OutputOpenTelemetry, Tag("open_telemetry")], @@ -257,6 +279,7 @@ Annotated[OutputCriblLake, Tag("cribl_lake")], Annotated[OutputDiskSpool, Tag("disk_spool")], Annotated[OutputClickHouse, Tag("click_house")], + Annotated[OutputCustomerMetricsStorage, Tag("customer_metrics_storage")], Annotated[OutputLocalSearchStorage, Tag("local_search_storage")], Annotated[OutputXsiam, Tag("xsiam")], Annotated[OutputNetflow, Tag("netflow")], @@ -274,6 +297,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..fa17f8cad 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 @@ -49,8 +57,8 @@ class OutputAlibabaCloudS3TypedDict(TypedDict): 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"""Metadata tags used for categorization and filtering.""" + aws_authentication_method: NotRequired[OutputAlibabaCloudS3AuthenticationMethod] r"""Authentication method.""" reuse_connections: NotRequired[bool] r"""Reuse connections between requests, which can improve performance""" @@ -100,7 +108,16 @@ class OutputAlibabaCloudS3TypedDict(TypedDict): orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] object_acl: NotRequired[ObjectACLOptions] r"""Object ACL to assign to uploaded objects""" + enable_assume_role: NotRequired[bool] + r"""Use Assume Role credentials to access Alibaba OSS""" + 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).""" + assume_role_arn: NotRequired[str] + r"""ARN of the RAM role to assume. Format: acs:ram:::role/. Example: acs:ram::123456789:role/OSSAccessRole""" + assume_role_external_id: NotRequired[str] + r"""External ID for the assumed role (optional, for security when configured in the role trust policy)""" 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] @@ -157,6 +174,10 @@ class OutputAlibabaCloudS3TypedDict(TypedDict): 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_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_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] @@ -190,10 +211,10 @@ class OutputAlibabaCloudS3(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: Annotated[ - Optional[AuthenticationMethodOptionsSecret], + Optional[OutputAlibabaCloudS3AuthenticationMethod], pydantic.Field(alias="awsAuthenticationMethod"), ] = None r"""Authentication method.""" @@ -317,7 +338,28 @@ class OutputAlibabaCloudS3(BaseModel): ] = None r"""Object ACL to assign to uploaded objects""" + enable_assume_role: Annotated[ + Optional[bool], pydantic.Field(alias="enableAssumeRole") + ] = None + r"""Use Assume Role credentials to access Alibaba OSS""" + + 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).""" + + assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( + None + ) + r"""ARN of the RAM role to assume. Format: acs:ram:::role/. Example: acs:ram::123456789:role/OSSAccessRole""" + + assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="assumeRoleExternalId") + ] = None + r"""External ID for the assumed role (optional, for security when configured in the role trust policy)""" + 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""" @@ -456,6 +498,16 @@ class OutputAlibabaCloudS3(BaseModel): ] = 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_compress: Annotated[ Optional[str], pydantic.Field(alias="__template_compress") ] = None @@ -470,7 +522,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 @@ -582,6 +634,10 @@ def serialize_model(self, handler): "retrySettings", "orphans", "objectACL", + "enableAssumeRole", + "durationSeconds", + "assumeRoleArn", + "assumeRoleExternalId", "description", "awsSecret", "compress", @@ -611,6 +667,8 @@ def serialize_model(self, handler): "__template_onBackpressure", "__template_objectACL", "__template_endpoint", + "__template_assumeRoleArn", + "__template_assumeRoleExternalId", "__template_compress", "__template_parquetSchema", ] diff --git a/src/cribl_control_plane/models/outputalphasocs3.py b/src/cribl_control_plane/models/outputalphasocs3.py index 47aa8133e..60b2ce205 100644 --- a/src/cribl_control_plane/models/outputalphasocs3.py +++ b/src/cribl_control_plane/models/outputalphasocs3.py @@ -46,7 +46,7 @@ class OutputAlphasocS3TypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: NotRequired[AuthenticationMethodOptionsSecret] r"""Authentication method.""" reuse_connections: NotRequired[bool] @@ -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] @@ -180,7 +181,7 @@ class OutputAlphasocS3(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: Annotated[ Optional[AuthenticationMethodOptionsSecret], @@ -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/outputamazonmanagedprometheus.py b/src/cribl_control_plane/models/outputamazonmanagedprometheus.py new file mode 100644 index 000000000..2de83b7b0 --- /dev/null +++ b/src/cribl_control_plane/models/outputamazonmanagedprometheus.py @@ -0,0 +1,529 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .authenticationmethodoptionsautosecret import AuthenticationMethodOptionsAutoSecret +from .backpressurebehavioroptions import BackpressureBehaviorOptions +from .compressionoptionspq import CompressionOptionsPq +from .extrahttpheaderconfinputelastic import ( + ExtraHTTPHeaderConfInputElastic, + ExtraHTTPHeaderConfInputElasticTypedDict, +) +from .failedrequestloggingmodeoptions import FailedRequestLoggingModeOptions +from .modeoptions import ModeOptions +from .queuefullbehavioroptions import QueueFullBehaviorOptions +from .responseretrysettingconfoutputwebhook import ( + ResponseRetrySettingConfOutputWebhook, + ResponseRetrySettingConfOutputWebhookTypedDict, +) +from .timeoutretrysettingstype import ( + TimeoutRetrySettingsType, + TimeoutRetrySettingsTypeTypedDict, +) +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 OutputAmazonManagedPrometheusType(str, Enum): + AMAZON_MANAGED_PROMETHEUS = "amazon_managed_prometheus" + + +class OutputAmazonManagedPrometheusPqControlsTypedDict(TypedDict): + pass + + +class OutputAmazonManagedPrometheusPqControls(BaseModel): + pass + + +class OutputAmazonManagedPrometheusTypedDict(TypedDict): + type: OutputAmazonManagedPrometheusType + url: str + r"""The Amazon Managed Service for Prometheus remote_write endpoint""" + aws_authentication_method: AuthenticationMethodOptionsAutoSecret + r"""AWS authentication method. Choose Auto to use IAM roles.""" + region: str + r"""Region where the AMSP 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. 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"""Metadata tags used for categorization and filtering.""" + aws_secret_key: NotRequired[str] + 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. + """ + enable_assume_role: NotRequired[bool] + r"""Use Assume Role credentials to access AMSP""" + 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).""" + 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""" + max_payload_size_kb: NotRequired[float] + r"""Maximum uncompressed size, in KB, of the request body. The 1 MB cap is intentional and protects against data that compresses poorly, since oversized requests fail with a non-retryable 413.""" + 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.""" + extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] + r"""Headers to add to all events. SigV4-managed headers and the Prometheus remote-write protocol version header are generated by this Destination and cannot be configured here.""" + 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] + 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""" + 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] + 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[OutputAmazonManagedPrometheusPqControlsTypedDict] + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable 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_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_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_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 OutputAmazonManagedPrometheus(BaseModel): + type: OutputAmazonManagedPrometheusType + + url: str + r"""The Amazon Managed Service for Prometheus remote_write endpoint""" + + aws_authentication_method: Annotated[ + AuthenticationMethodOptionsAutoSecret, + pydantic.Field(alias="awsAuthenticationMethod"), + ] + r"""AWS authentication method. Choose Auto to use IAM roles.""" + + region: str + r"""Region where the AMSP 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""" + + 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 to generated metrics.""" + + 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"""Metadata tags used for categorization and filtering.""" + + aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( + 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. + """ + + enable_assume_role: Annotated[ + Optional[bool], pydantic.Field(alias="enableAssumeRole") + ] = None + r"""Use Assume Role credentials to access AMSP""" + + 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).""" + + 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..""" + + send_metadata: Annotated[Optional[bool], pydantic.Field(alias="sendMetadata")] = ( + None + ) + r"""Generate and send metadata (`type` and `metricFamilyName`) requests""" + + 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""" + + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + ] = None + r"""Maximum uncompressed size, in KB, of the request body. The 1 MB cap is intentional and protects against data that compresses poorly, since oversized requests fail with a non-retryable 413.""" + + 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).""" + + 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. SigV4-managed headers and the Prometheus remote-write protocol version header are generated by this Destination and cannot be configured here.""" + + 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""" + + 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""" + + 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.""" + + 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[OutputAmazonManagedPrometheusPqControls], + 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_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_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_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_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("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 + + @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", + "awsSecretKey", + "rejectUnauthorized", + "enableAssumeRole", + "assumeRoleArn", + "assumeRoleExternalId", + "durationSeconds", + "metricRenameExpr", + "sendMetadata", + "usePrometheusHistogramBucketSuffix", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "useRoundRobinDns", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "onBackpressure", + "description", + "awsSecret", + "metricsFlushPeriodSec", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_url", + "__template_awsSecretKey", + "__template_region", + "__template_assumeRoleArn", + "__template_assumeRoleExternalId", + "__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 + + +try: + OutputAmazonManagedPrometheus.model_rebuild() +except NameError: + pass diff --git a/src/cribl_control_plane/models/outputazureblob.py b/src/cribl_control_plane/models/outputazureblob.py index 162ab68a1..281760a67 100644 --- a/src/cribl_control_plane/models/outputazureblob.py +++ b/src/cribl_control_plane/models/outputazureblob.py @@ -63,7 +63,7 @@ class OutputAzureBlobTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" create_container: NotRequired[bool] r"""Create the configured container in Azure Blob Storage if it does not already exist""" dest_path: NotRequired[str] @@ -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] @@ -214,7 +215,7 @@ class OutputAzureBlob(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" create_container: Annotated[ Optional[bool], pydantic.Field(alias="createContainer") @@ -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 b2c6a926b..7dfcbe7cd 100644 --- a/src/cribl_control_plane/models/outputazuredataexplorer.py +++ b/src/cribl_control_plane/models/outputazuredataexplorer.py @@ -213,11 +213,12 @@ class OutputAzureDataExplorerTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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[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] @@ -356,7 +357,7 @@ class OutputAzureDataExplorerTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputAzureDataExplorerPqControlsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -442,7 +443,7 @@ class OutputAzureDataExplorer(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" validate_database_settings: Annotated[ Optional[bool], pydantic.Field(alias="validateDatabaseSettings") @@ -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""" @@ -768,7 +770,7 @@ class OutputAzureDataExplorer(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputAzureDataExplorerPqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputazureeventhub.py b/src/cribl_control_plane/models/outputazureeventhub.py index a3b34de89..0408e4cad 100644 --- a/src/cribl_control_plane/models/outputazureeventhub.py +++ b/src/cribl_control_plane/models/outputazureeventhub.py @@ -48,7 +48,7 @@ class OutputAzureEventhubTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" ack: NotRequired[AcknowledgmentsOptions] r"""Control the number of required acknowledgments""" format_: NotRequired[RecordDataFormatOptions] @@ -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] @@ -102,7 +103,7 @@ class OutputAzureEventhubTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputAzureEventhubPqControlsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -140,7 +141,7 @@ class OutputAzureEventhub(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" ack: Optional[AcknowledgmentsOptions] = None r"""Control the number of required acknowledgments""" @@ -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") @@ -258,7 +260,7 @@ class OutputAzureEventhub(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputAzureEventhubPqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputazurelogs.py b/src/cribl_control_plane/models/outputazurelogs.py index 97ccca2c7..a0ee2bc31 100644 --- a/src/cribl_control_plane/models/outputazurelogs.py +++ b/src/cribl_control_plane/models/outputazurelogs.py @@ -59,7 +59,7 @@ class OutputAzureLogsTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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] @@ -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] @@ -121,7 +122,7 @@ class OutputAzureLogsTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputAzureLogsPqControlsTypedDict] workspace_id: NotRequired[str] r"""Azure Log Analytics Workspace ID. See Azure Dashboard Workspace > Advanced settings.""" @@ -162,7 +163,7 @@ class OutputAzureLogs(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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.""" @@ -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") @@ -297,7 +299,7 @@ class OutputAzureLogs(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputAzureLogsPqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputchronicle.py b/src/cribl_control_plane/models/outputchronicle.py index 301f48d3f..d065b2b88 100644 --- a/src/cribl_control_plane/models/outputchronicle.py +++ b/src/cribl_control_plane/models/outputchronicle.py @@ -95,7 +95,7 @@ class OutputChronicleTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" api_version: NotRequired[str] authentication_method: NotRequired[OutputChronicleAuthenticationMethod] response_retry_settings: NotRequired[ @@ -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] @@ -169,7 +170,7 @@ class OutputChronicleTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputChroniclePqControlsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -223,7 +224,7 @@ class OutputChronicle(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" api_version: Annotated[Optional[str], pydantic.Field(alias="apiVersion")] = None @@ -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") @@ -390,7 +392,7 @@ class OutputChronicle(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputChroniclePqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputclickhouse.py b/src/cribl_control_plane/models/outputclickhouse.py index 9c2c73e81..c40eef2d5 100644 --- a/src/cribl_control_plane/models/outputclickhouse.py +++ b/src/cribl_control_plane/models/outputclickhouse.py @@ -3,12 +3,18 @@ from __future__ import annotations from .authenticationtypeoptions import AuthenticationTypeOptions from .backpressurebehavioroptions import BackpressureBehaviorOptions +from .columnmappingconfoutputclickhouse import ( + ColumnMappingConfOutputClickHouse, + ColumnMappingConfOutputClickHouseTypedDict, +) from .compressionoptionspq import CompressionOptionsPq from .extrahttpheaderconfinputelastic import ( ExtraHTTPHeaderConfInputElastic, ExtraHTTPHeaderConfInputElasticTypedDict, ) from .failedrequestloggingmodeoptions import FailedRequestLoggingModeOptions +from .formatoptions import FormatOptions +from .mappingtypeoptions import MappingTypeOptions from .modeoptions import ModeOptions from .queuefullbehavioroptions import QueueFullBehaviorOptions from .responseretrysettingconfoutputwebhook import ( @@ -23,7 +29,7 @@ TLSSettingsClientSideTypeCaPathCertPathExtended, TLSSettingsClientSideTypeCaPathCertPathExtendedTypedDict, ) -from cribl_control_plane import models, utils +from cribl_control_plane import models from cribl_control_plane.types import BaseModel, UNSET_SENTINEL from enum import Enum import pydantic @@ -36,62 +42,6 @@ class OutputClickHouseType(str, Enum): CLICK_HOUSE = "click_house" -class OutputClickHouseFormat(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Data format to use when sending data to ClickHouse. 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 OutputClickHouseMappingType(str, Enum, metaclass=utils.OpenEnumMeta): - r"""How event fields are mapped to ClickHouse columns""" - - # Automatic - AUTOMATIC = "automatic" - # Custom - CUSTOM = "custom" - - -class OutputClickHouseColumnMappingTypedDict(TypedDict): - column_name: str - r"""Name of the column in ClickHouse that will store field value""" - column_value_expression: str - r"""JavaScript expression to compute value to be inserted into ClickHouse table""" - column_type: NotRequired[str] - r"""Type of the column in the ClickHouse database""" - - -class OutputClickHouseColumnMapping(BaseModel): - column_name: Annotated[str, pydantic.Field(alias="columnName")] - r"""Name of the column in ClickHouse that will store field value""" - - column_value_expression: Annotated[ - str, pydantic.Field(alias="columnValueExpression") - ] - r"""JavaScript expression to compute value to be inserted into ClickHouse table""" - - column_type: Annotated[Optional[str], pydantic.Field(alias="columnType")] = None - r"""Type of the column in the ClickHouse 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 OutputClickHousePqControlsTypedDict(TypedDict): pass @@ -116,11 +66,11 @@ class OutputClickHouseTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" auth_type: NotRequired[AuthenticationTypeOptions] - format_: NotRequired[OutputClickHouseFormat] + format_: NotRequired[FormatOptions] r"""Data format to use when sending data to ClickHouse. Defaults to JSON Compact.""" - mapping_type: NotRequired[OutputClickHouseMappingType] + 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.""" @@ -157,11 +107,14 @@ class OutputClickHouseTypedDict(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""" 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] @@ -174,7 +127,7 @@ class OutputClickHouseTypedDict(TypedDict): 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[OutputClickHouseColumnMappingTypedDict]] + 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] @@ -196,7 +149,7 @@ class OutputClickHouseTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputClickHousePqControlsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -238,19 +191,17 @@ class OutputClickHouse(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" auth_type: Annotated[ Optional[AuthenticationTypeOptions], pydantic.Field(alias="authType") ] = None - format_: Annotated[ - Optional[OutputClickHouseFormat], pydantic.Field(alias="format") - ] = None + format_: Annotated[Optional[FormatOptions], pydantic.Field(alias="format")] = None r"""Data format to use when sending data to ClickHouse. Defaults to JSON Compact.""" mapping_type: Annotated[ - Optional[OutputClickHouseMappingType], pydantic.Field(alias="mappingType") + Optional[MappingTypeOptions], pydantic.Field(alias="mappingType") ] = None r"""How event fields are mapped to ClickHouse columns""" @@ -330,6 +281,9 @@ class OutputClickHouse(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") ] = None @@ -341,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 @@ -370,7 +325,7 @@ class OutputClickHouse(BaseModel): r"""Retrieves the table schema from ClickHouse and populates the Column Mapping table""" column_mappings: Annotated[ - Optional[List[OutputClickHouseColumnMapping]], + Optional[List[ColumnMappingConfOutputClickHouse]], pydantic.Field(alias="columnMappings"), ] = None @@ -421,7 +376,7 @@ class OutputClickHouse(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputClickHousePqControls], pydantic.Field(alias="pqControls") @@ -470,7 +425,7 @@ def serialize_auth_type(self, value): def serialize_format_(self, value): if isinstance(value, str): try: - return models.OutputClickHouseFormat(value) + return models.FormatOptions(value) except ValueError: return value return value @@ -479,7 +434,7 @@ def serialize_format_(self, value): def serialize_mapping_type(self, value): if isinstance(value, str): try: - return models.OutputClickHouseMappingType(value) + return models.MappingTypeOptions(value) except ValueError: return value return value @@ -557,6 +512,7 @@ def serialize_model(self, handler): "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", + "workload", "dumpFormatErrorsToDisk", "onBackpressure", "description", @@ -602,10 +558,6 @@ def serialize_model(self, handler): return m -try: - OutputClickHouseColumnMapping.model_rebuild() -except NameError: - pass try: OutputClickHouse.model_rebuild() except NameError: diff --git a/src/cribl_control_plane/models/outputcloudflarer2.py b/src/cribl_control_plane/models/outputcloudflarer2.py index ff68eb21a..190ec9879 100644 --- a/src/cribl_control_plane/models/outputcloudflarer2.py +++ b/src/cribl_control_plane/models/outputcloudflarer2.py @@ -1,6 +1,7 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations +from .authenticationmethodoptionsautosecret import AuthenticationMethodOptionsAutoSecret from .backpressurebehavioroptionsblockdrop import BackpressureBehaviorOptionsBlockDrop from .compressionleveloptions import CompressionLevelOptions from .compressionoptionshttp import CompressionOptionsHTTP @@ -23,7 +24,7 @@ from .storageclassoptionsreducedredundancystandard import ( StorageClassOptionsReducedredundancyStandard, ) -from cribl_control_plane import models, utils +from cribl_control_plane import models from cribl_control_plane.types import BaseModel, UNSET_SENTINEL from enum import Enum import pydantic @@ -36,15 +37,6 @@ class OutputCloudflareR2Type(str, Enum): CLOUDFLARE_R2 = "cloudflare_r2" -class OutputCloudflareR2AuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta): - r"""AWS authentication method. Choose Auto to use IAM roles.""" - - # Auto - AUTO = "auto" - # Secret Key pair - SECRET = "secret" - - class OutputCloudflareR2TypedDict(TypedDict): type: OutputCloudflareR2Type bucket: str @@ -62,8 +54,8 @@ class OutputCloudflareR2TypedDict(TypedDict): 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[OutputCloudflareR2AuthenticationMethod] + r"""Metadata tags used for categorization and filtering.""" + 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""" @@ -120,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] @@ -211,10 +204,10 @@ class OutputCloudflareR2(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: Annotated[ - Optional[OutputCloudflareR2AuthenticationMethod], + Optional[AuthenticationMethodOptionsAutoSecret], pydantic.Field(alias="awsAuthenticationMethod"), ] = None r"""AWS authentication method. Choose Auto to use IAM roles.""" @@ -351,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""" @@ -508,7 +502,7 @@ class OutputCloudflareR2(BaseModel): def serialize_aws_authentication_method(self, value): if isinstance(value, str): try: - return models.OutputCloudflareR2AuthenticationMethod(value) + return models.AuthenticationMethodOptionsAutoSecret(value) except ValueError: return value return value diff --git a/src/cribl_control_plane/models/outputcloudians3.py b/src/cribl_control_plane/models/outputcloudians3.py index 531cbfa93..1bcb1e2b3 100644 --- a/src/cribl_control_plane/models/outputcloudians3.py +++ b/src/cribl_control_plane/models/outputcloudians3.py @@ -53,7 +53,7 @@ class OutputCloudianS3TypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: NotRequired[AuthenticationMethodOptionsSecret] r"""Authentication method.""" reuse_connections: NotRequired[bool] @@ -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] @@ -210,7 +211,7 @@ class OutputCloudianS3(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: Annotated[ Optional[AuthenticationMethodOptionsSecret], @@ -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 0377ee562..d7b19cbd0 100644 --- a/src/cribl_control_plane/models/outputcloudwatch.py +++ b/src/cribl_control_plane/models/outputcloudwatch.py @@ -46,7 +46,7 @@ class OutputCloudwatchTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] r"""AWS authentication method. Choose Auto to use IAM roles.""" aws_secret_key: NotRequired[str] @@ -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""" @@ -97,7 +98,7 @@ class OutputCloudwatchTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputCloudwatchPqControlsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -148,7 +149,7 @@ class OutputCloudwatch(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: Annotated[ Optional[AuthenticationMethodOptionsS3CollectorConf], @@ -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 @@ -267,7 +269,7 @@ class OutputCloudwatch(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputCloudwatchPqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputconfluentcloud.py b/src/cribl_control_plane/models/outputconfluentcloud.py index 041d1cc13..56224f177 100644 --- a/src/cribl_control_plane/models/outputconfluentcloud.py +++ b/src/cribl_control_plane/models/outputconfluentcloud.py @@ -53,7 +53,7 @@ class OutputConfluentCloudTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] ack: NotRequired[AcknowledgmentsOptionsAllLeader] r"""Control the number of required acknowledgments.""" @@ -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] @@ -116,7 +117,7 @@ class OutputConfluentCloudTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputConfluentCloudPqControlsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -156,7 +157,7 @@ class OutputConfluentCloud(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None @@ -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") @@ -292,7 +294,7 @@ class OutputConfluentCloud(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputConfluentCloudPqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputcriblhttp.py b/src/cribl_control_plane/models/outputcriblhttp.py index 46932d417..8b48ebe3a 100644 --- a/src/cribl_control_plane/models/outputcriblhttp.py +++ b/src/cribl_control_plane/models/outputcriblhttp.py @@ -63,7 +63,7 @@ class OutputCriblHTTPTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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] @@ -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] @@ -140,7 +141,7 @@ class OutputCriblHTTPTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputCriblHTTPPqControlsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -170,7 +171,7 @@ class OutputCriblHTTP(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( None @@ -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""" @@ -340,7 +342,7 @@ class OutputCriblHTTP(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputCriblHTTPPqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputcribllake.py b/src/cribl_control_plane/models/outputcribllake.py index 931827a19..cead085fd 100644 --- a/src/cribl_control_plane/models/outputcribllake.py +++ b/src/cribl_control_plane/models/outputcribllake.py @@ -2,17 +2,20 @@ from __future__ import annotations from .backpressurebehavioroptionsblockdrop import BackpressureBehaviorOptionsBlockDrop +from .compressionleveloptions import CompressionLevelOptions +from .compressionoptionshttp import CompressionOptionsHTTP +from .datapageversionoptions import DataPageVersionOptions from .diskspaceprotectionoptions import DiskSpaceProtectionOptions -from .objectacloptions import ObjectACLOptions +from .keyvaluemetadataconfoutputfilesystem import ( + KeyValueMetadataConfOutputFilesystem, + KeyValueMetadataConfOutputFilesystemTypedDict, +) from .orphanfilerecoverytype import ( OrphanFileRecoveryType, OrphanFileRecoveryTypeTypedDict, ) +from .parquetversionoptions import ParquetVersionOptions from .retrysettingstype import RetrySettingsType, RetrySettingsTypeTypedDict -from .serversideencryptionforuploadedobjectsoptions import ( - ServerSideEncryptionForUploadedObjectsOptions, -) -from .storageclassoptions import StorageClassOptions from cribl_control_plane import models, utils from cribl_control_plane.types import BaseModel, UNSET_SENTINEL from enum import Enum @@ -26,17 +29,10 @@ class OutputCriblLakeType(str, Enum): CRIBL_LAKE = "cribl_lake" -class OutputCriblLakeAwsAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta): - AUTO = "auto" - AUTO_RPC = "auto_rpc" - MANUAL = "manual" - - class OutputCriblLakeFormat(str, Enum, metaclass=utils.OpenEnumMeta): JSON = "json" PARQUET = "parquet" - DDSS = "ddss" - NETSKOPE = "netskope" + RAW = "raw" class OutputCriblLakeTypedDict(TypedDict): @@ -50,31 +46,7 @@ class OutputCriblLakeTypedDict(TypedDict): 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).""" - 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""" - bucket: NotRequired[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: NotRequired[str] - r"""Region where the S3 bucket is located""" - dest_path: NotRequired[str] - r"""Lake dataset to send the data to.""" - 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"""Metadata tags used for categorization and filtering.""" 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] @@ -107,21 +79,40 @@ class OutputCriblLakeTypedDict(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""" - aws_authentication_method: NotRequired[OutputCriblLakeAwsAuthenticationMethod] + dest_path: NotRequired[str] + r"""Lake dataset to send the data to.""" format_: NotRequired[OutputCriblLakeFormat] + dynamic_dataset: NotRequired[bool] + max_closing_files_to_backpressure: NotRequired[float] max_concurrent_file_parts: NotRequired[float] - r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" 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] @@ -132,34 +123,18 @@ class OutputCriblLakeTypedDict(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_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_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 OutputCriblLake(BaseModel): @@ -180,59 +155,7 @@ class OutputCriblLake(BaseModel): 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).""" - - 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""" - - bucket: Optional[str] = None - 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: Optional[str] = None - r"""Region where the S3 bucket is located""" - - dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None - r"""Lake dataset to send the data to.""" - - 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""" + r"""Metadata tags used for categorization and filtering.""" 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.""" @@ -313,45 +236,91 @@ class OutputCriblLake(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None - aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( + dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None + r"""Lake dataset to send the data to.""" + + format_: Annotated[ + Optional[OutputCriblLakeFormat], 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 + 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"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" - object_acl: Annotated[ - Optional[ObjectACLOptions], pydantic.Field(alias="objectACL") + parquet_version: Annotated[ + Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") ] = None - r"""Object ACL to assign to uploaded objects""" + r"""Determines which data types are supported and how they are represented""" - storage_class: Annotated[ - Optional[StorageClassOptions], pydantic.Field(alias="storageClass") + parquet_data_page_version: Annotated[ + Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") ] = None - r"""Storage class to select for uploaded objects""" + 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.""" - server_side_encryption: Annotated[ - Optional[ServerSideEncryptionForUploadedObjectsOptions], - pydantic.Field(alias="serverSideEncryption"), + parquet_row_group_length: Annotated[ + Optional[float], pydantic.Field(alias="parquetRowGroupLength") ] = None - r"""Server-side encryption to use for uploaded objects""" + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - 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""" + 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.""" - aws_authentication_method: Annotated[ - Optional[OutputCriblLakeAwsAuthenticationMethod], - pydantic.Field(alias="awsAuthenticationMethod"), + 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""" - format_: Annotated[ - Optional[OutputCriblLakeFormat], pydantic.Field(alias="format") + 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\" """ - max_concurrent_file_parts: Annotated[ - Optional[float], pydantic.Field(alias="maxConcurrentFileParts") + enable_statistics: Annotated[ + Optional[bool], pydantic.Field(alias="enableStatistics") ] = None - r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" + 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.""" - description: Optional[str] = None + 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") @@ -378,36 +347,6 @@ class OutputCriblLake(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_base_file_name: Annotated[ Optional[str], pydantic.Field(alias="__template_baseFileName") ] = None @@ -423,30 +362,20 @@ class OutputCriblLake(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") + template_dest_path: Annotated[ + Optional[str], pydantic.Field(alias="__template_destPath") ] = 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 '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_server_side_encryption: Annotated[ - Optional[str], pydantic.Field(alias="__template_serverSideEncryption") + template_compress: Annotated[ + Optional[str], pydantic.Field(alias="__template_compress") ] = 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 '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_kms_key_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_kmsKeyId") + template_parquet_schema: Annotated[ + Optional[str], pydantic.Field(alias="__template_parquetSchema") ] = 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 '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("on_backpressure") def serialize_on_backpressure(self, value): @@ -466,47 +395,47 @@ 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.OutputCriblLakeFormat(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 - @field_serializer("aws_authentication_method") - def serialize_aws_authentication_method(self, value): + @field_serializer("parquet_version") + def serialize_parquet_version(self, value): if isinstance(value, str): try: - return models.OutputCriblLakeAwsAuthenticationMethod(value) + return models.ParquetVersionOptions(value) except ValueError: return value return value - @field_serializer("format_") - def serialize_format_(self, value): + @field_serializer("parquet_data_page_version") + def serialize_parquet_data_page_version(self, value): if isinstance(value, str): try: - return models.OutputCriblLakeFormat(value) + return models.DataPageVersionOptions(value) except ValueError: return value return value @@ -520,18 +449,6 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "endpoint", - "enableAssumeRole", - "assumeRoleArn", - "assumeRoleExternalId", - "durationSeconds", - "reuseConnections", - "rejectUnauthorized", - "bucket", - "region", - "destPath", - "verifyPermissions", - "maxClosingFilesToBackpressure", "stagePath", "addIdToStagePath", "removeEmptyDirs", @@ -549,34 +466,36 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", - "awsSecretKey", - "objectACL", - "storageClass", - "serverSideEncryption", - "kmsKeyId", - "awsAuthenticationMethod", + "destPath", "format", + "dynamicDataset", + "maxClosingFilesToBackpressure", "maxConcurrentFileParts", "description", + "compress", + "compressionLevel", + "automaticSchema", + "parquetSchema", + "parquetVersion", + "parquetDataPageVersion", + "parquetRowGroupLength", + "parquetPageSize", + "shouldLogInvalidRows", + "keyValueMetadata", + "enableStatistics", + "enableWritePageIndex", + "enablePageChecksum", "emptyDirCleanupSec", "directoryBatchSize", "deadletterPath", "maxRetryNum", "__template_streamtags", - "__template_endpoint", - "__template_assumeRoleArn", - "__template_assumeRoleExternalId", - "__template_bucket", - "__template_region", - "__template_destPath", "__template_baseFileName", "__template_fileNameSuffix", "__template_onBackpressure", - "__template_awsSecretKey", - "__template_objectACL", - "__template_storageClass", - "__template_serverSideEncryption", - "__template_kmsKeyId", + "__template_destPath", + "__template_compress", + "__template_parquetSchema", ] ) serialized = handler(self) diff --git a/src/cribl_control_plane/models/outputcriblsearchengine.py b/src/cribl_control_plane/models/outputcriblsearchengine.py index 6894f4327..a8b0bcf39 100644 --- a/src/cribl_control_plane/models/outputcriblsearchengine.py +++ b/src/cribl_control_plane/models/outputcriblsearchengine.py @@ -63,7 +63,7 @@ class OutputCriblSearchEngineTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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] @@ -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] @@ -140,7 +141,7 @@ class OutputCriblSearchEngineTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputCriblSearchEnginePqControlsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -170,7 +171,7 @@ class OutputCriblSearchEngine(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( None @@ -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""" @@ -340,7 +342,7 @@ class OutputCriblSearchEngine(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputCriblSearchEnginePqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputcribltcp.py b/src/cribl_control_plane/models/outputcribltcp.py index 227a829a7..2c033162b 100644 --- a/src/cribl_control_plane/models/outputcribltcp.py +++ b/src/cribl_control_plane/models/outputcribltcp.py @@ -47,7 +47,7 @@ class OutputCriblTCPTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" load_balanced: NotRequired[bool] r"""Use load-balanced destinations""" compression: NotRequired[CompressionOptionsGzipNone] @@ -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] @@ -105,7 +106,7 @@ class OutputCriblTCPTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputCriblTCPPqControlsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -135,7 +136,7 @@ class OutputCriblTCP(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( None @@ -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""" @@ -263,7 +265,7 @@ class OutputCriblTCP(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputCriblTCPPqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputcrowdstrikenextgensiem.py b/src/cribl_control_plane/models/outputcrowdstrikenextgensiem.py index a8e1c536e..b6ad20752 100644 --- a/src/cribl_control_plane/models/outputcrowdstrikenextgensiem.py +++ b/src/cribl_control_plane/models/outputcrowdstrikenextgensiem.py @@ -60,7 +60,7 @@ class OutputCrowdstrikeNextGenSiemTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] @@ -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""" @@ -122,7 +123,7 @@ class OutputCrowdstrikeNextGenSiemTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputCrowdstrikeNextGenSiemPqControlsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -160,7 +161,7 @@ class OutputCrowdstrikeNextGenSiem(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -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 @@ -296,7 +298,7 @@ class OutputCrowdstrikeNextGenSiem(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputCrowdstrikeNextGenSiemPqControls], diff --git a/src/cribl_control_plane/models/outputcustomermetricsstorage.py b/src/cribl_control_plane/models/outputcustomermetricsstorage.py new file mode 100644 index 000000000..fa3358b81 --- /dev/null +++ b/src/cribl_control_plane/models/outputcustomermetricsstorage.py @@ -0,0 +1,565 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .authenticationtypeoptions import AuthenticationTypeOptions +from .backpressurebehavioroptions import BackpressureBehaviorOptions +from .columnmappingconfoutputclickhouse import ( + ColumnMappingConfOutputClickHouse, + ColumnMappingConfOutputClickHouseTypedDict, +) +from .compressionoptionspq import CompressionOptionsPq +from .extrahttpheaderconfinputelastic import ( + ExtraHTTPHeaderConfInputElastic, + ExtraHTTPHeaderConfInputElasticTypedDict, +) +from .failedrequestloggingmodeoptions import FailedRequestLoggingModeOptions +from .formatoptions import FormatOptions +from .mappingtypeoptions import MappingTypeOptions +from .modeoptions import ModeOptions +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, 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 OutputCustomerMetricsStorageType(str, Enum): + CUSTOMER_METRICS_STORAGE = "customer_metrics_storage" + + +class OutputCustomerMetricsStoragePqControlsTypedDict(TypedDict): + pass + + +class OutputCustomerMetricsStoragePqControls(BaseModel): + pass + + +class OutputCustomerMetricsStorageTypedDict(TypedDict): + type: OutputCustomerMetricsStorageType + 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] + 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"""Metadata tags used for categorization and filtering.""" + 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[OutputCustomerMetricsStoragePqControlsTypedDict] + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable 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 OutputCustomerMetricsStorage(BaseModel): + type: OutputCustomerMetricsStorageType + + 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + auth_type: Annotated[ + 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.""" + + mapping_type: Annotated[ + Optional[MappingTypeOptions], pydantic.Field(alias="mappingType") + ] = None + r"""How event fields are mapped to ClickHouse 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.""" + + 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"""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.""" + + 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") + ] = None + r"""Log the most recent event that fails to match the table schema""" + + 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 + + credentials_secret: Annotated[ + Optional[str], pydantic.Field(alias="credentialsSecret") + ] = None + r"""Select or create a secret that references your credentials""" + + 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"""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: 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"""Retrieves the table schema from ClickHouse and populates the Column Mapping table""" + + column_mappings: Annotated[ + Optional[List[ColumnMappingConfOutputClickHouse]], + pydantic.Field(alias="columnMappings"), + ] = 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[OutputCustomerMetricsStoragePqControls], + 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_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 + 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("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.FormatOptions(value) + except ValueError: + return value + return value + + @field_serializer("mapping_type") + def serialize_mapping_type(self, value): + if isinstance(value, str): + try: + return models.MappingTypeOptions(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", + "authType", + "format", + "mappingType", + "asyncInserts", + "tls", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "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_url", + "__template_database", + "__template_tableName", + "__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 + + +try: + OutputCustomerMetricsStorage.model_rebuild() +except NameError: + pass diff --git a/src/cribl_control_plane/models/outputdatabricks.py b/src/cribl_control_plane/models/outputdatabricks.py index e931bc372..d47599839 100644 --- a/src/cribl_control_plane/models/outputdatabricks.py +++ b/src/cribl_control_plane/models/outputdatabricks.py @@ -55,7 +55,7 @@ class OutputDatabricksTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" dest_path: NotRequired[str] r"""Optional path to prepend to files before uploading.""" stage_path: NotRequired[str] @@ -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] @@ -190,7 +191,7 @@ class OutputDatabricks(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None r"""Optional path to prepend to files before uploading.""" @@ -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 2455b5d61..e955d980e 100644 --- a/src/cribl_control_plane/models/outputdatadog.py +++ b/src/cribl_control_plane/models/outputdatadog.py @@ -100,7 +100,7 @@ class OutputDatadogTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" content_type: NotRequired[OutputDatadogSendLogsAs] r"""The content type to use when sending logs""" message: NotRequired[str] @@ -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.""" @@ -184,7 +185,7 @@ class OutputDatadogTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputDatadogPqControlsTypedDict] api_key: NotRequired[str] r"""Organization's API key in Datadog""" @@ -218,7 +219,7 @@ class OutputDatadog(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" content_type: Annotated[ Optional[OutputDatadogSendLogsAs], pydantic.Field(alias="contentType") @@ -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 @@ -394,7 +396,7 @@ class OutputDatadog(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputDatadogPqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputdataset.py b/src/cribl_control_plane/models/outputdataset.py index a5cb78153..6593d9f15 100644 --- a/src/cribl_control_plane/models/outputdataset.py +++ b/src/cribl_control_plane/models/outputdataset.py @@ -81,7 +81,7 @@ class OutputDatasetTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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]] @@ -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.""" @@ -155,7 +156,7 @@ class OutputDatasetTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputDatasetPqControlsTypedDict] api_key: NotRequired[str] r"""A 'Log Write Access' API key for the DataSet account""" @@ -189,7 +190,7 @@ class OutputDataset(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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.""" @@ -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 @@ -352,7 +354,7 @@ class OutputDataset(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputDatasetPqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputdefault.py b/src/cribl_control_plane/models/outputdefault.py index a775bafe3..1e2abcc1e 100644 --- a/src/cribl_control_plane/models/outputdefault.py +++ b/src/cribl_control_plane/models/outputdefault.py @@ -26,7 +26,7 @@ class OutputDefaultTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -52,7 +52,7 @@ class OutputDefault(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") diff --git a/src/cribl_control_plane/models/outputdells3.py b/src/cribl_control_plane/models/outputdells3.py index 9a0c2e2d7..469e20596 100644 --- a/src/cribl_control_plane/models/outputdells3.py +++ b/src/cribl_control_plane/models/outputdells3.py @@ -49,7 +49,7 @@ class OutputDellS3TypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: NotRequired[AuthenticationMethodOptionsSecret] r"""Authentication method.""" reuse_connections: NotRequired[bool] @@ -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] @@ -194,7 +195,7 @@ class OutputDellS3(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: Annotated[ Optional[AuthenticationMethodOptionsSecret], @@ -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/outputdevnull.py b/src/cribl_control_plane/models/outputdevnull.py index 8f523240b..d360b0b42 100644 --- a/src/cribl_control_plane/models/outputdevnull.py +++ b/src/cribl_control_plane/models/outputdevnull.py @@ -24,7 +24,7 @@ class OutputDevnullTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -47,7 +47,7 @@ class OutputDevnull(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") diff --git a/src/cribl_control_plane/models/outputdiskspool.py b/src/cribl_control_plane/models/outputdiskspool.py index d4dec1fbd..27ba089fc 100644 --- a/src/cribl_control_plane/models/outputdiskspool.py +++ b/src/cribl_control_plane/models/outputdiskspool.py @@ -26,7 +26,7 @@ class OutputDiskSpoolTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" time_window: NotRequired[str] r"""Time period for grouping spooled events. Default is 10m.""" max_data_size: NotRequired[str] @@ -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.""" @@ -60,7 +61,7 @@ class OutputDiskSpool(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" time_window: Annotated[Optional[str], pydantic.Field(alias="timeWindow")] = None r"""Time period for grouping spooled events. Default is 10m.""" @@ -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..0c2bfc051 100644 --- a/src/cribl_control_plane/models/outputdls3.py +++ b/src/cribl_control_plane/models/outputdls3.py @@ -53,7 +53,7 @@ class OutputDlS3TypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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] @@ -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] @@ -229,7 +230,7 @@ class OutputDlS3(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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.""" @@ -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 d3765a40e..cb5d33b01 100644 --- a/src/cribl_control_plane/models/outputdynatracehttp.py +++ b/src/cribl_control_plane/models/outputdynatracehttp.py @@ -87,7 +87,7 @@ class OutputDynatraceHTTPTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" method: NotRequired[MethodOptions] r"""The method to use when sending events""" keep_alive: NotRequired[bool] @@ -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] @@ -151,7 +152,7 @@ class OutputDynatraceHTTPTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputDynatraceHTTPPqControlsTypedDict] token: NotRequired[str] r"""Bearer token to include in the authorization header""" @@ -200,7 +201,7 @@ class OutputDynatraceHTTP(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" method: Optional[MethodOptions] = None r"""The method to use when sending events""" @@ -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") @@ -341,7 +343,7 @@ class OutputDynatraceHTTP(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputDynatraceHTTPPqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputdynatraceotlp.py b/src/cribl_control_plane/models/outputdynatraceotlp.py index 94bc77425..4213f4d71 100644 --- a/src/cribl_control_plane/models/outputdynatraceotlp.py +++ b/src/cribl_control_plane/models/outputdynatraceotlp.py @@ -83,7 +83,7 @@ class OutputDynatraceOtlpTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" compress: NotRequired[CompressionOptionsDeflateGzip] r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" http_compress: NotRequired[CompressionOptionsMessages] @@ -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), @@ -159,7 +160,7 @@ class OutputDynatraceOtlpTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputDynatraceOtlpPqControlsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -204,7 +205,7 @@ class OutputDynatraceOtlp(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" compress: Optional[CompressionOptionsDeflateGzip] = None r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" @@ -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") @@ -374,7 +376,7 @@ class OutputDynatraceOtlp(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputDynatraceOtlpPqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputelastic.py b/src/cribl_control_plane/models/outputelastic.py index b412ec7e5..9c7e348ef 100644 --- a/src/cribl_control_plane/models/outputelastic.py +++ b/src/cribl_control_plane/models/outputelastic.py @@ -118,7 +118,7 @@ class OutputElasticTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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] @@ -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] @@ -200,7 +201,7 @@ class OutputElasticTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputElasticPqControlsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -239,7 +240,7 @@ class OutputElastic(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( None @@ -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""" @@ -421,7 +423,7 @@ class OutputElastic(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputElasticPqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputelasticcloud.py b/src/cribl_control_plane/models/outputelasticcloud.py index 35c816a60..776c8ce02 100644 --- a/src/cribl_control_plane/models/outputelasticcloud.py +++ b/src/cribl_control_plane/models/outputelasticcloud.py @@ -62,7 +62,7 @@ class OutputElasticCloudTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] @@ -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] @@ -124,7 +125,7 @@ class OutputElasticCloudTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputElasticCloudPqControlsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -164,7 +165,7 @@ class OutputElasticCloud(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -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") @@ -301,7 +303,7 @@ class OutputElasticCloud(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputElasticCloudPqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputexabeam.py b/src/cribl_control_plane/models/outputexabeam.py index dde40348b..0d364740b 100644 --- a/src/cribl_control_plane/models/outputexabeam.py +++ b/src/cribl_control_plane/models/outputexabeam.py @@ -48,7 +48,7 @@ class OutputExabeamTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" object_acl: NotRequired[ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol] r"""Object ACL to assign to uploaded objects""" storage_class: NotRequired[StorageClassOptionsArchiveColdline] @@ -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] @@ -146,7 +147,7 @@ class OutputExabeam(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" object_acl: Annotated[ Optional[ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol], @@ -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..6e8c9b7bb 100644 --- a/src/cribl_control_plane/models/outputfilesystem.py +++ b/src/cribl_control_plane/models/outputfilesystem.py @@ -43,7 +43,7 @@ class OutputFilesystemTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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] @@ -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] @@ -154,7 +155,7 @@ class OutputFilesystem(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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.""" @@ -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/outputgooglebigquery.py b/src/cribl_control_plane/models/outputgooglebigquery.py new file mode 100644 index 000000000..d539e3104 --- /dev/null +++ b/src/cribl_control_plane/models/outputgooglebigquery.py @@ -0,0 +1,356 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .backpressurebehavioroptions import BackpressureBehaviorOptions +from .compressionoptionspq import CompressionOptionsPq +from .modeoptions import ModeOptions +from .queuefullbehavioroptions import QueueFullBehaviorOptions +from cribl_control_plane import models, utils +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 OutputGoogleBigqueryType(str, Enum): + GOOGLE_BIGQUERY = "google_bigquery" + + +class OutputGoogleBigqueryGoogleAuthenticationMethod( + str, Enum, metaclass=utils.OpenEnumMeta +): + r"""Choose Auto to use Google Application Default Credentials (ADC), or Secret to select or create a stored secret that references Google service account credentials""" + + # Auto + AUTO = "auto" + # Secret + SECRET = "secret" + + +class OutputGoogleBigqueryPqControlsTypedDict(TypedDict): + pass + + +class OutputGoogleBigqueryPqControls(BaseModel): + pass + + +class OutputGoogleBigqueryTypedDict(TypedDict): + type: OutputGoogleBigqueryType + project_id: str + r"""Google Cloud project ID that contains the BigQuery dataset""" + dataset_id: str + r"""BigQuery dataset ID""" + table_id: str + r"""BigQuery table ID""" + google_auth_method: OutputGoogleBigqueryGoogleAuthenticationMethod + r"""Choose Auto to use Google Application Default Credentials (ADC), or 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"""Metadata tags used for categorization and filtering.""" + timestamp_column: NotRequired[str] + r"""Column name to write event time (`_time`) as a BigQuery TIMESTAMP. Used for time partitioning""" + secret: NotRequired[str] + r"""Select or create a stored text secret""" + flush_period: NotRequired[float] + r"""Maximum time to wait before sending a batch (when batch size limit 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 a single append request. BigQuery limit is 10 MB""" + 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.""" + 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[OutputGoogleBigqueryPqControlsTypedDict] + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_project_id: NotRequired[str] + r"""Binds 'projectId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'projectId' at runtime.""" + template_dataset_id: NotRequired[str] + r"""Binds 'datasetId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'datasetId' at runtime.""" + template_table_id: NotRequired[str] + r"""Binds 'tableId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tableId' 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 OutputGoogleBigquery(BaseModel): + type: OutputGoogleBigqueryType + + project_id: Annotated[str, pydantic.Field(alias="projectId")] + r"""Google Cloud project ID that contains the BigQuery dataset""" + + dataset_id: Annotated[str, pydantic.Field(alias="datasetId")] + r"""BigQuery dataset ID""" + + table_id: Annotated[str, pydantic.Field(alias="tableId")] + r"""BigQuery table ID""" + + google_auth_method: Annotated[ + OutputGoogleBigqueryGoogleAuthenticationMethod, + pydantic.Field(alias="googleAuthMethod"), + ] + r"""Choose Auto to use Google Application Default Credentials (ADC), or Secret to select or create a stored secret that references Google service account credentials""" + + 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"""Metadata tags used for categorization and filtering.""" + + timestamp_column: Annotated[ + Optional[str], pydantic.Field(alias="timestampColumn") + ] = None + r"""Column name to write event time (`_time`) as a BigQuery TIMESTAMP. Used for time partitioning""" + + secret: Optional[str] = None + r"""Select or create a stored text secret""" + + 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_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 a single append request. BigQuery limit is 10 MB""" + + 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.""" + + 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[OutputGoogleBigqueryPqControls], 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_project_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_projectId") + ] = None + r"""Binds 'projectId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'projectId' at runtime.""" + + template_dataset_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_datasetId") + ] = None + r"""Binds 'datasetId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'datasetId' at runtime.""" + + template_table_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_tableId") + ] = None + r"""Binds 'tableId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tableId' 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.OutputGoogleBigqueryGoogleAuthenticationMethod(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", + "timestampColumn", + "secret", + "flushPeriod", + "maxQueueSize", + "maxRecordSizeKB", + "maxInProgress", + "onBackpressure", + "description", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_projectId", + "__template_datasetId", + "__template_tableId", + "__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 + + +try: + OutputGoogleBigquery.model_rebuild() +except NameError: + pass diff --git a/src/cribl_control_plane/models/outputgooglechronicle.py b/src/cribl_control_plane/models/outputgooglechronicle.py index c824adba7..49789f333 100644 --- a/src/cribl_control_plane/models/outputgooglechronicle.py +++ b/src/cribl_control_plane/models/outputgooglechronicle.py @@ -116,7 +116,7 @@ class OutputGoogleChronicleTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" api_version: NotRequired[OutputGoogleChronicleAPIVersion] authentication_method: NotRequired[OutputGoogleChronicleAuthenticationMethod] response_retry_settings: NotRequired[ @@ -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] @@ -201,7 +202,7 @@ class OutputGoogleChronicleTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputGoogleChroniclePqControlsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -239,7 +240,7 @@ class OutputGoogleChronicle(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" api_version: Annotated[ Optional[OutputGoogleChronicleAPIVersion], pydantic.Field(alias="apiVersion") @@ -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]], @@ -430,7 +432,7 @@ class OutputGoogleChronicle(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputGoogleChroniclePqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputgooglecloudlogging.py b/src/cribl_control_plane/models/outputgooglecloudlogging.py index 73cc151c7..4d015da2d 100644 --- a/src/cribl_control_plane/models/outputgooglecloudlogging.py +++ b/src/cribl_control_plane/models/outputgooglecloudlogging.py @@ -67,7 +67,7 @@ class OutputGoogleCloudLoggingTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" sanitize_log_names: NotRequired[bool] payload_format: NotRequired[OutputGoogleCloudLoggingPayloadFormat] r"""Format to use when sending payload. Defaults to Text.""" @@ -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] @@ -187,7 +188,7 @@ class OutputGoogleCloudLoggingTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputGoogleCloudLoggingPqControlsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -247,7 +248,7 @@ class OutputGoogleCloudLogging(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" sanitize_log_names: Annotated[ Optional[bool], pydantic.Field(alias="sanitizeLogNames") @@ -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") @@ -533,7 +535,7 @@ class OutputGoogleCloudLogging(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputGoogleCloudLoggingPqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputgooglecloudobservability.py b/src/cribl_control_plane/models/outputgooglecloudobservability.py new file mode 100644 index 000000000..8ef846cd2 --- /dev/null +++ b/src/cribl_control_plane/models/outputgooglecloudobservability.py @@ -0,0 +1,455 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .backpressurebehavioroptions import BackpressureBehaviorOptions +from .compressionoptionspq import CompressionOptionsPq +from .failedrequestloggingmodeoptions import FailedRequestLoggingModeOptions +from .keyvaluemetadataconfoutputfilesystem import ( + KeyValueMetadataConfOutputFilesystem, + KeyValueMetadataConfOutputFilesystemTypedDict, +) +from .modeoptions import ModeOptions +from .queuefullbehavioroptions import QueueFullBehaviorOptions +from .tlssettingsclientsidetypeextended import ( + TLSSettingsClientSideTypeExtended, + TLSSettingsClientSideTypeExtendedTypedDict, +) +from cribl_control_plane import models, utils +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 OutputGoogleCloudObservabilityType(str, Enum): + GOOGLE_CLOUD_OBSERVABILITY = "google_cloud_observability" + + +class OutputGoogleCloudObservabilityProtocol(str, Enum, metaclass=utils.OpenEnumMeta): + GRPC = "grpc" + + +class OutputGoogleCloudObservabilityOtlpVersion( + str, Enum, metaclass=utils.OpenEnumMeta +): + ONE_DOT_3_DOT_1 = "1.3.1" + + +class OutputGoogleCloudObservabilityEndpoint(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 OutputGoogleCloudObservabilityGoogleAuthenticationMethod( + 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 OutputGoogleCloudObservabilityPqControlsTypedDict(TypedDict): + pass + + +class OutputGoogleCloudObservabilityPqControls(BaseModel): + pass + + +class OutputGoogleCloudObservabilityTypedDict(TypedDict): + type: OutputGoogleCloudObservabilityType + google_auth_method: OutputGoogleCloudObservabilityGoogleAuthenticationMethod + 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"""Metadata tags used for categorization and filtering.""" + protocol: NotRequired[OutputGoogleCloudObservabilityProtocol] + otlp_version: NotRequired[OutputGoogleCloudObservabilityOtlpVersion] + endpoint: NotRequired[OutputGoogleCloudObservabilityEndpoint] + 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[OutputGoogleCloudObservabilityPqControlsTypedDict] + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable 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.""" + + +class OutputGoogleCloudObservability(BaseModel): + type: OutputGoogleCloudObservabilityType + + google_auth_method: Annotated[ + OutputGoogleCloudObservabilityGoogleAuthenticationMethod, + 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.""" + + 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"""Metadata tags used for categorization and filtering.""" + + protocol: Optional[OutputGoogleCloudObservabilityProtocol] = None + + otlp_version: Annotated[ + Optional[OutputGoogleCloudObservabilityOtlpVersion], + pydantic.Field(alias="otlpVersion"), + ] = None + + endpoint: Optional[OutputGoogleCloudObservabilityEndpoint] = 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'.""" + + 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 sent to Google Cloud Observability""" + + 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") + ] = None + r"""How often the sender should ping the peer to keep the connection open""" + + tls: Optional[TLSSettingsClientSideTypeExtended] = None + + 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). 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") + ] = None + 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""" + + 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[OutputGoogleCloudObservabilityPqControls], + 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_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("protocol") + def serialize_protocol(self, value): + if isinstance(value, str): + try: + return models.OutputGoogleCloudObservabilityProtocol(value) + except ValueError: + return value + return value + + @field_serializer("otlp_version") + def serialize_otlp_version(self, value): + if isinstance(value, str): + try: + return models.OutputGoogleCloudObservabilityOtlpVersion(value) + except ValueError: + return value + return value + + @field_serializer("endpoint") + def serialize_endpoint(self, value): + if isinstance(value, str): + try: + return models.OutputGoogleCloudObservabilityEndpoint(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.OutputGoogleCloudObservabilityGoogleAuthenticationMethod( + 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", + ] + ) + 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: + OutputGoogleCloudObservability.model_rebuild() +except NameError: + pass diff --git a/src/cribl_control_plane/models/outputgooglecloudstorage.py b/src/cribl_control_plane/models/outputgooglecloudstorage.py index 2f24308c6..cb967aa0d 100644 --- a/src/cribl_control_plane/models/outputgooglecloudstorage.py +++ b/src/cribl_control_plane/models/outputgooglecloudstorage.py @@ -64,7 +64,7 @@ class OutputGoogleCloudStorageTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: NotRequired[OutputGoogleCloudStorageAuthenticationMethod] 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}`""" @@ -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] @@ -217,7 +218,7 @@ class OutputGoogleCloudStorage(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: Annotated[ Optional[OutputGoogleCloudStorageAuthenticationMethod], @@ -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 bf6544438..9f3ffd87e 100644 --- a/src/cribl_control_plane/models/outputgooglepubsub.py +++ b/src/cribl_control_plane/models/outputgooglepubsub.py @@ -40,7 +40,7 @@ class OutputGooglePubsubTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" create_topic: NotRequired[bool] r"""If enabled, create topic if it does not exist.""" ordered_delivery: NotRequired[bool] @@ -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] @@ -89,7 +90,7 @@ class OutputGooglePubsubTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputGooglePubsubPqControlsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -122,7 +123,7 @@ class OutputGooglePubsub(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" create_topic: Annotated[Optional[bool], pydantic.Field(alias="createTopic")] = None r"""If enabled, create topic if it does not exist.""" @@ -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") @@ -229,7 +231,7 @@ class OutputGooglePubsub(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputGooglePubsubPqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputgrafanacloud_union.py b/src/cribl_control_plane/models/outputgrafanacloud_union.py index 65f34fce9..f82cc2449 100644 --- a/src/cribl_control_plane/models/outputgrafanacloud_union.py +++ b/src/cribl_control_plane/models/outputgrafanacloud_union.py @@ -12,9 +12,9 @@ from .modeoptions import ModeOptions from .prometheusauthtype import PrometheusAuthType, PrometheusAuthTypeTypedDict from .queuefullbehavioroptions import QueueFullBehaviorOptions -from .requestparamconfinputopenai import ( - RequestParamConfInputOpenai, - RequestParamConfInputOpenaiTypedDict, +from .refreshrequestparamconfhealthcheckauthenticationoauthsecret import ( + RefreshRequestParamConfHealthCheckAuthenticationOauthSecret, + RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict, ) from .responseretrysettingconfoutputwebhook import ( ResponseRetrySettingConfOutputWebhook, @@ -58,14 +58,16 @@ class OutputGrafanaCloudGrafanaCloud2TypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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[RequestParamConfInputOpenaiTypedDict]] + labels: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict] + ] 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..""" @@ -104,6 +106,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] @@ -127,7 +130,7 @@ class OutputGrafanaCloudGrafanaCloud2TypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputGrafanaCloudPqControls2TypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -162,7 +165,7 @@ class OutputGrafanaCloudGrafanaCloud2(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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""" @@ -175,7 +178,9 @@ class OutputGrafanaCloudGrafanaCloud2(BaseModel): ] = None r"""Format to use when sending logs to Loki (Protobuf or JSON)""" - labels: Optional[List[RequestParamConfInputOpenai]] = None + labels: Optional[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecret] + ] = 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[ @@ -263,6 +268,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.""" @@ -314,7 +320,7 @@ class OutputGrafanaCloudGrafanaCloud2(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputGrafanaCloudPqControls2], pydantic.Field(alias="pqControls") @@ -489,14 +495,16 @@ class OutputGrafanaCloudGrafanaCloud1TypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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.""" message_format: NotRequired[MessageFormatOptions] r"""Format to use when sending logs to Loki (Protobuf or JSON)""" - labels: NotRequired[List[RequestParamConfInputOpenaiTypedDict]] + labels: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict] + ] 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..""" @@ -535,6 +543,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] @@ -558,7 +567,7 @@ class OutputGrafanaCloudGrafanaCloud1TypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputGrafanaCloudPqControls1TypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -593,7 +602,7 @@ class OutputGrafanaCloudGrafanaCloud1(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" prometheus_url: Annotated[Optional[str], pydantic.Field(alias="prometheusUrl")] = ( None @@ -608,7 +617,9 @@ class OutputGrafanaCloudGrafanaCloud1(BaseModel): ] = None r"""Format to use when sending logs to Loki (Protobuf or JSON)""" - labels: Optional[List[RequestParamConfInputOpenai]] = None + labels: Optional[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecret] + ] = 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[ @@ -696,6 +707,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.""" @@ -747,7 +759,7 @@ class OutputGrafanaCloudGrafanaCloud1(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputGrafanaCloudPqControls1], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputgraphite.py b/src/cribl_control_plane/models/outputgraphite.py index e8f2274ed..60e0145e8 100644 --- a/src/cribl_control_plane/models/outputgraphite.py +++ b/src/cribl_control_plane/models/outputgraphite.py @@ -44,7 +44,7 @@ class OutputGraphiteTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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] @@ -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] @@ -81,7 +82,7 @@ class OutputGraphiteTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputGraphitePqControlsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -116,7 +117,7 @@ class OutputGraphite(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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.""" @@ -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") @@ -200,7 +202,7 @@ class OutputGraphite(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputGraphitePqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputhoneycomb.py b/src/cribl_control_plane/models/outputhoneycomb.py index 05ed423cb..d4ae3db04 100644 --- a/src/cribl_control_plane/models/outputhoneycomb.py +++ b/src/cribl_control_plane/models/outputhoneycomb.py @@ -53,7 +53,7 @@ class OutputHoneycombTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] @@ -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] @@ -112,7 +113,7 @@ class OutputHoneycombTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputHoneycombPqControlsTypedDict] team: NotRequired[str] r"""Team API key where the dataset belongs""" @@ -147,7 +148,7 @@ class OutputHoneycomb(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -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") @@ -277,7 +279,7 @@ class OutputHoneycomb(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputHoneycombPqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputhumiohec.py b/src/cribl_control_plane/models/outputhumiohec.py index 356de57d8..1f3c49122 100644 --- a/src/cribl_control_plane/models/outputhumiohec.py +++ b/src/cribl_control_plane/models/outputhumiohec.py @@ -58,7 +58,7 @@ class OutputHumioHecTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] @@ -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] @@ -121,7 +122,7 @@ class OutputHumioHecTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputHumioHecPqControlsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -157,7 +158,7 @@ class OutputHumioHec(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -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""" @@ -294,7 +296,7 @@ class OutputHumioHec(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputHumioHecPqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputibmclouds3.py b/src/cribl_control_plane/models/outputibmclouds3.py new file mode 100644 index 000000000..642dfbc40 --- /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"""Metadata tags used for categorization and filtering.""" + 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"""Metadata tags used for categorization and filtering.""" + + 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 93a5a93c3..83558d8b4 100644 --- a/src/cribl_control_plane/models/outputinfluxdb.py +++ b/src/cribl_control_plane/models/outputinfluxdb.py @@ -84,7 +84,7 @@ class OutputInfluxdbTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" use_v2_api: NotRequired[bool] r"""The v2 API can be enabled with InfluxDB versions 1.8 and later.""" timestamp_precision: NotRequired[OutputInfluxdbTimestampPrecision] @@ -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] @@ -157,7 +158,7 @@ class OutputInfluxdbTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputInfluxdbPqControlsTypedDict] username: NotRequired[str] password: NotRequired[str] @@ -202,7 +203,7 @@ class OutputInfluxdb(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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.""" @@ -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.""" @@ -360,7 +362,7 @@ class OutputInfluxdb(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputInfluxdbPqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputkafka.py b/src/cribl_control_plane/models/outputkafka.py index 78f528224..b053be40f 100644 --- a/src/cribl_control_plane/models/outputkafka.py +++ b/src/cribl_control_plane/models/outputkafka.py @@ -53,7 +53,7 @@ class OutputKafkaTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" ack: NotRequired[AcknowledgmentsOptionsAllLeader] r"""Control the number of required acknowledgments.""" format_: NotRequired[RecordDataFormatOptionsJSONProtobuf] @@ -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] @@ -116,7 +117,7 @@ class OutputKafkaTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputKafkaPqControlsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -154,7 +155,7 @@ class OutputKafka(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" ack: Optional[AcknowledgmentsOptionsAllLeader] = None r"""Control the number of required acknowledgments.""" @@ -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") @@ -290,7 +292,7 @@ class OutputKafka(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputKafkaPqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputkinesis.py b/src/cribl_control_plane/models/outputkinesis.py index 4e4959a34..179d25473 100644 --- a/src/cribl_control_plane/models/outputkinesis.py +++ b/src/cribl_control_plane/models/outputkinesis.py @@ -53,7 +53,7 @@ class OutputKinesisTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] r"""AWS authentication method. Choose Auto to use IAM roles.""" aws_secret_key: NotRequired[str] @@ -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""" @@ -112,7 +113,7 @@ class OutputKinesisTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputKinesisPqControlsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -158,7 +159,7 @@ class OutputKinesis(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: Annotated[ Optional[AuthenticationMethodOptionsS3CollectorConf], @@ -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 @@ -291,7 +293,7 @@ class OutputKinesis(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputKinesisPqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputlocalsearchstorage.py b/src/cribl_control_plane/models/outputlocalsearchstorage.py index 655a090ee..099c6e99c 100644 --- a/src/cribl_control_plane/models/outputlocalsearchstorage.py +++ b/src/cribl_control_plane/models/outputlocalsearchstorage.py @@ -178,7 +178,7 @@ class OutputLocalSearchStorageTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" auth_type: NotRequired[AuthenticationTypeOptions] format_: NotRequired[OutputLocalSearchStorageFormat] r"""Data format to use when sending data. Defaults to JSON Compact.""" @@ -219,12 +219,15 @@ class OutputLocalSearchStorageTypedDict(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""" on_backpressure: NotRequired[BackpressureBehaviorOptions] 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] @@ -259,7 +262,7 @@ class OutputLocalSearchStorageTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputLocalSearchStoragePqControlsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -301,7 +304,7 @@ class OutputLocalSearchStorage(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" auth_type: Annotated[ Optional[AuthenticationTypeOptions], pydantic.Field(alias="authType") @@ -394,6 +397,9 @@ class OutputLocalSearchStorage(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") ] = None @@ -410,6 +416,7 @@ class OutputLocalSearchStorage(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" username: Optional[str] = None @@ -490,7 +497,7 @@ class OutputLocalSearchStorage(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputLocalSearchStoragePqControls], pydantic.Field(alias="pqControls") @@ -626,6 +633,7 @@ def serialize_model(self, handler): "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", + "workload", "dumpFormatErrorsToDisk", "onBackpressure", "statsDestination", diff --git a/src/cribl_control_plane/models/outputloki.py b/src/cribl_control_plane/models/outputloki.py index eecfd75b6..ecbc5a69b 100644 --- a/src/cribl_control_plane/models/outputloki.py +++ b/src/cribl_control_plane/models/outputloki.py @@ -14,9 +14,9 @@ from .messageformatoptions import MessageFormatOptions from .modeoptions import ModeOptions from .queuefullbehavioroptions import QueueFullBehaviorOptions -from .requestparamconfinputopenai import ( - RequestParamConfInputOpenai, - RequestParamConfInputOpenaiTypedDict, +from .refreshrequestparamconfhealthcheckauthenticationoauthsecret import ( + RefreshRequestParamConfHealthCheckAuthenticationOauthSecret, + RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict, ) from .responseretrysettingconfoutputwebhook import ( ResponseRetrySettingConfOutputWebhook, @@ -60,12 +60,14 @@ class OutputLokiTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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[RequestParamConfInputOpenaiTypedDict]] + labels: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict] + ] 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 @@ -107,6 +109,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] @@ -140,7 +143,7 @@ class OutputLokiTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputLokiPqControlsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -171,7 +174,7 @@ class OutputLoki(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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.""" @@ -181,7 +184,9 @@ class OutputLoki(BaseModel): ] = None r"""Format to use when sending logs to Loki (Protobuf or JSON)""" - labels: Optional[List[RequestParamConfInputOpenai]] = None + labels: Optional[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecret] + ] = 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\"}'""" auth_type: Annotated[ @@ -271,6 +276,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""" @@ -339,7 +345,7 @@ class OutputLoki(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputLokiPqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputmicrosoftfabric.py b/src/cribl_control_plane/models/outputmicrosoftfabric.py index fb0621dc4..5355b0009 100644 --- a/src/cribl_control_plane/models/outputmicrosoftfabric.py +++ b/src/cribl_control_plane/models/outputmicrosoftfabric.py @@ -230,7 +230,7 @@ class OutputMicrosoftFabricTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" ack: NotRequired[AcknowledgmentsOptions] r"""Control the number of required acknowledgments""" format_: NotRequired[RecordDataFormatOptions] @@ -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] @@ -284,7 +285,7 @@ class OutputMicrosoftFabricTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputMicrosoftFabricPqControlsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -322,7 +323,7 @@ class OutputMicrosoftFabric(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" ack: Optional[AcknowledgmentsOptions] = None r"""Control the number of required acknowledgments""" @@ -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") @@ -440,7 +442,7 @@ class OutputMicrosoftFabric(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputMicrosoftFabricPqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputminio.py b/src/cribl_control_plane/models/outputminio.py index 8e383b49a..64702d4d7 100644 --- a/src/cribl_control_plane/models/outputminio.py +++ b/src/cribl_control_plane/models/outputminio.py @@ -57,7 +57,7 @@ class OutputMinioTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] r"""AWS authentication method. Choose Auto to use IAM roles.""" reuse_connections: NotRequired[bool] @@ -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] @@ -218,7 +219,7 @@ class OutputMinio(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: Annotated[ Optional[AuthenticationMethodOptionsS3CollectorConf], @@ -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 7f3512a08..c62fbd0b6 100644 --- a/src/cribl_control_plane/models/outputmsk.py +++ b/src/cribl_control_plane/models/outputmsk.py @@ -59,7 +59,7 @@ class OutputMskTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" ack: NotRequired[AcknowledgmentsOptionsAllLeader] r"""Control the number of required acknowledgments.""" format_: NotRequired[RecordDataFormatOptionsJSONProtobuf] @@ -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""" @@ -138,7 +139,7 @@ class OutputMskTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputMskPqControlsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -197,7 +198,7 @@ class OutputMsk(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" ack: Optional[AcknowledgmentsOptionsAllLeader] = None r"""Control the number of required acknowledgments.""" @@ -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 @@ -372,7 +374,7 @@ class OutputMsk(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputMskPqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputnetflow.py b/src/cribl_control_plane/models/outputnetflow.py index eec09453a..7496e2f28 100644 --- a/src/cribl_control_plane/models/outputnetflow.py +++ b/src/cribl_control_plane/models/outputnetflow.py @@ -71,12 +71,13 @@ class OutputNetflowTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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] @@ -104,7 +105,7 @@ class OutputNetflow(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" dns_resolve_period_sec: Annotated[ Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") @@ -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 053c07b91..e8e3a868b 100644 --- a/src/cribl_control_plane/models/outputnewrelic.py +++ b/src/cribl_control_plane/models/outputnewrelic.py @@ -34,6 +34,8 @@ class OutputNewrelicType(str, Enum): class OutputNewrelicFieldName(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Name of the metadata field.""" + SERVICE = "service" HOSTNAME = "hostname" TIMESTAMP = "timestamp" @@ -42,12 +44,14 @@ class OutputNewrelicFieldName(str, Enum, metaclass=utils.OpenEnumMeta): class OutputNewrelicMetadatumTypedDict(TypedDict): name: OutputNewrelicFieldName + 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 OutputNewrelicMetadatum(BaseModel): name: OutputNewrelicFieldName + 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.)""" @@ -81,7 +85,7 @@ class OutputNewrelicTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" region: NotRequired[RegionOptions] r"""Which New Relic region endpoint to use.""" log_type: NotRequired[str] @@ -129,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.""" @@ -151,7 +156,7 @@ class OutputNewrelicTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputNewrelicPqControlsTypedDict] api_key: NotRequired[str] r"""New Relic API key. Can be overridden using __newRelic_apiKey field.""" @@ -189,7 +194,7 @@ class OutputNewrelic(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" region: Optional[RegionOptions] = None r"""Which New Relic region endpoint to use.""" @@ -288,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 @@ -338,7 +344,7 @@ class OutputNewrelic(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputNewrelicPqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputnewrelicevents.py b/src/cribl_control_plane/models/outputnewrelicevents.py index f7872761a..b33bed840 100644 --- a/src/cribl_control_plane/models/outputnewrelicevents.py +++ b/src/cribl_control_plane/models/outputnewrelicevents.py @@ -56,7 +56,7 @@ class OutputNewrelicEventsTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" region: NotRequired[RegionOptions] r"""Which New Relic region endpoint to use.""" concurrency: NotRequired[float] @@ -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.""" @@ -118,7 +119,7 @@ class OutputNewrelicEventsTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputNewrelicEventsPqControlsTypedDict] api_key: NotRequired[str] r"""New Relic API key. Can be overridden using __newRelic_apiKey field.""" @@ -164,7 +165,7 @@ class OutputNewrelicEvents(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" region: Optional[RegionOptions] = None r"""Which New Relic region endpoint to use.""" @@ -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 @@ -299,7 +301,7 @@ class OutputNewrelicEvents(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputNewrelicEventsPqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputnutanixobjects.py b/src/cribl_control_plane/models/outputnutanixobjects.py index 58f7135cf..6cf4cd3aa 100644 --- a/src/cribl_control_plane/models/outputnutanixobjects.py +++ b/src/cribl_control_plane/models/outputnutanixobjects.py @@ -48,7 +48,7 @@ class OutputNutanixObjectsTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: NotRequired[AuthenticationMethodOptionsSecret] r"""Authentication method.""" reuse_connections: NotRequired[bool] @@ -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] @@ -189,7 +190,7 @@ class OutputNutanixObjects(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: Annotated[ Optional[AuthenticationMethodOptionsSecret], @@ -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 fe62a5bd1..782d723f8 100644 --- a/src/cribl_control_plane/models/outputopentelemetry.py +++ b/src/cribl_control_plane/models/outputopentelemetry.py @@ -95,7 +95,7 @@ class OutputOpenTelemetryTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" protocol: NotRequired[ProtocolOptions] r"""Select a transport option for OpenTelemetry""" otlp_version: NotRequired[OutputOpenTelemetryOTLPVersion] @@ -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] @@ -200,7 +201,7 @@ class OutputOpenTelemetryTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputOpenTelemetryPqControlsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -233,7 +234,7 @@ class OutputOpenTelemetry(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" protocol: Optional[ProtocolOptions] = None r"""Select a transport option for OpenTelemetry""" @@ -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 @@ -469,7 +471,7 @@ class OutputOpenTelemetry(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputOpenTelemetryPqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputprometheus.py b/src/cribl_control_plane/models/outputprometheus.py index 139f6d172..3600bafa8 100644 --- a/src/cribl_control_plane/models/outputprometheus.py +++ b/src/cribl_control_plane/models/outputprometheus.py @@ -1,9 +1,7 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .authenticationtypeoptionsprometheusauth import ( - AuthenticationTypeOptionsPrometheusAuth, -) +from .authenticationmethodoptionsautosecret import AuthenticationMethodOptionsAutoSecret from .backpressurebehavioroptions import BackpressureBehaviorOptions from .compressionoptionspq import CompressionOptionsPq from .extrahttpheaderconfinputelastic import ( @@ -21,7 +19,7 @@ TimeoutRetrySettingsType, TimeoutRetrySettingsTypeTypedDict, ) -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 @@ -34,6 +32,23 @@ class OutputPrometheusType(str, Enum): PROMETHEUS = "prometheus" +class OutputPrometheusAuthenticationType(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 OutputPrometheusPqControlsTypedDict(TypedDict): pass @@ -55,7 +70,7 @@ class OutputPrometheusTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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] @@ -94,9 +109,10 @@ class OutputPrometheusTypedDict(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[AuthenticationTypeOptionsPrometheusAuth] + 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] @@ -120,7 +136,7 @@ class OutputPrometheusTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputPrometheusPqControlsTypedDict] username: NotRequired[str] password: NotRequired[str] @@ -130,6 +146,22 @@ class OutputPrometheusTypedDict(TypedDict): 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] @@ -138,6 +170,14 @@ class OutputPrometheusTypedDict(TypedDict): 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 OutputPrometheus(BaseModel): @@ -161,7 +201,7 @@ class OutputPrometheus(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" metric_rename_expr: Annotated[ Optional[str], pydantic.Field(alias="metricRenameExpr") @@ -250,12 +290,12 @@ class OutputPrometheus(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" auth_type: Annotated[ - Optional[AuthenticationTypeOptionsPrometheusAuth], - pydantic.Field(alias="authType"), + Optional[OutputPrometheusAuthenticationType], pydantic.Field(alias="authType") ] = None 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") @@ -309,7 +349,7 @@ class OutputPrometheus(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputPrometheusPqControls], pydantic.Field(alias="pqControls") @@ -330,6 +370,41 @@ class OutputPrometheus(BaseModel): 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 @@ -350,6 +425,26 @@ class OutputPrometheus(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.""" + @field_serializer("failed_request_logging_mode") def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): @@ -372,7 +467,7 @@ def serialize_on_backpressure(self, value): def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.AuthenticationTypeOptionsPrometheusAuth(value) + return models.OutputPrometheusAuthenticationType(value) except ValueError: return value return value @@ -404,6 +499,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( @@ -450,10 +554,22 @@ def serialize_model(self, handler): "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) diff --git a/src/cribl_control_plane/models/outputresponse.py b/src/cribl_control_plane/models/outputresponse.py index 50a1fef7e..4f253cbf4 100644 --- a/src/cribl_control_plane/models/outputresponse.py +++ b/src/cribl_control_plane/models/outputresponse.py @@ -1,64 +1,15 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .acknowledgmentsoptions import AcknowledgmentsOptions -from .acknowledgmentsoptionsallleader import AcknowledgmentsOptionsAllLeader -from .authenticationmethodoptions import AuthenticationMethodOptions -from .authenticationmethodoptionsapi import AuthenticationMethodOptionsAPI -from .authenticationmethodoptionsauthtokensitems import ( - AuthenticationMethodOptionsAuthTokensItems, -) -from .authenticationmethodoptionss3collectorconf import ( - AuthenticationMethodOptionsS3CollectorConf, -) -from .authenticationtype import AuthenticationType, AuthenticationTypeTypedDict -from .authenticationtypeuse import AuthenticationTypeUse, AuthenticationTypeUseTypedDict -from .authtypetemplatemanualapikeyauthtype import ( - AuthTypeTemplatemanualAPIKeyAuthType, - AuthTypeTemplatemanualAPIKeyAuthTypeTypedDict, -) from .backpressurebehavioroptions import BackpressureBehaviorOptions -from .backpressurebehavioroptionsblockdrop import BackpressureBehaviorOptionsBlockDrop -from .certificatetypeazureblobauthtypeclientcert import ( - CertificateTypeAzureBlobAuthTypeClientCert, - CertificateTypeAzureBlobAuthTypeClientCertTypedDict, -) -from .compressionleveloptions import CompressionLevelOptions -from .compressionoptions import CompressionOptions -from .compressionoptionsgziplz4 import CompressionOptionsGzipLz4 -from .compressionoptionsgzipnone import CompressionOptionsGzipNone -from .compressionoptionshttp import CompressionOptionsHTTP from .compressionoptionspq import CompressionOptionsPq -from .dataformatoptions import DataFormatOptions -from .datapageversionoptions import DataPageVersionOptions -from .destinationprotocoloptions import DestinationProtocolOptions -from .diskspaceprotectionoptions import DiskSpaceProtectionOptions from .extrahttpheaderconfinputelastic import ( ExtraHTTPHeaderConfInputElastic, ExtraHTTPHeaderConfInputElasticTypedDict, ) from .failedrequestloggingmodeoptions import FailedRequestLoggingModeOptions -from .googleauthenticationmethodoptions import GoogleAuthenticationMethodOptions -from .hostconfoutputsyslog import HostConfOutputSyslog, HostConfOutputSyslogTypedDict -from .kafkaschemaregistryauthenticationtypetemplateschemaregistryurlauth import ( - KafkaSchemaRegistryAuthenticationTypeTemplateschemaRegistryURLAuth, - KafkaSchemaRegistryAuthenticationTypeTemplateschemaRegistryURLAuthTypedDict, -) -from .keyvaluemetadataconfoutputfilesystem import ( - KeyValueMetadataConfOutputFilesystem, - KeyValueMetadataConfOutputFilesystemTypedDict, -) -from .loglabelconfoutputgooglecloudlogging import ( - LogLabelConfOutputGoogleCloudLogging, - LogLabelConfOutputGoogleCloudLoggingTypedDict, -) -from .maxs2sversionoptions import MaxS2SVersionOptions from .methodoptions import MethodOptions -from .microsoftentraidauthenticationendpointoptionssasl import ( - MicrosoftEntraIDAuthenticationEndpointOptionsSasl, -) from .modeoptions import ModeOptions -from .nestedfieldserializationoptions import NestedFieldSerializationOptions from .notification_union import NotificationUnion, NotificationUnionTypedDict from .oauthheaderconfinputservicenowtable import ( OauthHeaderConfInputServicenowTable, @@ -68,19 +19,93 @@ OauthParamConfInputServicenowTable, OauthParamConfInputServicenowTableTypedDict, ) -from .objectacloptions import ObjectACLOptions -from .objectacloptionsauthenticatedreadbucketownerfullcontrol import ( - ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol, -) -from .orphanfilerecoverytype import ( - OrphanFileRecoveryType, - OrphanFileRecoveryTypeTypedDict, +from .outputresponse_outputwebhook_format_2 import ( + OutputResponseOutputAzureBlob, + OutputResponseOutputAzureBlobTypedDict, + OutputResponseOutputAzureDataExplorer, + OutputResponseOutputAzureDataExplorerTypedDict, + OutputResponseOutputAzureEventhub, + OutputResponseOutputAzureEventhubTypedDict, + OutputResponseOutputAzureLogs, + OutputResponseOutputAzureLogsTypedDict, + OutputResponseOutputCloudwatch, + OutputResponseOutputCloudwatchTypedDict, + OutputResponseOutputConfluentCloud, + OutputResponseOutputConfluentCloudTypedDict, + OutputResponseOutputDevnull, + OutputResponseOutputDevnullTypedDict, + OutputResponseOutputElastic, + OutputResponseOutputElasticCloud, + OutputResponseOutputElasticCloudTypedDict, + OutputResponseOutputElasticTypedDict, + OutputResponseOutputExabeam, + OutputResponseOutputExabeamTypedDict, + OutputResponseOutputFilesystem, + OutputResponseOutputFilesystemTypedDict, + OutputResponseOutputGoogleBigquery, + OutputResponseOutputGoogleBigqueryTypedDict, + OutputResponseOutputGoogleChronicle, + OutputResponseOutputGoogleChronicleTypedDict, + OutputResponseOutputGoogleCloudLogging, + OutputResponseOutputGoogleCloudLoggingTypedDict, + OutputResponseOutputGoogleCloudObservability, + OutputResponseOutputGoogleCloudObservabilityTypedDict, + OutputResponseOutputGoogleCloudStorage, + OutputResponseOutputGoogleCloudStorageTypedDict, + OutputResponseOutputGooglePubsub, + OutputResponseOutputGooglePubsubTypedDict, + OutputResponseOutputGraphite, + OutputResponseOutputGraphiteTypedDict, + OutputResponseOutputHoneycomb, + OutputResponseOutputHoneycombTypedDict, + OutputResponseOutputInfluxdb, + OutputResponseOutputInfluxdbTypedDict, + OutputResponseOutputKafka, + OutputResponseOutputKafkaTypedDict, + OutputResponseOutputKinesis, + OutputResponseOutputKinesisTypedDict, + OutputResponseOutputMinio, + OutputResponseOutputMinioTypedDict, + OutputResponseOutputMsk, + OutputResponseOutputMskTypedDict, + OutputResponseOutputNewrelic, + OutputResponseOutputNewrelicEvents, + OutputResponseOutputNewrelicEventsTypedDict, + OutputResponseOutputNewrelicTypedDict, + OutputResponseOutputS3, + OutputResponseOutputS3TypedDict, + OutputResponseOutputSentinel, + OutputResponseOutputSentinelTypedDict, + OutputResponseOutputSignalfx, + OutputResponseOutputSignalfxTypedDict, + OutputResponseOutputSplunk, + OutputResponseOutputSplunkHec, + OutputResponseOutputSplunkHecTypedDict, + OutputResponseOutputSplunkLb, + OutputResponseOutputSplunkLbTypedDict, + OutputResponseOutputSplunkTypedDict, + OutputResponseOutputStatsd, + OutputResponseOutputStatsdExt, + OutputResponseOutputStatsdExtTypedDict, + OutputResponseOutputStatsdTypedDict, + OutputResponseOutputSyslog, + OutputResponseOutputSyslogTypedDict, + OutputResponseOutputTcpjson, + OutputResponseOutputTcpjsonTypedDict, + OutputResponseOutputWavefront, + OutputResponseOutputWavefrontTypedDict, + OutputResponseOutputWebhookFormat2, + OutputResponseOutputWebhookType2, + OutputResponseOutputWizHec, + OutputResponseOutputWizHecTypedDict, ) -from .outputresponse_type_statsd import ( +from .outputresponse_pqcontrols_graphite import ( OutputResponseOutputAlibabaCloudS3, OutputResponseOutputAlibabaCloudS3TypedDict, OutputResponseOutputAlphasocS3, OutputResponseOutputAlphasocS3TypedDict, + OutputResponseOutputAmazonManagedPrometheus, + OutputResponseOutputAmazonManagedPrometheusTypedDict, OutputResponseOutputChronicle, OutputResponseOutputChronicleTypedDict, OutputResponseOutputClickHouse, @@ -99,6 +124,8 @@ OutputResponseOutputCriblTCPTypedDict, OutputResponseOutputCrowdstrikeNextGenSiem, OutputResponseOutputCrowdstrikeNextGenSiemTypedDict, + OutputResponseOutputCustomerMetricsStorage, + OutputResponseOutputCustomerMetricsStorageTypedDict, OutputResponseOutputDatabricks, OutputResponseOutputDatabricksTypedDict, OutputResponseOutputDatadog, @@ -113,17389 +140,81 @@ OutputResponseOutputDlS3TypedDict, OutputResponseOutputDynatraceHTTP, OutputResponseOutputDynatraceHTTPTypedDict, - OutputResponseOutputDynatraceOtlp, - OutputResponseOutputDynatraceOtlpTypedDict, - OutputResponseOutputGrafanaCloudUnion, - OutputResponseOutputGrafanaCloudUnionTypedDict, - OutputResponseOutputGraphite, - OutputResponseOutputGraphiteTypedDict, - OutputResponseOutputHumioHec, - OutputResponseOutputHumioHecTypedDict, - OutputResponseOutputLocalSearchStorage, - OutputResponseOutputLocalSearchStorageTypedDict, - OutputResponseOutputLoki, - OutputResponseOutputLokiTypedDict, - OutputResponseOutputMicrosoftFabric, - OutputResponseOutputMicrosoftFabricTypedDict, - OutputResponseOutputNetflow, - OutputResponseOutputNetflowTypedDict, - OutputResponseOutputNutanixObjects, - OutputResponseOutputNutanixObjectsTypedDict, - OutputResponseOutputOpenTelemetry, - OutputResponseOutputOpenTelemetryTypedDict, - OutputResponseOutputPrometheus, - OutputResponseOutputPrometheusTypedDict, - OutputResponseOutputRing, - OutputResponseOutputRingTypedDict, - OutputResponseOutputRouter, - OutputResponseOutputRouterTypedDict, - OutputResponseOutputScalityS3, - OutputResponseOutputScalityS3TypedDict, - OutputResponseOutputSecurityLake, - OutputResponseOutputSecurityLakeTypedDict, - OutputResponseOutputSentinelOneAiSiem, - OutputResponseOutputSentinelOneAiSiemTypedDict, - OutputResponseOutputServiceNow, - OutputResponseOutputServiceNowTypedDict, - OutputResponseOutputSnmp, - OutputResponseOutputSnmpTypedDict, - OutputResponseOutputSns, - OutputResponseOutputSnsTypedDict, - OutputResponseOutputSqs, - OutputResponseOutputSqsTypedDict, - OutputResponseOutputStatsdExt, - OutputResponseOutputStatsdExtTypedDict, - OutputResponseOutputStorjS3, - OutputResponseOutputStorjS3TypedDict, - OutputResponseOutputSumoLogic, - OutputResponseOutputSumoLogicTypedDict, - OutputResponseOutputXsiam, - OutputResponseOutputXsiamTypedDict, - OutputResponseTypeStatsd, -) -from .parquetversionoptions import ParquetVersionOptions -from .queuefullbehavioroptions import QueueFullBehaviorOptions -from .recorddataformatoptions import RecordDataFormatOptions -from .recorddataformatoptionsjsonprotobuf import RecordDataFormatOptionsJSONProtobuf -from .regionoptions import RegionOptions -from .responseretrysettingconfoutputwebhook import ( - ResponseRetrySettingConfOutputWebhook, - ResponseRetrySettingConfOutputWebhookTypedDict, -) -from .retrysettingstype import RetrySettingsType, RetrySettingsTypeTypedDict -from .saslextensionconfinputkafka import ( - SaslExtensionConfInputKafka, - SaslExtensionConfInputKafkaTypedDict, -) -from .serversideencryptionforuploadedobjectsoptions import ( - ServerSideEncryptionForUploadedObjectsOptions, -) -from .serversideencryptionforuploadedobjectsoptionsaes256 import ( - ServerSideEncryptionForUploadedObjectsOptionsAes256, -) -from .statustype import StatusType, StatusTypeTypedDict -from .storageclassoptions import StorageClassOptions -from .storageclassoptionsarchivecoldline import StorageClassOptionsArchiveColdline -from .storageclassoptionsreducedredundancystandard import ( - StorageClassOptionsReducedredundancyStandard, -) -from .timeoutretrysettingstype import ( - TimeoutRetrySettingsType, - TimeoutRetrySettingsTypeTypedDict, -) -from .tlssettingsclientsidetype import ( - TLSSettingsClientSideType, - TLSSettingsClientSideTypeTypedDict, -) -from .tlssettingsclientsidetypecapathcertpath import ( - TLSSettingsClientSideTypeCaPathCertPath, - TLSSettingsClientSideTypeCaPathCertPathTypedDict, -) -from .tlssettingsclientsidetypecapathcertpathextended import ( - TLSSettingsClientSideTypeCaPathCertPathExtended, - TLSSettingsClientSideTypeCaPathCertPathExtendedTypedDict, -) -from cribl_control_plane import models, utils -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, 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 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] - 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}""" - 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""" - 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 1MB.""" - 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_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 OutputResponseOutputStatsd(BaseModel): - 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: 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}""" - - 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.""" - - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") - ] = None - r"""When protocol is TCP, specifies how often buffers should be flushed, resulting in records sent to the destination.""" - - 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.""" - - description: Optional[str] = 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.""" - - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") - ] = 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""" - - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") - ] = None - r"""How to handle events when all receivers are exerting backpressure""" - - 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 1MB.""" - - pq_controls: Annotated[ - Optional[OutputResponsePqControlsStatsd], 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_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.DestinationProtocolOptions(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", - "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 = {} - - 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 OutputResponseTypeMinio(str, Enum): - MINIO = "minio" - - -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] - 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_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 - - 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: 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)""" - - 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[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 MinIO 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""" - - 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 - - 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[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 - - 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 - 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_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 - 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.""" - - 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("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("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( - [ - "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 = {} - - 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 OutputResponseTypeCloudwatch(str, Enum): - CLOUDWATCH = "cloudwatch" - - -class OutputResponsePqControlsCloudwatchTypedDict(TypedDict): - pass - - -class OutputResponsePqControlsCloudwatch(BaseModel): - pass - - -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 1MB.""" - 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""" - - 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 1MB.""" - - pq_controls: Annotated[ - Optional[OutputResponsePqControlsCloudwatch], 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.""" - - 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", - "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", - "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 OutputResponseTypeInfluxdb(str, Enum): - INFLUXDB = "influxdb" - - -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 OutputResponsePqControlsInfluxdb(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""" - 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}""" - 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""" - 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[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.""" - 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 1MB.""" - 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_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.""" - 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 - - 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""" - - 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[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""" - - 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[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.""" - - 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 1MB.""" - - pq_controls: Annotated[ - Optional[OutputResponsePqControlsInfluxdb], 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.""" - - 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("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): - 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.OutputResponseAuthenticationTypeInfluxdb(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", - "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", - "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 OutputResponseTypeNewrelicEvents(str, Enum): - NEWRELIC_EVENTS = "newrelic_events" - - -class OutputResponsePqControlsNewrelicEventsTypedDict(TypedDict): - pass - - -class OutputResponsePqControlsNewrelicEvents(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).""" - 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}""" - 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 1MB.""" - pq_controls: NotRequired[OutputResponsePqControlsNewrelicEventsTypedDict] - 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.""" - 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""" - - 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""" - - 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 1MB.""" - - pq_controls: Annotated[ - Optional[OutputResponsePqControlsNewrelicEvents], - 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.""" - - 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): - 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( - [ - "id", - "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", - "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 OutputResponseTypeNewrelic(str, Enum): - NEWRELIC = "newrelic" - - -class OutputResponseFieldName(str, Enum, metaclass=utils.OpenEnumMeta): - SERVICE = "service" - HOSTNAME = "hostname" - TIMESTAMP = "timestamp" - AUDIT_ID = "auditId" - - -class OutputResponseMetadatumTypedDict(TypedDict): - name: OutputResponseFieldName - 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 - - 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 OutputResponsePqControlsNewrelic(BaseModel): - pass - - -class OutputResponseOutputNewrelicTypedDict(TypedDict): - type: OutputResponseTypeNewrelic - 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}""" - 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] - 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 1MB.""" - 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_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.""" - 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 - - 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}""" - - 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""" - - 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""" - - 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 - - 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 1MB.""" - - pq_controls: Annotated[ - 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_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") - ] = 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_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_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("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( - [ - "id", - "pipeline", - "systemFields", - "environment", - "streamtags", - "region", - "logType", - "messageField", - "metadata", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", - "failedRequestLoggingMode", - "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "onBackpressure", - "authType", - "totalMemoryLimitKB", - "description", - "customUrl", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "apiKey", - "textSecret", - "__template_streamtags", - "__template_region", - "__template_logType", - "__template_messageField", - "__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 OutputResponseTypeElasticCloud(str, Enum): - ELASTIC_CLOUD = "elastic_cloud" - - -class OutputResponsePqControlsElasticCloudTypedDict(TypedDict): - pass - - -class OutputResponsePqControlsElasticCloud(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.""" - 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""" - 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.""" - 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 1MB.""" - 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_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]] - 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 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.""" - - 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}""" - - 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""" - - 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""" - - 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"), - ] = 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 - - 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 1MB.""" - - pq_controls: Annotated[ - Optional[OutputResponsePqControlsElasticCloud], - 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_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_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.""" - - 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("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", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "failedRequestLoggingMode", - "safeHeaders", - "extraParams", - "auth", - "elasticPipeline", - "includeDocId", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "onBackpressure", - "description", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "__template_streamtags", - "__template_url", - "__template_index", - "__template_failedRequestLoggingMode", - "__template_elasticPipeline", - "__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 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 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 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"""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[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""" - 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 1MB.""" - 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_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 - - 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""" - - 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}""" - - 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""" - - 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""" - - 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.""" - - extra_params: Annotated[ - Optional[List[SaslExtensionConfInputKafka]], pydantic.Field(alias="extraParams") - ] = None - - 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""" - - 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") - ] = 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") - ] = 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""" - - 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 1MB.""" - - pq_controls: Annotated[ - Optional[OutputResponsePqControlsElastic], 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_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 - 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.""" - - 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("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("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): - 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", - "loadBalanced", - "docType", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "failedRequestLoggingMode", - "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "extraParams", - "auth", - "elasticVersion", - "elasticPipeline", - "includeDocId", - "writeAction", - "retryPartialErrors", - "onBackpressure", - "description", - "url", - "useRoundRobinDns", - "excludeSelf", - "urls", - "dnsResolvePeriodSec", - "loadBalanceStatsPeriodSec", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "__template_streamtags", - "__template_index", - "__template_docType", - "__template_failedRequestLoggingMode", - "__template_elasticPipeline", - "__template_onBackpressure", - "__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 - - -class OutputResponseTypeMsk(str, Enum): - MSK = "msk" - - -class OutputResponsePqControlsMskTypedDict(TypedDict): - pass - - -class OutputResponsePqControlsMsk(BaseModel): - pass - - -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""" - 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] - 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] - 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 1MB.""" - 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_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 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.""" - - region: str - r"""Region where the MSK cluster 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""" - - 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}""" - - 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.""" - - 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.""" - - 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") - ] = 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") - ] = 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"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB.""" - - pq_controls: Annotated[ - Optional[OutputResponsePqControlsMsk], 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_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.""" - - 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("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): - 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 - - @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", - "ack", - "format", - "compression", - "maxRecordSizeKB", - "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", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "__template_streamtags", - "__template_topic", - "__template_format", - "__template_compression", - "__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 OutputResponseTypeConfluentCloud(str, Enum): - CONFLUENT_CLOUD = "confluent_cloud" - - -class OutputResponsePqControlsConfluentCloudTypedDict(TypedDict): - pass - - -class OutputResponsePqControlsConfluentCloud(BaseModel): - pass - - -class OutputResponseOutputConfluentCloudTypedDict(TypedDict): - type: OutputResponseTypeConfluentCloud - 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.""" - 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}""" - 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"""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.""" - 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""" - 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 1MB.""" - 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] - 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]] - 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 - - 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.""" - - 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}""" - - tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None - - 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.""" - - 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.""" - - 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") - ] = 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"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB.""" - - pq_controls: Annotated[ - Optional[OutputResponsePqControlsConfluentCloud], - 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_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 - 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.""" - - 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): - if isinstance(value, str): - try: - 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("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", - "tls", - "ack", - "format", - "compression", - "maxRecordSizeKB", - "flushEventCount", - "flushPeriodSec", - "kafkaSchemaRegistry", - "connectionTimeout", - "requestTimeout", - "maxRetries", - "maxBackOff", - "initialBackoff", - "backoffRate", - "authenticationTimeout", - "reauthenticationThreshold", - "sasl", - "onBackpressure", - "description", - "protobufLibraryId", - "protobufEncodingId", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "__template_streamtags", - "__template_brokers", - "__template_topic", - "__template_format", - "__template_compression", - "__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 OutputResponseTypeKafka(str, Enum): - KAFKA = "kafka" - - -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] - 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""" - 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""" - 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 1MB.""" - 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_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]] - 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 OutputResponseOutputKafka(BaseModel): - 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: 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}""" - - 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.""" - - 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 - - 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"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 1MB.""" - - 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_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.""" - - 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): - if isinstance(value, str): - try: - 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("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", - "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", - "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 OutputResponseTypeExabeam(str, Enum): - EXABEAM = "exabeam" - - -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 - - """ - 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}""" - 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] - 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.""" - 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 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""" - - 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""" - - 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}""" - - 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""" - - 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.""" - - 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""" - - retry_settings: Annotated[ - Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") - ] = None - - orphans: Optional[OrphanFileRecoveryType] = 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.""" - - encoded_configuration: Annotated[ - Optional[str], pydantic.Field(alias="encodedConfiguration") - ] = None - r"""Enter an encoded string containing Exabeam configurations""" - - 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.""" - - 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.""" - - timezone_offset: Annotated[ - Optional[str], pydantic.Field(alias="timezoneOffset") - ] = None - - 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}`.""" - - 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 - - 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_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.""" - - 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("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("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 - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "id", - "pipeline", - "systemFields", - "environment", - "streamtags", - "objectACL", - "storageClass", - "reuseConnections", - "rejectUnauthorized", - "addIdToStagePath", - "removeEmptyDirs", - "maxFileOpenTimeSec", - "maxFileIdleTimeSec", - "maxOpenFiles", - "onBackpressure", - "deadletterEnabled", - "onDiskFullBackpressure", - "retrySettings", - "orphans", - "maxFileSizeMB", - "encodedConfiguration", - "siteName", - "siteId", - "timezoneOffset", - "awsApiKey", - "awsSecretKey", - "description", - "emptyDirCleanupSec", - "directoryBatchSize", - "deadletterPath", - "maxRetryNum", - "__template_streamtags", - "__template_region", - "__template_endpoint", - "__template_objectACL", - "__template_storageClass", - "__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 OutputResponseTypeGooglePubsub(str, Enum): - GOOGLE_PUBSUB = "google_pubsub" - - -class OutputResponsePqControlsGooglePubsubTypedDict(TypedDict): - pass - - -class OutputResponsePqControlsGooglePubsub(BaseModel): - pass - - -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] - 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}""" - 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] - 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 1MB.""" - 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_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]] - 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 OutputResponseOutputGooglePubsub(BaseModel): - type: OutputResponseTypeGooglePubsub - - 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""" - - 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 - - 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 1MB.""" - - pq_controls: Annotated[ - Optional[OutputResponsePqControlsGooglePubsub], - 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_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.""" - - 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("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", - "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 = {} - - 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 1MB.""" - 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 1MB.""" - - 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] - r"""Binds 'onBackpressure' to a variable 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 OutputResponseOutputGoogleCloudStorage(BaseModel): - 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: 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[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}`""" - - 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""" - - 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"""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 - - 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""" - - 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""" - - 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") - ] = 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_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_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_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("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.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", - "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"]) - 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 OutputResponsePqControlsGoogleChronicle(BaseModel): - pass - - -class OutputResponseOutputGoogleChronicleTypedDict(TypedDict): - type: OutputResponseTypeGoogleChronicle - log_format_type: OutputResponseSendEventsAs - 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}""" - 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] - 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] - 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""" - 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 1MB.""" - 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 OutputResponseOutputGoogleChronicle(BaseModel): - type: OutputResponseTypeGoogleChronicle - - log_format_type: Annotated[ - OutputResponseSendEventsAs, pydantic.Field(alias="logFormatType") - ] - - 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}""" - - 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""" - - 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""" - - 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""" - - 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.""" - - 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 - - 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") - ] = 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 1MB.""" - - pq_controls: Annotated[ - Optional[OutputResponsePqControlsGoogleChronicle], - 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_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 - 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_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): - 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("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): - 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", - "apiVersion", - "authenticationMethod", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "region", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "failedRequestLoggingMode", - "safeHeaders", - "useRoundRobinDns", - "onBackpressure", - "totalMemoryLimitKB", - "description", - "extraLogTypes", - "logType", - "logTextField", - "customerId", - "namespace", - "customLabels", - "udmType", - "apiKey", - "apiKeySecret", - "serviceAccountCredentials", - "serviceAccountCredentialsSecret", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "__template_streamtags", - "__template_apiVersion", - "__template_region", - "__template_failedRequestLoggingMode", - "__template_onBackpressure", - "__template_customerId", - "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 OutputResponseTypeAzureEventhub(str, Enum): - AZURE_EVENTHUB = "azure_eventhub" - - -class OutputResponsePqControlsAzureEventhubTypedDict(TypedDict): - pass - - -class OutputResponsePqControlsAzureEventhub(BaseModel): - pass - - -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] - 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[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] - 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 1MB.""" - 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_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.""" - 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 - - 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: 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}""" - - ack: Optional[AcknowledgmentsOptions] = None - r"""Control the number of required acknowledgments""" - - format_: Annotated[ - Optional[RecordDataFormatOptions], pydantic.Field(alias="format") - ] = None - r"""Format to use to serialize events before writing to the Event Hubs Kafka brokers""" - - 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.""" - - flush_event_count: Annotated[ - Optional[float], pydantic.Field(alias="flushEventCount") - ] = None - r"""Maximum number of events 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 Max record size.""" - - 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[AuthenticationTypeUse] = None - r"""Authentication parameters to use when connecting to brokers. 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 - - 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 1MB.""" - - pq_controls: Annotated[ - Optional[OutputResponsePqControlsAzureEventhub], - 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_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 - 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.""" - - 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): - if isinstance(value, str): - try: - return models.AcknowledgmentsOptions(value) - except ValueError: - return value - return value - - @field_serializer("format_") - def serialize_format_(self, value): - if isinstance(value, str): - try: - return models.RecordDataFormatOptions(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", - "ack", - "format", - "maxRecordSizeKB", - "flushEventCount", - "flushPeriodSec", - "connectionTimeout", - "requestTimeout", - "maxRetries", - "maxBackOff", - "initialBackoff", - "backoffRate", - "authenticationTimeout", - "reauthenticationThreshold", - "sasl", - "tls", - "onBackpressure", - "description", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "__template_streamtags", - "__template_brokers", - "__template_topic", - "__template_format", - "__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 OutputResponseTypeHoneycomb(str, Enum): - HONEYCOMB = "honeycomb" - - -class OutputResponsePqControlsHoneycombTypedDict(TypedDict): - pass - - -class OutputResponsePqControlsHoneycomb(BaseModel): - pass - - -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] - 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""" - 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] - 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 1MB.""" - 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.""" - 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 - - dataset: str - r"""Name of the dataset to send events to – e.g., observability""" - - 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}""" - - 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 - - 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 1MB.""" - - pq_controls: Annotated[ - Optional[OutputResponsePqControlsHoneycomb], 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_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("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( - [ - "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 = {} - - 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 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 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 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[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] - 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] - 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 1MB.""" - 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_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_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 - - stream_name: Annotated[str, pydantic.Field(alias="streamName")] - r"""Kinesis stream name to send events to.""" - - region: str - r"""Region where the Kinesis stream 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""" - - 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"""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[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 - - 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 1MB.""" - - pq_controls: Annotated[ - Optional[OutputResponsePqControlsKinesis], 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_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") - ] = 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("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 - - -class OutputResponsePqControlsAzureLogs(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.""" - 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] - 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 1MB.""" - 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.""" - - -class OutputResponseOutputAzureLogs(BaseModel): - type: OutputResponseTypeAzureLogs - - 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.""" - - 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}""" - - 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""" - - 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 - - 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""" - - 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"), - ] = 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[OutputResponseAuthenticationMethodAzureLogs], - pydantic.Field(alias="authType"), - ] = None - r"""Enter workspace ID and workspace key directly, or select a stored secret""" - - 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.""" - - 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 1MB.""" - - pq_controls: Annotated[ - Optional[OutputResponsePqControlsAzureLogs], 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.""" - - 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 'streamtags' to a variable 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_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.""" - - 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): - 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.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) - 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] - - -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] - 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.""" - 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 1MB.""" - 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_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_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 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""" - - 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""" - - 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}""" - - 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 - - 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.""" - - 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""" - - remove_empty_dirs: Annotated[ - Optional[bool], pydantic.Field(alias="removeEmptyDirs") - ] = None - r"""Remove empty staging directories after moving files""" - - 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_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"""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""" - - 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") - ] = 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.""" - - max_concurrent_file_parts: Annotated[ - Optional[float], pydantic.Field(alias="maxConcurrentFileParts") - ] = None - r"""Maximum number of parts to upload in parallel per file""" - - 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""" - - add_id_to_stage_path: Annotated[ - Optional[bool], pydantic.Field(alias="addIdToStagePath") - ] = None - r"""Add the Output ID value to staging location""" - - retry_settings: Annotated[ - Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") - ] = None - - orphans: Optional[OrphanFileRecoveryType] = 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""" - - 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") - ] = None - r"""Prevent blob deletion after ingestion is complete""" - - extent_tags: Annotated[ - Optional[List[OutputResponseExtentTag]], pydantic.Field(alias="extentTags") - ] = None - r"""Strings or tags associated with the extent (ingested data shard)""" - - ingest_if_not_exists: Annotated[ - Optional[List[OutputResponseIngestIfNotExist]], - pydantic.Field(alias="ingestIfNotExists"), - ] = None - r"""Prevents duplicate ingestion by verifying whether an extent with the specified ingest-by tag already exists""" - - report_level: Annotated[ - Optional[OutputResponseReportLevel], pydantic.Field(alias="reportLevel") - ] = None - r"""Level of ingestion status reporting. Defaults to FailuresOnly.""" - - report_method: Annotated[ - Optional[OutputResponseReportMethod], pydantic.Field(alias="reportMethod") - ] = None - r"""Target of the ingestion status reporting. Defaults to Queue.""" - - additional_properties: Annotated[ - Optional[List[OutputResponseAdditionalProperty]], - pydantic.Field(alias="additionalProperties"), - ] = None - r"""Optionally, enter additional configuration properties to send to the ingestion service""" - - 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""" - - 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") - ] = 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.""" - - 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"""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 1MB.""" - - 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") - ] = 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") - ] = 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_mapping_ref: Annotated[ - Optional[str], pydantic.Field(alias="__template_mappingRef") - ] = 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.""" - - template_ingest_url: Annotated[ - Optional[str], pydantic.Field(alias="__template_ingestUrl") - ] = 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.""" - - 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") - ] = 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.""" - - 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("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): - if isinstance(value, str): - try: - return models.DataPageVersionOptions(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("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( - [ - "id", - "pipeline", - "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", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "flushPeriodSec", - "rejectUnauthorized", - "useRoundRobinDns", - "keepAlive", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "__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_onBackpressure", - "__template_fileNameSuffix", - "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 OutputResponseTypeAzureBlob(str, Enum): - AZURE_BLOB = "azure_blob" - - -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.""" - 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}""" - 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.""" - 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] - 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""" - 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_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_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.""" - 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 - - 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}""" - - create_container: Annotated[ - Optional[bool], pydantic.Field(alias="createContainer") - ] = None - 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 - 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 - - auth_type: Annotated[ - Optional[AuthenticationMethodOptions], pydantic.Field(alias="authType") - ] = None - - storage_class: Annotated[ - Optional[OutputResponseBlobAccessTier], pydantic.Field(alias="storageClass") - ] = 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") - ] = 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""" - - connection_string: Annotated[ - Optional[str], pydantic.Field(alias="connectionString") - ] = None - r"""Enter your Azure Storage account connection string. If left blank, Stream will fall back to env.AZURE_STORAGE_CONNECTION_STRING.""" - - 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"""The name of your Azure storage account""" - - 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"""Endpoint suffix for the service URL. Takes precedence over the Azure Cloud setting. Defaults to core.windows.net.""" - - client_text_secret: Annotated[ - Optional[str], pydantic.Field(alias="clientTextSecret") - ] = None - r"""Select or create a stored text secret""" - - certificate: Optional[CertificateTypeAzureBlobAuthTypeClientCert] = 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") - ] = 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.""" - - 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.""" - - 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") - ] = 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.""" - - 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_azure_cloud: Annotated[ - Optional[str], pydantic.Field(alias="__template_azureCloud") - ] = 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.""" - - 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.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("auth_type") - def serialize_auth_type(self, value): - if isinstance(value, str): - try: - return models.AuthenticationMethodOptions(value) - except ValueError: - return value - return value - - @field_serializer("storage_class") - def serialize_storage_class(self, value): - if isinstance(value, str): - try: - return models.OutputResponseBlobAccessTier(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", - "createContainer", - "destPath", - "addIdToStagePath", - "maxConcurrentFileParts", - "removeEmptyDirs", - "partitionExpr", - "format", - "baseFileName", - "fileNameSuffix", - "maxFileSizeMB", - "maxFileOpenTimeSec", - "maxFileIdleTimeSec", - "maxOpenFiles", - "headerLine", - "writeHighWaterMark", - "onBackpressure", - "deadletterEnabled", - "onDiskFullBackpressure", - "forceCloseOnShutdown", - "retrySettings", - "orphans", - "authType", - "storageClass", - "description", - "compress", - "compressionLevel", - "automaticSchema", - "parquetSchema", - "parquetVersion", - "parquetDataPageVersion", - "parquetRowGroupLength", - "parquetPageSize", - "shouldLogInvalidRows", - "keyValueMetadata", - "enableStatistics", - "enableWritePageIndex", - "enablePageChecksum", - "emptyDirCleanupSec", - "directoryBatchSize", - "deadletterPath", - "maxRetryNum", - "connectionString", - "textSecret", - "storageAccountName", - "tenantId", - "clientId", - "azureCloud", - "endpointSuffix", - "clientTextSecret", - "certificate", - "__template_streamtags", - "__template_containerName", - "__template_destPath", - "__template_partitionExpr", - "__template_format", - "__template_baseFileName", - "__template_fileNameSuffix", - "__template_onBackpressure", - "__template_compress", - "__template_parquetSchema", - "__template_connectionString", - "__template_storageAccountName", - "__template_tenantId", - "__template_clientId", - "__template_azureCloud", - "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 OutputResponseTypeS3(str, Enum): - S3 = "s3" - - -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] - 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""" - 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[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] - 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_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_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.""" - 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 - - 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""" - - 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 - - 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 - - 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 - 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_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 - 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_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 - 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("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 - - @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("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): - 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", - "endpoint", - "enableAssumeRole", - "assumeRoleArn", - "assumeRoleExternalId", - "durationSeconds", - "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", - "kmsKeyId", - "description", - "awsApiKey", - "awsSecret", - "compress", - "compressionLevel", - "automaticSchema", - "parquetSchema", - "parquetVersion", - "parquetDataPageVersion", - "parquetRowGroupLength", - "parquetPageSize", - "shouldLogInvalidRows", - "keyValueMetadata", - "enableStatistics", - "enableWritePageIndex", - "enablePageChecksum", - "emptyDirCleanupSec", - "directoryBatchSize", - "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", - "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 OutputResponseTypeFilesystem(str, Enum): - FILESYSTEM = "filesystem" - - -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] - 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""" - 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""" - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable 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 OutputResponseOutputFilesystem(BaseModel): - type: OutputResponseTypeFilesystem - - 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""" - - 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}""" - - 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") - ] = 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 - - 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_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.""" - - 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.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", - "stagePath", - "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", - "__template_streamtags", - "__template_partitionExpr", - "__template_format", - "__template_baseFileName", - "__template_fileNameSuffix", - "__template_onBackpressure", - "__template_compress", - "__template_parquetSchema", - "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 OutputResponseTypeSignalfx(str, Enum): - SIGNALFX = "signalfx" - - -class OutputResponsePqControlsSignalfxTypedDict(TypedDict): - pass - - -class OutputResponsePqControlsSignalfx(BaseModel): - pass - - -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] - 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[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] - 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 1MB.""" - 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] - 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 OutputResponseOutputSignalfx(BaseModel): - 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: 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}""" - - 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""" - - 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""" - - description: Optional[str] = None - - 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))""" - - 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_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 1MB.""" - - pq_controls: Annotated[ - Optional[OutputResponsePqControlsSignalfx], 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_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("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("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", - "authType", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", - "failedRequestLoggingMode", - "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "onBackpressure", - "description", - "token", - "textSecret", - "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 OutputResponseTypeWavefront(str, Enum): - WAVEFRONT = "wavefront" - - -class OutputResponsePqControlsWavefrontTypedDict(TypedDict): - pass - - -class OutputResponsePqControlsWavefront(BaseModel): - pass - - -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] - 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[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] - 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] - 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 1MB.""" - 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.""" - 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 OutputResponseOutputWavefront(BaseModel): - type: OutputResponseTypeWavefront - - domain: str - r"""WaveFront domain name, e.g. \"longboard\" """ - - 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}""" - - 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""" - - 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""" - - description: Optional[str] = None - - token: Optional[str] = None - r"""WaveFront API authentication token (see [here](https://docs.wavefront.com/wavefront_api.html#generating-an-api-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_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 1MB.""" - - pq_controls: Annotated[ - Optional[OutputResponsePqControlsWavefront], 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_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("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("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", - "authType", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", - "failedRequestLoggingMode", - "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "onBackpressure", - "description", - "token", - "textSecret", - "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 OutputResponseTypeTcpjson(str, Enum): - TCPJSON = "tcpjson" - - -class OutputResponsePqControlsTcpjsonTypedDict(TypedDict): - pass - - -class OutputResponsePqControlsTcpjson(BaseModel): - pass - - -class OutputResponseOutputTcpjsonTypedDict(TypedDict): - type: OutputResponseTypeTcpjson - 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"""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] - 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] - 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 1MB.""" - 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_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 - - 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}""" - - load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( - None - ) - r"""Use load-balanced destinations""" - - compression: Optional[CompressionOptionsGzipNone] = None - r"""Codec to use to compress the data before sending""" - - log_failed_requests: Annotated[ - Optional[bool], pydantic.Field(alias="logFailedRequests") - ] = None - r"""Use to troubleshoot issues with sending data""" - - 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") - ] = 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""" - - 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 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.""" - - 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 - - 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""" - - 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 - 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 1MB.""" - - pq_controls: Annotated[ - Optional[OutputResponsePqControlsTcpjson], 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_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): - if isinstance(value, str): - try: - return models.CompressionOptionsGzipNone(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.AuthenticationMethodOptionsAuthTokensItems(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", - "loadBalanced", - "compression", - "logFailedRequests", - "throttleRatePerSec", - "tls", - "connectionTimeout", - "writeTimeout", - "tokenTTLMinutes", - "sendHeader", - "onBackpressure", - "authType", - "description", - "host", - "port", - "excludeSelf", - "hosts", - "dnsResolvePeriodSec", - "loadBalanceStatsPeriodSec", - "maxConcurrentSenders", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "authToken", - "textSecret", - "__template_streamtags", - "__template_onBackpressure", - "__template_host", - "__template_port", - "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 OutputResponseTypeWizHec(str, Enum): - WIZ_HEC = "wiz_hec" - - -class OutputResponsePqControlsWizHecTypedDict(TypedDict): - pass - - -class OutputResponsePqControlsWizHec(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 - 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}""" - 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.""" - 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 1MB.""" - 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_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.""" - - 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""" - - 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}""" - - 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"""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""" - - 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""" - - 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") - ] = 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 - - 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 1MB.""" - - pq_controls: Annotated[ - 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 - r"""Binds 'streamtags' to a variable 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_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.""" - - 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): - if isinstance(value, str): - try: - return models.FailedRequestLoggingModeOptions(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 - - @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", - "nextQueue", - "tcpRouting", - "tls", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "failedRequestLoggingMode", - "safeHeaders", - "authType", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "onBackpressure", - "description", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "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"]) - 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 OutputResponsePqControlsSplunkHecTypedDict(TypedDict): - pass - - -class OutputResponsePqControlsSplunkHec(BaseModel): - pass - - -class OutputResponseOutputSplunkHecTypedDict(TypedDict): - type: OutputResponseTypeSplunkHec - 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.""" - 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, 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] - 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] - 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 1MB.""" - 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_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 OutputResponseOutputSplunkHec(BaseModel): - type: OutputResponseTypeSplunkHec - - 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}""" - - 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.""" - - 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"""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""" - - 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""" - - 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"), - ] = 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") - ] = 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 - - 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""" - - 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 1MB.""" - - pq_controls: Annotated[ - Optional[OutputResponsePqControlsSplunkHec], 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_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("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("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): - 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", - "loadBalanced", - "nextQueue", - "tcpRouting", - "tls", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "failedRequestLoggingMode", - "safeHeaders", - "enableMultiMetrics", - "authType", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "onBackpressure", - "description", - "url", - "useRoundRobinDns", - "excludeSelf", - "urls", - "dnsResolvePeriodSec", - "loadBalanceStatsPeriodSec", - "token", - "textSecret", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "__template_streamtags", - "__template_failedRequestLoggingMode", - "__template_onBackpressure", - "__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 - - -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 OutputResponsePqControlsSplunkLb(BaseModel): - pass - - -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] - 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"""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] - 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.""" - 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 - ] - 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] - 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 1MB.""" - 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_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 OutputResponseOutputSplunkLb(BaseModel): - type: OutputResponseTypeSplunkLb - - hosts: List[HostConfOutputSyslog] - r"""Set of Splunk indexers to load-balance data 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"""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 - 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.""" - - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") - ] = 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 - - 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.""" - - 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.""" - - log_failed_requests: Annotated[ - Optional[bool], pydantic.Field(alias="logFailedRequests") - ] = None - r"""Use to troubleshoot issues with sending data""" - - max_s2_sversion: Annotated[ - Optional[MaxS2SVersionOptions], pydantic.Field(alias="maxS2Sversion") - ] = 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""" - - 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"), - ] = None - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - - description: Optional[str] = None - - 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.""" - - 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 - 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 1MB.""" - - pq_controls: Annotated[ - Optional[OutputResponsePqControlsSplunkLb], 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") - ] = 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("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): - 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.AuthenticationMethodOptionsAuthTokensItems(value) - except ValueError: - return value - return value - - @field_serializer("compress") - def serialize_compress(self, value): - if isinstance(value, str): - try: - return models.CompressionOptions(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", - "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", - "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 OutputResponseTypeSplunk(str, Enum): - SPLUNK = "splunk" - - -class OutputResponsePqControlsSplunkTypedDict(TypedDict): - pass - - -class OutputResponsePqControlsSplunk(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""" - 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}""" - 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] - 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""" - 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.""" - 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 1MB.""" - 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 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""" - - 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}""" - - nested_fields: Annotated[ - Optional[NestedFieldSerializationOptions], pydantic.Field(alias="nestedFields") - ] = None - 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.""" - - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") - ] = 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 - - 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.""" - - 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.""" - - log_failed_requests: Annotated[ - Optional[bool], pydantic.Field(alias="logFailedRequests") - ] = None - r"""Use to troubleshoot issues with sending data""" - - max_s2_sversion: Annotated[ - Optional[MaxS2SVersionOptions], pydantic.Field(alias="maxS2Sversion") - ] = 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""" - - 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 - - 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.""" - - 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 1MB.""" - - pq_controls: Annotated[ - 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 - r"""Binds 'streamtags' to a variable 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 - 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("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): - 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.AuthenticationMethodOptionsAuthTokensItems(value) - except ValueError: - return value - return value - - @field_serializer("compress") - def serialize_compress(self, value): - if isinstance(value, str): - try: - return models.CompressionOptions(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", - "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", - "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 - - -class OutputResponseMessageFormat(str, Enum, metaclass=utils.OpenEnumMeta): - r"""The syslog message format depending on the receiver's support""" - - # RFC3164 - RFC3164 = "rfc3164" - # RFC5424 - RFC5424 = "rfc5424" - - -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 OutputResponsePqControlsSyslogTypedDict(TypedDict): - pass - - -class OutputResponsePqControlsSyslog(BaseModel): - pass - - -class OutputResponseOutputSyslogTypedDict(TypedDict): - type: OutputResponseTypeSyslog - 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[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] - 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""" - 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] - 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 1MB.""" - 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_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.""" - 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 - - 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[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") - ] = None - r"""Timestamp format to use when serializing event's time field""" - - 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") - ] = None - r"""Use to troubleshoot issues with sending data""" - - description: Optional[str] = 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.""" - - 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""" - - 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.""" - - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") - ] = 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 - - 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") - ] = None - 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: 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.""" - - 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.""" - - 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 1MB.""" - - pq_controls: Annotated[ - Optional[OutputResponsePqControlsSyslog], 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_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_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.OutputResponseProtocolSyslog(value) - except ValueError: - return value - return value - - @field_serializer("facility") - def serialize_facility(self, value): - if isinstance(value, str): - try: - return models.OutputResponseFacility(value) - except ValueError: - return value - return value - - @field_serializer("severity") - def serialize_severity(self, value): - if isinstance(value, str): - try: - return models.OutputResponseSeveritySyslog(value) - except ValueError: - return value - return value - - @field_serializer("message_format") - def serialize_message_format(self, value): - if isinstance(value, str): - try: - return models.OutputResponseMessageFormat(value) - except ValueError: - return value - return value - - @field_serializer("timestamp_format") - def serialize_timestamp_format(self, value): - if isinstance(value, str): - try: - 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 - - @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", - "facility", - "severity", - "appName", - "messageFormat", - "timestampFormat", - "throttleRatePerSec", - "octetCountFraming", - "logFailedRequests", - "description", - "loadBalanced", - "host", - "port", - "excludeSelf", - "hosts", - "dnsResolvePeriodSec", - "loadBalanceStatsPeriodSec", - "maxConcurrentSenders", - "connectionTimeout", - "writeTimeout", - "tls", - "onBackpressure", - "maxRecordSize", - "udpDnsResolvePeriodSec", - "enableIpSpoofing", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "__template_streamtags", - "__template_host", - "__template_port", - "__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 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.""" - - 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 = {} - - 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 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] - 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}""" - 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.""" - 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.""" - 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 1MB.""" - 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""" - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable 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_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""" - - 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}""" - - 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.""" - - 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[OutputResponseAuthType], pydantic.Field(alias="authType") - ] = 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.""" - - description: Optional[str] = None - - format_: Annotated[ - Optional[OutputResponseFormatSentinel], pydantic.Field(alias="format") - ] = None - - 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 1MB.""" - - pq_controls: Annotated[ - Optional[OutputResponsePqControlsSentinel], 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")] = ( - 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("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.OutputResponseAuthType(value) - except ValueError: - return value - return value - - @field_serializer("endpoint_url_configuration") - def serialize_endpoint_url_configuration(self, value): - if isinstance(value, str): - try: - return models.OutputResponseEndpointConfiguration(value) - except ValueError: - return value - return value - - @field_serializer("format_") - def serialize_format_(self, value): - if isinstance(value, str): - try: - return models.OutputResponseFormatSentinel(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", - "keepAlive", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", - "failedRequestLoggingMode", - "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "onBackpressure", - "authType", - "scope", - "totalMemoryLimitKB", - "description", - "format", - "customSourceExpression", - "customDropWhenNull", - "customEventDelimiter", - "customContentType", - "customPayloadExpression", - "advancedContentType", - "formatEventCode", - "formatPayloadCode", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "url", - "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", - ] - ) - 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 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" + OutputResponseOutputDynatraceOtlp, + OutputResponseOutputDynatraceOtlpTypedDict, + OutputResponseOutputGrafanaCloudUnion, + OutputResponseOutputGrafanaCloudUnionTypedDict, + OutputResponseOutputHumioHec, + OutputResponseOutputHumioHecTypedDict, + OutputResponseOutputIbmCloudS3, + OutputResponseOutputIbmCloudS3TypedDict, + OutputResponseOutputLocalSearchStorage, + OutputResponseOutputLocalSearchStorageTypedDict, + OutputResponseOutputLoki, + OutputResponseOutputLokiTypedDict, + OutputResponseOutputMicrosoftFabric, + OutputResponseOutputMicrosoftFabricTypedDict, + OutputResponseOutputNetflow, + OutputResponseOutputNetflowTypedDict, + OutputResponseOutputNutanixObjects, + OutputResponseOutputNutanixObjectsTypedDict, + OutputResponseOutputOpenTelemetry, + OutputResponseOutputOpenTelemetryTypedDict, + OutputResponseOutputPrometheus, + OutputResponseOutputPrometheusTypedDict, + OutputResponseOutputRing, + OutputResponseOutputRingTypedDict, + OutputResponseOutputRouter, + OutputResponseOutputRouterTypedDict, + OutputResponseOutputScalityS3, + OutputResponseOutputScalityS3TypedDict, + OutputResponseOutputSecurityLake, + OutputResponseOutputSecurityLakeTypedDict, + OutputResponseOutputSentinelOneAiSiem, + OutputResponseOutputSentinelOneAiSiemTypedDict, + OutputResponseOutputServiceNow, + OutputResponseOutputServiceNowTypedDict, + OutputResponseOutputSnmp, + OutputResponseOutputSnmpTypedDict, + OutputResponseOutputSns, + OutputResponseOutputSnsTypedDict, + OutputResponseOutputSqs, + OutputResponseOutputSqsTypedDict, + OutputResponseOutputStorjS3, + OutputResponseOutputStorjS3TypedDict, + OutputResponseOutputSumoLogic, + OutputResponseOutputSumoLogicTypedDict, + OutputResponseOutputXsiam, + OutputResponseOutputXsiamTypedDict, +) +from .queuefullbehavioroptions import QueueFullBehaviorOptions +from .refreshrequestparamconfhealthcheckauthenticationoauthsecret import ( + RefreshRequestParamConfHealthCheckAuthenticationOauthSecret, + RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict, +) +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, utils +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, 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 OutputResponseOutputWebhookAuthenticationType2( @@ -17575,7 +294,7 @@ class OutputResponseOutputWebhookWebhook2TypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" method: NotRequired[MethodOptions] r"""The method to use when sending events""" format_: NotRequired[OutputResponseOutputWebhookFormat2] @@ -17624,6 +343,7 @@ class OutputResponseOutputWebhookWebhook2TypedDict(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] @@ -17661,7 +381,7 @@ class OutputResponseOutputWebhookWebhook2TypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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] @@ -17687,6 +407,16 @@ class OutputResponseOutputWebhookWebhook2TypedDict(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.""" + refresh_token_field: NotRequired[str] + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, @{product} will use the refresh token to obtain new access tokens without re-sending credentials.""" + rotate_refresh_token: NotRequired[bool] + r"""@{product} will update the stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + refresh_url: NotRequired[str] + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + refresh_request_params: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict] + ] + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, @{product} sends only grant_type, refresh_token, and client_secret.""" url: NotRequired[str] r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" exclude_self: NotRequired[bool] @@ -17705,6 +435,8 @@ 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_refresh_url: NotRequired[str] + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' 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]] @@ -17733,7 +465,7 @@ class OutputResponseOutputWebhookWebhook2(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" method: Optional[MethodOptions] = None r"""The method to use when sending events""" @@ -17839,6 +571,7 @@ class OutputResponseOutputWebhookWebhook2(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") @@ -17927,7 +660,7 @@ class OutputResponseOutputWebhookWebhook2(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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], @@ -17987,6 +720,25 @@ class OutputResponseOutputWebhookWebhook2(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.""" + refresh_token_field: Annotated[ + Optional[str], pydantic.Field(alias="refreshTokenField") + ] = None + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, @{product} will use the refresh token to obtain new access tokens without re-sending credentials.""" + + rotate_refresh_token: Annotated[ + Optional[bool], pydantic.Field(alias="rotateRefreshToken") + ] = None + r"""@{product} will update the stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + + refresh_url: Annotated[Optional[str], pydantic.Field(alias="refreshUrl")] = None + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + + refresh_request_params: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecret]], + pydantic.Field(alias="refreshRequestParams"), + ] = None + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, @{product} sends only grant_type, refresh_token, and client_secret.""" + url: Optional[str] = None r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" @@ -18028,6 +780,11 @@ 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_refresh_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_refreshUrl") + ] = None + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( None ) @@ -18176,6 +933,10 @@ def serialize_model(self, handler): "tokenTimeoutSecs", "oauthParams", "oauthHeaders", + "refreshTokenField", + "rotateRefreshToken", + "refreshUrl", + "refreshRequestParams", "url", "excludeSelf", "dnsResolvePeriodSec", @@ -18185,6 +946,7 @@ def serialize_model(self, handler): "__template_onBackpressure", "__template_loginUrl", "__template_secret", + "__template_refreshUrl", "__template_url", "notifications", "status", @@ -18299,7 +1061,7 @@ class OutputResponseOutputWebhookWebhook1TypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" method: NotRequired[MethodOptions] r"""The method to use when sending events""" format_: NotRequired[OutputResponseOutputWebhookFormat1] @@ -18348,6 +1110,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] @@ -18385,7 +1148,7 @@ class OutputResponseOutputWebhookWebhook1TypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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] @@ -18411,6 +1174,16 @@ 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.""" + refresh_token_field: NotRequired[str] + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, @{product} will use the refresh token to obtain new access tokens without re-sending credentials.""" + rotate_refresh_token: NotRequired[bool] + r"""@{product} will update the stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + refresh_url: NotRequired[str] + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + refresh_request_params: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict] + ] + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, @{product} sends only grant_type, refresh_token, and client_secret.""" exclude_self: NotRequired[bool] r"""Exclude all IPs of the current host from the list of any resolved hostnames""" urls: NotRequired[List[OutputResponseOutputWebhookURL1TypedDict]] @@ -18428,6 +1201,8 @@ class OutputResponseOutputWebhookWebhook1TypedDict(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_refresh_url: NotRequired[str] + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' 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]] @@ -18457,7 +1232,7 @@ class OutputResponseOutputWebhookWebhook1(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" method: Optional[MethodOptions] = None r"""The method to use when sending events""" @@ -18563,6 +1338,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") @@ -18651,7 +1427,7 @@ class OutputResponseOutputWebhookWebhook1(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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], @@ -18711,6 +1487,25 @@ 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.""" + refresh_token_field: Annotated[ + Optional[str], pydantic.Field(alias="refreshTokenField") + ] = None + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, @{product} will use the refresh token to obtain new access tokens without re-sending credentials.""" + + rotate_refresh_token: Annotated[ + Optional[bool], pydantic.Field(alias="rotateRefreshToken") + ] = None + r"""@{product} will update the stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + + refresh_url: Annotated[Optional[str], pydantic.Field(alias="refreshUrl")] = None + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + + refresh_request_params: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecret]], + pydantic.Field(alias="refreshRequestParams"), + ] = None + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, @{product} sends only grant_type, refresh_token, and client_secret.""" + 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""" @@ -18751,6 +1546,11 @@ class OutputResponseOutputWebhookWebhook1(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_refresh_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_refreshUrl") + ] = None + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( None ) @@ -18899,6 +1699,10 @@ def serialize_model(self, handler): "tokenTimeoutSecs", "oauthParams", "oauthHeaders", + "refreshTokenField", + "rotateRefreshToken", + "refreshUrl", + "refreshRequestParams", "excludeSelf", "urls", "dnsResolvePeriodSec", @@ -18908,6 +1712,7 @@ def serialize_model(self, handler): "__template_onBackpressure", "__template_loginUrl", "__template_secret", + "__template_refreshUrl", "__template_url", "notifications", "status", @@ -18959,7 +1764,7 @@ class OutputResponseOutputDefaultTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a 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]] @@ -18989,7 +1794,7 @@ class OutputResponseOutputDefault(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") @@ -19045,71 +1850,76 @@ def serialize_model(self, handler): OutputResponseOutputDevnullTypedDict, OutputResponseOutputDefaultTypedDict, OutputResponseOutputRouterTypedDict, - OutputResponseOutputSnmpTypedDict, OutputResponseOutputNetflowTypedDict, + OutputResponseOutputSnmpTypedDict, OutputResponseOutputDiskSpoolTypedDict, OutputResponseOutputRingTypedDict, + OutputResponseOutputStatsdTypedDict, OutputResponseOutputGraphiteTypedDict, OutputResponseOutputStatsdExtTypedDict, - OutputResponseOutputStatsdTypedDict, + OutputResponseOutputGoogleBigqueryTypedDict, OutputResponseOutputGooglePubsubTypedDict, - OutputResponseOutputCriblTCPTypedDict, - OutputResponseOutputHoneycombTypedDict, + OutputResponseOutputGoogleCloudObservabilityTypedDict, OutputResponseOutputWavefrontTypedDict, OutputResponseOutputSignalfxTypedDict, + OutputResponseOutputHoneycombTypedDict, + OutputResponseOutputCriblTCPTypedDict, OutputResponseOutputAzureEventhubTypedDict, OutputResponseOutputMicrosoftFabricTypedDict, - OutputResponseOutputSumoLogicTypedDict, - OutputResponseOutputCrowdstrikeNextGenSiemTypedDict, OutputResponseOutputHumioHecTypedDict, - OutputResponseOutputTcpjsonTypedDict, OutputResponseOutputSplunkTypedDict, + OutputResponseOutputSumoLogicTypedDict, + OutputResponseOutputTcpjsonTypedDict, OutputResponseOutputExabeamTypedDict, - OutputResponseOutputSnsTypedDict, + OutputResponseOutputCrowdstrikeNextGenSiemTypedDict, OutputResponseOutputElasticCloudTypedDict, - OutputResponseOutputKafkaTypedDict, + OutputResponseOutputSnsTypedDict, OutputResponseOutputAzureLogsTypedDict, + OutputResponseOutputKafkaTypedDict, OutputResponseOutputConfluentCloudTypedDict, - OutputResponseOutputSplunkLbTypedDict, OutputResponseOutputCloudwatchTypedDict, OutputResponseOutputSyslogTypedDict, - OutputResponseOutputPrometheusTypedDict, + OutputResponseOutputSplunkLbTypedDict, + OutputResponseOutputWizHecTypedDict, OutputResponseOutputNewrelicEventsTypedDict, - OutputResponseOutputNewrelicTypedDict, - OutputResponseOutputLokiTypedDict, OutputResponseOutputCriblHTTPTypedDict, - OutputResponseOutputDatasetTypedDict, - OutputResponseOutputWizHecTypedDict, + OutputResponseOutputKinesisTypedDict, OutputResponseOutputCriblSearchEngineTypedDict, + OutputResponseOutputLokiTypedDict, + OutputResponseOutputNewrelicTypedDict, OutputResponseOutputXsiamTypedDict, - OutputResponseOutputKinesisTypedDict, + OutputResponseOutputDatasetTypedDict, OutputResponseOutputDynatraceHTTPTypedDict, OutputResponseOutputSplunkHecTypedDict, + OutputResponseOutputFilesystemTypedDict, OutputResponseOutputDynatraceOtlpTypedDict, OutputResponseOutputServiceNowTypedDict, - OutputResponseOutputFilesystemTypedDict, + OutputResponseOutputCriblLakeTypedDict, OutputResponseOutputSqsTypedDict, + OutputResponseOutputAmazonManagedPrometheusTypedDict, OutputResponseOutputDatadogTypedDict, OutputResponseOutputInfluxdbTypedDict, - OutputResponseOutputSentinelOneAiSiemTypedDict, OutputResponseOutputElasticTypedDict, + OutputResponseOutputSentinelOneAiSiemTypedDict, OutputResponseOutputGoogleChronicleTypedDict, OutputResponseOutputClickHouseTypedDict, OutputResponseOutputChronicleTypedDict, + OutputResponseOutputCustomerMetricsStorageTypedDict, OutputResponseOutputLocalSearchStorageTypedDict, + OutputResponseOutputPrometheusTypedDict, OutputResponseOutputDatabricksTypedDict, - OutputResponseOutputAlphasocS3TypedDict, OutputResponseOutputMskTypedDict, - OutputResponseOutputCriblLakeTypedDict, + OutputResponseOutputAlphasocS3TypedDict, + OutputResponseOutputIbmCloudS3TypedDict, OutputResponseOutputStorjS3TypedDict, OutputResponseOutputOpenTelemetryTypedDict, - OutputResponseOutputAlibabaCloudS3TypedDict, OutputResponseOutputScalityS3TypedDict, - OutputResponseOutputSentinelTypedDict, OutputResponseOutputNutanixObjectsTypedDict, OutputResponseOutputDellS3TypedDict, OutputResponseOutputCloudflareR2TypedDict, + OutputResponseOutputSentinelTypedDict, OutputResponseOutputGoogleCloudStorageTypedDict, + OutputResponseOutputAlibabaCloudS3TypedDict, OutputResponseOutputAzureBlobTypedDict, OutputResponseOutputCloudianS3TypedDict, OutputResponseOutputMinioTypedDict, @@ -19118,8 +1928,8 @@ def serialize_model(self, handler): OutputResponseOutputDlS3TypedDict, OutputResponseOutputS3TypedDict, OutputResponseOutputAzureDataExplorerTypedDict, - OutputResponseOutputGrafanaCloudUnionTypedDict, OutputResponseOutputWebhookUnionTypedDict, + OutputResponseOutputGrafanaCloudUnionTypedDict, ], ) r"""Destination configuration with optional Notifications and runtime status.""" @@ -19156,9 +1966,11 @@ class UnknownOutputResponse(BaseModel): "kinesis": OutputResponseOutputKinesis, "honeycomb": OutputResponseOutputHoneycomb, "azure_eventhub": OutputResponseOutputAzureEventhub, + "google_bigquery": OutputResponseOutputGoogleBigquery, "google_chronicle": OutputResponseOutputGoogleChronicle, "google_cloud_storage": OutputResponseOutputGoogleCloudStorage, "google_cloud_logging": OutputResponseOutputGoogleCloudLogging, + "google_cloud_observability": OutputResponseOutputGoogleCloudObservability, "google_pubsub": OutputResponseOutputGooglePubsub, "exabeam": OutputResponseOutputExabeam, "kafka": OutputResponseOutputKafka, @@ -19182,6 +1994,7 @@ class UnknownOutputResponse(BaseModel): "datadog": OutputResponseOutputDatadog, "grafana_cloud": OutputResponseOutputGrafanaCloudUnion, "loki": OutputResponseOutputLoki, + "amazon_managed_prometheus": OutputResponseOutputAmazonManagedPrometheus, "prometheus": OutputResponseOutputPrometheus, "ring": OutputResponseOutputRing, "open_telemetry": OutputResponseOutputOpenTelemetry, @@ -19197,6 +2010,7 @@ class UnknownOutputResponse(BaseModel): "cribl_lake": OutputResponseOutputCriblLake, "disk_spool": OutputResponseOutputDiskSpool, "click_house": OutputResponseOutputClickHouse, + "customer_metrics_storage": OutputResponseOutputCustomerMetricsStorage, "local_search_storage": OutputResponseOutputLocalSearchStorage, "xsiam": OutputResponseOutputXsiam, "netflow": OutputResponseOutputNetflow, @@ -19214,6 +2028,7 @@ class UnknownOutputResponse(BaseModel): "cloudian_s3": OutputResponseOutputCloudianS3, "scality_s3": OutputResponseOutputScalityS3, "alibaba_cloud_s3": OutputResponseOutputAlibabaCloudS3, + "ibm_cloud_s3": OutputResponseOutputIbmCloudS3, } @@ -19239,9 +2054,11 @@ class UnknownOutputResponse(BaseModel): OutputResponseOutputKinesis, OutputResponseOutputHoneycomb, OutputResponseOutputAzureEventhub, + OutputResponseOutputGoogleBigquery, OutputResponseOutputGoogleChronicle, OutputResponseOutputGoogleCloudStorage, OutputResponseOutputGoogleCloudLogging, + OutputResponseOutputGoogleCloudObservability, OutputResponseOutputGooglePubsub, OutputResponseOutputExabeam, OutputResponseOutputKafka, @@ -19265,6 +2082,7 @@ class UnknownOutputResponse(BaseModel): OutputResponseOutputDatadog, OutputResponseOutputGrafanaCloudUnion, OutputResponseOutputLoki, + OutputResponseOutputAmazonManagedPrometheus, OutputResponseOutputPrometheus, OutputResponseOutputRing, OutputResponseOutputOpenTelemetry, @@ -19280,6 +2098,7 @@ class UnknownOutputResponse(BaseModel): OutputResponseOutputCriblLake, OutputResponseOutputDiskSpool, OutputResponseOutputClickHouse, + OutputResponseOutputCustomerMetricsStorage, OutputResponseOutputLocalSearchStorage, OutputResponseOutputXsiam, OutputResponseOutputNetflow, @@ -19297,6 +2116,7 @@ class UnknownOutputResponse(BaseModel): OutputResponseOutputCloudianS3, OutputResponseOutputScalityS3, OutputResponseOutputAlibabaCloudS3, + OutputResponseOutputIbmCloudS3, UnknownOutputResponse, ], BeforeValidator( @@ -19312,166 +2132,6 @@ class UnknownOutputResponse(BaseModel): r"""Destination configuration with optional Notifications and runtime status.""" -try: - OutputResponseOutputStatsd.model_rebuild() -except NameError: - pass -try: - OutputResponseOutputMinio.model_rebuild() -except NameError: - pass -try: - OutputResponseOutputCloudwatch.model_rebuild() -except NameError: - pass -try: - OutputResponseOutputInfluxdb.model_rebuild() -except NameError: - pass -try: - OutputResponseOutputNewrelicEvents.model_rebuild() -except NameError: - pass -try: - OutputResponseOutputNewrelic.model_rebuild() -except NameError: - pass -try: - OutputResponseOutputElasticCloud.model_rebuild() -except NameError: - pass -try: - OutputResponseURLElastic.model_rebuild() -except NameError: - pass -try: - OutputResponseOutputElastic.model_rebuild() -except NameError: - pass -try: - OutputResponseOutputMsk.model_rebuild() -except NameError: - pass -try: - OutputResponseOutputConfluentCloud.model_rebuild() -except NameError: - pass -try: - OutputResponseOutputKafka.model_rebuild() -except NameError: - pass -try: - OutputResponseOutputExabeam.model_rebuild() -except NameError: - pass -try: - OutputResponseOutputGooglePubsub.model_rebuild() -except NameError: - pass -try: - OutputResponseOutputGoogleCloudLogging.model_rebuild() -except NameError: - pass -try: - OutputResponseOutputGoogleCloudStorage.model_rebuild() -except NameError: - pass -try: - OutputResponseExtraLogType.model_rebuild() -except NameError: - pass -try: - OutputResponseOutputGoogleChronicle.model_rebuild() -except NameError: - pass -try: - OutputResponseOutputAzureEventhub.model_rebuild() -except NameError: - pass -try: - OutputResponseOutputHoneycomb.model_rebuild() -except NameError: - pass -try: - OutputResponseOutputKinesis.model_rebuild() -except NameError: - pass -try: - OutputResponseOutputAzureLogs.model_rebuild() -except NameError: - pass -try: - OutputResponseCertificate.model_rebuild() -except NameError: - pass -try: - OutputResponseOutputAzureDataExplorer.model_rebuild() -except NameError: - pass -try: - OutputResponseOutputAzureBlob.model_rebuild() -except NameError: - pass -try: - OutputResponseOutputS3.model_rebuild() -except NameError: - pass -try: - OutputResponseOutputFilesystem.model_rebuild() -except NameError: - pass -try: - OutputResponseOutputSignalfx.model_rebuild() -except NameError: - pass -try: - OutputResponseOutputWavefront.model_rebuild() -except NameError: - pass -try: - OutputResponseOutputTcpjson.model_rebuild() -except NameError: - pass -try: - OutputResponseOutputWizHec.model_rebuild() -except NameError: - pass -try: - OutputResponseURLSplunkHec.model_rebuild() -except NameError: - pass -try: - OutputResponseOutputSplunkHec.model_rebuild() -except NameError: - pass -try: - OutputResponseAuthToken.model_rebuild() -except NameError: - pass -try: - OutputResponseIndexerDiscoveryConfigs.model_rebuild() -except NameError: - pass -try: - OutputResponseOutputSplunkLb.model_rebuild() -except NameError: - pass -try: - OutputResponseOutputSplunk.model_rebuild() -except NameError: - pass -try: - OutputResponseOutputSyslog.model_rebuild() -except NameError: - pass -try: - OutputResponseOutputDevnull.model_rebuild() -except NameError: - pass -try: - OutputResponseOutputSentinel.model_rebuild() -except NameError: - pass try: OutputResponseOutputWebhookURL2.model_rebuild() except NameError: diff --git a/src/cribl_control_plane/models/outputresponse_outputwebhook_format_2.py b/src/cribl_control_plane/models/outputresponse_outputwebhook_format_2.py new file mode 100644 index 000000000..f01e61cc2 --- /dev/null +++ b/src/cribl_control_plane/models/outputresponse_outputwebhook_format_2.py @@ -0,0 +1,19088 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .acknowledgmentsoptions import AcknowledgmentsOptions +from .acknowledgmentsoptionsallleader import AcknowledgmentsOptionsAllLeader +from .authenticationmethodoptions import AuthenticationMethodOptions +from .authenticationmethodoptionsapi import AuthenticationMethodOptionsAPI +from .authenticationmethodoptionsauthtokensitems import ( + AuthenticationMethodOptionsAuthTokensItems, +) +from .authenticationmethodoptionss3collectorconf import ( + AuthenticationMethodOptionsS3CollectorConf, +) +from .authenticationtype import AuthenticationType, AuthenticationTypeTypedDict +from .authenticationtypeuse import AuthenticationTypeUse, AuthenticationTypeUseTypedDict +from .authtypetemplatemanualapikeyauthtype import ( + AuthTypeTemplatemanualAPIKeyAuthType, + AuthTypeTemplatemanualAPIKeyAuthTypeTypedDict, +) +from .backpressurebehavioroptions import BackpressureBehaviorOptions +from .backpressurebehavioroptionsblockdrop import BackpressureBehaviorOptionsBlockDrop +from .certificatetypeazureblobauthtypeclientcert import ( + CertificateTypeAzureBlobAuthTypeClientCert, + CertificateTypeAzureBlobAuthTypeClientCertTypedDict, +) +from .compressionleveloptions import CompressionLevelOptions +from .compressionoptions import CompressionOptions +from .compressionoptionsgziplz4 import CompressionOptionsGzipLz4 +from .compressionoptionsgzipnone import CompressionOptionsGzipNone +from .compressionoptionshttp import CompressionOptionsHTTP +from .compressionoptionspq import CompressionOptionsPq +from .dataformatoptions import DataFormatOptions +from .datapageversionoptions import DataPageVersionOptions +from .destinationprotocoloptions import DestinationProtocolOptions +from .diskspaceprotectionoptions import DiskSpaceProtectionOptions +from .extrahttpheaderconfinputelastic import ( + ExtraHTTPHeaderConfInputElastic, + ExtraHTTPHeaderConfInputElasticTypedDict, +) +from .failedrequestloggingmodeoptions import FailedRequestLoggingModeOptions +from .googleauthenticationmethodoptions import GoogleAuthenticationMethodOptions +from .hostconfoutputsyslog import HostConfOutputSyslog, HostConfOutputSyslogTypedDict +from .kafkaschemaregistryauthenticationtypetemplateschemaregistryurlauth import ( + KafkaSchemaRegistryAuthenticationTypeTemplateschemaRegistryURLAuth, + KafkaSchemaRegistryAuthenticationTypeTemplateschemaRegistryURLAuthTypedDict, +) +from .keyvaluemetadataconfoutputfilesystem import ( + KeyValueMetadataConfOutputFilesystem, + KeyValueMetadataConfOutputFilesystemTypedDict, +) +from .loglabelconfoutputgooglecloudlogging import ( + LogLabelConfOutputGoogleCloudLogging, + LogLabelConfOutputGoogleCloudLoggingTypedDict, +) +from .maxs2sversionoptions import MaxS2SVersionOptions +from .microsoftentraidauthenticationendpointoptionssasl import ( + MicrosoftEntraIDAuthenticationEndpointOptionsSasl, +) +from .modeoptions import ModeOptions +from .nestedfieldserializationoptions import NestedFieldSerializationOptions +from .notification_union import NotificationUnion, NotificationUnionTypedDict +from .objectacloptions import ObjectACLOptions +from .objectacloptionsauthenticatedreadbucketownerfullcontrol import ( + ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol, +) +from .orphanfilerecoverytype import ( + OrphanFileRecoveryType, + OrphanFileRecoveryTypeTypedDict, +) +from .outputresponse_pqcontrols_graphite import ( + OutputResponsePqControlsGraphite, + OutputResponsePqControlsGraphiteTypedDict, + OutputResponseTypeGraphite, +) +from .parquetversionoptions import ParquetVersionOptions +from .queuefullbehavioroptions import QueueFullBehaviorOptions +from .recorddataformatoptions import RecordDataFormatOptions +from .recorddataformatoptionsjsonprotobuf import RecordDataFormatOptionsJSONProtobuf +from .refreshrequestparamconfhealthcheckauthenticationoauthsecret import ( + RefreshRequestParamConfHealthCheckAuthenticationOauthSecret, + RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict, +) +from .regionoptions import RegionOptions +from .responseretrysettingconfoutputwebhook import ( + ResponseRetrySettingConfOutputWebhook, + ResponseRetrySettingConfOutputWebhookTypedDict, +) +from .retrysettingstype import RetrySettingsType, RetrySettingsTypeTypedDict +from .saslextensionconfinputkafka import ( + SaslExtensionConfInputKafka, + SaslExtensionConfInputKafkaTypedDict, +) +from .serversideencryptionforuploadedobjectsoptions import ( + ServerSideEncryptionForUploadedObjectsOptions, +) +from .serversideencryptionforuploadedobjectsoptionsaes256 import ( + ServerSideEncryptionForUploadedObjectsOptionsAes256, +) +from .statustype import StatusType, StatusTypeTypedDict +from .storageclassoptions import StorageClassOptions +from .storageclassoptionsarchivecoldline import StorageClassOptionsArchiveColdline +from .storageclassoptionsreducedredundancystandard import ( + StorageClassOptionsReducedredundancyStandard, +) +from .timeoutretrysettingstype import ( + TimeoutRetrySettingsType, + TimeoutRetrySettingsTypeTypedDict, +) +from .tlssettingsclientsidetype import ( + TLSSettingsClientSideType, + TLSSettingsClientSideTypeTypedDict, +) +from .tlssettingsclientsidetypecapathcertpath import ( + TLSSettingsClientSideTypeCaPathCertPath, + TLSSettingsClientSideTypeCaPathCertPathTypedDict, +) +from .tlssettingsclientsidetypecapathcertpathextended import ( + TLSSettingsClientSideTypeCaPathCertPathExtended, + TLSSettingsClientSideTypeCaPathCertPathExtendedTypedDict, +) +from .tlssettingsclientsidetypeextended import ( + TLSSettingsClientSideTypeExtended, + TLSSettingsClientSideTypeExtendedTypedDict, +) +from cribl_control_plane import models, utils +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 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.""" + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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[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] + r"""Binds 'onBackpressure' to a 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 OutputResponseOutputGraphite(BaseModel): + 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.""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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.""" + + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") + ] = None + r"""When protocol is TCP, specifies how often buffers should be flushed, resulting in records sent to the destination.""" + + 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.""" + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + 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.""" + + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") + ] = 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""" + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + ] = None + r"""How to handle events when all receivers are exerting backpressure""" + + 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[OutputResponsePqControlsGraphite], 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_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.DestinationProtocolOptions(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", + "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 = {} + + 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 OutputResponseTypeStatsdExt(str, Enum): + STATSD_EXT = "statsd_ext" + + +class OutputResponsePqControlsStatsdExtTypedDict(TypedDict): + pass + + +class OutputResponsePqControlsStatsdExt(BaseModel): + pass + + +class OutputResponseOutputStatsdExtTypedDict(TypedDict): + type: OutputResponseTypeStatsdExt + 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] + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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[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] + r"""Binds 'onBackpressure' to a 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 OutputResponseOutputStatsdExt(BaseModel): + type: OutputResponseTypeStatsdExt + + 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: 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"""Metadata tags used for categorization and filtering.""" + + 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.""" + + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") + ] = None + r"""When protocol is TCP, specifies how often buffers should be flushed, resulting in records sent to the destination.""" + + 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.""" + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + 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.""" + + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") + ] = 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""" + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + ] = None + r"""How to handle events when all receivers are exerting backpressure""" + + 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[OutputResponsePqControlsStatsdExt], 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_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.DestinationProtocolOptions(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", + "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 = {} + + 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 OutputResponseTypeStatsd(str, Enum): + STATSD = "statsd" + + +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] + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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_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 OutputResponseOutputStatsd(BaseModel): + 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: 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"""Metadata tags used for categorization and filtering.""" + + 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.""" + + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") + ] = None + r"""When protocol is TCP, specifies how often buffers should be flushed, resulting in records sent to the destination.""" + + 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.""" + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + 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.""" + + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") + ] = 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""" + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + ] = None + r"""How to handle events when all receivers are exerting backpressure""" + + 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[OutputResponsePqControlsStatsd], 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_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.DestinationProtocolOptions(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", + "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 = {} + + 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 OutputResponseTypeMinio(str, Enum): + MINIO = "minio" + + +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"""Metadata tags used for categorization and filtering.""" + 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: 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_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 + + 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: 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)""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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 MinIO 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""" + + 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 + + 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[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_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 + 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_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 + 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.""" + + 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("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("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( + [ + "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 = {} + + 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 OutputResponseTypeCloudwatch(str, Enum): + CLOUDWATCH = "cloudwatch" + + +class OutputResponsePqControlsCloudwatchTypedDict(TypedDict): + pass + + +class OutputResponsePqControlsCloudwatch(BaseModel): + pass + + +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"""Metadata tags used for categorization and filtering.""" + 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] + 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] + 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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 + 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 + 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[OutputResponsePqControlsCloudwatch], 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.""" + + 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", + "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", + "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 OutputResponseTypeInfluxdb(str, Enum): + INFLUXDB = "influxdb" + + +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 OutputResponsePqControlsInfluxdb(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""" + 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"""Metadata tags used for categorization and filtering.""" + 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""" + 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[OutputResponseAuthenticationTypeInfluxdb] + r"""InfluxDB authentication type""" + description: 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] + 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[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_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.""" + 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 + + 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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""" + + 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[OutputResponseAuthenticationTypeInfluxdb], + 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.""" + + 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[OutputResponsePqControlsInfluxdb], 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.""" + + 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("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): + 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.OutputResponseAuthenticationTypeInfluxdb(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", + "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", + "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 OutputResponseTypeNewrelicEvents(str, Enum): + NEWRELIC_EVENTS = "newrelic_events" + + +class OutputResponsePqControlsNewrelicEventsTypedDict(TypedDict): + pass + + +class OutputResponsePqControlsNewrelicEvents(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).""" + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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] + 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[OutputResponsePqControlsNewrelicEventsTypedDict] + 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.""" + 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""" + + 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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 + 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") + ] = 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[OutputResponsePqControlsNewrelicEvents], + 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.""" + + 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): + 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( + [ + "id", + "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", + "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 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 OutputResponsePqControlsNewrelicTypedDict(TypedDict): + pass + + +class OutputResponsePqControlsNewrelic(BaseModel): + pass + + +class OutputResponseOutputNewrelicTypedDict(TypedDict): + type: OutputResponseTypeNewrelic + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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] + 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] + 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[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_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.""" + 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 + + 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"""Metadata tags used for categorization and filtering.""" + + 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""" + + 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""" + + 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") + ] = 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[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_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") + ] = 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_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_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("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( + [ + "id", + "pipeline", + "systemFields", + "environment", + "streamtags", + "region", + "logType", + "messageField", + "metadata", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "useRoundRobinDns", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "onBackpressure", + "authType", + "totalMemoryLimitKB", + "description", + "customUrl", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "apiKey", + "textSecret", + "__template_streamtags", + "__template_region", + "__template_logType", + "__template_messageField", + "__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 OutputResponseTypeElasticCloud(str, Enum): + ELASTIC_CLOUD = "elastic_cloud" + + +class OutputResponsePqControlsElasticCloudTypedDict(TypedDict): + pass + + +class OutputResponsePqControlsElasticCloud(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.""" + 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"""Metadata tags used for categorization and filtering.""" + 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""" + 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.""" + 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[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_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]] + 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 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.""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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""" + + 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""" + + 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"), + ] = 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.""" + + 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[OutputResponsePqControlsElasticCloud], + 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_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_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.""" + + 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("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", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "failedRequestLoggingMode", + "safeHeaders", + "extraParams", + "auth", + "elasticPipeline", + "includeDocId", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "onBackpressure", + "description", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_url", + "__template_index", + "__template_failedRequestLoggingMode", + "__template_elasticPipeline", + "__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 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 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 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"""Metadata tags used for categorization and filtering.""" + 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"""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[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] + 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] + 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[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_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 + + 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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""" + + 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""" + + 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.""" + + extra_params: Annotated[ + Optional[List[SaslExtensionConfInputKafka]], pydantic.Field(alias="extraParams") + ] = None + + 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""" + + 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") + ] = 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 + 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""" + + 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""" + + 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[OutputResponsePqControlsElastic], 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_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 + 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.""" + + 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("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("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): + 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", + "loadBalanced", + "docType", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "extraParams", + "auth", + "elasticVersion", + "elasticPipeline", + "includeDocId", + "writeAction", + "retryPartialErrors", + "onBackpressure", + "description", + "url", + "useRoundRobinDns", + "excludeSelf", + "urls", + "dnsResolvePeriodSec", + "loadBalanceStatsPeriodSec", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_index", + "__template_docType", + "__template_failedRequestLoggingMode", + "__template_elasticPipeline", + "__template_onBackpressure", + "__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 + + +class OutputResponseTypeMsk(str, Enum): + MSK = "msk" + + +class OutputResponsePqControlsMskTypedDict(TypedDict): + pass + + +class OutputResponsePqControlsMsk(BaseModel): + pass + + +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"""Metadata tags used for categorization and filtering.""" + 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""" + 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] + 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[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_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 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.""" + + region: str + r"""Region where the MSK cluster 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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.""" + + 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.""" + + 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") + ] = 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""" + + 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"""The maximum size to hold in memory before writing events 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") + ] = 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_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.""" + + 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("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): + 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 + + @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", + "ack", + "format", + "compression", + "maxRecordSizeKB", + "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", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_topic", + "__template_format", + "__template_compression", + "__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 OutputResponseTypeConfluentCloud(str, Enum): + CONFLUENT_CLOUD = "confluent_cloud" + + +class OutputResponsePqControlsConfluentCloudTypedDict(TypedDict): + pass + + +class OutputResponsePqControlsConfluentCloud(BaseModel): + pass + + +class OutputResponseOutputConfluentCloudTypedDict(TypedDict): + type: OutputResponseTypeConfluentCloud + 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.""" + 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"""Metadata tags used for categorization and filtering.""" + 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"""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.""" + 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] + 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[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] + 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]] + 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 + + 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.""" + + 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"""Metadata tags used for categorization and filtering.""" + + tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None + + 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.""" + + 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.""" + + 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"""The maximum size to hold in memory before writing events 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"), + ] = 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_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 + 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.""" + + 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): + if isinstance(value, str): + try: + 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("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", + "tls", + "ack", + "format", + "compression", + "maxRecordSizeKB", + "flushEventCount", + "flushPeriodSec", + "kafkaSchemaRegistry", + "connectionTimeout", + "requestTimeout", + "maxRetries", + "maxBackOff", + "initialBackoff", + "backoffRate", + "authenticationTimeout", + "reauthenticationThreshold", + "sasl", + "onBackpressure", + "description", + "protobufLibraryId", + "protobufEncodingId", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_brokers", + "__template_topic", + "__template_format", + "__template_compression", + "__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 OutputResponseTypeKafka(str, Enum): + KAFKA = "kafka" + + +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] + 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"""Metadata tags used for categorization and filtering.""" + 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""" + 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] + 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_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]] + 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 OutputResponseOutputKafka(BaseModel): + 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: 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"""Metadata tags used for categorization and filtering.""" + + 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.""" + + 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"""The maximum size to hold in memory before writing events 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_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.""" + + 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): + if isinstance(value, str): + try: + 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("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", + "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", + "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 OutputResponseTypeExabeam(str, Enum): + EXABEAM = "exabeam" + + +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 + + """ + 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"""Metadata tags used for categorization and filtering.""" + 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.""" + 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 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""" + + 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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""" + + 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.""" + + 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""" + + retry_settings: Annotated[ + Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") + ] = None + + orphans: Optional[OrphanFileRecoveryType] = 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.""" + + encoded_configuration: Annotated[ + Optional[str], pydantic.Field(alias="encodedConfiguration") + ] = None + r"""Enter an encoded string containing Exabeam configurations""" + + 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.""" + + 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.""" + + timezone_offset: Annotated[ + Optional[str], pydantic.Field(alias="timezoneOffset") + ] = None + + 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}`.""" + + 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"""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_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.""" + + 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("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("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 + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "id", + "pipeline", + "systemFields", + "environment", + "streamtags", + "objectACL", + "storageClass", + "reuseConnections", + "rejectUnauthorized", + "addIdToStagePath", + "removeEmptyDirs", + "maxFileOpenTimeSec", + "maxFileIdleTimeSec", + "maxOpenFiles", + "onBackpressure", + "deadletterEnabled", + "onDiskFullBackpressure", + "retrySettings", + "orphans", + "maxFileSizeMB", + "encodedConfiguration", + "siteName", + "siteId", + "timezoneOffset", + "awsApiKey", + "awsSecretKey", + "description", + "emptyDirCleanupSec", + "directoryBatchSize", + "deadletterPath", + "maxRetryNum", + "__template_streamtags", + "__template_region", + "__template_endpoint", + "__template_objectACL", + "__template_storageClass", + "__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 OutputResponseTypeGooglePubsub(str, Enum): + GOOGLE_PUBSUB = "google_pubsub" + + +class OutputResponsePqControlsGooglePubsubTypedDict(TypedDict): + pass + + +class OutputResponsePqControlsGooglePubsub(BaseModel): + pass + + +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] + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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[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_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]] + 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 OutputResponseOutputGooglePubsub(BaseModel): + type: OutputResponseTypeGooglePubsub + + 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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.""" + + 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[OutputResponsePqControlsGooglePubsub], + 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_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.""" + + 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("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", + "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 = {} + + 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 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 OutputResponseGoogleAuthenticationMethodGoogleCloudObservability( + 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 OutputResponsePqControlsGoogleCloudObservabilityTypedDict(TypedDict): + pass + + +class OutputResponsePqControlsGoogleCloudObservability(BaseModel): + pass + + +class OutputResponseOutputGoogleCloudObservabilityTypedDict(TypedDict): + type: OutputResponseTypeGoogleCloudObservability + google_auth_method: OutputResponseGoogleAuthenticationMethodGoogleCloudObservability + 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"""Metadata tags used for categorization and filtering.""" + 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.""" + + +class OutputResponseOutputGoogleCloudObservability(BaseModel): + type: OutputResponseTypeGoogleCloudObservability + + google_auth_method: Annotated[ + OutputResponseGoogleAuthenticationMethodGoogleCloudObservability, + 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.""" + + 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"""Metadata tags used for categorization and filtering.""" + + protocol: Optional[OutputResponseProtocolGoogleCloudObservability] = None + + otlp_version: Annotated[ + Optional[OutputResponseOtlpVersionGoogleCloudObservability], + pydantic.Field(alias="otlpVersion"), + ] = None + + 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'.""" + + 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 sent to Google Cloud Observability""" + + 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") + ] = None + r"""How often the sender should ping the peer to keep the connection open""" + + tls: Optional[TLSSettingsClientSideTypeExtended] = None + + 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). 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") + ] = None + 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""" + + 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[OutputResponsePqControlsGoogleCloudObservability], + 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_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.OutputResponseGoogleAuthenticationMethodGoogleCloudObservability( + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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] + 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"""Metadata tags used for categorization and filtering.""" + + 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 + r"""Optional description for this configuration.""" + + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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_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 OutputResponseOutputGoogleCloudStorage(BaseModel): + 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: 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"""Metadata tags used for categorization and filtering.""" + + 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}`""" + + 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""" + + 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"""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.""" + + 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""" + + 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""" + + 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") + ] = 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_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_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_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("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.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", + "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"]) + 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 OutputResponsePqControlsGoogleChronicle(BaseModel): + pass + + +class OutputResponseOutputGoogleChronicleTypedDict(TypedDict): + type: OutputResponseTypeGoogleChronicle + log_format_type: OutputResponseSendEventsAs + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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] + 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.""" + 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] + 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[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 OutputResponseOutputGoogleChronicle(BaseModel): + type: OutputResponseTypeGoogleChronicle + + log_format_type: Annotated[ + OutputResponseSendEventsAs, pydantic.Field(alias="logFormatType") + ] + + 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"""Metadata tags used for categorization and filtering.""" + + 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""" + + 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""" + + 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""" + + 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.""" + + 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.""" + + 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") + ] = 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[OutputResponsePqControlsGoogleChronicle], + 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_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 + 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_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): + 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("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): + 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", + "apiVersion", + "authenticationMethod", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "region", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "failedRequestLoggingMode", + "safeHeaders", + "useRoundRobinDns", + "onBackpressure", + "totalMemoryLimitKB", + "description", + "extraLogTypes", + "logType", + "logTextField", + "customerId", + "namespace", + "customLabels", + "udmType", + "apiKey", + "apiKeySecret", + "serviceAccountCredentials", + "serviceAccountCredentialsSecret", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_apiVersion", + "__template_region", + "__template_failedRequestLoggingMode", + "__template_onBackpressure", + "__template_customerId", + "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 OutputResponseTypeGoogleBigquery(str, Enum): + GOOGLE_BIGQUERY = "google_bigquery" + + +class OutputResponseGoogleAuthenticationMethodGoogleBigquery( + str, Enum, metaclass=utils.OpenEnumMeta +): + r"""Choose Auto to use Google Application Default Credentials (ADC), or Secret to select or create a stored secret that references Google service account credentials""" + + # Auto + AUTO = "auto" + # Secret + SECRET = "secret" + + +class OutputResponsePqControlsGoogleBigqueryTypedDict(TypedDict): + pass + + +class OutputResponsePqControlsGoogleBigquery(BaseModel): + pass + + +class OutputResponseOutputGoogleBigqueryTypedDict(TypedDict): + type: OutputResponseTypeGoogleBigquery + project_id: str + r"""Google Cloud project ID that contains the BigQuery dataset""" + dataset_id: str + r"""BigQuery dataset ID""" + table_id: str + r"""BigQuery table ID""" + google_auth_method: OutputResponseGoogleAuthenticationMethodGoogleBigquery + r"""Choose Auto to use Google Application Default Credentials (ADC), or 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"""Metadata tags used for categorization and filtering.""" + timestamp_column: NotRequired[str] + r"""Column name to write event time (`_time`) as a BigQuery TIMESTAMP. Used for time partitioning""" + secret: NotRequired[str] + r"""Select or create a stored text secret""" + flush_period: NotRequired[float] + r"""Maximum time to wait before sending a batch (when batch size limit 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 a single append request. BigQuery limit is 10 MB""" + 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.""" + 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[OutputResponsePqControlsGoogleBigqueryTypedDict] + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_project_id: NotRequired[str] + r"""Binds 'projectId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'projectId' at runtime.""" + template_dataset_id: NotRequired[str] + r"""Binds 'datasetId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'datasetId' at runtime.""" + template_table_id: NotRequired[str] + r"""Binds 'tableId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tableId' 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 OutputResponseOutputGoogleBigquery(BaseModel): + type: OutputResponseTypeGoogleBigquery + + project_id: Annotated[str, pydantic.Field(alias="projectId")] + r"""Google Cloud project ID that contains the BigQuery dataset""" + + dataset_id: Annotated[str, pydantic.Field(alias="datasetId")] + r"""BigQuery dataset ID""" + + table_id: Annotated[str, pydantic.Field(alias="tableId")] + r"""BigQuery table ID""" + + google_auth_method: Annotated[ + OutputResponseGoogleAuthenticationMethodGoogleBigquery, + pydantic.Field(alias="googleAuthMethod"), + ] + r"""Choose Auto to use Google Application Default Credentials (ADC), or Secret to select or create a stored secret that references Google service account credentials""" + + 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"""Metadata tags used for categorization and filtering.""" + + timestamp_column: Annotated[ + Optional[str], pydantic.Field(alias="timestampColumn") + ] = None + r"""Column name to write event time (`_time`) as a BigQuery TIMESTAMP. Used for time partitioning""" + + secret: Optional[str] = None + r"""Select or create a stored text secret""" + + 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_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 a single append request. BigQuery limit is 10 MB""" + + 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.""" + + 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[OutputResponsePqControlsGoogleBigquery], + 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_project_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_projectId") + ] = None + r"""Binds 'projectId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'projectId' at runtime.""" + + template_dataset_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_datasetId") + ] = None + r"""Binds 'datasetId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'datasetId' at runtime.""" + + template_table_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_tableId") + ] = None + r"""Binds 'tableId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tableId' 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("google_auth_method") + def serialize_google_auth_method(self, value): + if isinstance(value, str): + try: + return models.OutputResponseGoogleAuthenticationMethodGoogleBigquery( + 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", + "timestampColumn", + "secret", + "flushPeriod", + "maxQueueSize", + "maxRecordSizeKB", + "maxInProgress", + "onBackpressure", + "description", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_projectId", + "__template_datasetId", + "__template_tableId", + "__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 OutputResponseTypeAzureEventhub(str, Enum): + AZURE_EVENTHUB = "azure_eventhub" + + +class OutputResponsePqControlsAzureEventhubTypedDict(TypedDict): + pass + + +class OutputResponsePqControlsAzureEventhub(BaseModel): + pass + + +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] + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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[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_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.""" + 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 + + 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: 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"""Metadata tags used for categorization and filtering.""" + + ack: Optional[AcknowledgmentsOptions] = None + r"""Control the number of required acknowledgments""" + + format_: Annotated[ + Optional[RecordDataFormatOptions], pydantic.Field(alias="format") + ] = None + r"""Format to use to serialize events before writing to the Event Hubs Kafka brokers""" + + 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.""" + + flush_event_count: Annotated[ + Optional[float], pydantic.Field(alias="flushEventCount") + ] = None + r"""Maximum number of events 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 Max record size.""" + + 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[AuthenticationTypeUse] = None + r"""Authentication parameters to use when connecting to brokers. 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[OutputResponsePqControlsAzureEventhub], + 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_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 + 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.""" + + 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): + if isinstance(value, str): + try: + return models.AcknowledgmentsOptions(value) + except ValueError: + return value + return value + + @field_serializer("format_") + def serialize_format_(self, value): + if isinstance(value, str): + try: + return models.RecordDataFormatOptions(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", + "ack", + "format", + "maxRecordSizeKB", + "flushEventCount", + "flushPeriodSec", + "connectionTimeout", + "requestTimeout", + "maxRetries", + "maxBackOff", + "initialBackoff", + "backoffRate", + "authenticationTimeout", + "reauthenticationThreshold", + "sasl", + "tls", + "onBackpressure", + "description", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_brokers", + "__template_topic", + "__template_format", + "__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 OutputResponseTypeHoneycomb(str, Enum): + HONEYCOMB = "honeycomb" + + +class OutputResponsePqControlsHoneycombTypedDict(TypedDict): + pass + + +class OutputResponsePqControlsHoneycomb(BaseModel): + pass + + +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] + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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[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.""" + 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 + + dataset: str + r"""Name of the dataset to send events to – e.g., observability""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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 + 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[OutputResponsePqControlsHoneycomb], 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_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("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( + [ + "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 = {} + + 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 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 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"""Metadata tags used for categorization and filtering.""" + 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.""" + 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[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] + 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[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_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_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 + + stream_name: Annotated[str, pydantic.Field(alias="streamName")] + r"""Kinesis stream name to send events to.""" + + region: str + r"""Region where the Kinesis stream 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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"""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[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.""" + + 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[OutputResponsePqControlsKinesis], 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_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") + ] = 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("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 + + +class OutputResponsePqControlsAzureLogs(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.""" + 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"""Metadata tags used for categorization and filtering.""" + 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.""" + + +class OutputResponseOutputAzureLogs(BaseModel): + type: OutputResponseTypeAzureLogs + + 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.""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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""" + + 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 + + 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""" + + 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"), + ] = 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[OutputResponseAuthenticationMethodAzureLogs], + pydantic.Field(alias="authType"), + ] = None + 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") + ] = 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[OutputResponsePqControlsAzureLogs], 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.""" + + 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 'streamtags' to a variable 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_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.""" + + 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): + 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.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) + 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] + + +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] + 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"""Metadata tags used for categorization and filtering.""" + 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""" + 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.""" + 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_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_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 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""" + + 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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.""" + + 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""" + + remove_empty_dirs: Annotated[ + Optional[bool], pydantic.Field(alias="removeEmptyDirs") + ] = None + r"""Remove empty staging directories after moving files""" + + 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_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"""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""" + + 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") + ] = 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.""" + + max_concurrent_file_parts: Annotated[ + Optional[float], pydantic.Field(alias="maxConcurrentFileParts") + ] = None + r"""Maximum number of parts to upload in parallel per file""" + + 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""" + + add_id_to_stage_path: Annotated[ + Optional[bool], pydantic.Field(alias="addIdToStagePath") + ] = None + r"""Add the Output ID value to staging location""" + + retry_settings: Annotated[ + Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") + ] = None + + orphans: Optional[OrphanFileRecoveryType] = 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""" + + 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") + ] = None + r"""Prevent blob deletion after ingestion is complete""" + + extent_tags: Annotated[ + Optional[List[OutputResponseExtentTag]], pydantic.Field(alias="extentTags") + ] = None + r"""Strings or tags associated with the extent (ingested data shard)""" + + ingest_if_not_exists: Annotated[ + Optional[List[OutputResponseIngestIfNotExist]], + pydantic.Field(alias="ingestIfNotExists"), + ] = None + r"""Prevents duplicate ingestion by verifying whether an extent with the specified ingest-by tag already exists""" + + report_level: Annotated[ + Optional[OutputResponseReportLevel], pydantic.Field(alias="reportLevel") + ] = None + r"""Level of ingestion status reporting. Defaults to FailuresOnly.""" + + report_method: Annotated[ + Optional[OutputResponseReportMethod], pydantic.Field(alias="reportMethod") + ] = None + r"""Target of the ingestion status reporting. Defaults to Queue.""" + + additional_properties: Annotated[ + Optional[List[OutputResponseAdditionalProperty]], + pydantic.Field(alias="additionalProperties"), + ] = None + r"""Optionally, enter additional configuration properties to send to the ingestion service""" + + 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""" + + 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") + ] = 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.""" + + 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"""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[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") + ] = 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") + ] = 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_mapping_ref: Annotated[ + Optional[str], pydantic.Field(alias="__template_mappingRef") + ] = 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.""" + + template_ingest_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_ingestUrl") + ] = 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.""" + + 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") + ] = 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.""" + + 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("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): + if isinstance(value, str): + try: + return models.DataPageVersionOptions(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("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( + [ + "id", + "pipeline", + "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", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "flushPeriodSec", + "rejectUnauthorized", + "useRoundRobinDns", + "keepAlive", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__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_onBackpressure", + "__template_fileNameSuffix", + "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 OutputResponseTypeAzureBlob(str, Enum): + AZURE_BLOB = "azure_blob" + + +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.""" + 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"""Metadata tags used for categorization and filtering.""" + 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.""" + 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] + 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""" + 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_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_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.""" + 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 + + 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"""Metadata tags used for categorization and filtering.""" + + create_container: Annotated[ + Optional[bool], pydantic.Field(alias="createContainer") + ] = None + 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 + 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 + + auth_type: Annotated[ + Optional[AuthenticationMethodOptions], pydantic.Field(alias="authType") + ] = None + + storage_class: Annotated[ + Optional[OutputResponseBlobAccessTier], pydantic.Field(alias="storageClass") + ] = 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 + 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""" + + connection_string: Annotated[ + Optional[str], pydantic.Field(alias="connectionString") + ] = None + r"""Enter your Azure Storage account connection string. If left blank, Stream will fall back to env.AZURE_STORAGE_CONNECTION_STRING.""" + + 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"""The name of your Azure storage account""" + + 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"""Endpoint suffix for the service URL. Takes precedence over the Azure Cloud setting. Defaults to core.windows.net.""" + + client_text_secret: Annotated[ + Optional[str], pydantic.Field(alias="clientTextSecret") + ] = None + r"""Select or create a stored text secret""" + + certificate: Optional[CertificateTypeAzureBlobAuthTypeClientCert] = 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") + ] = 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.""" + + 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.""" + + 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") + ] = 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.""" + + 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_azure_cloud: Annotated[ + Optional[str], pydantic.Field(alias="__template_azureCloud") + ] = 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.""" + + 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.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("auth_type") + def serialize_auth_type(self, value): + if isinstance(value, str): + try: + return models.AuthenticationMethodOptions(value) + except ValueError: + return value + return value + + @field_serializer("storage_class") + def serialize_storage_class(self, value): + if isinstance(value, str): + try: + return models.OutputResponseBlobAccessTier(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", + "createContainer", + "destPath", + "addIdToStagePath", + "maxConcurrentFileParts", + "removeEmptyDirs", + "partitionExpr", + "format", + "baseFileName", + "fileNameSuffix", + "maxFileSizeMB", + "maxFileOpenTimeSec", + "maxFileIdleTimeSec", + "maxOpenFiles", + "headerLine", + "writeHighWaterMark", + "onBackpressure", + "deadletterEnabled", + "onDiskFullBackpressure", + "forceCloseOnShutdown", + "retrySettings", + "orphans", + "authType", + "storageClass", + "description", + "compress", + "compressionLevel", + "automaticSchema", + "parquetSchema", + "parquetVersion", + "parquetDataPageVersion", + "parquetRowGroupLength", + "parquetPageSize", + "shouldLogInvalidRows", + "keyValueMetadata", + "enableStatistics", + "enableWritePageIndex", + "enablePageChecksum", + "emptyDirCleanupSec", + "directoryBatchSize", + "deadletterPath", + "maxRetryNum", + "connectionString", + "textSecret", + "storageAccountName", + "tenantId", + "clientId", + "azureCloud", + "endpointSuffix", + "clientTextSecret", + "certificate", + "__template_streamtags", + "__template_containerName", + "__template_destPath", + "__template_partitionExpr", + "__template_format", + "__template_baseFileName", + "__template_fileNameSuffix", + "__template_onBackpressure", + "__template_compress", + "__template_parquetSchema", + "__template_connectionString", + "__template_storageAccountName", + "__template_tenantId", + "__template_clientId", + "__template_azureCloud", + "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 OutputResponseTypeS3(str, Enum): + S3 = "s3" + + +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] + 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"""Metadata tags used for categorization and filtering.""" + 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""" + 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[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] + 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_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_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.""" + 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 + + 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"""Metadata tags used for categorization and filtering.""" + + 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""" + + 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 + + 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""" + + 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_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 + 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_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 + 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("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 + + @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("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): + 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", + "endpoint", + "enableAssumeRole", + "assumeRoleArn", + "assumeRoleExternalId", + "durationSeconds", + "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", + "kmsKeyId", + "description", + "awsApiKey", + "awsSecret", + "compress", + "compressionLevel", + "automaticSchema", + "parquetSchema", + "parquetVersion", + "parquetDataPageVersion", + "parquetRowGroupLength", + "parquetPageSize", + "shouldLogInvalidRows", + "keyValueMetadata", + "enableStatistics", + "enableWritePageIndex", + "enablePageChecksum", + "emptyDirCleanupSec", + "directoryBatchSize", + "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", + "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 OutputResponseTypeFilesystem(str, Enum): + FILESYSTEM = "filesystem" + + +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] + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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_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 OutputResponseOutputFilesystem(BaseModel): + type: OutputResponseTypeFilesystem + + 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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") + ] = 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.""" + + 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_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.""" + + 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.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", + "stagePath", + "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", + "__template_streamtags", + "__template_partitionExpr", + "__template_format", + "__template_baseFileName", + "__template_fileNameSuffix", + "__template_onBackpressure", + "__template_compress", + "__template_parquetSchema", + "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 OutputResponseTypeSignalfx(str, Enum): + SIGNALFX = "signalfx" + + +class OutputResponsePqControlsSignalfxTypedDict(TypedDict): + pass + + +class OutputResponsePqControlsSignalfx(BaseModel): + pass + + +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] + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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] + 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] + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable 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.""" + + +class OutputResponseOutputSignalfx(BaseModel): + 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: 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"""Metadata tags used for categorization and filtering.""" + + 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""" + + 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""" + + 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))""" + + 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_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[OutputResponsePqControlsSignalfx], 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_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("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("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", + "authType", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "useRoundRobinDns", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "onBackpressure", + "description", + "token", + "textSecret", + "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 OutputResponseTypeWavefront(str, Enum): + WAVEFRONT = "wavefront" + + +class OutputResponsePqControlsWavefrontTypedDict(TypedDict): + pass + + +class OutputResponsePqControlsWavefront(BaseModel): + pass + + +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] + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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] + 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[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.""" + 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 OutputResponseOutputWavefront(BaseModel): + type: OutputResponseTypeWavefront + + domain: str + r"""WaveFront domain name, e.g. \"longboard\" """ + + 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"""Metadata tags used for categorization and filtering.""" + + 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""" + + 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""" + + 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))""" + + 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_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[OutputResponsePqControlsWavefront], 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_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("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("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", + "authType", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "useRoundRobinDns", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "onBackpressure", + "description", + "token", + "textSecret", + "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 OutputResponseTypeTcpjson(str, Enum): + TCPJSON = "tcpjson" + + +class OutputResponsePqControlsTcpjsonTypedDict(TypedDict): + pass + + +class OutputResponsePqControlsTcpjson(BaseModel): + pass + + +class OutputResponseOutputTcpjsonTypedDict(TypedDict): + type: OutputResponseTypeTcpjson + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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[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_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 + + 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"""Metadata tags used for categorization and filtering.""" + + load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( + None + ) + r"""Use load-balanced destinations""" + + compression: Optional[CompressionOptionsGzipNone] = None + r"""Codec to use to compress the data before sending""" + + log_failed_requests: Annotated[ + Optional[bool], pydantic.Field(alias="logFailedRequests") + ] = None + r"""Use to troubleshoot issues with sending data""" + + 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") + ] = 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""" + + 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 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.""" + + 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""" + + 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 + 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[OutputResponsePqControlsTcpjson], 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_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): + if isinstance(value, str): + try: + return models.CompressionOptionsGzipNone(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.AuthenticationMethodOptionsAuthTokensItems(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", + "loadBalanced", + "compression", + "logFailedRequests", + "throttleRatePerSec", + "tls", + "connectionTimeout", + "writeTimeout", + "tokenTTLMinutes", + "sendHeader", + "onBackpressure", + "authType", + "description", + "host", + "port", + "excludeSelf", + "hosts", + "dnsResolvePeriodSec", + "loadBalanceStatsPeriodSec", + "maxConcurrentSenders", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "authToken", + "textSecret", + "__template_streamtags", + "__template_onBackpressure", + "__template_host", + "__template_port", + "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 OutputResponseTypeWizHec(str, Enum): + WIZ_HEC = "wiz_hec" + + +class OutputResponsePqControlsWizHecTypedDict(TypedDict): + pass + + +class OutputResponsePqControlsWizHec(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 + 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"""Metadata tags used for categorization and filtering.""" + 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.""" + 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"""Wiz Defend Auth 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[OutputResponsePqControlsWizHecTypedDict] + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable 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_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_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 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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"""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""" + + 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""" + + 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") + ] = 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.""" + + 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""" + + 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[OutputResponsePqControlsWizHec], 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_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_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.""" + + 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("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("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): + 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", + "tls", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "failedRequestLoggingMode", + "safeHeaders", + "authType", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "onBackpressure", + "description", + "token", + "textSecret", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_failedRequestLoggingMode", + "__template_wiz_environment", + "__template_data_center", + "__template_wiz_sourcetype", + "__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 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"]) + 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 OutputResponsePqControlsSplunkHecTypedDict(TypedDict): + pass + + +class OutputResponsePqControlsSplunkHec(BaseModel): + pass + + +class OutputResponseOutputSplunkHecTypedDict(TypedDict): + type: OutputResponseTypeSplunkHec + 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"""Metadata tags used for categorization and filtering.""" + 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.""" + 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, 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.""" + 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.""" + 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] + 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[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_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 OutputResponseOutputSplunkHec(BaseModel): + type: OutputResponseTypeSplunkHec + + 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"""Metadata tags used for categorization and filtering.""" + + 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.""" + + 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"""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""" + + 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""" + + 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"), + ] = 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") + ] = 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.""" + + 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.""" + + 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.""" + + 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""" + + 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[OutputResponsePqControlsSplunkHec], 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_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("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("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): + 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", + "loadBalanced", + "tls", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "failedRequestLoggingMode", + "safeHeaders", + "enableMultiMetrics", + "authType", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "nextQueue", + "tcpRouting", + "onBackpressure", + "description", + "url", + "useRoundRobinDns", + "excludeSelf", + "urls", + "dnsResolvePeriodSec", + "loadBalanceStatsPeriodSec", + "token", + "textSecret", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_failedRequestLoggingMode", + "__template_onBackpressure", + "__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 + + +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 OutputResponsePqControlsSplunkLb(BaseModel): + pass + + +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] + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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.""" + 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] + 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[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_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 OutputResponseOutputSplunkLb(BaseModel): + type: OutputResponseTypeSplunkLb + + hosts: List[HostConfOutputSyslog] + r"""Set of Splunk indexers to load-balance data 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"""Metadata tags used for categorization and filtering.""" + + 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 + 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.""" + + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") + ] = 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 + + 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.""" + + 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.""" + + log_failed_requests: Annotated[ + Optional[bool], pydantic.Field(alias="logFailedRequests") + ] = None + r"""Use to troubleshoot issues with sending data""" + + max_s2_sversion: Annotated[ + Optional[MaxS2SVersionOptions], pydantic.Field(alias="maxS2Sversion") + ] = 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""" + + 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"), + ] = 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.""" + + 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.""" + + 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 + 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[OutputResponsePqControlsSplunkLb], 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") + ] = 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("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): + 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.AuthenticationMethodOptionsAuthTokensItems(value) + except ValueError: + return value + return value + + @field_serializer("compress") + def serialize_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptions(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", + "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", + "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 OutputResponseTypeSplunk(str, Enum): + SPLUNK = "splunk" + + +class OutputResponsePqControlsSplunkTypedDict(TypedDict): + pass + + +class OutputResponsePqControlsSplunk(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""" + 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"""Metadata tags used for categorization and filtering.""" + 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] + 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""" + 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] + 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[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 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + nested_fields: Annotated[ + Optional[NestedFieldSerializationOptions], pydantic.Field(alias="nestedFields") + ] = None + 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.""" + + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") + ] = 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 + + 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.""" + + 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.""" + + log_failed_requests: Annotated[ + Optional[bool], pydantic.Field(alias="logFailedRequests") + ] = None + r"""Use to troubleshoot issues with sending data""" + + max_s2_sversion: Annotated[ + Optional[MaxS2SVersionOptions], pydantic.Field(alias="maxS2Sversion") + ] = 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""" + + 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.""" + + 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.""" + + 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[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 + r"""Binds 'streamtags' to a variable 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 + 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("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): + 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.AuthenticationMethodOptionsAuthTokensItems(value) + except ValueError: + return value + return value + + @field_serializer("compress") + def serialize_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptions(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", + "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", + "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 + + +class OutputResponseMessageFormat(str, Enum, metaclass=utils.OpenEnumMeta): + r"""The syslog message format depending on the receiver's support""" + + # RFC3164 + RFC3164 = "rfc3164" + # RFC5424 + RFC5424 = "rfc5424" + + +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 OutputResponsePqControlsSyslogTypedDict(TypedDict): + pass + + +class OutputResponsePqControlsSyslog(BaseModel): + pass + + +class OutputResponseOutputSyslogTypedDict(TypedDict): + type: OutputResponseTypeSyslog + 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"""Metadata tags used for categorization and filtering.""" + 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""" + 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] + 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[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_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.""" + 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 + + 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"""Metadata tags used for categorization and filtering.""" + + 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") + ] = None + r"""Timestamp format to use when serializing event's time field""" + + 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") + ] = None + 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 + ) + 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""" + + 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""" + + 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.""" + + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") + ] = 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 + + 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") + ] = None + 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: 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.""" + + 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.""" + + 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[OutputResponsePqControlsSyslog], 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_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_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.OutputResponseProtocolSyslog(value) + except ValueError: + return value + return value + + @field_serializer("facility") + def serialize_facility(self, value): + if isinstance(value, str): + try: + return models.OutputResponseFacility(value) + except ValueError: + return value + return value + + @field_serializer("severity") + def serialize_severity(self, value): + if isinstance(value, str): + try: + return models.OutputResponseSeveritySyslog(value) + except ValueError: + return value + return value + + @field_serializer("message_format") + def serialize_message_format(self, value): + if isinstance(value, str): + try: + return models.OutputResponseMessageFormat(value) + except ValueError: + return value + return value + + @field_serializer("timestamp_format") + def serialize_timestamp_format(self, value): + if isinstance(value, str): + try: + 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 + + @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", + "facility", + "severity", + "appName", + "messageFormat", + "timestampFormat", + "throttleRatePerSec", + "octetCountFraming", + "logFailedRequests", + "description", + "loadBalanced", + "host", + "port", + "excludeSelf", + "hosts", + "dnsResolvePeriodSec", + "loadBalanceStatsPeriodSec", + "maxConcurrentSenders", + "connectionTimeout", + "writeTimeout", + "tls", + "onBackpressure", + "maxRecordSize", + "udpDnsResolvePeriodSec", + "enableIpSpoofing", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_host", + "__template_port", + "__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 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"""Metadata tags used for categorization and filtering.""" + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a 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"""Metadata tags used for categorization and filtering.""" + + 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", + "__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 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] + 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"""Metadata tags used for categorization and filtering.""" + 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.""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" + auth_type: NotRequired[OutputResponseAuthType] + refresh_token_field: NotRequired[str] + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, @{product} will use the refresh token to obtain new access tokens without re-sending credentials.""" + rotate_refresh_token: NotRequired[bool] + r"""@{product} will update the stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + refresh_url: NotRequired[str] + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + refresh_request_params: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict] + ] + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, @{product} sends only grant_type, refresh_token, and client_secret.""" + 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] + 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] + 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[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""" + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable 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_refresh_url: NotRequired[str] + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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.""" + + 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[OutputResponseAuthType], pydantic.Field(alias="authType") + ] = None + + refresh_token_field: Annotated[ + Optional[str], pydantic.Field(alias="refreshTokenField") + ] = None + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, @{product} will use the refresh token to obtain new access tokens without re-sending credentials.""" + + rotate_refresh_token: Annotated[ + Optional[bool], pydantic.Field(alias="rotateRefreshToken") + ] = None + r"""@{product} will update the stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + + refresh_url: Annotated[Optional[str], pydantic.Field(alias="refreshUrl")] = None + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + + refresh_request_params: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecret]], + pydantic.Field(alias="refreshRequestParams"), + ] = None + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, @{product} sends only grant_type, refresh_token, and client_secret.""" + + 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.""" + + 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") + ] = 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[OutputResponsePqControlsSentinel], 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_refresh_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_refreshUrl") + ] = None + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' 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("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.OutputResponseAuthType(value) + except ValueError: + return value + return value + + @field_serializer("endpoint_url_configuration") + def serialize_endpoint_url_configuration(self, value): + if isinstance(value, str): + try: + return models.OutputResponseEndpointConfiguration(value) + except ValueError: + return value + return value + + @field_serializer("format_") + def serialize_format_(self, value): + if isinstance(value, str): + try: + return models.OutputResponseFormatSentinel(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", + "keepAlive", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "useRoundRobinDns", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "onBackpressure", + "authType", + "refreshTokenField", + "rotateRefreshToken", + "refreshUrl", + "refreshRequestParams", + "scope", + "totalMemoryLimitKB", + "description", + "format", + "customSourceExpression", + "customDropWhenNull", + "customEventDelimiter", + "customContentType", + "customPayloadExpression", + "advancedContentType", + "formatEventCode", + "formatPayloadCode", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "url", + "dcrID", + "dceEndpoint", + "streamName", + "__template_streamtags", + "__template_failedRequestLoggingMode", + "__template_onBackpressure", + "__template_loginUrl", + "__template_secret", + "__template_refreshUrl", + "__template_client_id", + "__template_scope", + "__template_url", + "__template_dcrID", + "__template_dceEndpoint", + "__template_streamName", + "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 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" + + +try: + OutputResponseOutputGraphite.model_rebuild() +except NameError: + pass +try: + OutputResponseOutputStatsdExt.model_rebuild() +except NameError: + pass +try: + OutputResponseOutputStatsd.model_rebuild() +except NameError: + pass +try: + OutputResponseOutputMinio.model_rebuild() +except NameError: + pass +try: + OutputResponseOutputCloudwatch.model_rebuild() +except NameError: + pass +try: + OutputResponseOutputInfluxdb.model_rebuild() +except NameError: + pass +try: + OutputResponseOutputNewrelicEvents.model_rebuild() +except NameError: + pass +try: + OutputResponseOutputNewrelic.model_rebuild() +except NameError: + pass +try: + OutputResponseOutputElasticCloud.model_rebuild() +except NameError: + pass +try: + OutputResponseURLElastic.model_rebuild() +except NameError: + pass +try: + OutputResponseOutputElastic.model_rebuild() +except NameError: + pass +try: + OutputResponseOutputMsk.model_rebuild() +except NameError: + pass +try: + OutputResponseOutputConfluentCloud.model_rebuild() +except NameError: + pass +try: + OutputResponseOutputKafka.model_rebuild() +except NameError: + pass +try: + OutputResponseOutputExabeam.model_rebuild() +except NameError: + pass +try: + OutputResponseOutputGooglePubsub.model_rebuild() +except NameError: + pass +try: + OutputResponseOutputGoogleCloudObservability.model_rebuild() +except NameError: + pass +try: + OutputResponseOutputGoogleCloudLogging.model_rebuild() +except NameError: + pass +try: + OutputResponseOutputGoogleCloudStorage.model_rebuild() +except NameError: + pass +try: + OutputResponseExtraLogType.model_rebuild() +except NameError: + pass +try: + OutputResponseOutputGoogleChronicle.model_rebuild() +except NameError: + pass +try: + OutputResponseOutputGoogleBigquery.model_rebuild() +except NameError: + pass +try: + OutputResponseOutputAzureEventhub.model_rebuild() +except NameError: + pass +try: + OutputResponseOutputHoneycomb.model_rebuild() +except NameError: + pass +try: + OutputResponseOutputKinesis.model_rebuild() +except NameError: + pass +try: + OutputResponseOutputAzureLogs.model_rebuild() +except NameError: + pass +try: + OutputResponseCertificate.model_rebuild() +except NameError: + pass +try: + OutputResponseOutputAzureDataExplorer.model_rebuild() +except NameError: + pass +try: + OutputResponseOutputAzureBlob.model_rebuild() +except NameError: + pass +try: + OutputResponseOutputS3.model_rebuild() +except NameError: + pass +try: + OutputResponseOutputFilesystem.model_rebuild() +except NameError: + pass +try: + OutputResponseOutputSignalfx.model_rebuild() +except NameError: + pass +try: + OutputResponseOutputWavefront.model_rebuild() +except NameError: + pass +try: + OutputResponseOutputTcpjson.model_rebuild() +except NameError: + pass +try: + OutputResponseOutputWizHec.model_rebuild() +except NameError: + pass +try: + OutputResponseURLSplunkHec.model_rebuild() +except NameError: + pass +try: + OutputResponseOutputSplunkHec.model_rebuild() +except NameError: + pass +try: + OutputResponseAuthToken.model_rebuild() +except NameError: + pass +try: + OutputResponseIndexerDiscoveryConfigs.model_rebuild() +except NameError: + pass +try: + OutputResponseOutputSplunkLb.model_rebuild() +except NameError: + pass +try: + OutputResponseOutputSplunk.model_rebuild() +except NameError: + pass +try: + OutputResponseOutputSyslog.model_rebuild() +except NameError: + pass +try: + OutputResponseOutputDevnull.model_rebuild() +except NameError: + pass +try: + OutputResponseOutputSentinel.model_rebuild() +except NameError: + pass diff --git a/src/cribl_control_plane/models/outputresponse_type_statsd.py b/src/cribl_control_plane/models/outputresponse_pqcontrols_graphite.py similarity index 92% rename from src/cribl_control_plane/models/outputresponse_type_statsd.py rename to src/cribl_control_plane/models/outputresponse_pqcontrols_graphite.py index 5937b3abc..2e1c83772 100644 --- a/src/cribl_control_plane/models/outputresponse_type_statsd.py +++ b/src/cribl_control_plane/models/outputresponse_pqcontrols_graphite.py @@ -7,14 +7,12 @@ from .authenticationmethodoptionsauthtokensitems import ( AuthenticationMethodOptionsAuthTokensItems, ) +from .authenticationmethodoptionsautosecret import AuthenticationMethodOptionsAutoSecret from .authenticationmethodoptionss3collectorconf import ( AuthenticationMethodOptionsS3CollectorConf, ) from .authenticationmethodoptionssecret import AuthenticationMethodOptionsSecret from .authenticationtypeoptions import AuthenticationTypeOptions -from .authenticationtypeoptionsprometheusauth import ( - AuthenticationTypeOptionsPrometheusAuth, -) from .authenticationtypeoptionsprometheusauthbasiccredentialssecret import ( AuthenticationTypeOptionsPrometheusAuthBasicCredentialsSecret, ) @@ -28,6 +26,10 @@ ) from .backpressurebehavioroptions import BackpressureBehaviorOptions from .backpressurebehavioroptionsblockdrop import BackpressureBehaviorOptionsBlockDrop +from .columnmappingconfoutputclickhouse import ( + ColumnMappingConfOutputClickHouse, + ColumnMappingConfOutputClickHouseTypedDict, +) from .compressionleveloptions import CompressionLevelOptions from .compressionoptionsdeflategzip import CompressionOptionsDeflateGzip from .compressionoptionsgzipnone import CompressionOptionsGzipNone @@ -40,18 +42,19 @@ ) from .dataformatoptions import DataFormatOptions from .datapageversionoptions import DataPageVersionOptions -from .destinationprotocoloptions import DestinationProtocolOptions from .diskspaceprotectionoptions import DiskSpaceProtectionOptions from .extrahttpheaderconfinputelastic import ( ExtraHTTPHeaderConfInputElastic, ExtraHTTPHeaderConfInputElasticTypedDict, ) from .failedrequestloggingmodeoptions import FailedRequestLoggingModeOptions +from .formatoptions import FormatOptions from .hostconfoutputsyslog import HostConfOutputSyslog, HostConfOutputSyslogTypedDict from .keyvaluemetadataconfoutputfilesystem import ( KeyValueMetadataConfOutputFilesystem, KeyValueMetadataConfOutputFilesystemTypedDict, ) +from .mappingtypeoptions import MappingTypeOptions from .messageformatoptions import MessageFormatOptions from .methodoptions import MethodOptions from .microsoftentraidauthenticationendpointoptionssasl import ( @@ -78,11 +81,11 @@ from .protocoloptions import ProtocolOptions from .queuefullbehavioroptions import QueueFullBehaviorOptions from .recorddataformatoptions import RecordDataFormatOptions -from .requestformatoptions import RequestFormatOptions -from .requestparamconfinputopenai import ( - RequestParamConfInputOpenai, - RequestParamConfInputOpenaiTypedDict, +from .refreshrequestparamconfhealthcheckauthenticationoauthsecret import ( + RefreshRequestParamConfHealthCheckAuthenticationOauthSecret, + RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict, ) +from .requestformatoptions import RequestFormatOptions from .responseretrysettingconfoutputwebhook import ( ResponseRetrySettingConfOutputWebhook, ResponseRetrySettingConfOutputWebhookTypedDict, @@ -135,18 +138,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] @@ -156,7 +159,7 @@ class OutputResponseOutputAlibabaCloudS3TypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: NotRequired[AuthenticationMethodOptionsSecret] r"""Authentication method.""" reuse_connections: NotRequired[bool] @@ -205,9 +208,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] @@ -246,6 +248,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] @@ -260,10 +264,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] @@ -274,18 +274,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""" @@ -301,7 +301,7 @@ class OutputResponseOutputAlibabaCloudS3(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: Annotated[ Optional[AuthenticationMethodOptionsSecret], @@ -423,12 +423,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""" @@ -522,6 +518,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 @@ -557,16 +558,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 @@ -619,15 +610,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): @@ -698,7 +680,6 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", - "objectACL", "description", "awsSecret", "compress", @@ -719,6 +700,7 @@ def serialize_model(self, handler): "deadletterPath", "maxRetryNum", "__template_streamtags", + "__template_endpoint", "__template_bucket", "__template_destPath", "__template_partitionExpr", @@ -726,8 +708,6 @@ def serialize_model(self, handler): "__template_baseFileName", "__template_fileNameSuffix", "__template_onBackpressure", - "__template_objectACL", - "__template_endpoint", "__template_compress", "__template_parquetSchema", "notifications", @@ -748,18 +728,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] @@ -769,15 +760,15 @@ class OutputResponseOutputScalityS3TypedDict(TypedDict): 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"""Metadata tags used for categorization and filtering.""" + 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] @@ -820,7 +811,18 @@ 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""" + enable_assume_role: NotRequired[bool] + r"""Use Assume Role credentials to access Alibaba OSS""" + 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).""" + assume_role_arn: NotRequired[str] + r"""ARN of the RAM role to assume. Format: acs:ram:::role/. Example: acs:ram::123456789:role/OSSAccessRole""" + assume_role_external_id: NotRequired[str] + r"""External ID for the assumed role (optional, for security when configured in the role trust policy)""" 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] @@ -861,8 +863,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] @@ -875,8 +875,14 @@ 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_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_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] @@ -887,17 +893,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""" @@ -914,10 +920,10 @@ class OutputResponseOutputScalityS3(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: Annotated[ - Optional[AuthenticationMethodOptionsSecret], + Optional[OutputResponseAuthenticationMethodAlibabaCloudS3], pydantic.Field(alias="awsAuthenticationMethod"), ] = None r"""Authentication method.""" @@ -932,9 +938,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}`""" @@ -1039,7 +1042,33 @@ 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""" + + enable_assume_role: Annotated[ + Optional[bool], pydantic.Field(alias="enableAssumeRole") + ] = None + r"""Use Assume Role credentials to access Alibaba OSS""" + + 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).""" + + assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( + None + ) + r"""ARN of the RAM role to assume. Format: acs:ram:::role/. Example: acs:ram::123456789:role/OSSAccessRole""" + + assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="assumeRoleExternalId") + ] = None + r"""External ID for the assumed role (optional, for security when configured in the role trust policy)""" + 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""" @@ -1138,11 +1167,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 @@ -1173,11 +1197,26 @@ 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 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_compress: Annotated[ Optional[str], pydantic.Field(alias="__template_compress") ] = None @@ -1198,7 +1237,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 @@ -1230,6 +1269,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): @@ -1278,7 +1326,6 @@ def serialize_model(self, handler): "awsAuthenticationMethod", "reuseConnections", "rejectUnauthorized", - "region", "destPath", "maxConcurrentFileParts", "verifyPermissions", @@ -1301,6 +1348,11 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", + "objectACL", + "enableAssumeRole", + "durationSeconds", + "assumeRoleArn", + "assumeRoleExternalId", "description", "awsSecret", "compress", @@ -1322,14 +1374,16 @@ 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_assumeRoleArn", + "__template_assumeRoleExternalId", "__template_compress", "__template_parquetSchema", "notifications", @@ -1350,18 +1404,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] @@ -1371,7 +1425,7 @@ class OutputResponseOutputCloudianS3TypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: NotRequired[AuthenticationMethodOptionsSecret] r"""Authentication method.""" reuse_connections: NotRequired[bool] @@ -1379,7 +1433,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] @@ -1422,15 +1476,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] @@ -1469,8 +1516,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] @@ -1487,14 +1532,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] @@ -1505,18 +1544,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""" @@ -1532,7 +1571,7 @@ class OutputResponseOutputCloudianS3(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: Annotated[ Optional[AuthenticationMethodOptionsSecret], @@ -1551,7 +1590,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}`""" @@ -1657,26 +1696,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""" @@ -1770,11 +1791,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 @@ -1815,25 +1831,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") + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") ] = 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.""" + 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") @@ -1887,33 +1888,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): @@ -1985,10 +1959,6 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", - "objectACL", - "storageClass", - "serverSideEncryption", - "kmsKeyId", "description", "awsSecret", "compress", @@ -2009,7 +1979,6 @@ def serialize_model(self, handler): "deadletterPath", "maxRetryNum", "__template_streamtags", - "__template_endpoint", "__template_bucket", "__template_region", "__template_destPath", @@ -2018,10 +1987,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", @@ -2042,18 +2008,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] @@ -2063,7 +2029,7 @@ class OutputResponseOutputDellS3TypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: NotRequired[AuthenticationMethodOptionsSecret] r"""Authentication method.""" reuse_connections: NotRequired[bool] @@ -2071,7 +2037,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] @@ -2116,7 +2082,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] @@ -2155,6 +2128,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] @@ -2173,8 +2148,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] @@ -2185,18 +2164,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""" @@ -2212,7 +2191,7 @@ class OutputResponseOutputDellS3(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: Annotated[ Optional[AuthenticationMethodOptionsSecret], @@ -2231,7 +2210,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}`""" @@ -2342,7 +2321,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""" @@ -2436,6 +2430,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 @@ -2481,10 +2480,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") @@ -2547,6 +2556,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): @@ -2619,6 +2646,9 @@ def serialize_model(self, handler): "retrySettings", "orphans", "objectACL", + "storageClass", + "serverSideEncryption", + "kmsKeyId", "description", "awsSecret", "compress", @@ -2639,6 +2669,7 @@ def serialize_model(self, handler): "deadletterPath", "maxRetryNum", "__template_streamtags", + "__template_endpoint", "__template_bucket", "__template_region", "__template_destPath", @@ -2648,7 +2679,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", @@ -2669,16 +2702,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] @@ -2688,13 +2723,15 @@ class OutputResponseOutputAlphasocS3TypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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 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] @@ -2737,9 +2774,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] @@ -2780,8 +2818,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] @@ -2790,6 +2832,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] @@ -2802,15 +2846,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""" @@ -2826,7 +2873,7 @@ class OutputResponseOutputAlphasocS3(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: Annotated[ Optional[AuthenticationMethodOptionsSecret], @@ -2844,6 +2891,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}`""" @@ -2948,10 +2998,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""" @@ -3050,11 +3103,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 @@ -3075,6 +3138,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 @@ -3132,6 +3200,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): @@ -3180,6 +3257,7 @@ def serialize_model(self, handler): "awsAuthenticationMethod", "reuseConnections", "rejectUnauthorized", + "region", "destPath", "maxConcurrentFileParts", "verifyPermissions", @@ -3202,7 +3280,7 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", - "endpoint", + "objectACL", "description", "awsSecret", "compress", @@ -3224,11 +3302,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", @@ -3250,18 +3331,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] @@ -3271,7 +3350,7 @@ class OutputResponseOutputStorjS3TypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: NotRequired[AuthenticationMethodOptionsSecret] r"""Authentication method.""" reuse_connections: NotRequired[bool] @@ -3320,7 +3399,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] @@ -3363,8 +3445,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] @@ -3385,18 +3465,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""" @@ -3412,7 +3489,7 @@ class OutputResponseOutputStorjS3(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: Annotated[ Optional[AuthenticationMethodOptionsSecret], @@ -3534,7 +3611,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""" @@ -3638,11 +3719,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 @@ -3790,6 +3866,7 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", + "endpoint", "description", "awsSecret", "compress", @@ -3812,7 +3889,6 @@ def serialize_model(self, handler): "__template_streamtags", "__template_bucket", "__template_destPath", - "__template_partitionExpr", "__template_format", "__template_baseFileName", "__template_fileNameSuffix", @@ -3838,18 +3914,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] @@ -3859,15 +3935,13 @@ class OutputResponseOutputNutanixObjectsTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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] @@ -3911,6 +3985,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] @@ -3951,8 +4026,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] @@ -3977,17 +4050,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""" @@ -4004,7 +4077,7 @@ class OutputResponseOutputNutanixObjects(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: Annotated[ Optional[AuthenticationMethodOptionsSecret], @@ -4022,9 +4095,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}`""" @@ -4130,6 +4200,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""" @@ -4228,11 +4299,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 @@ -4368,7 +4434,6 @@ def serialize_model(self, handler): "awsAuthenticationMethod", "reuseConnections", "rejectUnauthorized", - "region", "destPath", "maxConcurrentFileParts", "verifyPermissions", @@ -4412,7 +4477,6 @@ def serialize_model(self, handler): "maxRetryNum", "__template_streamtags", "__template_bucket", - "__template_region", "__template_destPath", "__template_partitionExpr", "__template_format", @@ -4440,29 +4504,18 @@ def serialize_model(self, handler): return m -class OutputResponseTypeCloudflareR2(str, Enum): - CLOUDFLARE_R2 = "cloudflare_r2" - - -class OutputResponseAuthenticationMethodCloudflareR2( - str, Enum, metaclass=utils.OpenEnumMeta -): - r"""AWS authentication method. Choose Auto to use IAM roles.""" - - # Auto - AUTO = "auto" - # Secret Key pair - SECRET = "secret" +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] @@ -4472,15 +4525,15 @@ class OutputResponseOutputCloudflareR2TypedDict(TypedDict): 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[ - OutputResponseAuthenticationMethodCloudflareR2 - ] - r"""AWS authentication method. Choose Auto to use IAM roles.""" + r"""Metadata tags used for categorization and filtering.""" + 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] @@ -4523,15 +4576,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] @@ -4572,6 +4618,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] @@ -4584,12 +4632,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] @@ -4600,17 +4644,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""" @@ -4627,13 +4671,13 @@ class OutputResponseOutputCloudflareR2(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: Annotated[ - Optional[OutputResponseAuthenticationMethodCloudflareR2], + 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") @@ -4645,6 +4689,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}`""" @@ -4749,24 +4796,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""" @@ -4865,6 +4896,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 @@ -4895,20 +4931,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") @@ -4930,7 +4956,7 @@ class OutputResponseOutputCloudflareR2(BaseModel): def serialize_aws_authentication_method(self, value): if isinstance(value, str): try: - return models.OutputResponseAuthenticationMethodCloudflareR2(value) + return models.AuthenticationMethodOptionsSecret(value) except ValueError: return value return value @@ -4962,24 +4988,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): @@ -5028,6 +5036,7 @@ def serialize_model(self, handler): "awsAuthenticationMethod", "reuseConnections", "rejectUnauthorized", + "region", "destPath", "maxConcurrentFileParts", "verifyPermissions", @@ -5050,9 +5059,6 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", - "awsSecretKey", - "storageClass", - "serverSideEncryption", "description", "awsSecret", "compress", @@ -5074,15 +5080,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", @@ -5103,144 +5108,1165 @@ 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""" +class OutputResponseTypeCloudflareR2(str, Enum): + CLOUDFLARE_R2 = "cloudflare_r2" - 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""" +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] + 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"""Metadata tags used for categorization and filtering.""" + 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.""" + 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 OutputResponseOutputCloudflareR2(BaseModel): + 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: 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + aws_authentication_method: Annotated[ + Optional[AuthenticationMethodOptionsAutoSecret], + 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""" + + 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 + + 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""" + + 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_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_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.""" + + 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.AuthenticationMethodOptionsAutoSecret(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("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( + [ + "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", + "awsSecretKey", + "storageClass", + "serverSideEncryption", + "description", + "awsSecret", + "compress", + "compressionLevel", + "automaticSchema", + "parquetSchema", + "parquetVersion", + "parquetDataPageVersion", + "parquetRowGroupLength", + "parquetPageSize", + "shouldLogInvalidRows", + "keyValueMetadata", + "enableStatistics", + "enableWritePageIndex", + "enablePageChecksum", + "emptyDirCleanupSec", + "directoryBatchSize", + "deadletterPath", + "maxRetryNum", + "__template_streamtags", + "__template_bucket", + "__template_destPath", + "__template_partitionExpr", + "__template_format", + "__template_baseFileName", + "__template_fileNameSuffix", + "__template_onBackpressure", + "__template_awsSecretKey", + "__template_storageClass", + "__template_serverSideEncryption", + "__template_compress", + "__template_parquetSchema", + "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 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 + + @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""" + 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"""Metadata tags used for categorization and filtering.""" + 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.""" + + +class OutputResponseOutputMicrosoftFabric(BaseModel): + type: OutputResponseTypeMicrosoftFabric + + topic: str + r"""Topic name from Fabric Eventstream's endpoint""" + + bootstrap_server: str + r"""Bootstrap server from Fabric Eventstream's endpoint""" + + 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"""Metadata tags used for categorization and filtering.""" + + ack: Optional[AcknowledgmentsOptions] = None + r"""Control the number of required acknowledgments""" + + format_: Annotated[ + Optional[RecordDataFormatOptions], pydantic.Field(alias="format") + ] = None + r"""Format to use to serialize events before writing to the Event Hubs Kafka brokers""" + + 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.""" + + flush_event_count: Annotated[ + Optional[float], pydantic.Field(alias="flushEventCount") + ] = None + r"""Maximum number of events 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 Max record size.""" + + 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[OutputResponseAuthentication] = None + r"""Authentication parameters to use when connecting to bootstrap server. Using TLS is highly recommended.""" + + tls: Optional[TLSSettingsClientSideType] = None - scope: Optional[str] = None - r"""Scope to pass in the OAuth request parameter""" + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + ] = None + r"""How to handle events when all receivers are exerting backpressure""" - template_mechanism: Annotated[ - Optional[str], pydantic.Field(alias="__template_mechanism") + description: Optional[str] = None + r"""Optional description for this configuration.""" + + pq_strict_ordering: Annotated[ + Optional[bool], pydantic.Field(alias="pqStrictOrdering") ] = 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"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - template_oauth_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_oauthEndpoint") + pq_rate_per_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqRatePerSec") ] = 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"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - template_client_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_clientId") + 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 '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"""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_tenant_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_tenantId") + pq_max_backpressure_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") ] = 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"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - template_scope: Annotated[ - Optional[str], pydantic.Field(alias="__template_scope") + pq_max_file_size: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxFileSize") ] = 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"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - @field_serializer("mechanism") - def serialize_mechanism(self, value): + 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.""" + + 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.SaslMechanismOptionsSaslOauthbearerPlain(value) + return models.AcknowledgmentsOptions(value) except ValueError: return value return value - @field_serializer("client_secret_auth_type") - def serialize_client_secret_auth_type(self, value): + @field_serializer("format_") + def serialize_format_(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsAuth(value) + return models.RecordDataFormatOptions(value) except ValueError: return value return value - @field_serializer("oauth_endpoint") - def serialize_oauth_endpoint(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.MicrosoftEntraIDAuthenticationEndpointOptionsSasl(value) + 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 @@ -5249,24 +6275,47 @@ def serialize_oauth_endpoint(self, value): 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", + "id", + "pipeline", + "systemFields", + "environment", + "streamtags", + "ack", + "format", + "maxRecordSizeKB", + "flushEventCount", + "flushPeriodSec", + "connectionTimeout", + "requestTimeout", + "maxRetries", + "maxBackOff", + "initialBackoff", + "backoffRate", + "authenticationTimeout", + "reauthenticationThreshold", + "sasl", + "tls", + "onBackpressure", + "description", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_topic", + "__template_format", + "__template_onBackpressure", + "__template_bootstrap_server", + "notifications", + "status", ] ) serialized = handler(self) @@ -5283,109 +6332,159 @@ def serialize_model(self, handler): 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""" - 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] +class OutputResponseTypeDatabricks(str, Enum): + DATABRICKS = "databricks" + + +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"""Metadata tags used for categorization and filtering.""" + 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] - 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 1MB.""" - pq_controls: NotRequired[OutputResponsePqControlsMicrosoftFabricTypedDict] + 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_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_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_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 OutputResponseOutputDatabricks(BaseModel): + type: OutputResponseTypeDatabricks - topic: str - r"""Topic name from Fabric Eventstream's endpoint""" + 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.""" - bootstrap_server: str - r"""Bootstrap server from Fabric Eventstream's endpoint""" + scope: str + r"""OAuth scope for Unity Catalog authentication""" + + 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.""" + + 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""" @@ -5402,155 +6501,234 @@ class OutputResponseOutputMicrosoftFabric(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" - ack: Optional[AcknowledgmentsOptions] = None - r"""Control the number of required acknowledgments""" + dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None + r"""Optional path to prepend to files before uploading.""" - format_: Annotated[ - Optional[RecordDataFormatOptions], pydantic.Field(alias="format") + 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") ] = None - r"""Format to use to serialize events before writing to the Event Hubs Kafka brokers""" + r"""Add the Output ID value to staging location""" - max_record_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxRecordSizeKB") + remove_empty_dirs: Annotated[ + Optional[bool], pydantic.Field(alias="removeEmptyDirs") ] = None - r"""Maximum size of each record batch before compression. Setting should be < message.max.bytes settings in Event Hubs brokers.""" + r"""Remove empty staging directories after moving files""" - flush_event_count: Annotated[ - Optional[float], pydantic.Field(alias="flushEventCount") + 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"""Maximum number of events in a batch before forcing a flush""" + 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`).""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + 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 Max record size.""" + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") + max_file_open_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") ] = None - r"""Maximum time to wait for a connection to complete successfully""" + 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.""" - 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).""" + 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).""" - 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).""" + 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.""" - 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.""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - authentication_timeout: Annotated[ - Optional[float], pydantic.Field(alias="authenticationTimeout") - ] = None - r"""Maximum time to wait for Kafka to respond to an authentication request""" + compress: Optional[CompressionOptionsHTTP] = None + r"""Data compression format to apply to HTTP content before it is delivered""" - reauthentication_threshold: Annotated[ - Optional[float], pydantic.Field(alias="reauthenticationThreshold") + compression_level: Annotated[ + Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") ] = 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 + r"""Compression level to apply before moving files to final destination""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + automatic_schema: Annotated[ + Optional[bool], pydantic.Field(alias="automaticSchema") ] = None - r"""How to handle events when all receivers are exerting backpressure""" + r"""Automatically calculate the schema based on the events of each Parquet file generated""" - description: Optional[str] = None + parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( + None + ) + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" - pq_strict_ordering: Annotated[ - Optional[bool], pydantic.Field(alias="pqStrictOrdering") + 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 1MB.""" + 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[OutputResponsePqControlsMicrosoftFabric], - 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: Annotated[ - Optional[str], pydantic.Field(alias="__template_topic") + template_partition_expr: Annotated[ + Optional[str], pydantic.Field(alias="__template_partitionExpr") ] = 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 '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_bootstrap_server: Annotated[ - Optional[str], pydantic.Field(alias="__template_bootstrap_server") + template_compress: Annotated[ + Optional[str], pydantic.Field(alias="__template_compress") ] = 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 '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.""" @@ -5558,56 +6736,65 @@ 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("format_") + def serialize_format_(self, value): if isinstance(value, str): try: - return models.AcknowledgmentsOptions(value) + return models.DataFormatOptions(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.RecordDataFormatOptions(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 @@ -5621,40 +6808,54 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "ack", + "destPath", + "stagePath", + "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", + "workspaceHost", + "timeoutSec", "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", "__template_streamtags", - "__template_topic", + "__template_partitionExpr", "__template_format", + "__template_baseFileName", + "__template_fileNameSuffix", "__template_onBackpressure", - "__template_bootstrap_server", + "__template_compress", + "__template_parquetSchema", "notifications", "status", ] @@ -5673,26 +6874,67 @@ def serialize_model(self, handler): return m -class OutputResponseTypeDatabricks(str, Enum): - DATABRICKS = "databricks" +class OutputResponseTypeChronicle(str, Enum): + CHRONICLE = "chronicle" -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""" +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 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.""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -5702,129 +6944,123 @@ class OutputResponseOutputDatabricksTypedDict(TypedDict): 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"""Metadata tags used for categorization and filtering.""" + 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] 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.""" + 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] - 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.""" + 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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.""" + 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 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""" - - client_id: Annotated[str, pydantic.Field(alias="clientId")] - r"""OAuth client ID for Unity Catalog authentication""" +class OutputResponseOutputChronicle(BaseModel): + type: OutputResponseTypeChronicle - catalog: str - r"""Name of the Unity Catalog catalog to use for the Destination.""" + region: str + r"""Regional endpoint to send events to""" - schema_: Annotated[str, pydantic.Field(alias="schema")] - r"""Name of the Unity Catalog schema to use for the Destination.""" + log_type: Annotated[str, pydantic.Field(alias="logType")] + r"""Default log type value to send to SecOps. Can be overwritten by event field __logType.""" - events_volume_name: Annotated[str, pydantic.Field(alias="eventsVolumeName")] - r"""Name of the Unity Catalog volume where event data is written.""" + gcp_project_id: Annotated[str, pydantic.Field(alias="gcpProjectId")] + r"""The Google Cloud Platform (GCP) project ID to send events to""" - client_text_secret: Annotated[str, pydantic.Field(alias="clientTextSecret")] - r"""OAuth client secret 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.""" id: Optional[str] = None r"""Unique ID for this output""" @@ -5841,233 +7077,229 @@ class OutputResponseOutputDatabricks(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" - 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.""" + api_version: Annotated[Optional[str], pydantic.Field(alias="apiVersion")] = None - add_id_to_stage_path: Annotated[ - Optional[bool], pydantic.Field(alias="addIdToStagePath") + authentication_method: Annotated[ + Optional[OutputResponseAuthenticationMethodChronicle], + pydantic.Field(alias="authenticationMethod"), ] = None - r"""Add the Output ID value to staging location""" - remove_empty_dirs: Annotated[ - Optional[bool], pydantic.Field(alias="removeEmptyDirs") + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), ] = None - r"""Remove empty staging directories after moving files""" + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - 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.""" + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + ] = None - format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( - None - ) - r"""Format of the output data""" + 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.""" - base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = ( - None - ) - r"""JavaScript expression to define the output filename prefix (can be constant)""" + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" - file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="fileNameSuffix") + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = 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"""Maximum size, in KB, of the request body""" - max_file_size_mb: Annotated[ - Optional[float], pydantic.Field(alias="maxFileSizeMB") + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") ] = None - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - 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.""" + compress: Optional[bool] = None + r"""Compress the payload body before sending""" - max_file_idle_time_sec: Annotated[ - Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = 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"""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_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.""" + 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""" - 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""" + 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_high_water_mark: Annotated[ - Optional[float], pydantic.Field(alias="writeHighWaterMark") + extra_http_headers: Annotated[ + Optional[List[ExtraHTTPHeaderConfInputElastic]], + pydantic.Field(alias="extraHttpHeaders"), ] = None - r"""Buffer size used to write to a file""" + r"""Headers to add to all events""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptionsBlockDrop], - 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.""" - deadletter_enabled: Annotated[ - Optional[bool], pydantic.Field(alias="deadletterEnabled") + safe_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="safeHeaders") ] = 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"""List of headers that are safe to log in plain text""" - on_disk_full_backpressure: Annotated[ - Optional[DiskSpaceProtectionOptions], - pydantic.Field(alias="onDiskFullBackpressure"), + 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.""" - force_close_on_shutdown: Annotated[ - Optional[bool], pydantic.Field(alias="forceCloseOnShutdown") + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = 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 all receivers are exerting backpressure""" - retry_settings: Annotated[ - Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") + 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.""" - orphans: Optional[OrphanFileRecoveryType] = None + ingestion_method: Annotated[ + Optional[str], pydantic.Field(alias="ingestionMethod") + ] = None - workspace_host: Annotated[Optional[str], pydantic.Field(alias="workspaceHost")] = ( + 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.""" + + log_text_field: Annotated[Optional[str], pydantic.Field(alias="logTextField")] = ( 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.""" - - description: Optional[str] = None - - compress: Optional[CompressionOptionsHTTP] = None - r"""Data compression format to apply to HTTP content before it is delivered""" + 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.""" - compression_level: Annotated[ - Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") + custom_labels: Annotated[ + Optional[List[OutputResponseCustomLabel]], pydantic.Field(alias="customLabels") ] = None - r"""Compression level to apply before moving files to final destination""" + r"""Custom labels to be added to every event""" - 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[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)""" - parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( - None - ) - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - parquet_version: Annotated[ - Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") + service_account_credentials: Annotated[ + Optional[str], pydantic.Field(alias="serviceAccountCredentials") ] = None - r"""Determines which data types are supported and how they are represented""" + 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.""" - parquet_data_page_version: Annotated[ - Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") + service_account_credentials_secret: Annotated[ + Optional[str], pydantic.Field(alias="serviceAccountCredentialsSecret") ] = 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"""Select or create a stored text secret""" - parquet_row_group_length: Annotated[ - Optional[float], pydantic.Field(alias="parquetRowGroupLength") + pq_strict_ordering: Annotated[ + Optional[bool], pydantic.Field(alias="pqStrictOrdering") ] = None - r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - parquet_page_size: Annotated[ - Optional[str], pydantic.Field(alias="parquetPageSize") + pq_rate_per_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqRatePerSec") ] = 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"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - 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_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.""" - key_value_metadata: Annotated[ - Optional[List[KeyValueMetadataConfOutputFilesystem]], - pydantic.Field(alias="keyValueMetadata"), + pq_max_buffer_size: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBufferSize") ] = 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 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.""" - enable_statistics: Annotated[ - Optional[bool], pydantic.Field(alias="enableStatistics") + pq_max_backpressure_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") ] = 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"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - enable_write_page_index: Annotated[ - Optional[bool], pydantic.Field(alias="enableWritePageIndex") + pq_max_file_size: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxFileSize") ] = None - r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - 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_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: //.""" - 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"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + r"""The maximum size to hold in memory before 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_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_controls: Annotated[ + Optional[OutputResponsePqControlsChronicle], 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_partition_expr: Annotated[ - Optional[str], pydantic.Field(alias="__template_partitionExpr") + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") ] = 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 '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_format: Annotated[ - Optional[str], pydantic.Field(alias="__template_format") + template_failed_request_logging_mode: Annotated[ + Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = 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 '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_base_file_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_baseFileName") + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = 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 'onBackpressure' to a variable 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_namespace: Annotated[ + Optional[str], pydantic.Field(alias="__template_namespace") ] = 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 '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_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") + template_log_type: Annotated[ + Optional[str], pydantic.Field(alias="__template_logType") ] = 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 '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_compress: Annotated[ - Optional[str], pydantic.Field(alias="__template_compress") + template_log_text_field: Annotated[ + Optional[str], pydantic.Field(alias="__template_logTextField") ] = 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 '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_parquet_schema: Annotated[ - Optional[str], pydantic.Field(alias="__template_parquetSchema") + template_gcp_project_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_gcpProjectId") ] = 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 '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.""" @@ -6075,65 +7307,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("authentication_method") + def serialize_authentication_method(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptionsBlockDrop(value) + return models.OutputResponseAuthenticationMethodChronicle(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 @@ -6147,101 +7370,58 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "destPath", - "stagePath", - "addIdToStagePath", - "removeEmptyDirs", - "partitionExpr", - "format", - "baseFileName", - "fileNameSuffix", - "maxFileSizeMB", - "maxFileOpenTimeSec", - "maxFileIdleTimeSec", - "maxOpenFiles", - "headerLine", - "writeHighWaterMark", - "onBackpressure", - "deadletterEnabled", - "onDiskFullBackpressure", - "forceCloseOnShutdown", - "retrySettings", - "orphans", - "workspaceHost", + "apiVersion", + "authenticationMethod", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "failedRequestLoggingMode", + "safeHeaders", + "useRoundRobinDns", + "onBackpressure", + "totalMemoryLimitKB", + "ingestionMethod", + "namespace", + "logTextField", + "customLabels", + "endpoint", "description", - "compress", - "compressionLevel", - "automaticSchema", - "parquetSchema", - "parquetVersion", - "parquetDataPageVersion", - "parquetRowGroupLength", - "parquetPageSize", - "shouldLogInvalidRows", - "keyValueMetadata", - "enableStatistics", - "enableWritePageIndex", - "enablePageChecksum", - "emptyDirCleanupSec", - "directoryBatchSize", - "deadletterPath", - "maxRetryNum", + "serviceAccountCredentials", + "serviceAccountCredentialsSecret", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", "__template_streamtags", - "__template_partitionExpr", - "__template_format", - "__template_baseFileName", - "__template_fileNameSuffix", + "__template_region", + "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_compress", - "__template_parquetSchema", - "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 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 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"]) + "__template_namespace", + "__template_logType", + "__template_logTextField", + "__template_gcpProjectId", + "__template_gcpInstance", + "__template_endpoint", + "notifications", + "status", + ] + ) serialized = handler(self) m = {} @@ -6256,24 +7436,43 @@ def serialize_model(self, handler): return m -class OutputResponsePqControlsChronicleTypedDict(TypedDict): +class OutputResponseTypeSentinelOneAiSiem(str, Enum): + SENTINEL_ONE_AI_SIEM = "sentinel_one_ai_siem" + + +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.""" + + US = "US" + CA = "CA" + EMEA = "EMEA" + AP = "AP" + APS = "APS" + AU = "AU" + CUSTOM = "Custom" + + +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).""" + + ROOT_SERVICES_COLLECTOR_EVENT = "/services/collector/event" + ROOT_SERVICES_COLLECTOR_RAW = "/services/collector/raw" + + +class OutputResponsePqControlsSentinelOneAiSiemTypedDict(TypedDict): pass -class OutputResponsePqControlsChronicle(BaseModel): +class OutputResponsePqControlsSentinelOneAiSiem(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 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] @@ -6283,16 +7482,7 @@ class OutputResponseOutputChronicleTypedDict(TypedDict): 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}""" - 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.""" + r"""Metadata tags used for categorization and filtering.""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] @@ -6316,26 +7506,53 @@ class OutputResponseOutputChronicleTypedDict(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""" - 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.""" + 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""" - 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] - 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"""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] @@ -6357,48 +7574,28 @@ class OutputResponseOutputChronicleTypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[OutputResponsePqControlsChronicleTypedDict] + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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 OutputResponseOutputChronicle(BaseModel): - type: OutputResponseTypeChronicle - - region: str - r"""Regional endpoint to send events to""" - - log_type: Annotated[str, pydantic.Field(alias="logType")] - r"""Default log type value to send to SecOps. Can be overwritten by event field __logType.""" +class OutputResponseOutputSentinelOneAiSiem(BaseModel): + type: OutputResponseTypeSentinelOneAiSiem - gcp_project_id: Annotated[str, pydantic.Field(alias="gcpProjectId")] - r"""The Google Cloud Platform (GCP) project ID to send events to""" + 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.""" - 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.""" + 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""" @@ -6415,29 +7612,7 @@ class OutputResponseOutputChronicle(BaseModel): 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}""" - - 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.""" + r"""Metadata tags used for categorization and filtering.""" concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -6488,52 +7663,105 @@ class OutputResponseOutputChronicle(BaseModel): ] = None r"""List of headers that are safe to log in plain text""" - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") + auth_type: Annotated[ + Optional[AuthenticationMethodOptionsAuthTokensItems], + 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.""" + 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""" - total_memory_limit_kb: Annotated[ - Optional[float], pydantic.Field(alias="totalMemoryLimitKB") + 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""" + + 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"""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"""Define serverHost for events using a JavaScript expression. You must enclose text constants in quotes (such as, 'myServer').""" - ingestion_method: Annotated[ - Optional[str], pydantic.Field(alias="ingestionMethod") + 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').""" - 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.""" + source_type_expression: Annotated[ + Optional[str], pydantic.Field(alias="sourceTypeExpression") + ] = 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.""" - 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.""" + data_source_category_expression: Annotated[ + Optional[str], pydantic.Field(alias="dataSourceCategoryExpression") + ] = 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'.""" - custom_labels: Annotated[ - Optional[List[OutputResponseCustomLabel]], pydantic.Field(alias="customLabels") + data_source_name_expression: Annotated[ + Optional[str], pydantic.Field(alias="dataSourceNameExpression") ] = None - r"""Custom labels to be added to every event""" + 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').""" - 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_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').""" - description: Optional[str] = None + event_type_expression: Annotated[ + Optional[str], pydantic.Field(alias="eventTypeExpression") + ] = 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.""" + + 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.""" - service_account_credentials: Annotated[ - Optional[str], pydantic.Field(alias="serviceAccountCredentials") + data_source_name: Annotated[ + Optional[str], pydantic.Field(alias="dataSourceName") ] = 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"""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.""" - service_account_credentials_secret: Annotated[ - Optional[str], pydantic.Field(alias="serviceAccountCredentialsSecret") + data_source_vendor: Annotated[ + Optional[str], pydantic.Field(alias="dataSourceVendor") ] = None - r"""Select or create a stored text secret""" + 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") @@ -6582,10 +7810,11 @@ class OutputResponseOutputChronicle(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputResponsePqControlsChronicle], pydantic.Field(alias="pqControls") + Optional[OutputResponsePqControlsSentinelOneAiSiem], + pydantic.Field(alias="pqControls"), ] = None template_streamtags: Annotated[ @@ -6593,11 +7822,6 @@ class OutputResponseOutputChronicle(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 @@ -6608,56 +7832,44 @@ class OutputResponseOutputChronicle(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("authentication_method") - def serialize_authentication_method(self, value): + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): try: - return models.OutputResponseAuthenticationMethodChronicle(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.AuthenticationMethodOptionsAuthTokensItems(value) + except ValueError: + return value + return value + + @field_serializer("region") + def serialize_region(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) except ValueError: return value return value @@ -6707,11 +7919,6 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "apiVersion", - "authenticationMethod", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -6722,17 +7929,29 @@ def serialize_model(self, handler): "extraHttpHeaders", "failedRequestLoggingMode", "safeHeaders", - "useRoundRobinDns", + "authType", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", "onBackpressure", - "totalMemoryLimitKB", - "ingestionMethod", - "namespace", - "logTextField", - "customLabels", - "endpoint", "description", - "serviceAccountCredentials", - "serviceAccountCredentialsSecret", + "token", + "textSecret", + "baseUrl", + "hostExpression", + "sourceExpression", + "sourceTypeExpression", + "dataSourceCategoryExpression", + "dataSourceNameExpression", + "dataSourceVendorExpression", + "eventTypeExpression", + "host", + "source", + "sourceType", + "dataSourceCategory", + "dataSourceName", + "dataSourceVendor", + "eventType", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -6746,15 +7965,8 @@ 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", ] @@ -6773,43 +7985,46 @@ def serialize_model(self, handler): return m -class OutputResponseTypeSentinelOneAiSiem(str, Enum): - SENTINEL_ONE_AI_SIEM = "sentinel_one_ai_siem" +class OutputResponseTypeDynatraceOtlp(str, Enum): + DYNATRACE_OTLP = "dynatrace_otlp" -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 OutputResponseProtocolDynatraceOtlp(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Select a transport option for Dynatrace""" - US = "US" - CA = "CA" - EMEA = "EMEA" - AP = "AP" - APS = "APS" - AU = "AU" - CUSTOM = "Custom" + # HTTP + HTTP = "http" -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 OutputResponseEndpointType(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Select the type of Dynatrace endpoint configured""" - ROOT_SERVICES_COLLECTOR_EVENT = "/services/collector/event" - ROOT_SERVICES_COLLECTOR_RAW = "/services/collector/raw" + # SaaS + SAAS = "saas" + # ActiveGate + AG = "ag" -class OutputResponsePqControlsSentinelOneAiSiemTypedDict(TypedDict): +class OutputResponsePqControlsDynatraceOtlpTypedDict(TypedDict): pass -class OutputResponsePqControlsSentinelOneAiSiem(BaseModel): +class OutputResponsePqControlsDynatraceOtlp(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 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] @@ -6819,76 +8034,62 @@ class OutputResponseOutputSentinelOneAiSiemTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" + 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""" - 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. - """ + 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.""" - 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.""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] - r"""How to handle events when all receivers are exerting backpressure""" - 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"""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.""" + 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. + """ + 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.""" + 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[ + 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.""" 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] @@ -6910,8 +8111,8 @@ class OutputResponseOutputSentinelOneAiSiemTypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[OutputResponsePqControlsSentinelOneAiSiemTypedDict] + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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] @@ -6924,14 +8125,25 @@ class OutputResponseOutputSentinelOneAiSiemTypedDict(TypedDict): r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputSentinelOneAiSiem(BaseModel): - type: OutputResponseTypeSentinelOneAiSiem +class OutputResponseOutputDynatraceOtlp(BaseModel): + type: OutputResponseTypeDynatraceOtlp - 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.""" + protocol: OutputResponseProtocolDynatraceOtlp + r"""Select a transport option for Dynatrace""" - 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).""" + 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""" + + 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""" @@ -6948,31 +8160,51 @@ class OutputResponseOutputSentinelOneAiSiem(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" + compress: Optional[CompressionOptionsDeflateGzip] = None + r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + http_compress: Annotated[ + Optional[CompressionOptionsMessages], pydantic.Field(alias="httpCompress") ] = None - r"""Maximum size, in KB, of the request body""" + r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") + http_traces_endpoint_override: Annotated[ + Optional[str], pydantic.Field(alias="httpTracesEndpointOverride") ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + r"""If you want to send traces to the default `{endpoint}/v1/traces` endpoint, leave this field empty; otherwise, specify the desired endpoint""" - compress: Optional[bool] = None - r"""Compress the payload body before sending""" + 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""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + http_logs_endpoint_override: Annotated[ + Optional[str], pydantic.Field(alias="httpLogsEndpointOverride") ] = 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"""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. 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""" @@ -6982,43 +8214,28 @@ class OutputResponseOutputSentinelOneAiSiem(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.""" - safe_headers: Annotated[ - Optional[List[str]], pydantic.Field(alias="safeHeaders") - ] = None - r"""List of headers that are safe to log in plain text""" - - auth_type: Annotated[ - Optional[AuthenticationMethodOptionsAuthTokensItems], - pydantic.Field(alias="authType"), + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") ] = None - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), + keep_alive_time: Annotated[ + Optional[float], pydantic.Field(alias="keepAliveTime") ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + r"""How often the sender should ping the peer to keep the connection open""" - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") - ] = None + keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None + r"""Disable to close the connection immediately after sending the outgoing request""" - 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.""" + auth_token_name: Annotated[Optional[str], pydantic.Field(alias="authTokenName")] = ( + None + ) on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") @@ -7026,77 +8243,46 @@ class OutputResponseOutputSentinelOneAiSiem(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""" - - 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") - ] = 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.""" - - data_source_category_expression: Annotated[ - Optional[str], pydantic.Field(alias="dataSourceCategoryExpression") + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = 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'.""" + 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. + """ - data_source_name_expression: Annotated[ - Optional[str], pydantic.Field(alias="dataSourceNameExpression") + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") ] = 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').""" + 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.""" - data_source_vendor_expression: Annotated[ - Optional[str], pydantic.Field(alias="dataSourceVendorExpression") + extra_http_headers: Annotated[ + Optional[List[ExtraHTTPHeaderConfInputElastic]], + pydantic.Field(alias="extraHttpHeaders"), ] = 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').""" + r"""Headers to add to all events""" - event_type_expression: Annotated[ - Optional[str], pydantic.Field(alias="eventTypeExpression") + safe_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="safeHeaders") ] = 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.""" - - 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.""" + r"""List of headers that are safe to log in plain text""" - data_source_category: Annotated[ - Optional[str], pydantic.Field(alias="dataSourceCategory") + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), ] = 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.""" + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - data_source_name: Annotated[ - Optional[str], pydantic.Field(alias="dataSourceName") + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") ] = 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") + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") ] = 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"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -7145,10 +8331,10 @@ class OutputResponseOutputSentinelOneAiSiem(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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], + Optional[OutputResponsePqControlsDynatraceOtlp], pydantic.Field(alias="pqControls"), ] = None @@ -7173,20 +8359,38 @@ class OutputResponseOutputSentinelOneAiSiem(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("protocol") + def serialize_protocol(self, value): if isinstance(value, str): try: - return models.OutputResponseRegion(value) + return models.OutputResponseProtocolDynatraceOtlp(value) except ValueError: return value return value - @field_serializer("endpoint") - def serialize_endpoint(self, 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): + if isinstance(value, str): + try: + return models.CompressionOptionsDeflateGzip(value) + except ValueError: + return value + return value + + @field_serializer("http_compress") + def serialize_http_compress(self, value): if isinstance(value, str): try: - return models.OutputResponseAISIEMEndpointPath(value) + return models.CompressionOptionsMessages(value) except ValueError: return value return value @@ -7200,11 +8404,11 @@ def serialize_failed_request_logging_mode(self, value): return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): + @field_serializer("endpoint_type") + def serialize_endpoint_type(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsAuthTokensItems(value) + return models.OutputResponseEndpointType(value) except ValueError: return value return value @@ -7254,39 +8458,32 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", + "compress", + "httpCompress", + "httpTracesEndpointOverride", + "httpMetricsEndpointOverride", + "httpLogsEndpointOverride", + "metadata", + "dynamicHeadersEnabled", + "dynamicHeadersField", "concurrency", "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", "timeoutSec", "flushPeriodSec", - "extraHttpHeaders", "failedRequestLoggingMode", + "connectionTimeout", + "keepAliveTime", + "keepAlive", + "authTokenName", + "onBackpressure", + "description", + "rejectUnauthorized", + "useRoundRobinDns", + "extraHttpHeaders", "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", @@ -7320,46 +8517,58 @@ def serialize_model(self, handler): return m -class OutputResponseTypeDynatraceOtlp(str, Enum): - DYNATRACE_OTLP = "dynatrace_otlp" +class OutputResponseTypeDynatraceHTTP(str, Enum): + DYNATRACE_HTTP = "dynatrace_http" -class OutputResponseProtocolDynatraceOtlp(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Select a transport option for Dynatrace""" +class OutputResponseAuthenticationTypeDynatraceHTTP( + str, Enum, metaclass=utils.OpenEnumMeta +): + # Auth token + TOKEN = "token" + # Token (text secret) + TEXT_SECRET = "textSecret" - # HTTP - HTTP = "http" +class OutputResponseFormatDynatraceHTTP(str, Enum, metaclass=utils.OpenEnumMeta): + r"""How to format events before sending. Defaults to JSON. Plaintext is not currently supported.""" -class OutputResponseEndpointType(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Select the type of Dynatrace endpoint configured""" + # JSON + JSON_ARRAY = "json_array" + # Plaintext + PLAINTEXT = "plaintext" - # SaaS - SAAS = "saas" + +class OutputResponseEndpointDynatraceHTTP(str, Enum, metaclass=utils.OpenEnumMeta): + # Cloud + CLOUD = "cloud" # ActiveGate - AG = "ag" + ACTIVE_GATE = "activeGate" + # Manual + MANUAL = "manual" -class OutputResponsePqControlsDynatraceOtlpTypedDict(TypedDict): +class OutputResponseTelemetryType(str, Enum, metaclass=utils.OpenEnumMeta): + # Logs + LOGS = "logs" + # Metrics + METRICS = "metrics" + + +class OutputResponsePqControlsDynatraceHTTPTypedDict(TypedDict): pass -class OutputResponsePqControlsDynatraceOtlp(BaseModel): +class OutputResponsePqControlsDynatraceHTTP(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 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] @@ -7369,419 +8578,609 @@ class OutputResponseOutputDynatraceOtlpTypedDict(TypedDict): 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}""" - 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"""Metadata tags used for categorization and filtering.""" + 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. The maximum payload size is 4 MB. If this limit is exceeded, the entire OTLP message is dropped""" + 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.""" - 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] + 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] - reject_unauthorized: NotRequired[bool] + 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[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] + 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 + + 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""" + + 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"""Metadata tags used for categorization and filtering.""" + + 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""" + + 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. """ - use_round_robin_dns: NotRequired[bool] + + 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.""" - extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events""" - safe_headers: NotRequired[List[str]] + + 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: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] - ] + + 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: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] + + 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.""" - pq_strict_ordering: NotRequired[bool] + + 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.""" + + 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: NotRequired[float] + + 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: NotRequired[ModeOptions] + + 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: NotRequired[float] + + 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: NotRequired[float] + + 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: NotRequired[str] + + 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: NotRequired[str] + + 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: NotRequired[str] + + 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: NotRequired[CompressionOptionsPq] + + pq_compress: Annotated[ + Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") + ] = None r"""Codec to use to compress the persisted data""" - pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] + + 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: 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 1MB.""" - 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.""" - 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.""" + 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.""" -class OutputResponseOutputDynatraceOtlp(BaseModel): - type: OutputResponseTypeDynatraceOtlp + pq_controls: Annotated[ + Optional[OutputResponsePqControlsDynatraceHTTP], + pydantic.Field(alias="pqControls"), + ] = None - protocol: OutputResponseProtocolDynatraceOtlp - r"""Select a transport option for Dynatrace""" + token: Optional[str] = None + r"""Bearer token to include in the authorization header""" - 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)""" + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + 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""" + environment_id: Annotated[Optional[str], pydantic.Field(alias="environmentId")] = ( + None + ) + r"""ID of the environment to send to""" - endpoint_type: Annotated[ - OutputResponseEndpointType, pydantic.Field(alias="endpointType") - ] - r"""Select the type of Dynatrace endpoint configured""" + 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.""" - token_secret: Annotated[str, pydantic.Field(alias="tokenSecret")] - r"""Select or create a stored text secret""" + url: Optional[str] = None + r"""URL to send events to. Can be overwritten by an event's __url field.""" - id: Optional[str] = None - r"""Unique ID for this output""" + 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.""" - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" + 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.""" - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + 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.""" - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + notifications: Optional[List[NotificationUnion]] = None + r"""Notifications attached to the Destination.""" - compress: Optional[CompressionOptionsDeflateGzip] = None - r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" + status: Optional[StatusType] = None + r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - http_compress: Annotated[ - Optional[CompressionOptionsMessages], pydantic.Field(alias="httpCompress") - ] = None - r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" + @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): + 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.OutputResponseAuthenticationTypeDynatraceHTTP(value) + except ValueError: + return value + return value + + @field_serializer("format_") + def serialize_format_(self, value): + if isinstance(value, str): + try: + 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 - 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""" + @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 - 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""" + @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 - 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""" + @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 - 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'.""" + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "id", + "pipeline", + "systemFields", + "environment", + "streamtags", + "method", + "keepAlive", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "useRoundRobinDns", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "onBackpressure", + "authType", + "totalMemoryLimitKB", + "description", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "token", + "textSecret", + "environmentId", + "activeGateDomain", + "url", + "__template_streamtags", + "__template_failedRequestLoggingMode", + "__template_onBackpressure", + "__template_url", + "notifications", + "status", + ] + ) + serialized = handler(self) + m = {} - dynamic_headers_enabled: Annotated[ - Optional[bool], pydantic.Field(alias="dynamicHeadersEnabled") - ] = None - r"""Batch event data upon dynamic metadata (whether presented or not)""" + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) - 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.""" + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" + return m - 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""" +class OutputResponseTypeNetflow(str, Enum): + NETFLOW = "netflow" - 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.""" +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.""" - 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""" +class OutputResponseHostNetflow(BaseModel): + host: str + r"""Destination host""" - keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None - r"""Disable to close the connection immediately after sending the outgoing request""" + port: float + r"""Destination port, default is 2055""" - auth_token_name: Annotated[Optional[str], pydantic.Field(alias="authTokenName")] = ( + 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.""" - 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 - - 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. - """ + 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.""" - 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.""" + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["__template_host", "__template_port"]) + serialized = handler(self) + m = {} - extra_http_headers: Annotated[ - Optional[List[ExtraHTTPHeaderConfInputElastic]], - pydantic.Field(alias="extraHttpHeaders"), - ] = None - r"""Headers to add to all events""" + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) - safe_headers: Annotated[ - Optional[List[str]], pydantic.Field(alias="safeHeaders") - ] = None - r"""List of headers that are safe to log in plain text""" + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val - 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)""" + return m - 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.""" +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"""Metadata tags used for categorization and filtering.""" + 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.""" - 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.""" +class OutputResponseOutputNetflow(BaseModel): + type: OutputResponseTypeNetflow - 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.""" + hosts: List[OutputResponseHostNetflow] + r"""One or more NetFlow Destinations to forward events to""" - 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.""" + id: Optional[str] = None + r"""Unique ID for 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""" + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" - pq_max_file_size: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxFileSize") + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") ] = None - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - 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.""" + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - 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: //.""" + streamtags: Optional[List[str]] = None + r"""Metadata tags used for categorization and filtering.""" - pq_compress: Annotated[ - Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") + dns_resolve_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") ] = None - r"""Codec to use to compress the persisted data""" + 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.""" - pq_on_backpressure: Annotated[ - Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") + enable_ip_spoofing: Annotated[ + Optional[bool], pydantic.Field(alias="enableIpSpoofing") ] = 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"""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.""" - 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 1MB.""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - pq_controls: Annotated[ - Optional[OutputResponsePqControlsDynatraceOtlp], - pydantic.Field(alias="pqControls"), + 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.""" - 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.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): - if isinstance(value, str): - try: - return models.CompressionOptionsDeflateGzip(value) - except ValueError: - return value - return value - - @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 - - @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("endpoint_type") - def serialize_endpoint_type(self, value): - if isinstance(value, str): - try: - return models.OutputResponseEndpointType(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( @@ -7791,47 +9190,11 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "compress", - "httpCompress", - "httpTracesEndpointOverride", - "httpMetricsEndpointOverride", - "httpLogsEndpointOverride", - "metadata", - "dynamicHeadersEnabled", - "dynamicHeadersField", - "concurrency", - "maxPayloadSizeKB", - "timeoutSec", - "flushPeriodSec", - "failedRequestLoggingMode", - "connectionTimeout", - "keepAliveTime", - "keepAlive", - "authTokenName", - "onBackpressure", + "dnsResolvePeriodSec", + "enableIpSpoofing", "description", - "rejectUnauthorized", - "useRoundRobinDns", - "extraHttpHeaders", - "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", + "maxRecordSize", "__template_streamtags", - "__template_failedRequestLoggingMode", - "__template_onBackpressure", "notifications", "status", ] @@ -7850,58 +9213,53 @@ def serialize_model(self, handler): return m -class OutputResponseTypeDynatraceHTTP(str, Enum): - DYNATRACE_HTTP = "dynatrace_http" +class OutputResponseTypeXsiam(str, Enum): + XSIAM = "xsiam" -class OutputResponseAuthenticationTypeDynatraceHTTP( - str, Enum, metaclass=utils.OpenEnumMeta -): - # Auth token +class OutputResponseAuthenticationMethodXsiam(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Enter a token directly, or provide a secret referencing a token""" + TOKEN = "token" - # Token (text secret) - TEXT_SECRET = "textSecret" + SECRET = "secret" -class OutputResponseFormatDynatraceHTTP(str, Enum, metaclass=utils.OpenEnumMeta): - r"""How to format events before sending. Defaults to JSON. Plaintext is not currently supported.""" +class OutputResponseURLXsiamTypedDict(TypedDict): + weight: NotRequired[float] + r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" - # JSON - JSON_ARRAY = "json_array" - # Plaintext - PLAINTEXT = "plaintext" +class OutputResponseURLXsiam(BaseModel): + weight: Optional[float] = None + r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" -class OutputResponseEndpoint(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(["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)) -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): +class OutputResponsePqControlsXsiamTypedDict(TypedDict): pass -class OutputResponsePqControlsDynatraceHTTP(BaseModel): +class OutputResponsePqControlsXsiam(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: OutputResponseEndpoint - telemetry_type: OutputResponseTelemetryType +class OutputResponseOutputXsiamTypedDict(TypedDict): + type: OutputResponseTypeXsiam id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -7911,11 +9269,9 @@ class OutputResponseOutputDynatraceHTTPTypedDict(TypedDict): 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""" - keep_alive: NotRequired[bool] - r"""Disable to close the connection immediately after sending the outgoing request""" + r"""Metadata tags used for categorization and filtering.""" + 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] @@ -7934,13 +9290,13 @@ class OutputResponseOutputDynatraceHTTPTypedDict(TypedDict): 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.""" + 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] ] @@ -7948,12 +9304,29 @@ 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.""" + 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""" - 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] + 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] @@ -7975,18 +9348,8 @@ class OutputResponseOutputDynatraceHTTPTypedDict(TypedDict): 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 1MB.""" - 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.""" + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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] @@ -8001,19 +9364,8 @@ class OutputResponseOutputDynatraceHTTPTypedDict(TypedDict): r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -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: OutputResponseEndpoint - - telemetry_type: Annotated[ - OutputResponseTelemetryType, pydantic.Field(alias="telemetryType") - ] +class OutputResponseOutputXsiam(BaseModel): + type: OutputResponseTypeXsiam id: Optional[str] = None r"""Unique ID for this output""" @@ -8030,13 +9382,12 @@ class OutputResponseOutputDynatraceHTTP(BaseModel): 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""" + r"""Metadata tags used for categorization and filtering.""" - keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None - r"""Disable to close the connection immediately after sending the outgoing request""" + 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.""" concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -8074,12 +9425,7 @@ class OutputResponseOutputDynatraceHTTP(BaseModel): 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.""" + r"""Headers to add to all events""" failed_request_logging_mode: Annotated[ Optional[FailedRequestLoggingModeOptions], @@ -8092,6 +9438,12 @@ class OutputResponseOutputDynatraceHTTP(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"), @@ -8107,22 +9459,52 @@ 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.""" + 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""" + + 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[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") @@ -8171,31 +9553,11 @@ class OutputResponseOutputDynatraceHTTP(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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], - 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") + Optional[OutputResponsePqControlsXsiam], pydantic.Field(alias="pqControls") ] = 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") @@ -8223,15 +9585,6 @@ class OutputResponseOutputDynatraceHTTP(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): @@ -8241,47 +9594,20 @@ 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.OutputResponseAuthenticationTypeDynatraceHTTP(value) - except ValueError: - return value - return value - - @field_serializer("format_") - def serialize_format_(self, value): - if isinstance(value, str): - try: - 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.OutputResponseEndpoint(value) + return models.OutputResponseAuthenticationMethodXsiam(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 @@ -8322,8 +9648,7 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "method", - "keepAlive", + "loadBalanced", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -8332,16 +9657,24 @@ 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", @@ -8351,71 +9684,17 @@ def serialize_model(self, handler): "pqMaxSize", "pqPath", "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "token", - "textSecret", - "environmentId", - "activeGateDomain", - "url", - "__template_streamtags", - "__template_failedRequestLoggingMode", - "__template_onBackpressure", - "__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 - - -class OutputResponseTypeNetflow(str, Enum): - NETFLOW = "netflow" - - -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 OutputResponseHostNetflow(BaseModel): - host: str - r"""Destination host""" - - port: float - r"""Destination port, default is 2055""" - - 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"]) + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_failedRequestLoggingMode", + "__template_onBackpressure", + "__template_url", + "notifications", + "status", + ] + ) serialized = handler(self) m = {} @@ -8430,102 +9709,74 @@ def serialize_model(self, handler): return m -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] - 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 OutputResponseTypeLocalSearchStorage(str, Enum): + LOCAL_SEARCH_STORAGE = "local_search_storage" -class OutputResponseOutputNetflow(BaseModel): - type: OutputResponseTypeNetflow +class OutputResponseFormatLocalSearchStorage(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Data format to use when sending data. Defaults to JSON Compact.""" - hosts: List[OutputResponseHostNetflow] - r"""One or more NetFlow Destinations to forward events to""" + # JSONCompactEachRowWithNames + JSON_COMPACT_EACH_ROW_WITH_NAMES = "json-compact-each-row-with-names" + # JSONEachRow + JSON_EACH_ROW = "json-each-row" - 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""" +class OutputResponseMappingType(str, Enum, metaclass=utils.OpenEnumMeta): + r"""How event fields are mapped to columns.""" - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") - ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + # Automatic + AUTOMATIC = "automatic" + # Custom + CUSTOM = "custom" - 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 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] - 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.""" +class OutputResponseStatsDestination(BaseModel): + url: Optional[str] = None - description: Optional[str] = None + database: 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.""" + table_name: Annotated[Optional[str], pydantic.Field(alias="tableName")] = 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.""" + auth_type: Annotated[Optional[str], pydantic.Field(alias="authType")] = None - notifications: Optional[List[NotificationUnion]] = None - r"""Notifications attached to the Destination.""" + username: Optional[str] = None - status: Optional[StatusType] = None - r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" + 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( [ - "id", - "pipeline", - "systemFields", - "environment", - "streamtags", - "dnsResolvePeriodSec", - "enableIpSpoofing", - "description", - "maxRecordSize", - "__template_streamtags", - "notifications", - "status", + "url", + "database", + "tableName", + "authType", + "username", + "sqlUsername", + "password", + "waitForAsyncInserts", + "concurrency", ] ) serialized = handler(self) @@ -8542,29 +9793,30 @@ def serialize_model(self, handler): 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 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 OutputResponseURLXsiamTypedDict(TypedDict): - weight: NotRequired[float] - r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" +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""" -class OutputResponseURLXsiam(BaseModel): - weight: Optional[float] = None - r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" + 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(["weight"]) + optional_fields = set(["columnType"]) serialized = handler(self) m = {} @@ -8579,16 +9831,21 @@ def serialize_model(self, handler): return m -class OutputResponsePqControlsXsiamTypedDict(TypedDict): +class OutputResponsePqControlsLocalSearchStorageTypedDict(TypedDict): pass -class OutputResponsePqControlsXsiam(BaseModel): +class OutputResponsePqControlsLocalSearchStorage(BaseModel): pass -class OutputResponseOutputXsiamTypedDict(TypedDict): - type: OutputResponseTypeXsiam +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 \"_\".""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -8598,9 +9855,15 @@ class OutputResponseOutputXsiamTypedDict(TypedDict): 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.""" + r"""Metadata tags used for categorization and filtering.""" + 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] concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] @@ -8620,12 +9883,12 @@ class OutputResponseOutputXsiamTypedDict(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] ] @@ -8633,28 +9896,28 @@ class OutputResponseOutputXsiamTypedDict(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.""" - throttle_rate_req_per_sec: NotRequired[int] - r"""Maximum number of requests to limit to per second""" + 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""" - 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.""" + stats_destination: NotRequired[OutputResponseStatsDestinationTypedDict] 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.""" + 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]] 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] @@ -8676,24 +9939,36 @@ class OutputResponseOutputXsiamTypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[OutputResponsePqControlsXsiamTypedDict] + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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 OutputResponseOutputXsiam(BaseModel): - type: OutputResponseTypeXsiam +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 \"_\".""" id: Optional[str] = None r"""Unique ID for this output""" @@ -8709,13 +9984,29 @@ class OutputResponseOutputXsiam(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"""Metadata tags used for categorization and filtering.""" + + 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.""" - load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( + async_inserts: Annotated[Optional[bool], pydantic.Field(alias="asyncInserts")] = ( 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.""" + r"""Collect data into batches for later processing. Disable to write to a table immediately.""" + + tls: Optional[TLSSettingsClientSideTypeCaPathCertPathExtended] = None concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -8755,6 +10046,11 @@ class OutputResponseOutputXsiam(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"), @@ -8766,12 +10062,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"), @@ -8787,51 +10077,58 @@ 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") + 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") ] = None - r"""Maximum number of requests to limit to per second""" + r"""Log the most recent event that fails to match the table schema""" 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") + stats_destination: Annotated[ + Optional[OutputResponseStatsDestination], + pydantic.Field(alias="statsDestination"), ] = 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""" + username: Optional[str] = None - 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.""" + password: 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""" + credentials_secret: Annotated[ + Optional[str], pydantic.Field(alias="credentialsSecret") + ] = None + r"""Select or create a secret that references your credentials""" - urls: Optional[List[OutputResponseURLXsiam]] = None + sql_username: Annotated[Optional[str], pydantic.Field(alias="sqlUsername")] = None + r"""Username for certificate authentication""" - dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") + wait_for_async_inserts: Annotated[ + Optional[bool], pydantic.Field(alias="waitForAsyncInserts") ] = None - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + 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.""" - load_balance_stats_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") + exclude_mapping_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="excludeMappingFields") ] = None - r"""How far back in time to keep traffic stats for load balancing purposes""" + r"""Fields to exclude from sending""" - token: Optional[str] = None - r"""XSIAM authentication token""" + describe_table: Annotated[Optional[str], pydantic.Field(alias="describeTable")] = ( + None + ) + r"""Retrieves the table schema and populates the Column Mapping table""" - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" + column_mappings: Annotated[ + Optional[List[OutputResponseColumnMapping]], + pydantic.Field(alias="columnMappings"), + ] = None pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -8880,10 +10177,11 @@ class OutputResponseOutputXsiam(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputResponsePqControlsLocalSearchStorage], + pydantic.Field(alias="pqControls"), ] = None template_streamtags: Annotated[ @@ -8891,6 +10189,21 @@ class OutputResponseOutputXsiam(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 @@ -8901,211 +10214,145 @@ class OutputResponseOutputXsiam(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("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.AuthenticationTypeOptions(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.OutputResponseAuthenticationMethodXsiam(value) + return models.OutputResponseFormatLocalSearchStorage(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("mapping_type") + def serialize_mapping_type(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.OutputResponseMappingType(value) except ValueError: return value return value - @field_serializer("pq_mode") - def serialize_pq_mode(self, value): + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): try: - return models.ModeOptions(value) + return models.FailedRequestLoggingModeOptions(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.BackpressureBehaviorOptions(value) except ValueError: return value return value - @field_serializer("pq_on_backpressure") - def serialize_pq_on_backpressure(self, value): + @field_serializer("pq_mode") + def serialize_pq_mode(self, value): if isinstance(value, str): try: - return models.QueueFullBehaviorOptions(value) + return models.ModeOptions(value) except ValueError: return value return value - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "id", - "pipeline", - "systemFields", - "environment", - "streamtags", - "loadBalanced", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "failedRequestLoggingMode", - "safeHeaders", - "authType", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "throttleRateReqPerSec", - "onBackpressure", - "totalMemoryLimitKB", - "description", - "url", - "useRoundRobinDns", - "excludeSelf", - "urls", - "dnsResolvePeriodSec", - "loadBalanceStatsPeriodSec", - "token", - "textSecret", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "__template_streamtags", - "__template_failedRequestLoggingMode", - "__template_onBackpressure", - "__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 - - -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 OutputResponseMappingTypeLocalSearchStorage( - 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 + @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 - concurrency: Optional[float] = None + @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( [ - "url", - "database", - "tableName", + "id", + "pipeline", + "systemFields", + "environment", + "streamtags", "authType", + "format", + "mappingType", + "asyncInserts", + "tls", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "useRoundRobinDns", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "workload", + "dumpFormatErrorsToDisk", + "onBackpressure", + "statsDestination", + "description", "username", - "sqlUsername", "password", + "credentialsSecret", + "sqlUsername", "waitForAsyncInserts", - "concurrency", + "excludeMappingFields", + "describeTable", + "columnMappings", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_url", + "__template_database", + "__template_tableName", + "__template_failedRequestLoggingMode", + "__template_onBackpressure", + "notifications", + "status", ] ) serialized = handler(self) @@ -9122,59 +10369,25 @@ def serialize_model(self, handler): return m -class OutputResponseColumnMappingLocalSearchStorageTypedDict(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 OutputResponseColumnMappingLocalSearchStorage(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 OutputResponseTypeCustomerMetricsStorage(str, Enum): + CUSTOMER_METRICS_STORAGE = "customer_metrics_storage" -class OutputResponsePqControlsLocalSearchStorageTypedDict(TypedDict): +class OutputResponsePqControlsCustomerMetricsStorageTypedDict(TypedDict): pass -class OutputResponsePqControlsLocalSearchStorage(BaseModel): +class OutputResponsePqControlsCustomerMetricsStorage(BaseModel): pass -class OutputResponseOutputLocalSearchStorageTypedDict(TypedDict): - type: OutputResponseTypeLocalSearchStorage +class OutputResponseOutputCustomerMetricsStorageTypedDict(TypedDict): + type: OutputResponseTypeCustomerMetricsStorage url: str - r"""URL of the database instance. Example: http://localhost:8123/""" + r"""URL of the ClickHouse 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 \"_\".""" + 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] @@ -9184,14 +10397,14 @@ class OutputResponseOutputLocalSearchStorageTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" auth_type: NotRequired[AuthenticationTypeOptions] - format_: NotRequired[OutputResponseFormatLocalSearchStorage] - r"""Data format to use when sending data. Defaults to JSON Compact.""" - mapping_type: NotRequired[OutputResponseMappingTypeLocalSearchStorage] - r"""How event fields are mapped to columns.""" + 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. Disable to write to a table immediately.""" + 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""" @@ -9225,12 +10438,14 @@ 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""" 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] @@ -9238,14 +10453,12 @@ class OutputResponseOutputLocalSearchStorageTypedDict(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 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 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""" + r"""Fields to exclude from sending to ClickHouse""" describe_table: NotRequired[str] - r"""Retrieves the table schema and populates the Column Mapping table""" - column_mappings: NotRequired[ - List[OutputResponseColumnMappingLocalSearchStorageTypedDict] - ] + 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] @@ -9267,8 +10480,8 @@ class OutputResponseOutputLocalSearchStorageTypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[OutputResponsePqControlsLocalSearchStorageTypedDict] + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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] @@ -9287,16 +10500,16 @@ class OutputResponseOutputLocalSearchStorageTypedDict(TypedDict): r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputLocalSearchStorage(BaseModel): - type: OutputResponseTypeLocalSearchStorage +class OutputResponseOutputCustomerMetricsStorage(BaseModel): + type: OutputResponseTypeCustomerMetricsStorage url: str - r"""URL of the database instance. Example: http://localhost:8123/""" + r"""URL of the ClickHouse 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 \"_\".""" + 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""" @@ -9313,27 +10526,24 @@ class OutputResponseOutputLocalSearchStorage(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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.""" + format_: Annotated[Optional[FormatOptions], pydantic.Field(alias="format")] = None + r"""Data format to use when sending data to ClickHouse. Defaults to JSON Compact.""" mapping_type: Annotated[ - Optional[OutputResponseMappingTypeLocalSearchStorage], - pydantic.Field(alias="mappingType"), + Optional[MappingTypeOptions], pydantic.Field(alias="mappingType") ] = None - r"""How event fields are mapped to columns.""" + r"""How event fields are mapped to ClickHouse columns""" async_inserts: Annotated[Optional[bool], pydantic.Field(alias="asyncInserts")] = ( None ) - r"""Collect data into batches for later processing. Disable to write to a table immediately.""" + 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: Optional[TLSSettingsClientSideTypeCaPathCertPathExtended] = None @@ -9406,6 +10616,9 @@ 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") ] = None @@ -9416,12 +10629,8 @@ class OutputResponseOutputLocalSearchStorage(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 @@ -9438,20 +10647,20 @@ class OutputResponseOutputLocalSearchStorage(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 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 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: Annotated[ Optional[List[str]], pydantic.Field(alias="excludeMappingFields") ] = None - r"""Fields to exclude from sending""" + r"""Fields to exclude from sending to ClickHouse""" describe_table: Annotated[Optional[str], pydantic.Field(alias="describeTable")] = ( None ) - r"""Retrieves the table schema and populates the Column Mapping table""" + r"""Retrieves the table schema from ClickHouse and populates the Column Mapping table""" column_mappings: Annotated[ - Optional[List[OutputResponseColumnMappingLocalSearchStorage]], + Optional[List[ColumnMappingConfOutputClickHouse]], pydantic.Field(alias="columnMappings"), ] = None @@ -9502,10 +10711,10 @@ class OutputResponseOutputLocalSearchStorage(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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], + Optional[OutputResponsePqControlsCustomerMetricsStorage], pydantic.Field(alias="pqControls"), ] = None @@ -9558,7 +10767,7 @@ def serialize_auth_type(self, value): def serialize_format_(self, value): if isinstance(value, str): try: - return models.OutputResponseFormatLocalSearchStorage(value) + return models.FormatOptions(value) except ValueError: return value return value @@ -9567,7 +10776,7 @@ def serialize_format_(self, value): def serialize_mapping_type(self, value): if isinstance(value, str): try: - return models.OutputResponseMappingTypeLocalSearchStorage(value) + return models.MappingTypeOptions(value) except ValueError: return value return value @@ -9645,9 +10854,9 @@ def serialize_model(self, handler): "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", + "workload", "dumpFormatErrorsToDisk", "onBackpressure", - "statsDestination", "description", "username", "password", @@ -9697,62 +10906,6 @@ class OutputResponseTypeClickHouse(str, Enum): CLICK_HOUSE = "click_house" -class OutputResponseFormatClickHouse(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Data format to use when sending data to ClickHouse. 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 OutputResponseMappingTypeClickHouse(str, Enum, metaclass=utils.OpenEnumMeta): - r"""How event fields are mapped to ClickHouse columns""" - - # Automatic - AUTOMATIC = "automatic" - # Custom - CUSTOM = "custom" - - -class OutputResponseColumnMappingClickHouseTypedDict(TypedDict): - column_name: str - r"""Name of the column in ClickHouse that will store field value""" - column_value_expression: str - r"""JavaScript expression to compute value to be inserted into ClickHouse table""" - column_type: NotRequired[str] - r"""Type of the column in the ClickHouse database""" - - -class OutputResponseColumnMappingClickHouse(BaseModel): - column_name: Annotated[str, pydantic.Field(alias="columnName")] - r"""Name of the column in ClickHouse that will store field value""" - - column_value_expression: Annotated[ - str, pydantic.Field(alias="columnValueExpression") - ] - r"""JavaScript expression to compute value to be inserted into ClickHouse table""" - - column_type: Annotated[Optional[str], pydantic.Field(alias="columnType")] = None - r"""Type of the column in the ClickHouse 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 OutputResponsePqControlsClickHouseTypedDict(TypedDict): pass @@ -9777,11 +10930,11 @@ class OutputResponseOutputClickHouseTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" auth_type: NotRequired[AuthenticationTypeOptions] - format_: NotRequired[OutputResponseFormatClickHouse] + format_: NotRequired[FormatOptions] r"""Data format to use when sending data to ClickHouse. Defaults to JSON Compact.""" - mapping_type: NotRequired[OutputResponseMappingTypeClickHouse] + 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.""" @@ -9818,11 +10971,14 @@ class OutputResponseOutputClickHouseTypedDict(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""" 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] @@ -9835,7 +10991,7 @@ class OutputResponseOutputClickHouseTypedDict(TypedDict): 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[OutputResponseColumnMappingClickHouseTypedDict]] + 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] @@ -9857,7 +11013,7 @@ class OutputResponseOutputClickHouseTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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.""" @@ -9903,20 +11059,17 @@ class OutputResponseOutputClickHouse(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" auth_type: Annotated[ Optional[AuthenticationTypeOptions], pydantic.Field(alias="authType") ] = None - format_: Annotated[ - Optional[OutputResponseFormatClickHouse], pydantic.Field(alias="format") - ] = None + format_: Annotated[Optional[FormatOptions], pydantic.Field(alias="format")] = None r"""Data format to use when sending data to ClickHouse. Defaults to JSON Compact.""" mapping_type: Annotated[ - Optional[OutputResponseMappingTypeClickHouse], - pydantic.Field(alias="mappingType"), + Optional[MappingTypeOptions], pydantic.Field(alias="mappingType") ] = None r"""How event fields are mapped to ClickHouse columns""" @@ -9996,6 +11149,9 @@ class OutputResponseOutputClickHouse(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") ] = None @@ -10007,6 +11163,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 @@ -10036,7 +11193,7 @@ class OutputResponseOutputClickHouse(BaseModel): r"""Retrieves the table schema from ClickHouse and populates the Column Mapping table""" column_mappings: Annotated[ - Optional[List[OutputResponseColumnMappingClickHouse]], + Optional[List[ColumnMappingConfOutputClickHouse]], pydantic.Field(alias="columnMappings"), ] = None @@ -10087,7 +11244,7 @@ class OutputResponseOutputClickHouse(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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") @@ -10142,7 +11299,7 @@ def serialize_auth_type(self, value): def serialize_format_(self, value): if isinstance(value, str): try: - return models.OutputResponseFormatClickHouse(value) + return models.FormatOptions(value) except ValueError: return value return value @@ -10151,7 +11308,7 @@ def serialize_format_(self, value): def serialize_mapping_type(self, value): if isinstance(value, str): try: - return models.OutputResponseMappingTypeClickHouse(value) + return models.MappingTypeOptions(value) except ValueError: return value return value @@ -10229,6 +11386,7 @@ def serialize_model(self, handler): "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", + "workload", "dumpFormatErrorsToDisk", "onBackpressure", "description", @@ -10291,7 +11449,7 @@ class OutputResponseOutputDiskSpoolTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" time_window: NotRequired[str] r"""Time period for grouping spooled events. Default is 10m.""" max_data_size: NotRequired[str] @@ -10303,6 +11461,7 @@ class OutputResponseOutputDiskSpoolTypedDict(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.""" notifications: NotRequired[List[NotificationUnionTypedDict]] @@ -10329,7 +11488,7 @@ class OutputResponseOutputDiskSpool(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" time_window: Annotated[Optional[str], pydantic.Field(alias="timeWindow")] = None r"""Time period for grouping spooled events. Default is 10m.""" @@ -10349,6 +11508,7 @@ class OutputResponseOutputDiskSpool(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") @@ -10408,17 +11568,10 @@ class OutputResponseTypeCriblLake(str, Enum): CRIBL_LAKE = "cribl_lake" -class OutputResponseAwsAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta): - AUTO = "auto" - AUTO_RPC = "auto_rpc" - MANUAL = "manual" - - class OutputResponseFormatCriblLake(str, Enum, metaclass=utils.OpenEnumMeta): JSON = "json" PARQUET = "parquet" - DDSS = "ddss" - NETSKOPE = "netskope" + RAW = "raw" class OutputResponseOutputCriblLakeTypedDict(TypedDict): @@ -10432,31 +11585,7 @@ class OutputResponseOutputCriblLakeTypedDict(TypedDict): 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).""" - 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""" - bucket: NotRequired[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: NotRequired[str] - r"""Region where the S3 bucket is located""" - dest_path: NotRequired[str] - r"""Lake dataset to send the data to.""" - 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"""Metadata tags used for categorization and filtering.""" 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] @@ -10489,21 +11618,40 @@ class OutputResponseOutputCriblLakeTypedDict(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""" - aws_authentication_method: NotRequired[OutputResponseAwsAuthenticationMethod] + 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] - r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" 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] @@ -10514,34 +11662,18 @@ class OutputResponseOutputCriblLakeTypedDict(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_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_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] @@ -10566,59 +11698,7 @@ class OutputResponseOutputCriblLake(BaseModel): 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).""" - - 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""" - - bucket: Optional[str] = None - 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: Optional[str] = None - r"""Region where the S3 bucket is located""" - - dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None - r"""Lake dataset to send the data to.""" - - 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""" + r"""Metadata tags used for categorization and filtering.""" 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.""" @@ -10699,45 +11779,91 @@ class OutputResponseOutputCriblLake(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None - aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( + 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 + 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"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" - object_acl: Annotated[ - Optional[ObjectACLOptions], pydantic.Field(alias="objectACL") + parquet_version: Annotated[ + Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") ] = None - r"""Object ACL to assign to uploaded objects""" + r"""Determines which data types are supported and how they are represented""" - storage_class: Annotated[ - Optional[StorageClassOptions], pydantic.Field(alias="storageClass") + parquet_data_page_version: Annotated[ + Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") ] = None - r"""Storage class to select for uploaded objects""" + 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.""" - server_side_encryption: Annotated[ - Optional[ServerSideEncryptionForUploadedObjectsOptions], - pydantic.Field(alias="serverSideEncryption"), + parquet_row_group_length: Annotated[ + Optional[float], pydantic.Field(alias="parquetRowGroupLength") ] = None - r"""Server-side encryption to use for uploaded objects""" + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - 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""" + 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.""" - aws_authentication_method: Annotated[ - Optional[OutputResponseAwsAuthenticationMethod], - pydantic.Field(alias="awsAuthenticationMethod"), + 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""" - format_: Annotated[ - Optional[OutputResponseFormatCriblLake], pydantic.Field(alias="format") + 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\" """ - max_concurrent_file_parts: Annotated[ - Optional[float], pydantic.Field(alias="maxConcurrentFileParts") + enable_statistics: Annotated[ + Optional[bool], pydantic.Field(alias="enableStatistics") ] = None - r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" + 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.""" - description: Optional[str] = None + 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") @@ -10764,36 +11890,6 @@ class OutputResponseOutputCriblLake(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_base_file_name: Annotated[ Optional[str], pydantic.Field(alias="__template_baseFileName") ] = None @@ -10809,30 +11905,20 @@ class OutputResponseOutputCriblLake(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") + template_dest_path: Annotated[ + Optional[str], pydantic.Field(alias="__template_destPath") ] = 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 '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_server_side_encryption: Annotated[ - Optional[str], pydantic.Field(alias="__template_serverSideEncryption") + template_compress: Annotated[ + Optional[str], pydantic.Field(alias="__template_compress") ] = 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 '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_kms_key_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_kmsKeyId") + template_parquet_schema: Annotated[ + Optional[str], pydantic.Field(alias="__template_parquetSchema") ] = 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 '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.""" @@ -10858,47 +11944,47 @@ 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 - @field_serializer("aws_authentication_method") - def serialize_aws_authentication_method(self, value): + @field_serializer("parquet_version") + def serialize_parquet_version(self, value): if isinstance(value, str): try: - return models.OutputResponseAwsAuthenticationMethod(value) + return models.ParquetVersionOptions(value) except ValueError: return value return value - @field_serializer("format_") - def serialize_format_(self, value): + @field_serializer("parquet_data_page_version") + def serialize_parquet_data_page_version(self, value): if isinstance(value, str): try: - return models.OutputResponseFormatCriblLake(value) + return models.DataPageVersionOptions(value) except ValueError: return value return value @@ -10912,18 +11998,6 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "endpoint", - "enableAssumeRole", - "assumeRoleArn", - "assumeRoleExternalId", - "durationSeconds", - "reuseConnections", - "rejectUnauthorized", - "bucket", - "region", - "destPath", - "verifyPermissions", - "maxClosingFilesToBackpressure", "stagePath", "addIdToStagePath", "removeEmptyDirs", @@ -10941,34 +12015,36 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", - "awsSecretKey", - "objectACL", - "storageClass", - "serverSideEncryption", - "kmsKeyId", - "awsAuthenticationMethod", + "destPath", "format", + "dynamicDataset", + "maxClosingFilesToBackpressure", "maxConcurrentFileParts", "description", + "compress", + "compressionLevel", + "automaticSchema", + "parquetSchema", + "parquetVersion", + "parquetDataPageVersion", + "parquetRowGroupLength", + "parquetPageSize", + "shouldLogInvalidRows", + "keyValueMetadata", + "enableStatistics", + "enableWritePageIndex", + "enablePageChecksum", "emptyDirCleanupSec", "directoryBatchSize", "deadletterPath", "maxRetryNum", "__template_streamtags", - "__template_endpoint", - "__template_assumeRoleArn", - "__template_assumeRoleExternalId", - "__template_bucket", - "__template_region", - "__template_destPath", "__template_baseFileName", "__template_fileNameSuffix", "__template_onBackpressure", - "__template_awsSecretKey", - "__template_objectACL", - "__template_storageClass", - "__template_serverSideEncryption", - "__template_kmsKeyId", + "__template_destPath", + "__template_compress", + "__template_parquetSchema", "notifications", "status", ] @@ -11014,7 +12090,7 @@ class OutputResponseOutputSecurityLakeTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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] @@ -11093,6 +12169,7 @@ class OutputResponseOutputSecurityLakeTypedDict(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] @@ -11183,7 +12260,7 @@ class OutputResponseOutputSecurityLake(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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.""" @@ -11380,6 +12457,7 @@ class OutputResponseOutputSecurityLake(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}`)""" @@ -11686,7 +12764,7 @@ class OutputResponseOutputDlS3TypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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] @@ -11758,6 +12836,7 @@ class OutputResponseOutputDlS3TypedDict(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] @@ -11866,7 +12945,7 @@ class OutputResponseOutputDlS3(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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.""" @@ -12039,6 +13118,7 @@ class OutputResponseOutputDlS3(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}`)""" @@ -12467,7 +13547,7 @@ class OutputResponseOutputCrowdstrikeNextGenSiemTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] @@ -12505,6 +13585,7 @@ class OutputResponseOutputCrowdstrikeNextGenSiemTypedDict(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""" @@ -12529,7 +13610,7 @@ class OutputResponseOutputCrowdstrikeNextGenSiemTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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.""" @@ -12571,7 +13652,7 @@ class OutputResponseOutputCrowdstrikeNextGenSiem(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -12654,6 +13735,7 @@ class OutputResponseOutputCrowdstrikeNextGenSiem(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 @@ -12707,7 +13789,7 @@ class OutputResponseOutputCrowdstrikeNextGenSiem(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputResponsePqControlsCrowdstrikeNextGenSiem], @@ -12892,7 +13974,7 @@ class OutputResponseOutputHumioHecTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] @@ -12930,6 +14012,7 @@ 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] @@ -12955,7 +14038,7 @@ class OutputResponseOutputHumioHecTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -12995,7 +14078,7 @@ class OutputResponseOutputHumioHec(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -13078,6 +14161,7 @@ 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""" @@ -13132,7 +14216,7 @@ class OutputResponseOutputHumioHec(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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") @@ -13312,7 +14396,7 @@ class OutputResponseOutputCriblSearchEngineTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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] @@ -13359,6 +14443,7 @@ class OutputResponseOutputCriblSearchEngineTypedDict(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] @@ -13389,7 +14474,7 @@ class OutputResponseOutputCriblSearchEngineTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -13423,7 +14508,7 @@ class OutputResponseOutputCriblSearchEngine(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( None @@ -13527,6 +14612,7 @@ class OutputResponseOutputCriblSearchEngine(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""" @@ -13593,7 +14679,7 @@ class OutputResponseOutputCriblSearchEngine(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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], @@ -13773,7 +14859,7 @@ class OutputResponseOutputCriblHTTPTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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] @@ -13818,6 +14904,7 @@ class OutputResponseOutputCriblHTTPTypedDict(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] @@ -13850,7 +14937,7 @@ class OutputResponseOutputCriblHTTPTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -13884,7 +14971,7 @@ class OutputResponseOutputCriblHTTP(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( None @@ -13983,6 +15070,7 @@ class OutputResponseOutputCriblHTTP(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""" @@ -14054,7 +15142,7 @@ class OutputResponseOutputCriblHTTP(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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") @@ -14233,7 +15321,7 @@ class OutputResponseOutputCriblTCPTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" load_balanced: NotRequired[bool] r"""Use load-balanced destinations""" compression: NotRequired[CompressionOptionsGzipNone] @@ -14256,6 +15344,7 @@ class OutputResponseOutputCriblTCPTypedDict(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] @@ -14291,7 +15380,7 @@ class OutputResponseOutputCriblTCPTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -14325,7 +15414,7 @@ class OutputResponseOutputCriblTCP(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( None @@ -14378,6 +15467,7 @@ 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""" @@ -14453,7 +15543,7 @@ class OutputResponseOutputCriblTCP(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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") @@ -14645,7 +15735,7 @@ class OutputResponseOutputDatasetTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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]] @@ -14697,6 +15787,7 @@ class OutputResponseOutputDatasetTypedDict(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.""" @@ -14719,7 +15810,7 @@ class OutputResponseOutputDatasetTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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""" @@ -14757,7 +15848,7 @@ class OutputResponseOutputDataset(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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.""" @@ -14870,6 +15961,7 @@ class OutputResponseOutputDataset(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 @@ -14920,7 +16012,7 @@ class OutputResponseOutputDataset(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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") @@ -15131,7 +16223,7 @@ class OutputResponseOutputServiceNowTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" auth_token_name: NotRequired[str] max_payload_size_kb: NotRequired[float] r"""Maximum size, in KB, of the request body""" @@ -15168,6 +16260,7 @@ class OutputResponseOutputServiceNowTypedDict(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), @@ -15208,7 +16301,7 @@ class OutputResponseOutputServiceNowTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -15252,7 +16345,7 @@ class OutputResponseOutputServiceNow(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" auth_token_name: Annotated[Optional[str], pydantic.Field(alias="authTokenName")] = ( None @@ -15335,6 +16428,7 @@ class OutputResponseOutputServiceNow(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") @@ -15424,7 +16518,7 @@ class OutputResponseOutputServiceNow(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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") @@ -15605,7 +16699,7 @@ class OutputResponseTypeOpenTelemetry(str, Enum): OPEN_TELEMETRY = "open_telemetry" -class OutputResponseOTLPVersion(str, Enum, metaclass=utils.OpenEnumMeta): +class OutputResponseOTLPVersionOpenTelemetry(str, Enum, metaclass=utils.OpenEnumMeta): r"""The version of OTLP Protobuf definitions to use when structuring data to send""" # 0.10.0 @@ -15652,10 +16746,10 @@ class OutputResponseOutputOpenTelemetryTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" protocol: NotRequired[ProtocolOptions] r"""Select a transport option for OpenTelemetry""" - otlp_version: NotRequired[OutputResponseOTLPVersion] + 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""" @@ -15693,6 +16787,7 @@ class OutputResponseOutputOpenTelemetryTypedDict(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] @@ -15757,7 +16852,7 @@ class OutputResponseOutputOpenTelemetryTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -15794,13 +16889,14 @@ class OutputResponseOutputOpenTelemetry(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" protocol: Optional[ProtocolOptions] = None r"""Select a transport option for OpenTelemetry""" otlp_version: Annotated[ - Optional[OutputResponseOTLPVersion], pydantic.Field(alias="otlpVersion") + Optional[OutputResponseOTLPVersionOpenTelemetry], + pydantic.Field(alias="otlpVersion"), ] = None r"""The version of OTLP Protobuf definitions to use when structuring data to send""" @@ -15886,6 +16982,7 @@ class OutputResponseOutputOpenTelemetry(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 @@ -16030,7 +17127,7 @@ class OutputResponseOutputOpenTelemetry(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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], @@ -16076,7 +17173,7 @@ def serialize_protocol(self, value): def serialize_otlp_version(self, value): if isinstance(value, str): try: - return models.OutputResponseOTLPVersion(value) + return models.OutputResponseOTLPVersionOpenTelemetry(value) except ValueError: return value return value @@ -16202,200 +17299,24 @@ def serialize_model(self, handler): "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", - "onBackpressure", - "description", + "responseHonorRetryAfterHeader", + "tls", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", "__template_streamtags", + "__template_failedRequestLoggingMode", "__template_onBackpressure", + "__template_loginUrl", "notifications", "status", ] @@ -16414,325 +17335,109 @@ def serialize_model(self, handler): return m -class OutputResponseTypePrometheus(str, Enum): - PROMETHEUS = "prometheus" - +class OutputResponseTypeRing(str, Enum): + RING = "ring" -class OutputResponsePqControlsPrometheusTypedDict(TypedDict): - pass +class OutputResponseDataFormatRing(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Format of the output data.""" -class OutputResponsePqControlsPrometheus(BaseModel): - pass + JSON = "json" + RAW = "raw" -class OutputResponseOutputPrometheusTypedDict(TypedDict): - type: OutputResponseTypePrometheus - url: str - r"""The endpoint to send metrics to""" +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. 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""" - 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""" - 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"""Metadata tags used for categorization and filtering.""" + 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""" - auth_type: NotRequired[AuthenticationTypeOptionsPrometheusAuth] - 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.""" - 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 1MB.""" - 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""" + 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_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.""" - - -class OutputResponseOutputPrometheus(BaseModel): - type: OutputResponseTypePrometheus - - url: str - r"""The endpoint to send metrics 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. 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.""" - - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" - - 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..""" - - send_metadata: Annotated[Optional[bool], pydantic.Field(alias="sendMetadata")] = ( - None - ) - r"""Generate and send metadata (`type` and `metricFamilyName`) requests""" - - 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""" - - 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).""" - - 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[AuthenticationTypeOptionsPrometheusAuth], - 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.""" - - 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"""Binds 'streamtags' to a variable 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.""" - 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.""" +class OutputResponseOutputRing(BaseModel): + type: OutputResponseTypeRing - 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.""" + id: Optional[str] = None + r"""Unique ID for 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""" + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" - pq_max_file_size: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxFileSize") + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") ] = 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"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - 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: //.""" + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - pq_compress: Annotated[ - Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") - ] = None - r"""Codec to use to compress the persisted data""" + streamtags: Optional[List[str]] = None + r"""Metadata tags used for categorization and filtering.""" - pq_on_backpressure: Annotated[ - Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") + format_: Annotated[ + Optional[OutputResponseDataFormatRing], pydantic.Field(alias="format") ] = 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"""Format of the output data.""" - 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 1MB.""" + 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.""" - pq_controls: Annotated[ - Optional[OutputResponsePqControlsPrometheus], pydantic.Field(alias="pqControls") - ] = None + 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.""" - username: Optional[str] = None + 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.""" - password: Optional[str] = None + compress: Optional[DataCompressionFormatOptionsPersistence] = None - token: Optional[str] = None - r"""Bearer token to include in the authorization header""" + dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None + r"""Path to use to write metrics. Defaults to $CRIBL_HOME/state/""" - credentials_secret: Annotated[ - Optional[str], pydantic.Field(alias="credentialsSecret") + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptionsBlockDrop], + pydantic.Field(alias="onBackpressure"), ] = None - r"""Select or create a secret that references your credentials""" + r"""How to handle events when all receivers are exerting backpressure""" - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" + 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_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 @@ -16744,56 +17449,29 @@ class OutputResponseOutputPrometheus(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): - 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.AuthenticationTypeOptionsPrometheusAuth(value) - except ValueError: - return value - return value - - @field_serializer("pq_mode") - def serialize_pq_mode(self, value): + @field_serializer("format_") + def serialize_format_(self, value): if isinstance(value, str): try: - return models.ModeOptions(value) + return models.OutputResponseDataFormatRing(value) except ValueError: return value return value - @field_serializer("pq_compress") - def serialize_pq_compress(self, value): + @field_serializer("compress") + def serialize_compress(self, value): if isinstance(value, str): try: - return models.CompressionOptionsPq(value) + return models.DataCompressionFormatOptionsPersistence(value) except ValueError: return value return value - @field_serializer("pq_on_backpressure") - def serialize_pq_on_backpressure(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.QueueFullBehaviorOptions(value) + return models.BackpressureBehaviorOptionsBlockDrop(value) except ValueError: return value return value @@ -16807,46 +17485,15 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "metricRenameExpr", - "sendMetadata", - "usePrometheusHistogramBucketSuffix", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", - "failedRequestLoggingMode", - "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", + "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", "__template_streamtags", - "__template_url", - "__template_failedRequestLoggingMode", "__template_onBackpressure", "notifications", "status", @@ -16866,47 +17513,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[RequestParamConfInputOpenaiTypedDict]] - 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 - ] + r"""Metadata tags used for categorization and filtering.""" + 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), @@ -16915,7 +17578,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] @@ -16927,29 +17590,18 @@ class OutputResponseOutputLokiTypedDict(TypedDict): 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.""" - 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] - 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"""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[OutputResponseAuthenticationTypePrometheus] + 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] 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] @@ -16971,25 +17623,59 @@ class OutputResponseOutputLokiTypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[OutputResponsePqControlsLokiTypedDict] + r"""The maximum size to hold in memory before writing events 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).""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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""" @@ -17000,42 +17686,41 @@ 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.""" 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.""" + r"""Metadata tags used for categorization and filtering.""" - 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[RequestParamConfInputOpenai]] = 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") @@ -17051,7 +17736,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]], @@ -17090,42 +17775,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") @@ -17174,17 +17841,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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputResponsePqControlsLoki], pydantic.Field(alias="pqControls") + 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") + ] = 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 @@ -17195,32 +17917,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): @@ -17239,6 +17961,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): @@ -17266,6 +17997,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( @@ -17275,10 +18015,9 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "message", - "messageFormat", - "labels", - "authType", + "metricRenameExpr", + "sendMetadata", + "usePrometheusHistogramBucketSuffix", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -17292,16 +18031,10 @@ def serialize_model(self, handler): "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", - "enableDynamicHeaders", "onBackpressure", - "totalMemoryLimitKB", + "authType", "description", - "compress", - "token", - "textSecret", - "username", - "password", - "credentialsSecret", + "metricsFlushPeriodSec", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -17314,9 +18047,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", ] @@ -17335,61 +18086,68 @@ def serialize_model(self, handler): return m -class OutputResponseOutputGrafanaCloudType2(str, Enum): - GRAFANA_CLOUD = "grafana_cloud" - - -class OutputResponseOutputGrafanaCloudPqControls2TypedDict(TypedDict): - pass +class OutputResponseTypeAmazonManagedPrometheus(str, Enum): + AMAZON_MANAGED_PROMETHEUS = "amazon_managed_prometheus" -class OutputResponseOutputGrafanaCloudPqControls2(BaseModel): +class OutputResponsePqControlsAmazonManagedPrometheusTypedDict(TypedDict): 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 OutputResponsePqControlsAmazonManagedPrometheus(BaseModel): + pass + + +class OutputResponseOutputAmazonManagedPrometheusTypedDict(TypedDict): + type: OutputResponseTypeAmazonManagedPrometheus + url: str + r"""The Amazon Managed Service for Prometheus remote_write endpoint""" + aws_authentication_method: AuthenticationMethodOptionsAutoSecret + r"""AWS authentication method. Choose Auto to use IAM roles.""" + region: str + r"""Region where the AMSP 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. 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 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}""" - 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[RequestParamConfInputOpenaiTypedDict]] - 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. 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. 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). 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"""Metadata tags used for categorization and filtering.""" + aws_secret_key: NotRequired[str] 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. """ + enable_assume_role: NotRequired[bool] + r"""Use Assume Role credentials to access AMSP""" + 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).""" + 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""" + max_payload_size_kb: NotRequired[float] + r"""Maximum uncompressed size, in KB, of the request body. The 1 MB cap is intentional and protects against data that compresses poorly, since oversized requests fail with a non-retryable 413.""" + 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 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 Body size limit.""" extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events""" + r"""Headers to add to all events. SigV4-managed headers and the Prometheus remote-write protocol version header are generated by this Destination and cannot be configured here.""" 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] @@ -17406,8 +18164,11 @@ class OutputResponseOutputGrafanaCloudGrafanaCloud2TypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] - 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"""Optional description for this configuration.""" + aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" + 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] @@ -17429,14 +18190,20 @@ class OutputResponseOutputGrafanaCloudGrafanaCloud2TypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[OutputResponseOutputGrafanaCloudPqControls2TypedDict] + r"""The maximum size to hold in memory before writing events 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[OutputResponsePqControlsAmazonManagedPrometheusTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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_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_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_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_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] @@ -17447,11 +18214,20 @@ 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 OutputResponseOutputAmazonManagedPrometheus(BaseModel): + type: OutputResponseTypeAmazonManagedPrometheus - 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 Amazon Managed Service for Prometheus remote_write endpoint""" + + aws_authentication_method: Annotated[ + AuthenticationMethodOptionsAutoSecret, + pydantic.Field(alias="awsAuthenticationMethod"), + ] + r"""AWS authentication method. Choose Auto to use IAM roles.""" + + region: str + r"""Region where the AMSP is located""" id: Optional[str] = None r"""Unique ID for this output""" @@ -17462,61 +18238,73 @@ 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 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.""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" - 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""" + aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( + None + ) - 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.""" + 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. + """ - message_format: Annotated[ - Optional[MessageFormatOptions], pydantic.Field(alias="messageFormat") + enable_assume_role: Annotated[ + Optional[bool], pydantic.Field(alias="enableAssumeRole") ] = None - r"""Format to use when sending logs to Loki (Protobuf or JSON)""" + r"""Use Assume Role credentials to access AMSP""" - labels: Optional[List[RequestParamConfInputOpenai]] = 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\"}'""" + 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).""" 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 + send_metadata: Annotated[Optional[bool], pydantic.Field(alias="sendMetadata")] = ( + None + ) + r"""Generate and send metadata (`type` and `metricFamilyName`) requests""" - loki_auth: Annotated[ - Optional[PrometheusAuthType], pydantic.Field(alias="lokiAuth") + 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 and Prometheus 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 and Prometheus to complain about entries being delivered out of order.""" + r"""Maximum uncompressed size, in KB, of the request body. The 1 MB cap is intentional and protects against data that compresses poorly, since oversized requests fail with a non-retryable 413.""" 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.""" - - 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. - """ + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" 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""" @@ -17524,13 +18312,13 @@ 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 Body size limit.""" extra_http_headers: Annotated[ Optional[List[ExtraHTTPHeaderConfInputElastic]], pydantic.Field(alias="extraHttpHeaders"), ] = None - r"""Headers to add to all events""" + r"""Headers to add to all events. SigV4-managed headers and the Prometheus remote-write protocol version header are generated by this Destination and cannot be configured here.""" use_round_robin_dns: Annotated[ Optional[bool], pydantic.Field(alias="useRoundRobinDns") @@ -17569,9 +18357,15 @@ class OutputResponseOutputGrafanaCloudGrafanaCloud2(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.""" + 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""" + + 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.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -17620,10 +18414,10 @@ class OutputResponseOutputGrafanaCloudGrafanaCloud2(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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], + Optional[OutputResponsePqControlsAmazonManagedPrometheus], pydantic.Field(alias="pqControls"), ] = None @@ -17632,15 +18426,30 @@ 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") + 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_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsSecretKey") ] = 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.""" + 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_prometheus_url: Annotated[ - Optional[str], pydantic.Field(alias="__template_prometheusUrl") + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") ] = 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.""" + 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_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_failed_request_logging_mode: Annotated[ Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") @@ -17658,11 +18467,11 @@ class OutputResponseOutputGrafanaCloudGrafanaCloud2(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("message_format") - def serialize_message_format(self, value): + @field_serializer("aws_authentication_method") + def serialize_aws_authentication_method(self, value): if isinstance(value, str): try: - return models.MessageFormatOptions(value) + return models.AuthenticationMethodOptionsAutoSecret(value) except ValueError: return value return value @@ -17721,17 +18530,18 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "lokiUrl", - "message", - "messageFormat", - "labels", + "awsSecretKey", + "rejectUnauthorized", + "enableAssumeRole", + "assumeRoleArn", + "assumeRoleExternalId", + "durationSeconds", "metricRenameExpr", - "prometheusAuth", - "lokiAuth", + "sendMetadata", + "usePrometheusHistogramBucketSuffix", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", - "rejectUnauthorized", "timeoutSec", "flushPeriodSec", "extraHttpHeaders", @@ -17743,7 +18553,8 @@ def serialize_model(self, handler): "responseHonorRetryAfterHeader", "onBackpressure", "description", - "compress", + "awsSecret", + "metricsFlushPeriodSec", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -17757,8 +18568,11 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", - "__template_lokiUrl", - "__template_prometheusUrl", + "__template_url", + "__template_awsSecretKey", + "__template_region", + "__template_assumeRoleArn", + "__template_assumeRoleExternalId", "__template_failedRequestLoggingMode", "__template_onBackpressure", "notifications", @@ -17779,50 +18593,49 @@ def serialize_model(self, handler): return m -class OutputResponseOutputGrafanaCloudType1(str, Enum): - GRAFANA_CLOUD = "grafana_cloud" +class OutputResponseTypeLoki(str, Enum): + LOKI = "loki" -class OutputResponseOutputGrafanaCloudPqControls1TypedDict(TypedDict): +class OutputResponsePqControlsLokiTypedDict(TypedDict): pass -class OutputResponseOutputGrafanaCloudPqControls1(BaseModel): +class OutputResponsePqControlsLoki(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 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}""" - 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""" + r"""Metadata tags used for categorization and filtering.""" 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[RequestParamConfInputOpenaiTypedDict]] + labels: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict] + ] 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), @@ -17831,7 +18644,7 @@ class OutputResponseOutputGrafanaCloudGrafanaCloud1TypedDict(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] @@ -17847,11 +18660,26 @@ class OutputResponseOutputGrafanaCloudGrafanaCloud1TypedDict(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] @@ -17873,14 +18701,10 @@ class OutputResponseOutputGrafanaCloudGrafanaCloud1TypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[OutputResponseOutputGrafanaCloudPqControls1TypedDict] + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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] @@ -17891,11 +18715,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 OutputResponseOutputLoki(BaseModel): + type: OutputResponseTypeLoki - loki_url: Annotated[str, pydantic.Field(alias="lokiUrl")] - r"""The endpoint to send logs to, such as https://logs-prod-us-central1.grafana.net""" + url: str + r"""The endpoint to send logs to""" id: Optional[str] = None r"""Unique ID for this output""" @@ -17906,18 +18730,13 @@ class OutputResponseOutputGrafanaCloudGrafanaCloud1(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.""" 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""" + r"""Metadata tags used for categorization and filtering.""" 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.""" @@ -17927,34 +18746,28 @@ class OutputResponseOutputGrafanaCloudGrafanaCloud1(BaseModel): ] = None r"""Format to use when sending logs to Loki (Protobuf or JSON)""" - labels: Optional[List[RequestParamConfInputOpenai]] = 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") + labels: Optional[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecret] ] = 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\"}'""" - 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") @@ -17970,7 +18783,7 @@ class OutputResponseOutputGrafanaCloudGrafanaCloud1(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]], @@ -18009,15 +18822,43 @@ class OutputResponseOutputGrafanaCloudGrafanaCloud1(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") @@ -18066,11 +18907,10 @@ class OutputResponseOutputGrafanaCloudGrafanaCloud1(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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], - pydantic.Field(alias="pqControls"), + Optional[OutputResponsePqControlsLoki], pydantic.Field(alias="pqControls") ] = None template_streamtags: Annotated[ @@ -18078,16 +18918,6 @@ class OutputResponseOutputGrafanaCloudGrafanaCloud1(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 @@ -18113,6 +18943,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): @@ -18167,13 +19008,10 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "prometheusUrl", "message", "messageFormat", "labels", - "metricRenameExpr", - "prometheusAuth", - "lokiAuth", + "authType", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -18187,9 +19025,16 @@ def serialize_model(self, handler): "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", + "enableDynamicHeaders", "onBackpressure", + "totalMemoryLimitKB", "description", "compress", + "token", + "textSecret", + "username", + "password", + "credentialsSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -18203,8 +19048,6 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", - "__template_lokiUrl", - "__template_prometheusUrl", "__template_failedRequestLoggingMode", "__template_onBackpressure", "notifications", @@ -18225,127 +19068,52 @@ 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 OutputResponseOutputGrafanaCloudType2(str, Enum): + GRAFANA_CLOUD = "grafana_cloud" -class OutputResponsePqControlsDatadogTypedDict(TypedDict): +class OutputResponseOutputGrafanaCloudPqControls2TypedDict(TypedDict): pass -class OutputResponsePqControlsDatadog(BaseModel): +class OutputResponseOutputGrafanaCloudPqControls2(BaseModel): pass -class OutputResponseOutputDatadogTypedDict(TypedDict): - type: OutputResponseTypeDatadog +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] 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""" + r"""Metadata tags used for categorization and filtering.""" + 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.""" - 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[RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict] + ] + 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), @@ -18354,7 +19122,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] @@ -18372,12 +19140,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] @@ -18396,19 +19162,17 @@ class OutputResponseOutputDatadogTypedDict(TypedDict): 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 1MB.""" - 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_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[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_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] @@ -18419,8 +19183,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 OutputResponseOutputGrafanaCloudGrafanaCloud2(BaseModel): + type: OutputResponseOutputGrafanaCloudType2 + + 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""" @@ -18431,68 +19198,55 @@ 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.""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" - content_type: Annotated[ - Optional[OutputResponseSendLogsAs], pydantic.Field(alias="contentType") - ] = None - r"""The content type to use when sending logs""" + 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.""" - 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.""" + message_format: Annotated[ + Optional[MessageFormatOptions], pydantic.Field(alias="messageFormat") + ] = None + r"""Format to use when sending logs to Loki (Protobuf or JSON)""" - allow_api_key_from_events: Annotated[ - Optional[bool], pydantic.Field(alias="allowApiKeyFromEvents") + labels: Optional[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecret] ] = None - r"""Allow API key to be set from the event's '__agent_api_key' field""" + 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\"}'""" - 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.""" + 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..""" - 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") @@ -18508,7 +19262,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]], @@ -18552,19 +19306,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") @@ -18613,27 +19359,27 @@ class OutputResponseOutputDatadog(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputResponseOutputGrafanaCloudPqControls2], + 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") @@ -18651,29 +19397,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 @@ -18696,15 +19424,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): @@ -18741,21 +19460,16 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "contentType", + "lokiUrl", "message", - "source", - "host", - "service", - "tags", - "batchByTags", - "allowApiKeyFromEvents", - "severity", - "site", - "sendCountersAsCount", + "messageFormat", + "labels", + "metricRenameExpr", + "prometheusAuth", + "lokiAuth", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", - "compress", "rejectUnauthorized", "timeoutSec", "flushPeriodSec", @@ -18767,10 +19481,8 @@ def serialize_model(self, handler): "timeoutRetrySettings", "responseHonorRetryAfterHeader", "onBackpressure", - "authType", - "totalMemoryLimitKB", "description", - "customUrl", + "compress", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -18783,10 +19495,9 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", - "apiKey", - "textSecret", "__template_streamtags", - "__template_tags", + "__template_lokiUrl", + "__template_prometheusUrl", "__template_failedRequestLoggingMode", "__template_onBackpressure", "notifications", @@ -18807,55 +19518,52 @@ def serialize_model(self, handler): return m -class OutputResponseTypeSumoLogic(str, Enum): - SUMO_LOGIC = "sumo_logic" - - -class OutputResponseDataFormatSumoLogic(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Preserve the raw event format instead of JSONifying it""" - - # JSON - JSON = "json" - # Raw - RAW = "raw" +class OutputResponseOutputGrafanaCloudType1(str, Enum): + GRAFANA_CLOUD = "grafana_cloud" -class OutputResponsePqControlsSumoLogicTypedDict(TypedDict): +class OutputResponseOutputGrafanaCloudPqControls1TypedDict(TypedDict): pass -class OutputResponsePqControlsSumoLogic(BaseModel): +class OutputResponseOutputGrafanaCloudPqControls1(BaseModel): pass -class OutputResponseOutputSumoLogicTypedDict(TypedDict): - type: OutputResponseTypeSumoLogic - url: str - r"""Sumo Logic HTTP collector URL to which events should be sent""" +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}""" - 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""" + r"""Metadata tags used for categorization and filtering.""" + 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.""" + message_format: NotRequired[MessageFormatOptions] + r"""Format to use when sending logs to Loki (Protobuf or JSON)""" + labels: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict] + ] + 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), @@ -18864,7 +19572,7 @@ class OutputResponseOutputSumoLogicTypedDict(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] @@ -18882,9 +19590,10 @@ 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""" - 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.""" 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] @@ -18906,12 +19615,14 @@ class OutputResponseOutputSumoLogicTypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[OutputResponsePqControlsSumoLogicTypedDict] + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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_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] @@ -18922,11 +19633,11 @@ 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 +class OutputResponseOutputGrafanaCloudGrafanaCloud1(BaseModel): + type: OutputResponseOutputGrafanaCloudType1 - url: str - r"""Sumo Logic HTTP collector URL to which events should be sent""" + 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""" @@ -18937,42 +19648,57 @@ class OutputResponseOutputSumoLogic(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.""" + + streamtags: Optional[List[str]] = None + r"""Metadata tags used for categorization and filtering.""" + + 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.""" - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + message_format: Annotated[ + Optional[MessageFormatOptions], pydantic.Field(alias="messageFormat") + ] = None + r"""Format to use when sending logs to Loki (Protobuf or JSON)""" - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + labels: Optional[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecret] + ] = 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\"}'""" - 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.""" + 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..""" - custom_category: Annotated[ - Optional[str], pydantic.Field(alias="customCategory") + prometheus_auth: Annotated[ + Optional[PrometheusAuthType], pydantic.Field(alias="prometheusAuth") ] = 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.""" - format_: Annotated[ - Optional[OutputResponseDataFormatSumoLogic], pydantic.Field(alias="format") + loki_auth: Annotated[ + Optional[PrometheusAuthType], pydantic.Field(alias="lokiAuth") ] = None - r"""Preserve the raw event format instead of JSONifying it""" 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") @@ -18988,7 +19714,7 @@ class OutputResponseOutputSumoLogic(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]], @@ -19032,12 +19758,11 @@ class OutputResponseOutputSumoLogic(BaseModel): ] = 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.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -19086,10 +19811,11 @@ class OutputResponseOutputSumoLogic(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputResponseOutputGrafanaCloudPqControls1], + pydantic.Field(alias="pqControls"), ] = None template_streamtags: Annotated[ @@ -19097,10 +19823,15 @@ class OutputResponseOutputSumoLogic(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_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") @@ -19118,11 +19849,11 @@ 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("message_format") + def serialize_message_format(self, value): if isinstance(value, str): try: - return models.OutputResponseDataFormatSumoLogic(value) + return models.MessageFormatOptions(value) except ValueError: return value return value @@ -19181,13 +19912,16 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "customSource", - "customCategory", - "format", + "prometheusUrl", + "message", + "messageFormat", + "labels", + "metricRenameExpr", + "prometheusAuth", + "lokiAuth", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", - "compress", "rejectUnauthorized", "timeoutSec", "flushPeriodSec", @@ -19199,8 +19933,8 @@ def serialize_model(self, handler): "timeoutRetrySettings", "responseHonorRetryAfterHeader", "onBackpressure", - "totalMemoryLimitKB", "description", + "compress", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -19214,7 +19948,8 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", - "__template_url", + "__template_lokiUrl", + "__template_prometheusUrl", "__template_failedRequestLoggingMode", "__template_onBackpressure", "notifications", @@ -19235,178 +19970,87 @@ def serialize_model(self, handler): 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.""" - 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 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.""" +OutputResponseOutputGrafanaCloudUnionTypedDict = TypeAliasType( + "OutputResponseOutputGrafanaCloudUnionTypedDict", + Union[ + OutputResponseOutputGrafanaCloudGrafanaCloud1TypedDict, + OutputResponseOutputGrafanaCloudGrafanaCloud2TypedDict, + ], +) - 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.""" +OutputResponseOutputGrafanaCloudUnion = TypeAliasType( + "OutputResponseOutputGrafanaCloudUnion", + Union[ + OutputResponseOutputGrafanaCloudGrafanaCloud1, + OutputResponseOutputGrafanaCloudGrafanaCloud2, + ], +) - 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.""" +class OutputResponseTypeDatadog(str, Enum): + DATADOG = "datadog" - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "id", - "pipeline", - "systemFields", - "environment", - "streamtags", - "dnsResolvePeriodSec", - "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)) +class OutputResponseSendLogsAs(str, Enum, metaclass=utils.OpenEnumMeta): + r"""The content type to use when sending logs""" - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val + # text/plain + TEXT = "text" + # application/json + JSON = "json" - return m +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.""" -class OutputResponseTypeSqs(str, Enum): - SQS = "sqs" + # 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 OutputResponseQueueType(str, Enum, metaclass=utils.OpenEnumMeta): - r"""The queue type used (or created). Defaults to Standard.""" +class OutputResponseDatadogSite(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Datadog site to which events should be sent""" - # Standard - STANDARD = "standard" - # FIFO - FIFO = "fifo" + # US + US = "us" + # US3 + US3 = "us3" + # US5 + US5 = "us5" + # Europe + EU = "eu" + # US1-FED + FED1 = "fed1" + # AP1 + AP1 = "ap1" + # Custom + CUSTOM = "custom" -class OutputResponsePqControlsSqsTypedDict(TypedDict): +class OutputResponsePqControlsDatadogTypedDict(TypedDict): pass -class OutputResponsePqControlsSqs(BaseModel): +class OutputResponsePqControlsDatadog(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 OutputResponseOutputDatadogTypedDict(TypedDict): + type: OutputResponseTypeDatadog id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -19416,46 +20060,70 @@ class OutputResponseOutputSqsTypedDict(TypedDict): 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_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""" + r"""Metadata tags used for categorization and filtering.""" + 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] + 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""" + 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] - 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.""" + 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] @@ -19477,46 +20145,28 @@ class OutputResponseOutputSqsTypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[OutputResponsePqControlsSqsTypedDict] + r"""The maximum size to hold in memory before writing events 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""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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_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.""" - 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}`.""" - - queue_type: Annotated[OutputResponseQueueType, pydantic.Field(alias="queueType")] - r"""The queue type used (or created). Defaults to Standard.""" +class OutputResponseOutputDatadog(BaseModel): + type: OutputResponseTypeDatadog id: Optional[str] = None r"""Unique ID for this output""" @@ -19533,98 +20183,135 @@ class OutputResponseOutputSqs(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" - 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") + content_type: Annotated[ + Optional[OutputResponseSendLogsAs], pydantic.Field(alias="contentType") ] = 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.""" + r"""The content type to use when sending logs""" - create_queue: Annotated[Optional[bool], pydantic.Field(alias="createQueue")] = None - r"""Create queue if it does not exist.""" + 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.""" - aws_authentication_method: Annotated[ - Optional[AuthenticationMethodOptionsS3CollectorConf], - pydantic.Field(alias="awsAuthenticationMethod"), + 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"""AWS authentication method. Choose Auto to use IAM roles.""" + r"""Allow API key to be set from the event's '__agent_api_key' field""" - aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( - None - ) + 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.""" - 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.""" + site: Optional[OutputResponseDatadogSite] = None + r"""Datadog site to which events should be sent""" - 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.""" + send_counters_as_count: Annotated[ + Optional[bool], pydantic.Field(alias="sendCountersAsCount") + ] = 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)""" - reuse_connections: Annotated[ - Optional[bool], pydantic.Field(alias="reuseConnections") + 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"""Reuse connections between requests, which can improve performance""" + 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 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") - ] = None - r"""Use Assume Role credentials to access SQS""" + 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""" - assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( - None - ) - r"""Amazon Resource Name (ARN) of the role to assume""" + 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.""" - assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="assumeRoleExternalId") + extra_http_headers: Annotated[ + Optional[List[ExtraHTTPHeaderConfInputElastic]], + pydantic.Field(alias="extraHttpHeaders"), ] = None - r"""External ID to use when assuming role""" + r"""Headers to add to all events""" - duration_seconds: Annotated[ - Optional[float], pydantic.Field(alias="durationSeconds") + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") ] = 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"""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.""" - max_queue_size: Annotated[Optional[float], pydantic.Field(alias="maxQueueSize")] = ( - None - ) - r"""Maximum number of queued batches before blocking.""" + 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_record_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxRecordSizeKB") + safe_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="safeHeaders") ] = None - r"""Maximum size (KB) of batches to send. Per the SQS spec, the max allowed value is 256 KB.""" + r"""List of headers that are safe to log in plain text""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - max_in_progress: Annotated[ - Optional[float], pydantic.Field(alias="maxInProgress") + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") ] = None - r"""The maximum number of in-progress API requests before backpressure is applied.""" + + 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 + auth_type: Annotated[ + Optional[AuthenticationMethodOptionsAPI], pydantic.Field(alias="authType") + ] = None + r"""Enter API key directly, or select a stored secret""" - 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.""" + + custom_url: Annotated[Optional[str], pydantic.Field(alias="customUrl")] = None pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -19673,92 +20360,76 @@ class OutputResponseOutputSqs(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[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_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_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") - ] = 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_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_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") - ] = 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("queue_type") - def serialize_queue_type(self, value): + @field_serializer("content_type") + def serialize_content_type(self, value): if isinstance(value, str): try: - return models.OutputResponseQueueType(value) + return models.OutputResponseSendLogsAs(value) except ValueError: return value return value - @field_serializer("aws_authentication_method") - def serialize_aws_authentication_method(self, value): + @field_serializer("severity") + def serialize_severity(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsS3CollectorConf(value) + 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 + + @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 @@ -19772,6 +20443,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): @@ -19808,27 +20488,36 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "awsAccountId", - "messageGroupId", - "createQueue", - "awsAuthenticationMethod", - "awsSecretKey", - "region", - "endpoint", - "reuseConnections", + "contentType", + "message", + "source", + "host", + "service", + "tags", + "batchByTags", + "allowApiKeyFromEvents", + "severity", + "site", + "sendCountersAsCount", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", "rejectUnauthorized", - "enableAssumeRole", - "assumeRoleArn", - "assumeRoleExternalId", - "durationSeconds", - "maxQueueSize", - "maxRecordSizeKB", + "timeoutSec", "flushPeriodSec", - "maxInProgress", + "extraHttpHeaders", + "useRoundRobinDns", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", "onBackpressure", + "authType", + "totalMemoryLimitKB", "description", - "awsApiKey", - "awsSecret", + "customUrl", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -19841,18 +20530,12 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", + "apiKey", + "textSecret", "__template_streamtags", - "__template_queueName", - "__template_queueType", - "__template_awsAccountId", - "__template_messageGroupId", - "__template_awsSecretKey", - "__template_region", - "__template_endpoint", - "__template_assumeRoleArn", - "__template_assumeRoleExternalId", + "__template_tags", + "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_awsApiKey", "notifications", "status", ] @@ -19871,24 +20554,31 @@ def serialize_model(self, handler): return m -class OutputResponseTypeSns(str, Enum): - SNS = "sns" +class OutputResponseTypeSumoLogic(str, Enum): + SUMO_LOGIC = "sumo_logic" -class OutputResponsePqControlsSnsTypedDict(TypedDict): +class OutputResponseDataFormatSumoLogic(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Preserve the raw event format instead of JSONifying it""" + + # JSON + JSON = "json" + # Raw + RAW = "raw" + + +class OutputResponsePqControlsSumoLogicTypedDict(TypedDict): pass -class OutputResponsePqControlsSns(BaseModel): +class OutputResponsePqControlsSumoLogic(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 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] @@ -19898,34 +20588,51 @@ class OutputResponseOutputSnsTypedDict(TypedDict): 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}""" - 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""" + r"""Metadata tags used for categorization and filtering.""" + 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 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).""" + 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""" + 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] @@ -19947,42 +20654,27 @@ class OutputResponseOutputSnsTypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[OutputResponsePqControlsSnsTypedDict] + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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_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 OutputResponseOutputSns(BaseModel): - type: OutputResponseTypeSns - - 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}`""" +class OutputResponseOutputSumoLogic(BaseModel): + type: OutputResponseTypeSumoLogic - 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}`.""" + url: str + r"""Sumo Logic HTTP collector URL to which events should be sent""" id: Optional[str] = None r"""Unique ID for this output""" @@ -19999,68 +20691,102 @@ class OutputResponseOutputSns(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" - 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.""" + 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.""" - aws_authentication_method: Annotated[ - Optional[AuthenticationMethodOptionsS3CollectorConf], - pydantic.Field(alias="awsAuthenticationMethod"), + custom_category: Annotated[ + Optional[str], pydantic.Field(alias="customCategory") ] = None - r"""AWS authentication method. Choose Auto to use IAM roles.""" + 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_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( - None - ) + format_: Annotated[ + Optional[OutputResponseDataFormatSumoLogic], pydantic.Field(alias="format") + ] = None + r"""Preserve the raw event format instead of JSONifying it""" - region: Optional[str] = None - r"""Region where the SNS is located""" + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" - 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.""" + 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 SNS""" + 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.""" + + 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""" - 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") @@ -20109,10 +20835,10 @@ class OutputResponseOutputSns(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputResponsePqControlsSumoLogic], pydantic.Field(alias="pqControls") ] = None template_streamtags: Annotated[ @@ -20120,62 +20846,41 @@ 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") - ] = 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_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_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") - ] = 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("format_") + def serialize_format_(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsS3CollectorConf(value) + 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 @@ -20225,21 +20930,26 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "maxRetries", - "awsAuthenticationMethod", - "awsSecretKey", - "region", - "endpoint", - "reuseConnections", + "customSource", + "customCategory", + "format", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", "rejectUnauthorized", - "enableAssumeRole", - "assumeRoleArn", - "assumeRoleExternalId", - "durationSeconds", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "useRoundRobinDns", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", "onBackpressure", + "totalMemoryLimitKB", "description", - "awsApiKey", - "awsSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -20253,15 +20963,9 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", - "__template_topicArn", - "__template_messageGroupId", - "__template_awsSecretKey", - "__template_region", - "__template_endpoint", - "__template_assumeRoleArn", - "__template_assumeRoleExternalId", + "__template_url", + "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_awsApiKey", "notifications", "status", ] @@ -20280,37 +20984,41 @@ def serialize_model(self, handler): return m -class OutputResponseTypeRouter(str, Enum): - ROUTER = "router" +class OutputResponseTypeSnmp(str, Enum): + SNMP = "snmp" -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 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 OutputResponseRule(BaseModel): - filter_: Annotated[str, pydantic.Field(alias="filter")] - r"""JavaScript expression to select events to send to output""" +class OutputResponseHostSnmp(BaseModel): + host: str + r"""Destination host""" - output: str - r"""Output to send matching events to""" + port: float + r"""Destination port, default is 162""" - description: Optional[str] = None - r"""Description of this rule's purpose""" + 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.""" - final: Optional[bool] = None - r"""Flag to control whether to stop the event from being checked against other rules""" + 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(["description", "final"]) + optional_fields = set(["__template_host", "__template_port"]) serialized = handler(self) m = {} @@ -20325,10 +21033,10 @@ def serialize_model(self, handler): return m -class OutputResponseOutputRouterTypedDict(TypedDict): - type: OutputResponseTypeRouter - rules: List[OutputResponseRuleTypedDict] - r"""Event routing rules""" +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] @@ -20338,8 +21046,15 @@ class OutputResponseOutputRouterTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" + 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]] @@ -20348,11 +21063,11 @@ class OutputResponseOutputRouterTypedDict(TypedDict): r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputRouter(BaseModel): - type: OutputResponseTypeRouter +class OutputResponseOutputSnmp(BaseModel): + type: OutputResponseTypeSnmp - rules: List[OutputResponseRule] - r"""Event routing rules""" + hosts: List[OutputResponseHostSnmp] + r"""One or more SNMP destinations to forward traps to""" id: Optional[str] = None r"""Unique ID for this output""" @@ -20369,9 +21084,25 @@ class OutputResponseOutputRouter(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" + + 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 + r"""Optional description for this configuration.""" + + 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") @@ -20393,7 +21124,10 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", + "dnsResolvePeriodSec", + "enableIpSpoofing", "description", + "maxRecordSize", "__template_streamtags", "notifications", "status", @@ -20413,26 +21147,33 @@ def serialize_model(self, handler): return m -class OutputResponseTypeGraphite(str, Enum): - GRAPHITE = "graphite" +class OutputResponseTypeSqs(str, Enum): + SQS = "sqs" -class OutputResponsePqControlsGraphiteTypedDict(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 OutputResponsePqControlsGraphite(BaseModel): +class OutputResponsePqControlsSqs(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 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] @@ -20442,22 +21183,47 @@ class OutputResponseOutputGraphiteTypedDict(TypedDict): 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}""" - 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.""" + r"""Metadata tags used for categorization and filtering.""" + 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""" + 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.""" 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""" + 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""" 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] @@ -20479,29 +21245,46 @@ class OutputResponseOutputGraphiteTypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[OutputResponsePqControlsGraphiteTypedDict] + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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_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 OutputResponseOutputSqs(BaseModel): + type: OutputResponseTypeSqs - host: str - r"""The hostname of the destination.""" + 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}`.""" - port: float - r"""Destination port.""" + 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""" @@ -20512,49 +21295,106 @@ class OutputResponseOutputGraphite(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.""" - - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + 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"""Metadata tags used for categorization and filtering.""" + + 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], + 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 + ) + + 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.""" + + 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.""" + + 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""" - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + enable_assume_role: Annotated[ + Optional[bool], pydantic.Field(alias="enableAssumeRole") + ] = None + r"""Use Assume Role credentials to access SQS""" - 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.""" + assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( + None + ) + r"""Amazon Resource Name (ARN) of the role to assume""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="assumeRoleExternalId") ] = None - r"""When protocol is TCP, specifies how often buffers should be flushed, resulting in records sent to the destination.""" + r"""External ID to use when assuming role""" - dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") + duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="durationSeconds") ] = 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.""" + 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).""" - description: Optional[str] = None + max_queue_size: Annotated[Optional[float], pydantic.Field(alias="maxQueueSize")] = ( + None + ) + r"""Maximum number of queued batches before blocking.""" - throttle_rate_per_sec: Annotated[ - Optional[str], pydantic.Field(alias="throttleRatePerSec") + max_record_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxRecordSizeKB") ] = 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 size (KB) of batches to send. Per the SQS spec, the max allowed value is 256 KB.""" - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - 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_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 + + 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 @@ -20602,10 +21442,10 @@ class OutputResponseOutputGraphite(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputResponsePqControlsSqs], pydantic.Field(alias="pqControls") ] = None template_streamtags: Annotated[ @@ -20613,22 +21453,81 @@ 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_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_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") + ] = 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("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.DestinationProtocolOptions(value) + return models.AuthenticationMethodOptionsS3CollectorConf(value) except ValueError: return value return value @@ -20678,14 +21577,27 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "mtu", + "awsAccountId", + "messageGroupId", + "createQueue", + "awsAuthenticationMethod", + "awsSecretKey", + "region", + "endpoint", + "reuseConnections", + "rejectUnauthorized", + "enableAssumeRole", + "assumeRoleArn", + "assumeRoleExternalId", + "durationSeconds", + "maxQueueSize", + "maxRecordSizeKB", "flushPeriodSec", - "dnsResolvePeriodSec", - "description", - "throttleRatePerSec", - "connectionTimeout", - "writeTimeout", + "maxInProgress", "onBackpressure", + "description", + "awsApiKey", + "awsSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -20699,7 +21611,17 @@ def serialize_model(self, handler): "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", ] @@ -20718,26 +21640,24 @@ def serialize_model(self, handler): return m -class OutputResponseTypeStatsdExt(str, Enum): - STATSD_EXT = "statsd_ext" +class OutputResponseTypeSns(str, Enum): + SNS = "sns" -class OutputResponsePqControlsStatsdExtTypedDict(TypedDict): +class OutputResponsePqControlsSnsTypedDict(TypedDict): pass -class OutputResponsePqControlsStatsdExt(BaseModel): +class OutputResponsePqControlsSns(BaseModel): pass -class OutputResponseOutputStatsdExtTypedDict(TypedDict): - type: OutputResponseTypeStatsdExt - 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] @@ -20747,22 +21667,35 @@ class OutputResponseOutputStatsdExtTypedDict(TypedDict): 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}""" - 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""" + r"""Metadata tags used for categorization and filtering.""" + 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] @@ -20784,29 +21717,42 @@ class OutputResponseOutputStatsdExtTypedDict(TypedDict): 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 1MB.""" - pq_controls: NotRequired[OutputResponsePqControlsStatsdExtTypedDict] + r"""The maximum size to hold in memory before writing events 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] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable 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 OutputResponseOutputStatsdExt(BaseModel): - type: OutputResponseTypeStatsdExt - - 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""" @@ -20823,43 +21769,70 @@ class OutputResponseOutputStatsdExt(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" - 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"""Reuse connections between requests, which can improve performance""" + + 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 @@ -20907,10 +21880,10 @@ class OutputResponseOutputStatsdExt(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputResponsePqControlsSns], pydantic.Field(alias="pqControls") ] = None template_streamtags: Annotated[ @@ -20918,22 +21891,62 @@ class OutputResponseOutputStatsdExt(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 @@ -20983,14 +21996,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", @@ -21004,7 +22024,150 @@ 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", + ] + ) + 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"""Metadata tags used for categorization and filtering.""" + 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"""Metadata tags used for categorization and filtering.""" + + 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", ] @@ -21023,10 +22186,22 @@ def serialize_model(self, handler): return m -class OutputResponseTypeStatsd(str, Enum): - STATSD = "statsd" +class OutputResponseTypeGraphite(str, Enum): + GRAPHITE = "graphite" + + +class OutputResponsePqControlsGraphiteTypedDict(TypedDict): + pass + + +class OutputResponsePqControlsGraphite(BaseModel): + pass +try: + OutputResponseOutputIbmCloudS3.model_rebuild() +except NameError: + pass try: OutputResponseOutputAlibabaCloudS3.model_rebuild() except NameError: @@ -21108,7 +22283,7 @@ class OutputResponseTypeStatsd(str, Enum): except NameError: pass try: - OutputResponseColumnMappingLocalSearchStorage.model_rebuild() + OutputResponseColumnMapping.model_rebuild() except NameError: pass try: @@ -21116,7 +22291,7 @@ class OutputResponseTypeStatsd(str, Enum): except NameError: pass try: - OutputResponseColumnMappingClickHouse.model_rebuild() + OutputResponseOutputCustomerMetricsStorage.model_rebuild() except NameError: pass try: @@ -21179,6 +22354,10 @@ class OutputResponseTypeStatsd(str, Enum): OutputResponseOutputPrometheus.model_rebuild() except NameError: pass +try: + OutputResponseOutputAmazonManagedPrometheus.model_rebuild() +except NameError: + pass try: OutputResponseOutputLoki.model_rebuild() except NameError: @@ -21223,11 +22402,3 @@ class OutputResponseTypeStatsd(str, Enum): OutputResponseOutputRouter.model_rebuild() except NameError: pass -try: - 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..7159c454d 100644 --- a/src/cribl_control_plane/models/outputring.py +++ b/src/cribl_control_plane/models/outputring.py @@ -36,7 +36,7 @@ class OutputRingTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" format_: NotRequired[OutputRingDataFormat] r"""Format of the output data.""" partition_expr: NotRequired[str] @@ -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] @@ -75,7 +76,7 @@ class OutputRing(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" format_: Annotated[ Optional[OutputRingDataFormat], pydantic.Field(alias="format") @@ -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..fb2e10cfa 100644 --- a/src/cribl_control_plane/models/outputrouter.py +++ b/src/cribl_control_plane/models/outputrouter.py @@ -67,8 +67,9 @@ class OutputRouterTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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.""" @@ -94,9 +95,10 @@ class OutputRouter(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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..8787d471b 100644 --- a/src/cribl_control_plane/models/outputs3.py +++ b/src/cribl_control_plane/models/outputs3.py @@ -53,7 +53,7 @@ class OutputS3TypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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] @@ -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] @@ -229,7 +230,7 @@ class OutputS3(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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.""" @@ -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..15584f9c7 100644 --- a/src/cribl_control_plane/models/outputscalitys3.py +++ b/src/cribl_control_plane/models/outputscalitys3.py @@ -48,7 +48,7 @@ class OutputScalityS3TypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: NotRequired[AuthenticationMethodOptionsSecret] r"""Authentication method.""" reuse_connections: NotRequired[bool] @@ -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] @@ -189,7 +190,7 @@ class OutputScalityS3(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: Annotated[ Optional[AuthenticationMethodOptionsSecret], @@ -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..471082eab 100644 --- a/src/cribl_control_plane/models/outputsecuritylake.py +++ b/src/cribl_control_plane/models/outputsecuritylake.py @@ -58,7 +58,7 @@ class OutputSecurityLakeTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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] @@ -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] @@ -223,7 +224,7 @@ class OutputSecurityLake(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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.""" @@ -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 942ec5399..6240abfbb 100644 --- a/src/cribl_control_plane/models/outputsentinel.py +++ b/src/cribl_control_plane/models/outputsentinel.py @@ -10,6 +10,10 @@ from .failedrequestloggingmodeoptions import FailedRequestLoggingModeOptions from .modeoptions import ModeOptions from .queuefullbehavioroptions import QueueFullBehaviorOptions +from .refreshrequestparamconfhealthcheckauthenticationoauthsecret import ( + RefreshRequestParamConfHealthCheckAuthenticationOauthSecret, + RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict, +) from .responseretrysettingconfoutputwebhook import ( ResponseRetrySettingConfOutputWebhook, ResponseRetrySettingConfOutputWebhookTypedDict, @@ -78,7 +82,7 @@ class OutputSentinelTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" keep_alive: NotRequired[bool] r"""Disable to close the connection immediately after sending the outgoing request""" concurrency: NotRequired[float] @@ -116,11 +120,22 @@ class OutputSentinelTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" auth_type: NotRequired[OutputSentinelAuthType] + refresh_token_field: NotRequired[str] + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, @{product} will use the refresh token to obtain new access tokens without re-sending credentials.""" + rotate_refresh_token: NotRequired[bool] + r"""@{product} will update the stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + refresh_url: NotRequired[str] + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + refresh_request_params: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict] + ] + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, @{product} sends only grant_type, refresh_token, and client_secret.""" 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] + 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.""" @@ -159,7 +174,7 @@ class OutputSentinelTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputSentinelPqControlsTypedDict] url: NotRequired[str] r"""URL to send events to. Can be overwritten by an event's __url field.""" @@ -179,6 +194,8 @@ class OutputSentinelTypedDict(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_refresh_url: NotRequired[str] + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' 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] @@ -226,7 +243,7 @@ class OutputSentinel(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None r"""Disable to close the connection immediately after sending the outgoing request""" @@ -309,6 +326,25 @@ class OutputSentinel(BaseModel): Optional[OutputSentinelAuthType], pydantic.Field(alias="authType") ] = None + refresh_token_field: Annotated[ + Optional[str], pydantic.Field(alias="refreshTokenField") + ] = None + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, @{product} will use the refresh token to obtain new access tokens without re-sending credentials.""" + + rotate_refresh_token: Annotated[ + Optional[bool], pydantic.Field(alias="rotateRefreshToken") + ] = None + r"""@{product} will update the stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + + refresh_url: Annotated[Optional[str], pydantic.Field(alias="refreshUrl")] = None + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + + refresh_request_params: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecret]], + pydantic.Field(alias="refreshRequestParams"), + ] = None + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, @{product} sends only grant_type, refresh_token, and client_secret.""" + scope: Optional[str] = None r"""Scope to pass in the OAuth request""" @@ -318,6 +354,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") @@ -410,7 +447,7 @@ class OutputSentinel(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputSentinelPqControls], pydantic.Field(alias="pqControls") @@ -453,6 +490,11 @@ class OutputSentinel(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_refresh_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_refreshUrl") + ] = None + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + template_client_id: Annotated[ Optional[str], pydantic.Field(alias="__template_client_id") ] = None @@ -581,6 +623,10 @@ def serialize_model(self, handler): "responseHonorRetryAfterHeader", "onBackpressure", "authType", + "refreshTokenField", + "rotateRefreshToken", + "refreshUrl", + "refreshRequestParams", "scope", "totalMemoryLimitKB", "description", @@ -614,6 +660,7 @@ def serialize_model(self, handler): "__template_onBackpressure", "__template_loginUrl", "__template_secret", + "__template_refreshUrl", "__template_client_id", "__template_scope", "__template_url", diff --git a/src/cribl_control_plane/models/outputsentineloneaisiem.py b/src/cribl_control_plane/models/outputsentineloneaisiem.py index c4afeb41a..6abe26b46 100644 --- a/src/cribl_control_plane/models/outputsentineloneaisiem.py +++ b/src/cribl_control_plane/models/outputsentineloneaisiem.py @@ -78,7 +78,7 @@ class OutputSentinelOneAiSiemTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] @@ -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] @@ -169,7 +170,7 @@ class OutputSentinelOneAiSiemTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputSentinelOneAiSiemPqControlsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -203,7 +204,7 @@ class OutputSentinelOneAiSiem(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -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""" @@ -400,7 +402,7 @@ class OutputSentinelOneAiSiem(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputSentinelOneAiSiemPqControls], pydantic.Field(alias="pqControls") @@ -421,38 +423,38 @@ class OutputSentinelOneAiSiem(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): + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): try: - return models.OutputSentinelOneAiSiemRegion(value) + return models.FailedRequestLoggingModeOptions(value) except ValueError: return value return value - @field_serializer("endpoint") - def serialize_endpoint(self, value): + @field_serializer("auth_type") + def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.OutputSentinelOneAISIEMAISIEMEndpointPath(value) + return models.AuthenticationMethodOptionsAuthTokensItems(value) except ValueError: return value return value - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("region") + def serialize_region(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.OutputSentinelOneAiSiemRegion(value) except ValueError: return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): + @field_serializer("endpoint") + def serialize_endpoint(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsAuthTokensItems(value) + return models.OutputSentinelOneAISIEMAISIEMEndpointPath(value) except ValueError: return value return value diff --git a/src/cribl_control_plane/models/outputservicenow.py b/src/cribl_control_plane/models/outputservicenow.py index b462315b6..5437f82e1 100644 --- a/src/cribl_control_plane/models/outputservicenow.py +++ b/src/cribl_control_plane/models/outputservicenow.py @@ -70,7 +70,7 @@ class OutputServiceNowTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" auth_token_name: NotRequired[str] max_payload_size_kb: NotRequired[float] r"""Maximum size, in KB, of the request body""" @@ -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), @@ -147,7 +148,7 @@ class OutputServiceNowTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputServiceNowPqControlsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -187,7 +188,7 @@ class OutputServiceNow(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" auth_token_name: Annotated[Optional[str], pydantic.Field(alias="authTokenName")] = ( None @@ -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") @@ -359,7 +361,7 @@ class OutputServiceNow(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputServiceNowPqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputsignalfx.py b/src/cribl_control_plane/models/outputsignalfx.py index 7a1a315b7..8849c121e 100644 --- a/src/cribl_control_plane/models/outputsignalfx.py +++ b/src/cribl_control_plane/models/outputsignalfx.py @@ -55,7 +55,7 @@ class OutputSignalfxTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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] @@ -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] @@ -118,7 +119,7 @@ class OutputSignalfxTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputSignalfxPqControlsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -149,7 +150,7 @@ class OutputSignalfx(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" auth_type: Annotated[ Optional[AuthenticationMethodOptionsAuthTokensItems], @@ -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))""" @@ -286,7 +288,7 @@ class OutputSignalfx(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputSignalfxPqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputsnmp.py b/src/cribl_control_plane/models/outputsnmp.py index 433f389ce..f698d68c3 100644 --- a/src/cribl_control_plane/models/outputsnmp.py +++ b/src/cribl_control_plane/models/outputsnmp.py @@ -71,10 +71,15 @@ class OutputSnmpTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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.""" @@ -100,14 +105,25 @@ class OutputSnmp(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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 + r"""Optional description for this configuration.""" + + 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") @@ -124,7 +140,9 @@ def serialize_model(self, handler): "environment", "streamtags", "dnsResolvePeriodSec", + "enableIpSpoofing", "description", + "maxRecordSize", "__template_streamtags", ] ) diff --git a/src/cribl_control_plane/models/outputsns.py b/src/cribl_control_plane/models/outputsns.py index fdfde4d44..74ce7d6c9 100644 --- a/src/cribl_control_plane/models/outputsns.py +++ b/src/cribl_control_plane/models/outputsns.py @@ -44,7 +44,7 @@ class OutputSnsTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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] @@ -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""" @@ -93,7 +94,7 @@ class OutputSnsTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputSnsPqControlsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -141,7 +142,7 @@ class OutputSns(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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.""" @@ -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 @@ -251,7 +253,7 @@ class OutputSns(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputSnsPqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputsplunk.py b/src/cribl_control_plane/models/outputsplunk.py index 987f8ad7b..861854b81 100644 --- a/src/cribl_control_plane/models/outputsplunk.py +++ b/src/cribl_control_plane/models/outputsplunk.py @@ -51,7 +51,7 @@ class OutputSplunkTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" nested_fields: NotRequired[NestedFieldSerializationOptions] r"""How to serialize nested fields into index-time fields""" throttle_rate_per_sec: NotRequired[str] @@ -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] @@ -99,7 +100,7 @@ class OutputSplunkTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputSplunkPqControlsTypedDict] auth_token: NotRequired[str] r"""Shared secret token to use when establishing a connection to a Splunk indexer.""" @@ -145,7 +146,7 @@ class OutputSplunk(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" nested_fields: Annotated[ Optional[NestedFieldSerializationOptions], pydantic.Field(alias="nestedFields") @@ -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") @@ -255,7 +257,7 @@ class OutputSplunk(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputSplunkPqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputsplunkhec.py b/src/cribl_control_plane/models/outputsplunkhec.py index 35cccba54..ca28c0d20 100644 --- a/src/cribl_control_plane/models/outputsplunkhec.py +++ b/src/cribl_control_plane/models/outputsplunkhec.py @@ -95,13 +95,9 @@ class OutputSplunkHecTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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""" @@ -137,9 +133,14 @@ class OutputSplunkHecTypedDict(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.""" + 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.""" 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] @@ -176,7 +177,7 @@ class OutputSplunkHecTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputSplunkHecPqControlsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -206,19 +207,13 @@ class OutputSplunkHec(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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.""" - - 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 @@ -296,12 +291,19 @@ class OutputSplunkHec(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.""" + 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.""" + 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.""" url: Optional[str] = None r"""URL to a Splunk HEC endpoint to send events to, e.g., http://localhost:8088/services/collector/event""" @@ -379,7 +381,7 @@ class OutputSplunkHec(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputSplunkHecPqControls], pydantic.Field(alias="pqControls") @@ -469,8 +471,6 @@ def serialize_model(self, handler): "environment", "streamtags", "loadBalanced", - "nextQueue", - "tcpRouting", "tls", "concurrency", "maxPayloadSizeKB", @@ -487,6 +487,8 @@ def serialize_model(self, handler): "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", + "nextQueue", + "tcpRouting", "onBackpressure", "description", "url", diff --git a/src/cribl_control_plane/models/outputsplunklb.py b/src/cribl_control_plane/models/outputsplunklb.py index d87d9c059..75ee44070 100644 --- a/src/cribl_control_plane/models/outputsplunklb.py +++ b/src/cribl_control_plane/models/outputsplunklb.py @@ -181,7 +181,7 @@ class OutputSplunkLbTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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] @@ -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] @@ -245,7 +246,7 @@ class OutputSplunkLbTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputSplunkLbPqControlsTypedDict] auth_token: NotRequired[str] r"""Shared secret token to use when establishing a connection to a Splunk indexer.""" @@ -284,7 +285,7 @@ class OutputSplunkLb(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" dns_resolve_period_sec: Annotated[ Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") @@ -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") @@ -428,7 +430,7 @@ class OutputSplunkLb(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputSplunkLbPqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputsqs.py b/src/cribl_control_plane/models/outputsqs.py index 5d73e9a49..eef38b600 100644 --- a/src/cribl_control_plane/models/outputsqs.py +++ b/src/cribl_control_plane/models/outputsqs.py @@ -53,7 +53,7 @@ class OutputSqsTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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] @@ -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""" @@ -114,7 +115,7 @@ class OutputSqsTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputSqsPqControlsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -166,7 +167,7 @@ class OutputSqs(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_account_id: Annotated[Optional[str], pydantic.Field(alias="awsAccountId")] = ( None @@ -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 @@ -306,7 +308,7 @@ class OutputSqs(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputSqsPqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputstatsd.py b/src/cribl_control_plane/models/outputstatsd.py index eb2172285..b7365b347 100644 --- a/src/cribl_control_plane/models/outputstatsd.py +++ b/src/cribl_control_plane/models/outputstatsd.py @@ -44,7 +44,7 @@ class OutputStatsdTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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] @@ -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] @@ -81,7 +82,7 @@ class OutputStatsdTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputStatsdPqControlsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -116,7 +117,7 @@ class OutputStatsd(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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.""" @@ -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") @@ -200,7 +202,7 @@ class OutputStatsd(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputStatsdPqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputstatsdext.py b/src/cribl_control_plane/models/outputstatsdext.py index c5f996ef6..22912c394 100644 --- a/src/cribl_control_plane/models/outputstatsdext.py +++ b/src/cribl_control_plane/models/outputstatsdext.py @@ -44,7 +44,7 @@ class OutputStatsdExtTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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] @@ -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] @@ -81,7 +82,7 @@ class OutputStatsdExtTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputStatsdExtPqControlsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -116,7 +117,7 @@ class OutputStatsdExt(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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.""" @@ -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") @@ -200,7 +202,7 @@ class OutputStatsdExt(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputStatsdExtPqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputstorjs3.py b/src/cribl_control_plane/models/outputstorjs3.py index 5f8c9ec98..bbd6501c6 100644 --- a/src/cribl_control_plane/models/outputstorjs3.py +++ b/src/cribl_control_plane/models/outputstorjs3.py @@ -48,7 +48,7 @@ class OutputStorjS3TypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: NotRequired[AuthenticationMethodOptionsSecret] r"""Authentication method.""" reuse_connections: NotRequired[bool] @@ -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] @@ -185,7 +186,7 @@ class OutputStorjS3(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" aws_authentication_method: Annotated[ Optional[AuthenticationMethodOptionsSecret], @@ -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 28de0dcb3..8920f7431 100644 --- a/src/cribl_control_plane/models/outputsumologic.py +++ b/src/cribl_control_plane/models/outputsumologic.py @@ -61,7 +61,7 @@ class OutputSumoLogicTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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] @@ -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] @@ -126,7 +127,7 @@ class OutputSumoLogicTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputSumoLogicPqControlsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -159,7 +160,7 @@ class OutputSumoLogic(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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.""" @@ -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") @@ -302,7 +304,7 @@ class OutputSumoLogic(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputSumoLogicPqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputsyslog.py b/src/cribl_control_plane/models/outputsyslog.py index 3f8ac1bd5..a3e5eb268 100644 --- a/src/cribl_control_plane/models/outputsyslog.py +++ b/src/cribl_control_plane/models/outputsyslog.py @@ -139,7 +139,7 @@ class OutputSyslogTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" protocol: NotRequired[OutputSyslogProtocol] r"""The network protocol to use for sending out syslog messages""" facility: NotRequired[OutputSyslogFacility] @@ -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] @@ -209,7 +210,7 @@ class OutputSyslogTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputSyslogPqControlsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -239,7 +240,7 @@ class OutputSyslog(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" protocol: Optional[OutputSyslogProtocol] = None r"""The network protocol to use for sending out syslog messages""" @@ -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 @@ -391,7 +393,7 @@ class OutputSyslog(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputSyslogPqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputtcpjson.py b/src/cribl_control_plane/models/outputtcpjson.py index ffbe846f9..f2f4ca40d 100644 --- a/src/cribl_control_plane/models/outputtcpjson.py +++ b/src/cribl_control_plane/models/outputtcpjson.py @@ -46,7 +46,7 @@ class OutputTcpjsonTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" load_balanced: NotRequired[bool] r"""Use load-balanced destinations""" compression: NotRequired[CompressionOptionsGzipNone] @@ -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] @@ -104,7 +105,7 @@ class OutputTcpjsonTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputTcpjsonPqControlsTypedDict] auth_token: NotRequired[str] r"""Optional authentication token to include as part of the connection header""" @@ -138,7 +139,7 @@ class OutputTcpjson(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( None @@ -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""" @@ -265,7 +267,7 @@ class OutputTcpjson(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputTcpjsonPqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputwavefront.py b/src/cribl_control_plane/models/outputwavefront.py index 3085af07c..542b50090 100644 --- a/src/cribl_control_plane/models/outputwavefront.py +++ b/src/cribl_control_plane/models/outputwavefront.py @@ -55,7 +55,7 @@ class OutputWavefrontTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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] @@ -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] @@ -118,7 +119,7 @@ class OutputWavefrontTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputWavefrontPqControlsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -149,7 +150,7 @@ class OutputWavefront(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" auth_type: Annotated[ Optional[AuthenticationMethodOptionsAuthTokensItems], @@ -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))""" @@ -286,7 +288,7 @@ class OutputWavefront(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputWavefrontPqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/outputwebhook_union.py b/src/cribl_control_plane/models/outputwebhook_union.py index 23a12af72..060189137 100644 --- a/src/cribl_control_plane/models/outputwebhook_union.py +++ b/src/cribl_control_plane/models/outputwebhook_union.py @@ -19,6 +19,10 @@ OauthParamConfInputServicenowTableTypedDict, ) from .queuefullbehavioroptions import QueueFullBehaviorOptions +from .refreshrequestparamconfhealthcheckauthenticationoauthsecret import ( + RefreshRequestParamConfHealthCheckAuthenticationOauthSecret, + RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict, +) from .responseretrysettingconfoutputwebhook import ( ResponseRetrySettingConfOutputWebhook, ResponseRetrySettingConfOutputWebhookTypedDict, @@ -132,7 +136,7 @@ class OutputWebhookWebhook2TypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" method: NotRequired[MethodOptions] r"""The method to use when sending events""" format_: NotRequired[OutputWebhookFormat2] @@ -181,6 +185,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] @@ -218,7 +223,7 @@ class OutputWebhookWebhook2TypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputWebhookPqControls2TypedDict] username: NotRequired[str] password: NotRequired[str] @@ -244,6 +249,16 @@ class OutputWebhookWebhook2TypedDict(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.""" + refresh_token_field: NotRequired[str] + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, @{product} will use the refresh token to obtain new access tokens without re-sending credentials.""" + rotate_refresh_token: NotRequired[bool] + r"""@{product} will update the stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + refresh_url: NotRequired[str] + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + refresh_request_params: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict] + ] + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, @{product} sends only grant_type, refresh_token, and client_secret.""" url: NotRequired[str] r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" exclude_self: NotRequired[bool] @@ -262,6 +277,8 @@ class OutputWebhookWebhook2TypedDict(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_refresh_url: NotRequired[str] + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' 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.""" @@ -286,7 +303,7 @@ class OutputWebhookWebhook2(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" method: Optional[MethodOptions] = None r"""The method to use when sending events""" @@ -391,6 +408,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") @@ -479,7 +497,7 @@ class OutputWebhookWebhook2(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputWebhookPqControls2], pydantic.Field(alias="pqControls") @@ -538,6 +556,25 @@ class OutputWebhookWebhook2(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.""" + refresh_token_field: Annotated[ + Optional[str], pydantic.Field(alias="refreshTokenField") + ] = None + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, @{product} will use the refresh token to obtain new access tokens without re-sending credentials.""" + + rotate_refresh_token: Annotated[ + Optional[bool], pydantic.Field(alias="rotateRefreshToken") + ] = None + r"""@{product} will update the stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + + refresh_url: Annotated[Optional[str], pydantic.Field(alias="refreshUrl")] = None + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + + refresh_request_params: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecret]], + pydantic.Field(alias="refreshRequestParams"), + ] = None + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, @{product} sends only grant_type, refresh_token, and client_secret.""" + url: Optional[str] = None r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" @@ -579,6 +616,11 @@ class OutputWebhookWebhook2(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_refresh_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_refreshUrl") + ] = None + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( None ) @@ -721,6 +763,10 @@ def serialize_model(self, handler): "tokenTimeoutSecs", "oauthParams", "oauthHeaders", + "refreshTokenField", + "rotateRefreshToken", + "refreshUrl", + "refreshRequestParams", "url", "excludeSelf", "dnsResolvePeriodSec", @@ -730,6 +776,7 @@ def serialize_model(self, handler): "__template_onBackpressure", "__template_loginUrl", "__template_secret", + "__template_refreshUrl", "__template_url", ] ) @@ -840,7 +887,7 @@ class OutputWebhookWebhook1TypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" method: NotRequired[MethodOptions] r"""The method to use when sending events""" format_: NotRequired[OutputWebhookFormat1] @@ -889,6 +936,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] @@ -926,7 +974,7 @@ class OutputWebhookWebhook1TypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputWebhookPqControls1TypedDict] username: NotRequired[str] password: NotRequired[str] @@ -952,6 +1000,16 @@ class OutputWebhookWebhook1TypedDict(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.""" + refresh_token_field: NotRequired[str] + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, @{product} will use the refresh token to obtain new access tokens without re-sending credentials.""" + rotate_refresh_token: NotRequired[bool] + r"""@{product} will update the stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + refresh_url: NotRequired[str] + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + refresh_request_params: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict] + ] + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, @{product} sends only grant_type, refresh_token, and client_secret.""" exclude_self: NotRequired[bool] r"""Exclude all IPs of the current host from the list of any resolved hostnames""" urls: NotRequired[List[OutputWebhookURL1TypedDict]] @@ -969,6 +1027,8 @@ class OutputWebhookWebhook1TypedDict(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_refresh_url: NotRequired[str] + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' 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.""" @@ -994,7 +1054,7 @@ class OutputWebhookWebhook1(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" method: Optional[MethodOptions] = None r"""The method to use when sending events""" @@ -1099,6 +1159,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") @@ -1187,7 +1248,7 @@ class OutputWebhookWebhook1(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputWebhookPqControls1], pydantic.Field(alias="pqControls") @@ -1246,6 +1307,25 @@ class OutputWebhookWebhook1(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.""" + refresh_token_field: Annotated[ + Optional[str], pydantic.Field(alias="refreshTokenField") + ] = None + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, @{product} will use the refresh token to obtain new access tokens without re-sending credentials.""" + + rotate_refresh_token: Annotated[ + Optional[bool], pydantic.Field(alias="rotateRefreshToken") + ] = None + r"""@{product} will update the stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + + refresh_url: Annotated[Optional[str], pydantic.Field(alias="refreshUrl")] = None + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + + refresh_request_params: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauthSecret]], + pydantic.Field(alias="refreshRequestParams"), + ] = None + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, @{product} sends only grant_type, refresh_token, and client_secret.""" + 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""" @@ -1286,6 +1366,11 @@ class OutputWebhookWebhook1(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_refresh_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_refreshUrl") + ] = None + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( None ) @@ -1428,6 +1513,10 @@ def serialize_model(self, handler): "tokenTimeoutSecs", "oauthParams", "oauthHeaders", + "refreshTokenField", + "rotateRefreshToken", + "refreshUrl", + "refreshRequestParams", "excludeSelf", "urls", "dnsResolvePeriodSec", @@ -1437,6 +1526,7 @@ def serialize_model(self, handler): "__template_onBackpressure", "__template_loginUrl", "__template_secret", + "__template_refreshUrl", "__template_url", ] ) diff --git a/src/cribl_control_plane/models/outputwizhec.py b/src/cribl_control_plane/models/outputwizhec.py index 2f5f44512..6bef782fc 100644 --- a/src/cribl_control_plane/models/outputwizhec.py +++ b/src/cribl_control_plane/models/outputwizhec.py @@ -64,11 +64,7 @@ class OutputWizHecTypedDict(TypedDict): 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}""" - 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.""" + r"""Metadata tags used for categorization and filtering.""" tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathExtendedTypedDict] concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" @@ -105,6 +101,11 @@ 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.""" + token: NotRequired[str] + r"""Wiz Defend Auth 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] @@ -126,24 +127,20 @@ class OutputWizHecTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputWizHecPqControlsTypedDict] - 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_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_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 OutputWizHec(BaseModel): @@ -175,13 +172,7 @@ class OutputWizHec(BaseModel): 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}""" - - 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.""" + r"""Metadata tags used for categorization and filtering.""" tls: Optional[TLSSettingsClientSideTypeCaPathCertPathExtended] = None @@ -261,6 +252,13 @@ class OutputWizHec(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"""Wiz Defend Auth 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") @@ -309,18 +307,12 @@ class OutputWizHec(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputWizHecPqControls], 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 @@ -331,11 +323,6 @@ class OutputWizHec(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.""" - template_wiz_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_wiz_environment") ] = None @@ -351,6 +338,11 @@ class OutputWizHec(BaseModel): ] = 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_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): if isinstance(value, str): @@ -414,8 +406,6 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "nextQueue", - "tcpRouting", "tls", "concurrency", "maxPayloadSizeKB", @@ -433,6 +423,8 @@ def serialize_model(self, handler): "responseHonorRetryAfterHeader", "onBackpressure", "description", + "token", + "textSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -445,14 +437,12 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", - "token", - "textSecret", "__template_streamtags", "__template_failedRequestLoggingMode", - "__template_onBackpressure", "__template_wiz_environment", "__template_data_center", "__template_wiz_sourcetype", + "__template_onBackpressure", ] ) serialized = handler(self) diff --git a/src/cribl_control_plane/models/outputxsiam.py b/src/cribl_control_plane/models/outputxsiam.py index c8e97aae5..12d08ee15 100644 --- a/src/cribl_control_plane/models/outputxsiam.py +++ b/src/cribl_control_plane/models/outputxsiam.py @@ -83,7 +83,7 @@ class OutputXsiamTypedDict(TypedDict): 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}""" + r"""Metadata tags used for categorization and filtering.""" 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] @@ -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] @@ -161,7 +162,7 @@ class OutputXsiamTypedDict(TypedDict): 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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputXsiamPqControlsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -191,7 +192,7 @@ class OutputXsiam(BaseModel): 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}""" + r"""Metadata tags used for categorization and filtering.""" load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( None @@ -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""" @@ -360,7 +362,7 @@ class OutputXsiam(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 1MB.""" + r"""The maximum size to hold in memory before writing events 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[OutputXsiamPqControls], pydantic.Field(alias="pqControls") diff --git a/src/cribl_control_plane/models/ownertypeheartbeatmetadatakube.py b/src/cribl_control_plane/models/ownertypeheartbeatmetadatakube.py index 04386ef3d..deef56e88 100644 --- a/src/cribl_control_plane/models/ownertypeheartbeatmetadatakube.py +++ b/src/cribl_control_plane/models/ownertypeheartbeatmetadatakube.py @@ -7,10 +7,14 @@ class OwnerTypeHeartbeatMetadataKubeTypedDict(TypedDict): kind: str + r"""Kubernetes owner resource kind.""" name: str + r"""Kubernetes owner resource name.""" class OwnerTypeHeartbeatMetadataKube(BaseModel): kind: str + r"""Kubernetes owner resource kind.""" name: str + r"""Kubernetes owner resource name.""" 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/paginatedconfiggroup.py b/src/cribl_control_plane/models/paginatedconfiggroup.py new file mode 100644 index 000000000..47e7233df --- /dev/null +++ b/src/cribl_control_plane/models/paginatedconfiggroup.py @@ -0,0 +1,61 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .configgroup import ConfigGroup, ConfigGroupTypedDict +from cribl_control_plane.types import BaseModel, UNSET_SENTINEL +import pydantic +from pydantic import model_serializer +from typing import List, Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class PaginatedConfigGroupTypedDict(TypedDict): + items: List[ConfigGroupTypedDict] + r"""the pre-limited items in the list of results""" + count: int + r"""number of items present in the items array""" + offset: int + r"""pagination offset""" + limit: int + r"""pagination limit""" + total_count: NotRequired[int] + r"""total number of items available (present when limit is set)""" + + +class PaginatedConfigGroup(BaseModel): + items: List[ConfigGroup] + r"""the pre-limited items in the list of results""" + + count: int + r"""number of items present in the items array""" + + offset: int + r"""pagination offset""" + + limit: int + r"""pagination limit""" + + total_count: Annotated[Optional[int], pydantic.Field(alias="totalCount")] = None + r"""total number of items available (present when limit is set)""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["totalCount"]) + 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: + PaginatedConfigGroup.model_rebuild() +except NameError: + pass diff --git a/src/cribl_control_plane/models/paginatedcribllakedataset.py b/src/cribl_control_plane/models/paginatedcribllakedataset.py new file mode 100644 index 000000000..af163f8d8 --- /dev/null +++ b/src/cribl_control_plane/models/paginatedcribllakedataset.py @@ -0,0 +1,61 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .cribllakedataset import CriblLakeDataset, CriblLakeDatasetTypedDict +from cribl_control_plane.types import BaseModel, UNSET_SENTINEL +import pydantic +from pydantic import model_serializer +from typing import List, Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class PaginatedCriblLakeDatasetTypedDict(TypedDict): + items: List[CriblLakeDatasetTypedDict] + r"""the pre-limited items in the list of results""" + count: int + r"""number of items present in the items array""" + offset: int + r"""pagination offset""" + limit: int + r"""pagination limit""" + total_count: NotRequired[int] + r"""total number of items available (present when limit is set)""" + + +class PaginatedCriblLakeDataset(BaseModel): + items: List[CriblLakeDataset] + r"""the pre-limited items in the list of results""" + + count: int + r"""number of items present in the items array""" + + offset: int + r"""pagination offset""" + + limit: int + r"""pagination limit""" + + total_count: Annotated[Optional[int], pydantic.Field(alias="totalCount")] = None + r"""total number of items available (present when limit is set)""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["totalCount"]) + 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: + PaginatedCriblLakeDataset.model_rebuild() +except NameError: + pass diff --git a/src/cribl_control_plane/models/paginateddistributedsummary.py b/src/cribl_control_plane/models/paginateddistributedsummary.py new file mode 100644 index 000000000..7ef365be5 --- /dev/null +++ b/src/cribl_control_plane/models/paginateddistributedsummary.py @@ -0,0 +1,61 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .distributedsummary import DistributedSummary, DistributedSummaryTypedDict +from cribl_control_plane.types import BaseModel, UNSET_SENTINEL +import pydantic +from pydantic import model_serializer +from typing import List, Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class PaginatedDistributedSummaryTypedDict(TypedDict): + items: List[DistributedSummaryTypedDict] + r"""the pre-limited items in the list of results""" + count: int + r"""number of items present in the items array""" + offset: int + r"""pagination offset""" + limit: int + r"""pagination limit""" + total_count: NotRequired[int] + r"""total number of items available (present when limit is set)""" + + +class PaginatedDistributedSummary(BaseModel): + items: List[DistributedSummary] + r"""the pre-limited items in the list of results""" + + count: int + r"""number of items present in the items array""" + + offset: int + r"""pagination offset""" + + limit: int + r"""pagination limit""" + + total_count: Annotated[Optional[int], pydantic.Field(alias="totalCount")] = None + r"""total number of items available (present when limit is set)""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["totalCount"]) + 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: + PaginatedDistributedSummary.model_rebuild() +except NameError: + pass diff --git a/src/cribl_control_plane/models/paginatedfunctionresponse.py b/src/cribl_control_plane/models/paginatedfunctionresponse.py new file mode 100644 index 000000000..a5e07ca4e --- /dev/null +++ b/src/cribl_control_plane/models/paginatedfunctionresponse.py @@ -0,0 +1,61 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .functionresponse import FunctionResponse, FunctionResponseTypedDict +from cribl_control_plane.types import BaseModel, UNSET_SENTINEL +import pydantic +from pydantic import model_serializer +from typing import List, Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class PaginatedFunctionResponseTypedDict(TypedDict): + items: List[FunctionResponseTypedDict] + r"""the pre-limited items in the list of results""" + count: int + r"""number of items present in the items array""" + offset: int + r"""pagination offset""" + limit: int + r"""pagination limit""" + total_count: NotRequired[int] + r"""total number of items available (present when limit is set)""" + + +class PaginatedFunctionResponse(BaseModel): + items: List[FunctionResponse] + r"""the pre-limited items in the list of results""" + + count: int + r"""number of items present in the items array""" + + offset: int + r"""pagination offset""" + + limit: int + r"""pagination limit""" + + total_count: Annotated[Optional[int], pydantic.Field(alias="totalCount")] = None + r"""total number of items available (present when limit is set)""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["totalCount"]) + 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: + PaginatedFunctionResponse.model_rebuild() +except NameError: + pass diff --git a/src/cribl_control_plane/models/paginatedgitlogresult.py b/src/cribl_control_plane/models/paginatedgitlogresult.py new file mode 100644 index 000000000..3dfffc9a2 --- /dev/null +++ b/src/cribl_control_plane/models/paginatedgitlogresult.py @@ -0,0 +1,61 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .gitlogresult import GitLogResult, GitLogResultTypedDict +from cribl_control_plane.types import BaseModel, UNSET_SENTINEL +import pydantic +from pydantic import model_serializer +from typing import List, Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class PaginatedGitLogResultTypedDict(TypedDict): + items: List[GitLogResultTypedDict] + r"""the pre-limited items in the list of results""" + count: int + r"""number of items present in the items array""" + offset: int + r"""pagination offset""" + limit: int + r"""pagination limit""" + total_count: NotRequired[int] + r"""total number of items available (present when limit is set)""" + + +class PaginatedGitLogResult(BaseModel): + items: List[GitLogResult] + r"""the pre-limited items in the list of results""" + + count: int + r"""number of items present in the items array""" + + offset: int + r"""pagination offset""" + + limit: int + r"""pagination limit""" + + total_count: Annotated[Optional[int], pydantic.Field(alias="totalCount")] = None + r"""total number of items available (present when limit is set)""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["totalCount"]) + 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: + PaginatedGitLogResult.model_rebuild() +except NameError: + pass diff --git a/src/cribl_control_plane/models/paginatedinputresponse.py b/src/cribl_control_plane/models/paginatedinputresponse.py new file mode 100644 index 000000000..7b14aacc1 --- /dev/null +++ b/src/cribl_control_plane/models/paginatedinputresponse.py @@ -0,0 +1,61 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .inputresponse import InputResponse, InputResponseTypedDict +from cribl_control_plane.types import BaseModel, UNSET_SENTINEL +import pydantic +from pydantic import model_serializer +from typing import List, Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class PaginatedInputResponseTypedDict(TypedDict): + items: List[InputResponseTypedDict] + r"""the pre-limited items in the list of results""" + count: int + r"""number of items present in the items array""" + offset: int + r"""pagination offset""" + limit: int + r"""pagination limit""" + total_count: NotRequired[int] + r"""total number of items available (present when limit is set)""" + + +class PaginatedInputResponse(BaseModel): + items: List[InputResponse] + r"""the pre-limited items in the list of results""" + + count: int + r"""number of items present in the items array""" + + offset: int + r"""pagination offset""" + + limit: int + r"""pagination limit""" + + total_count: Annotated[Optional[int], pydantic.Field(alias="totalCount")] = None + r"""total number of items available (present when limit is set)""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["totalCount"]) + 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: + PaginatedInputResponse.model_rebuild() +except NameError: + pass diff --git a/src/cribl_control_plane/models/paginatedinputstatus.py b/src/cribl_control_plane/models/paginatedinputstatus.py new file mode 100644 index 000000000..6b3fe1cd7 --- /dev/null +++ b/src/cribl_control_plane/models/paginatedinputstatus.py @@ -0,0 +1,61 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .inputstatus import InputStatus, InputStatusTypedDict +from cribl_control_plane.types import BaseModel, UNSET_SENTINEL +import pydantic +from pydantic import model_serializer +from typing import List, Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class PaginatedInputStatusTypedDict(TypedDict): + items: List[InputStatusTypedDict] + r"""the pre-limited items in the list of results""" + count: int + r"""number of items present in the items array""" + offset: int + r"""pagination offset""" + limit: int + r"""pagination limit""" + total_count: NotRequired[int] + r"""total number of items available (present when limit is set)""" + + +class PaginatedInputStatus(BaseModel): + items: List[InputStatus] + r"""the pre-limited items in the list of results""" + + count: int + r"""number of items present in the items array""" + + offset: int + r"""pagination offset""" + + limit: int + r"""pagination limit""" + + total_count: Annotated[Optional[int], pydantic.Field(alias="totalCount")] = None + r"""total number of items available (present when limit is set)""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["totalCount"]) + 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: + PaginatedInputStatus.model_rebuild() +except NameError: + pass diff --git a/src/cribl_control_plane/models/paginatedmasterworkerentry.py b/src/cribl_control_plane/models/paginatedmasterworkerentry.py new file mode 100644 index 000000000..b1a171941 --- /dev/null +++ b/src/cribl_control_plane/models/paginatedmasterworkerentry.py @@ -0,0 +1,61 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .masterworkerentry import MasterWorkerEntry, MasterWorkerEntryTypedDict +from cribl_control_plane.types import BaseModel, UNSET_SENTINEL +import pydantic +from pydantic import model_serializer +from typing import List, Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class PaginatedMasterWorkerEntryTypedDict(TypedDict): + items: List[MasterWorkerEntryTypedDict] + r"""the pre-limited items in the list of results""" + count: int + r"""number of items present in the items array""" + offset: int + r"""pagination offset""" + limit: int + r"""pagination limit""" + total_count: NotRequired[int] + r"""total number of items available (present when limit is set)""" + + +class PaginatedMasterWorkerEntry(BaseModel): + items: List[MasterWorkerEntry] + r"""the pre-limited items in the list of results""" + + count: int + r"""number of items present in the items array""" + + offset: int + r"""pagination offset""" + + limit: int + r"""pagination limit""" + + total_count: Annotated[Optional[int], pydantic.Field(alias="totalCount")] = None + r"""total number of items available (present when limit is set)""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["totalCount"]) + 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: + PaginatedMasterWorkerEntry.model_rebuild() +except NameError: + pass diff --git a/src/cribl_control_plane/models/paginatedoutputresponse.py b/src/cribl_control_plane/models/paginatedoutputresponse.py new file mode 100644 index 000000000..1ff9df56e --- /dev/null +++ b/src/cribl_control_plane/models/paginatedoutputresponse.py @@ -0,0 +1,61 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .outputresponse import OutputResponse, OutputResponseTypedDict +from cribl_control_plane.types import BaseModel, UNSET_SENTINEL +import pydantic +from pydantic import model_serializer +from typing import List, Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class PaginatedOutputResponseTypedDict(TypedDict): + items: List[OutputResponseTypedDict] + r"""the pre-limited items in the list of results""" + count: int + r"""number of items present in the items array""" + offset: int + r"""pagination offset""" + limit: int + r"""pagination limit""" + total_count: NotRequired[int] + r"""total number of items available (present when limit is set)""" + + +class PaginatedOutputResponse(BaseModel): + items: List[OutputResponse] + r"""the pre-limited items in the list of results""" + + count: int + r"""number of items present in the items array""" + + offset: int + r"""pagination offset""" + + limit: int + r"""pagination limit""" + + total_count: Annotated[Optional[int], pydantic.Field(alias="totalCount")] = None + r"""total number of items available (present when limit is set)""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["totalCount"]) + 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: + PaginatedOutputResponse.model_rebuild() +except NameError: + pass diff --git a/src/cribl_control_plane/models/paginatedoutputstatus.py b/src/cribl_control_plane/models/paginatedoutputstatus.py new file mode 100644 index 000000000..b8988385b --- /dev/null +++ b/src/cribl_control_plane/models/paginatedoutputstatus.py @@ -0,0 +1,61 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .outputstatus import OutputStatus, OutputStatusTypedDict +from cribl_control_plane.types import BaseModel, UNSET_SENTINEL +import pydantic +from pydantic import model_serializer +from typing import List, Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class PaginatedOutputStatusTypedDict(TypedDict): + items: List[OutputStatusTypedDict] + r"""the pre-limited items in the list of results""" + count: int + r"""number of items present in the items array""" + offset: int + r"""pagination offset""" + limit: int + r"""pagination limit""" + total_count: NotRequired[int] + r"""total number of items available (present when limit is set)""" + + +class PaginatedOutputStatus(BaseModel): + items: List[OutputStatus] + r"""the pre-limited items in the list of results""" + + count: int + r"""number of items present in the items array""" + + offset: int + r"""pagination offset""" + + limit: int + r"""pagination limit""" + + total_count: Annotated[Optional[int], pydantic.Field(alias="totalCount")] = None + r"""total number of items available (present when limit is set)""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["totalCount"]) + 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: + PaginatedOutputStatus.model_rebuild() +except NameError: + pass diff --git a/src/cribl_control_plane/models/paginatedpackinfo.py b/src/cribl_control_plane/models/paginatedpackinfo.py new file mode 100644 index 000000000..e185298f9 --- /dev/null +++ b/src/cribl_control_plane/models/paginatedpackinfo.py @@ -0,0 +1,61 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .packinfo import PackInfo, PackInfoTypedDict +from cribl_control_plane.types import BaseModel, UNSET_SENTINEL +import pydantic +from pydantic import model_serializer +from typing import List, Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class PaginatedPackInfoTypedDict(TypedDict): + items: List[PackInfoTypedDict] + r"""the pre-limited items in the list of results""" + count: int + r"""number of items present in the items array""" + offset: int + r"""pagination offset""" + limit: int + r"""pagination limit""" + total_count: NotRequired[int] + r"""total number of items available (present when limit is set)""" + + +class PaginatedPackInfo(BaseModel): + items: List[PackInfo] + r"""the pre-limited items in the list of results""" + + count: int + r"""number of items present in the items array""" + + offset: int + r"""pagination offset""" + + limit: int + r"""pagination limit""" + + total_count: Annotated[Optional[int], pydantic.Field(alias="totalCount")] = None + r"""total number of items available (present when limit is set)""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["totalCount"]) + 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: + PaginatedPackInfo.model_rebuild() +except NameError: + pass diff --git a/src/cribl_control_plane/models/paginatedpipeline.py b/src/cribl_control_plane/models/paginatedpipeline.py new file mode 100644 index 000000000..75bbb7702 --- /dev/null +++ b/src/cribl_control_plane/models/paginatedpipeline.py @@ -0,0 +1,61 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .pipeline import Pipeline, PipelineTypedDict +from cribl_control_plane.types import BaseModel, UNSET_SENTINEL +import pydantic +from pydantic import model_serializer +from typing import List, Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class PaginatedPipelineTypedDict(TypedDict): + items: List[PipelineTypedDict] + r"""the pre-limited items in the list of results""" + count: int + r"""number of items present in the items array""" + offset: int + r"""pagination offset""" + limit: int + r"""pagination limit""" + total_count: NotRequired[int] + r"""total number of items available (present when limit is set)""" + + +class PaginatedPipeline(BaseModel): + items: List[Pipeline] + r"""the pre-limited items in the list of results""" + + count: int + r"""number of items present in the items array""" + + offset: int + r"""pagination offset""" + + limit: int + r"""pagination limit""" + + total_count: Annotated[Optional[int], pydantic.Field(alias="totalCount")] = None + r"""total number of items available (present when limit is set)""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["totalCount"]) + 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: + PaginatedPipeline.model_rebuild() +except NameError: + pass diff --git a/src/cribl_control_plane/models/paginatedsavedjobresponse.py b/src/cribl_control_plane/models/paginatedsavedjobresponse.py new file mode 100644 index 000000000..143906a30 --- /dev/null +++ b/src/cribl_control_plane/models/paginatedsavedjobresponse.py @@ -0,0 +1,61 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .savedjobresponse import SavedJobResponse, SavedJobResponseTypedDict +from cribl_control_plane.types import BaseModel, UNSET_SENTINEL +import pydantic +from pydantic import model_serializer +from typing import List, Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class PaginatedSavedJobResponseTypedDict(TypedDict): + items: List[SavedJobResponseTypedDict] + r"""the pre-limited items in the list of results""" + count: int + r"""number of items present in the items array""" + offset: int + r"""pagination offset""" + limit: int + r"""pagination limit""" + total_count: NotRequired[int] + r"""total number of items available (present when limit is set)""" + + +class PaginatedSavedJobResponse(BaseModel): + items: List[SavedJobResponse] + r"""the pre-limited items in the list of results""" + + count: int + r"""number of items present in the items array""" + + offset: int + r"""pagination offset""" + + limit: int + r"""pagination limit""" + + total_count: Annotated[Optional[int], pydantic.Field(alias="totalCount")] = None + r"""total number of items available (present when limit is set)""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["totalCount"]) + 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: + PaginatedSavedJobResponse.model_rebuild() +except NameError: + pass diff --git a/src/cribl_control_plane/models/piisettings_union.py b/src/cribl_control_plane/models/piisettings_union.py index 78218e596..142a92e3f 100644 --- a/src/cribl_control_plane/models/piisettings_union.py +++ b/src/cribl_control_plane/models/piisettings_union.py @@ -10,10 +10,12 @@ class PiiSettingsTypedDict(TypedDict): enable_pii_detection: bool + r"""If true, enable PII detection for events processed by the Cribl instance. Otherwise, false.""" class PiiSettings(BaseModel): enable_pii_detection: Annotated[bool, pydantic.Field(alias="enablePiiDetection")] + r"""If true, enable PII detection for events processed by the Cribl instance. Otherwise, false.""" PiiSettingsUnionTypedDict = TypeAliasType( diff --git a/src/cribl_control_plane/models/pipeline.py b/src/cribl_control_plane/models/pipeline.py index e6654c011..441463550 100644 --- a/src/cribl_control_plane/models/pipeline.py +++ b/src/cribl_control_plane/models/pipeline.py @@ -15,16 +15,22 @@ class PipelineGroupsTypedDict(TypedDict): name: str + r"""Name of the group.""" description: NotRequired[str] + r"""Brief description of the group.""" disabled: NotRequired[bool] + r"""If true, disable all items in the group. Otherwise, false.""" class PipelineGroups(BaseModel): name: str + r"""Name of the group.""" description: Optional[str] = None + r"""Brief description of the group.""" disabled: Optional[bool] = None + r"""If true, disable all items in the group. Otherwise, false.""" @model_serializer(mode="wrap") def serialize_model(self, handler): @@ -44,38 +50,46 @@ def serialize_model(self, handler): class PipelineConfTypedDict(TypedDict): + r"""Configuration for the Pipeline, including functions and settings.""" + async_func_timeout: NotRequired[int] - r"""Time (in ms) to wait for an async function to complete processing of a data item""" + r"""Timeout (in milliseconds) for asynchronous Pipeline functions.""" output: NotRequired[str] - r"""The output destination for events processed by this Pipeline""" + r"""The output destination for events processed by this Pipeline.""" description: NotRequired[str] + r"""Brief description of the Pipeline.""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" functions: NotRequired[List[PipelineFunctionConfTypedDict]] - r"""List of Functions to pass data through""" + r"""List of Functions to pass data through the Pipeline.""" groups: NotRequired[Dict[str, PipelineGroupsTypedDict]] + r"""Named groups of Pipeline functions for organizational display in the UI.""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a 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 PipelineConf(BaseModel): + r"""Configuration for the Pipeline, including functions and settings.""" + async_func_timeout: Annotated[ Optional[int], pydantic.Field(alias="asyncFuncTimeout") ] = None - r"""Time (in ms) to wait for an async function to complete processing of a data item""" + r"""Timeout (in milliseconds) for asynchronous Pipeline functions.""" output: Optional[str] = None - r"""The output destination for events processed by this Pipeline""" + r"""The output destination for events processed by this Pipeline.""" description: Optional[str] = None + r"""Brief description of the Pipeline.""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" functions: Optional[List[PipelineFunctionConf]] = None - r"""List of Functions to pass data through""" + r"""List of Functions to pass data through the Pipeline.""" groups: Optional[Dict[str, PipelineGroups]] = None + r"""Named groups of Pipeline functions for organizational display in the UI.""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") @@ -111,48 +125,60 @@ def serialize_model(self, handler): class PipelineTypedDict(TypedDict): id: str + r"""Unique identifier for the Pipeline.""" conf: PipelineConfTypedDict + r"""Configuration for the Pipeline, including functions and settings.""" class Pipeline(BaseModel): id: str + r"""Unique identifier for the Pipeline.""" conf: PipelineConf + r"""Configuration for the Pipeline, including functions and settings.""" class ConfInputTypedDict(TypedDict): + r"""Configuration for the Pipeline, including functions and settings.""" + async_func_timeout: NotRequired[int] - r"""Time (in ms) to wait for an async function to complete processing of a data item""" + r"""Timeout (in milliseconds) for asynchronous Pipeline functions.""" output: NotRequired[str] - r"""The output destination for events processed by this Pipeline""" + r"""The output destination for events processed by this Pipeline.""" description: NotRequired[str] + r"""Brief description of the Pipeline.""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" functions: NotRequired[List[PipelineFunctionConfInputTypedDict]] - r"""List of Functions to pass data through""" + r"""List of Functions to pass data through the Pipeline.""" groups: NotRequired[Dict[str, PipelineGroupsTypedDict]] + r"""Named groups of Pipeline functions for organizational display in the UI.""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a 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 ConfInput(BaseModel): + r"""Configuration for the Pipeline, including functions and settings.""" + async_func_timeout: Annotated[ Optional[int], pydantic.Field(alias="asyncFuncTimeout") ] = None - r"""Time (in ms) to wait for an async function to complete processing of a data item""" + r"""Timeout (in milliseconds) for asynchronous Pipeline functions.""" output: Optional[str] = None - r"""The output destination for events processed by this Pipeline""" + r"""The output destination for events processed by this Pipeline.""" description: Optional[str] = None + r"""Brief description of the Pipeline.""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" functions: Optional[List[PipelineFunctionConfInput]] = None - r"""List of Functions to pass data through""" + r"""List of Functions to pass data through the Pipeline.""" groups: Optional[Dict[str, PipelineGroups]] = None + r"""Named groups of Pipeline functions for organizational display in the UI.""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") @@ -188,13 +214,17 @@ def serialize_model(self, handler): class PipelineInputTypedDict(TypedDict): id: str + r"""Unique identifier for the Pipeline.""" conf: ConfInputTypedDict + r"""Configuration for the Pipeline, including functions and settings.""" class PipelineInput(BaseModel): id: str + r"""Unique identifier for the Pipeline.""" conf: ConfInput + r"""Configuration for the Pipeline, including functions and settings.""" try: diff --git a/src/cribl_control_plane/models/pipelinefunctionaggregatemetrics.py b/src/cribl_control_plane/models/pipelinefunctionaggregatemetrics.py index 7f27fd331..b44488995 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" @@ -86,6 +86,8 @@ def serialize_model(self, handler): class PipelineFunctionAggregateMetricsConfTypedDict(TypedDict): + r"""Configuration specific to the Pipeline Function.""" + time_window: str r"""The time span of the tumbling window for aggregating events. Must be a valid time string (such as 10s).""" aggregations: List[AggregationTypedDict] @@ -119,6 +121,8 @@ class PipelineFunctionAggregateMetricsConfTypedDict(TypedDict): class PipelineFunctionAggregateMetricsConf(BaseModel): + r"""Configuration specific to the Pipeline Function.""" + time_window: Annotated[str, pydantic.Field(alias="timeWindow")] r"""The time span of the tumbling window for aggregating events. Must be a valid time string (such as 10s).""" @@ -213,40 +217,42 @@ def serialize_model(self, handler): class PipelineFunctionAggregateMetricsTypedDict(TypedDict): id: PipelineFunctionAggregateMetricsID - r"""Function ID""" + r"""Identifier of the Function. Always aggregate_metrics""" conf: PipelineFunctionAggregateMetricsConfTypedDict + r"""Configuration specific to the Pipeline Function.""" filter_: NotRequired[str] - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionAggregateMetrics(BaseModel): id: PipelineFunctionAggregateMetricsID - r"""Function ID""" + r"""Identifier of the Function. Always aggregate_metrics""" conf: PipelineFunctionAggregateMetricsConf + r"""Configuration specific to the Pipeline Function.""" filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionaggregation.py b/src/cribl_control_plane/models/pipelinefunctionaggregation.py index d15de16b4..2256f745e 100644 --- a/src/cribl_control_plane/models/pipelinefunctionaggregation.py +++ b/src/cribl_control_plane/models/pipelinefunctionaggregation.py @@ -14,12 +14,14 @@ class PipelineFunctionAggregationID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always aggregation""" AGGREGATION = "aggregation" class PipelineFunctionAggregationConfTypedDict(TypedDict): + r"""Configuration specific to the Pipeline Function.""" + time_window: str r"""The time span of the tumbling window for aggregating events. Must be a valid time string (such as 10s).""" aggregations: List[str] @@ -59,6 +61,8 @@ class PipelineFunctionAggregationConfTypedDict(TypedDict): class PipelineFunctionAggregationConf(BaseModel): + r"""Configuration specific to the Pipeline Function.""" + time_window: Annotated[str, pydantic.Field(alias="timeWindow")] r"""The time span of the tumbling window for aggregating events. Must be a valid time string (such as 10s).""" @@ -169,40 +173,42 @@ def serialize_model(self, handler): class PipelineFunctionAggregationTypedDict(TypedDict): id: PipelineFunctionAggregationID - r"""Function ID""" + r"""Identifier of the Function. Always aggregation""" conf: PipelineFunctionAggregationConfTypedDict + r"""Configuration specific to the Pipeline Function.""" filter_: NotRequired[str] - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionAggregation(BaseModel): id: PipelineFunctionAggregationID - r"""Function ID""" + r"""Identifier of the Function. Always aggregation""" conf: PipelineFunctionAggregationConf + r"""Configuration specific to the Pipeline Function.""" filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionautotimestamp.py b/src/cribl_control_plane/models/pipelinefunctionautotimestamp.py index 59ac7161e..25e747578 100644 --- a/src/cribl_control_plane/models/pipelinefunctionautotimestamp.py +++ b/src/cribl_control_plane/models/pipelinefunctionautotimestamp.py @@ -14,47 +14,47 @@ 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""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionAutoTimestamp(BaseModel): id: PipelineFunctionAutoTimestampID - r"""Function ID""" + r"""Identifier of the Function. Always auto_timestamp""" conf: FunctionConfSchemaAutoTimestamp filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctioncef.py b/src/cribl_control_plane/models/pipelinefunctioncef.py index 0e070df33..ae20c662e 100644 --- a/src/cribl_control_plane/models/pipelinefunctioncef.py +++ b/src/cribl_control_plane/models/pipelinefunctioncef.py @@ -16,47 +16,47 @@ 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""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionCef(BaseModel): id: PipelineFunctionCefID - r"""Function ID""" + r"""Identifier of the Function. Always cef""" conf: FunctionConfSchemaCef filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): @@ -77,40 +77,40 @@ 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""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionCefInput(BaseModel): id: PipelineFunctionCefID - r"""Function ID""" + r"""Identifier of the Function. Always cef""" conf: FunctionConfSchemaCefInput filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionchain.py b/src/cribl_control_plane/models/pipelinefunctionchain.py index affe285ee..e9d70433f 100644 --- a/src/cribl_control_plane/models/pipelinefunctionchain.py +++ b/src/cribl_control_plane/models/pipelinefunctionchain.py @@ -10,57 +10,63 @@ class PipelineFunctionChainID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always chain""" CHAIN = "chain" class PipelineFunctionChainConfTypedDict(TypedDict): + r"""Configuration specific to the Pipeline Function.""" + processor: str r"""The data processor (Pack/Pipeline) to send events through""" class PipelineFunctionChainConf(BaseModel): + r"""Configuration specific to the Pipeline Function.""" + processor: str r"""The data processor (Pack/Pipeline) to send events through""" class PipelineFunctionChainTypedDict(TypedDict): id: PipelineFunctionChainID - r"""Function ID""" + r"""Identifier of the Function. Always chain""" conf: PipelineFunctionChainConfTypedDict + r"""Configuration specific to the Pipeline Function.""" filter_: NotRequired[str] - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionChain(BaseModel): id: PipelineFunctionChainID - r"""Function ID""" + r"""Identifier of the Function. Always chain""" conf: PipelineFunctionChainConf + r"""Configuration specific to the Pipeline Function.""" filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionclone.py b/src/cribl_control_plane/models/pipelinefunctionclone.py index 21a146155..931f358ec 100644 --- a/src/cribl_control_plane/models/pipelinefunctionclone.py +++ b/src/cribl_control_plane/models/pipelinefunctionclone.py @@ -14,47 +14,47 @@ 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""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionClone(BaseModel): id: PipelineFunctionCloneID - r"""Function ID""" + r"""Identifier of the Function. Always clone""" conf: FunctionConfSchemaClone filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctioncode.py b/src/cribl_control_plane/models/pipelinefunctioncode.py index acbef7bee..bc8bbcd80 100644 --- a/src/cribl_control_plane/models/pipelinefunctioncode.py +++ b/src/cribl_control_plane/models/pipelinefunctioncode.py @@ -14,47 +14,47 @@ 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""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionCode(BaseModel): id: PipelineFunctionCodeID - r"""Function ID""" + r"""Identifier of the Function. Always code""" conf: FunctionConfSchemaCode filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctioncomment.py b/src/cribl_control_plane/models/pipelinefunctioncomment.py index 1e869e3e4..096f52f9c 100644 --- a/src/cribl_control_plane/models/pipelinefunctioncomment.py +++ b/src/cribl_control_plane/models/pipelinefunctioncomment.py @@ -14,47 +14,47 @@ 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""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionComment(BaseModel): id: PipelineFunctionCommentID - r"""Function ID""" + r"""Identifier of the Function. Always comment""" conf: FunctionConfSchemaComment filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctiondistinct.py b/src/cribl_control_plane/models/pipelinefunctiondistinct.py index 7f348fd6f..e429b710d 100644 --- a/src/cribl_control_plane/models/pipelinefunctiondistinct.py +++ b/src/cribl_control_plane/models/pipelinefunctiondistinct.py @@ -10,12 +10,14 @@ class PipelineFunctionDistinctID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always distinct""" DISTINCT = "distinct" class DistinctConfigurationTypedDict(TypedDict): + r"""Configuration specific to the Pipeline Function.""" + group_by: List[str] r"""Defines the properties that are concatenated to produce distinct key""" max_combinations: NotRequired[float] @@ -29,6 +31,8 @@ class DistinctConfigurationTypedDict(TypedDict): class DistinctConfiguration(BaseModel): + r"""Configuration specific to the Pipeline Function.""" + group_by: Annotated[List[str], pydantic.Field(alias="groupBy")] r"""Defines the properties that are concatenated to produce distinct key""" @@ -69,40 +73,42 @@ def serialize_model(self, handler): class PipelineFunctionDistinctTypedDict(TypedDict): id: PipelineFunctionDistinctID - r"""Function ID""" + r"""Identifier of the Function. Always distinct""" conf: DistinctConfigurationTypedDict + r"""Configuration specific to the Pipeline Function.""" filter_: NotRequired[str] - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionDistinct(BaseModel): id: PipelineFunctionDistinctID - r"""Function ID""" + r"""Identifier of the Function. Always distinct""" conf: DistinctConfiguration + r"""Configuration specific to the Pipeline Function.""" filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctiondnslookup.py b/src/cribl_control_plane/models/pipelinefunctiondnslookup.py index 705d3581c..c596b85c0 100644 --- a/src/cribl_control_plane/models/pipelinefunctiondnslookup.py +++ b/src/cribl_control_plane/models/pipelinefunctiondnslookup.py @@ -14,47 +14,47 @@ 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""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionDNSLookup(BaseModel): id: PipelineFunctionDNSLookupID - r"""Function ID""" + r"""Identifier of the Function. Always dns_lookup""" conf: FunctionConfSchemaDNSLookup filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctiondrop.py b/src/cribl_control_plane/models/pipelinefunctiondrop.py index 3300c4f85..c93a8fec2 100644 --- a/src/cribl_control_plane/models/pipelinefunctiondrop.py +++ b/src/cribl_control_plane/models/pipelinefunctiondrop.py @@ -14,47 +14,47 @@ 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""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionDrop(BaseModel): id: PipelineFunctionDropID - r"""Function ID""" + r"""Identifier of the Function. Always drop""" conf: FunctionConfSchemaDrop filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctiondropdimensions.py b/src/cribl_control_plane/models/pipelinefunctiondropdimensions.py index 804a26994..e046e258b 100644 --- a/src/cribl_control_plane/models/pipelinefunctiondropdimensions.py +++ b/src/cribl_control_plane/models/pipelinefunctiondropdimensions.py @@ -10,12 +10,14 @@ class PipelineFunctionDropDimensionsID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always drop_dimensions""" DROP_DIMENSIONS = "drop_dimensions" class PipelineFunctionDropDimensionsConfTypedDict(TypedDict): + r"""Configuration specific to the Pipeline Function.""" + time_window: str r"""The time span of the tumbling window for aggregating events. Must be a valid time string (such as 10s).""" drop_dimensions: List[str] @@ -25,6 +27,8 @@ class PipelineFunctionDropDimensionsConfTypedDict(TypedDict): class PipelineFunctionDropDimensionsConf(BaseModel): + r"""Configuration specific to the Pipeline Function.""" + time_window: Annotated[str, pydantic.Field(alias="timeWindow")] r"""The time span of the tumbling window for aggregating events. Must be a valid time string (such as 10s).""" @@ -55,40 +59,42 @@ def serialize_model(self, handler): class PipelineFunctionDropDimensionsTypedDict(TypedDict): id: PipelineFunctionDropDimensionsID - r"""Function ID""" + r"""Identifier of the Function. Always drop_dimensions""" conf: PipelineFunctionDropDimensionsConfTypedDict + r"""Configuration specific to the Pipeline Function.""" filter_: NotRequired[str] - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionDropDimensions(BaseModel): id: PipelineFunctionDropDimensionsID - r"""Function ID""" + r"""Identifier of the Function. Always drop_dimensions""" conf: PipelineFunctionDropDimensionsConf + r"""Configuration specific to the Pipeline Function.""" filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctiondynamicsampling.py b/src/cribl_control_plane/models/pipelinefunctiondynamicsampling.py index ca0006e79..adfc8c6bf 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" @@ -26,6 +26,8 @@ class SampleMode(str, Enum, metaclass=utils.OpenEnumMeta): class PipelineFunctionDynamicSamplingConfTypedDict(TypedDict): + r"""Configuration specific to the Pipeline Function.""" + mode: SampleMode r"""Defines how sample rate will be derived: log(previousPeriodCount) or sqrt(previousPeriodCount)""" key_expr: str @@ -39,6 +41,8 @@ class PipelineFunctionDynamicSamplingConfTypedDict(TypedDict): class PipelineFunctionDynamicSamplingConf(BaseModel): + r"""Configuration specific to the Pipeline Function.""" + mode: SampleMode r"""Defines how sample rate will be derived: log(previousPeriodCount) or sqrt(previousPeriodCount)""" @@ -86,40 +90,42 @@ def serialize_model(self, handler): class PipelineFunctionDynamicSamplingTypedDict(TypedDict): id: PipelineFunctionDynamicSamplingID - r"""Function ID""" + r"""Identifier of the Function. Always dynamic_sampling""" conf: PipelineFunctionDynamicSamplingConfTypedDict + r"""Configuration specific to the Pipeline Function.""" filter_: NotRequired[str] - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionDynamicSampling(BaseModel): id: PipelineFunctionDynamicSamplingID - r"""Function ID""" + r"""Identifier of the Function. Always dynamic_sampling""" conf: PipelineFunctionDynamicSamplingConf + r"""Configuration specific to the Pipeline Function.""" filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctioneval.py b/src/cribl_control_plane/models/pipelinefunctioneval.py index 427975fd8..b3d93ef30 100644 --- a/src/cribl_control_plane/models/pipelinefunctioneval.py +++ b/src/cribl_control_plane/models/pipelinefunctioneval.py @@ -14,47 +14,47 @@ 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""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionEval(BaseModel): id: PipelineFunctionEvalID - r"""Function ID""" + r"""Identifier of the Function. Always eval""" conf: FunctionConfSchemaEval filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctioneventbreaker.py b/src/cribl_control_plane/models/pipelinefunctioneventbreaker.py index 3ad1352ed..696c727c7 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" @@ -29,6 +29,8 @@ class PipelineFunctionEventBreakerID(str, Enum): class EventBreakerExistingOrNewExistingExistingOrNew( str, Enum, metaclass=utils.OpenEnumMeta ): + r"""Whether to use an existing event breaker ruleset or create a new one inline.""" + # Use Existing EXISTING = "existing" # Create New @@ -37,7 +39,9 @@ class EventBreakerExistingOrNewExistingExistingOrNew( class EventBreakerExistingOrNewExistingTypedDict(TypedDict): existing_or_new: EventBreakerExistingOrNewExistingExistingOrNew + r"""Whether to use an existing event breaker ruleset or create a new one inline.""" existing_rule: NotRequired[str] + r"""ID of an existing event breaker ruleset to apply.""" should_mark_cribl_breaker: NotRequired[bool] r"""Add this Function name to the cribl_breaker field""" rule_type: NotRequired[EventBreakerTypeOptionsEventBreakerExistingOrNewNew] @@ -59,8 +63,10 @@ class EventBreakerExistingOrNewExisting(BaseModel): EventBreakerExistingOrNewExistingExistingOrNew, pydantic.Field(alias="existingOrNew"), ] + r"""Whether to use an existing event breaker ruleset or create a new one inline.""" existing_rule: Annotated[Optional[str], pydantic.Field(alias="existingRule")] = None + r"""ID of an existing event breaker ruleset to apply.""" should_mark_cribl_breaker: Annotated[ Optional[bool], pydantic.Field(alias="shouldMarkCriblBreaker") @@ -149,6 +155,8 @@ def serialize_model(self, handler): class EventBreakerExistingOrNewNewRuleTypeCsvExistingOrNew( str, Enum, metaclass=utils.OpenEnumMeta ): + r"""Whether to use an existing event breaker ruleset or create a new one inline.""" + # Use Existing EXISTING = "existing" # Create New @@ -163,6 +171,7 @@ class EventBreakerExistingOrNewNewRuleTypeCsvTypedDict(TypedDict): escape_char: str r"""Character used to escape the quote character in field values""" existing_or_new: EventBreakerExistingOrNewNewRuleTypeCsvExistingOrNew + r"""Whether to use an existing event breaker ruleset or create a new one inline.""" rule_type: NotRequired[EventBreakerTypeOptionsEventBreakerExistingOrNewNew] time_field: NotRequired[str] r"""Optional timestamp field name in extracted events""" @@ -180,6 +189,7 @@ class EventBreakerExistingOrNewNewRuleTypeCsvTypedDict(TypedDict): should_mark_cribl_breaker: NotRequired[bool] r"""Add this Function name to the cribl_breaker field""" existing_rule: NotRequired[str] + r"""ID of an existing event breaker ruleset to apply.""" class EventBreakerExistingOrNewNewRuleTypeCsv(BaseModel): @@ -196,6 +206,7 @@ class EventBreakerExistingOrNewNewRuleTypeCsv(BaseModel): EventBreakerExistingOrNewNewRuleTypeCsvExistingOrNew, pydantic.Field(alias="existingOrNew"), ] + r"""Whether to use an existing event breaker ruleset or create a new one inline.""" rule_type: Annotated[ Optional[EventBreakerTypeOptionsEventBreakerExistingOrNewNew], @@ -238,6 +249,7 @@ class EventBreakerExistingOrNewNewRuleTypeCsv(BaseModel): r"""Add this Function name to the cribl_breaker field""" existing_rule: Annotated[Optional[str], pydantic.Field(alias="existingRule")] = None + r"""ID of an existing event breaker ruleset to apply.""" @field_serializer("rule_type") def serialize_rule_type(self, value): @@ -292,6 +304,8 @@ def serialize_model(self, handler): class EventBreakerExistingOrNewNewRuleTypeHeaderExistingOrNew( str, Enum, metaclass=utils.OpenEnumMeta ): + r"""Whether to use an existing event breaker ruleset or create a new one inline.""" + # Use Existing EXISTING = "existing" # Create New @@ -306,6 +320,7 @@ class EventBreakerExistingOrNewNewRuleTypeHeaderTypedDict(TypedDict): header_line_regex: str r"""Regex matching a file header line""" existing_or_new: EventBreakerExistingOrNewNewRuleTypeHeaderExistingOrNew + r"""Whether to use an existing event breaker ruleset or create a new one inline.""" rule_type: NotRequired[EventBreakerTypeOptionsEventBreakerExistingOrNewNew] null_field_val: NotRequired[str] r"""Representation of a null value. Null fields are not added to events.""" @@ -325,6 +340,7 @@ class EventBreakerExistingOrNewNewRuleTypeHeaderTypedDict(TypedDict): should_mark_cribl_breaker: NotRequired[bool] r"""Add this Function name to the cribl_breaker field""" existing_rule: NotRequired[str] + r"""ID of an existing event breaker ruleset to apply.""" class EventBreakerExistingOrNewNewRuleTypeHeader(BaseModel): @@ -341,6 +357,7 @@ class EventBreakerExistingOrNewNewRuleTypeHeader(BaseModel): EventBreakerExistingOrNewNewRuleTypeHeaderExistingOrNew, pydantic.Field(alias="existingOrNew"), ] + r"""Whether to use an existing event breaker ruleset or create a new one inline.""" rule_type: Annotated[ Optional[EventBreakerTypeOptionsEventBreakerExistingOrNewNew], @@ -388,6 +405,7 @@ class EventBreakerExistingOrNewNewRuleTypeHeader(BaseModel): r"""Add this Function name to the cribl_breaker field""" existing_rule: Annotated[Optional[str], pydantic.Field(alias="existingRule")] = None + r"""ID of an existing event breaker ruleset to apply.""" @field_serializer("rule_type") def serialize_rule_type(self, value): @@ -443,6 +461,8 @@ def serialize_model(self, handler): class EventBreakerExistingOrNewNewRuleTypeJSONArrayExistingOrNew( str, Enum, metaclass=utils.OpenEnumMeta ): + r"""Whether to use an existing event breaker ruleset or create a new one inline.""" + # Use Existing EXISTING = "existing" # Create New @@ -451,6 +471,7 @@ class EventBreakerExistingOrNewNewRuleTypeJSONArrayExistingOrNew( class EventBreakerExistingOrNewNewRuleTypeJSONArrayTypedDict(TypedDict): existing_or_new: EventBreakerExistingOrNewNewRuleTypeJSONArrayExistingOrNew + r"""Whether to use an existing event breaker ruleset or create a new one inline.""" rule_type: NotRequired[EventBreakerTypeOptionsEventBreakerExistingOrNewNew] json_array_field: NotRequired[str] r"""The path to an array in a JSON event with records to extract, such as Records or level1.level2.events. Leave blank if result itself is an array, such as [{...},{...}]""" @@ -476,6 +497,7 @@ class EventBreakerExistingOrNewNewRuleTypeJSONArrayTypedDict(TypedDict): should_mark_cribl_breaker: NotRequired[bool] r"""Add this Function name to the cribl_breaker field""" existing_rule: NotRequired[str] + r"""ID of an existing event breaker ruleset to apply.""" class EventBreakerExistingOrNewNewRuleTypeJSONArray(BaseModel): @@ -483,6 +505,7 @@ class EventBreakerExistingOrNewNewRuleTypeJSONArray(BaseModel): EventBreakerExistingOrNewNewRuleTypeJSONArrayExistingOrNew, pydantic.Field(alias="existingOrNew"), ] + r"""Whether to use an existing event breaker ruleset or create a new one inline.""" rule_type: Annotated[ Optional[EventBreakerTypeOptionsEventBreakerExistingOrNewNew], @@ -547,6 +570,7 @@ class EventBreakerExistingOrNewNewRuleTypeJSONArray(BaseModel): r"""Add this Function name to the cribl_breaker field""" existing_rule: Annotated[Optional[str], pydantic.Field(alias="existingRule")] = None + r"""ID of an existing event breaker ruleset to apply.""" @field_serializer("rule_type") def serialize_rule_type(self, value): @@ -607,6 +631,8 @@ def serialize_model(self, handler): class EventBreakerExistingOrNewNewRuleTypeJSONExistingOrNew( str, Enum, metaclass=utils.OpenEnumMeta ): + r"""Whether to use an existing event breaker ruleset or create a new one inline.""" + # Use Existing EXISTING = "existing" # Create New @@ -615,6 +641,7 @@ class EventBreakerExistingOrNewNewRuleTypeJSONExistingOrNew( class EventBreakerExistingOrNewNewRuleTypeJSONTypedDict(TypedDict): existing_or_new: EventBreakerExistingOrNewNewRuleTypeJSONExistingOrNew + r"""Whether to use an existing event breaker ruleset or create a new one inline.""" rule_type: NotRequired[EventBreakerTypeOptionsEventBreakerExistingOrNewNew] max_event_bytes: NotRequired[float] r"""The maximum number of bytes that an event can be before being flushed to the Pipelines""" @@ -630,6 +657,7 @@ class EventBreakerExistingOrNewNewRuleTypeJSONTypedDict(TypedDict): should_mark_cribl_breaker: NotRequired[bool] r"""Add this Function name to the cribl_breaker field""" existing_rule: NotRequired[str] + r"""ID of an existing event breaker ruleset to apply.""" class EventBreakerExistingOrNewNewRuleTypeJSON(BaseModel): @@ -637,6 +665,7 @@ class EventBreakerExistingOrNewNewRuleTypeJSON(BaseModel): EventBreakerExistingOrNewNewRuleTypeJSONExistingOrNew, pydantic.Field(alias="existingOrNew"), ] + r"""Whether to use an existing event breaker ruleset or create a new one inline.""" rule_type: Annotated[ Optional[EventBreakerTypeOptionsEventBreakerExistingOrNewNew], @@ -676,6 +705,7 @@ class EventBreakerExistingOrNewNewRuleTypeJSON(BaseModel): r"""Add this Function name to the cribl_breaker field""" existing_rule: Annotated[Optional[str], pydantic.Field(alias="existingRule")] = None + r"""ID of an existing event breaker ruleset to apply.""" @field_serializer("rule_type") def serialize_rule_type(self, value): @@ -729,6 +759,8 @@ def serialize_model(self, handler): class EventBreakerExistingOrNewNewRuleTypeRegexExistingOrNew( str, Enum, metaclass=utils.OpenEnumMeta ): + r"""Whether to use an existing event breaker ruleset or create a new one inline.""" + # Use Existing EXISTING = "existing" # Create New @@ -739,6 +771,7 @@ class EventBreakerExistingOrNewNewRuleTypeRegexTypedDict(TypedDict): event_breaker_regex: str r"""The regex used to break the stream into events at the beginning of the match. Matched content will be consumed, unless you use a lookahead regex such as (?=pattern) to keep it. Do NOT use capturing groups in the pattern.""" existing_or_new: EventBreakerExistingOrNewNewRuleTypeRegexExistingOrNew + r"""Whether to use an existing event breaker ruleset or create a new one inline.""" rule_type: NotRequired[EventBreakerTypeOptionsEventBreakerExistingOrNewNew] max_event_bytes: NotRequired[float] r"""The maximum number of bytes that an event can be before being flushed to the Pipelines""" @@ -754,6 +787,7 @@ class EventBreakerExistingOrNewNewRuleTypeRegexTypedDict(TypedDict): should_mark_cribl_breaker: NotRequired[bool] r"""Add this Function name to the cribl_breaker field""" existing_rule: NotRequired[str] + r"""ID of an existing event breaker ruleset to apply.""" class EventBreakerExistingOrNewNewRuleTypeRegex(BaseModel): @@ -764,6 +798,7 @@ class EventBreakerExistingOrNewNewRuleTypeRegex(BaseModel): EventBreakerExistingOrNewNewRuleTypeRegexExistingOrNew, pydantic.Field(alias="existingOrNew"), ] + r"""Whether to use an existing event breaker ruleset or create a new one inline.""" rule_type: Annotated[ Optional[EventBreakerTypeOptionsEventBreakerExistingOrNewNew], @@ -803,6 +838,7 @@ class EventBreakerExistingOrNewNewRuleTypeRegex(BaseModel): r"""Add this Function name to the cribl_breaker field""" existing_rule: Annotated[Optional[str], pydantic.Field(alias="existingRule")] = None + r"""ID of an existing event breaker ruleset to apply.""" @field_serializer("rule_type") def serialize_rule_type(self, value): @@ -912,6 +948,7 @@ class UnknownEventBreakerExistingOrNewNew(BaseModel): EventBreakerExistingOrNewNewTypedDict, ], ) +r"""Configuration specific to the Pipeline Function.""" class UnknownPipelineFunctionEventBreakerConf(BaseModel): @@ -946,44 +983,47 @@ class UnknownPipelineFunctionEventBreakerConf(BaseModel): ) ), ] +r"""Configuration specific to the Pipeline Function.""" class PipelineFunctionEventBreakerTypedDict(TypedDict): id: PipelineFunctionEventBreakerID - r"""Function ID""" + r"""Identifier of the Function. Always event_breaker""" conf: PipelineFunctionEventBreakerConfTypedDict + r"""Configuration specific to the Pipeline Function.""" filter_: NotRequired[str] - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionEventBreaker(BaseModel): id: PipelineFunctionEventBreakerID - r"""Function ID""" + r"""Identifier of the Function. Always event_breaker""" conf: PipelineFunctionEventBreakerConf + r"""Configuration specific to the Pipeline Function.""" filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctioneventstats.py b/src/cribl_control_plane/models/pipelinefunctioneventstats.py index 86dd11677..297c44a67 100644 --- a/src/cribl_control_plane/models/pipelinefunctioneventstats.py +++ b/src/cribl_control_plane/models/pipelinefunctioneventstats.py @@ -10,12 +10,14 @@ class PipelineFunctionEventstatsID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always eventstats""" EVENTSTATS = "eventstats" class EventstatsConfigurationTypedDict(TypedDict): + r"""Configuration specific to the Pipeline Function.""" + aggregations: List[str] r"""Aggregate function(s) to perform on events. E.g., sum(bytes).where(action=='REJECT').as(TotalBytes)""" group_bys: NotRequired[List[str]] @@ -27,6 +29,8 @@ class EventstatsConfigurationTypedDict(TypedDict): class EventstatsConfiguration(BaseModel): + r"""Configuration specific to the Pipeline Function.""" + aggregations: List[str] r"""Aggregate function(s) to perform on events. E.g., sum(bytes).where(action=='REJECT').as(TotalBytes)""" @@ -60,40 +64,42 @@ def serialize_model(self, handler): class PipelineFunctionEventstatsTypedDict(TypedDict): id: PipelineFunctionEventstatsID - r"""Function ID""" + r"""Identifier of the Function. Always eventstats""" conf: EventstatsConfigurationTypedDict + r"""Configuration specific to the Pipeline Function.""" filter_: NotRequired[str] - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionEventstats(BaseModel): id: PipelineFunctionEventstatsID - r"""Function ID""" + r"""Identifier of the Function. Always eventstats""" conf: EventstatsConfiguration + r"""Configuration specific to the Pipeline Function.""" filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionexternaldata.py b/src/cribl_control_plane/models/pipelinefunctionexternaldata.py index 7b90dc586..5c9840820 100644 --- a/src/cribl_control_plane/models/pipelinefunctionexternaldata.py +++ b/src/cribl_control_plane/models/pipelinefunctionexternaldata.py @@ -14,47 +14,47 @@ 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""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionExternaldata(BaseModel): id: PipelineFunctionExternaldataID - r"""Function ID""" + r"""Identifier of the Function. Always externaldata""" conf: FunctionConfSchemaExternaldata filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionflatten.py b/src/cribl_control_plane/models/pipelinefunctionflatten.py index 0619f11c0..631a1ebec 100644 --- a/src/cribl_control_plane/models/pipelinefunctionflatten.py +++ b/src/cribl_control_plane/models/pipelinefunctionflatten.py @@ -14,47 +14,47 @@ 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""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionFlatten(BaseModel): id: PipelineFunctionFlattenID - r"""Function ID""" + r"""Identifier of the Function. Always flatten""" conf: FunctionConfSchemaFlatten filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionfoldkeys.py b/src/cribl_control_plane/models/pipelinefunctionfoldkeys.py index 28e7137a3..e93376ad2 100644 --- a/src/cribl_control_plane/models/pipelinefunctionfoldkeys.py +++ b/src/cribl_control_plane/models/pipelinefunctionfoldkeys.py @@ -14,47 +14,47 @@ 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""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionFoldkeys(BaseModel): id: PipelineFunctionFoldkeysID - r"""Function ID""" + r"""Identifier of the Function. Always foldkeys""" conf: FunctionConfSchemaFoldkeys filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctiongenstats.py b/src/cribl_control_plane/models/pipelinefunctiongenstats.py index 14defcd2b..586f46246 100644 --- a/src/cribl_control_plane/models/pipelinefunctiongenstats.py +++ b/src/cribl_control_plane/models/pipelinefunctiongenstats.py @@ -14,47 +14,47 @@ 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""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionGenStats(BaseModel): id: PipelineFunctionGenStatsID - r"""Function ID""" + r"""Identifier of the Function. Always gen_stats""" conf: FunctionConfSchemaGenStats filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctiongeoip.py b/src/cribl_control_plane/models/pipelinefunctiongeoip.py index ff87d18c7..542775578 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" @@ -39,6 +39,8 @@ class OutputFieldMappings(BaseModel): class PipelineFunctionGeoipConfTypedDict(TypedDict): + r"""Configuration specific to the Pipeline Function.""" + file: str r"""Select an uploaded Maxmind database, or specify path to a Maxmind database with .mmdb extension""" in_field: NotRequired[str] @@ -46,11 +48,14 @@ class PipelineFunctionGeoipConfTypedDict(TypedDict): out_field: NotRequired[str] r"""Field name in which to store the GeoIP lookup results""" additional_fields: NotRequired[List[AdditionalFieldTypedDict]] + r"""Additional IP fields on which to perform GeoIP lookups.""" out_field_mappings: NotRequired[OutputFieldMappingsTypedDict] r"""Search-specific mappings for granular control over event enrichment""" class PipelineFunctionGeoipConf(BaseModel): + r"""Configuration specific to the Pipeline Function.""" + file: str r"""Select an uploaded Maxmind database, or specify path to a Maxmind database with .mmdb extension""" @@ -63,6 +68,7 @@ class PipelineFunctionGeoipConf(BaseModel): additional_fields: Annotated[ Optional[List[AdditionalField]], pydantic.Field(alias="additionalFields") ] = None + r"""Additional IP fields on which to perform GeoIP lookups.""" out_field_mappings: Annotated[ Optional[OutputFieldMappings], pydantic.Field(alias="outFieldMappings") @@ -90,40 +96,42 @@ def serialize_model(self, handler): class PipelineFunctionGeoipTypedDict(TypedDict): id: PipelineFunctionGeoipID - r"""Function ID""" + r"""Identifier of the Function. Always geoip""" conf: PipelineFunctionGeoipConfTypedDict + r"""Configuration specific to the Pipeline Function.""" filter_: NotRequired[str] - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionGeoip(BaseModel): id: PipelineFunctionGeoipID - r"""Function ID""" + r"""Identifier of the Function. Always geoip""" conf: PipelineFunctionGeoipConf + r"""Configuration specific to the Pipeline Function.""" filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctiongrok.py b/src/cribl_control_plane/models/pipelinefunctiongrok.py index 65e692325..76c0887a4 100644 --- a/src/cribl_control_plane/models/pipelinefunctiongrok.py +++ b/src/cribl_control_plane/models/pipelinefunctiongrok.py @@ -14,20 +14,25 @@ class PipelineFunctionGrokID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always grok""" GROK = "grok" class PipelineFunctionGrokConfTypedDict(TypedDict): + r"""Configuration specific to the Pipeline Function.""" + pattern: str r"""Grok pattern to extract fields. Syntax supported: %{PATTERN_NAME:FIELD_NAME}""" pattern_list: NotRequired[List[PatternListConfSerdeTypeGrokTypedDict]] + r"""Additional Grok patterns to apply to the source field.""" source: NotRequired[str] r"""Field on which to perform Grok extractions""" class PipelineFunctionGrokConf(BaseModel): + r"""Configuration specific to the Pipeline Function.""" + pattern: str r"""Grok pattern to extract fields. Syntax supported: %{PATTERN_NAME:FIELD_NAME}""" @@ -35,6 +40,7 @@ class PipelineFunctionGrokConf(BaseModel): Optional[List[PatternListConfSerdeTypeGrok]], pydantic.Field(alias="patternList"), ] = None + r"""Additional Grok patterns to apply to the source field.""" source: Optional[str] = None r"""Field on which to perform Grok extractions""" @@ -58,40 +64,42 @@ def serialize_model(self, handler): class PipelineFunctionGrokTypedDict(TypedDict): id: PipelineFunctionGrokID - r"""Function ID""" + r"""Identifier of the Function. Always grok""" conf: PipelineFunctionGrokConfTypedDict + r"""Configuration specific to the Pipeline Function.""" filter_: NotRequired[str] - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionGrok(BaseModel): id: PipelineFunctionGrokID - r"""Function ID""" + r"""Identifier of the Function. Always grok""" conf: PipelineFunctionGrokConf + r"""Configuration specific to the Pipeline Function.""" filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionhandlebars.py b/src/cribl_control_plane/models/pipelinefunctionhandlebars.py index 86cc18975..66cef6b27 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" @@ -57,6 +57,8 @@ def serialize_model(self, handler): class PipelineFunctionHandlebarsConfTypedDict(TypedDict): + r"""Configuration specific to the Pipeline Function.""" + templates: List[TemplateDefinitionTypedDict] r"""Array of template definitions. Uses event.__template_id to select template at runtime.""" target_field: NotRequired[str] @@ -68,6 +70,8 @@ class PipelineFunctionHandlebarsConfTypedDict(TypedDict): class PipelineFunctionHandlebarsConf(BaseModel): + r"""Configuration specific to the Pipeline Function.""" + templates: List[TemplateDefinition] r"""Array of template definitions. Uses event.__template_id to select template at runtime.""" @@ -101,40 +105,42 @@ def serialize_model(self, handler): class PipelineFunctionHandlebarsTypedDict(TypedDict): id: PipelineFunctionHandlebarsID - r"""Function ID""" + r"""Identifier of the Function. Always handlebars""" conf: PipelineFunctionHandlebarsConfTypedDict + r"""Configuration specific to the Pipeline Function.""" filter_: NotRequired[str] - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionHandlebars(BaseModel): id: PipelineFunctionHandlebarsID - r"""Function ID""" + r"""Identifier of the Function. Always handlebars""" conf: PipelineFunctionHandlebarsConf + r"""Configuration specific to the Pipeline Function.""" filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionjoin.py b/src/cribl_control_plane/models/pipelinefunctionjoin.py index 92aa71e0b..66957078d 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" @@ -31,6 +31,8 @@ class FieldCondition(BaseModel): class JoinConfigurationTypedDict(TypedDict): + r"""Configuration specific to the Pipeline Function.""" + field_conditions: List[FieldConditionTypedDict] r"""Fields to use when joining""" kind: NotRequired[str] @@ -44,6 +46,8 @@ class JoinConfigurationTypedDict(TypedDict): class JoinConfiguration(BaseModel): + r"""Configuration specific to the Pipeline Function.""" + field_conditions: Annotated[ List[FieldCondition], pydantic.Field(alias="fieldConditions") ] @@ -80,40 +84,42 @@ def serialize_model(self, handler): class PipelineFunctionJoinTypedDict(TypedDict): id: PipelineFunctionJoinID - r"""Function ID""" + r"""Identifier of the Function. Always join""" conf: JoinConfigurationTypedDict + r"""Configuration specific to the Pipeline Function.""" filter_: NotRequired[str] - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionJoin(BaseModel): id: PipelineFunctionJoinID - r"""Function ID""" + r"""Identifier of the Function. Always join""" conf: JoinConfiguration + r"""Configuration specific to the Pipeline Function.""" filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionjsonunroll.py b/src/cribl_control_plane/models/pipelinefunctionjsonunroll.py index 54ab0a280..82428937c 100644 --- a/src/cribl_control_plane/models/pipelinefunctionjsonunroll.py +++ b/src/cribl_control_plane/models/pipelinefunctionjsonunroll.py @@ -10,12 +10,14 @@ class PipelineFunctionJSONUnrollID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always json_unroll""" JSON_UNROLL = "json_unroll" class PipelineFunctionJSONUnrollConfTypedDict(TypedDict): + r"""Configuration specific to the Pipeline Function.""" + path: str r"""Path to array to unroll, such as foo.0.bar""" name: NotRequired[str] @@ -23,6 +25,8 @@ class PipelineFunctionJSONUnrollConfTypedDict(TypedDict): class PipelineFunctionJSONUnrollConf(BaseModel): + r"""Configuration specific to the Pipeline Function.""" + path: str r"""Path to array to unroll, such as foo.0.bar""" @@ -48,40 +52,42 @@ def serialize_model(self, handler): class PipelineFunctionJSONUnrollTypedDict(TypedDict): id: PipelineFunctionJSONUnrollID - r"""Function ID""" + r"""Identifier of the Function. Always json_unroll""" conf: PipelineFunctionJSONUnrollConfTypedDict + r"""Configuration specific to the Pipeline Function.""" filter_: NotRequired[str] - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionJSONUnroll(BaseModel): id: PipelineFunctionJSONUnrollID - r"""Function ID""" + r"""Identifier of the Function. Always json_unroll""" conf: PipelineFunctionJSONUnrollConf + r"""Configuration specific to the Pipeline Function.""" filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionlakeexport.py b/src/cribl_control_plane/models/pipelinefunctionlakeexport.py index 9dbf30596..5789f5838 100644 --- a/src/cribl_control_plane/models/pipelinefunctionlakeexport.py +++ b/src/cribl_control_plane/models/pipelinefunctionlakeexport.py @@ -10,12 +10,14 @@ class PipelineFunctionLakeExportID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always lake_export""" LAKE_EXPORT = "lake_export" class LakeExportConfigurationTypedDict(TypedDict): + r"""Configuration specific to the Pipeline Function.""" + search_job_id: str r"""Id of the search job this function is running on.""" dataset: str @@ -31,6 +33,8 @@ class LakeExportConfigurationTypedDict(TypedDict): class LakeExportConfiguration(BaseModel): + r"""Configuration specific to the Pipeline Function.""" + search_job_id: Annotated[str, pydantic.Field(alias="searchJobId")] r"""Id of the search job this function is running on.""" @@ -70,40 +74,42 @@ def serialize_model(self, handler): class PipelineFunctionLakeExportTypedDict(TypedDict): id: PipelineFunctionLakeExportID - r"""Function ID""" + r"""Identifier of the Function. Always lake_export""" conf: LakeExportConfigurationTypedDict + r"""Configuration specific to the Pipeline Function.""" filter_: NotRequired[str] - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionLakeExport(BaseModel): id: PipelineFunctionLakeExportID - r"""Function ID""" + r"""Identifier of the Function. Always lake_export""" conf: LakeExportConfiguration + r"""Configuration specific to the Pipeline Function.""" filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionlimit.py b/src/cribl_control_plane/models/pipelinefunctionlimit.py index b2d242a27..4bf3e61bd 100644 --- a/src/cribl_control_plane/models/pipelinefunctionlimit.py +++ b/src/cribl_control_plane/models/pipelinefunctionlimit.py @@ -14,47 +14,47 @@ 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""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionLimit(BaseModel): id: PipelineFunctionLimitID - r"""Function ID""" + r"""Identifier of the Function. Always limit""" conf: FunctionConfSchemaLimit filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionlocalsearchdatatypeparser.py b/src/cribl_control_plane/models/pipelinefunctionlocalsearchdatatypeparser.py index e3e33aadf..749983f93 100644 --- a/src/cribl_control_plane/models/pipelinefunctionlocalsearchdatatypeparser.py +++ b/src/cribl_control_plane/models/pipelinefunctionlocalsearchdatatypeparser.py @@ -14,47 +14,47 @@ 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""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionLocalSearchDatatypeParser(BaseModel): id: PipelineFunctionLocalSearchDatatypeParserID - r"""Function ID""" + r"""Identifier of the Function. Always local_search_datatype_parser""" conf: FunctionConfSchemaLocalSearchDatatypeParser filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionlocalsearchrulesetrunner.py b/src/cribl_control_plane/models/pipelinefunctionlocalsearchrulesetrunner.py index 19b168dbe..69bf7c7e6 100644 --- a/src/cribl_control_plane/models/pipelinefunctionlocalsearchrulesetrunner.py +++ b/src/cribl_control_plane/models/pipelinefunctionlocalsearchrulesetrunner.py @@ -14,47 +14,47 @@ 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""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionLocalSearchRulesetRunner(BaseModel): id: PipelineFunctionLocalSearchRulesetRunnerID - r"""Function ID""" + r"""Identifier of the Function. Always local_search_ruleset_runner""" conf: FunctionConfSchemaLocalSearchRulesetRunner filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionlocalsearchschemamapper.py b/src/cribl_control_plane/models/pipelinefunctionlocalsearchschemamapper.py index 014332224..2d4322dba 100644 --- a/src/cribl_control_plane/models/pipelinefunctionlocalsearchschemamapper.py +++ b/src/cribl_control_plane/models/pipelinefunctionlocalsearchschemamapper.py @@ -14,47 +14,47 @@ 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""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionLocalSearchSchemaMapper(BaseModel): id: PipelineFunctionLocalSearchSchemaMapperID - r"""Function ID""" + r"""Identifier of the Function. Always local_search_schema_mapper""" conf: FunctionConfSchemaLocalSearchSchemaMapper filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionlocalsearchtimerangenormalizer.py b/src/cribl_control_plane/models/pipelinefunctionlocalsearchtimerangenormalizer.py index d469c0dd1..0989ecb8d 100644 --- a/src/cribl_control_plane/models/pipelinefunctionlocalsearchtimerangenormalizer.py +++ b/src/cribl_control_plane/models/pipelinefunctionlocalsearchtimerangenormalizer.py @@ -14,47 +14,47 @@ 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""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionLocalSearchTimeRangeNormalizer(BaseModel): id: PipelineFunctionLocalSearchTimeRangeNormalizerID - r"""Function ID""" + r"""Identifier of the Function. Always local_search_time_range_normalizer""" conf: FunctionConfSchemaLocalSearchTimeRangeNormalizer filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionlocalsearchtransformer.py b/src/cribl_control_plane/models/pipelinefunctionlocalsearchtransformer.py index 2ea8f5a93..7b98bca4a 100644 --- a/src/cribl_control_plane/models/pipelinefunctionlocalsearchtransformer.py +++ b/src/cribl_control_plane/models/pipelinefunctionlocalsearchtransformer.py @@ -14,47 +14,47 @@ 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""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionLocalSearchTransformer(BaseModel): id: PipelineFunctionLocalSearchTransformerID - r"""Function ID""" + r"""Identifier of the Function. Always local_search_transformer""" conf: FunctionConfSchemaLocalSearchTransformer filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionlookup.py b/src/cribl_control_plane/models/pipelinefunctionlookup.py index 19d3b2aa3..eaa5d9262 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" @@ -103,6 +103,8 @@ def serialize_model(self, handler): class PipelineFunctionLookupConfTypedDict(TypedDict): + r"""Configuration specific to the Pipeline Function.""" + file: str r"""Path to the lookup file. Reference environment variables via $. Example: $HOME/file.csv""" db_lookup: NotRequired[bool] @@ -124,6 +126,8 @@ class PipelineFunctionLookupConfTypedDict(TypedDict): class PipelineFunctionLookupConf(BaseModel): + r"""Configuration specific to the Pipeline Function.""" + file: str r"""Path to the lookup file. Reference environment variables via $. Example: $HOME/file.csv""" @@ -205,40 +209,42 @@ def serialize_model(self, handler): class PipelineFunctionLookupTypedDict(TypedDict): id: PipelineFunctionLookupID - r"""Function ID""" + r"""Identifier of the Function. Always lookup""" conf: PipelineFunctionLookupConfTypedDict + r"""Configuration specific to the Pipeline Function.""" filter_: NotRequired[str] - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionLookup(BaseModel): id: PipelineFunctionLookupID - r"""Function ID""" + r"""Identifier of the Function. Always lookup""" conf: PipelineFunctionLookupConf + r"""Configuration specific to the Pipeline Function.""" filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionmask.py b/src/cribl_control_plane/models/pipelinefunctionmask.py index 60fddcb9f..1c8bd65ac 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" @@ -56,7 +56,10 @@ def serialize_model(self, handler): class PipelineFunctionMaskConfTypedDict(TypedDict): + r"""Configuration specific to the Pipeline Function.""" + rules: List[PipelineFunctionMaskRuleTypedDict] + r"""List of masking rules, each specifying a regex to match and an expression to replace matched content.""" fields: NotRequired[List[str]] r"""Fields on which to apply the masking rules. Supports * wildcards, except when used on internal fields.""" depth: NotRequired[int] @@ -66,7 +69,10 @@ class PipelineFunctionMaskConfTypedDict(TypedDict): class PipelineFunctionMaskConf(BaseModel): + r"""Configuration specific to the Pipeline Function.""" + rules: List[PipelineFunctionMaskRule] + r"""List of masking rules, each specifying a regex to match and an expression to replace matched content.""" fields: Optional[List[str]] = None r"""Fields on which to apply the masking rules. Supports * wildcards, except when used on internal fields.""" @@ -96,40 +102,42 @@ def serialize_model(self, handler): class PipelineFunctionMaskTypedDict(TypedDict): id: PipelineFunctionMaskID - r"""Function ID""" + r"""Identifier of the Function. Always mask""" conf: PipelineFunctionMaskConfTypedDict + r"""Configuration specific to the Pipeline Function.""" filter_: NotRequired[str] - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionMask(BaseModel): id: PipelineFunctionMaskID - r"""Function ID""" + r"""Identifier of the Function. Always mask""" conf: PipelineFunctionMaskConf + r"""Configuration specific to the Pipeline Function.""" filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionmvexpand.py b/src/cribl_control_plane/models/pipelinefunctionmvexpand.py index 9f9e4dd99..9a8b1c74d 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" @@ -26,6 +26,8 @@ class BagExpansionMode(str, Enum, metaclass=utils.OpenEnumMeta): class PipelineFunctionMvExpandConfTypedDict(TypedDict): + r"""Configuration specific to the Pipeline Function.""" + source_fields: List[str] r"""Array of property-/field-names to expand""" target_names: NotRequired[List[str]] @@ -39,6 +41,8 @@ class PipelineFunctionMvExpandConfTypedDict(TypedDict): class PipelineFunctionMvExpandConf(BaseModel): + r"""Configuration specific to the Pipeline Function.""" + source_fields: Annotated[List[str], pydantic.Field(alias="sourceFields")] r"""Array of property-/field-names to expand""" @@ -90,40 +94,42 @@ def serialize_model(self, handler): class PipelineFunctionMvExpandTypedDict(TypedDict): id: PipelineFunctionMvExpandID - r"""Function ID""" + r"""Identifier of the Function. Always mv_expand""" conf: PipelineFunctionMvExpandConfTypedDict + r"""Configuration specific to the Pipeline Function.""" filter_: NotRequired[str] - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionMvExpand(BaseModel): id: PipelineFunctionMvExpandID - r"""Function ID""" + r"""Identifier of the Function. Always mv_expand""" conf: PipelineFunctionMvExpandConf + r"""Configuration specific to the Pipeline Function.""" filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionmvpull.py b/src/cribl_control_plane/models/pipelinefunctionmvpull.py index 62f33b1ba..8f8f971dd 100644 --- a/src/cribl_control_plane/models/pipelinefunctionmvpull.py +++ b/src/cribl_control_plane/models/pipelinefunctionmvpull.py @@ -10,12 +10,14 @@ class PipelineFunctionMvPullID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always mv_pull""" MV_PULL = "mv_pull" class PipelineFunctionMvPullConfTypedDict(TypedDict): + r"""Configuration specific to the Pipeline Function.""" + array_path: str r"""Field name of the array within events that contains the data objects of interest. Can be a path.""" relative_key_path: str @@ -29,6 +31,8 @@ class PipelineFunctionMvPullConfTypedDict(TypedDict): class PipelineFunctionMvPullConf(BaseModel): + r"""Configuration specific to the Pipeline Function.""" + array_path: Annotated[str, pydantic.Field(alias="arrayPath")] r"""Field name of the array within events that contains the data objects of interest. Can be a path.""" @@ -67,40 +71,42 @@ def serialize_model(self, handler): class PipelineFunctionMvPullTypedDict(TypedDict): id: PipelineFunctionMvPullID - r"""Function ID""" + r"""Identifier of the Function. Always mv_pull""" conf: PipelineFunctionMvPullConfTypedDict + r"""Configuration specific to the Pipeline Function.""" filter_: NotRequired[str] - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionMvPull(BaseModel): id: PipelineFunctionMvPullID - r"""Function ID""" + r"""Identifier of the Function. Always mv_pull""" conf: PipelineFunctionMvPullConf + r"""Configuration specific to the Pipeline Function.""" filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionnotificationpolicies.py b/src/cribl_control_plane/models/pipelinefunctionnotificationpolicies.py index 4d8b556b9..87908c76e 100644 --- a/src/cribl_control_plane/models/pipelinefunctionnotificationpolicies.py +++ b/src/cribl_control_plane/models/pipelinefunctionnotificationpolicies.py @@ -14,47 +14,47 @@ 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""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionNotificationPolicies(BaseModel): id: PipelineFunctionNotificationPoliciesID - r"""Function ID""" + r"""Identifier of the Function. Always notification_policies""" conf: FunctionConfSchemaNotificationPolicies filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionnotifications.py b/src/cribl_control_plane/models/pipelinefunctionnotifications.py index 5740fe2a3..2868e5f9c 100644 --- a/src/cribl_control_plane/models/pipelinefunctionnotifications.py +++ b/src/cribl_control_plane/models/pipelinefunctionnotifications.py @@ -10,12 +10,14 @@ class PipelineFunctionNotificationsID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always notifications""" NOTIFICATIONS = "notifications" class PipelineFunctionNotificationsConfTypedDict(TypedDict): + r"""Configuration specific to the Pipeline Function.""" + id: str r"""Notification ID""" field: str @@ -25,6 +27,8 @@ class PipelineFunctionNotificationsConfTypedDict(TypedDict): class PipelineFunctionNotificationsConf(BaseModel): + r"""Configuration specific to the Pipeline Function.""" + id: str r"""Notification ID""" @@ -37,40 +41,42 @@ class PipelineFunctionNotificationsConf(BaseModel): class PipelineFunctionNotificationsTypedDict(TypedDict): id: PipelineFunctionNotificationsID - r"""Function ID""" + r"""Identifier of the Function. Always notifications""" conf: PipelineFunctionNotificationsConfTypedDict + r"""Configuration specific to the Pipeline Function.""" filter_: NotRequired[str] - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionNotifications(BaseModel): id: PipelineFunctionNotificationsID - r"""Function ID""" + r"""Identifier of the Function. Always notifications""" conf: PipelineFunctionNotificationsConf + r"""Configuration specific to the Pipeline Function.""" filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionnotify.py b/src/cribl_control_plane/models/pipelinefunctionnotify.py index ff64c2618..b85354c5d 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" @@ -43,6 +43,8 @@ class CountComparator(str, Enum, metaclass=utils.OpenEnumMeta): class NotifyConfigurationTypedDict(TypedDict): + r"""Configuration specific to the Pipeline Function.""" + group: str r"""Group the notification belongs to""" notification_id: str @@ -74,6 +76,8 @@ class NotifyConfigurationTypedDict(TypedDict): class NotifyConfiguration(BaseModel): + r"""Configuration specific to the Pipeline Function.""" + group: str r"""Group the notification belongs to""" @@ -171,40 +175,42 @@ def serialize_model(self, handler): class PipelineFunctionNotifyTypedDict(TypedDict): id: PipelineFunctionNotifyID - r"""Function ID""" + r"""Identifier of the Function. Always notify""" conf: NotifyConfigurationTypedDict + r"""Configuration specific to the Pipeline Function.""" filter_: NotRequired[str] - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionNotify(BaseModel): id: PipelineFunctionNotifyID - r"""Function ID""" + r"""Identifier of the Function. Always notify""" conf: NotifyConfiguration + r"""Configuration specific to the Pipeline Function.""" filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionnumerify.py b/src/cribl_control_plane/models/pipelinefunctionnumerify.py index befab00b9..f5118d67e 100644 --- a/src/cribl_control_plane/models/pipelinefunctionnumerify.py +++ b/src/cribl_control_plane/models/pipelinefunctionnumerify.py @@ -14,47 +14,47 @@ 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""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionNumerify(BaseModel): id: PipelineFunctionNumerifyID - r"""Function ID""" + r"""Identifier of the Function. Always numerify""" conf: FunctionConfSchemaNumerify filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionotlplogs.py b/src/cribl_control_plane/models/pipelinefunctionotlplogs.py index 5417933df..f2b6aefa5 100644 --- a/src/cribl_control_plane/models/pipelinefunctionotlplogs.py +++ b/src/cribl_control_plane/models/pipelinefunctionotlplogs.py @@ -14,47 +14,47 @@ 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""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionOtlpLogs(BaseModel): id: PipelineFunctionOtlpLogsID - r"""Function ID""" + r"""Identifier of the Function. Always otlp_logs""" conf: FunctionConfSchemaOtlpLogs filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionotlpmetrics.py b/src/cribl_control_plane/models/pipelinefunctionotlpmetrics.py index 97cfd0cdb..08c36331d 100644 --- a/src/cribl_control_plane/models/pipelinefunctionotlpmetrics.py +++ b/src/cribl_control_plane/models/pipelinefunctionotlpmetrics.py @@ -14,47 +14,47 @@ 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""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionOtlpMetrics(BaseModel): id: PipelineFunctionOtlpMetricsID - r"""Function ID""" + r"""Identifier of the Function. Always otlp_metrics""" conf: FunctionConfSchemaOtlpMetrics filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionotlptraces.py b/src/cribl_control_plane/models/pipelinefunctionotlptraces.py index cecd8af4d..20bfbfd1a 100644 --- a/src/cribl_control_plane/models/pipelinefunctionotlptraces.py +++ b/src/cribl_control_plane/models/pipelinefunctionotlptraces.py @@ -14,47 +14,47 @@ 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""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionOtlpTraces(BaseModel): id: PipelineFunctionOtlpTracesID - r"""Function ID""" + r"""Identifier of the Function. Always otlp_traces""" conf: FunctionConfSchemaOtlpTraces filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionpack.py b/src/cribl_control_plane/models/pipelinefunctionpack.py index 4e285ae5a..ba785a7eb 100644 --- a/src/cribl_control_plane/models/pipelinefunctionpack.py +++ b/src/cribl_control_plane/models/pipelinefunctionpack.py @@ -10,12 +10,14 @@ class PipelineFunctionPackID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always pack""" PACK = "pack" class PipelineFunctionPackConfTypedDict(TypedDict): + r"""Configuration specific to the Pipeline Function.""" + unpacked_fields: List[str] r"""List of fields to keep, everything else will be packed""" target: NotRequired[str] @@ -23,6 +25,8 @@ class PipelineFunctionPackConfTypedDict(TypedDict): class PipelineFunctionPackConf(BaseModel): + r"""Configuration specific to the Pipeline Function.""" + unpacked_fields: Annotated[List[str], pydantic.Field(alias="unpackedFields")] r"""List of fields to keep, everything else will be packed""" @@ -48,40 +52,42 @@ def serialize_model(self, handler): class PipelineFunctionPackTypedDict(TypedDict): id: PipelineFunctionPackID - r"""Function ID""" + r"""Identifier of the Function. Always pack""" conf: PipelineFunctionPackConfTypedDict + r"""Configuration specific to the Pipeline Function.""" filter_: NotRequired[str] - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionPack(BaseModel): id: PipelineFunctionPackID - r"""Function ID""" + r"""Identifier of the Function. Always pack""" conf: PipelineFunctionPackConf + r"""Configuration specific to the Pipeline Function.""" filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionpivot.py b/src/cribl_control_plane/models/pipelinefunctionpivot.py index 41d4cc716..e9833320f 100644 --- a/src/cribl_control_plane/models/pipelinefunctionpivot.py +++ b/src/cribl_control_plane/models/pipelinefunctionpivot.py @@ -10,12 +10,14 @@ class PipelineFunctionPivotID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always pivot""" PIVOT = "pivot" class SimplePivotConfigurationTypedDict(TypedDict): + r"""Configuration specific to the Pipeline Function.""" + label_field: str r"""Fields to be used for the left-most column.""" data_fields: List[str] @@ -25,6 +27,8 @@ class SimplePivotConfigurationTypedDict(TypedDict): class SimplePivotConfiguration(BaseModel): + r"""Configuration specific to the Pipeline Function.""" + label_field: Annotated[str, pydantic.Field(alias="labelField")] r"""Fields to be used for the left-most column.""" @@ -37,40 +41,42 @@ class SimplePivotConfiguration(BaseModel): class PipelineFunctionPivotTypedDict(TypedDict): id: PipelineFunctionPivotID - r"""Function ID""" + r"""Identifier of the Function. Always pivot""" conf: SimplePivotConfigurationTypedDict + r"""Configuration specific to the Pipeline Function.""" filter_: NotRequired[str] - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionPivot(BaseModel): id: PipelineFunctionPivotID - r"""Function ID""" + r"""Identifier of the Function. Always pivot""" conf: SimplePivotConfiguration + r"""Configuration specific to the Pipeline Function.""" filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionpublishmetrics.py b/src/cribl_control_plane/models/pipelinefunctionpublishmetrics.py index e229c9f8b..abfa53849 100644 --- a/src/cribl_control_plane/models/pipelinefunctionpublishmetrics.py +++ b/src/cribl_control_plane/models/pipelinefunctionpublishmetrics.py @@ -14,47 +14,47 @@ 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""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionPublishMetrics(BaseModel): id: PipelineFunctionPublishMetricsID - r"""Function ID""" + r"""Identifier of the Function. Always publish_metrics""" conf: FunctionConfSchemaPublishMetrics filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionredis.py b/src/cribl_control_plane/models/pipelinefunctionredis.py index 11d36412e..50a6fa017 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" @@ -33,6 +33,8 @@ class PipelineFunctionRedisID(str, Enum): class RedisAuthTypeTextSecretAuthenticationMethod( str, Enum, metaclass=utils.OpenEnumMeta ): + r"""Authentication method to use when connecting to Redis.""" + # None NONE = "none" # Manual @@ -99,7 +101,9 @@ class RedisAuthTypeTextSecretTypedDict(TypedDict): text_secret: str r"""Secret that references Redis admin password""" commands: List[RedisAuthTypeTextSecretCommandTypedDict] + r"""List of Redis commands to execute against the specified keys.""" auth_type: NotRequired[RedisAuthTypeTextSecretAuthenticationMethod] + r"""Authentication method to use when connecting to Redis.""" deployment_type: NotRequired[RedisAuthTypeTextSecretDeploymentType] r"""How the Redis server is configured. Defaults to Standalone""" max_block_secs: NotRequired[float] @@ -118,10 +122,13 @@ class RedisAuthTypeTextSecretTypedDict(TypedDict): scale_reads: NotRequired[ScaleReadsOptionsRedisDeploymentTypeCluster] r"""Which nodes read commands should be sent to""" master_name: NotRequired[str] + r"""Name of the Redis Sentinel master group to connect to.""" username: NotRequired[str] + r"""Username for Redis authentication.""" template_username: NotRequired[str] r"""Binds 'username' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'username' at runtime.""" password: NotRequired[str] + r"""Password for Redis authentication.""" template_password: NotRequired[str] r"""Binds 'password' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'password' at runtime.""" credentials_secret: NotRequired[str] @@ -133,11 +140,13 @@ class RedisAuthTypeTextSecret(BaseModel): r"""Secret that references Redis admin password""" commands: List[RedisAuthTypeTextSecretCommand] + r"""List of Redis commands to execute against the specified keys.""" auth_type: Annotated[ Optional[RedisAuthTypeTextSecretAuthenticationMethod], pydantic.Field(alias="authType"), ] = None + r"""Authentication method to use when connecting to Redis.""" deployment_type: Annotated[ Optional[RedisAuthTypeTextSecretDeploymentType], @@ -184,8 +193,10 @@ class RedisAuthTypeTextSecret(BaseModel): r"""Which nodes read commands should be sent to""" master_name: Annotated[Optional[str], pydantic.Field(alias="masterName")] = None + r"""Name of the Redis Sentinel master group to connect to.""" username: Optional[str] = None + r"""Username for Redis authentication.""" template_username: Annotated[ Optional[str], pydantic.Field(alias="__template_username") @@ -193,6 +204,7 @@ class RedisAuthTypeTextSecret(BaseModel): r"""Binds 'username' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'username' at runtime.""" password: Optional[str] = None + r"""Password for Redis authentication.""" template_password: Annotated[ Optional[str], pydantic.Field(alias="__template_password") @@ -270,6 +282,8 @@ def serialize_model(self, handler): class RedisAuthTypeCredentialsSecretAuthenticationMethod( str, Enum, metaclass=utils.OpenEnumMeta ): + r"""Authentication method to use when connecting to Redis.""" + # None NONE = "none" # Manual @@ -338,7 +352,9 @@ class RedisAuthTypeCredentialsSecretTypedDict(TypedDict): credentials_secret: str r"""Secret that references Redis username and password""" commands: List[RedisAuthTypeCredentialsSecretCommandTypedDict] + r"""List of Redis commands to execute against the specified keys.""" auth_type: NotRequired[RedisAuthTypeCredentialsSecretAuthenticationMethod] + r"""Authentication method to use when connecting to Redis.""" deployment_type: NotRequired[RedisAuthTypeCredentialsSecretDeploymentType] r"""How the Redis server is configured. Defaults to Standalone""" max_block_secs: NotRequired[float] @@ -357,10 +373,13 @@ class RedisAuthTypeCredentialsSecretTypedDict(TypedDict): scale_reads: NotRequired[ScaleReadsOptionsRedisDeploymentTypeCluster] r"""Which nodes read commands should be sent to""" master_name: NotRequired[str] + r"""Name of the Redis Sentinel master group to connect to.""" username: NotRequired[str] + r"""Username for Redis authentication.""" template_username: NotRequired[str] r"""Binds 'username' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'username' at runtime.""" password: NotRequired[str] + r"""Password for Redis authentication.""" template_password: NotRequired[str] r"""Binds 'password' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'password' at runtime.""" text_secret: NotRequired[str] @@ -372,11 +391,13 @@ class RedisAuthTypeCredentialsSecret(BaseModel): r"""Secret that references Redis username and password""" commands: List[RedisAuthTypeCredentialsSecretCommand] + r"""List of Redis commands to execute against the specified keys.""" auth_type: Annotated[ Optional[RedisAuthTypeCredentialsSecretAuthenticationMethod], pydantic.Field(alias="authType"), ] = None + r"""Authentication method to use when connecting to Redis.""" deployment_type: Annotated[ Optional[RedisAuthTypeCredentialsSecretDeploymentType], @@ -423,8 +444,10 @@ class RedisAuthTypeCredentialsSecret(BaseModel): r"""Which nodes read commands should be sent to""" master_name: Annotated[Optional[str], pydantic.Field(alias="masterName")] = None + r"""Name of the Redis Sentinel master group to connect to.""" username: Optional[str] = None + r"""Username for Redis authentication.""" template_username: Annotated[ Optional[str], pydantic.Field(alias="__template_username") @@ -432,6 +455,7 @@ class RedisAuthTypeCredentialsSecret(BaseModel): r"""Binds 'username' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'username' at runtime.""" password: Optional[str] = None + r"""Password for Redis authentication.""" template_password: Annotated[ Optional[str], pydantic.Field(alias="__template_password") @@ -505,6 +529,8 @@ def serialize_model(self, handler): class RedisAuthTypeManualAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Authentication method to use when connecting to Redis.""" + # None NONE = "none" # Manual @@ -569,9 +595,13 @@ class RedisAuthTypeManualDeploymentType(str, Enum, metaclass=utils.OpenEnumMeta) class RedisAuthTypeManualTypedDict(TypedDict): password: str + r"""Password for Redis authentication.""" commands: List[RedisAuthTypeManualCommandTypedDict] + r"""List of Redis commands to execute against the specified keys.""" auth_type: NotRequired[RedisAuthTypeManualAuthenticationMethod] + r"""Authentication method to use when connecting to Redis.""" username: NotRequired[str] + r"""Username for Redis authentication.""" template_username: NotRequired[str] r"""Binds 'username' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'username' at runtime.""" template_password: NotRequired[str] @@ -594,6 +624,7 @@ class RedisAuthTypeManualTypedDict(TypedDict): scale_reads: NotRequired[ScaleReadsOptionsRedisDeploymentTypeCluster] r"""Which nodes read commands should be sent to""" master_name: NotRequired[str] + r"""Name of the Redis Sentinel master group to connect to.""" credentials_secret: NotRequired[str] r"""Secret that references Redis username and password""" text_secret: NotRequired[str] @@ -602,15 +633,19 @@ class RedisAuthTypeManualTypedDict(TypedDict): class RedisAuthTypeManual(BaseModel): password: str + r"""Password for Redis authentication.""" commands: List[RedisAuthTypeManualCommand] + r"""List of Redis commands to execute against the specified keys.""" auth_type: Annotated[ Optional[RedisAuthTypeManualAuthenticationMethod], pydantic.Field(alias="authType"), ] = None + r"""Authentication method to use when connecting to Redis.""" username: Optional[str] = None + r"""Username for Redis authentication.""" template_username: Annotated[ Optional[str], pydantic.Field(alias="__template_username") @@ -667,6 +702,7 @@ class RedisAuthTypeManual(BaseModel): r"""Which nodes read commands should be sent to""" master_name: Annotated[Optional[str], pydantic.Field(alias="masterName")] = None + r"""Name of the Redis Sentinel master group to connect to.""" credentials_secret: Annotated[ Optional[str], pydantic.Field(alias="credentialsSecret") @@ -740,6 +776,8 @@ def serialize_model(self, handler): class RedisAuthTypeNoneAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Authentication method to use when connecting to Redis.""" + # None NONE = "none" # Manual @@ -804,7 +842,9 @@ class RedisAuthTypeNoneDeploymentType(str, Enum, metaclass=utils.OpenEnumMeta): class RedisAuthTypeNoneTypedDict(TypedDict): commands: List[RedisAuthTypeNoneCommandTypedDict] + r"""List of Redis commands to execute against the specified keys.""" auth_type: NotRequired[RedisAuthTypeNoneAuthenticationMethod] + r"""Authentication method to use when connecting to Redis.""" deployment_type: NotRequired[RedisAuthTypeNoneDeploymentType] r"""How the Redis server is configured. Defaults to Standalone""" max_block_secs: NotRequired[float] @@ -823,10 +863,13 @@ class RedisAuthTypeNoneTypedDict(TypedDict): scale_reads: NotRequired[ScaleReadsOptionsRedisDeploymentTypeCluster] r"""Which nodes read commands should be sent to""" master_name: NotRequired[str] + r"""Name of the Redis Sentinel master group to connect to.""" username: NotRequired[str] + r"""Username for Redis authentication.""" template_username: NotRequired[str] r"""Binds 'username' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'username' at runtime.""" password: NotRequired[str] + r"""Password for Redis authentication.""" template_password: NotRequired[str] r"""Binds 'password' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'password' at runtime.""" credentials_secret: NotRequired[str] @@ -837,11 +880,13 @@ class RedisAuthTypeNoneTypedDict(TypedDict): class RedisAuthTypeNone(BaseModel): commands: List[RedisAuthTypeNoneCommand] + r"""List of Redis commands to execute against the specified keys.""" auth_type: Annotated[ Optional[RedisAuthTypeNoneAuthenticationMethod], pydantic.Field(alias="authType"), ] = None + r"""Authentication method to use when connecting to Redis.""" deployment_type: Annotated[ Optional[RedisAuthTypeNoneDeploymentType], @@ -888,8 +933,10 @@ class RedisAuthTypeNone(BaseModel): r"""Which nodes read commands should be sent to""" master_name: Annotated[Optional[str], pydantic.Field(alias="masterName")] = None + r"""Name of the Redis Sentinel master group to connect to.""" username: Optional[str] = None + r"""Username for Redis authentication.""" template_username: Annotated[ Optional[str], pydantic.Field(alias="__template_username") @@ -897,6 +944,7 @@ class RedisAuthTypeNone(BaseModel): r"""Binds 'username' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'username' at runtime.""" password: Optional[str] = None + r"""Password for Redis authentication.""" template_password: Annotated[ Optional[str], pydantic.Field(alias="__template_password") @@ -1032,6 +1080,8 @@ def serialize_model(self, handler): class RedisDeploymentTypeSentinelAuthenticationMethod( str, Enum, metaclass=utils.OpenEnumMeta ): + r"""Authentication method to use when connecting to Redis.""" + # None NONE = "none" # Manual @@ -1044,7 +1094,9 @@ class RedisDeploymentTypeSentinelAuthenticationMethod( class RedisDeploymentTypeSentinelTypedDict(TypedDict): master_name: str + r"""Name of the Redis Sentinel master group to connect to.""" commands: List[RedisDeploymentTypeSentinelCommandTypedDict] + r"""List of Redis commands to execute against the specified keys.""" deployment_type: NotRequired[RedisDeploymentTypeSentinelDeploymentType] r"""How the Redis server is configured. Defaults to Standalone""" root_nodes: NotRequired[List[RootNodeConfRedisDeploymentTypeClusterTypedDict]] @@ -1053,6 +1105,7 @@ class RedisDeploymentTypeSentinelTypedDict(TypedDict): r"""Use TLS for connections to this cluster""" tls_options: NotRequired[TLSOptionsTypeRedisDeploymentTypeStandaloneTypedDict] auth_type: NotRequired[RedisDeploymentTypeSentinelAuthenticationMethod] + r"""Authentication method to use when connecting to Redis.""" max_block_secs: NotRequired[float] r"""Maximum amount of time (seconds) to wait before assuming that Redis is down and passing events through. Use 0 to disable.""" enable_client_side_caching: NotRequired[bool] @@ -1064,9 +1117,11 @@ class RedisDeploymentTypeSentinelTypedDict(TypedDict): scale_reads: NotRequired[ScaleReadsOptionsRedisDeploymentTypeCluster] r"""Which nodes read commands should be sent to""" username: NotRequired[str] + r"""Username for Redis authentication.""" template_username: NotRequired[str] r"""Binds 'username' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'username' at runtime.""" password: NotRequired[str] + r"""Password for Redis authentication.""" template_password: NotRequired[str] r"""Binds 'password' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'password' at runtime.""" credentials_secret: NotRequired[str] @@ -1077,8 +1132,10 @@ class RedisDeploymentTypeSentinelTypedDict(TypedDict): class RedisDeploymentTypeSentinel(BaseModel): master_name: Annotated[str, pydantic.Field(alias="masterName")] + r"""Name of the Redis Sentinel master group to connect to.""" commands: List[RedisDeploymentTypeSentinelCommand] + r"""List of Redis commands to execute against the specified keys.""" deployment_type: Annotated[ Optional[RedisDeploymentTypeSentinelDeploymentType], @@ -1104,6 +1161,7 @@ class RedisDeploymentTypeSentinel(BaseModel): Optional[RedisDeploymentTypeSentinelAuthenticationMethod], pydantic.Field(alias="authType"), ] = None + r"""Authentication method to use when connecting to Redis.""" max_block_secs: Annotated[Optional[float], pydantic.Field(alias="maxBlockSecs")] = ( None @@ -1130,6 +1188,7 @@ class RedisDeploymentTypeSentinel(BaseModel): r"""Which nodes read commands should be sent to""" username: Optional[str] = None + r"""Username for Redis authentication.""" template_username: Annotated[ Optional[str], pydantic.Field(alias="__template_username") @@ -1137,6 +1196,7 @@ class RedisDeploymentTypeSentinel(BaseModel): r"""Binds 'username' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'username' at runtime.""" password: Optional[str] = None + r"""Password for Redis authentication.""" template_password: Annotated[ Optional[str], pydantic.Field(alias="__template_password") @@ -1269,6 +1329,8 @@ def serialize_model(self, handler): class RedisDeploymentTypeClusterAuthenticationMethod( str, Enum, metaclass=utils.OpenEnumMeta ): + r"""Authentication method to use when connecting to Redis.""" + # None NONE = "none" # Manual @@ -1281,6 +1343,7 @@ class RedisDeploymentTypeClusterAuthenticationMethod( class RedisDeploymentTypeClusterTypedDict(TypedDict): commands: List[RedisDeploymentTypeClusterCommandTypedDict] + r"""List of Redis commands to execute against the specified keys.""" deployment_type: NotRequired[RedisDeploymentTypeClusterDeploymentType] r"""How the Redis server is configured. Defaults to Standalone""" root_nodes: NotRequired[List[RootNodeConfRedisDeploymentTypeClusterTypedDict]] @@ -1291,6 +1354,7 @@ class RedisDeploymentTypeClusterTypedDict(TypedDict): r"""Which nodes read commands should be sent to""" tls_options: NotRequired[TLSOptionsTypeRedisDeploymentTypeStandaloneTypedDict] auth_type: NotRequired[RedisDeploymentTypeClusterAuthenticationMethod] + r"""Authentication method to use when connecting to Redis.""" max_block_secs: NotRequired[float] r"""Maximum amount of time (seconds) to wait before assuming that Redis is down and passing events through. Use 0 to disable.""" enable_client_side_caching: NotRequired[bool] @@ -1300,10 +1364,13 @@ class RedisDeploymentTypeClusterTypedDict(TypedDict): 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.""" master_name: NotRequired[str] + r"""Name of the Redis Sentinel master group to connect to.""" username: NotRequired[str] + r"""Username for Redis authentication.""" template_username: NotRequired[str] r"""Binds 'username' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'username' at runtime.""" password: NotRequired[str] + r"""Password for Redis authentication.""" template_password: NotRequired[str] r"""Binds 'password' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'password' at runtime.""" credentials_secret: NotRequired[str] @@ -1314,6 +1381,7 @@ class RedisDeploymentTypeClusterTypedDict(TypedDict): class RedisDeploymentTypeCluster(BaseModel): commands: List[RedisDeploymentTypeClusterCommand] + r"""List of Redis commands to execute against the specified keys.""" deployment_type: Annotated[ Optional[RedisDeploymentTypeClusterDeploymentType], @@ -1345,6 +1413,7 @@ class RedisDeploymentTypeCluster(BaseModel): Optional[RedisDeploymentTypeClusterAuthenticationMethod], pydantic.Field(alias="authType"), ] = None + r"""Authentication method to use when connecting to Redis.""" max_block_secs: Annotated[Optional[float], pydantic.Field(alias="maxBlockSecs")] = ( None @@ -1365,8 +1434,10 @@ class RedisDeploymentTypeCluster(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.""" master_name: Annotated[Optional[str], pydantic.Field(alias="masterName")] = None + r"""Name of the Redis Sentinel master group to connect to.""" username: Optional[str] = None + r"""Username for Redis authentication.""" template_username: Annotated[ Optional[str], pydantic.Field(alias="__template_username") @@ -1374,6 +1445,7 @@ class RedisDeploymentTypeCluster(BaseModel): r"""Binds 'username' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'username' at runtime.""" password: Optional[str] = None + r"""Password for Redis authentication.""" template_password: Annotated[ Optional[str], pydantic.Field(alias="__template_password") @@ -1509,6 +1581,8 @@ def serialize_model(self, handler): class RedisDeploymentTypeStandaloneAuthenticationMethod( str, Enum, metaclass=utils.OpenEnumMeta ): + r"""Authentication method to use when connecting to Redis.""" + # None NONE = "none" # Manual @@ -1523,12 +1597,14 @@ class RedisDeploymentTypeStandaloneTypedDict(TypedDict): url: str r"""Redis URL to connect to. Format: redis[s]://[[user][:password@]][host][:port][/db-number][?db=db-number[&password=bar[&option=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: `myBucket-${C.vars.myVar}`""" commands: List[RedisDeploymentTypeStandaloneCommandTypedDict] + r"""List of Redis commands to execute against the specified keys.""" deployment_type: NotRequired[RedisDeploymentTypeStandaloneDeploymentType] r"""How the Redis server is configured. Defaults to Standalone""" tls_options: NotRequired[TLSOptionsTypeRedisDeploymentTypeStandaloneTypedDict] 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: NotRequired[RedisDeploymentTypeStandaloneAuthenticationMethod] + r"""Authentication method to use when connecting to Redis.""" max_block_secs: NotRequired[float] r"""Maximum amount of time (seconds) to wait before assuming that Redis is down and passing events through. Use 0 to disable.""" enable_client_side_caching: NotRequired[bool] @@ -1540,10 +1616,13 @@ class RedisDeploymentTypeStandaloneTypedDict(TypedDict): scale_reads: NotRequired[ScaleReadsOptionsRedisDeploymentTypeCluster] r"""Which nodes read commands should be sent to""" master_name: NotRequired[str] + r"""Name of the Redis Sentinel master group to connect to.""" username: NotRequired[str] + r"""Username for Redis authentication.""" template_username: NotRequired[str] r"""Binds 'username' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'username' at runtime.""" password: NotRequired[str] + r"""Password for Redis authentication.""" template_password: NotRequired[str] r"""Binds 'password' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'password' at runtime.""" credentials_secret: NotRequired[str] @@ -1557,6 +1636,7 @@ class RedisDeploymentTypeStandalone(BaseModel): r"""Redis URL to connect to. Format: redis[s]://[[user][:password@]][host][:port][/db-number][?db=db-number[&password=bar[&option=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: `myBucket-${C.vars.myVar}`""" commands: List[RedisDeploymentTypeStandaloneCommand] + r"""List of Redis commands to execute against the specified keys.""" deployment_type: Annotated[ Optional[RedisDeploymentTypeStandaloneDeploymentType], @@ -1578,6 +1658,7 @@ class RedisDeploymentTypeStandalone(BaseModel): Optional[RedisDeploymentTypeStandaloneAuthenticationMethod], pydantic.Field(alias="authType"), ] = None + r"""Authentication method to use when connecting to Redis.""" max_block_secs: Annotated[Optional[float], pydantic.Field(alias="maxBlockSecs")] = ( None @@ -1605,8 +1686,10 @@ class RedisDeploymentTypeStandalone(BaseModel): r"""Which nodes read commands should be sent to""" master_name: Annotated[Optional[str], pydantic.Field(alias="masterName")] = None + r"""Name of the Redis Sentinel master group to connect to.""" username: Optional[str] = None + r"""Username for Redis authentication.""" template_username: Annotated[ Optional[str], pydantic.Field(alias="__template_username") @@ -1614,6 +1697,7 @@ class RedisDeploymentTypeStandalone(BaseModel): r"""Binds 'username' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'username' at runtime.""" password: Optional[str] = None + r"""Password for Redis authentication.""" template_password: Annotated[ Optional[str], pydantic.Field(alias="__template_password") @@ -1703,6 +1787,7 @@ def serialize_model(self, handler): RedisAuthTypeTextSecretTypedDict, ], ) +r"""Configuration specific to the Pipeline Function.""" class UnknownPipelineFunctionRedisConf(BaseModel): @@ -1741,44 +1826,47 @@ class UnknownPipelineFunctionRedisConf(BaseModel): ) ), ] +r"""Configuration specific to the Pipeline Function.""" class PipelineFunctionRedisTypedDict(TypedDict): id: PipelineFunctionRedisID - r"""Function ID""" + r"""Identifier of the Function. Always redis""" conf: PipelineFunctionRedisConfTypedDict + r"""Configuration specific to the Pipeline Function.""" filter_: NotRequired[str] - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionRedis(BaseModel): id: PipelineFunctionRedisID - r"""Function ID""" + r"""Identifier of the Function. Always redis""" conf: PipelineFunctionRedisConf + r"""Configuration specific to the Pipeline Function.""" filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionregexextract.py b/src/cribl_control_plane/models/pipelinefunctionregexextract.py index f23577751..087c2a2b0 100644 --- a/src/cribl_control_plane/models/pipelinefunctionregexextract.py +++ b/src/cribl_control_plane/models/pipelinefunctionregexextract.py @@ -14,15 +14,18 @@ class PipelineFunctionRegexExtractID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always regex_extract""" REGEX_EXTRACT = "regex_extract" class PipelineFunctionRegexExtractConfTypedDict(TypedDict): + r"""Configuration specific to the Pipeline Function.""" + regex: str r"""Regex literal with named capturing groups, such as (?bar), or _NAME_ and _VALUE_ capturing groups, such as (?<_NAME_0>[^ =]+)=(?<_VALUE_0>[^,]+)""" regex_list: NotRequired[List[RegexListConfSerdeTypeRegexTypedDict]] + r"""Additional regex patterns to apply for field extraction.""" source: NotRequired[str] r"""Field on which to perform regex field extraction""" iterations: NotRequired[float] @@ -34,12 +37,15 @@ class PipelineFunctionRegexExtractConfTypedDict(TypedDict): class PipelineFunctionRegexExtractConf(BaseModel): + r"""Configuration specific to the Pipeline Function.""" + regex: str r"""Regex literal with named capturing groups, such as (?bar), or _NAME_ and _VALUE_ capturing groups, such as (?<_NAME_0>[^ =]+)=(?<_VALUE_0>[^,]+)""" regex_list: Annotated[ Optional[List[RegexListConfSerdeTypeRegex]], pydantic.Field(alias="regexList") ] = None + r"""Additional regex patterns to apply for field extraction.""" source: Optional[str] = None r"""Field on which to perform regex field extraction""" @@ -76,40 +82,42 @@ def serialize_model(self, handler): class PipelineFunctionRegexExtractTypedDict(TypedDict): id: PipelineFunctionRegexExtractID - r"""Function ID""" + r"""Identifier of the Function. Always regex_extract""" conf: PipelineFunctionRegexExtractConfTypedDict + r"""Configuration specific to the Pipeline Function.""" filter_: NotRequired[str] - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionRegexExtract(BaseModel): id: PipelineFunctionRegexExtractID - r"""Function ID""" + r"""Identifier of the Function. Always regex_extract""" conf: PipelineFunctionRegexExtractConf + r"""Configuration specific to the Pipeline Function.""" filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionregexfilter.py b/src/cribl_control_plane/models/pipelinefunctionregexfilter.py index ef89a2d3f..42fbe9db7 100644 --- a/src/cribl_control_plane/models/pipelinefunctionregexfilter.py +++ b/src/cribl_control_plane/models/pipelinefunctionregexfilter.py @@ -14,47 +14,47 @@ 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""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionRegexFilter(BaseModel): id: PipelineFunctionRegexFilterID - r"""Function ID""" + r"""Identifier of the Function. Always regex_filter""" conf: FunctionConfSchemaRegexFilter filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionrename.py b/src/cribl_control_plane/models/pipelinefunctionrename.py index fdc172494..348f5de35 100644 --- a/src/cribl_control_plane/models/pipelinefunctionrename.py +++ b/src/cribl_control_plane/models/pipelinefunctionrename.py @@ -14,47 +14,47 @@ 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""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionRename(BaseModel): id: PipelineFunctionRenameID - r"""Function ID""" + r"""Identifier of the Function. Always rename""" conf: FunctionConfSchemaRename filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionrollupmetrics.py b/src/cribl_control_plane/models/pipelinefunctionrollupmetrics.py index 70fa99146..fc50a05b4 100644 --- a/src/cribl_control_plane/models/pipelinefunctionrollupmetrics.py +++ b/src/cribl_control_plane/models/pipelinefunctionrollupmetrics.py @@ -14,47 +14,47 @@ 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""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionRollupMetrics(BaseModel): id: PipelineFunctionRollupMetricsID - r"""Function ID""" + r"""Identifier of the Function. Always rollup_metrics""" conf: FunctionConfSchemaRollupMetrics filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionsampling.py b/src/cribl_control_plane/models/pipelinefunctionsampling.py index 28603c2b3..ac2fac098 100644 --- a/src/cribl_control_plane/models/pipelinefunctionsampling.py +++ b/src/cribl_control_plane/models/pipelinefunctionsampling.py @@ -14,47 +14,47 @@ 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""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionSampling(BaseModel): id: PipelineFunctionSamplingID - r"""Function ID""" + r"""Identifier of the Function. Always sampling""" conf: FunctionConfSchemaSampling filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionsearchengineexport.py b/src/cribl_control_plane/models/pipelinefunctionsearchengineexport.py index 2820cb443..4d57ed18b 100644 --- a/src/cribl_control_plane/models/pipelinefunctionsearchengineexport.py +++ b/src/cribl_control_plane/models/pipelinefunctionsearchengineexport.py @@ -10,12 +10,14 @@ class PipelineFunctionSearchEngineExportID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always search_engine_export""" SEARCH_ENGINE_EXPORT = "search_engine_export" class SearchEngineExportConfigurationTypedDict(TypedDict): + r"""Configuration specific to the Pipeline Function.""" + search_job_id: str r"""Id of the search job this function is running on.""" dataset: str @@ -29,6 +31,8 @@ class SearchEngineExportConfigurationTypedDict(TypedDict): class SearchEngineExportConfiguration(BaseModel): + r"""Configuration specific to the Pipeline Function.""" + search_job_id: Annotated[str, pydantic.Field(alias="searchJobId")] r"""Id of the search job this function is running on.""" @@ -65,40 +69,42 @@ def serialize_model(self, handler): class PipelineFunctionSearchEngineExportTypedDict(TypedDict): id: PipelineFunctionSearchEngineExportID - r"""Function ID""" + r"""Identifier of the Function. Always search_engine_export""" conf: SearchEngineExportConfigurationTypedDict + r"""Configuration specific to the Pipeline Function.""" filter_: NotRequired[str] - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionSearchEngineExport(BaseModel): id: PipelineFunctionSearchEngineExportID - r"""Function ID""" + r"""Identifier of the Function. Always search_engine_export""" conf: SearchEngineExportConfiguration + r"""Configuration specific to the Pipeline Function.""" filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionsend.py b/src/cribl_control_plane/models/pipelinefunctionsend.py index f5888db73..06b5df09d 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" @@ -24,6 +24,8 @@ class PipelineFunctionSendMode(str, Enum, metaclass=utils.OpenEnumMeta): class SendConfigurationTypedDict(TypedDict): + r"""Configuration specific to the Pipeline Function.""" + search_id: str r"""Id of the search this function is running on.""" url: NotRequired[str] @@ -45,6 +47,8 @@ class SendConfigurationTypedDict(TypedDict): class SendConfiguration(BaseModel): + r"""Configuration specific to the Pipeline Function.""" + search_id: Annotated[str, pydantic.Field(alias="searchId")] r"""Id of the search this function is running on.""" @@ -115,40 +119,42 @@ def serialize_model(self, handler): class PipelineFunctionSendTypedDict(TypedDict): id: PipelineFunctionSendID - r"""Function ID""" + r"""Identifier of the Function. Always send""" conf: SendConfigurationTypedDict + r"""Configuration specific to the Pipeline Function.""" filter_: NotRequired[str] - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionSend(BaseModel): id: PipelineFunctionSendID - r"""Function ID""" + r"""Identifier of the Function. Always send""" conf: SendConfiguration + r"""Configuration specific to the Pipeline Function.""" filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionsensitivedatascanner.py b/src/cribl_control_plane/models/pipelinefunctionsensitivedatascanner.py index 6eadf2336..2dad1c493 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" @@ -77,7 +77,10 @@ def serialize_model(self, handler): class PipelineFunctionSensitiveDataScannerConfTypedDict(TypedDict): + r"""Configuration specific to the Pipeline Function.""" + rules: List[PipelineFunctionSensitiveDataScannerRuleTypedDict] + r"""List of scanning rulesets to apply, each with a ruleset ID and a mitigation expression.""" fields: NotRequired[List[str]] r"""Rulesets act on the events contained in these fields. Mitigation expressions apply to the scan results. Supports wildcards (*).""" exclude_fields: NotRequired[List[str]] @@ -87,10 +90,14 @@ class PipelineFunctionSensitiveDataScannerConfTypedDict(TypedDict): include_detected_rules: NotRequired[bool] r"""Add matching ruleset IDs to a field called \"__detected\" """ background_detection: NotRequired[bool] + r"""Run detection in the background without blocking event processing.""" class PipelineFunctionSensitiveDataScannerConf(BaseModel): + r"""Configuration specific to the Pipeline Function.""" + rules: List[PipelineFunctionSensitiveDataScannerRule] + r"""List of scanning rulesets to apply, each with a ruleset ID and a mitigation expression.""" fields: Optional[List[str]] = None r"""Rulesets act on the events contained in these fields. Mitigation expressions apply to the scan results. Supports wildcards (*).""" @@ -111,6 +118,7 @@ class PipelineFunctionSensitiveDataScannerConf(BaseModel): background_detection: Annotated[ Optional[bool], pydantic.Field(alias="backgroundDetection") ] = None + r"""Run detection in the background without blocking event processing.""" @model_serializer(mode="wrap") def serialize_model(self, handler): @@ -139,40 +147,42 @@ def serialize_model(self, handler): class PipelineFunctionSensitiveDataScannerTypedDict(TypedDict): id: PipelineFunctionSensitiveDataScannerID - r"""Function ID""" + r"""Identifier of the Function. Always sensitive_data_scanner""" conf: PipelineFunctionSensitiveDataScannerConfTypedDict + r"""Configuration specific to the Pipeline Function.""" filter_: NotRequired[str] - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionSensitiveDataScanner(BaseModel): id: PipelineFunctionSensitiveDataScannerID - r"""Function ID""" + r"""Identifier of the Function. Always sensitive_data_scanner""" conf: PipelineFunctionSensitiveDataScannerConf + r"""Configuration specific to the Pipeline Function.""" filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionserde.py b/src/cribl_control_plane/models/pipelinefunctionserde.py index 56b2dc7ae..d6a02e6d5 100644 --- a/src/cribl_control_plane/models/pipelinefunctionserde.py +++ b/src/cribl_control_plane/models/pipelinefunctionserde.py @@ -9,7 +9,6 @@ RegexListConfSerdeTypeRegex, RegexListConfSerdeTypeRegexTypedDict, ) -from .typeoptions import TypeOptions from cribl_control_plane import models, utils from cribl_control_plane.types import BaseModel, UNSET_SENTINEL from cribl_control_plane.utils.unions import parse_open_union @@ -23,11 +22,34 @@ class PipelineFunctionSerdeID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always serde""" SERDE = "serde" +class SerdeTypeGrokType(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Parser or formatter type to use""" + + # CSV + CSV = "csv" + # Extended Log File Format + ELFF = "elff" + # Common Log Format + CLF = "clf" + # Key=Value Pairs + KVP = "kvp" + # JSON Object + JSON = "json" + # Delimited values + DELIM = "delim" + # Regular Expression + REGEX = "regex" + # Grok + GROK = "grok" + # Auto + AUTO = "auto" + + class SerdeTypeGrokOperationMode(str, Enum, metaclass=utils.OpenEnumMeta): r"""Extract creates new fields. Reserialize extracts and filters fields, and then reserializes.""" @@ -38,17 +60,18 @@ class SerdeTypeGrokOperationMode(str, Enum, metaclass=utils.OpenEnumMeta): class SerdeTypeGrokTypedDict(TypedDict): - type: TypeOptions + type: SerdeTypeGrokType r"""Parser or formatter type to use""" pattern: str r"""Grok pattern to extract fields. Syntax supported: %{PATTERN_NAME:FIELD_NAME}""" mode: SerdeTypeGrokOperationMode r"""Extract creates new fields. Reserialize extracts and filters fields, and then reserializes.""" - pattern_list: NotRequired[List[PatternListConfSerdeTypeGrokTypedDict]] src_field: NotRequired[str] r"""Field containing text to be parsed""" dst_field: NotRequired[str] r"""Name of the field to add fields to. Extract mode only.""" + pattern_list: NotRequired[List[PatternListConfSerdeTypeGrokTypedDict]] + r"""Additional Grok patterns to apply to the source field.""" keep: NotRequired[List[str]] r"""List of fields to keep. Supports wildcards (*). Takes precedence over 'Fields to remove'.""" remove: NotRequired[List[str]] @@ -64,16 +87,19 @@ class SerdeTypeGrokTypedDict(TypedDict): regex: NotRequired[str] r"""Regex literal with named capturing groups, such as (?bar), or _NAME_ and _VALUE_ capturing groups, such as(?<_NAME_0>[^ =]+)=(?<_VALUE_0>[^,]+)""" regex_list: NotRequired[List[RegexListConfSerdeTypeRegexTypedDict]] + r"""Additional regex patterns to apply for field extraction.""" iterations: NotRequired[float] r"""The maximum number of times to apply regex to source field when the global flag is set, or when using _NAME_ and _VALUE_ capturing groups""" field_name_expression: NotRequired[str] r"""JavaScript expression to format field names when _NAME_n and _VALUE_n capturing groups are used. Original field name is in global variable 'name'. Example: To append XX to all field names, use `${name}_XX` (backticks are literal). If empty, names will be sanitized using this regex: /^[_0-9]+|[^a-zA-Z0-9_]+/g. You can access other fields values via __e..""" overwrite: NotRequired[bool] r"""Overwrite existing event fields with extracted values. If disabled, existing fields will be converted to an array.""" + tag_datatype: NotRequired[bool] + r"""Keep the detected datatype field and set isParsed to true on each event. Enable this when events are bound for downstream Cribl Search processing.""" class SerdeTypeGrok(BaseModel): - type: TypeOptions + type: SerdeTypeGrokType r"""Parser or formatter type to use""" pattern: str @@ -82,17 +108,18 @@ class SerdeTypeGrok(BaseModel): mode: SerdeTypeGrokOperationMode r"""Extract creates new fields. Reserialize extracts and filters fields, and then reserializes.""" - pattern_list: Annotated[ - Optional[List[PatternListConfSerdeTypeGrok]], - pydantic.Field(alias="patternList"), - ] = None - src_field: Annotated[Optional[str], pydantic.Field(alias="srcField")] = None r"""Field containing text to be parsed""" dst_field: Annotated[Optional[str], pydantic.Field(alias="dstField")] = None r"""Name of the field to add fields to. Extract mode only.""" + pattern_list: Annotated[ + Optional[List[PatternListConfSerdeTypeGrok]], + pydantic.Field(alias="patternList"), + ] = None + r"""Additional Grok patterns to apply to the source field.""" + keep: Optional[List[str]] = None r"""List of fields to keep. Supports wildcards (*). Takes precedence over 'Fields to remove'.""" @@ -123,6 +150,7 @@ class SerdeTypeGrok(BaseModel): regex_list: Annotated[ Optional[List[RegexListConfSerdeTypeRegex]], pydantic.Field(alias="regexList") ] = None + r"""Additional regex patterns to apply for field extraction.""" iterations: Optional[float] = None r"""The maximum number of times to apply regex to source field when the global flag is set, or when using _NAME_ and _VALUE_ capturing groups""" @@ -135,11 +163,14 @@ class SerdeTypeGrok(BaseModel): overwrite: Optional[bool] = None r"""Overwrite existing event fields with extracted values. If disabled, existing fields will be converted to an array.""" + tag_datatype: Annotated[Optional[bool], pydantic.Field(alias="tagDatatype")] = None + r"""Keep the detected datatype field and set isParsed to true on each event. Enable this when events are bound for downstream Cribl Search processing.""" + @field_serializer("type") def serialize_type(self, value): if isinstance(value, str): try: - return models.TypeOptions(value) + return models.SerdeTypeGrokType(value) except ValueError: return value return value @@ -157,9 +188,9 @@ def serialize_mode(self, value): def serialize_model(self, handler): optional_fields = set( [ - "patternList", "srcField", "dstField", + "patternList", "keep", "remove", "fieldFilterExpr", @@ -171,6 +202,7 @@ def serialize_model(self, handler): "iterations", "fieldNameExpression", "overwrite", + "tagDatatype", ] ) serialized = handler(self) @@ -187,6 +219,210 @@ def serialize_model(self, handler): return m +class SerdeTypeAutoType(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Parser or formatter type to use""" + + # CSV + CSV = "csv" + # Extended Log File Format + ELFF = "elff" + # Common Log Format + CLF = "clf" + # Key=Value Pairs + KVP = "kvp" + # JSON Object + JSON = "json" + # Delimited values + DELIM = "delim" + # Regular Expression + REGEX = "regex" + # Grok + GROK = "grok" + # Auto + AUTO = "auto" + + +class SerdeTypeAutoOperationMode(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Extract creates new fields. Reserialize extracts and filters fields, and then reserializes.""" + + # Extract + EXTRACT = "extract" + # Reserialize + RESERIALIZE = "reserialize" + + +class SerdeTypeAutoTypedDict(TypedDict): + type: SerdeTypeAutoType + r"""Parser or formatter type to use""" + mode: SerdeTypeAutoOperationMode + r"""Extract creates new fields. Reserialize extracts and filters fields, and then reserializes.""" + tag_datatype: NotRequired[bool] + r"""Keep the detected datatype field and set isParsed to true on each event. Enable this when events are bound for downstream Cribl Search processing.""" + keep: NotRequired[List[str]] + r"""List of fields to keep. Supports wildcards (*). Takes precedence over 'Fields to remove'.""" + remove: NotRequired[List[str]] + r"""List of fields to remove. Supports wildcards (*). Cannot remove fields that match 'Fields to keep'.""" + field_filter_expr: NotRequired[str] + r"""Expression evaluated against {index, name, value} context. Return truthy to keep a field, or falsy to remove it.""" + allowed_key_chars: NotRequired[List[str]] + r"""A list of characters that may be present in a key name, even though they are normally separator or control characters""" + allowed_value_chars: NotRequired[List[str]] + r"""A list of characters that may be present in a value, even though they are normally separator or control characters""" + fields: NotRequired[List[str]] + r"""The fields to be extracted, listed in order. Will auto-generate if empty.""" + regex: NotRequired[str] + r"""Regex literal with named capturing groups, such as (?bar), or _NAME_ and _VALUE_ capturing groups, such as(?<_NAME_0>[^ =]+)=(?<_VALUE_0>[^,]+)""" + regex_list: NotRequired[List[RegexListConfSerdeTypeRegexTypedDict]] + r"""Additional regex patterns to apply for field extraction.""" + iterations: NotRequired[float] + r"""The maximum number of times to apply regex to source field when the global flag is set, or when using _NAME_ and _VALUE_ capturing groups""" + field_name_expression: NotRequired[str] + r"""JavaScript expression to format field names when _NAME_n and _VALUE_n capturing groups are used. Original field name is in global variable 'name'. Example: To append XX to all field names, use `${name}_XX` (backticks are literal). If empty, names will be sanitized using this regex: /^[_0-9]+|[^a-zA-Z0-9_]+/g. You can access other fields values via __e..""" + overwrite: NotRequired[bool] + r"""Overwrite existing event fields with extracted values. If disabled, existing fields will be converted to an array.""" + pattern: NotRequired[str] + r"""Grok pattern to extract fields. Syntax supported: %{PATTERN_NAME:FIELD_NAME}""" + pattern_list: NotRequired[List[PatternListConfSerdeTypeGrokTypedDict]] + r"""Additional Grok patterns to apply to the source field.""" + + +class SerdeTypeAuto(BaseModel): + type: SerdeTypeAutoType + r"""Parser or formatter type to use""" + + mode: SerdeTypeAutoOperationMode + r"""Extract creates new fields. Reserialize extracts and filters fields, and then reserializes.""" + + tag_datatype: Annotated[Optional[bool], pydantic.Field(alias="tagDatatype")] = None + r"""Keep the detected datatype field and set isParsed to true on each event. Enable this when events are bound for downstream Cribl Search processing.""" + + keep: Optional[List[str]] = None + r"""List of fields to keep. Supports wildcards (*). Takes precedence over 'Fields to remove'.""" + + remove: Optional[List[str]] = None + r"""List of fields to remove. Supports wildcards (*). Cannot remove fields that match 'Fields to keep'.""" + + field_filter_expr: Annotated[ + Optional[str], pydantic.Field(alias="fieldFilterExpr") + ] = None + r"""Expression evaluated against {index, name, value} context. Return truthy to keep a field, or falsy to remove it.""" + + allowed_key_chars: Annotated[ + Optional[List[str]], pydantic.Field(alias="allowedKeyChars") + ] = None + r"""A list of characters that may be present in a key name, even though they are normally separator or control characters""" + + allowed_value_chars: Annotated[ + Optional[List[str]], pydantic.Field(alias="allowedValueChars") + ] = None + r"""A list of characters that may be present in a value, even though they are normally separator or control characters""" + + fields: Optional[List[str]] = None + r"""The fields to be extracted, listed in order. Will auto-generate if empty.""" + + regex: Optional[str] = None + r"""Regex literal with named capturing groups, such as (?bar), or _NAME_ and _VALUE_ capturing groups, such as(?<_NAME_0>[^ =]+)=(?<_VALUE_0>[^,]+)""" + + regex_list: Annotated[ + Optional[List[RegexListConfSerdeTypeRegex]], pydantic.Field(alias="regexList") + ] = None + r"""Additional regex patterns to apply for field extraction.""" + + iterations: Optional[float] = None + r"""The maximum number of times to apply regex to source field when the global flag is set, or when using _NAME_ and _VALUE_ capturing groups""" + + field_name_expression: Annotated[ + Optional[str], pydantic.Field(alias="fieldNameExpression") + ] = None + r"""JavaScript expression to format field names when _NAME_n and _VALUE_n capturing groups are used. Original field name is in global variable 'name'. Example: To append XX to all field names, use `${name}_XX` (backticks are literal). If empty, names will be sanitized using this regex: /^[_0-9]+|[^a-zA-Z0-9_]+/g. You can access other fields values via __e..""" + + overwrite: Optional[bool] = None + r"""Overwrite existing event fields with extracted values. If disabled, existing fields will be converted to an array.""" + + pattern: Optional[str] = None + r"""Grok pattern to extract fields. Syntax supported: %{PATTERN_NAME:FIELD_NAME}""" + + pattern_list: Annotated[ + Optional[List[PatternListConfSerdeTypeGrok]], + pydantic.Field(alias="patternList"), + ] = None + r"""Additional Grok patterns to apply to the source field.""" + + @field_serializer("type") + def serialize_type(self, value): + if isinstance(value, str): + try: + return models.SerdeTypeAutoType(value) + except ValueError: + return value + return value + + @field_serializer("mode") + def serialize_mode(self, value): + if isinstance(value, str): + try: + return models.SerdeTypeAutoOperationMode(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "tagDatatype", + "keep", + "remove", + "fieldFilterExpr", + "allowedKeyChars", + "allowedValueChars", + "fields", + "regex", + "regexList", + "iterations", + "fieldNameExpression", + "overwrite", + "pattern", + "patternList", + ] + ) + 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 SerdeTypeRegexType(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Parser or formatter type to use""" + + # CSV + CSV = "csv" + # Extended Log File Format + ELFF = "elff" + # Common Log Format + CLF = "clf" + # Key=Value Pairs + KVP = "kvp" + # JSON Object + JSON = "json" + # Delimited values + DELIM = "delim" + # Regular Expression + REGEX = "regex" + # Grok + GROK = "grok" + # Auto + AUTO = "auto" + + class SerdeTypeRegexOperationMode(str, Enum, metaclass=utils.OpenEnumMeta): r"""Extract creates new fields. Reserialize extracts and filters fields, and then reserializes.""" @@ -197,23 +433,24 @@ class SerdeTypeRegexOperationMode(str, Enum, metaclass=utils.OpenEnumMeta): class SerdeTypeRegexTypedDict(TypedDict): - type: TypeOptions + type: SerdeTypeRegexType r"""Parser or formatter type to use""" regex: str r"""Regex literal with named capturing groups, such as (?bar), or _NAME_ and _VALUE_ capturing groups, such as(?<_NAME_0>[^ =]+)=(?<_VALUE_0>[^,]+)""" mode: SerdeTypeRegexOperationMode r"""Extract creates new fields. Reserialize extracts and filters fields, and then reserializes.""" + src_field: NotRequired[str] + r"""Field containing text to be parsed""" + dst_field: NotRequired[str] + r"""Name of the field to add fields to. Extract mode only.""" regex_list: NotRequired[List[RegexListConfSerdeTypeRegexTypedDict]] + r"""Additional regex patterns to apply for field extraction.""" iterations: NotRequired[float] r"""The maximum number of times to apply regex to source field when the global flag is set, or when using _NAME_ and _VALUE_ capturing groups""" field_name_expression: NotRequired[str] r"""JavaScript expression to format field names when _NAME_n and _VALUE_n capturing groups are used. Original field name is in global variable 'name'. Example: To append XX to all field names, use `${name}_XX` (backticks are literal). If empty, names will be sanitized using this regex: /^[_0-9]+|[^a-zA-Z0-9_]+/g. You can access other fields values via __e..""" overwrite: NotRequired[bool] r"""Overwrite existing event fields with extracted values. If disabled, existing fields will be converted to an array.""" - src_field: NotRequired[str] - r"""Field containing text to be parsed""" - dst_field: NotRequired[str] - r"""Name of the field to add fields to. Extract mode only.""" keep: NotRequired[List[str]] r"""List of fields to keep. Supports wildcards (*). Takes precedence over 'Fields to remove'.""" remove: NotRequired[List[str]] @@ -226,13 +463,16 @@ class SerdeTypeRegexTypedDict(TypedDict): r"""A list of characters that may be present in a value, even though they are normally separator or control characters""" fields: NotRequired[List[str]] r"""The fields to be extracted, listed in order. Will auto-generate if empty.""" + tag_datatype: NotRequired[bool] + r"""Keep the detected datatype field and set isParsed to true on each event. Enable this when events are bound for downstream Cribl Search processing.""" pattern: NotRequired[str] r"""Grok pattern to extract fields. Syntax supported: %{PATTERN_NAME:FIELD_NAME}""" pattern_list: NotRequired[List[PatternListConfSerdeTypeGrokTypedDict]] + r"""Additional Grok patterns to apply to the source field.""" class SerdeTypeRegex(BaseModel): - type: TypeOptions + type: SerdeTypeRegexType r"""Parser or formatter type to use""" regex: str @@ -241,9 +481,16 @@ class SerdeTypeRegex(BaseModel): mode: SerdeTypeRegexOperationMode r"""Extract creates new fields. Reserialize extracts and filters fields, and then reserializes.""" + src_field: Annotated[Optional[str], pydantic.Field(alias="srcField")] = None + r"""Field containing text to be parsed""" + + dst_field: Annotated[Optional[str], pydantic.Field(alias="dstField")] = None + r"""Name of the field to add fields to. Extract mode only.""" + regex_list: Annotated[ Optional[List[RegexListConfSerdeTypeRegex]], pydantic.Field(alias="regexList") ] = None + r"""Additional regex patterns to apply for field extraction.""" iterations: Optional[float] = None r"""The maximum number of times to apply regex to source field when the global flag is set, or when using _NAME_ and _VALUE_ capturing groups""" @@ -256,12 +503,6 @@ class SerdeTypeRegex(BaseModel): overwrite: Optional[bool] = None r"""Overwrite existing event fields with extracted values. If disabled, existing fields will be converted to an array.""" - src_field: Annotated[Optional[str], pydantic.Field(alias="srcField")] = None - r"""Field containing text to be parsed""" - - dst_field: Annotated[Optional[str], pydantic.Field(alias="dstField")] = None - r"""Name of the field to add fields to. Extract mode only.""" - keep: Optional[List[str]] = None r"""List of fields to keep. Supports wildcards (*). Takes precedence over 'Fields to remove'.""" @@ -286,6 +527,9 @@ class SerdeTypeRegex(BaseModel): fields: Optional[List[str]] = None r"""The fields to be extracted, listed in order. Will auto-generate if empty.""" + tag_datatype: Annotated[Optional[bool], pydantic.Field(alias="tagDatatype")] = None + r"""Keep the detected datatype field and set isParsed to true on each event. Enable this when events are bound for downstream Cribl Search processing.""" + pattern: Optional[str] = None r"""Grok pattern to extract fields. Syntax supported: %{PATTERN_NAME:FIELD_NAME}""" @@ -293,12 +537,13 @@ class SerdeTypeRegex(BaseModel): Optional[List[PatternListConfSerdeTypeGrok]], pydantic.Field(alias="patternList"), ] = None + r"""Additional Grok patterns to apply to the source field.""" @field_serializer("type") def serialize_type(self, value): if isinstance(value, str): try: - return models.TypeOptions(value) + return models.SerdeTypeRegexType(value) except ValueError: return value return value @@ -316,18 +561,19 @@ def serialize_mode(self, value): def serialize_model(self, handler): optional_fields = set( [ + "srcField", + "dstField", "regexList", "iterations", "fieldNameExpression", "overwrite", - "srcField", - "dstField", "keep", "remove", "fieldFilterExpr", "allowedKeyChars", "allowedValueChars", "fields", + "tagDatatype", "pattern", "patternList", ] @@ -346,6 +592,29 @@ def serialize_model(self, handler): return m +class SerdeTypeJSONType(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Parser or formatter type to use""" + + # CSV + CSV = "csv" + # Extended Log File Format + ELFF = "elff" + # Common Log Format + CLF = "clf" + # Key=Value Pairs + KVP = "kvp" + # JSON Object + JSON = "json" + # Delimited values + DELIM = "delim" + # Regular Expression + REGEX = "regex" + # Grok + GROK = "grok" + # Auto + AUTO = "auto" + + class SerdeTypeJSONOperationMode(str, Enum, metaclass=utils.OpenEnumMeta): r"""Extract creates new fields. Reserialize extracts and filters fields, and then reserializes.""" @@ -356,20 +625,20 @@ class SerdeTypeJSONOperationMode(str, Enum, metaclass=utils.OpenEnumMeta): class SerdeTypeJSONTypedDict(TypedDict): - type: TypeOptions + type: SerdeTypeJSONType r"""Parser or formatter type to use""" mode: SerdeTypeJSONOperationMode r"""Extract creates new fields. Reserialize extracts and filters fields, and then reserializes.""" + src_field: NotRequired[str] + r"""Field containing text to be parsed""" + dst_field: NotRequired[str] + r"""Name of the field to add fields to. Extract mode only.""" keep: NotRequired[List[str]] r"""List of fields to keep. Supports wildcards (*). Takes precedence over 'Fields to remove'.""" remove: NotRequired[List[str]] r"""List of fields to remove. Supports wildcards (*). Cannot remove fields that match 'Fields to keep'.""" field_filter_expr: NotRequired[str] r"""Expression evaluated against {index, name, value} context. Return truthy to keep a field, or falsy to remove it.""" - src_field: NotRequired[str] - r"""Field containing text to be parsed""" - dst_field: NotRequired[str] - r"""Name of the field to add fields to. Extract mode only.""" allowed_key_chars: NotRequired[List[str]] r"""A list of characters that may be present in a key name, even though they are normally separator or control characters""" allowed_value_chars: NotRequired[List[str]] @@ -379,24 +648,34 @@ class SerdeTypeJSONTypedDict(TypedDict): regex: NotRequired[str] r"""Regex literal with named capturing groups, such as (?bar), or _NAME_ and _VALUE_ capturing groups, such as(?<_NAME_0>[^ =]+)=(?<_VALUE_0>[^,]+)""" regex_list: NotRequired[List[RegexListConfSerdeTypeRegexTypedDict]] + r"""Additional regex patterns to apply for field extraction.""" iterations: NotRequired[float] r"""The maximum number of times to apply regex to source field when the global flag is set, or when using _NAME_ and _VALUE_ capturing groups""" field_name_expression: NotRequired[str] r"""JavaScript expression to format field names when _NAME_n and _VALUE_n capturing groups are used. Original field name is in global variable 'name'. Example: To append XX to all field names, use `${name}_XX` (backticks are literal). If empty, names will be sanitized using this regex: /^[_0-9]+|[^a-zA-Z0-9_]+/g. You can access other fields values via __e..""" overwrite: NotRequired[bool] r"""Overwrite existing event fields with extracted values. If disabled, existing fields will be converted to an array.""" + tag_datatype: NotRequired[bool] + r"""Keep the detected datatype field and set isParsed to true on each event. Enable this when events are bound for downstream Cribl Search processing.""" pattern: NotRequired[str] r"""Grok pattern to extract fields. Syntax supported: %{PATTERN_NAME:FIELD_NAME}""" pattern_list: NotRequired[List[PatternListConfSerdeTypeGrokTypedDict]] + r"""Additional Grok patterns to apply to the source field.""" class SerdeTypeJSON(BaseModel): - type: TypeOptions + type: SerdeTypeJSONType r"""Parser or formatter type to use""" mode: SerdeTypeJSONOperationMode r"""Extract creates new fields. Reserialize extracts and filters fields, and then reserializes.""" + src_field: Annotated[Optional[str], pydantic.Field(alias="srcField")] = None + r"""Field containing text to be parsed""" + + dst_field: Annotated[Optional[str], pydantic.Field(alias="dstField")] = None + r"""Name of the field to add fields to. Extract mode only.""" + keep: Optional[List[str]] = None r"""List of fields to keep. Supports wildcards (*). Takes precedence over 'Fields to remove'.""" @@ -408,12 +687,6 @@ class SerdeTypeJSON(BaseModel): ] = None r"""Expression evaluated against {index, name, value} context. Return truthy to keep a field, or falsy to remove it.""" - src_field: Annotated[Optional[str], pydantic.Field(alias="srcField")] = None - r"""Field containing text to be parsed""" - - dst_field: Annotated[Optional[str], pydantic.Field(alias="dstField")] = None - r"""Name of the field to add fields to. Extract mode only.""" - allowed_key_chars: Annotated[ Optional[List[str]], pydantic.Field(alias="allowedKeyChars") ] = None @@ -433,6 +706,7 @@ class SerdeTypeJSON(BaseModel): regex_list: Annotated[ Optional[List[RegexListConfSerdeTypeRegex]], pydantic.Field(alias="regexList") ] = None + r"""Additional regex patterns to apply for field extraction.""" iterations: Optional[float] = None r"""The maximum number of times to apply regex to source field when the global flag is set, or when using _NAME_ and _VALUE_ capturing groups""" @@ -445,6 +719,9 @@ class SerdeTypeJSON(BaseModel): overwrite: Optional[bool] = None r"""Overwrite existing event fields with extracted values. If disabled, existing fields will be converted to an array.""" + tag_datatype: Annotated[Optional[bool], pydantic.Field(alias="tagDatatype")] = None + r"""Keep the detected datatype field and set isParsed to true on each event. Enable this when events are bound for downstream Cribl Search processing.""" + pattern: Optional[str] = None r"""Grok pattern to extract fields. Syntax supported: %{PATTERN_NAME:FIELD_NAME}""" @@ -452,12 +729,13 @@ class SerdeTypeJSON(BaseModel): Optional[List[PatternListConfSerdeTypeGrok]], pydantic.Field(alias="patternList"), ] = None + r"""Additional Grok patterns to apply to the source field.""" @field_serializer("type") def serialize_type(self, value): if isinstance(value, str): try: - return models.TypeOptions(value) + return models.SerdeTypeJSONType(value) except ValueError: return value return value @@ -475,11 +753,11 @@ def serialize_mode(self, value): def serialize_model(self, handler): optional_fields = set( [ + "srcField", + "dstField", "keep", "remove", "fieldFilterExpr", - "srcField", - "dstField", "allowedKeyChars", "allowedValueChars", "fields", @@ -488,6 +766,7 @@ def serialize_model(self, handler): "iterations", "fieldNameExpression", "overwrite", + "tagDatatype", "pattern", "patternList", ] @@ -506,6 +785,29 @@ def serialize_model(self, handler): return m +class SerdeTypeCsvType(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Parser or formatter type to use""" + + # CSV + CSV = "csv" + # Extended Log File Format + ELFF = "elff" + # Common Log Format + CLF = "clf" + # Key=Value Pairs + KVP = "kvp" + # JSON Object + JSON = "json" + # Delimited values + DELIM = "delim" + # Regular Expression + REGEX = "regex" + # Grok + GROK = "grok" + # Auto + AUTO = "auto" + + class SerdeTypeCsvOperationMode(str, Enum, metaclass=utils.OpenEnumMeta): r"""Extract creates new fields. Reserialize extracts and filters fields, and then reserializes.""" @@ -516,10 +818,14 @@ class SerdeTypeCsvOperationMode(str, Enum, metaclass=utils.OpenEnumMeta): class SerdeTypeCsvTypedDict(TypedDict): - type: TypeOptions + type: SerdeTypeCsvType r"""Parser or formatter type to use""" mode: SerdeTypeCsvOperationMode r"""Extract creates new fields. Reserialize extracts and filters fields, and then reserializes.""" + src_field: NotRequired[str] + r"""Field containing text to be parsed""" + dst_field: NotRequired[str] + r"""Name of the field to add fields to. Extract mode only.""" fields: NotRequired[List[str]] r"""The fields to be extracted, listed in order. Will auto-generate if empty.""" keep: NotRequired[List[str]] @@ -528,10 +834,6 @@ class SerdeTypeCsvTypedDict(TypedDict): r"""List of fields to remove. Supports wildcards (*). Cannot remove fields that match 'Fields to keep'.""" field_filter_expr: NotRequired[str] r"""Expression evaluated against {index, name, value} context. Return truthy to keep a field, or falsy to remove it.""" - src_field: NotRequired[str] - r"""Field containing text to be parsed""" - dst_field: NotRequired[str] - r"""Name of the field to add fields to. Extract mode only.""" allowed_key_chars: NotRequired[List[str]] r"""A list of characters that may be present in a key name, even though they are normally separator or control characters""" allowed_value_chars: NotRequired[List[str]] @@ -539,24 +841,34 @@ class SerdeTypeCsvTypedDict(TypedDict): regex: NotRequired[str] r"""Regex literal with named capturing groups, such as (?bar), or _NAME_ and _VALUE_ capturing groups, such as(?<_NAME_0>[^ =]+)=(?<_VALUE_0>[^,]+)""" regex_list: NotRequired[List[RegexListConfSerdeTypeRegexTypedDict]] + r"""Additional regex patterns to apply for field extraction.""" iterations: NotRequired[float] r"""The maximum number of times to apply regex to source field when the global flag is set, or when using _NAME_ and _VALUE_ capturing groups""" field_name_expression: NotRequired[str] r"""JavaScript expression to format field names when _NAME_n and _VALUE_n capturing groups are used. Original field name is in global variable 'name'. Example: To append XX to all field names, use `${name}_XX` (backticks are literal). If empty, names will be sanitized using this regex: /^[_0-9]+|[^a-zA-Z0-9_]+/g. You can access other fields values via __e..""" overwrite: NotRequired[bool] r"""Overwrite existing event fields with extracted values. If disabled, existing fields will be converted to an array.""" + tag_datatype: NotRequired[bool] + r"""Keep the detected datatype field and set isParsed to true on each event. Enable this when events are bound for downstream Cribl Search processing.""" pattern: NotRequired[str] r"""Grok pattern to extract fields. Syntax supported: %{PATTERN_NAME:FIELD_NAME}""" pattern_list: NotRequired[List[PatternListConfSerdeTypeGrokTypedDict]] + r"""Additional Grok patterns to apply to the source field.""" class SerdeTypeCsv(BaseModel): - type: TypeOptions + type: SerdeTypeCsvType r"""Parser or formatter type to use""" mode: SerdeTypeCsvOperationMode r"""Extract creates new fields. Reserialize extracts and filters fields, and then reserializes.""" + src_field: Annotated[Optional[str], pydantic.Field(alias="srcField")] = None + r"""Field containing text to be parsed""" + + dst_field: Annotated[Optional[str], pydantic.Field(alias="dstField")] = None + r"""Name of the field to add fields to. Extract mode only.""" + fields: Optional[List[str]] = None r"""The fields to be extracted, listed in order. Will auto-generate if empty.""" @@ -571,12 +883,6 @@ class SerdeTypeCsv(BaseModel): ] = None r"""Expression evaluated against {index, name, value} context. Return truthy to keep a field, or falsy to remove it.""" - src_field: Annotated[Optional[str], pydantic.Field(alias="srcField")] = None - r"""Field containing text to be parsed""" - - dst_field: Annotated[Optional[str], pydantic.Field(alias="dstField")] = None - r"""Name of the field to add fields to. Extract mode only.""" - allowed_key_chars: Annotated[ Optional[List[str]], pydantic.Field(alias="allowedKeyChars") ] = None @@ -593,6 +899,7 @@ class SerdeTypeCsv(BaseModel): regex_list: Annotated[ Optional[List[RegexListConfSerdeTypeRegex]], pydantic.Field(alias="regexList") ] = None + r"""Additional regex patterns to apply for field extraction.""" iterations: Optional[float] = None r"""The maximum number of times to apply regex to source field when the global flag is set, or when using _NAME_ and _VALUE_ capturing groups""" @@ -605,6 +912,9 @@ class SerdeTypeCsv(BaseModel): overwrite: Optional[bool] = None r"""Overwrite existing event fields with extracted values. If disabled, existing fields will be converted to an array.""" + tag_datatype: Annotated[Optional[bool], pydantic.Field(alias="tagDatatype")] = None + r"""Keep the detected datatype field and set isParsed to true on each event. Enable this when events are bound for downstream Cribl Search processing.""" + pattern: Optional[str] = None r"""Grok pattern to extract fields. Syntax supported: %{PATTERN_NAME:FIELD_NAME}""" @@ -612,12 +922,13 @@ class SerdeTypeCsv(BaseModel): Optional[List[PatternListConfSerdeTypeGrok]], pydantic.Field(alias="patternList"), ] = None + r"""Additional Grok patterns to apply to the source field.""" @field_serializer("type") def serialize_type(self, value): if isinstance(value, str): try: - return models.TypeOptions(value) + return models.SerdeTypeCsvType(value) except ValueError: return value return value @@ -635,12 +946,12 @@ def serialize_mode(self, value): def serialize_model(self, handler): optional_fields = set( [ + "srcField", + "dstField", "fields", "keep", "remove", "fieldFilterExpr", - "srcField", - "dstField", "allowedKeyChars", "allowedValueChars", "regex", @@ -648,6 +959,7 @@ def serialize_model(self, handler): "iterations", "fieldNameExpression", "overwrite", + "tagDatatype", "pattern", "patternList", ] @@ -666,6 +978,29 @@ def serialize_model(self, handler): return m +class SerdeTypeDelimType(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Parser or formatter type to use""" + + # CSV + CSV = "csv" + # Extended Log File Format + ELFF = "elff" + # Common Log Format + CLF = "clf" + # Key=Value Pairs + KVP = "kvp" + # JSON Object + JSON = "json" + # Delimited values + DELIM = "delim" + # Regular Expression + REGEX = "regex" + # Grok + GROK = "grok" + # Auto + AUTO = "auto" + + class SerdeTypeDelimOperationMode(str, Enum, metaclass=utils.OpenEnumMeta): r"""Extract creates new fields. Reserialize extracts and filters fields, and then reserializes.""" @@ -676,10 +1011,14 @@ class SerdeTypeDelimOperationMode(str, Enum, metaclass=utils.OpenEnumMeta): class SerdeTypeDelimTypedDict(TypedDict): - type: TypeOptions + type: SerdeTypeDelimType r"""Parser or formatter type to use""" mode: SerdeTypeDelimOperationMode r"""Extract creates new fields. Reserialize extracts and filters fields, and then reserializes.""" + src_field: NotRequired[str] + r"""Field containing text to be parsed""" + dst_field: NotRequired[str] + r"""Name of the field to add fields to. Extract mode only.""" fields: NotRequired[List[str]] r"""The fields to be extracted, listed in order. Will auto-generate if empty.""" keep: NotRequired[List[str]] @@ -696,10 +1035,6 @@ class SerdeTypeDelimTypedDict(TypedDict): r"""Escape character used to escape delimiter or quote character""" null_value: NotRequired[str] r"""Field value representing the null value. Null fields will be omitted.""" - src_field: NotRequired[str] - r"""Field containing text to be parsed""" - dst_field: NotRequired[str] - r"""Name of the field to add fields to. Extract mode only.""" allowed_key_chars: NotRequired[List[str]] r"""A list of characters that may be present in a key name, even though they are normally separator or control characters""" allowed_value_chars: NotRequired[List[str]] @@ -707,24 +1042,34 @@ class SerdeTypeDelimTypedDict(TypedDict): regex: NotRequired[str] r"""Regex literal with named capturing groups, such as (?bar), or _NAME_ and _VALUE_ capturing groups, such as(?<_NAME_0>[^ =]+)=(?<_VALUE_0>[^,]+)""" regex_list: NotRequired[List[RegexListConfSerdeTypeRegexTypedDict]] + r"""Additional regex patterns to apply for field extraction.""" iterations: NotRequired[float] r"""The maximum number of times to apply regex to source field when the global flag is set, or when using _NAME_ and _VALUE_ capturing groups""" field_name_expression: NotRequired[str] r"""JavaScript expression to format field names when _NAME_n and _VALUE_n capturing groups are used. Original field name is in global variable 'name'. Example: To append XX to all field names, use `${name}_XX` (backticks are literal). If empty, names will be sanitized using this regex: /^[_0-9]+|[^a-zA-Z0-9_]+/g. You can access other fields values via __e..""" overwrite: NotRequired[bool] r"""Overwrite existing event fields with extracted values. If disabled, existing fields will be converted to an array.""" + tag_datatype: NotRequired[bool] + r"""Keep the detected datatype field and set isParsed to true on each event. Enable this when events are bound for downstream Cribl Search processing.""" pattern: NotRequired[str] r"""Grok pattern to extract fields. Syntax supported: %{PATTERN_NAME:FIELD_NAME}""" pattern_list: NotRequired[List[PatternListConfSerdeTypeGrokTypedDict]] + r"""Additional Grok patterns to apply to the source field.""" class SerdeTypeDelim(BaseModel): - type: TypeOptions + type: SerdeTypeDelimType r"""Parser or formatter type to use""" mode: SerdeTypeDelimOperationMode r"""Extract creates new fields. Reserialize extracts and filters fields, and then reserializes.""" + src_field: Annotated[Optional[str], pydantic.Field(alias="srcField")] = None + r"""Field containing text to be parsed""" + + dst_field: Annotated[Optional[str], pydantic.Field(alias="dstField")] = None + r"""Name of the field to add fields to. Extract mode only.""" + fields: Optional[List[str]] = None r"""The fields to be extracted, listed in order. Will auto-generate if empty.""" @@ -751,12 +1096,6 @@ class SerdeTypeDelim(BaseModel): null_value: Annotated[Optional[str], pydantic.Field(alias="nullValue")] = None r"""Field value representing the null value. Null fields will be omitted.""" - src_field: Annotated[Optional[str], pydantic.Field(alias="srcField")] = None - r"""Field containing text to be parsed""" - - dst_field: Annotated[Optional[str], pydantic.Field(alias="dstField")] = None - r"""Name of the field to add fields to. Extract mode only.""" - allowed_key_chars: Annotated[ Optional[List[str]], pydantic.Field(alias="allowedKeyChars") ] = None @@ -773,6 +1112,7 @@ class SerdeTypeDelim(BaseModel): regex_list: Annotated[ Optional[List[RegexListConfSerdeTypeRegex]], pydantic.Field(alias="regexList") ] = None + r"""Additional regex patterns to apply for field extraction.""" iterations: Optional[float] = None r"""The maximum number of times to apply regex to source field when the global flag is set, or when using _NAME_ and _VALUE_ capturing groups""" @@ -785,6 +1125,9 @@ class SerdeTypeDelim(BaseModel): overwrite: Optional[bool] = None r"""Overwrite existing event fields with extracted values. If disabled, existing fields will be converted to an array.""" + tag_datatype: Annotated[Optional[bool], pydantic.Field(alias="tagDatatype")] = None + r"""Keep the detected datatype field and set isParsed to true on each event. Enable this when events are bound for downstream Cribl Search processing.""" + pattern: Optional[str] = None r"""Grok pattern to extract fields. Syntax supported: %{PATTERN_NAME:FIELD_NAME}""" @@ -792,12 +1135,13 @@ class SerdeTypeDelim(BaseModel): Optional[List[PatternListConfSerdeTypeGrok]], pydantic.Field(alias="patternList"), ] = None + r"""Additional Grok patterns to apply to the source field.""" @field_serializer("type") def serialize_type(self, value): if isinstance(value, str): try: - return models.TypeOptions(value) + return models.SerdeTypeDelimType(value) except ValueError: return value return value @@ -815,6 +1159,8 @@ def serialize_mode(self, value): def serialize_model(self, handler): optional_fields = set( [ + "srcField", + "dstField", "fields", "keep", "remove", @@ -823,8 +1169,6 @@ def serialize_model(self, handler): "quoteChar", "escapeChar", "nullValue", - "srcField", - "dstField", "allowedKeyChars", "allowedValueChars", "regex", @@ -832,6 +1176,7 @@ def serialize_model(self, handler): "iterations", "fieldNameExpression", "overwrite", + "tagDatatype", "pattern", "patternList", ] @@ -850,6 +1195,29 @@ def serialize_model(self, handler): return m +class SerdeTypeKvpType(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Parser or formatter type to use""" + + # CSV + CSV = "csv" + # Extended Log File Format + ELFF = "elff" + # Common Log Format + CLF = "clf" + # Key=Value Pairs + KVP = "kvp" + # JSON Object + JSON = "json" + # Delimited values + DELIM = "delim" + # Regular Expression + REGEX = "regex" + # Grok + GROK = "grok" + # Auto + AUTO = "auto" + + class SerdeTypeKvpOperationMode(str, Enum, metaclass=utils.OpenEnumMeta): r"""Extract creates new fields. Reserialize extracts and filters fields, and then reserializes.""" @@ -860,10 +1228,14 @@ class SerdeTypeKvpOperationMode(str, Enum, metaclass=utils.OpenEnumMeta): class SerdeTypeKvpTypedDict(TypedDict): - type: TypeOptions + type: SerdeTypeKvpType r"""Parser or formatter type to use""" mode: SerdeTypeKvpOperationMode r"""Extract creates new fields. Reserialize extracts and filters fields, and then reserializes.""" + src_field: NotRequired[str] + r"""Field containing text to be parsed""" + dst_field: NotRequired[str] + r"""Name of the field to add fields to. Extract mode only.""" keep: NotRequired[List[str]] r"""List of fields to keep. Supports wildcards (*). Takes precedence over 'Fields to remove'.""" remove: NotRequired[List[str]] @@ -876,33 +1248,39 @@ class SerdeTypeKvpTypedDict(TypedDict): r"""A list of characters that may be present in a key name, even though they are normally separator or control characters""" allowed_value_chars: NotRequired[List[str]] r"""A list of characters that may be present in a value, even though they are normally separator or control characters""" - src_field: NotRequired[str] - r"""Field containing text to be parsed""" - dst_field: NotRequired[str] - r"""Name of the field to add fields to. Extract mode only.""" fields: NotRequired[List[str]] r"""The fields to be extracted, listed in order. Will auto-generate if empty.""" regex: NotRequired[str] r"""Regex literal with named capturing groups, such as (?bar), or _NAME_ and _VALUE_ capturing groups, such as(?<_NAME_0>[^ =]+)=(?<_VALUE_0>[^,]+)""" regex_list: NotRequired[List[RegexListConfSerdeTypeRegexTypedDict]] + r"""Additional regex patterns to apply for field extraction.""" iterations: NotRequired[float] r"""The maximum number of times to apply regex to source field when the global flag is set, or when using _NAME_ and _VALUE_ capturing groups""" field_name_expression: NotRequired[str] r"""JavaScript expression to format field names when _NAME_n and _VALUE_n capturing groups are used. Original field name is in global variable 'name'. Example: To append XX to all field names, use `${name}_XX` (backticks are literal). If empty, names will be sanitized using this regex: /^[_0-9]+|[^a-zA-Z0-9_]+/g. You can access other fields values via __e..""" overwrite: NotRequired[bool] r"""Overwrite existing event fields with extracted values. If disabled, existing fields will be converted to an array.""" + tag_datatype: NotRequired[bool] + r"""Keep the detected datatype field and set isParsed to true on each event. Enable this when events are bound for downstream Cribl Search processing.""" pattern: NotRequired[str] r"""Grok pattern to extract fields. Syntax supported: %{PATTERN_NAME:FIELD_NAME}""" pattern_list: NotRequired[List[PatternListConfSerdeTypeGrokTypedDict]] + r"""Additional Grok patterns to apply to the source field.""" class SerdeTypeKvp(BaseModel): - type: TypeOptions + type: SerdeTypeKvpType r"""Parser or formatter type to use""" mode: SerdeTypeKvpOperationMode r"""Extract creates new fields. Reserialize extracts and filters fields, and then reserializes.""" + src_field: Annotated[Optional[str], pydantic.Field(alias="srcField")] = None + r"""Field containing text to be parsed""" + + dst_field: Annotated[Optional[str], pydantic.Field(alias="dstField")] = None + r"""Name of the field to add fields to. Extract mode only.""" + keep: Optional[List[str]] = None r"""List of fields to keep. Supports wildcards (*). Takes precedence over 'Fields to remove'.""" @@ -927,12 +1305,6 @@ class SerdeTypeKvp(BaseModel): ] = None r"""A list of characters that may be present in a value, even though they are normally separator or control characters""" - src_field: Annotated[Optional[str], pydantic.Field(alias="srcField")] = None - r"""Field containing text to be parsed""" - - dst_field: Annotated[Optional[str], pydantic.Field(alias="dstField")] = None - r"""Name of the field to add fields to. Extract mode only.""" - fields: Optional[List[str]] = None r"""The fields to be extracted, listed in order. Will auto-generate if empty.""" @@ -942,6 +1314,7 @@ class SerdeTypeKvp(BaseModel): regex_list: Annotated[ Optional[List[RegexListConfSerdeTypeRegex]], pydantic.Field(alias="regexList") ] = None + r"""Additional regex patterns to apply for field extraction.""" iterations: Optional[float] = None r"""The maximum number of times to apply regex to source field when the global flag is set, or when using _NAME_ and _VALUE_ capturing groups""" @@ -954,6 +1327,9 @@ class SerdeTypeKvp(BaseModel): overwrite: Optional[bool] = None r"""Overwrite existing event fields with extracted values. If disabled, existing fields will be converted to an array.""" + tag_datatype: Annotated[Optional[bool], pydantic.Field(alias="tagDatatype")] = None + r"""Keep the detected datatype field and set isParsed to true on each event. Enable this when events are bound for downstream Cribl Search processing.""" + pattern: Optional[str] = None r"""Grok pattern to extract fields. Syntax supported: %{PATTERN_NAME:FIELD_NAME}""" @@ -961,12 +1337,13 @@ class SerdeTypeKvp(BaseModel): Optional[List[PatternListConfSerdeTypeGrok]], pydantic.Field(alias="patternList"), ] = None + r"""Additional Grok patterns to apply to the source field.""" @field_serializer("type") def serialize_type(self, value): if isinstance(value, str): try: - return models.TypeOptions(value) + return models.SerdeTypeKvpType(value) except ValueError: return value return value @@ -984,20 +1361,21 @@ def serialize_mode(self, value): def serialize_model(self, handler): optional_fields = set( [ + "srcField", + "dstField", "keep", "remove", "fieldFilterExpr", "cleanFields", "allowedKeyChars", "allowedValueChars", - "srcField", - "dstField", "fields", "regex", "regexList", "iterations", "fieldNameExpression", "overwrite", + "tagDatatype", "pattern", "patternList", ] @@ -1019,6 +1397,7 @@ def serialize_model(self, handler): PipelineFunctionSerdeConfTypedDict = TypeAliasType( "PipelineFunctionSerdeConfTypedDict", Union[ + SerdeTypeAutoTypedDict, SerdeTypeCsvTypedDict, SerdeTypeJSONTypedDict, SerdeTypeRegexTypedDict, @@ -1027,6 +1406,7 @@ def serialize_model(self, handler): SerdeTypeDelimTypedDict, ], ) +r"""Configuration specific to the Pipeline Function.""" class UnknownPipelineFunctionSerdeConf(BaseModel): @@ -1045,6 +1425,7 @@ class UnknownPipelineFunctionSerdeConf(BaseModel): "csv": SerdeTypeCsv, "json": SerdeTypeJSON, "regex": SerdeTypeRegex, + "auto": SerdeTypeAuto, "grok": SerdeTypeGrok, } @@ -1056,6 +1437,7 @@ class UnknownPipelineFunctionSerdeConf(BaseModel): SerdeTypeCsv, SerdeTypeJSON, SerdeTypeRegex, + SerdeTypeAuto, SerdeTypeGrok, UnknownPipelineFunctionSerdeConf, ], @@ -1069,44 +1451,47 @@ class UnknownPipelineFunctionSerdeConf(BaseModel): ) ), ] +r"""Configuration specific to the Pipeline Function.""" class PipelineFunctionSerdeTypedDict(TypedDict): id: PipelineFunctionSerdeID - r"""Function ID""" + r"""Identifier of the Function. Always serde""" conf: PipelineFunctionSerdeConfTypedDict + r"""Configuration specific to the Pipeline Function.""" filter_: NotRequired[str] - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionSerde(BaseModel): id: PipelineFunctionSerdeID - r"""Function ID""" + r"""Identifier of the Function. Always serde""" conf: PipelineFunctionSerdeConf + r"""Configuration specific to the Pipeline Function.""" filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): @@ -1129,6 +1514,10 @@ def serialize_model(self, handler): SerdeTypeGrok.model_rebuild() except NameError: pass +try: + SerdeTypeAuto.model_rebuild() +except NameError: + pass try: SerdeTypeRegex.model_rebuild() except NameError: diff --git a/src/cribl_control_plane/models/pipelinefunctionserialize.py b/src/cribl_control_plane/models/pipelinefunctionserialize.py index 0db5d95cd..ba99b5be7 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" @@ -336,6 +336,7 @@ def serialize_model(self, handler): SerializeTypeDelimTypedDict, ], ) +r"""Configuration specific to the Pipeline Function.""" class UnknownPipelineFunctionSerializeConf(BaseModel): @@ -372,44 +373,47 @@ class UnknownPipelineFunctionSerializeConf(BaseModel): ) ), ] +r"""Configuration specific to the Pipeline Function.""" class PipelineFunctionSerializeTypedDict(TypedDict): id: PipelineFunctionSerializeID - r"""Function ID""" + r"""Identifier of the Function. Always serialize""" conf: PipelineFunctionSerializeConfTypedDict + r"""Configuration specific to the Pipeline Function.""" filter_: NotRequired[str] - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionSerialize(BaseModel): id: PipelineFunctionSerializeID - r"""Function ID""" + r"""Identifier of the Function. Always serialize""" conf: PipelineFunctionSerializeConf + r"""Configuration specific to the Pipeline Function.""" filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionsidlookup.py b/src/cribl_control_plane/models/pipelinefunctionsidlookup.py index 1d8ddf70e..49e7d6c61 100644 --- a/src/cribl_control_plane/models/pipelinefunctionsidlookup.py +++ b/src/cribl_control_plane/models/pipelinefunctionsidlookup.py @@ -14,47 +14,47 @@ 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""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionSidlookup(BaseModel): id: PipelineFunctionSidlookupID - r"""Function ID""" + r"""Identifier of the Function. Always sidlookup""" conf: FunctionConfSchemaSidlookup filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionsignalfilter.py b/src/cribl_control_plane/models/pipelinefunctionsignalfilter.py index 727dd3018..54b3aed5b 100644 --- a/src/cribl_control_plane/models/pipelinefunctionsignalfilter.py +++ b/src/cribl_control_plane/models/pipelinefunctionsignalfilter.py @@ -14,47 +14,47 @@ 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""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionSignalFilter(BaseModel): id: PipelineFunctionSignalFilterID - r"""Function ID""" + r"""Identifier of the Function. Always signal_filter""" conf: FunctionConfSchemaSignalFilter filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionsnmptrapserialize.py b/src/cribl_control_plane/models/pipelinefunctionsnmptrapserialize.py index 19005a162..c2a66ed59 100644 --- a/src/cribl_control_plane/models/pipelinefunctionsnmptrapserialize.py +++ b/src/cribl_control_plane/models/pipelinefunctionsnmptrapserialize.py @@ -14,47 +14,47 @@ 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""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionSnmpTrapSerialize(BaseModel): id: PipelineFunctionSnmpTrapSerializeID - r"""Function ID""" + r"""Identifier of the Function. Always snmp_trap_serialize""" conf: FunctionConfSchemaSnmpTrapSerialize filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionsort.py b/src/cribl_control_plane/models/pipelinefunctionsort.py index 0eccf8353..8e1f2fca1 100644 --- a/src/cribl_control_plane/models/pipelinefunctionsort.py +++ b/src/cribl_control_plane/models/pipelinefunctionsort.py @@ -10,12 +10,14 @@ class PipelineFunctionSortID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always sort""" SORT = "sort" class SortConfigurationTypedDict(TypedDict): + r"""Configuration specific to the Pipeline Function.""" + comparison_expression: str r"""The expression can access the events via the 'left' and 'right' properties.""" sort_id: NotRequired[str] @@ -29,6 +31,8 @@ class SortConfigurationTypedDict(TypedDict): class SortConfiguration(BaseModel): + r"""Configuration specific to the Pipeline Function.""" + comparison_expression: Annotated[str, pydantic.Field(alias="comparisonExpression")] r"""The expression can access the events via the 'left' and 'right' properties.""" @@ -65,40 +69,42 @@ def serialize_model(self, handler): class PipelineFunctionSortTypedDict(TypedDict): id: PipelineFunctionSortID - r"""Function ID""" + r"""Identifier of the Function. Always sort""" conf: SortConfigurationTypedDict + r"""Configuration specific to the Pipeline Function.""" filter_: NotRequired[str] - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionSort(BaseModel): id: PipelineFunctionSortID - r"""Function ID""" + r"""Identifier of the Function. Always sort""" conf: SortConfiguration + r"""Configuration specific to the Pipeline Function.""" filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionstore.py b/src/cribl_control_plane/models/pipelinefunctionstore.py index 5e8ea48de..5ce35ed26 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" @@ -24,6 +24,8 @@ class MappingOfFieldNames(BaseModel): class StoreFunctionConfigurationTypedDict(TypedDict): + r"""Configuration specific to the Pipeline Function.""" + type: str r"""The type of knowledge object, generated by the function (i.e., 'lookup')""" destination: NotRequired[str] @@ -47,6 +49,8 @@ class StoreFunctionConfigurationTypedDict(TypedDict): class StoreFunctionConfiguration(BaseModel): + r"""Configuration specific to the Pipeline Function.""" + type: str r"""The type of knowledge object, generated by the function (i.e., 'lookup')""" @@ -112,40 +116,42 @@ def serialize_model(self, handler): class PipelineFunctionStoreTypedDict(TypedDict): id: PipelineFunctionStoreID - r"""Function ID""" + r"""Identifier of the Function. Always store""" conf: StoreFunctionConfigurationTypedDict + r"""Configuration specific to the Pipeline Function.""" filter_: NotRequired[str] - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionStore(BaseModel): id: PipelineFunctionStoreID - r"""Function ID""" + r"""Identifier of the Function. Always store""" conf: StoreFunctionConfiguration + r"""Configuration specific to the Pipeline Function.""" filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionsuppress.py b/src/cribl_control_plane/models/pipelinefunctionsuppress.py index 878668831..728cde5e8 100644 --- a/src/cribl_control_plane/models/pipelinefunctionsuppress.py +++ b/src/cribl_control_plane/models/pipelinefunctionsuppress.py @@ -10,12 +10,14 @@ class PipelineFunctionSuppressID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always suppress""" SUPPRESS = "suppress" class PipelineFunctionSuppressConfTypedDict(TypedDict): + r"""Configuration specific to the Pipeline Function.""" + key_expr: str r"""Suppression key expression used to uniquely identify events to suppress. For example, `${ip}:${port}` will use fields ip and port from each event to generate the key.""" allow: float @@ -33,6 +35,8 @@ class PipelineFunctionSuppressConfTypedDict(TypedDict): class PipelineFunctionSuppressConf(BaseModel): + r"""Configuration specific to the Pipeline Function.""" + key_expr: Annotated[str, pydantic.Field(alias="keyExpr")] r"""Suppression key expression used to uniquely identify events to suppress. For example, `${ip}:${port}` will use fields ip and port from each event to generate the key.""" @@ -88,40 +92,42 @@ def serialize_model(self, handler): class PipelineFunctionSuppressTypedDict(TypedDict): id: PipelineFunctionSuppressID - r"""Function ID""" + r"""Identifier of the Function. Always suppress""" conf: PipelineFunctionSuppressConfTypedDict + r"""Configuration specific to the Pipeline Function.""" filter_: NotRequired[str] - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionSuppress(BaseModel): id: PipelineFunctionSuppressID - r"""Function ID""" + r"""Identifier of the Function. Always suppress""" conf: PipelineFunctionSuppressConf + r"""Configuration specific to the Pipeline Function.""" filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctiontee.py b/src/cribl_control_plane/models/pipelinefunctiontee.py index 49d1abcdb..5bfd332e8 100644 --- a/src/cribl_control_plane/models/pipelinefunctiontee.py +++ b/src/cribl_control_plane/models/pipelinefunctiontee.py @@ -10,15 +10,18 @@ class PipelineFunctionTeeID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always tee""" TEE = "tee" class PipelineFunctionTeeConfTypedDict(TypedDict): + r"""Configuration specific to the Pipeline Function.""" + command: str r"""Command to execute and feed events to, via stdin. One JSON-formatted event per line.""" args: NotRequired[List[str]] + r"""Command-line arguments to pass to the command.""" restart_on_exit: NotRequired[bool] r"""Restart the process if it exits and/or we fail to write to it""" env: NotRequired[Dict[str, str]] @@ -26,10 +29,13 @@ class PipelineFunctionTeeConfTypedDict(TypedDict): class PipelineFunctionTeeConf(BaseModel): + r"""Configuration specific to the Pipeline Function.""" + command: str r"""Command to execute and feed events to, via stdin. One JSON-formatted event per line.""" args: Optional[List[str]] = None + r"""Command-line arguments to pass to the command.""" restart_on_exit: Annotated[ Optional[bool], pydantic.Field(alias="restartOnExit") @@ -58,40 +64,42 @@ def serialize_model(self, handler): class PipelineFunctionTeeTypedDict(TypedDict): id: PipelineFunctionTeeID - r"""Function ID""" + r"""Identifier of the Function. Always tee""" conf: PipelineFunctionTeeConfTypedDict + r"""Configuration specific to the Pipeline Function.""" filter_: NotRequired[str] - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionTee(BaseModel): id: PipelineFunctionTeeID - r"""Function ID""" + r"""Identifier of the Function. Always tee""" conf: PipelineFunctionTeeConf + r"""Configuration specific to the Pipeline Function.""" filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctiontrimtimestamp.py b/src/cribl_control_plane/models/pipelinefunctiontrimtimestamp.py index d77c0130d..3237f27dc 100644 --- a/src/cribl_control_plane/models/pipelinefunctiontrimtimestamp.py +++ b/src/cribl_control_plane/models/pipelinefunctiontrimtimestamp.py @@ -14,47 +14,47 @@ 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""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionTrimTimestamp(BaseModel): id: PipelineFunctionTrimTimestampID - r"""Function ID""" + r"""Identifier of the Function. Always trim_timestamp""" conf: FunctionConfSchemaTrimTimestamp filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionunion.py b/src/cribl_control_plane/models/pipelinefunctionunion.py index fcf3bed80..f17631386 100644 --- a/src/cribl_control_plane/models/pipelinefunctionunion.py +++ b/src/cribl_control_plane/models/pipelinefunctionunion.py @@ -10,12 +10,14 @@ class PipelineFunctionUnionID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always union""" UNION = "union" class UnionConfigurationTypedDict(TypedDict): + r"""Configuration specific to the Pipeline Function.""" + search_job_id: str r"""The id for this search job.""" stage_ids: List[str] @@ -23,6 +25,8 @@ class UnionConfigurationTypedDict(TypedDict): class UnionConfiguration(BaseModel): + r"""Configuration specific to the Pipeline Function.""" + search_job_id: Annotated[str, pydantic.Field(alias="searchJobId")] r"""The id for this search job.""" @@ -32,40 +36,42 @@ class UnionConfiguration(BaseModel): class PipelineFunctionUnionTypedDict(TypedDict): id: PipelineFunctionUnionID - r"""Function ID""" + r"""Identifier of the Function. Always union""" conf: UnionConfigurationTypedDict + r"""Configuration specific to the Pipeline Function.""" filter_: NotRequired[str] - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionUnion(BaseModel): id: PipelineFunctionUnionID - r"""Function ID""" + r"""Identifier of the Function. Always union""" conf: UnionConfiguration + r"""Configuration specific to the Pipeline Function.""" filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionunroll.py b/src/cribl_control_plane/models/pipelinefunctionunroll.py index d895f83c4..8f16f9518 100644 --- a/src/cribl_control_plane/models/pipelinefunctionunroll.py +++ b/src/cribl_control_plane/models/pipelinefunctionunroll.py @@ -10,12 +10,14 @@ class PipelineFunctionUnrollID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always unroll""" UNROLL = "unroll" class PipelineFunctionUnrollConfTypedDict(TypedDict): + r"""Configuration specific to the Pipeline Function.""" + src_expr: str r"""Field in which to find/calculate the array to unroll. Example: _raw, _raw.split(/\n/)""" dst_field: str @@ -23,6 +25,8 @@ class PipelineFunctionUnrollConfTypedDict(TypedDict): class PipelineFunctionUnrollConf(BaseModel): + r"""Configuration specific to the Pipeline Function.""" + src_expr: Annotated[str, pydantic.Field(alias="srcExpr")] r"""Field in which to find/calculate the array to unroll. Example: _raw, _raw.split(/\n/)""" @@ -32,40 +36,42 @@ class PipelineFunctionUnrollConf(BaseModel): class PipelineFunctionUnrollTypedDict(TypedDict): id: PipelineFunctionUnrollID - r"""Function ID""" + r"""Identifier of the Function. Always unroll""" conf: PipelineFunctionUnrollConfTypedDict + r"""Configuration specific to the Pipeline Function.""" filter_: NotRequired[str] - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionUnroll(BaseModel): id: PipelineFunctionUnrollID - r"""Function ID""" + r"""Identifier of the Function. Always unroll""" conf: PipelineFunctionUnrollConf + r"""Configuration specific to the Pipeline Function.""" filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionwindow.py b/src/cribl_control_plane/models/pipelinefunctionwindow.py index 4108c232a..ff617f1a1 100644 --- a/src/cribl_control_plane/models/pipelinefunctionwindow.py +++ b/src/cribl_control_plane/models/pipelinefunctionwindow.py @@ -10,12 +10,14 @@ class PipelineFunctionWindowID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always window""" WINDOW = "window" class PipelineFunctionWindowConfTypedDict(TypedDict): + r"""Configuration specific to the Pipeline Function.""" + event_window_id: float r"""Identifies the unique ID, used for a event window""" registered_functions: List[str] @@ -27,6 +29,8 @@ class PipelineFunctionWindowConfTypedDict(TypedDict): class PipelineFunctionWindowConf(BaseModel): + r"""Configuration specific to the Pipeline Function.""" + event_window_id: Annotated[float, pydantic.Field(alias="eventWindowId")] r"""Identifies the unique ID, used for a event window""" @@ -64,40 +68,42 @@ def serialize_model(self, handler): class PipelineFunctionWindowTypedDict(TypedDict): id: PipelineFunctionWindowID - r"""Function ID""" + r"""Identifier of the Function. Always window""" conf: PipelineFunctionWindowConfTypedDict + r"""Configuration specific to the Pipeline Function.""" filter_: NotRequired[str] - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionWindow(BaseModel): id: PipelineFunctionWindowID - r"""Function ID""" + r"""Identifier of the Function. Always window""" conf: PipelineFunctionWindowConf + r"""Configuration specific to the Pipeline Function.""" filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionxmlunroll.py b/src/cribl_control_plane/models/pipelinefunctionxmlunroll.py index 4b23ebce5..b474e8652 100644 --- a/src/cribl_control_plane/models/pipelinefunctionxmlunroll.py +++ b/src/cribl_control_plane/models/pipelinefunctionxmlunroll.py @@ -10,12 +10,14 @@ class PipelineFunctionXMLUnrollID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always xml_unroll""" XML_UNROLL = "xml_unroll" class PipelineFunctionXMLUnrollConfTypedDict(TypedDict): + r"""Configuration specific to the Pipeline Function.""" + unroll: str r"""Path to array to unroll. Example: ^root\.child\.ElementToUnroll$""" inherit: NotRequired[str] @@ -27,6 +29,8 @@ class PipelineFunctionXMLUnrollConfTypedDict(TypedDict): class PipelineFunctionXMLUnrollConf(BaseModel): + r"""Configuration specific to the Pipeline Function.""" + unroll: str r"""Path to array to unroll. Example: ^root\.child\.ElementToUnroll$""" @@ -60,40 +64,42 @@ def serialize_model(self, handler): class PipelineFunctionXMLUnrollTypedDict(TypedDict): id: PipelineFunctionXMLUnrollID - r"""Function ID""" + r"""Identifier of the Function. Always xml_unroll""" conf: PipelineFunctionXMLUnrollConfTypedDict + r"""Configuration specific to the Pipeline Function.""" filter_: NotRequired[str] - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: NotRequired[str] - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: NotRequired[bool] - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: NotRequired[bool] - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: NotRequired[str] - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" class PipelineFunctionXMLUnroll(BaseModel): id: PipelineFunctionXMLUnrollID - r"""Function ID""" + r"""Identifier of the Function. Always xml_unroll""" conf: PipelineFunctionXMLUnrollConf + r"""Configuration specific to the Pipeline Function.""" filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None - r"""Filter that selects data to be fed through this Function""" + r"""JavaScript expression that selects data to pass through the Function.""" description: Optional[str] = None - r"""Simple description of this step""" + r"""Brief description of the Pipeline function.""" disabled: Optional[bool] = None - r"""If true, data will not be pushed through this function""" + r"""If true, disable the Pipeline function so that events are not passed through it. Otherwise, false.""" final: Optional[bool] = None - r"""If enabled, stops the results of this Function from being passed to the downstream Functions""" + r"""If true, stop passing events to downstream Pipeline Functions after the Function executes. Otherwise, false.""" group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None - r"""Group ID""" + r"""Unique identifier of the group that contains the Pipeline Function.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pqtype.py b/src/cribl_control_plane/models/pqtype.py index c48e73035..4e92cd7d8 100644 --- a/src/cribl_control_plane/models/pqtype.py +++ b/src/cribl_control_plane/models/pqtype.py @@ -12,18 +12,18 @@ 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): mode: NotRequired[ModeOptionsPq] r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine.""" 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 1MB.""" + r"""The maximum size to hold in memory before 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_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 maxBufferSizeBytes instead.""" commit_frequency: NotRequired[float] @@ -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): @@ -46,7 +47,7 @@ class PqType(BaseModel): max_buffer_size_bytes: Annotated[ Optional[str], pydantic.Field(alias="maxBufferSizeBytes") ] = 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 1MB.""" + r"""The maximum size to hold in memory before 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_buffer_size: Annotated[ Optional[float], pydantic.Field(alias="maxBufferSize") @@ -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/proxytypesystemsettingsconf.py b/src/cribl_control_plane/models/proxytypesystemsettingsconf.py index 6cf21de1f..bc9e2aed6 100644 --- a/src/cribl_control_plane/models/proxytypesystemsettingsconf.py +++ b/src/cribl_control_plane/models/proxytypesystemsettingsconf.py @@ -7,11 +7,17 @@ class ProxyTypeSystemSettingsConfTypedDict(TypedDict): + r"""HTTP proxy configuration for outbound connections.""" + use_env_vars: bool + r"""If true, use proxy settings from environment variables (HTTP_PROXY, HTTPS_PROXY, NO_PROXY). Otherwise, false.""" class ProxyTypeSystemSettingsConf(BaseModel): + r"""HTTP proxy configuration for outbound connections.""" + use_env_vars: Annotated[bool, pydantic.Field(alias="useEnvVars")] + r"""If true, use proxy settings from environment variables (HTTP_PROXY, HTTPS_PROXY, NO_PROXY). Otherwise, false.""" try: diff --git a/src/cribl_control_plane/models/refreshrequestparamconfhealthcheckauthenticationoauth.py b/src/cribl_control_plane/models/refreshrequestparamconfhealthcheckauthenticationoauth.py new file mode 100644 index 000000000..4db94e98e --- /dev/null +++ b/src/cribl_control_plane/models/refreshrequestparamconfhealthcheckauthenticationoauth.py @@ -0,0 +1,20 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from cribl_control_plane.types import BaseModel +from typing_extensions import TypedDict + + +class RefreshRequestParamConfHealthCheckAuthenticationOauthTypedDict(TypedDict): + name: str + r"""Parameter name.""" + value: str + r"""Parameter value.""" + + +class RefreshRequestParamConfHealthCheckAuthenticationOauth(BaseModel): + name: str + r"""Parameter name.""" + + value: str + r"""Parameter value.""" diff --git a/src/cribl_control_plane/models/requestparamconfinputopenai.py b/src/cribl_control_plane/models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.py similarity index 61% rename from src/cribl_control_plane/models/requestparamconfinputopenai.py rename to src/cribl_control_plane/models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.py index deab3a1f6..0d779b8d6 100644 --- a/src/cribl_control_plane/models/requestparamconfinputopenai.py +++ b/src/cribl_control_plane/models/refreshrequestparamconfhealthcheckauthenticationoauthsecret.py @@ -5,12 +5,12 @@ from typing_extensions import TypedDict -class RequestParamConfInputOpenaiTypedDict(TypedDict): +class RefreshRequestParamConfHealthCheckAuthenticationOauthSecretTypedDict(TypedDict): name: str value: str -class RequestParamConfInputOpenai(BaseModel): +class RefreshRequestParamConfHealthCheckAuthenticationOauthSecret(BaseModel): name: str value: str diff --git a/src/cribl_control_plane/models/restauthenticationbasic_restpaginationtyperequestoffset.py b/src/cribl_control_plane/models/restauthenticationbasic_restpaginationtyperequestoffset.py index e448d6d41..91623a6cd 100644 --- a/src/cribl_control_plane/models/restauthenticationbasic_restpaginationtyperequestoffset.py +++ b/src/cribl_control_plane/models/restauthenticationbasic_restpaginationtyperequestoffset.py @@ -15,6 +15,10 @@ PaginationTypeRestDiscoveryDiscoverTypeHTTP, PaginationTypeRestDiscoveryDiscoverTypeHTTPTypedDict, ) +from .refreshrequestparamconfhealthcheckauthenticationoauth import ( + RefreshRequestParamConfHealthCheckAuthenticationOauth, + RefreshRequestParamConfHealthCheckAuthenticationOauthTypedDict, +) from .restauthenticationoauth_restdiscoverydiscovertypehttpdiscovermethodpostwithbody_discover_type import ( RestAuthenticationOauthAuthentication, RestAuthenticationOauthRestDiscoveryDiscoverTypeHTTPDiscoverMethodOther, @@ -1884,10 +1888,22 @@ class RestAuthenticationOauthTypedDict(TypedDict): auth_request_headers: NotRequired[ List[CollectRequestParamConfRestCollectMethodGetTypedDict] ] + refresh_token_field: NotRequired[str] + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + rotate_refresh_token: NotRequired[bool] + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + refresh_url: NotRequired[str] + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + refresh_request_params: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthTypedDict] + ] + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" 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_client_secret_param_value: NotRequired[str] r"""Binds 'clientSecretParamValue' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientSecretParamValue' at runtime.""" + template_refresh_url: NotRequired[str] + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" discovery: NotRequired[RestAuthenticationOauthDiscoveryTypedDict] collect_request_headers: NotRequired[ List[CollectRequestParamConfRestCollectMethodGetTypedDict] @@ -1995,6 +2011,25 @@ class RestAuthenticationOauth(BaseModel): pydantic.Field(alias="authRequestHeaders"), ] = None + refresh_token_field: Annotated[ + Optional[str], pydantic.Field(alias="refreshTokenField") + ] = None + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + + rotate_refresh_token: Annotated[ + Optional[bool], pydantic.Field(alias="rotateRefreshToken") + ] = None + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + + refresh_url: Annotated[Optional[str], pydantic.Field(alias="refreshUrl")] = None + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + + refresh_request_params: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauth]], + pydantic.Field(alias="refreshRequestParams"), + ] = None + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" + template_login_url: Annotated[ Optional[str], pydantic.Field(alias="__template_loginUrl") ] = None @@ -2005,6 +2040,11 @@ class RestAuthenticationOauth(BaseModel): ] = None r"""Binds 'clientSecretParamValue' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientSecretParamValue' at runtime.""" + template_refresh_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_refreshUrl") + ] = None + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + discovery: Optional[RestAuthenticationOauthDiscovery] = None collect_request_headers: Annotated[ @@ -2157,8 +2197,13 @@ def serialize_model(self, handler): "authHeaderKey", "authRequestParams", "authRequestHeaders", + "refreshTokenField", + "rotateRefreshToken", + "refreshUrl", + "refreshRequestParams", "__template_loginUrl", "__template_clientSecretParamValue", + "__template_refreshUrl", "discovery", "collectRequestHeaders", "pagination", @@ -4702,6 +4747,18 @@ class RestAuthenticationLoginSecretTypedDict(TypedDict): List[CollectRequestParamConfRestCollectMethodGetTypedDict] ] r"""OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded.""" + refresh_token_field: NotRequired[str] + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + rotate_refresh_token: NotRequired[bool] + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + refresh_url: NotRequired[str] + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + template_refresh_url: NotRequired[str] + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + refresh_request_params: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthTypedDict] + ] + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" text_secret: NotRequired[str] r"""Select or create a text secret that contains the client secret's value""" scopes: NotRequired[List[str]] @@ -4870,6 +4927,30 @@ class RestAuthenticationLoginSecret(BaseModel): ] = None r"""OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded.""" + refresh_token_field: Annotated[ + Optional[str], pydantic.Field(alias="refreshTokenField") + ] = None + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + + rotate_refresh_token: Annotated[ + Optional[bool], pydantic.Field(alias="rotateRefreshToken") + ] = None + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + + refresh_url: Annotated[Optional[str], pydantic.Field(alias="refreshUrl")] = None + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + + template_refresh_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_refreshUrl") + ] = None + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + + refresh_request_params: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauth]], + pydantic.Field(alias="refreshRequestParams"), + ] = None + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None r"""Select or create a text secret that contains the client secret's value""" @@ -4954,6 +5035,11 @@ def serialize_model(self, handler): "clientSecretParamValue", "__template_clientSecretParamValue", "authRequestParams", + "refreshTokenField", + "rotateRefreshToken", + "refreshUrl", + "__template_refreshUrl", + "refreshRequestParams", "textSecret", "scopes", "serviceAccountCredentials", @@ -7457,6 +7543,18 @@ class RestAuthenticationLoginTypedDict(TypedDict): List[CollectRequestParamConfRestCollectMethodGetTypedDict] ] r"""OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded.""" + refresh_token_field: NotRequired[str] + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + rotate_refresh_token: NotRequired[bool] + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + refresh_url: NotRequired[str] + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + template_refresh_url: NotRequired[str] + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + refresh_request_params: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthTypedDict] + ] + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" text_secret: NotRequired[str] r"""Select or create a text secret that contains the client secret's value""" scopes: NotRequired[List[str]] @@ -7625,6 +7723,30 @@ class RestAuthenticationLogin(BaseModel): ] = None r"""OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded.""" + refresh_token_field: Annotated[ + Optional[str], pydantic.Field(alias="refreshTokenField") + ] = None + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + + rotate_refresh_token: Annotated[ + Optional[bool], pydantic.Field(alias="rotateRefreshToken") + ] = None + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + + refresh_url: Annotated[Optional[str], pydantic.Field(alias="refreshUrl")] = None + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + + template_refresh_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_refreshUrl") + ] = None + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + + refresh_request_params: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauth]], + pydantic.Field(alias="refreshRequestParams"), + ] = None + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None r"""Select or create a text secret that contains the client secret's value""" @@ -7708,6 +7830,11 @@ def serialize_model(self, handler): "clientSecretParamValue", "__template_clientSecretParamValue", "authRequestParams", + "refreshTokenField", + "rotateRefreshToken", + "refreshUrl", + "__template_refreshUrl", + "refreshRequestParams", "textSecret", "scopes", "serviceAccountCredentials", @@ -10229,6 +10356,18 @@ class RestAuthenticationBasicSecretTypedDict(TypedDict): List[CollectRequestParamConfRestCollectMethodGetTypedDict] ] r"""OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded.""" + refresh_token_field: NotRequired[str] + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + rotate_refresh_token: NotRequired[bool] + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + refresh_url: NotRequired[str] + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + template_refresh_url: NotRequired[str] + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + refresh_request_params: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthTypedDict] + ] + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" text_secret: NotRequired[str] r"""Select or create a text secret that contains the client secret's value""" scopes: NotRequired[List[str]] @@ -10399,6 +10538,30 @@ class RestAuthenticationBasicSecret(BaseModel): ] = None r"""OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded.""" + refresh_token_field: Annotated[ + Optional[str], pydantic.Field(alias="refreshTokenField") + ] = None + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + + rotate_refresh_token: Annotated[ + Optional[bool], pydantic.Field(alias="rotateRefreshToken") + ] = None + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + + refresh_url: Annotated[Optional[str], pydantic.Field(alias="refreshUrl")] = None + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + + template_refresh_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_refreshUrl") + ] = None + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + + refresh_request_params: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauth]], + pydantic.Field(alias="refreshRequestParams"), + ] = None + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None r"""Select or create a text secret that contains the client secret's value""" @@ -10486,6 +10649,11 @@ def serialize_model(self, handler): "clientSecretParamValue", "__template_clientSecretParamValue", "authRequestParams", + "refreshTokenField", + "rotateRefreshToken", + "refreshUrl", + "__template_refreshUrl", + "refreshRequestParams", "textSecret", "scopes", "serviceAccountCredentials", diff --git a/src/cribl_control_plane/models/restauthenticationoauth_restdiscoverydiscovertypehttpdiscovermethodpostwithbody_discover_type.py b/src/cribl_control_plane/models/restauthenticationoauth_restdiscoverydiscovertypehttpdiscovermethodpostwithbody_discover_type.py index 752778b4d..ae216fabd 100644 --- a/src/cribl_control_plane/models/restauthenticationoauth_restdiscoverydiscovertypehttpdiscovermethodpostwithbody_discover_type.py +++ b/src/cribl_control_plane/models/restauthenticationoauth_restdiscoverydiscovertypehttpdiscovermethodpostwithbody_discover_type.py @@ -15,6 +15,10 @@ PaginationTypeRestDiscoveryDiscoverTypeHTTP, PaginationTypeRestDiscoveryDiscoverTypeHTTPTypedDict, ) +from .refreshrequestparamconfhealthcheckauthenticationoauth import ( + RefreshRequestParamConfHealthCheckAuthenticationOauth, + RefreshRequestParamConfHealthCheckAuthenticationOauthTypedDict, +) from .retrytypeoptionshealthcheckcollectorconfretryrules import ( RetryTypeOptionsHealthCheckCollectorConfRetryRules, ) @@ -2509,6 +2513,18 @@ class RestAuthenticationHmacTypedDict(TypedDict): List[CollectRequestParamConfRestCollectMethodGetTypedDict] ] r"""OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded.""" + refresh_token_field: NotRequired[str] + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + rotate_refresh_token: NotRequired[bool] + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + refresh_url: NotRequired[str] + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + template_refresh_url: NotRequired[str] + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + refresh_request_params: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthTypedDict] + ] + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" text_secret: NotRequired[str] r"""Select or create a text secret that contains the client secret's value""" scopes: NotRequired[List[str]] @@ -2679,6 +2695,30 @@ class RestAuthenticationHmac(BaseModel): ] = None r"""OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded.""" + refresh_token_field: Annotated[ + Optional[str], pydantic.Field(alias="refreshTokenField") + ] = None + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + + rotate_refresh_token: Annotated[ + Optional[bool], pydantic.Field(alias="rotateRefreshToken") + ] = None + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + + refresh_url: Annotated[Optional[str], pydantic.Field(alias="refreshUrl")] = None + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + + template_refresh_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_refreshUrl") + ] = None + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + + refresh_request_params: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauth]], + pydantic.Field(alias="refreshRequestParams"), + ] = None + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None r"""Select or create a text secret that contains the client secret's value""" @@ -2762,6 +2802,11 @@ def serialize_model(self, handler): "clientSecretParamValue", "__template_clientSecretParamValue", "authRequestParams", + "refreshTokenField", + "rotateRefreshToken", + "refreshUrl", + "__template_refreshUrl", + "refreshRequestParams", "textSecret", "scopes", "serviceAccountCredentials", @@ -5304,6 +5349,18 @@ class RestAuthenticationGoogleOauthSecretTypedDict(TypedDict): List[CollectRequestParamConfRestCollectMethodGetTypedDict] ] r"""OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded.""" + refresh_token_field: NotRequired[str] + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + rotate_refresh_token: NotRequired[bool] + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + refresh_url: NotRequired[str] + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + template_refresh_url: NotRequired[str] + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + refresh_request_params: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthTypedDict] + ] + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" service_account_credentials: NotRequired[str] r"""Contents of Google Cloud service account credentials (JSON keys) file. To upload a file, click the upload icon in this field's upper right.""" template_service_account_credentials: NotRequired[str] @@ -5482,6 +5539,30 @@ class RestAuthenticationGoogleOauthSecret(BaseModel): ] = None r"""OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded.""" + refresh_token_field: Annotated[ + Optional[str], pydantic.Field(alias="refreshTokenField") + ] = None + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + + rotate_refresh_token: Annotated[ + Optional[bool], pydantic.Field(alias="rotateRefreshToken") + ] = None + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + + refresh_url: Annotated[Optional[str], pydantic.Field(alias="refreshUrl")] = None + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + + template_refresh_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_refreshUrl") + ] = None + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + + refresh_request_params: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauth]], + pydantic.Field(alias="refreshRequestParams"), + ] = None + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" + service_account_credentials: Annotated[ Optional[str], pydantic.Field(alias="serviceAccountCredentials") ] = None @@ -5557,6 +5638,11 @@ def serialize_model(self, handler): "clientSecretParamValue", "__template_clientSecretParamValue", "authRequestParams", + "refreshTokenField", + "rotateRefreshToken", + "refreshUrl", + "__template_refreshUrl", + "refreshRequestParams", "serviceAccountCredentials", "__template_serviceAccountCredentials", "hmacFunctionId", @@ -8084,6 +8170,18 @@ class RestAuthenticationGoogleOauthTypedDict(TypedDict): List[CollectRequestParamConfRestCollectMethodGetTypedDict] ] r"""OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded.""" + refresh_token_field: NotRequired[str] + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + rotate_refresh_token: NotRequired[bool] + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + refresh_url: NotRequired[str] + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + template_refresh_url: NotRequired[str] + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + refresh_request_params: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthTypedDict] + ] + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" text_secret: NotRequired[str] r"""Select or create a text secret that contains the client secret's value""" hmac_function_id: NotRequired[str] @@ -8267,6 +8365,30 @@ class RestAuthenticationGoogleOauth(BaseModel): ] = None r"""OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded.""" + refresh_token_field: Annotated[ + Optional[str], pydantic.Field(alias="refreshTokenField") + ] = None + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + + rotate_refresh_token: Annotated[ + Optional[bool], pydantic.Field(alias="rotateRefreshToken") + ] = None + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + + refresh_url: Annotated[Optional[str], pydantic.Field(alias="refreshUrl")] = None + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + + template_refresh_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_refreshUrl") + ] = None + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + + refresh_request_params: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauth]], + pydantic.Field(alias="refreshRequestParams"), + ] = None + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None r"""Select or create a text secret that contains the client secret's value""" @@ -8336,6 +8458,11 @@ def serialize_model(self, handler): "clientSecretParamValue", "__template_clientSecretParamValue", "authRequestParams", + "refreshTokenField", + "rotateRefreshToken", + "refreshUrl", + "__template_refreshUrl", + "refreshRequestParams", "textSecret", "hmacFunctionId", "__template_collectUrl", @@ -10807,6 +10934,18 @@ class RestAuthenticationOauthSecretTypedDict(TypedDict): auth_request_headers: NotRequired[ List[CollectRequestParamConfRestCollectMethodGetTypedDict] ] + refresh_token_field: NotRequired[str] + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + rotate_refresh_token: NotRequired[bool] + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + refresh_url: NotRequired[str] + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + refresh_request_params: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthTypedDict] + ] + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" + template_refresh_url: NotRequired[str] + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" discovery: NotRequired[RestAuthenticationOauthSecretDiscoveryTypedDict] collect_request_headers: NotRequired[ List[CollectRequestParamConfRestCollectMethodGetTypedDict] @@ -10917,6 +11056,30 @@ class RestAuthenticationOauthSecret(BaseModel): pydantic.Field(alias="authRequestHeaders"), ] = None + refresh_token_field: Annotated[ + Optional[str], pydantic.Field(alias="refreshTokenField") + ] = None + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + + rotate_refresh_token: Annotated[ + Optional[bool], pydantic.Field(alias="rotateRefreshToken") + ] = None + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + + refresh_url: Annotated[Optional[str], pydantic.Field(alias="refreshUrl")] = None + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + + refresh_request_params: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauth]], + pydantic.Field(alias="refreshRequestParams"), + ] = None + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" + + template_refresh_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_refreshUrl") + ] = None + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + discovery: Optional[RestAuthenticationOauthSecretDiscovery] = None collect_request_headers: Annotated[ @@ -11082,6 +11245,11 @@ def serialize_model(self, handler): "authHeaderKey", "authRequestParams", "authRequestHeaders", + "refreshTokenField", + "rotateRefreshToken", + "refreshUrl", + "refreshRequestParams", + "__template_refreshUrl", "discovery", "collectRequestHeaders", "pagination", diff --git a/src/cribl_control_plane/models/restcollectmethodpost_restretryrulestypenone.py b/src/cribl_control_plane/models/restcollectmethodpost_restretryrulestypenone.py index ccf8d5496..e41e0ad44 100644 --- a/src/cribl_control_plane/models/restcollectmethodpost_restretryrulestypenone.py +++ b/src/cribl_control_plane/models/restcollectmethodpost_restretryrulestypenone.py @@ -15,6 +15,10 @@ PaginationTypeRestDiscoveryDiscoverTypeHTTP, PaginationTypeRestDiscoveryDiscoverTypeHTTPTypedDict, ) +from .refreshrequestparamconfhealthcheckauthenticationoauth import ( + RefreshRequestParamConfHealthCheckAuthenticationOauth, + RefreshRequestParamConfHealthCheckAuthenticationOauthTypedDict, +) from .restauthenticationbasic_restpaginationtyperequestoffset import ( RestAuthenticationBasicAuthentication, RestAuthenticationBasicCollectMethod, @@ -1089,6 +1093,18 @@ class RestAuthenticationBasicTypedDict(TypedDict): List[CollectRequestParamConfRestCollectMethodGetTypedDict] ] r"""OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded.""" + refresh_token_field: NotRequired[str] + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + rotate_refresh_token: NotRequired[bool] + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + refresh_url: NotRequired[str] + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + template_refresh_url: NotRequired[str] + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + refresh_request_params: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthTypedDict] + ] + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" text_secret: NotRequired[str] r"""Select or create a text secret that contains the client secret's value""" scopes: NotRequired[List[str]] @@ -1259,6 +1275,30 @@ class RestAuthenticationBasic(BaseModel): ] = None r"""OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded.""" + refresh_token_field: Annotated[ + Optional[str], pydantic.Field(alias="refreshTokenField") + ] = None + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + + rotate_refresh_token: Annotated[ + Optional[bool], pydantic.Field(alias="rotateRefreshToken") + ] = None + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + + refresh_url: Annotated[Optional[str], pydantic.Field(alias="refreshUrl")] = None + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + + template_refresh_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_refreshUrl") + ] = None + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + + refresh_request_params: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauth]], + pydantic.Field(alias="refreshRequestParams"), + ] = None + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None r"""Select or create a text secret that contains the client secret's value""" @@ -1345,6 +1385,11 @@ def serialize_model(self, handler): "clientSecretParamValue", "__template_clientSecretParamValue", "authRequestParams", + "refreshTokenField", + "rotateRefreshToken", + "refreshUrl", + "__template_refreshUrl", + "refreshRequestParams", "textSecret", "scopes", "serviceAccountCredentials", @@ -3846,6 +3891,18 @@ class RestAuthenticationNoneTypedDict(TypedDict): List[CollectRequestParamConfRestCollectMethodGetTypedDict] ] r"""OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded.""" + refresh_token_field: NotRequired[str] + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + rotate_refresh_token: NotRequired[bool] + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + refresh_url: NotRequired[str] + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + template_refresh_url: NotRequired[str] + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + refresh_request_params: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthTypedDict] + ] + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" text_secret: NotRequired[str] r"""Select or create a text secret that contains the client secret's value""" scopes: NotRequired[List[str]] @@ -4015,6 +4072,30 @@ class RestAuthenticationNone(BaseModel): ] = None r"""OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded.""" + refresh_token_field: Annotated[ + Optional[str], pydantic.Field(alias="refreshTokenField") + ] = None + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + + rotate_refresh_token: Annotated[ + Optional[bool], pydantic.Field(alias="rotateRefreshToken") + ] = None + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + + refresh_url: Annotated[Optional[str], pydantic.Field(alias="refreshUrl")] = None + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + + template_refresh_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_refreshUrl") + ] = None + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + + refresh_request_params: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauth]], + pydantic.Field(alias="refreshRequestParams"), + ] = None + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None r"""Select or create a text secret that contains the client secret's value""" @@ -4103,6 +4184,11 @@ def serialize_model(self, handler): "clientSecretParamValue", "__template_clientSecretParamValue", "authRequestParams", + "refreshTokenField", + "rotateRefreshToken", + "refreshUrl", + "__template_refreshUrl", + "refreshRequestParams", "textSecret", "scopes", "serviceAccountCredentials", @@ -6613,6 +6699,18 @@ class RestCollectMethodOtherTypedDict(TypedDict): List[CollectRequestParamConfRestCollectMethodGetTypedDict] ] r"""OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded.""" + refresh_token_field: NotRequired[str] + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + rotate_refresh_token: NotRequired[bool] + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + refresh_url: NotRequired[str] + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + template_refresh_url: NotRequired[str] + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + refresh_request_params: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthTypedDict] + ] + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" text_secret: NotRequired[str] r"""Select or create a text secret that contains the client secret's value""" scopes: NotRequired[List[str]] @@ -6793,6 +6891,30 @@ class RestCollectMethodOther(BaseModel): ] = None r"""OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded.""" + refresh_token_field: Annotated[ + Optional[str], pydantic.Field(alias="refreshTokenField") + ] = None + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + + rotate_refresh_token: Annotated[ + Optional[bool], pydantic.Field(alias="rotateRefreshToken") + ] = None + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + + refresh_url: Annotated[Optional[str], pydantic.Field(alias="refreshUrl")] = None + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + + template_refresh_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_refreshUrl") + ] = None + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + + refresh_request_params: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauth]], + pydantic.Field(alias="refreshRequestParams"), + ] = None + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None r"""Select or create a text secret that contains the client secret's value""" @@ -6883,6 +7005,11 @@ def serialize_model(self, handler): "clientSecretParamValue", "__template_clientSecretParamValue", "authRequestParams", + "refreshTokenField", + "rotateRefreshToken", + "refreshUrl", + "__template_refreshUrl", + "refreshRequestParams", "textSecret", "scopes", "serviceAccountCredentials", @@ -9406,6 +9533,18 @@ class RestCollectMethodPostWithBodyTypedDict(TypedDict): List[CollectRequestParamConfRestCollectMethodGetTypedDict] ] r"""OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded.""" + refresh_token_field: NotRequired[str] + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + rotate_refresh_token: NotRequired[bool] + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + refresh_url: NotRequired[str] + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + template_refresh_url: NotRequired[str] + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + refresh_request_params: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthTypedDict] + ] + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" text_secret: NotRequired[str] r"""Select or create a text secret that contains the client secret's value""" scopes: NotRequired[List[str]] @@ -9581,6 +9720,30 @@ class RestCollectMethodPostWithBody(BaseModel): ] = None r"""OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded.""" + refresh_token_field: Annotated[ + Optional[str], pydantic.Field(alias="refreshTokenField") + ] = None + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + + rotate_refresh_token: Annotated[ + Optional[bool], pydantic.Field(alias="rotateRefreshToken") + ] = None + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + + refresh_url: Annotated[Optional[str], pydantic.Field(alias="refreshUrl")] = None + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + + template_refresh_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_refreshUrl") + ] = None + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + + refresh_request_params: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauth]], + pydantic.Field(alias="refreshRequestParams"), + ] = None + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None r"""Select or create a text secret that contains the client secret's value""" @@ -9669,6 +9832,11 @@ def serialize_model(self, handler): "clientSecretParamValue", "__template_clientSecretParamValue", "authRequestParams", + "refreshTokenField", + "rotateRefreshToken", + "refreshUrl", + "__template_refreshUrl", + "refreshRequestParams", "textSecret", "scopes", "serviceAccountCredentials", diff --git a/src/cribl_control_plane/models/restcollectorconf.py b/src/cribl_control_plane/models/restcollectorconf.py index 4f3b98f0d..eac09347b 100644 --- a/src/cribl_control_plane/models/restcollectorconf.py +++ b/src/cribl_control_plane/models/restcollectorconf.py @@ -15,6 +15,10 @@ PaginationTypeRestDiscoveryDiscoverTypeHTTP, PaginationTypeRestDiscoveryDiscoverTypeHTTPTypedDict, ) +from .refreshrequestparamconfhealthcheckauthenticationoauth import ( + RefreshRequestParamConfHealthCheckAuthenticationOauth, + RefreshRequestParamConfHealthCheckAuthenticationOauthTypedDict, +) from .restauthenticationbasic_restpaginationtyperequestoffset import ( RestAuthenticationBasicSecret, RestAuthenticationBasicSecretTypedDict, @@ -274,6 +278,18 @@ class RestCollectMethodPostTypedDict(TypedDict): List[CollectRequestParamConfRestCollectMethodGetTypedDict] ] r"""OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded.""" + refresh_token_field: NotRequired[str] + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + rotate_refresh_token: NotRequired[bool] + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + refresh_url: NotRequired[str] + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + template_refresh_url: NotRequired[str] + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + refresh_request_params: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthTypedDict] + ] + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" text_secret: NotRequired[str] r"""Select or create a text secret that contains the client secret's value""" scopes: NotRequired[List[str]] @@ -448,6 +464,30 @@ class RestCollectMethodPost(BaseModel): ] = None r"""OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded.""" + refresh_token_field: Annotated[ + Optional[str], pydantic.Field(alias="refreshTokenField") + ] = None + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + + rotate_refresh_token: Annotated[ + Optional[bool], pydantic.Field(alias="rotateRefreshToken") + ] = None + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + + refresh_url: Annotated[Optional[str], pydantic.Field(alias="refreshUrl")] = None + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + + template_refresh_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_refreshUrl") + ] = None + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + + refresh_request_params: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauth]], + pydantic.Field(alias="refreshRequestParams"), + ] = None + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None r"""Select or create a text secret that contains the client secret's value""" @@ -537,6 +577,11 @@ def serialize_model(self, handler): "clientSecretParamValue", "__template_clientSecretParamValue", "authRequestParams", + "refreshTokenField", + "rotateRefreshToken", + "refreshUrl", + "__template_refreshUrl", + "refreshRequestParams", "textSecret", "scopes", "serviceAccountCredentials", @@ -3045,6 +3090,18 @@ class RestCollectMethodGetTypedDict(TypedDict): List[CollectRequestParamConfRestCollectMethodGetTypedDict] ] r"""OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded.""" + refresh_token_field: NotRequired[str] + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + rotate_refresh_token: NotRequired[bool] + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + refresh_url: NotRequired[str] + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + template_refresh_url: NotRequired[str] + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + refresh_request_params: NotRequired[ + List[RefreshRequestParamConfHealthCheckAuthenticationOauthTypedDict] + ] + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" text_secret: NotRequired[str] r"""Select or create a text secret that contains the client secret's value""" scopes: NotRequired[List[str]] @@ -3219,6 +3276,30 @@ class RestCollectMethodGet(BaseModel): ] = None r"""OAuth request parameters added to the POST body. The Content-Type header will automatically be set to application/x-www-form-urlencoded.""" + refresh_token_field: Annotated[ + Optional[str], pydantic.Field(alias="refreshTokenField") + ] = None + r"""Field name in the token response that contains a refresh token (example: 'refresh_token'). When set, the Collector uses the refresh token to obtain new access tokens without re-sending credentials.""" + + rotate_refresh_token: Annotated[ + Optional[bool], pydantic.Field(alias="rotateRefreshToken") + ] = None + r"""The Collector will update its stored value on each successful refresh. Enable if the server issues a new refresh token on every use.""" + + refresh_url: Annotated[Optional[str], pydantic.Field(alias="refreshUrl")] = None + r"""Override the refresh endpoint URL if it differs from the Login URL. Defaults to Login URL.""" + + template_refresh_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_refreshUrl") + ] = None + r"""Binds 'refreshUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'refreshUrl' at runtime.""" + + refresh_request_params: Annotated[ + Optional[List[RefreshRequestParamConfHealthCheckAuthenticationOauth]], + pydantic.Field(alias="refreshRequestParams"), + ] = None + r"""Parameters to include in the refresh token request body. Most servers require 'client_id' here. If not set, the Collector sends only grant_type, refresh_token, and client_secret.""" + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None r"""Select or create a text secret that contains the client secret's value""" @@ -3308,6 +3389,11 @@ def serialize_model(self, handler): "clientSecretParamValue", "__template_clientSecretParamValue", "authRequestParams", + "refreshTokenField", + "rotateRefreshToken", + "refreshUrl", + "__template_refreshUrl", + "refreshRequestParams", "textSecret", "scopes", "serviceAccountCredentials", diff --git a/src/cribl_control_plane/models/rollbacksettings_union.py b/src/cribl_control_plane/models/rollbacksettings_union.py index 2598c7d16..1e3cb2d47 100644 --- a/src/cribl_control_plane/models/rollbacksettings_union.py +++ b/src/cribl_control_plane/models/rollbacksettings_union.py @@ -11,20 +11,26 @@ class RollbackSettingsTypedDict(TypedDict): rollback_enabled: bool - rollback_retries: NotRequired[float] - rollback_timeout: NotRequired[float] + r"""If true, enable automatic rollback if an upgrade fails. Otherwise, false.""" + rollback_retries: NotRequired[int] + r"""Number of times to retry a rollback before marking it as failed.""" + rollback_timeout: NotRequired[int] + r"""Maximum duration in milliseconds to wait for a rollback to complete before marking it as failed.""" class RollbackSettings(BaseModel): rollback_enabled: Annotated[bool, pydantic.Field(alias="rollbackEnabled")] + r"""If true, enable automatic rollback if an upgrade fails. Otherwise, false.""" rollback_retries: Annotated[ - Optional[float], pydantic.Field(alias="rollbackRetries") + Optional[int], pydantic.Field(alias="rollbackRetries") ] = None + r"""Number of times to retry a rollback before marking it as failed.""" rollback_timeout: Annotated[ - Optional[float], pydantic.Field(alias="rollbackTimeout") + Optional[int], pydantic.Field(alias="rollbackTimeout") ] = None + r"""Maximum duration in milliseconds to wait for a rollback to complete before marking it as failed.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/runnablejobcollection.py b/src/cribl_control_plane/models/runnablejobcollection.py index 0ea88c864..ce0a3186b 100644 --- a/src/cribl_control_plane/models/runnablejobcollection.py +++ b/src/cribl_control_plane/models/runnablejobcollection.py @@ -297,7 +297,7 @@ class RunnableJobCollectionTypedDict(TypedDict): schedule: NotRequired[ScheduleTypeRunnableJobCollectionTypedDict] r"""Configuration for a scheduled job""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" worker_affinity: NotRequired[bool] r"""If enabled, tasks are created and run by the same Worker Node""" input: NotRequired[ @@ -345,7 +345,7 @@ class RunnableJobCollection(BaseModel): r"""Configuration for a scheduled job""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" worker_affinity: Annotated[ Optional[bool], pydantic.Field(alias="workerAffinity") diff --git a/src/cribl_control_plane/models/runnablejobexecutor.py b/src/cribl_control_plane/models/runnablejobexecutor.py index 678e98c6e..2b0f6ec6c 100644 --- a/src/cribl_control_plane/models/runnablejobexecutor.py +++ b/src/cribl_control_plane/models/runnablejobexecutor.py @@ -100,7 +100,7 @@ class RunnableJobExecutorTypedDict(TypedDict): schedule: NotRequired[ScheduleTypeRunnableJobCollectionTypedDict] r"""Configuration for a scheduled job""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -142,7 +142,7 @@ class RunnableJobExecutor(BaseModel): r"""Configuration for a scheduled job""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") diff --git a/src/cribl_control_plane/models/runnablejobscheduledsearch.py b/src/cribl_control_plane/models/runnablejobscheduledsearch.py index 326a735c1..d4930580e 100644 --- a/src/cribl_control_plane/models/runnablejobscheduledsearch.py +++ b/src/cribl_control_plane/models/runnablejobscheduledsearch.py @@ -34,7 +34,7 @@ class RunnableJobScheduledSearchTypedDict(TypedDict): schedule: NotRequired[ScheduleTypeRunnableJobCollectionTypedDict] r"""Configuration for a scheduled job""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -75,7 +75,7 @@ class RunnableJobScheduledSearch(BaseModel): r"""Configuration for a scheduled job""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") diff --git a/src/cribl_control_plane/models/savedjobcollection.py b/src/cribl_control_plane/models/savedjobcollection.py index 5fc871aea..f637bd75d 100644 --- a/src/cribl_control_plane/models/savedjobcollection.py +++ b/src/cribl_control_plane/models/savedjobcollection.py @@ -39,7 +39,7 @@ class SavedJobCollectionTypedDict(TypedDict): schedule: NotRequired[ScheduleTypeSavedJobResponseCollectionTypedDict] r"""Configuration for a scheduled job""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" worker_affinity: NotRequired[bool] r"""If enabled, tasks are created and run by the same Worker Node""" input: NotRequired[ @@ -85,7 +85,7 @@ class SavedJobCollection(BaseModel): r"""Configuration for a scheduled job""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" worker_affinity: Annotated[ Optional[bool], pydantic.Field(alias="workerAffinity") diff --git a/src/cribl_control_plane/models/savedjobexecutor.py b/src/cribl_control_plane/models/savedjobexecutor.py index fb9dba741..5097c50d3 100644 --- a/src/cribl_control_plane/models/savedjobexecutor.py +++ b/src/cribl_control_plane/models/savedjobexecutor.py @@ -37,7 +37,7 @@ class SavedJobExecutorTypedDict(TypedDict): schedule: NotRequired[ScheduleTypeSavedJobResponseCollectionTypedDict] r"""Configuration for a scheduled job""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -77,7 +77,7 @@ class SavedJobExecutor(BaseModel): r"""Configuration for a scheduled job""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") diff --git a/src/cribl_control_plane/models/savedjobresponse.py b/src/cribl_control_plane/models/savedjobresponse.py index ecd184be1..3d78c76aa 100644 --- a/src/cribl_control_plane/models/savedjobresponse.py +++ b/src/cribl_control_plane/models/savedjobresponse.py @@ -48,7 +48,7 @@ class SavedJobResponseScheduledSearchTypedDict(TypedDict): schedule: NotRequired[ScheduleTypeSavedJobResponseCollectionTypedDict] r"""Configuration for a scheduled job""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" saved_state: NotRequired[ @@ -95,7 +95,7 @@ class SavedJobResponseScheduledSearch(BaseModel): r"""Configuration for a scheduled job""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") @@ -171,7 +171,7 @@ class SavedJobResponseExecutorTypedDict(TypedDict): schedule: NotRequired[ScheduleTypeSavedJobResponseCollectionTypedDict] r"""Configuration for a scheduled job""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" saved_state: NotRequired[ @@ -217,7 +217,7 @@ class SavedJobResponseExecutor(BaseModel): r"""Configuration for a scheduled job""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") @@ -294,7 +294,7 @@ class SavedJobResponseCollectionTypedDict(TypedDict): schedule: NotRequired[ScheduleTypeSavedJobResponseCollectionTypedDict] r"""Configuration for a scheduled job""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" worker_affinity: NotRequired[bool] r"""If enabled, tasks are created and run by the same Worker Node""" input: NotRequired[ @@ -346,7 +346,7 @@ class SavedJobResponseCollection(BaseModel): r"""Configuration for a scheduled job""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" worker_affinity: Annotated[ Optional[bool], pydantic.Field(alias="workerAffinity") diff --git a/src/cribl_control_plane/models/savedjobscheduledsearch.py b/src/cribl_control_plane/models/savedjobscheduledsearch.py index 5ffe861f3..9b142611b 100644 --- a/src/cribl_control_plane/models/savedjobscheduledsearch.py +++ b/src/cribl_control_plane/models/savedjobscheduledsearch.py @@ -34,7 +34,7 @@ class SavedJobScheduledSearchTypedDict(TypedDict): schedule: NotRequired[ScheduleTypeSavedJobResponseCollectionTypedDict] r"""Configuration for a scheduled job""" streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -75,7 +75,7 @@ class SavedJobScheduledSearch(BaseModel): r"""Configuration for a scheduled job""" streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + r"""Metadata tags used for categorization and filtering.""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") diff --git a/src/cribl_control_plane/models/scalarorarray.py b/src/cribl_control_plane/models/scalarorarray.py deleted file mode 100644 index 1428543b2..000000000 --- a/src/cribl_control_plane/models/scalarorarray.py +++ /dev/null @@ -1,11 +0,0 @@ -"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" - -from __future__ import annotations -from typing import List, Union -from typing_extensions import TypeAliasType - - -ScalarOrArrayTypedDict = TypeAliasType("ScalarOrArrayTypedDict", Union[str, List[str]]) - - -ScalarOrArray = TypeAliasType("ScalarOrArray", Union[str, List[str]]) diff --git a/src/cribl_control_plane/models/secureversion.py b/src/cribl_control_plane/models/secureversion.py new file mode 100644 index 000000000..06dcab078 --- /dev/null +++ b/src/cribl_control_plane/models/secureversion.py @@ -0,0 +1,12 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from cribl_control_plane import utils +from enum import Enum + + +class SecureVersion(str, Enum, metaclass=utils.OpenEnumMeta): + TL_SV1_3 = "TLSv1.3" + TL_SV1_2 = "TLSv1.2" + TL_SV1_1 = "TLSv1.1" + TL_SV1 = "TLSv1" diff --git a/src/cribl_control_plane/models/shutdowntypesystemsettingsconf.py b/src/cribl_control_plane/models/shutdowntypesystemsettingsconf.py index a7942d263..e6804e050 100644 --- a/src/cribl_control_plane/models/shutdowntypesystemsettingsconf.py +++ b/src/cribl_control_plane/models/shutdowntypesystemsettingsconf.py @@ -7,11 +7,17 @@ class ShutdownTypeSystemSettingsConfTypedDict(TypedDict): - drain_timeout: float + r"""Graceful shutdown configuration.""" + + drain_timeout: int + r"""Maximum time in milliseconds to wait for in-flight events to drain before forcing a shutdown.""" class ShutdownTypeSystemSettingsConf(BaseModel): - drain_timeout: Annotated[float, pydantic.Field(alias="drainTimeout")] + r"""Graceful shutdown configuration.""" + + drain_timeout: Annotated[int, pydantic.Field(alias="drainTimeout")] + r"""Maximum time in milliseconds to wait for in-flight events to drain before forcing a shutdown.""" try: diff --git a/src/cribl_control_plane/models/snisettings_union.py b/src/cribl_control_plane/models/snisettings_union.py index 2ba89a1af..0cf7ee943 100644 --- a/src/cribl_control_plane/models/snisettings_union.py +++ b/src/cribl_control_plane/models/snisettings_union.py @@ -10,10 +10,12 @@ class SniSettingsTypedDict(TypedDict): disable_sni_routing: bool + r"""If true, disable Server Name Indication (SNI) routing. Otherwise, false.""" class SniSettings(BaseModel): disable_sni_routing: Annotated[bool, pydantic.Field(alias="disableSNIRouting")] + r"""If true, disable Server Name Indication (SNI) routing. Otherwise, false.""" SniSettingsUnionTypedDict = TypeAliasType( diff --git a/src/cribl_control_plane/models/socketstypesystemsettingsconf.py b/src/cribl_control_plane/models/socketstypesystemsettingsconf.py index 03094d1fa..d2b65c2ec 100644 --- a/src/cribl_control_plane/models/socketstypesystemsettingsconf.py +++ b/src/cribl_control_plane/models/socketstypesystemsettingsconf.py @@ -8,11 +8,17 @@ class SocketsTypeSystemSettingsConfTypedDict(TypedDict): + r"""Unix domain socket configuration.""" + directory: NotRequired[str] + r"""Filesystem directory path where Unix domain socket files are created.""" class SocketsTypeSystemSettingsConf(BaseModel): + r"""Unix domain socket configuration.""" + directory: Optional[str] = None + r"""Filesystem directory path where Unix domain socket files are created.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/sqsauthenticationmethodoptions.py b/src/cribl_control_plane/models/sqsauthenticationmethodoptions.py new file mode 100644 index 000000000..99f333647 --- /dev/null +++ b/src/cribl_control_plane/models/sqsauthenticationmethodoptions.py @@ -0,0 +1,14 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from cribl_control_plane import utils +from enum import Enum + + +class SqsAuthenticationMethodOptions(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Choose Auto to use IAM roles""" + + # Auto + AUTO = "auto" + # Secret Key Pair + SECRET = "secret" diff --git a/src/cribl_control_plane/models/ssltypesystemsettingsconfapi.py b/src/cribl_control_plane/models/ssltypesystemsettingsconfapi.py index 47f19be91..df804aca4 100644 --- a/src/cribl_control_plane/models/ssltypesystemsettingsconfapi.py +++ b/src/cribl_control_plane/models/ssltypesystemsettingsconfapi.py @@ -9,23 +9,37 @@ class SslTypeSystemSettingsConfAPITypedDict(TypedDict): + r"""TLS configuration for the API server.""" + cert_path: str + r"""Filesystem path to the PEM-encoded TLS certificate.""" disabled: bool + r"""If true, TLS is disabled for the API server. Otherwise, false.""" passphrase: str + r"""Passphrase to decrypt the TLS private key, if encrypted.""" priv_key_path: str + r"""Filesystem path to the PEM-encoded TLS private key.""" ca_path: NotRequired[str] + r"""Filesystem path to the PEM-encoded Certificate Authority (CA) certificate for client authentication.""" class SslTypeSystemSettingsConfAPI(BaseModel): + r"""TLS configuration for the API server.""" + cert_path: Annotated[str, pydantic.Field(alias="certPath")] + r"""Filesystem path to the PEM-encoded TLS certificate.""" disabled: bool + r"""If true, TLS is disabled for the API server. Otherwise, false.""" passphrase: str + r"""Passphrase to decrypt the TLS private key, if encrypted.""" priv_key_path: Annotated[str, pydantic.Field(alias="privKeyPath")] + r"""Filesystem path to the PEM-encoded TLS private key.""" ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None + r"""Filesystem path to the PEM-encoded Certificate Authority (CA) certificate for client authentication.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/statustype.py b/src/cribl_control_plane/models/statustype.py index d753ea309..40b58b7fa 100644 --- a/src/cribl_control_plane/models/statustype.py +++ b/src/cribl_control_plane/models/statustype.py @@ -1,7 +1,7 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .healthstringtype import HealthStringType +from .healthoptionsstatus import HealthOptionsStatus from .statuserror import StatusError, StatusErrorTypedDict from .workerpqstatus import WorkerPQStatus, WorkerPQStatusTypedDict from cribl_control_plane import models @@ -16,11 +16,12 @@ class StatusTypeTypedDict(TypedDict): r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" error: NotRequired[StatusErrorTypedDict] - health: NotRequired[HealthStringType] + health: NotRequired[HealthOptionsStatus] + r"""Overall health status of the Source or Destination.""" metrics: NotRequired[Dict[str, Any]] r"""Metrics data for the Source or Destination.""" pq: NotRequired[WorkerPQStatusTypedDict] - timestamp: NotRequired[float] + timestamp: NotRequired[int] r"""Timestamp (in Unix time) when the status was last updated.""" use_status_from_lb: NotRequired[bool] r"""Set to prefer status from the LB process, not from the worker process.""" @@ -31,14 +32,15 @@ class StatusType(BaseModel): error: Optional[StatusError] = None - health: Optional[HealthStringType] = None + health: Optional[HealthOptionsStatus] = None + r"""Overall health status of the Source or Destination.""" metrics: Optional[Dict[str, Any]] = None r"""Metrics data for the Source or Destination.""" pq: Optional[WorkerPQStatus] = None - timestamp: Optional[float] = None + timestamp: Optional[int] = None r"""Timestamp (in Unix time) when the status was last updated.""" use_status_from_lb: Annotated[ @@ -50,7 +52,7 @@ class StatusType(BaseModel): def serialize_health(self, value): if isinstance(value, str): try: - return models.HealthStringType(value) + return models.HealthOptionsStatus(value) except ValueError: return value return value diff --git a/src/cribl_control_plane/models/storageclassoptionscribllakedataset.py b/src/cribl_control_plane/models/storageclassoptionscribllakedataset.py index ed153555b..cce1967f4 100644 --- a/src/cribl_control_plane/models/storageclassoptionscribllakedataset.py +++ b/src/cribl_control_plane/models/storageclassoptionscribllakedataset.py @@ -8,9 +8,14 @@ class StorageClassOptionsCriblLakeDataset(str, Enum, metaclass=utils.OpenEnumMeta): r"""Storage class used for objects written to the Dataset.""" + ARCHIVE = "Archive" + COLD = "Cold" + COOL = "Cool" DEEP_ARCHIVE = "DEEP_ARCHIVE" GLACIER = "GLACIER" GLACIER_IR = "GLACIER_IR" + HOT = "Hot" + INFERRED = "Inferred" INTELLIGENT_TIERING = "INTELLIGENT_TIERING" ONEZONE_IA = "ONEZONE_IA" STANDARD = "STANDARD" diff --git a/src/cribl_control_plane/models/supporttypesystemsettingsconf.py b/src/cribl_control_plane/models/supporttypesystemsettingsconf.py index e81756bf4..27d246239 100644 --- a/src/cribl_control_plane/models/supporttypesystemsettingsconf.py +++ b/src/cribl_control_plane/models/supporttypesystemsettingsconf.py @@ -13,26 +13,36 @@ class SupportTypeSystemSettingsConfTypedDict(TypedDict): + r"""Support and diagnostics settings.""" + feature_flag_overrides: NotRequired[ List[FeatureFlagOverrideConfSystemSettingsConfTypedDict] ] - log_file_max_files: NotRequired[float] + r"""List of feature flag overrides applied to this Cribl instance.""" + log_file_max_files: NotRequired[int] + r"""Maximum number of log files to retain before rotating.""" log_file_max_size: NotRequired[str] + r"""Maximum size of each log file. Value is a numeral and unit such as 10 MB.""" class SupportTypeSystemSettingsConf(BaseModel): + r"""Support and diagnostics settings.""" + feature_flag_overrides: Annotated[ Optional[List[FeatureFlagOverrideConfSystemSettingsConf]], pydantic.Field(alias="featureFlagOverrides"), ] = None + r"""List of feature flag overrides applied to this Cribl instance.""" log_file_max_files: Annotated[ - Optional[float], pydantic.Field(alias="logFileMaxFiles") + Optional[int], pydantic.Field(alias="logFileMaxFiles") ] = None + r"""Maximum number of log files to retain before rotating.""" log_file_max_size: Annotated[ Optional[str], pydantic.Field(alias="logFileMaxSize") ] = None + r"""Maximum size of each log file. Value is a numeral and unit such as 10 MB.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/systemsettingsconf.py b/src/cribl_control_plane/models/systemsettingsconf.py index 1a4b19562..b3911098a 100644 --- a/src/cribl_control_plane/models/systemsettingsconf.py +++ b/src/cribl_control_plane/models/systemsettingsconf.py @@ -56,39 +56,52 @@ class SystemSettingsConfTypedDict(TypedDict): api: APITypeSystemSettingsConfTypedDict + r"""API server configuration for the Cribl instance.""" backups: BackupsSettingsUnionTypedDict pii: PiiSettingsUnionTypedDict proxy: ProxyTypeSystemSettingsConfTypedDict + r"""HTTP proxy configuration for outbound connections.""" rollback: RollbackSettingsUnionTypedDict shutdown: ShutdownTypeSystemSettingsConfTypedDict + r"""Graceful shutdown configuration.""" sni: SniSettingsUnionTypedDict system: SystemTypeSystemSettingsConfTypedDict + r"""System-level operational settings for the Cribl instance.""" tls: TLSSettingsUnionTypedDict upgrade_group_settings: UpgradeGroupSettingsTypedDict upgrade_settings: UpgradeSettingsTypedDict workers: WorkersTypeSystemSettingsConfTypedDict + r"""Worker Process configuration.""" apps: NotRequired[AppsTypeSystemSettingsConfTypedDict] + r"""App configuration.""" custom_logo: NotRequired[CustomLogoTypeSystemSettingsConfTypedDict] + r"""Custom logo configuration for the Cribl UI login page and navigation bar.""" sockets: NotRequired[SocketsTypeSystemSettingsConfTypedDict] + r"""Unix domain socket configuration.""" support: NotRequired[SupportTypeSystemSettingsConfTypedDict] + r"""Support and diagnostics settings.""" class SystemSettingsConf(BaseModel): api: APITypeSystemSettingsConf + r"""API server configuration for the Cribl instance.""" backups: BackupsSettingsUnion pii: PiiSettingsUnion proxy: ProxyTypeSystemSettingsConf + r"""HTTP proxy configuration for outbound connections.""" rollback: RollbackSettingsUnion shutdown: ShutdownTypeSystemSettingsConf + r"""Graceful shutdown configuration.""" sni: SniSettingsUnion system: SystemTypeSystemSettingsConf + r"""System-level operational settings for the Cribl instance.""" tls: TLSSettingsUnion @@ -101,16 +114,21 @@ class SystemSettingsConf(BaseModel): ] workers: WorkersTypeSystemSettingsConf + r"""Worker Process configuration.""" apps: Optional[AppsTypeSystemSettingsConf] = None + r"""App configuration.""" custom_logo: Annotated[ Optional[CustomLogoTypeSystemSettingsConf], pydantic.Field(alias="customLogo") ] = None + r"""Custom logo configuration for the Cribl UI login page and navigation bar.""" sockets: Optional[SocketsTypeSystemSettingsConf] = None + r"""Unix domain socket configuration.""" support: Optional[SupportTypeSystemSettingsConf] = None + r"""Support and diagnostics settings.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/systemtypesystemsettingsconf.py b/src/cribl_control_plane/models/systemtypesystemsettingsconf.py index e696d212e..2b602f627 100644 --- a/src/cribl_control_plane/models/systemtypesystemsettingsconf.py +++ b/src/cribl_control_plane/models/systemtypesystemsettingsconf.py @@ -11,14 +11,22 @@ class SystemTypeSystemSettingsConfTypedDict(TypedDict): + r"""System-level operational settings for the Cribl instance.""" + intercom: bool + r"""If true, enable Intercom integration for in-product messaging. Otherwise, false.""" upgrade: UpgradeOptionsSystemSettingsConfSystem + r"""Upgrade permission policy: api to allow upgrades from the UI or API or false to disable.""" class SystemTypeSystemSettingsConf(BaseModel): + r"""System-level operational settings for the Cribl instance.""" + intercom: bool + r"""If true, enable Intercom integration for in-product messaging. Otherwise, false.""" upgrade: UpgradeOptionsSystemSettingsConfSystem + r"""Upgrade permission policy: api to allow upgrades from the UI or API or false to disable.""" @field_serializer("upgrade") def serialize_upgrade(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/tlsclientparams.py b/src/cribl_control_plane/models/tlsclientparams.py new file mode 100644 index 000000000..5c9b657e9 --- /dev/null +++ b/src/cribl_control_plane/models/tlsclientparams.py @@ -0,0 +1,117 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .secureversion import SecureVersion +from cribl_control_plane import models +from cribl_control_plane.types import BaseModel, UNSET_SENTINEL +import pydantic +from pydantic import field_serializer, model_serializer +from typing import Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class TLSClientParamsTypedDict(TypedDict): + r"""TLS client connection settings.""" + + disabled: bool + r"""If true, TLS is disabled for the connection.""" + ca_path: NotRequired[str] + r"""Path to the Certificate Authority (CA) certificate file in PEM format.""" + cert_path: NotRequired[str] + r"""Path to the client certificate file in PEM format.""" + max_version: NotRequired[SecureVersion] + min_version: NotRequired[SecureVersion] + passphrase: NotRequired[str] + r"""Passphrase for the private key.""" + priv_key_path: NotRequired[str] + r"""Path to the private key file in PEM format.""" + reject_unauthorized: NotRequired[bool] + r"""If true, reject connections to servers with unverified TLS certificates.""" + servername: NotRequired[str] + r"""Server name for TLS Server Name Indication (SNI) extension.""" + + +class TLSClientParams(BaseModel): + r"""TLS client connection settings.""" + + disabled: bool + r"""If true, TLS is disabled for the connection.""" + + ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None + r"""Path to the Certificate Authority (CA) certificate file in PEM format.""" + + cert_path: Annotated[Optional[str], pydantic.Field(alias="certPath")] = None + r"""Path to the client certificate file in PEM format.""" + + max_version: Annotated[ + Optional[SecureVersion], pydantic.Field(alias="maxVersion") + ] = None + + min_version: Annotated[ + Optional[SecureVersion], pydantic.Field(alias="minVersion") + ] = None + + passphrase: Optional[str] = None + r"""Passphrase for the private key.""" + + priv_key_path: Annotated[Optional[str], pydantic.Field(alias="privKeyPath")] = None + r"""Path to the private key file in PEM format.""" + + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") + ] = None + r"""If true, reject connections to servers with unverified TLS certificates.""" + + servername: Optional[str] = None + r"""Server name for TLS Server Name Indication (SNI) extension.""" + + @field_serializer("max_version") + def serialize_max_version(self, value): + if isinstance(value, str): + try: + return models.SecureVersion(value) + except ValueError: + return value + return value + + @field_serializer("min_version") + def serialize_min_version(self, value): + if isinstance(value, str): + try: + return models.SecureVersion(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "caPath", + "certPath", + "maxVersion", + "minVersion", + "passphrase", + "privKeyPath", + "rejectUnauthorized", + "servername", + ] + ) + 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: + TLSClientParams.model_rebuild() +except NameError: + pass diff --git a/src/cribl_control_plane/models/tlssettings_union.py b/src/cribl_control_plane/models/tlssettings_union.py index 3f7a73634..b1b9f7afe 100644 --- a/src/cribl_control_plane/models/tlssettings_union.py +++ b/src/cribl_control_plane/models/tlssettings_union.py @@ -10,22 +10,32 @@ class TLSSettingsTypedDict(TypedDict): default_cipher_list: str + r"""Cipher suite list to use for TLS connections. DEFAULT means the system default.""" default_ecdh_curve: str + r"""ECDH curve name for TLS key exchange. Use auto to let Node.js choose.""" max_version: str + r"""Maximum TLS protocol version to accept.""" min_version: str + r"""Minimum TLS protocol version to accept.""" reject_unauthorized: bool + r"""If true, reject TLS certificates that cannot be verified against a valid Certificate Authority. Otherwise, false.""" class TLSSettings(BaseModel): default_cipher_list: Annotated[str, pydantic.Field(alias="defaultCipherList")] + r"""Cipher suite list to use for TLS connections. DEFAULT means the system default.""" default_ecdh_curve: Annotated[str, pydantic.Field(alias="defaultEcdhCurve")] + r"""ECDH curve name for TLS key exchange. Use auto to let Node.js choose.""" max_version: Annotated[str, pydantic.Field(alias="maxVersion")] + r"""Maximum TLS protocol version to accept.""" min_version: Annotated[str, pydantic.Field(alias="minVersion")] + r"""Minimum TLS protocol version to accept.""" reject_unauthorized: Annotated[bool, pydantic.Field(alias="rejectUnauthorized")] + r"""If true, reject TLS certificates that cannot be verified against a valid Certificate Authority. Otherwise, false.""" TLSSettingsUnionTypedDict = TypeAliasType( 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/typeoptions.py b/src/cribl_control_plane/models/typeoptions.py deleted file mode 100644 index 70d122e87..000000000 --- a/src/cribl_control_plane/models/typeoptions.py +++ /dev/null @@ -1,26 +0,0 @@ -"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" - -from __future__ import annotations -from cribl_control_plane import utils -from enum import Enum - - -class TypeOptions(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Parser or formatter type to use""" - - # CSV - CSV = "csv" - # Extended Log File Format - ELFF = "elff" - # Common Log Format - CLF = "clf" - # Key=Value Pairs - KVP = "kvp" - # JSON Object - JSON = "json" - # Delimited values - DELIM = "delim" - # Regular Expression - REGEX = "regex" - # Grok - GROK = "grok" diff --git a/src/cribl_control_plane/models/updatehectokenrequest.py b/src/cribl_control_plane/models/updatehectokenrequest.py index 934d85635..26cdd13f2 100644 --- a/src/cribl_control_plane/models/updatehectokenrequest.py +++ b/src/cribl_control_plane/models/updatehectokenrequest.py @@ -1,9 +1,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .eventbreakerrulefields import ( - EventBreakerRuleFields, - EventBreakerRuleFieldsTypedDict, +from .metadataconfaddhectokenrequest import ( + MetadataConfAddHecTokenRequest, + MetadataConfAddHecTokenRequestTypedDict, ) from cribl_control_plane.types import BaseModel, UNSET_SENTINEL import pydantic @@ -19,7 +19,7 @@ class UpdateHecTokenRequestTypedDict(TypedDict): r"""Brief description for the HEC token.""" enabled: NotRequired[bool] r"""If true, the HEC token is enabled. Otherwise, false.""" - metadata: NotRequired[List[EventBreakerRuleFieldsTypedDict]] + metadata: NotRequired[List[MetadataConfAddHecTokenRequestTypedDict]] r"""Array of key-value pairs to associate with the HEC token for tagging, categorization, or providing additional context. Each item in the array is an object with a name and a value.""" @@ -35,7 +35,7 @@ class UpdateHecTokenRequest(BaseModel): enabled: Optional[bool] = None r"""If true, the HEC token is enabled. Otherwise, false.""" - metadata: Optional[List[EventBreakerRuleFields]] = None + metadata: Optional[List[MetadataConfAddHecTokenRequest]] = None r"""Array of key-value pairs to associate with the HEC token for tagging, categorization, or providing additional context. Each item in the array is an object with a name and a value.""" @model_serializer(mode="wrap") diff --git a/src/cribl_control_plane/models/updateinputhectokenbyidandtokenop.py b/src/cribl_control_plane/models/updateinputhectokenbyidandtokenop.py index 9d7eb2fa2..83852a3fa 100644 --- a/src/cribl_control_plane/models/updateinputhectokenbyidandtokenop.py +++ b/src/cribl_control_plane/models/updateinputhectokenbyidandtokenop.py @@ -11,7 +11,7 @@ class UpdateInputHecTokenByIDAndTokenRequestTypedDict(TypedDict): id: str r"""The id of the Splunk HEC Source.""" token: str - r"""The HEC token value to update.""" + r"""The HEC token value whose metadata you want to update. Must match an existing token on the Source.""" update_hec_token_request: UpdateHecTokenRequestTypedDict r"""UpdateHecTokenRequest object.""" @@ -25,7 +25,7 @@ class UpdateInputHecTokenByIDAndTokenRequest(BaseModel): token: Annotated[ str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)) ] - r"""The HEC token value to update.""" + r"""The HEC token value whose metadata you want to update. Must match an existing token on the Source.""" update_hec_token_request: Annotated[ UpdateHecTokenRequest, diff --git a/src/cribl_control_plane/models/updateinputsystemhectokenbypackandidandtokenop.py b/src/cribl_control_plane/models/updateinputsystemhectokenbypackandidandtokenop.py index da6f2752f..f9217474c 100644 --- a/src/cribl_control_plane/models/updateinputsystemhectokenbypackandidandtokenop.py +++ b/src/cribl_control_plane/models/updateinputsystemhectokenbypackandidandtokenop.py @@ -11,7 +11,7 @@ class UpdateInputSystemHecTokenByPackAndIDAndTokenRequestTypedDict(TypedDict): id: str r"""The id of the Splunk HEC Source.""" token: str - r"""The HEC token value to update.""" + r"""The HEC token value whose metadata you want to update. Must match an existing token on the Source.""" pack: str r"""The id of the Pack.""" update_hec_token_request: UpdateHecTokenRequestTypedDict @@ -27,7 +27,7 @@ class UpdateInputSystemHecTokenByPackAndIDAndTokenRequest(BaseModel): token: Annotated[ str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)) ] - r"""The HEC token value to update.""" + r"""The HEC token value whose metadata you want to update. Must match an existing token on the Source.""" pack: Annotated[ str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)) 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/updatepacksop.py b/src/cribl_control_plane/models/updatepacksop.py index 966b1e0fe..e4a2ca529 100644 --- a/src/cribl_control_plane/models/updatepacksop.py +++ b/src/cribl_control_plane/models/updatepacksop.py @@ -11,7 +11,7 @@ class UpdatePacksRequestTypedDict(TypedDict): filename: str r"""Filename of the Pack file to upload.""" - request_body: Union[bytes, IO[bytes], io.BufferedReader] + request_body: Union[bytes, IO[bytes], io.IOBase] class UpdatePacksRequest(BaseModel): @@ -21,5 +21,5 @@ class UpdatePacksRequest(BaseModel): r"""Filename of the Pack file to upload.""" request_body: Annotated[ - Union[bytes, IO[bytes], io.BufferedReader], FieldMetadata(request=True) + Union[bytes, IO[bytes], io.IOBase], FieldMetadata(request=True) ] diff --git a/src/cribl_control_plane/models/updateconfiggroupbyproductandidop.py b/src/cribl_control_plane/models/updateproductsgroupsbyproductandidop.py similarity index 92% rename from src/cribl_control_plane/models/updateconfiggroupbyproductandidop.py rename to src/cribl_control_plane/models/updateproductsgroupsbyproductandidop.py index ebd326372..1a4150baf 100644 --- a/src/cribl_control_plane/models/updateconfiggroupbyproductandidop.py +++ b/src/cribl_control_plane/models/updateproductsgroupsbyproductandidop.py @@ -11,7 +11,7 @@ from typing_extensions import Annotated, TypedDict -class UpdateConfigGroupByProductAndIDRequestTypedDict(TypedDict): +class UpdateProductsGroupsByProductAndIDRequestTypedDict(TypedDict): product: ProductsCore r"""Name of the Cribl product to get the Worker Groups, Outpost Groups, or Edge Fleets for.""" id_param: str @@ -20,7 +20,7 @@ class UpdateConfigGroupByProductAndIDRequestTypedDict(TypedDict): r"""ConfigGroup object.""" -class UpdateConfigGroupByProductAndIDRequest(BaseModel): +class UpdateProductsGroupsByProductAndIDRequest(BaseModel): product: Annotated[ ProductsCore, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)), diff --git a/src/cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py b/src/cribl_control_plane/models/updateproductsgroupsdeploybyproductandidop.py similarity index 92% rename from src/cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py rename to src/cribl_control_plane/models/updateproductsgroupsdeploybyproductandidop.py index b7f8a9170..8be99f164 100644 --- a/src/cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +++ b/src/cribl_control_plane/models/updateproductsgroupsdeploybyproductandidop.py @@ -10,7 +10,7 @@ from typing_extensions import Annotated, TypedDict -class UpdateConfigGroupDeployByProductAndIDRequestTypedDict(TypedDict): +class UpdateProductsGroupsDeployByProductAndIDRequestTypedDict(TypedDict): product: ProductsCore r"""Name of the Cribl product to deploy commits to the Worker Groups, Outpost Groups, or Edge Fleets for.""" id: str @@ -19,7 +19,7 @@ class UpdateConfigGroupDeployByProductAndIDRequestTypedDict(TypedDict): r"""DeployRequest object.""" -class UpdateConfigGroupDeployByProductAndIDRequest(BaseModel): +class UpdateProductsGroupsDeployByProductAndIDRequest(BaseModel): product: Annotated[ ProductsCore, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)), 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/upgradegroupsettings.py b/src/cribl_control_plane/models/upgradegroupsettings.py index 61a708bcb..07e5e2c5f 100644 --- a/src/cribl_control_plane/models/upgradegroupsettings.py +++ b/src/cribl_control_plane/models/upgradegroupsettings.py @@ -10,19 +10,27 @@ class UpgradeGroupSettingsTypedDict(TypedDict): is_rolling: NotRequired[bool] - quantity: NotRequired[float] - retry_count: NotRequired[float] - retry_delay: NotRequired[float] + r"""If true, perform a rolling upgrade that updates nodes incrementally. If false, upgrade all nodes simultaneously.""" + quantity: NotRequired[int] + r"""Percentage of nodes to upgrade at a time during a rolling upgrade.""" + retry_count: NotRequired[int] + r"""Number of times to retry upgrading a node before marking it as failed.""" + retry_delay: NotRequired[int] + r"""Delay in milliseconds between upgrade retries when a node fails to upgrade.""" class UpgradeGroupSettings(BaseModel): is_rolling: Annotated[Optional[bool], pydantic.Field(alias="isRolling")] = None + r"""If true, perform a rolling upgrade that updates nodes incrementally. If false, upgrade all nodes simultaneously.""" - quantity: Optional[float] = None + quantity: Optional[int] = None + r"""Percentage of nodes to upgrade at a time during a rolling upgrade.""" - retry_count: Annotated[Optional[float], pydantic.Field(alias="retryCount")] = None + retry_count: Annotated[Optional[int], pydantic.Field(alias="retryCount")] = None + r"""Number of times to retry upgrading a node before marking it as failed.""" - retry_delay: Annotated[Optional[float], pydantic.Field(alias="retryDelay")] = None + retry_delay: Annotated[Optional[int], pydantic.Field(alias="retryDelay")] = None + r"""Delay in milliseconds between upgrade retries when a node fails to upgrade.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/upgradeoptionssystemsettingsconfsystem.py b/src/cribl_control_plane/models/upgradeoptionssystemsettingsconfsystem.py index 71a416724..ec7ffb1e6 100644 --- a/src/cribl_control_plane/models/upgradeoptionssystemsettingsconfsystem.py +++ b/src/cribl_control_plane/models/upgradeoptionssystemsettingsconfsystem.py @@ -6,5 +6,7 @@ class UpgradeOptionsSystemSettingsConfSystem(str, Enum, metaclass=utils.OpenEnumMeta): - FALSE = "false" + r"""Upgrade permission policy: api to allow upgrades from the UI or API or false to disable.""" + API = "api" + FALSE = "false" diff --git a/src/cribl_control_plane/models/upgradepackageurls.py b/src/cribl_control_plane/models/upgradepackageurls.py index 315948869..18c770270 100644 --- a/src/cribl_control_plane/models/upgradepackageurls.py +++ b/src/cribl_control_plane/models/upgradepackageurls.py @@ -10,15 +10,19 @@ class UpgradePackageUrlsTypedDict(TypedDict): package_url: str + r"""URL of the upgrade package file.""" package_hash_url: NotRequired[str] + r"""URL of the hash file used to verify the package download.""" class UpgradePackageUrls(BaseModel): package_url: Annotated[str, pydantic.Field(alias="packageUrl")] + r"""URL of the upgrade package file.""" package_hash_url: Annotated[ Optional[str], pydantic.Field(alias="packageHashUrl") ] = None + r"""URL of the hash file used to verify the package download.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/upgradesettings.py b/src/cribl_control_plane/models/upgradesettings.py index bf7a32356..5700b4fcc 100644 --- a/src/cribl_control_plane/models/upgradesettings.py +++ b/src/cribl_control_plane/models/upgradesettings.py @@ -11,32 +11,42 @@ class UpgradeSettingsTypedDict(TypedDict): automatic_upgrade_check_period: NotRequired[str] + r"""How frequently to check for available upgrades. Value is a duration string such as 24h.""" disable_automatic_upgrade: NotRequired[bool] + r"""If true, automatic upgrades are disabled. Otherwise, false.""" enable_legacy_edge_upgrade: NotRequired[bool] + r"""If true, enable the legacy upgrade flow for Edge Nodes. Otherwise, false.""" package_urls: NotRequired[List[UpgradePackageUrlsTypedDict]] + r"""List of custom package URLs to use for manual upgrades.""" upgrade_source: NotRequired[str] + r"""Upgrade source: cribl for official Cribl packages or custom for a custom package URL.""" class UpgradeSettings(BaseModel): automatic_upgrade_check_period: Annotated[ Optional[str], pydantic.Field(alias="automaticUpgradeCheckPeriod") ] = None + r"""How frequently to check for available upgrades. Value is a duration string such as 24h.""" disable_automatic_upgrade: Annotated[ Optional[bool], pydantic.Field(alias="disableAutomaticUpgrade") ] = None + r"""If true, automatic upgrades are disabled. Otherwise, false.""" enable_legacy_edge_upgrade: Annotated[ Optional[bool], pydantic.Field(alias="enableLegacyEdgeUpgrade") ] = None + r"""If true, enable the legacy upgrade flow for Edge Nodes. Otherwise, false.""" package_urls: Annotated[ Optional[List[UpgradePackageUrls]], pydantic.Field(alias="packageUrls") ] = None + r"""List of custom package URLs to use for manual upgrades.""" upgrade_source: Annotated[Optional[str], pydantic.Field(alias="upgradeSource")] = ( None ) + r"""Upgrade source: cribl for official Cribl packages or custom for a custom package URL.""" @model_serializer(mode="wrap") def serialize_model(self, handler): 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/models/workerstypesystemsettingsconf.py b/src/cribl_control_plane/models/workerstypesystemsettingsconf.py index 490bada76..f75525660 100644 --- a/src/cribl_control_plane/models/workerstypesystemsettingsconf.py +++ b/src/cribl_control_plane/models/workerstypesystemsettingsconf.py @@ -9,42 +9,90 @@ class WorkersTypeSystemSettingsConfTypedDict(TypedDict): - count: float - memory: float - minimum: float + r"""Worker Process configuration.""" + + count: int + r"""Number of Worker Processes to spawn. Set to 0 to use the number of available CPU cores.""" + memory: int + r"""Maximum memory (in MB) per Worker Process. Set to 0 for no limit.""" + minimum: int + r"""Minimum number of Worker Processes to keep running.""" enable_heap_snapshots: NotRequired[bool] - load_throttle_perc: NotRequired[float] - startup_max_conns: NotRequired[float] - startup_throttle_timeout: NotRequired[float] + r"""If true, enable V8 heap snapshot generation on out-of-memory errors. Otherwise, false.""" + load_throttle_perc: NotRequired[int] + r"""CPU load percentage threshold above which new connections are throttled.""" + restart_unresponsive_processes: NotRequired[bool] + r"""If true, automatically restart Worker Processes that become unresponsive. Otherwise, false.""" + startup_max_conns: NotRequired[int] + r"""Maximum number of connections to accept during Worker Process startup before throttling begins.""" + startup_throttle_timeout: NotRequired[int] + r"""Timeout in milliseconds to wait for Worker Processes to reach idle before ending the startup throttle period.""" v8_single_thread: NotRequired[bool] + r"""If true, run all worker threads in a single V8 isolate. Otherwise, false.""" + worker_process_config_update_concurrency: NotRequired[int] + r"""Maximum number of Worker Processes that can reload configuration concurrently.""" + worker_process_reload_timeout: NotRequired[int] + r"""Timeout in milliseconds to wait for a Worker Process to reload configuration before treating the reload as failed.""" + worker_thread_pool_size: NotRequired[int] + r"""Size of the Worker thread pool used for CPU-bound tasks.""" class WorkersTypeSystemSettingsConf(BaseModel): - count: float + r"""Worker Process configuration.""" - memory: float + count: int + r"""Number of Worker Processes to spawn. Set to 0 to use the number of available CPU cores.""" - minimum: float + memory: int + r"""Maximum memory (in MB) per Worker Process. Set to 0 for no limit.""" + + minimum: int + r"""Minimum number of Worker Processes to keep running.""" enable_heap_snapshots: Annotated[ Optional[bool], pydantic.Field(alias="enableHeapSnapshots") ] = None + r"""If true, enable V8 heap snapshot generation on out-of-memory errors. Otherwise, false.""" load_throttle_perc: Annotated[ - Optional[float], pydantic.Field(alias="loadThrottlePerc") + Optional[int], pydantic.Field(alias="loadThrottlePerc") + ] = None + r"""CPU load percentage threshold above which new connections are throttled.""" + + restart_unresponsive_processes: Annotated[ + Optional[bool], pydantic.Field(alias="restartUnresponsiveProcesses") ] = None + r"""If true, automatically restart Worker Processes that become unresponsive. Otherwise, false.""" startup_max_conns: Annotated[ - Optional[float], pydantic.Field(alias="startupMaxConns") + Optional[int], pydantic.Field(alias="startupMaxConns") ] = None + r"""Maximum number of connections to accept during Worker Process startup before throttling begins.""" startup_throttle_timeout: Annotated[ - Optional[float], pydantic.Field(alias="startupThrottleTimeout") + Optional[int], pydantic.Field(alias="startupThrottleTimeout") ] = None + r"""Timeout in milliseconds to wait for Worker Processes to reach idle before ending the startup throttle period.""" v8_single_thread: Annotated[ Optional[bool], pydantic.Field(alias="v8SingleThread") ] = None + r"""If true, run all worker threads in a single V8 isolate. Otherwise, false.""" + + worker_process_config_update_concurrency: Annotated[ + Optional[int], pydantic.Field(alias="workerProcessConfigUpdateConcurrency") + ] = None + r"""Maximum number of Worker Processes that can reload configuration concurrently.""" + + worker_process_reload_timeout: Annotated[ + Optional[int], pydantic.Field(alias="workerProcessReloadTimeout") + ] = None + r"""Timeout in milliseconds to wait for a Worker Process to reload configuration before treating the reload as failed.""" + + worker_thread_pool_size: Annotated[ + Optional[int], pydantic.Field(alias="workerThreadPoolSize") + ] = None + r"""Size of the Worker thread pool used for CPU-bound tasks.""" @model_serializer(mode="wrap") def serialize_model(self, handler): @@ -52,9 +100,13 @@ def serialize_model(self, handler): [ "enableHeapSnapshots", "loadThrottlePerc", + "restartUnresponsiveProcesses", "startupMaxConns", "startupThrottleTimeout", "v8SingleThread", + "workerProcessConfigUpdateConcurrency", + "workerProcessReloadTimeout", + "workerThreadPoolSize", ] ) serialized = handler(self) diff --git a/src/cribl_control_plane/nodes.py b/src/cribl_control_plane/nodes.py index 4146e1378..172606156 100644 --- a/src/cribl_control_plane/nodes.py +++ b/src/cribl_control_plane/nodes.py @@ -9,7 +9,7 @@ from cribl_control_plane.utils import get_security_from_env from cribl_control_plane.utils.unmarshal_json_response import unmarshal_json_response from jsonpath import JSONPath -from typing import Any, Awaitable, Dict, List, Mapping, Optional, Union +from typing import Any, Awaitable, Dict, Iterable, List, Mapping, Optional, Union class Nodes(BaseSDK): @@ -99,6 +99,8 @@ def count( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["workers"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -108,10 +110,13 @@ def count( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedNumber, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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", "401", "403", "4XX"], "*"): + if utils.match_response(http_res, ["400", "403", "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", "*"): @@ -194,6 +199,8 @@ async def count_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["workers"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -203,10 +210,13 @@ async def count_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedNumber, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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", "401", "403", "4XX"], "*"): + if utils.match_response(http_res, ["400", "403", "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", "*"): @@ -304,6 +314,8 @@ def list( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["workers"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -343,14 +355,17 @@ def next_func() -> Optional[models.GetProductsWorkersByProductResponse]: if utils.match_response(http_res, "200", "application/json"): return models.GetProductsWorkersByProductResponse( result=unmarshal_json_response( - models.CountedMasterWorkerEntry, http_res + models.GetProductsWorkersByProductResponseBody, http_res ), next=next_func, ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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", "401", "403", "4XX"], "*"): + if utils.match_response(http_res, ["400", "403", "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", "*"): @@ -448,6 +463,8 @@ async def list_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["workers"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -492,14 +509,17 @@ async def empty_result(): if utils.match_response(http_res, "200", "application/json"): return models.GetProductsWorkersByProductResponse( result=unmarshal_json_response( - models.CountedMasterWorkerEntry, http_res + models.GetProductsWorkersByProductResponseBody, http_res ), next=next_func, ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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", "401", "403", "4XX"], "*"): + if utils.match_response(http_res, ["400", "403", "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", "*"): @@ -582,6 +602,8 @@ def get( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["workers"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -591,10 +613,13 @@ def get( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedMasterWorkerEntry, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "403", "4XX"], "*"): + if utils.match_response(http_res, ["403", "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", "*"): @@ -677,6 +702,8 @@ async def get_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["workers"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -686,10 +713,13 @@ async def get_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedMasterWorkerEntry, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "403", "4XX"], "*"): + if utils.match_response(http_res, ["403", "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 +732,7 @@ def restart( self, *, product: models.ProductsCore, - guids: List[str], + guids: Iterable[str], retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -732,7 +762,7 @@ def restart( request = models.UpdateProductsWorkersRestartByProductRequest( product=product, restart_request=models.RestartRequest( - guids=guids, + guids=utils.unmarshal(guids, List[str]), ), ) @@ -777,6 +807,8 @@ def restart( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["workers"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -786,10 +818,13 @@ def restart( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedRestartResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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", "401", "403", "4XX"], "*"): + if utils.match_response(http_res, ["400", "403", "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", "*"): @@ -802,7 +837,7 @@ async def restart_async( self, *, product: models.ProductsCore, - guids: List[str], + guids: Iterable[str], retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -832,7 +867,7 @@ async def restart_async( request = models.UpdateProductsWorkersRestartByProductRequest( product=product, restart_request=models.RestartRequest( - guids=guids, + guids=utils.unmarshal(guids, List[str]), ), ) @@ -877,6 +912,8 @@ async def restart_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["workers"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -886,10 +923,13 @@ async def restart_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedRestartResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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", "401", "403", "4XX"], "*"): + if utils.match_response(http_res, ["400", "403", "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.py b/src/cribl_control_plane/packs.py index 25f1283ee..3bd95048c 100644 --- a/src/cribl_control_plane/packs.py +++ b/src/cribl_control_plane/packs.py @@ -12,7 +12,8 @@ from cribl_control_plane.utils import get_security_from_env from cribl_control_plane.utils.unmarshal_json_response import unmarshal_json_response import io -from typing import Any, IO, Mapping, Optional, Union, cast +from jsonpath import JSONPath +from typing import Any, Awaitable, Dict, IO, List, Mapping, Optional, Union, cast class Packs(BaseSDK): @@ -53,7 +54,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 @@ -116,6 +117,8 @@ def install( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["packs"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -125,10 +128,13 @@ def install( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedPackInstallInfo, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -150,7 +156,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 @@ -213,6 +219,8 @@ async def install_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["packs"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -222,10 +230,13 @@ async def install_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedPackInstallInfo, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -238,16 +249,20 @@ def list( self, *, with_: Optional[str] = None, + offset: Optional[int] = None, + limit: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.CountedPackInfo: + ) -> Optional[models.GetPacksResponse]: r"""List all Packs 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 offset: Pagination offset + :param limit: Maximum number of items to return :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 @@ -265,6 +280,8 @@ def list( request = models.GetPacksRequest( with_=with_, + offset=offset, + limit=limit, ) req = self._build_request( @@ -305,19 +322,52 @@ def list( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["packs"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), retry_config=retry_config, ) + def next_func() -> Optional[models.GetPacksResponse]: + body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]]) + + offset = request.offset if isinstance(request.offset, int) else 0 + + if not http_res.text: + return None + results = JSONPath("$.items").parse(body) + if len(results) == 0 or len(results[0]) == 0: + return None + limit_ = request.limit if isinstance(request.limit, int) else 0 + if len(results[0]) < limit_: + return None + next_offset = offset + len(results[0]) + + return self.list( + with_=with_, + offset=next_offset, + limit=limit, + retries=retries, + server_url=server_url, + timeout_ms=timeout_ms, + http_headers=http_headers, + ) + response_data: Any = None if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response(models.CountedPackInfo, http_res) + return models.GetPacksResponse( + result=unmarshal_json_response(models.GetPacksResponseBody, http_res), + next=next_func, + ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -330,16 +380,20 @@ async def list_async( self, *, with_: Optional[str] = None, + offset: Optional[int] = None, + limit: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.CountedPackInfo: + ) -> Optional[models.GetPacksResponse]: r"""List all Packs 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 offset: Pagination offset + :param limit: Maximum number of items to return :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 @@ -357,6 +411,8 @@ async def list_async( request = models.GetPacksRequest( with_=with_, + offset=offset, + limit=limit, ) req = self._build_request_async( @@ -397,19 +453,55 @@ async def list_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["packs"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), retry_config=retry_config, ) + def next_func() -> Awaitable[Optional[models.GetPacksResponse]]: + body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]]) + + async def empty_result(): + return None + + offset = request.offset if isinstance(request.offset, int) else 0 + + if not http_res.text: + return empty_result() + results = JSONPath("$.items").parse(body) + if len(results) == 0 or len(results[0]) == 0: + return empty_result() + limit_ = request.limit if isinstance(request.limit, int) else 0 + if len(results[0]) < limit_: + return empty_result() + next_offset = offset + len(results[0]) + + return self.list_async( + with_=with_, + offset=next_offset, + limit=limit, + retries=retries, + server_url=server_url, + timeout_ms=timeout_ms, + http_headers=http_headers, + ) + response_data: Any = None if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response(models.CountedPackInfo, http_res) + return models.GetPacksResponse( + result=unmarshal_json_response(models.GetPacksResponseBody, http_res), + next=next_func, + ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -422,7 +514,7 @@ def upload( self, *, filename: str, - request_body: Union[bytes, IO[bytes], io.BufferedReader], + request_body: Union[bytes, IO[bytes], io.IOBase], retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -472,7 +564,7 @@ def upload( False, False, "raw", - Union[bytes, IO[bytes], io.BufferedReader], + Union[bytes, IO[bytes], io.IOBase], ), allow_empty_value=None, timeout_ms=timeout_ms, @@ -499,6 +591,8 @@ def upload( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["packs"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -508,10 +602,13 @@ def upload( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.UploadPackResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -524,7 +621,7 @@ async def upload_async( self, *, filename: str, - request_body: Union[bytes, IO[bytes], io.BufferedReader], + request_body: Union[bytes, IO[bytes], io.IOBase], retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -574,7 +671,7 @@ async def upload_async( False, False, "raw", - Union[bytes, IO[bytes], io.BufferedReader], + Union[bytes, IO[bytes], io.IOBase], ), allow_empty_value=None, timeout_ms=timeout_ms, @@ -601,6 +698,8 @@ async def upload_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["packs"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -610,10 +709,13 @@ async def upload_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.UploadPackResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -635,7 +737,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 @@ -693,6 +795,8 @@ def get( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["packs"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -702,10 +806,13 @@ def get( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedPackInfo, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -727,7 +834,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 @@ -785,6 +892,8 @@ async def get_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["packs"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -794,10 +903,13 @@ async def get_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedPackInfo, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -812,7 +924,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, @@ -823,11 +935,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 @@ -898,6 +1010,8 @@ def update( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["packs"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -907,10 +1021,13 @@ def update( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedPackInfo, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -925,7 +1042,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, @@ -936,11 +1053,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 @@ -1011,6 +1128,8 @@ async def update_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["packs"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1020,10 +1139,13 @@ async def update_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedPackInfo, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -1045,7 +1167,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 @@ -1103,6 +1225,8 @@ def delete( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["packs"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1112,10 +1236,13 @@ def delete( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedPackUninstallInfo, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -1137,7 +1264,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 @@ -1195,6 +1322,8 @@ async def delete_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["packs"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1204,10 +1333,13 @@ async def delete_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedPackUninstallInfo, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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_destinations.py b/src/cribl_control_plane/packs_destinations.py index 589a624a0..e68dadb7c 100644 --- a/src/cribl_control_plane/packs_destinations.py +++ b/src/cribl_control_plane/packs_destinations.py @@ -10,7 +10,8 @@ from cribl_control_plane.types import OptionalNullable, UNSET from cribl_control_plane.utils import get_security_from_env from cribl_control_plane.utils.unmarshal_json_response import unmarshal_json_response -from typing import Any, Mapping, Optional, Union +from jsonpath import JSONPath +from typing import Any, Awaitable, Dict, List, Mapping, Optional, Union class PacksDestinations(BaseSDK): @@ -39,17 +40,21 @@ def list( *, pack: str, type_: Optional[models.DestinationType] = None, + offset: Optional[int] = None, + limit: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.CountedOutputResponse: + ) -> Optional[models.GetOutputSystemByPackResponse]: r"""List all Destinations within a Pack Get a list of all Destinations within the specified Pack. :param pack: The id of the Pack. :param type: Type of Destination to include in the results. Each request can include only one type parameter; multiple parameters per request are not supported. + :param offset: Pagination offset + :param limit: Maximum number of items to return :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 @@ -67,6 +72,8 @@ def list( request = models.GetOutputSystemByPackRequest( type=type_, + offset=offset, + limit=limit, pack=pack, ) @@ -108,19 +115,55 @@ def list( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), retry_config=retry_config, ) + def next_func() -> Optional[models.GetOutputSystemByPackResponse]: + body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]]) + + offset = request.offset if isinstance(request.offset, int) else 0 + + if not http_res.text: + return None + results = JSONPath("$.items").parse(body) + if len(results) == 0 or len(results[0]) == 0: + return None + limit_ = request.limit if isinstance(request.limit, int) else 0 + if len(results[0]) < limit_: + return None + next_offset = offset + len(results[0]) + + return self.list( + pack=pack, + type_=type_, + offset=next_offset, + limit=limit, + retries=retries, + server_url=server_url, + timeout_ms=timeout_ms, + http_headers=http_headers, + ) + response_data: Any = None if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response(models.CountedOutputResponse, http_res) + return models.GetOutputSystemByPackResponse( + result=unmarshal_json_response( + models.GetOutputSystemByPackResponseBody, http_res + ), + next=next_func, + ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -134,17 +177,21 @@ async def list_async( *, pack: str, type_: Optional[models.DestinationType] = None, + offset: Optional[int] = None, + limit: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.CountedOutputResponse: + ) -> Optional[models.GetOutputSystemByPackResponse]: r"""List all Destinations within a Pack Get a list of all Destinations within the specified Pack. :param pack: The id of the Pack. :param type: Type of Destination to include in the results. Each request can include only one type parameter; multiple parameters per request are not supported. + :param offset: Pagination offset + :param limit: Maximum number of items to return :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 @@ -162,6 +209,8 @@ async def list_async( request = models.GetOutputSystemByPackRequest( type=type_, + offset=offset, + limit=limit, pack=pack, ) @@ -203,19 +252,58 @@ async def list_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), retry_config=retry_config, ) + def next_func() -> Awaitable[Optional[models.GetOutputSystemByPackResponse]]: + body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]]) + + async def empty_result(): + return None + + offset = request.offset if isinstance(request.offset, int) else 0 + + if not http_res.text: + return empty_result() + results = JSONPath("$.items").parse(body) + if len(results) == 0 or len(results[0]) == 0: + return empty_result() + limit_ = request.limit if isinstance(request.limit, int) else 0 + if len(results[0]) < limit_: + return empty_result() + next_offset = offset + len(results[0]) + + return self.list_async( + pack=pack, + type_=type_, + offset=next_offset, + limit=limit, + retries=retries, + server_url=server_url, + timeout_ms=timeout_ms, + http_headers=http_headers, + ) + response_data: Any = None if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response(models.CountedOutputResponse, http_res) + return models.GetOutputSystemByPackResponse( + result=unmarshal_json_response( + models.GetOutputSystemByPackResponseBody, http_res + ), + next=next_func, + ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -310,6 +398,8 @@ def create( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -319,10 +409,13 @@ def create( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedOutputResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "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", "*"): @@ -417,6 +510,8 @@ async def create_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -426,10 +521,13 @@ async def create_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedOutputResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "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", "*"): @@ -512,6 +610,8 @@ def get( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -521,10 +621,13 @@ def get( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedOutputResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "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", "*"): @@ -607,6 +710,8 @@ async def get_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -616,10 +721,13 @@ async def get_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedOutputResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "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", "*"): @@ -708,6 +816,8 @@ def update( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -717,10 +827,13 @@ def update( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedOutputResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "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", "*"): @@ -809,6 +922,8 @@ async def update_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -818,10 +933,13 @@ async def update_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedOutputResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "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", "*"): @@ -904,6 +1022,8 @@ def delete( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -913,10 +1033,13 @@ def delete( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedOutputResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "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", "*"): @@ -999,6 +1122,8 @@ async def delete_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1008,10 +1133,13 @@ async def delete_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedOutputResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "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_destinations_pq.py b/src/cribl_control_plane/packs_destinations_pq.py index 92d7f2ad4..4b68149e3 100644 --- a/src/cribl_control_plane/packs_destinations_pq.py +++ b/src/cribl_control_plane/packs_destinations_pq.py @@ -84,6 +84,8 @@ def clear( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -93,10 +95,13 @@ def clear( response_data: Any = None if utils.match_response(http_res, "201", "application/json"): return unmarshal_json_response(models.CountedString, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -179,6 +184,8 @@ async def clear_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -188,10 +195,13 @@ async def clear_async( response_data: Any = None if utils.match_response(http_res, "201", "application/json"): return unmarshal_json_response(models.CountedString, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -274,6 +284,8 @@ def get( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -283,10 +295,13 @@ def get( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedJobInfo, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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,6 +384,8 @@ async def get_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -378,10 +395,13 @@ async def get_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedJobInfo, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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_destinations_statuses.py b/src/cribl_control_plane/packs_destinations_statuses.py index b25f4e0ac..3951ffda3 100644 --- a/src/cribl_control_plane/packs_destinations_statuses.py +++ b/src/cribl_control_plane/packs_destinations_statuses.py @@ -94,6 +94,8 @@ def list( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -130,13 +132,18 @@ def next_func() -> Optional[models.GetOutputStatusSystemOutputsByPackResponse]: response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return models.GetOutputStatusSystemOutputsByPackResponse( - result=unmarshal_json_response(models.CountedOutputStatus, http_res), + result=unmarshal_json_response( + models.GetOutputStatusSystemOutputsByPackResponseBody, http_res + ), next=next_func, ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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", "401", "4XX"], "*"): + if utils.match_response(http_res, ["400", "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", "*"): @@ -228,6 +235,8 @@ async def list_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -269,13 +278,18 @@ async def empty_result(): response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return models.GetOutputStatusSystemOutputsByPackResponse( - result=unmarshal_json_response(models.CountedOutputStatus, http_res), + result=unmarshal_json_response( + models.GetOutputStatusSystemOutputsByPackResponseBody, http_res + ), next=next_func, ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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", "401", "4XX"], "*"): + if utils.match_response(http_res, ["400", "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", "*"): @@ -364,6 +378,8 @@ def get( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -373,10 +389,13 @@ def get( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedOutputStatus, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -465,6 +484,8 @@ async def get_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -474,10 +495,13 @@ async def get_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedOutputStatus, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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_hectokens.py b/src/cribl_control_plane/packs_hectokens.py index cf1260214..6318bd0a0 100644 --- a/src/cribl_control_plane/packs_hectokens.py +++ b/src/cribl_control_plane/packs_hectokens.py @@ -6,7 +6,7 @@ from cribl_control_plane.types import OptionalNullable, UNSET from cribl_control_plane.utils import get_security_from_env from cribl_control_plane.utils.unmarshal_json_response import unmarshal_json_response -from typing import Any, List, Mapping, Optional, Union +from typing import Any, Iterable, List, Mapping, Optional, Union class PacksHecTokens(BaseSDK): @@ -16,13 +16,13 @@ def create( id: str, pack: str, token: str, - allowed_indexes_at_token: Optional[List[str]] = None, + allowed_indexes_at_token: Optional[Iterable[str]] = None, description: Optional[str] = None, enabled: Optional[bool] = None, metadata: Optional[ Union[ - List[models.EventBreakerRuleFields], - List[models.EventBreakerRuleFieldsTypedDict], + Iterable[models.MetadataConfAddHecTokenRequest], + Iterable[models.MetadataConfAddHecTokenRequestTypedDict], ] ] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, @@ -60,11 +60,13 @@ def create( id=id, pack=pack, add_hec_token_request=models.AddHecTokenRequest( - allowed_indexes_at_token=allowed_indexes_at_token, + allowed_indexes_at_token=utils.unmarshal( + allowed_indexes_at_token, Optional[List[str]] + ), description=description, enabled=enabled, metadata=utils.get_pydantic_model( - metadata, Optional[List[models.EventBreakerRuleFields]] + metadata, Optional[List[models.MetadataConfAddHecTokenRequest]] ), token=token, ), @@ -115,6 +117,8 @@ def create( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -124,10 +128,13 @@ def create( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedInputSplunkHec, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, ["400", "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", "*"): @@ -142,13 +149,13 @@ async def create_async( id: str, pack: str, token: str, - allowed_indexes_at_token: Optional[List[str]] = None, + allowed_indexes_at_token: Optional[Iterable[str]] = None, description: Optional[str] = None, enabled: Optional[bool] = None, metadata: Optional[ Union[ - List[models.EventBreakerRuleFields], - List[models.EventBreakerRuleFieldsTypedDict], + Iterable[models.MetadataConfAddHecTokenRequest], + Iterable[models.MetadataConfAddHecTokenRequestTypedDict], ] ] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, @@ -186,11 +193,13 @@ async def create_async( id=id, pack=pack, add_hec_token_request=models.AddHecTokenRequest( - allowed_indexes_at_token=allowed_indexes_at_token, + allowed_indexes_at_token=utils.unmarshal( + allowed_indexes_at_token, Optional[List[str]] + ), description=description, enabled=enabled, metadata=utils.get_pydantic_model( - metadata, Optional[List[models.EventBreakerRuleFields]] + metadata, Optional[List[models.MetadataConfAddHecTokenRequest]] ), token=token, ), @@ -241,6 +250,8 @@ async def create_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -250,10 +261,13 @@ async def create_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedInputSplunkHec, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, ["400", "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", "*"): @@ -268,13 +282,13 @@ def update( id: str, token: str, pack: str, - allowed_indexes_at_token: Optional[List[str]] = None, + allowed_indexes_at_token: Optional[Iterable[str]] = None, description: Optional[str] = None, enabled: Optional[bool] = None, metadata: Optional[ Union[ - List[models.EventBreakerRuleFields], - List[models.EventBreakerRuleFieldsTypedDict], + Iterable[models.MetadataConfAddHecTokenRequest], + Iterable[models.MetadataConfAddHecTokenRequestTypedDict], ] ] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, @@ -287,7 +301,7 @@ def update( Update the metadata for the specified HEC token for the specified Splunk HEC Source within the specified Pack. :param id: The id of the Splunk HEC Source. - :param token: The HEC token value to update. + :param token: The HEC token value whose metadata you want to update. Must match an existing token on the Source. :param pack: The id of the Pack. :param allowed_indexes_at_token: List of index names that the HEC token is allowed to write to. :param description: Brief description for the HEC token. @@ -313,11 +327,13 @@ def update( token=token, pack=pack, update_hec_token_request=models.UpdateHecTokenRequest( - allowed_indexes_at_token=allowed_indexes_at_token, + allowed_indexes_at_token=utils.unmarshal( + allowed_indexes_at_token, Optional[List[str]] + ), description=description, enabled=enabled, metadata=utils.get_pydantic_model( - metadata, Optional[List[models.EventBreakerRuleFields]] + metadata, Optional[List[models.MetadataConfAddHecTokenRequest]] ), ), ) @@ -367,6 +383,8 @@ def update( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -376,10 +394,13 @@ def update( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedInputSplunkHec, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, ["400", "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", "*"): @@ -394,13 +415,13 @@ async def update_async( id: str, token: str, pack: str, - allowed_indexes_at_token: Optional[List[str]] = None, + allowed_indexes_at_token: Optional[Iterable[str]] = None, description: Optional[str] = None, enabled: Optional[bool] = None, metadata: Optional[ Union[ - List[models.EventBreakerRuleFields], - List[models.EventBreakerRuleFieldsTypedDict], + Iterable[models.MetadataConfAddHecTokenRequest], + Iterable[models.MetadataConfAddHecTokenRequestTypedDict], ] ] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, @@ -413,7 +434,7 @@ async def update_async( Update the metadata for the specified HEC token for the specified Splunk HEC Source within the specified Pack. :param id: The id of the Splunk HEC Source. - :param token: The HEC token value to update. + :param token: The HEC token value whose metadata you want to update. Must match an existing token on the Source. :param pack: The id of the Pack. :param allowed_indexes_at_token: List of index names that the HEC token is allowed to write to. :param description: Brief description for the HEC token. @@ -439,11 +460,13 @@ async def update_async( token=token, pack=pack, update_hec_token_request=models.UpdateHecTokenRequest( - allowed_indexes_at_token=allowed_indexes_at_token, + allowed_indexes_at_token=utils.unmarshal( + allowed_indexes_at_token, Optional[List[str]] + ), description=description, enabled=enabled, metadata=utils.get_pydantic_model( - metadata, Optional[List[models.EventBreakerRuleFields]] + metadata, Optional[List[models.MetadataConfAddHecTokenRequest]] ), ), ) @@ -493,6 +516,8 @@ async def update_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -502,10 +527,13 @@ async def update_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedInputSplunkHec, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, ["400", "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_pipelines.py b/src/cribl_control_plane/packs_pipelines.py index a6b1ba721..5882b5ebb 100644 --- a/src/cribl_control_plane/packs_pipelines.py +++ b/src/cribl_control_plane/packs_pipelines.py @@ -6,7 +6,8 @@ from cribl_control_plane.types import OptionalNullable, UNSET from cribl_control_plane.utils import get_security_from_env from cribl_control_plane.utils.unmarshal_json_response import unmarshal_json_response -from typing import Any, Mapping, Optional, Union +from jsonpath import JSONPath +from typing import Any, Awaitable, Dict, List, Mapping, Optional, Union class PacksPipelines(BaseSDK): @@ -14,16 +15,20 @@ def list( self, *, pack: str, + offset: Optional[int] = None, + limit: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.CountedPipeline: + ) -> Optional[models.GetPipelinesByPackResponse]: r"""List all Pipelines within a Pack Get a list of all Pipelines within the specified Pack. :param pack: The id of the Pack. + :param offset: Pagination offset + :param limit: Maximum number of items to return :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 @@ -40,6 +45,8 @@ def list( base_url = self._get_url(base_url, url_variables) request = models.GetPipelinesByPackRequest( + offset=offset, + limit=limit, pack=pack, ) @@ -81,19 +88,54 @@ def list( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["pipelines"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), retry_config=retry_config, ) + def next_func() -> Optional[models.GetPipelinesByPackResponse]: + body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]]) + + offset = request.offset if isinstance(request.offset, int) else 0 + + if not http_res.text: + return None + results = JSONPath("$.items").parse(body) + if len(results) == 0 or len(results[0]) == 0: + return None + limit_ = request.limit if isinstance(request.limit, int) else 0 + if len(results[0]) < limit_: + return None + next_offset = offset + len(results[0]) + + return self.list( + pack=pack, + offset=next_offset, + limit=limit, + retries=retries, + server_url=server_url, + timeout_ms=timeout_ms, + http_headers=http_headers, + ) + response_data: Any = None if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response(models.CountedPipeline, http_res) + return models.GetPipelinesByPackResponse( + result=unmarshal_json_response( + models.GetPipelinesByPackResponseBody, http_res + ), + next=next_func, + ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -106,16 +148,20 @@ async def list_async( self, *, pack: str, + offset: Optional[int] = None, + limit: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.CountedPipeline: + ) -> Optional[models.GetPipelinesByPackResponse]: r"""List all Pipelines within a Pack Get a list of all Pipelines within the specified Pack. :param pack: The id of the Pack. + :param offset: Pagination offset + :param limit: Maximum number of items to return :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 @@ -132,6 +178,8 @@ async def list_async( base_url = self._get_url(base_url, url_variables) request = models.GetPipelinesByPackRequest( + offset=offset, + limit=limit, pack=pack, ) @@ -173,19 +221,57 @@ async def list_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["pipelines"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), retry_config=retry_config, ) + def next_func() -> Awaitable[Optional[models.GetPipelinesByPackResponse]]: + body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]]) + + async def empty_result(): + return None + + offset = request.offset if isinstance(request.offset, int) else 0 + + if not http_res.text: + return empty_result() + results = JSONPath("$.items").parse(body) + if len(results) == 0 or len(results[0]) == 0: + return empty_result() + limit_ = request.limit if isinstance(request.limit, int) else 0 + if len(results[0]) < limit_: + return empty_result() + next_offset = offset + len(results[0]) + + return self.list_async( + pack=pack, + offset=next_offset, + limit=limit, + retries=retries, + server_url=server_url, + timeout_ms=timeout_ms, + http_headers=http_headers, + ) + response_data: Any = None if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response(models.CountedPipeline, http_res) + return models.GetPipelinesByPackResponse( + result=unmarshal_json_response( + models.GetPipelinesByPackResponseBody, http_res + ), + next=next_func, + ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -210,8 +296,8 @@ def create( Create a new Pipeline within the specified Pack. :param pack: The id of the Pack. - :param id: - :param conf: + :param id: Unique identifier for the Pipeline. + :param conf: Configuration for the Pipeline, including functions and settings. :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 @@ -276,6 +362,8 @@ def create( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["pipelines"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -285,10 +373,13 @@ def create( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedPipeline, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, ["400", "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", "*"): @@ -313,8 +404,8 @@ async def create_async( Create a new Pipeline within the specified Pack. :param pack: The id of the Pack. - :param id: - :param conf: + :param id: Unique identifier for the Pipeline. + :param conf: Configuration for the Pipeline, including functions and settings. :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 @@ -379,6 +470,8 @@ async def create_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["pipelines"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -388,10 +481,13 @@ async def create_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedPipeline, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, ["400", "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", "*"): @@ -474,6 +570,8 @@ def get( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["pipelines"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -483,10 +581,13 @@ def get( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedPipeline, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -569,6 +670,8 @@ async def get_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["pipelines"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -578,10 +681,13 @@ async def get_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedPipeline, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -604,12 +710,12 @@ def update( ) -> models.CountedPipeline: r"""Update a Pipeline within a Pack - Update the specified Pipeline within the specified Pack.

Provide a complete representation of the Pipeline that you want to update in the request body. This endpoint does not support partial updates. Cribl removes any omitted fields when updating the Pipeline.

Confirm that the configuration in your request body is correct before sending the request. If the configuration is incorrect, the updated Pipeline might not function as expected. + Update the specified Pipeline within the specified Pack.

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

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

Confirm that the configuration in your request body is correct before sending the request.

If the configuration is incorrect, the updated Pipeline might not function as expected. :param id_param: The id of the Pipeline to update. :param pack: The id of the Pack. - :param id: - :param conf: + :param id: Unique identifier for the Pipeline. + :param conf: Configuration for the Pipeline, including functions and settings. :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 @@ -675,6 +781,8 @@ def update( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["pipelines"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -684,10 +792,13 @@ def update( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedPipeline, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, ["400", "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", "*"): @@ -710,12 +821,12 @@ async def update_async( ) -> models.CountedPipeline: r"""Update a Pipeline within a Pack - Update the specified Pipeline within the specified Pack.

Provide a complete representation of the Pipeline that you want to update in the request body. This endpoint does not support partial updates. Cribl removes any omitted fields when updating the Pipeline.

Confirm that the configuration in your request body is correct before sending the request. If the configuration is incorrect, the updated Pipeline might not function as expected. + Update the specified Pipeline within the specified Pack.

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

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

Confirm that the configuration in your request body is correct before sending the request.

If the configuration is incorrect, the updated Pipeline might not function as expected. :param id_param: The id of the Pipeline to update. :param pack: The id of the Pack. - :param id: - :param conf: + :param id: Unique identifier for the Pipeline. + :param conf: Configuration for the Pipeline, including functions and settings. :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 @@ -781,6 +892,8 @@ async def update_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["pipelines"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -790,10 +903,13 @@ async def update_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedPipeline, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, ["400", "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", "*"): @@ -876,6 +992,8 @@ def delete( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["pipelines"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -885,10 +1003,13 @@ def delete( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedPipeline, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -971,6 +1092,8 @@ async def delete_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["pipelines"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -980,10 +1103,13 @@ async def delete_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedPipeline, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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 55f0b9b98..8b1570092 100644 --- a/src/cribl_control_plane/packs_routes.py +++ b/src/cribl_control_plane/packs_routes.py @@ -6,7 +6,7 @@ from cribl_control_plane.types import OptionalNullable, UNSET from cribl_control_plane.utils import get_security_from_env from cribl_control_plane.utils.unmarshal_json_response import unmarshal_json_response -from typing import Any, Dict, List, Mapping, Optional, Union +from typing import Any, Dict, Iterable, List, Mapping, Optional, Union class PacksRoutes(BaseSDK): @@ -81,6 +81,8 @@ def list( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["routes"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -90,10 +92,13 @@ def list( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedRoutes, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -173,6 +178,8 @@ async def list_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["routes"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -182,10 +189,13 @@ async def list_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedRoutes, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -268,6 +278,8 @@ def get( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["routes"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -277,10 +289,13 @@ def get( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedRoutes, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "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", "*"): @@ -363,6 +378,8 @@ async def get_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["routes"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -372,10 +389,13 @@ async def get_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedRoutes, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "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", "*"): @@ -391,15 +411,15 @@ def update( pack: str, id: str, routes: Union[ - List[models.RouteConfInput], List[models.RouteConfInputTypedDict] + Iterable[models.RouteConfInput], Iterable[models.RouteConfInputTypedDict] ], comments: Optional[ - Union[List[models.RouteComment], List[models.RouteCommentTypedDict]] + Union[Iterable[models.RouteComment], Iterable[models.RouteCommentTypedDict]] ] = None, groups: Optional[ Union[ - Dict[str, models.AdditionalPropertiesTypeRoutesGroups], - Dict[str, models.AdditionalPropertiesTypeRoutesGroupsTypedDict], + Mapping[str, models.AdditionalPropertiesTypeRoutesGroups], + Mapping[str, models.AdditionalPropertiesTypeRoutesGroupsTypedDict], ] ] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, @@ -407,11 +427,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. @@ -489,6 +509,8 @@ def update( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["routes"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -498,10 +520,13 @@ def update( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedRoutes, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "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", "*"): @@ -517,15 +542,15 @@ async def update_async( pack: str, id: str, routes: Union[ - List[models.RouteConfInput], List[models.RouteConfInputTypedDict] + Iterable[models.RouteConfInput], Iterable[models.RouteConfInputTypedDict] ], comments: Optional[ - Union[List[models.RouteComment], List[models.RouteCommentTypedDict]] + Union[Iterable[models.RouteComment], Iterable[models.RouteCommentTypedDict]] ] = None, groups: Optional[ Union[ - Dict[str, models.AdditionalPropertiesTypeRoutesGroups], - Dict[str, models.AdditionalPropertiesTypeRoutesGroupsTypedDict], + Mapping[str, models.AdditionalPropertiesTypeRoutesGroups], + Mapping[str, models.AdditionalPropertiesTypeRoutesGroupsTypedDict], ] ] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, @@ -533,11 +558,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. @@ -615,6 +640,8 @@ async def update_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["routes"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -624,10 +651,13 @@ async def update_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedRoutes, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "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", "*"): @@ -642,7 +672,7 @@ def append( id: str, pack: str, request_body: Union[ - List[models.RouteConfInput], List[models.RouteConfInputTypedDict] + Iterable[models.RouteConfInput], Iterable[models.RouteConfInputTypedDict] ], retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, @@ -720,6 +750,8 @@ def append( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["routes"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -729,10 +761,13 @@ def append( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedRoutes, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "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", "*"): @@ -747,7 +782,7 @@ async def append_async( id: str, pack: str, request_body: Union[ - List[models.RouteConfInput], List[models.RouteConfInputTypedDict] + Iterable[models.RouteConfInput], Iterable[models.RouteConfInputTypedDict] ], retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, @@ -825,6 +860,8 @@ async def append_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["routes"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -834,10 +871,13 @@ async def append_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedRoutes, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "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/packs_samples.py b/src/cribl_control_plane/packs_samples.py index 7240d1580..12e75aac2 100644 --- a/src/cribl_control_plane/packs_samples.py +++ b/src/cribl_control_plane/packs_samples.py @@ -6,7 +6,7 @@ from cribl_control_plane.types import OptionalNullable, UNSET from cribl_control_plane.utils import get_security_from_env from cribl_control_plane.utils.unmarshal_json_response import unmarshal_json_response -from typing import Any, Dict, List, Mapping, Optional +from typing import Any, Dict, Iterable, List, Mapping, Optional class PacksSamples(BaseSDK): @@ -84,6 +84,8 @@ def get( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -95,10 +97,13 @@ def get( return unmarshal_json_response( models.CountedOutputSamplesResponse, http_res ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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", "401", "4XX"], "*"): + if utils.match_response(http_res, ["400", "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", "*"): @@ -181,6 +186,8 @@ async def get_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -192,10 +199,13 @@ async def get_async( return unmarshal_json_response( models.CountedOutputSamplesResponse, http_res ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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", "401", "4XX"], "*"): + if utils.match_response(http_res, ["400", "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", "*"): @@ -209,7 +219,7 @@ def create( *, id: str, pack: str, - events: List[Dict[str, Any]], + events: Iterable[Mapping[str, Any]], retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -241,7 +251,7 @@ def create( id=id, pack=pack, output_test_request=models.OutputTestRequest( - events=events, + events=utils.unmarshal(events, List[Dict[str, Any]]), ), ) @@ -290,6 +300,8 @@ def create( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -299,10 +311,13 @@ def create( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedOutputTestResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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", "401", "4XX"], "*"): + if utils.match_response(http_res, ["400", "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", "*"): @@ -316,7 +331,7 @@ async def create_async( *, id: str, pack: str, - events: List[Dict[str, Any]], + events: Iterable[Mapping[str, Any]], retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -348,7 +363,7 @@ async def create_async( id=id, pack=pack, output_test_request=models.OutputTestRequest( - events=events, + events=utils.unmarshal(events, List[Dict[str, Any]]), ), ) @@ -397,6 +412,8 @@ async def create_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -406,10 +423,13 @@ async def create_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedOutputTestResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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", "401", "4XX"], "*"): + if utils.match_response(http_res, ["400", "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_sources.py b/src/cribl_control_plane/packs_sources.py index e946712f0..a4f743003 100644 --- a/src/cribl_control_plane/packs_sources.py +++ b/src/cribl_control_plane/packs_sources.py @@ -10,7 +10,8 @@ from cribl_control_plane.types import OptionalNullable, UNSET from cribl_control_plane.utils import get_security_from_env from cribl_control_plane.utils.unmarshal_json_response import unmarshal_json_response -from typing import Any, List, Mapping, Optional, Union +from jsonpath import JSONPath +from typing import Any, Awaitable, Dict, Iterable, List, Mapping, Optional, Union class PacksSources(BaseSDK): @@ -38,18 +39,22 @@ def list( self, *, pack: str, - type_: Optional[List[str]] = None, + type_: Optional[Iterable[str]] = None, + offset: Optional[int] = None, + limit: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.CountedInputResponse: + ) -> Optional[models.GetInputSystemByPackResponse]: r"""List all Sources within a Pack Get a list of all Sources within the specified Pack. :param pack: The id of the Pack. :param type: Type of Source to include in the results. Each request can include only one type parameter; multiple parameters per request are not supported. + :param offset: Pagination offset + :param limit: Maximum number of items to return :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 @@ -66,7 +71,9 @@ def list( base_url = self._get_url(base_url, url_variables) request = models.GetInputSystemByPackRequest( - type=type_, + type=utils.unmarshal(type_, Optional[List[str]]), + offset=offset, + limit=limit, pack=pack, ) @@ -108,19 +115,55 @@ def list( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), retry_config=retry_config, ) + def next_func() -> Optional[models.GetInputSystemByPackResponse]: + body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]]) + + offset = request.offset if isinstance(request.offset, int) else 0 + + if not http_res.text: + return None + results = JSONPath("$.items").parse(body) + if len(results) == 0 or len(results[0]) == 0: + return None + limit_ = request.limit if isinstance(request.limit, int) else 0 + if len(results[0]) < limit_: + return None + next_offset = offset + len(results[0]) + + return self.list( + pack=pack, + type_=type_, + offset=next_offset, + limit=limit, + retries=retries, + server_url=server_url, + timeout_ms=timeout_ms, + http_headers=http_headers, + ) + response_data: Any = None if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response(models.CountedInputResponse, http_res) + return models.GetInputSystemByPackResponse( + result=unmarshal_json_response( + models.GetInputSystemByPackResponseBody, http_res + ), + next=next_func, + ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -133,18 +176,22 @@ async def list_async( self, *, pack: str, - type_: Optional[List[str]] = None, + type_: Optional[Iterable[str]] = None, + offset: Optional[int] = None, + limit: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.CountedInputResponse: + ) -> Optional[models.GetInputSystemByPackResponse]: r"""List all Sources within a Pack Get a list of all Sources within the specified Pack. :param pack: The id of the Pack. :param type: Type of Source to include in the results. Each request can include only one type parameter; multiple parameters per request are not supported. + :param offset: Pagination offset + :param limit: Maximum number of items to return :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 @@ -161,7 +208,9 @@ async def list_async( base_url = self._get_url(base_url, url_variables) request = models.GetInputSystemByPackRequest( - type=type_, + type=utils.unmarshal(type_, Optional[List[str]]), + offset=offset, + limit=limit, pack=pack, ) @@ -203,19 +252,58 @@ async def list_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), retry_config=retry_config, ) + def next_func() -> Awaitable[Optional[models.GetInputSystemByPackResponse]]: + body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]]) + + async def empty_result(): + return None + + offset = request.offset if isinstance(request.offset, int) else 0 + + if not http_res.text: + return empty_result() + results = JSONPath("$.items").parse(body) + if len(results) == 0 or len(results[0]) == 0: + return empty_result() + limit_ = request.limit if isinstance(request.limit, int) else 0 + if len(results[0]) < limit_: + return empty_result() + next_offset = offset + len(results[0]) + + return self.list_async( + pack=pack, + type_=type_, + offset=next_offset, + limit=limit, + retries=retries, + server_url=server_url, + timeout_ms=timeout_ms, + http_headers=http_headers, + ) + response_data: Any = None if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response(models.CountedInputResponse, http_res) + return models.GetInputSystemByPackResponse( + result=unmarshal_json_response( + models.GetInputSystemByPackResponseBody, http_res + ), + next=next_func, + ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -310,6 +398,8 @@ def create( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -319,10 +409,13 @@ def create( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedInputResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "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", "*"): @@ -417,6 +510,8 @@ async def create_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -426,10 +521,13 @@ async def create_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedInputResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "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", "*"): @@ -512,6 +610,8 @@ def get( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -521,10 +621,13 @@ def get( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedInputResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "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", "*"): @@ -607,6 +710,8 @@ async def get_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -616,10 +721,13 @@ async def get_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedInputResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "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", "*"): @@ -708,6 +816,8 @@ def update( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -717,10 +827,13 @@ def update( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedInputResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -809,6 +922,8 @@ async def update_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -818,10 +933,13 @@ async def update_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedInputResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -904,6 +1022,8 @@ def delete( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -913,10 +1033,13 @@ def delete( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedInputResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -999,6 +1122,8 @@ async def delete_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1008,10 +1133,13 @@ async def delete_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedInputResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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_sources_pq.py b/src/cribl_control_plane/packs_sources_pq.py index 97afc6a98..bd12910d4 100644 --- a/src/cribl_control_plane/packs_sources_pq.py +++ b/src/cribl_control_plane/packs_sources_pq.py @@ -84,6 +84,8 @@ def clear( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -93,10 +95,13 @@ def clear( response_data: Any = None if utils.match_response(http_res, "201", "application/json"): return unmarshal_json_response(models.CountedString, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -179,6 +184,8 @@ async def clear_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -188,10 +195,13 @@ async def clear_async( response_data: Any = None if utils.match_response(http_res, "201", "application/json"): return unmarshal_json_response(models.CountedString, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -274,6 +284,8 @@ def get( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -283,10 +295,13 @@ def get( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedJobInfo, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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,6 +384,8 @@ async def get_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -378,10 +395,13 @@ async def get_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedJobInfo, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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_sources_statuses.py b/src/cribl_control_plane/packs_sources_statuses.py index c254147be..f8449e9da 100644 --- a/src/cribl_control_plane/packs_sources_statuses.py +++ b/src/cribl_control_plane/packs_sources_statuses.py @@ -94,6 +94,8 @@ def list( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -130,13 +132,18 @@ def next_func() -> Optional[models.GetInputStatusSystemInputsByPackResponse]: response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return models.GetInputStatusSystemInputsByPackResponse( - result=unmarshal_json_response(models.CountedInputStatus, http_res), + result=unmarshal_json_response( + models.GetInputStatusSystemInputsByPackResponseBody, http_res + ), next=next_func, ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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", "401", "4XX"], "*"): + if utils.match_response(http_res, ["400", "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", "*"): @@ -228,6 +235,8 @@ async def list_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -269,13 +278,18 @@ async def empty_result(): response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return models.GetInputStatusSystemInputsByPackResponse( - result=unmarshal_json_response(models.CountedInputStatus, http_res), + result=unmarshal_json_response( + models.GetInputStatusSystemInputsByPackResponseBody, http_res + ), next=next_func, ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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", "401", "4XX"], "*"): + if utils.match_response(http_res, ["400", "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", "*"): @@ -364,6 +378,8 @@ def get( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -373,10 +389,13 @@ def get( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedInputStatus, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -465,6 +484,8 @@ async def get_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -474,10 +495,13 @@ async def get_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedInputStatus, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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/pipelines.py b/src/cribl_control_plane/pipelines.py index 4dced2064..478462868 100644 --- a/src/cribl_control_plane/pipelines.py +++ b/src/cribl_control_plane/pipelines.py @@ -6,7 +6,8 @@ from cribl_control_plane.types import OptionalNullable, UNSET from cribl_control_plane.utils import get_security_from_env from cribl_control_plane.utils.unmarshal_json_response import unmarshal_json_response -from typing import Any, Mapping, Optional, Union +from jsonpath import JSONPath +from typing import Any, Awaitable, Dict, List, Mapping, Optional, Union class Pipelines(BaseSDK): @@ -15,15 +16,19 @@ class Pipelines(BaseSDK): def list( self, *, + offset: Optional[int] = None, + limit: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.CountedPipeline: + ) -> Optional[models.GetPipelinesResponse]: r"""List all Pipelines Get a list of all Pipelines. + :param offset: Pagination offset + :param limit: Maximum number of items to return :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 +43,18 @@ def list( base_url = server_url else: base_url = self._get_url(base_url, url_variables) + + request = models.GetPipelinesRequest( + offset=offset, + limit=limit, + ) + req = self._build_request( method="GET", path="/pipelines", 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, @@ -76,19 +87,53 @@ def list( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["pipelines"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), retry_config=retry_config, ) + def next_func() -> Optional[models.GetPipelinesResponse]: + body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]]) + + offset = request.offset if isinstance(request.offset, int) else 0 + + if not http_res.text: + return None + results = JSONPath("$.items").parse(body) + if len(results) == 0 or len(results[0]) == 0: + return None + limit_ = request.limit if isinstance(request.limit, int) else 0 + if len(results[0]) < limit_: + return None + next_offset = offset + len(results[0]) + + return self.list( + offset=next_offset, + limit=limit, + retries=retries, + server_url=server_url, + timeout_ms=timeout_ms, + http_headers=http_headers, + ) + response_data: Any = None if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response(models.CountedPipeline, http_res) + return models.GetPipelinesResponse( + result=unmarshal_json_response( + models.GetPipelinesResponseBody, http_res + ), + next=next_func, + ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -100,15 +145,19 @@ def list( async def list_async( self, *, + offset: Optional[int] = None, + limit: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.CountedPipeline: + ) -> Optional[models.GetPipelinesResponse]: r"""List all Pipelines Get a list of all Pipelines. + :param offset: Pagination offset + :param limit: Maximum number of items to return :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 @@ -123,12 +172,18 @@ async def list_async( base_url = server_url else: base_url = self._get_url(base_url, url_variables) + + request = models.GetPipelinesRequest( + offset=offset, + limit=limit, + ) + req = self._build_request_async( method="GET", path="/pipelines", 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, @@ -161,19 +216,56 @@ async def list_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["pipelines"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), retry_config=retry_config, ) + def next_func() -> Awaitable[Optional[models.GetPipelinesResponse]]: + body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]]) + + async def empty_result(): + return None + + offset = request.offset if isinstance(request.offset, int) else 0 + + if not http_res.text: + return empty_result() + results = JSONPath("$.items").parse(body) + if len(results) == 0 or len(results[0]) == 0: + return empty_result() + limit_ = request.limit if isinstance(request.limit, int) else 0 + if len(results[0]) < limit_: + return empty_result() + next_offset = offset + len(results[0]) + + return self.list_async( + offset=next_offset, + limit=limit, + retries=retries, + server_url=server_url, + timeout_ms=timeout_ms, + http_headers=http_headers, + ) + response_data: Any = None if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response(models.CountedPipeline, http_res) + return models.GetPipelinesResponse( + result=unmarshal_json_response( + models.GetPipelinesResponseBody, http_res + ), + next=next_func, + ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -196,8 +288,8 @@ def create( Create a new Pipeline. - :param id: - :param conf: + :param id: Unique identifier for the Pipeline. + :param conf: Configuration for the Pipeline, including functions and settings. :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 @@ -259,6 +351,8 @@ def create( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["pipelines"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -268,10 +362,13 @@ def create( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedPipeline, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, ["400", "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", "*"): @@ -294,8 +391,8 @@ async def create_async( Create a new Pipeline. - :param id: - :param conf: + :param id: Unique identifier for the Pipeline. + :param conf: Configuration for the Pipeline, including functions and settings. :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 @@ -357,6 +454,8 @@ async def create_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["pipelines"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -366,10 +465,13 @@ async def create_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedPipeline, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, ["400", "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", "*"): @@ -449,6 +551,8 @@ def delete( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["pipelines"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -458,10 +562,13 @@ def delete( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedPipeline, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -541,6 +648,8 @@ async def delete_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["pipelines"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -550,10 +659,13 @@ async def delete_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedPipeline, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -633,6 +745,8 @@ def get( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["pipelines"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -642,10 +756,13 @@ def get( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedPipeline, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -725,6 +842,8 @@ async def get_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["pipelines"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -734,10 +853,13 @@ async def get_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedPipeline, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -759,11 +881,11 @@ def update( ) -> models.CountedPipeline: r"""Update a Pipeline - Update the specified Pipeline.

Provide a complete representation of the Pipeline that you want to update in the request body. This endpoint does not support partial updates. Cribl removes any omitted fields when updating the Pipeline.

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

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

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

Confirm that the configuration in your request body is correct before sending the request.

If the configuration is incorrect, the updated Pipeline might not function as expected. :param id_param: The id of the Pipeline to update. - :param id: - :param conf: + :param id: Unique identifier for the Pipeline. + :param conf: Configuration for the Pipeline, including functions and settings. :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 @@ -828,6 +950,8 @@ def update( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["pipelines"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -837,10 +961,13 @@ def update( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedPipeline, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, ["400", "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", "*"): @@ -862,11 +989,11 @@ async def update_async( ) -> models.CountedPipeline: r"""Update a Pipeline - Update the specified Pipeline.

Provide a complete representation of the Pipeline that you want to update in the request body. This endpoint does not support partial updates. Cribl removes any omitted fields when updating the Pipeline.

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

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

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

Confirm that the configuration in your request body is correct before sending the request.

If the configuration is incorrect, the updated Pipeline might not function as expected. :param id_param: The id of the Pipeline to update. - :param id: - :param conf: + :param id: Unique identifier for the Pipeline. + :param conf: Configuration for the Pipeline, including functions and settings. :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 @@ -931,6 +1058,8 @@ async def update_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["pipelines"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -940,10 +1069,13 @@ async def update_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedPipeline, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, ["400", "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 6fa1ef19b..78f9b61bd 100644 --- a/src/cribl_control_plane/routes_sdk.py +++ b/src/cribl_control_plane/routes_sdk.py @@ -6,7 +6,7 @@ from cribl_control_plane.types import OptionalNullable, UNSET from cribl_control_plane.utils import get_security_from_env from cribl_control_plane.utils.unmarshal_json_response import unmarshal_json_response -from typing import Any, Dict, List, Mapping, Optional, Union +from typing import Any, Dict, Iterable, List, Mapping, Optional, Union class RoutesSDK(BaseSDK): @@ -76,6 +76,8 @@ def list( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["routes"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -85,10 +87,13 @@ def list( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedRoutes, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -161,6 +166,8 @@ async def list_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["routes"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -170,10 +177,13 @@ async def list_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedRoutes, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -253,6 +263,8 @@ def get( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["routes"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -262,10 +274,13 @@ def get( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedRoutes, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "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", "*"): @@ -345,6 +360,8 @@ async def get_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["routes"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -354,10 +371,13 @@ async def get_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedRoutes, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "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", "*"): @@ -372,15 +392,15 @@ def update( id_param: str, id: str, routes: Union[ - List[models.RouteConfInput], List[models.RouteConfInputTypedDict] + Iterable[models.RouteConfInput], Iterable[models.RouteConfInputTypedDict] ], comments: Optional[ - Union[List[models.RouteComment], List[models.RouteCommentTypedDict]] + Union[Iterable[models.RouteComment], Iterable[models.RouteCommentTypedDict]] ] = None, groups: Optional[ Union[ - Dict[str, models.AdditionalPropertiesTypeRoutesGroups], - Dict[str, models.AdditionalPropertiesTypeRoutesGroupsTypedDict], + Mapping[str, models.AdditionalPropertiesTypeRoutesGroups], + Mapping[str, models.AdditionalPropertiesTypeRoutesGroupsTypedDict], ] ] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, @@ -388,11 +408,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. @@ -468,6 +488,8 @@ def update( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["routes"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -477,10 +499,13 @@ def update( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedRoutes, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "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", "*"): @@ -495,15 +520,15 @@ async def update_async( id_param: str, id: str, routes: Union[ - List[models.RouteConfInput], List[models.RouteConfInputTypedDict] + Iterable[models.RouteConfInput], Iterable[models.RouteConfInputTypedDict] ], comments: Optional[ - Union[List[models.RouteComment], List[models.RouteCommentTypedDict]] + Union[Iterable[models.RouteComment], Iterable[models.RouteCommentTypedDict]] ] = None, groups: Optional[ Union[ - Dict[str, models.AdditionalPropertiesTypeRoutesGroups], - Dict[str, models.AdditionalPropertiesTypeRoutesGroupsTypedDict], + Mapping[str, models.AdditionalPropertiesTypeRoutesGroups], + Mapping[str, models.AdditionalPropertiesTypeRoutesGroupsTypedDict], ] ] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, @@ -511,11 +536,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. @@ -591,6 +616,8 @@ async def update_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["routes"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -600,10 +627,13 @@ async def update_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedRoutes, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "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", "*"): @@ -617,7 +647,7 @@ def append( *, id: str, request_body: Union[ - List[models.RouteConfInput], List[models.RouteConfInputTypedDict] + Iterable[models.RouteConfInput], Iterable[models.RouteConfInputTypedDict] ], retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, @@ -693,6 +723,8 @@ def append( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["routes"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -702,10 +734,13 @@ def append( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedRoutes, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "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", "*"): @@ -719,7 +754,7 @@ async def append_async( *, id: str, request_body: Union[ - List[models.RouteConfInput], List[models.RouteConfInputTypedDict] + Iterable[models.RouteConfInput], Iterable[models.RouteConfInputTypedDict] ], retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, @@ -795,6 +830,8 @@ async def append_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["routes"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -804,10 +841,13 @@ async def append_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedRoutes, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "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/samples.py b/src/cribl_control_plane/samples.py index 147b8d8a6..ee781c26a 100644 --- a/src/cribl_control_plane/samples.py +++ b/src/cribl_control_plane/samples.py @@ -6,7 +6,7 @@ from cribl_control_plane.types import OptionalNullable, UNSET from cribl_control_plane.utils import get_security_from_env from cribl_control_plane.utils.unmarshal_json_response import unmarshal_json_response -from typing import Any, Dict, List, Mapping, Optional +from typing import Any, Dict, Iterable, List, Mapping, Optional class Samples(BaseSDK): @@ -81,6 +81,8 @@ def get( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -92,10 +94,13 @@ def get( return unmarshal_json_response( models.CountedOutputSamplesResponse, http_res ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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", "401", "4XX"], "*"): + if utils.match_response(http_res, ["400", "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", "*"): @@ -175,6 +180,8 @@ async def get_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -186,10 +193,13 @@ async def get_async( return unmarshal_json_response( models.CountedOutputSamplesResponse, http_res ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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", "401", "4XX"], "*"): + if utils.match_response(http_res, ["400", "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", "*"): @@ -202,7 +212,7 @@ def create( self, *, id: str, - events: List[Dict[str, Any]], + events: Iterable[Mapping[str, Any]], retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -232,7 +242,7 @@ def create( request = models.CreateOutputTestByIDRequest( id=id, output_test_request=models.OutputTestRequest( - events=events, + events=utils.unmarshal(events, List[Dict[str, Any]]), ), ) @@ -281,6 +291,8 @@ def create( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -290,10 +302,13 @@ def create( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedOutputTestResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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", "401", "4XX"], "*"): + if utils.match_response(http_res, ["400", "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", "*"): @@ -306,7 +321,7 @@ async def create_async( self, *, id: str, - events: List[Dict[str, Any]], + events: Iterable[Mapping[str, Any]], retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -336,7 +351,7 @@ async def create_async( request = models.CreateOutputTestByIDRequest( id=id, output_test_request=models.OutputTestRequest( - events=events, + events=utils.unmarshal(events, List[Dict[str, Any]]), ), ) @@ -385,6 +400,8 @@ async def create_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["destinations"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -394,10 +411,13 @@ async def create_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedOutputTestResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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", "401", "4XX"], "*"): + if utils.match_response(http_res, ["400", "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/sdk.py b/src/cribl_control_plane/sdk.py index 7cd8f6fed..926d8aeec 100644 --- a/src/cribl_control_plane/sdk.py +++ b/src/cribl_control_plane/sdk.py @@ -21,7 +21,7 @@ from cribl_control_plane.destinations import Destinations from cribl_control_plane.functions import Functions from cribl_control_plane.groups_sdk import GroupsSDK - from cribl_control_plane.health import Health + from cribl_control_plane.health_sdk import HealthSDK from cribl_control_plane.lakes import Lakes from cribl_control_plane.nodes import Nodes from cribl_control_plane.packs import Packs @@ -45,7 +45,7 @@ class CriblControlPlane(BaseSDK): auth: "AuthSDK" functions: "Functions" r"""Actions related to functions""" - health: "Health" + health: "HealthSDK" r"""Actions related to REST server health""" database_connections: "DatabaseConnections" r"""Actions related to DatabaseConnections""" @@ -70,7 +70,7 @@ class CriblControlPlane(BaseSDK): _sub_sdk_map = { "auth": ("cribl_control_plane.auth_sdk", "AuthSDK"), "functions": ("cribl_control_plane.functions", "Functions"), - "health": ("cribl_control_plane.health", "Health"), + "health": ("cribl_control_plane.health_sdk", "HealthSDK"), "database_connections": ( "cribl_control_plane.databaseconnections", "DatabaseConnections", diff --git a/src/cribl_control_plane/settings.py b/src/cribl_control_plane/settings.py index ebc2e5f28..02a02987c 100644 --- a/src/cribl_control_plane/settings.py +++ b/src/cribl_control_plane/settings.py @@ -34,7 +34,7 @@ def restart( ) -> models.CountedSystemRestartResponse: r"""Restart the Cribl server - Restart the Cribl server. Useful for applying configuration changes that require a full process restart, such as changes to system-level settings that cannot be applied by reloading. + Restart the Cribl server.

This operation requires system.restart to be set to api in cribl.yml. If this setting is not configured, the request returns a 403 error.

Restarting the server causes a brief period of downtime while the process stops and restarts. All in-flight events are drained before the process exits. Use POST /system/settings/reload to apply configuration changes without a full restart. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method @@ -88,6 +88,8 @@ def restart( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["system"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -99,10 +101,13 @@ def restart( return unmarshal_json_response( models.CountedSystemRestartResponse, http_res ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, ["403", "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", "*"): @@ -121,7 +126,7 @@ async def restart_async( ) -> models.CountedSystemRestartResponse: r"""Restart the Cribl server - Restart the Cribl server. Useful for applying configuration changes that require a full process restart, such as changes to system-level settings that cannot be applied by reloading. + Restart the Cribl server.

This operation requires system.restart to be set to api in cribl.yml. If this setting is not configured, the request returns a 403 error.

Restarting the server causes a brief period of downtime while the process stops and restarts. All in-flight events are drained before the process exits. Use POST /system/settings/reload to apply configuration changes without a full restart. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method @@ -175,6 +180,8 @@ async def restart_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["system"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -186,10 +193,13 @@ async def restart_async( return unmarshal_json_response( models.CountedSystemRestartResponse, http_res ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, ["403", "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/sources.py b/src/cribl_control_plane/sources.py index 950c86797..032909367 100644 --- a/src/cribl_control_plane/sources.py +++ b/src/cribl_control_plane/sources.py @@ -10,7 +10,8 @@ from cribl_control_plane.types import BaseModel, OptionalNullable, UNSET from cribl_control_plane.utils import get_security_from_env from cribl_control_plane.utils.unmarshal_json_response import unmarshal_json_response -from typing import Any, List, Mapping, Optional, Union, cast +from jsonpath import JSONPath +from typing import Any, Awaitable, Dict, Iterable, List, Mapping, Optional, Union, cast class Sources(BaseSDK): @@ -37,17 +38,21 @@ def _init_sdks(self): def list( self, *, - type_: Optional[List[str]] = None, + type_: Optional[Iterable[str]] = None, + offset: Optional[int] = None, + limit: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.CountedInputResponse: + ) -> Optional[models.ListInputResponse]: r"""List all Sources Get a list of all Sources. :param type: Type of Source to include in the results. Each request can include only one type parameter; multiple parameters per request are not supported. + :param offset: Pagination offset + :param limit: Maximum number of items to return :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 @@ -64,7 +69,9 @@ def list( base_url = self._get_url(base_url, url_variables) request = models.ListInputRequest( - type=type_, + type=utils.unmarshal(type_, Optional[List[str]]), + offset=offset, + limit=limit, ) req = self._build_request( @@ -105,19 +112,52 @@ def list( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), retry_config=retry_config, ) + def next_func() -> Optional[models.ListInputResponse]: + body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]]) + + offset = request.offset if isinstance(request.offset, int) else 0 + + if not http_res.text: + return None + results = JSONPath("$.items").parse(body) + if len(results) == 0 or len(results[0]) == 0: + return None + limit_ = request.limit if isinstance(request.limit, int) else 0 + if len(results[0]) < limit_: + return None + next_offset = offset + len(results[0]) + + return self.list( + type_=type_, + offset=next_offset, + limit=limit, + retries=retries, + server_url=server_url, + timeout_ms=timeout_ms, + http_headers=http_headers, + ) + response_data: Any = None if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response(models.CountedInputResponse, http_res) + return models.ListInputResponse( + result=unmarshal_json_response(models.ListInputResponseBody, http_res), + next=next_func, + ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -129,17 +169,21 @@ def list( async def list_async( self, *, - type_: Optional[List[str]] = None, + type_: Optional[Iterable[str]] = None, + offset: Optional[int] = None, + limit: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.CountedInputResponse: + ) -> Optional[models.ListInputResponse]: r"""List all Sources Get a list of all Sources. :param type: Type of Source to include in the results. Each request can include only one type parameter; multiple parameters per request are not supported. + :param offset: Pagination offset + :param limit: Maximum number of items to return :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 @@ -156,7 +200,9 @@ async def list_async( base_url = self._get_url(base_url, url_variables) request = models.ListInputRequest( - type=type_, + type=utils.unmarshal(type_, Optional[List[str]]), + offset=offset, + limit=limit, ) req = self._build_request_async( @@ -197,19 +243,55 @@ async def list_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), retry_config=retry_config, ) + def next_func() -> Awaitable[Optional[models.ListInputResponse]]: + body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]]) + + async def empty_result(): + return None + + offset = request.offset if isinstance(request.offset, int) else 0 + + if not http_res.text: + return empty_result() + results = JSONPath("$.items").parse(body) + if len(results) == 0 or len(results[0]) == 0: + return empty_result() + limit_ = request.limit if isinstance(request.limit, int) else 0 + if len(results[0]) < limit_: + return empty_result() + next_offset = offset + len(results[0]) + + return self.list_async( + type_=type_, + offset=next_offset, + limit=limit, + retries=retries, + server_url=server_url, + timeout_ms=timeout_ms, + http_headers=http_headers, + ) + response_data: Any = None if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response(models.CountedInputResponse, http_res) + return models.ListInputResponse( + result=unmarshal_json_response(models.ListInputResponseBody, http_res), + next=next_func, + ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -292,6 +374,8 @@ def create( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -301,10 +385,13 @@ def create( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedInputResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "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", "*"): @@ -387,6 +474,8 @@ async def create_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -396,10 +485,13 @@ async def create_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedInputResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "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", "*"): @@ -479,6 +571,8 @@ def get( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -488,10 +582,13 @@ def get( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedInputResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "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", "*"): @@ -571,6 +668,8 @@ async def get_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -580,10 +679,13 @@ async def get_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedInputResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "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", "*"): @@ -669,6 +771,8 @@ def update( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -678,10 +782,13 @@ def update( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedInputResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -767,6 +874,8 @@ async def update_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -776,10 +885,13 @@ async def update_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedInputResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -859,6 +971,8 @@ def delete( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -868,10 +982,13 @@ def delete( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedInputResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -951,6 +1068,8 @@ async def delete_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -960,10 +1079,13 @@ async def delete_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedInputResponse, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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/sources_pq.py b/src/cribl_control_plane/sources_pq.py index acecc6b70..09e63bfce 100644 --- a/src/cribl_control_plane/sources_pq.py +++ b/src/cribl_control_plane/sources_pq.py @@ -81,6 +81,8 @@ def get( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -90,10 +92,13 @@ def get( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedJobInfo, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -173,6 +178,8 @@ async def get_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -182,10 +189,13 @@ async def get_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedJobInfo, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -265,6 +275,8 @@ def clear( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -274,10 +286,13 @@ def clear( response_data: Any = None if utils.match_response(http_res, "201", "application/json"): return unmarshal_json_response(models.CountedString, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -357,6 +372,8 @@ async def clear_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -366,10 +383,13 @@ async def clear_async( response_data: Any = None if utils.match_response(http_res, "201", "application/json"): return unmarshal_json_response(models.CountedString, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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/sources_statuses.py b/src/cribl_control_plane/sources_statuses.py index 3e5c86476..787defc2d 100644 --- a/src/cribl_control_plane/sources_statuses.py +++ b/src/cribl_control_plane/sources_statuses.py @@ -91,6 +91,8 @@ def list( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -126,13 +128,18 @@ def next_func() -> Optional[models.GetInputStatusResponse]: response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return models.GetInputStatusResponse( - result=unmarshal_json_response(models.CountedInputStatus, http_res), + result=unmarshal_json_response( + models.GetInputStatusResponseBody, http_res + ), next=next_func, ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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", "401", "4XX"], "*"): + if utils.match_response(http_res, ["400", "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", "*"): @@ -221,6 +228,8 @@ async def list_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -259,13 +268,18 @@ async def empty_result(): response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return models.GetInputStatusResponse( - result=unmarshal_json_response(models.CountedInputStatus, http_res), + result=unmarshal_json_response( + models.GetInputStatusResponseBody, http_res + ), next=next_func, ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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", "401", "4XX"], "*"): + if utils.match_response(http_res, ["400", "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", "*"): @@ -351,6 +365,8 @@ def get( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -360,10 +376,13 @@ def get( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedInputStatus, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -449,6 +468,8 @@ async def get_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["sources"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -458,10 +479,13 @@ async def get_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedInputStatus, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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/summaries.py b/src/cribl_control_plane/summaries.py index 9f2c5dd89..9bbc0cb4b 100644 --- a/src/cribl_control_plane/summaries.py +++ b/src/cribl_control_plane/summaries.py @@ -6,7 +6,8 @@ from cribl_control_plane.types import OptionalNullable, UNSET from cribl_control_plane.utils import get_security_from_env from cribl_control_plane.utils.unmarshal_json_response import unmarshal_json_response -from typing import Any, Mapping, Optional +from jsonpath import JSONPath +from typing import Any, Awaitable, Dict, List, Mapping, Optional, Union class Summaries(BaseSDK): @@ -14,16 +15,20 @@ def get( self, *, product: models.ProductsBase, + offset: Optional[int] = None, + limit: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.CountedDistributedSummary: - r"""Get a summary of the deployment for a specific product. + ) -> Optional[models.GetProductsSummaryByProductResponse]: + r"""Get a summary of the deployment for a Cribl product - Get a summary of the deployment for the specified Cribl product (Stream or Edge).

The summary includes a count of Worker Groups or Edge Fleets and resources such as Pipelines, Routes, Sources, and Destinations. For Distributed deployments, it also includes a count and statistics for Worker or Edge Nodes. + Get a summary of the deployment for the specified Cribl product (Stream or Edge).

The summary includes a count of Worker Groups or Edge Fleets and resources such as Pipelines, Routes, Sources, and Destinations. For Distributed deployments, the summary also includes a count and statistics for Worker or Edge Nodes. :param product: Name of the Cribl product to get the summary for. + :param offset: Pagination offset + :param limit: Maximum number of items to return :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 @@ -41,6 +46,8 @@ def get( request = models.GetProductsSummaryByProductRequest( product=product, + offset=offset, + limit=limit, ) req = self._build_request( @@ -81,19 +88,54 @@ def get( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["distributed"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), retry_config=retry_config, ) + def next_func() -> Optional[models.GetProductsSummaryByProductResponse]: + body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]]) + + offset = request.offset if isinstance(request.offset, int) else 0 + + if not http_res.text: + return None + results = JSONPath("$.items").parse(body) + if len(results) == 0 or len(results[0]) == 0: + return None + limit_ = request.limit if isinstance(request.limit, int) else 0 + if len(results[0]) < limit_: + return None + next_offset = offset + len(results[0]) + + return self.get( + product=product, + offset=next_offset, + limit=limit, + retries=retries, + server_url=server_url, + timeout_ms=timeout_ms, + http_headers=http_headers, + ) + response_data: Any = None if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response(models.CountedDistributedSummary, http_res) + return models.GetProductsSummaryByProductResponse( + result=unmarshal_json_response( + models.GetProductsSummaryByProductResponseBody, http_res + ), + next=next_func, + ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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", "401", "403", "4XX"], "*"): + if utils.match_response(http_res, ["400", "403", "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", "*"): @@ -106,16 +148,20 @@ async def get_async( self, *, product: models.ProductsBase, + offset: Optional[int] = None, + limit: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.CountedDistributedSummary: - r"""Get a summary of the deployment for a specific product. + ) -> Optional[models.GetProductsSummaryByProductResponse]: + r"""Get a summary of the deployment for a Cribl product - Get a summary of the deployment for the specified Cribl product (Stream or Edge).

The summary includes a count of Worker Groups or Edge Fleets and resources such as Pipelines, Routes, Sources, and Destinations. For Distributed deployments, it also includes a count and statistics for Worker or Edge Nodes. + Get a summary of the deployment for the specified Cribl product (Stream or Edge).

The summary includes a count of Worker Groups or Edge Fleets and resources such as Pipelines, Routes, Sources, and Destinations. For Distributed deployments, the summary also includes a count and statistics for Worker or Edge Nodes. :param product: Name of the Cribl product to get the summary for. + :param offset: Pagination offset + :param limit: Maximum number of items to return :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 @@ -133,6 +179,8 @@ async def get_async( request = models.GetProductsSummaryByProductRequest( product=product, + offset=offset, + limit=limit, ) req = self._build_request_async( @@ -173,19 +221,59 @@ async def get_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["distributed"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), retry_config=retry_config, ) + def next_func() -> ( + Awaitable[Optional[models.GetProductsSummaryByProductResponse]] + ): + body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]]) + + async def empty_result(): + return None + + offset = request.offset if isinstance(request.offset, int) else 0 + + if not http_res.text: + return empty_result() + results = JSONPath("$.items").parse(body) + if len(results) == 0 or len(results[0]) == 0: + return empty_result() + limit_ = request.limit if isinstance(request.limit, int) else 0 + if len(results[0]) < limit_: + return empty_result() + next_offset = offset + len(results[0]) + + return self.get_async( + product=product, + offset=next_offset, + limit=limit, + retries=retries, + server_url=server_url, + timeout_ms=timeout_ms, + http_headers=http_headers, + ) + response_data: Any = None if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response(models.CountedDistributedSummary, http_res) + return models.GetProductsSummaryByProductResponse( + result=unmarshal_json_response( + models.GetProductsSummaryByProductResponseBody, http_res + ), + next=next_func, + ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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", "401", "403", "4XX"], "*"): + if utils.match_response(http_res, ["400", "403", "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/teams.py b/src/cribl_control_plane/teams.py index 4b59c72e0..01ae36b6e 100644 --- a/src/cribl_control_plane/teams.py +++ b/src/cribl_control_plane/teams.py @@ -43,7 +43,7 @@ def get( else: base_url = self._get_url(base_url, url_variables) - request = models.GetConfigGroupACLTeamsByProductAndIDRequest( + request = models.GetProductsGroupsACLTeamsByProductAndIDRequest( product=product, id=id, type=type_, @@ -82,11 +82,13 @@ def get( hook_ctx=HookContext( config=self.sdk_configuration, base_url=base_url or "", - operation_id="getConfigGroupAclTeamsByProductAndId", + operation_id="getProductsGroupsAclTeamsByProductAndId", oauth2_scopes=[], security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["teams"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -98,10 +100,13 @@ def get( return unmarshal_json_response( models.CountedTeamAccessControlList, http_res ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -143,7 +148,7 @@ async def get_async( else: base_url = self._get_url(base_url, url_variables) - request = models.GetConfigGroupACLTeamsByProductAndIDRequest( + request = models.GetProductsGroupsACLTeamsByProductAndIDRequest( product=product, id=id, type=type_, @@ -182,11 +187,13 @@ async def get_async( hook_ctx=HookContext( config=self.sdk_configuration, base_url=base_url or "", - operation_id="getConfigGroupAclTeamsByProductAndId", + operation_id="getProductsGroupsAclTeamsByProductAndId", oauth2_scopes=[], security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["teams"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -198,10 +205,13 @@ async def get_async( return unmarshal_json_response( models.CountedTeamAccessControlList, http_res ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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/tokens.py b/src/cribl_control_plane/tokens.py index 268fe919b..d2c6b4c14 100644 --- a/src/cribl_control_plane/tokens.py +++ b/src/cribl_control_plane/tokens.py @@ -83,6 +83,8 @@ def get( operation_id="createAuthLogin", oauth2_scopes=None, security_source=None, + tags=["auth"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -94,13 +96,16 @@ def get( return models.CreateAuthLoginResponse( result=unmarshal_json_response(models.AuthToken, http_res), headers={} ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) if utils.match_response(http_res, "429", "*"): 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, "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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -183,6 +188,8 @@ async def get_async( operation_id="createAuthLogin", oauth2_scopes=None, security_source=None, + tags=["auth"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -194,13 +201,16 @@ async def get_async( return models.CreateAuthLoginResponse( result=unmarshal_json_response(models.AuthToken, http_res), headers={} ) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) if utils.match_response(http_res, "429", "*"): 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, "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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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/types/base64fileinput.py b/src/cribl_control_plane/types/base64fileinput.py index 25fc53989..862566fe2 100644 --- a/src/cribl_control_plane/types/base64fileinput.py +++ b/src/cribl_control_plane/types/base64fileinput.py @@ -23,7 +23,11 @@ def encode_base64_file_input(value: Any) -> Any: with open(value, "rb") as fh: binary = fh.read() else: + # Restore position after reading: pydantic may validate the same stream more than once. + position = value.tell() if value.seekable() else None binary = value.read() + if position is not None: + value.seek(position) if isinstance(binary, str): binary = binary.encode() if not isinstance(binary, (bytes, bytearray)): diff --git a/src/cribl_control_plane/utils/eventstreaming.py b/src/cribl_control_plane/utils/eventstreaming.py index 3bdcd6d3d..a8d4fe5cc 100644 --- a/src/cribl_control_plane/utils/eventstreaming.py +++ b/src/cribl_control_plane/utils/eventstreaming.py @@ -7,6 +7,7 @@ Any, Callable, Generic, + List, TypeVar, Optional, Generator, @@ -53,6 +54,9 @@ def __enter__(self): return self def __exit__(self, exc_type, exc_val, exc_tb): + self.close() + + def close(self): self._closed = True self.response.close() @@ -92,6 +96,9 @@ async def __aenter__(self): return self async def __aexit__(self, exc_type, exc_val, exc_tb): + await self.close() + + async def close(self): self._closed = True await self.response.aclose() @@ -114,6 +121,7 @@ class ServerEvent: b"\n\r", b"\n\n", ] +MAX_BOUNDARY_LEN = max(len(b) for b in MESSAGE_BOUNDARIES) UTF8_BOM = b"\xef\xbb\xbf" @@ -124,52 +132,56 @@ async def stream_events_async( sentinel: Optional[str] = None, data_required: bool = True, ) -> AsyncGenerator[T, None]: - buffer = bytearray() - position = 0 - event_id: Optional[str] = None - async for chunk in response.aiter_bytes(): - if len(buffer) == 0 and chunk.startswith(UTF8_BOM): - chunk = chunk[len(UTF8_BOM) :] - buffer += chunk - for i in range(position, len(buffer)): - char = buffer[i : i + 1] - seq: Optional[bytes] = None - if char in [b"\r", b"\n"]: - for boundary in MESSAGE_BOUNDARIES: - seq = _peek_sequence(i, buffer, boundary) - if seq is not None: - break - if seq is None: - continue - - block = buffer[position:i] - position = i + len(seq) - event, discard, event_id = _parse_event( - raw=block, - decoder=decoder, - sentinel=sentinel, - event_id=event_id, - data_required=data_required, - ) - if event is not None: - yield event - if discard: - await response.aclose() - return - - if position > 0: - buffer = buffer[position:] - position = 0 - - event, discard, _ = _parse_event( - raw=buffer, - decoder=decoder, - sentinel=sentinel, - event_id=event_id, - data_required=data_required, - ) - if event is not None: - yield event + try: + buffer = bytearray() + position = 0 + event_id: Optional[str] = None + async for chunk in response.aiter_bytes(): + if len(buffer) == 0 and chunk.startswith(UTF8_BOM): + chunk = chunk[len(UTF8_BOM) :] + old_len = len(buffer) + buffer += chunk + search_start = max(position, old_len - MAX_BOUNDARY_LEN + 1) + for i in range(search_start, len(buffer)): + char = buffer[i : i + 1] + seq: Optional[bytes] = None + if char in [b"\r", b"\n"]: + for boundary in MESSAGE_BOUNDARIES: + seq = _peek_sequence(i, buffer, boundary) + if seq is not None: + break + if seq is None: + continue + + block = buffer[position:i] + position = i + len(seq) + event, discard, event_id = _parse_event( + raw=block, + decoder=decoder, + sentinel=sentinel, + event_id=event_id, + data_required=data_required, + ) + if event is not None: + yield event + if discard: + return + + if position > 0: + buffer = buffer[position:] + position = 0 + + event, discard, _ = _parse_event( + raw=buffer, + decoder=decoder, + sentinel=sentinel, + event_id=event_id, + data_required=data_required, + ) + if event is not None: + yield event + finally: + await response.aclose() def stream_events( @@ -178,52 +190,56 @@ def stream_events( sentinel: Optional[str] = None, data_required: bool = True, ) -> Generator[T, None, None]: - buffer = bytearray() - position = 0 - event_id: Optional[str] = None - for chunk in response.iter_bytes(): - if len(buffer) == 0 and chunk.startswith(UTF8_BOM): - chunk = chunk[len(UTF8_BOM) :] - buffer += chunk - for i in range(position, len(buffer)): - char = buffer[i : i + 1] - seq: Optional[bytes] = None - if char in [b"\r", b"\n"]: - for boundary in MESSAGE_BOUNDARIES: - seq = _peek_sequence(i, buffer, boundary) - if seq is not None: - break - if seq is None: - continue - - block = buffer[position:i] - position = i + len(seq) - event, discard, event_id = _parse_event( - raw=block, - decoder=decoder, - sentinel=sentinel, - event_id=event_id, - data_required=data_required, - ) - if event is not None: - yield event - if discard: - response.close() - return - - if position > 0: - buffer = buffer[position:] - position = 0 - - event, discard, _ = _parse_event( - raw=buffer, - decoder=decoder, - sentinel=sentinel, - event_id=event_id, - data_required=data_required, - ) - if event is not None: - yield event + try: + buffer = bytearray() + position = 0 + event_id: Optional[str] = None + for chunk in response.iter_bytes(): + if len(buffer) == 0 and chunk.startswith(UTF8_BOM): + chunk = chunk[len(UTF8_BOM) :] + old_len = len(buffer) + buffer += chunk + search_start = max(position, old_len - MAX_BOUNDARY_LEN + 1) + for i in range(search_start, len(buffer)): + char = buffer[i : i + 1] + seq: Optional[bytes] = None + if char in [b"\r", b"\n"]: + for boundary in MESSAGE_BOUNDARIES: + seq = _peek_sequence(i, buffer, boundary) + if seq is not None: + break + if seq is None: + continue + + block = buffer[position:i] + position = i + len(seq) + event, discard, event_id = _parse_event( + raw=block, + decoder=decoder, + sentinel=sentinel, + event_id=event_id, + data_required=data_required, + ) + if event is not None: + yield event + if discard: + return + + if position > 0: + buffer = buffer[position:] + position = 0 + + event, discard, _ = _parse_event( + raw=buffer, + decoder=decoder, + sentinel=sentinel, + event_id=event_id, + data_required=data_required, + ) + if event is not None: + yield event + finally: + response.close() def _parse_event( @@ -238,7 +254,7 @@ def _parse_event( lines = re.split(r"\r?\n|\r", block) publish = False event = ServerEvent() - data = "" + data_parts: List[str] = [] for line in lines: if not line: continue @@ -259,7 +275,7 @@ def _parse_event( event.event = value publish = True elif field == "data": - data += value + "\n" + data_parts.append(value) publish = True elif field == "id": publish = True @@ -271,16 +287,17 @@ def _parse_event( publish = True event.id = event_id + has_data = bool(data_parts) + data = "\n".join(data_parts) - if sentinel and data == f"{sentinel}\n": + if sentinel and has_data and data == sentinel: return None, True, event_id # Skip data-less events when data is required - if not data and publish and data_required: + if not has_data and publish and data_required: return None, False, event_id - if data: - data = data[:-1] + if has_data: try: event.data = json.loads(data) except json.JSONDecodeError: @@ -291,7 +308,7 @@ def _parse_event( out_dict = { k: v for k, v in asdict(event).items() - if v is not None or (k == "data" and data) + if v is not None or (k == "data" and has_data) } out = decoder(json.dumps(out_dict)) diff --git a/src/cribl_control_plane/utils/forms.py b/src/cribl_control_plane/utils/forms.py index f961e76be..fdf0dc9b2 100644 --- a/src/cribl_control_plane/utils/forms.py +++ b/src/cribl_control_plane/utils/forms.py @@ -1,5 +1,6 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +import io from typing import ( Any, Dict, @@ -103,6 +104,10 @@ def _extract_file_properties(file_obj: Any) -> Tuple[str, Any, Any]: if file_metadata.content: content = getattr(file_obj, file_field_name, None) + if isinstance(content, io.TextIOBase): + content = content.read().encode( + getattr(content, "encoding", None) or "utf-8" + ) elif file_field_name == "content_type": content_type = getattr(file_obj, file_field_name, None) else: 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 diff --git a/src/cribl_control_plane/utils/serializers.py b/src/cribl_control_plane/utils/serializers.py index d2149f8b9..1031ed930 100644 --- a/src/cribl_control_plane/utils/serializers.py +++ b/src/cribl_control_plane/utils/serializers.py @@ -4,7 +4,7 @@ import functools import json import typing -from typing import Any, Dict, List, Tuple, Union, get_args +from typing import Any, Dict, Iterable, List, Mapping, Tuple, Union, get_args import typing_extensions from typing_extensions import get_origin @@ -113,10 +113,12 @@ def validate(c): def unmarshal_json(raw, typ: Any) -> Any: - return unmarshal(from_json(raw), typ) + return unmarshal(from_json(raw), typ, coerce_iterables=False) -def unmarshal(val, typ: Any) -> Any: +def unmarshal(val, typ: Any, coerce_iterables: bool = True) -> Any: + if coerce_iterables: + val = _coerce_iterables_for_type(val, typ) unmarshaller = create_model( "Unmarshaller", body=(typ, ...), @@ -193,9 +195,88 @@ def get_pydantic_model(data: Any, typ: Any) -> Any: if not _contains_pydantic_model(data): return unmarshal(data, typ) + return _coerce_iterables_for_type(data, typ) + + +def _coerce_iterables_for_type(data: Any, typ: Any) -> Any: + if data is None or isinstance(data, (BaseModel, Unset)): + return data + + typ = _resolve_type_alias(typ) + origin = get_origin(typ) + + if _is_annotated_type(origin): + args = get_args(typ) + return _coerce_iterables_for_type(data, args[0]) if args else data + + if is_union(origin): + for arg in (arg for arg in get_args(typ) if arg is not type(None)): + coerced = _coerce_iterables_for_type(data, arg) + if coerced is not data: + return coerced + return data + + if _is_list_type(typ): + item_type = get_args(typ)[0] if get_args(typ) else Any + if isinstance(data, (str, bytes, bytearray, Mapping)): + return data + if isinstance(data, Iterable): + return [_coerce_iterables_for_type(item, item_type) for item in data] + return data + + if _is_mapping_type(typ): + value_type = get_args(typ)[1] if len(get_args(typ)) > 1 else Any + if isinstance(data, Mapping): + return { + key: _coerce_iterables_for_type(value, value_type) + for key, value in data.items() + } + return data + + if _is_pydantic_model_type(typ) and isinstance(data, Mapping): + coerced = None + for field_name, field in typ.model_fields.items(): + field_type = field.annotation + for key in (field_name, field.alias): + if key is not None and key in data: + value = data[key] if coerced is None else coerced[key] + coerced_value = _coerce_iterables_for_type(value, field_type) + if coerced_value is not value: + if coerced is None: + coerced = dict(data) + coerced[key] = coerced_value + return coerced if coerced is not None else data + return data +def _resolve_type_alias(typ: Any) -> Any: + return getattr(typ, "__value__", typ) + + +def _is_annotated_type(origin: Any) -> bool: + return any( + origin is typing_obj + for typing_obj in _get_typing_objects_by_name_of("Annotated") + ) + + +def _is_list_type(typ: Any) -> bool: + typ = _resolve_type_alias(typ) + return typ is list or get_origin(typ) is list + + +def _is_mapping_type(typ: Any) -> bool: + typ = _resolve_type_alias(typ) + origin = get_origin(typ) + mapping_origin = get_origin(Mapping[Any, Any]) + return typ in (dict, Dict, Mapping) or origin in (dict, Mapping, mapping_origin) + + +def _is_pydantic_model_type(typ: Any) -> bool: + return isinstance(typ, type) and issubclass(typ, BaseModel) + + def _contains_pydantic_model(data: Any) -> bool: if isinstance(data, BaseModel): return True diff --git a/src/cribl_control_plane/utils/unions.py b/src/cribl_control_plane/utils/unions.py index a227f4e87..243464023 100644 --- a/src/cribl_control_plane/utils/unions.py +++ b/src/cribl_control_plane/utils/unions.py @@ -2,7 +2,7 @@ from typing import Any -from pydantic import BaseModel, TypeAdapter +from pydantic import BaseModel, TypeAdapter, ValidationError def parse_open_union( @@ -16,8 +16,14 @@ def parse_open_union( """Parse an open discriminated union value with forward-compatibility. Known discriminator values are dispatched to their variant types. - Unknown discriminator values produce an instance of the fallback class, - preserving the raw payload for inspection. + Unknown discriminator values — or known discriminator values whose + payload fails variant validation (e.g. a partial variant emitted by a + newer server) — produce an instance of the fallback class, preserving + the raw payload for inspection. + + Non-dict values and dicts missing the discriminator deliberately raise + instead of falling back, so pydantic can try sibling branches of an + enclosing union (e.g. None in Optional[...]). """ if isinstance(v, BaseModel): return v @@ -26,7 +32,10 @@ def parse_open_union( disc = v[disc_key] variant_cls = variants.get(disc) if variant_cls is not None: - if isinstance(variant_cls, type) and issubclass(variant_cls, BaseModel): - return variant_cls.model_validate(v) - return TypeAdapter(variant_cls).validate_python(v) + try: + if isinstance(variant_cls, type) and issubclass(variant_cls, BaseModel): + return variant_cls.model_validate(v) + return TypeAdapter(variant_cls).validate_python(v) + except ValidationError: + return unknown_cls(raw=v) return unknown_cls(raw=v) diff --git a/src/cribl_control_plane/versions_configs.py b/src/cribl_control_plane/versions_configs.py index b73f19753..af835b469 100644 --- a/src/cribl_control_plane/versions_configs.py +++ b/src/cribl_control_plane/versions_configs.py @@ -74,6 +74,8 @@ def get( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["versioning"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -83,10 +85,13 @@ def get( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedGitInfo, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -159,6 +164,8 @@ async def get_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["versioning"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -168,10 +175,13 @@ async def get_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedGitInfo, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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/versions_statuses.py b/src/cribl_control_plane/versions_statuses.py index eb0bca139..a04f305ea 100644 --- a/src/cribl_control_plane/versions_statuses.py +++ b/src/cribl_control_plane/versions_statuses.py @@ -74,6 +74,8 @@ def get( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["versioning"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -83,10 +85,13 @@ def get( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedGitStatusResult, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): @@ -159,6 +164,8 @@ async def get_async( security_source=get_security_from_env( self.sdk_configuration.security, models.Security ), + tags=["versioning"], + extensions={"x-cribl-availability": "both", "x-cribl-internal": False}, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -168,10 +175,13 @@ async def get_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.CountedGitStatusResult, http_res) + if utils.match_response(http_res, "401", "application/json"): + response_data = unmarshal_json_response(errors.ErrorData, http_res) + raise errors.Error(response_data, http_res) 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, ["401", "4XX"], "*"): + if utils.match_response(http_res, "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", "*"): From b99dadc607548af066d5022bec0af91dca94f7c2 Mon Sep 17 00:00:00 2001 From: "speakeasy-github[bot]" <128539517+speakeasy-github[bot]@users.noreply.github.com> Date: Thu, 2 Jul 2026 09:07:30 +0000 Subject: [PATCH 2/2] empty commit to trigger [run-tests] workflow