cribl-control-plane 0.1.0b2__py3-none-any.whl → 0.1.1rc1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of cribl-control-plane might be problematic. Click here for more details.
- cribl_control_plane/_hooks/clientcredentials.py +91 -41
- cribl_control_plane/_version.py +4 -4
- cribl_control_plane/errors/apierror.py +1 -1
- cribl_control_plane/errors/criblcontrolplaneerror.py +1 -1
- cribl_control_plane/errors/error.py +1 -1
- cribl_control_plane/errors/healthstatus_error.py +1 -1
- cribl_control_plane/errors/no_response_error.py +1 -1
- cribl_control_plane/errors/responsevalidationerror.py +1 -1
- cribl_control_plane/httpclient.py +0 -1
- cribl_control_plane/lakedatasets.py +12 -12
- cribl_control_plane/models/__init__.py +89 -7
- cribl_control_plane/models/createversionundoop.py +3 -3
- cribl_control_plane/models/cribllakedatasetupdate.py +81 -0
- cribl_control_plane/models/distributedsummary.py +6 -0
- cribl_control_plane/models/gitinfo.py +14 -3
- cribl_control_plane/models/input.py +65 -63
- cribl_control_plane/models/inputappscope.py +4 -0
- cribl_control_plane/models/inputazureblob.py +4 -0
- cribl_control_plane/models/inputcollection.py +4 -0
- cribl_control_plane/models/inputconfluentcloud.py +8 -0
- cribl_control_plane/models/inputcribl.py +4 -0
- cribl_control_plane/models/inputcriblhttp.py +4 -0
- cribl_control_plane/models/inputcribllakehttp.py +4 -0
- cribl_control_plane/models/inputcriblmetrics.py +4 -0
- cribl_control_plane/models/inputcribltcp.py +4 -0
- cribl_control_plane/models/inputcrowdstrike.py +7 -0
- cribl_control_plane/models/inputdatadogagent.py +4 -0
- cribl_control_plane/models/inputdatagen.py +4 -0
- cribl_control_plane/models/inputedgeprometheus.py +12 -0
- cribl_control_plane/models/inputelastic.py +11 -0
- cribl_control_plane/models/inputeventhub.py +6 -0
- cribl_control_plane/models/inputexec.py +4 -0
- cribl_control_plane/models/inputfile.py +6 -0
- cribl_control_plane/models/inputfirehose.py +4 -0
- cribl_control_plane/models/inputgooglepubsub.py +7 -0
- cribl_control_plane/models/inputgrafana.py +8 -0
- cribl_control_plane/models/inputhttp.py +4 -0
- cribl_control_plane/models/inputhttpraw.py +4 -0
- cribl_control_plane/models/inputjournalfiles.py +4 -0
- cribl_control_plane/models/inputkafka.py +8 -0
- cribl_control_plane/models/inputkinesis.py +15 -0
- cribl_control_plane/models/inputkubeevents.py +4 -0
- cribl_control_plane/models/inputkubelogs.py +4 -0
- cribl_control_plane/models/inputkubemetrics.py +4 -0
- cribl_control_plane/models/inputloki.py +4 -0
- cribl_control_plane/models/inputmetrics.py +4 -0
- cribl_control_plane/models/inputmodeldriventelemetry.py +4 -0
- cribl_control_plane/models/inputmsk.py +7 -0
- cribl_control_plane/models/inputnetflow.py +4 -0
- cribl_control_plane/models/inputoffice365mgmt.py +11 -0
- cribl_control_plane/models/inputoffice365msgtrace.py +11 -0
- cribl_control_plane/models/inputoffice365service.py +11 -0
- cribl_control_plane/models/inputopentelemetry.py +8 -0
- cribl_control_plane/models/inputprometheus.py +10 -0
- cribl_control_plane/models/inputprometheusrw.py +4 -0
- cribl_control_plane/models/inputrawudp.py +4 -0
- cribl_control_plane/models/inputs3.py +7 -0
- cribl_control_plane/models/inputs3inventory.py +7 -0
- cribl_control_plane/models/inputsecuritylake.py +7 -0
- cribl_control_plane/models/inputsnmp.py +11 -0
- cribl_control_plane/models/inputsplunk.py +9 -0
- cribl_control_plane/models/inputsplunkhec.py +4 -0
- cribl_control_plane/models/inputsplunksearch.py +7 -0
- cribl_control_plane/models/inputsqs.py +17 -10
- cribl_control_plane/models/inputsyslog.py +8 -0
- cribl_control_plane/models/inputsystemmetrics.py +32 -0
- cribl_control_plane/models/inputsystemstate.py +4 -0
- cribl_control_plane/models/inputtcp.py +4 -0
- cribl_control_plane/models/inputtcpjson.py +4 -0
- cribl_control_plane/models/inputwef.py +6 -0
- cribl_control_plane/models/inputwindowsmetrics.py +28 -0
- cribl_control_plane/models/inputwineventlogs.py +8 -0
- cribl_control_plane/models/inputwiz.py +7 -0
- cribl_control_plane/models/inputwizwebhook.py +4 -0
- cribl_control_plane/models/inputzscalerhec.py +4 -0
- cribl_control_plane/models/jobinfo.py +4 -1
- cribl_control_plane/models/nodeprovidedinfo.py +4 -1
- cribl_control_plane/models/output.py +74 -69
- cribl_control_plane/models/outputazureblob.py +20 -0
- cribl_control_plane/models/outputazuredataexplorer.py +28 -0
- cribl_control_plane/models/outputazureeventhub.py +17 -0
- cribl_control_plane/models/outputazurelogs.py +13 -0
- cribl_control_plane/models/outputchronicle.py +444 -0
- cribl_control_plane/models/outputclickhouse.py +17 -0
- cribl_control_plane/models/outputcloudwatch.py +13 -0
- cribl_control_plane/models/outputconfluentcloud.py +24 -0
- cribl_control_plane/models/outputcriblhttp.py +15 -0
- cribl_control_plane/models/outputcribllake.py +21 -0
- cribl_control_plane/models/outputcribltcp.py +12 -0
- cribl_control_plane/models/outputcrowdstrikenextgensiem.py +15 -0
- cribl_control_plane/models/outputdatabricks.py +9 -0
- cribl_control_plane/models/outputdatadog.py +30 -0
- cribl_control_plane/models/outputdataset.py +23 -0
- cribl_control_plane/models/outputdls3.py +35 -0
- cribl_control_plane/models/outputdynatracehttp.py +22 -0
- cribl_control_plane/models/outputdynatraceotlp.py +22 -0
- cribl_control_plane/models/outputelastic.py +18 -0
- cribl_control_plane/models/outputelasticcloud.py +13 -0
- cribl_control_plane/models/outputexabeam.py +14 -0
- cribl_control_plane/models/outputfilesystem.py +15 -0
- cribl_control_plane/models/outputgooglechronicle.py +26 -4
- cribl_control_plane/models/outputgooglecloudlogging.py +28 -4
- cribl_control_plane/models/outputgooglecloudstorage.py +28 -0
- cribl_control_plane/models/outputgooglepubsub.py +13 -0
- cribl_control_plane/models/outputgrafanacloud.py +50 -0
- cribl_control_plane/models/outputgraphite.py +12 -0
- cribl_control_plane/models/outputhoneycomb.py +13 -0
- cribl_control_plane/models/outputhumiohec.py +15 -0
- cribl_control_plane/models/outputinfluxdb.py +19 -0
- cribl_control_plane/models/outputkafka.py +24 -0
- cribl_control_plane/models/outputkinesis.py +15 -0
- cribl_control_plane/models/outputloki.py +20 -0
- cribl_control_plane/models/outputminio.py +28 -0
- cribl_control_plane/models/outputmsk.py +23 -0
- cribl_control_plane/models/outputnewrelic.py +16 -0
- cribl_control_plane/models/outputnewrelicevents.py +16 -0
- cribl_control_plane/models/outputopentelemetry.py +22 -0
- cribl_control_plane/models/outputprometheus.py +13 -0
- cribl_control_plane/models/outputring.py +2 -0
- cribl_control_plane/models/outputs3.py +35 -0
- cribl_control_plane/models/outputsecuritylake.py +29 -0
- cribl_control_plane/models/outputsentinel.py +15 -0
- cribl_control_plane/models/outputsentineloneaisiem.py +13 -0
- cribl_control_plane/models/outputservicenow.py +21 -0
- cribl_control_plane/models/outputsignalfx.py +13 -0
- cribl_control_plane/models/outputsns.py +13 -0
- cribl_control_plane/models/outputsplunk.py +15 -0
- cribl_control_plane/models/outputsplunkhec.py +13 -0
- cribl_control_plane/models/outputsplunklb.py +15 -0
- cribl_control_plane/models/outputsqs.py +23 -10
- cribl_control_plane/models/outputstatsd.py +12 -0
- cribl_control_plane/models/outputstatsdext.py +12 -0
- cribl_control_plane/models/outputsumologic.py +15 -0
- cribl_control_plane/models/outputsyslog.py +24 -0
- cribl_control_plane/models/outputtcpjson.py +12 -0
- cribl_control_plane/models/outputwavefront.py +13 -0
- cribl_control_plane/models/outputwebhook.py +23 -0
- cribl_control_plane/models/outputxsiam.py +13 -0
- cribl_control_plane/models/packinfo.py +3 -0
- cribl_control_plane/models/packinstallinfo.py +3 -0
- cribl_control_plane/models/runnablejobcollection.py +4 -0
- cribl_control_plane/models/updatecribllakedatasetbylakeidandidop.py +9 -5
- cribl_control_plane/models/updatepacksop.py +27 -0
- cribl_control_plane/models/uploadpackresponse.py +13 -0
- cribl_control_plane/packs.py +196 -1
- {cribl_control_plane-0.1.0b2.dist-info → cribl_control_plane-0.1.1rc1.dist-info}/METADATA +47 -13
- {cribl_control_plane-0.1.0b2.dist-info → cribl_control_plane-0.1.1rc1.dist-info}/RECORD +148 -144
- {cribl_control_plane-0.1.0b2.dist-info → cribl_control_plane-0.1.1rc1.dist-info}/WHEEL +0 -0
|
@@ -29,14 +29,18 @@ class InputWindowsMetricsConnection(BaseModel):
|
|
|
29
29
|
class InputWindowsMetricsPqMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
30
30
|
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."""
|
|
31
31
|
|
|
32
|
+
# Smart
|
|
32
33
|
SMART = "smart"
|
|
34
|
+
# Always On
|
|
33
35
|
ALWAYS = "always"
|
|
34
36
|
|
|
35
37
|
|
|
36
38
|
class InputWindowsMetricsCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
37
39
|
r"""Codec to use to compress the persisted data"""
|
|
38
40
|
|
|
41
|
+
# None
|
|
39
42
|
NONE = "none"
|
|
43
|
+
# Gzip
|
|
40
44
|
GZIP = "gzip"
|
|
41
45
|
|
|
42
46
|
|
|
@@ -107,18 +111,26 @@ class InputWindowsMetricsPq(BaseModel):
|
|
|
107
111
|
class InputWindowsMetricsHostMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
108
112
|
r"""Select level of detail for host metrics"""
|
|
109
113
|
|
|
114
|
+
# Basic
|
|
110
115
|
BASIC = "basic"
|
|
116
|
+
# All
|
|
111
117
|
ALL = "all"
|
|
118
|
+
# Custom
|
|
112
119
|
CUSTOM = "custom"
|
|
120
|
+
# Disabled
|
|
113
121
|
DISABLED = "disabled"
|
|
114
122
|
|
|
115
123
|
|
|
116
124
|
class InputWindowsMetricsSystemMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
117
125
|
r"""Select the level of details for system metrics"""
|
|
118
126
|
|
|
127
|
+
# Basic
|
|
119
128
|
BASIC = "basic"
|
|
129
|
+
# All
|
|
120
130
|
ALL = "all"
|
|
131
|
+
# Custom
|
|
121
132
|
CUSTOM = "custom"
|
|
133
|
+
# Disabled
|
|
122
134
|
DISABLED = "disabled"
|
|
123
135
|
|
|
124
136
|
|
|
@@ -143,9 +155,13 @@ class InputWindowsMetricsSystem(BaseModel):
|
|
|
143
155
|
class InputWindowsMetricsCPUMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
144
156
|
r"""Select the level of details for CPU metrics"""
|
|
145
157
|
|
|
158
|
+
# Basic
|
|
146
159
|
BASIC = "basic"
|
|
160
|
+
# All
|
|
147
161
|
ALL = "all"
|
|
162
|
+
# Custom
|
|
148
163
|
CUSTOM = "custom"
|
|
164
|
+
# Disabled
|
|
149
165
|
DISABLED = "disabled"
|
|
150
166
|
|
|
151
167
|
|
|
@@ -179,9 +195,13 @@ class InputWindowsMetricsCPU(BaseModel):
|
|
|
179
195
|
class InputWindowsMetricsMemoryMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
180
196
|
r"""Select the level of details for memory metrics"""
|
|
181
197
|
|
|
198
|
+
# Basic
|
|
182
199
|
BASIC = "basic"
|
|
200
|
+
# All
|
|
183
201
|
ALL = "all"
|
|
202
|
+
# Custom
|
|
184
203
|
CUSTOM = "custom"
|
|
204
|
+
# Disabled
|
|
185
205
|
DISABLED = "disabled"
|
|
186
206
|
|
|
187
207
|
|
|
@@ -206,9 +226,13 @@ class InputWindowsMetricsMemory(BaseModel):
|
|
|
206
226
|
class InputWindowsMetricsNetworkMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
207
227
|
r"""Select the level of details for network metrics"""
|
|
208
228
|
|
|
229
|
+
# Basic
|
|
209
230
|
BASIC = "basic"
|
|
231
|
+
# All
|
|
210
232
|
ALL = "all"
|
|
233
|
+
# Custom
|
|
211
234
|
CUSTOM = "custom"
|
|
235
|
+
# Disabled
|
|
212
236
|
DISABLED = "disabled"
|
|
213
237
|
|
|
214
238
|
|
|
@@ -245,9 +269,13 @@ class InputWindowsMetricsNetwork(BaseModel):
|
|
|
245
269
|
class InputWindowsMetricsDiskMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
246
270
|
r"""Select the level of details for disk metrics"""
|
|
247
271
|
|
|
272
|
+
# Basic
|
|
248
273
|
BASIC = "basic"
|
|
274
|
+
# All
|
|
249
275
|
ALL = "all"
|
|
276
|
+
# Custom
|
|
250
277
|
CUSTOM = "custom"
|
|
278
|
+
# Disabled
|
|
251
279
|
DISABLED = "disabled"
|
|
252
280
|
|
|
253
281
|
|
|
@@ -29,14 +29,18 @@ class InputWinEventLogsConnection(BaseModel):
|
|
|
29
29
|
class InputWinEventLogsMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
30
30
|
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."""
|
|
31
31
|
|
|
32
|
+
# Smart
|
|
32
33
|
SMART = "smart"
|
|
34
|
+
# Always On
|
|
33
35
|
ALWAYS = "always"
|
|
34
36
|
|
|
35
37
|
|
|
36
38
|
class InputWinEventLogsCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
37
39
|
r"""Codec to use to compress the persisted data"""
|
|
38
40
|
|
|
41
|
+
# None
|
|
39
42
|
NONE = "none"
|
|
43
|
+
# Gzip
|
|
40
44
|
GZIP = "gzip"
|
|
41
45
|
|
|
42
46
|
|
|
@@ -107,14 +111,18 @@ class InputWinEventLogsPq(BaseModel):
|
|
|
107
111
|
class ReadMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
108
112
|
r"""Read all stored and future event logs, or only future events"""
|
|
109
113
|
|
|
114
|
+
# Entire log
|
|
110
115
|
OLDEST = "oldest"
|
|
116
|
+
# From last entry
|
|
111
117
|
NEWEST = "newest"
|
|
112
118
|
|
|
113
119
|
|
|
114
120
|
class EventFormat(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
115
121
|
r"""Format of individual events"""
|
|
116
122
|
|
|
123
|
+
# JSON
|
|
117
124
|
JSON = "json"
|
|
125
|
+
# XML
|
|
118
126
|
XML = "xml"
|
|
119
127
|
|
|
120
128
|
|
|
@@ -29,14 +29,18 @@ class InputWizConnection(BaseModel):
|
|
|
29
29
|
class InputWizMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
30
30
|
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."""
|
|
31
31
|
|
|
32
|
+
# Smart
|
|
32
33
|
SMART = "smart"
|
|
34
|
+
# Always On
|
|
33
35
|
ALWAYS = "always"
|
|
34
36
|
|
|
35
37
|
|
|
36
38
|
class InputWizCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
37
39
|
r"""Codec to use to compress the persisted data"""
|
|
38
40
|
|
|
41
|
+
# None
|
|
39
42
|
NONE = "none"
|
|
43
|
+
# Gzip
|
|
40
44
|
GZIP = "gzip"
|
|
41
45
|
|
|
42
46
|
|
|
@@ -137,8 +141,11 @@ class InputWizMetadatum(BaseModel):
|
|
|
137
141
|
class InputWizRetryType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
138
142
|
r"""The algorithm to use when performing HTTP retries"""
|
|
139
143
|
|
|
144
|
+
# Disabled
|
|
140
145
|
NONE = "none"
|
|
146
|
+
# Backoff
|
|
141
147
|
BACKOFF = "backoff"
|
|
148
|
+
# Static
|
|
142
149
|
STATIC = "static"
|
|
143
150
|
|
|
144
151
|
|
|
@@ -29,14 +29,18 @@ class InputWizWebhookConnection(BaseModel):
|
|
|
29
29
|
class InputWizWebhookMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
30
30
|
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."""
|
|
31
31
|
|
|
32
|
+
# Smart
|
|
32
33
|
SMART = "smart"
|
|
34
|
+
# Always On
|
|
33
35
|
ALWAYS = "always"
|
|
34
36
|
|
|
35
37
|
|
|
36
38
|
class InputWizWebhookCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
37
39
|
r"""Codec to use to compress the persisted data"""
|
|
38
40
|
|
|
41
|
+
# None
|
|
39
42
|
NONE = "none"
|
|
43
|
+
# Gzip
|
|
40
44
|
GZIP = "gzip"
|
|
41
45
|
|
|
42
46
|
|
|
@@ -29,14 +29,18 @@ class InputZscalerHecConnection(BaseModel):
|
|
|
29
29
|
class InputZscalerHecMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
30
30
|
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."""
|
|
31
31
|
|
|
32
|
+
# Smart
|
|
32
33
|
SMART = "smart"
|
|
34
|
+
# Always On
|
|
33
35
|
ALWAYS = "always"
|
|
34
36
|
|
|
35
37
|
|
|
36
38
|
class InputZscalerHecCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
37
39
|
r"""Codec to use to compress the persisted data"""
|
|
38
40
|
|
|
41
|
+
# None
|
|
39
42
|
NONE = "none"
|
|
43
|
+
# Gzip
|
|
40
44
|
GZIP = "gzip"
|
|
41
45
|
|
|
42
46
|
|
|
@@ -4,13 +4,14 @@ from __future__ import annotations
|
|
|
4
4
|
from .jobstatus import JobStatus, JobStatusTypedDict
|
|
5
5
|
from .runnablejob import RunnableJob, RunnableJobTypedDict
|
|
6
6
|
from cribl_control_plane.types import BaseModel
|
|
7
|
-
from typing import Optional
|
|
7
|
+
from typing import Dict, Optional
|
|
8
8
|
from typing_extensions import NotRequired, TypedDict
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
class JobInfoTypedDict(TypedDict):
|
|
12
12
|
args: RunnableJobTypedDict
|
|
13
13
|
id: str
|
|
14
|
+
stats: Dict[str, float]
|
|
14
15
|
status: JobStatusTypedDict
|
|
15
16
|
keep: NotRequired[bool]
|
|
16
17
|
|
|
@@ -20,6 +21,8 @@ class JobInfo(BaseModel):
|
|
|
20
21
|
|
|
21
22
|
id: str
|
|
22
23
|
|
|
24
|
+
stats: Dict[str, float]
|
|
25
|
+
|
|
23
26
|
status: JobStatus
|
|
24
27
|
|
|
25
28
|
keep: Optional[bool] = None
|
|
@@ -5,7 +5,7 @@ from .hbcriblinfo import HBCriblInfo, HBCriblInfoTypedDict
|
|
|
5
5
|
from .heartbeatmetadata import HeartbeatMetadata, HeartbeatMetadataTypedDict
|
|
6
6
|
from cribl_control_plane.types import BaseModel
|
|
7
7
|
import pydantic
|
|
8
|
-
from typing import List, Optional, Union
|
|
8
|
+
from typing import Dict, List, Optional, Union
|
|
9
9
|
from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
|
|
10
10
|
|
|
11
11
|
|
|
@@ -128,6 +128,7 @@ class NodeProvidedInfoTypedDict(TypedDict):
|
|
|
128
128
|
architecture: str
|
|
129
129
|
cpus: float
|
|
130
130
|
cribl: HBCriblInfoTypedDict
|
|
131
|
+
env: Dict[str, str]
|
|
131
132
|
free_disk_space: float
|
|
132
133
|
hostname: str
|
|
133
134
|
node: str
|
|
@@ -152,6 +153,8 @@ class NodeProvidedInfo(BaseModel):
|
|
|
152
153
|
|
|
153
154
|
cribl: HBCriblInfo
|
|
154
155
|
|
|
156
|
+
env: Dict[str, str]
|
|
157
|
+
|
|
155
158
|
free_disk_space: Annotated[float, pydantic.Field(alias="freeDiskSpace")]
|
|
156
159
|
|
|
157
160
|
hostname: str
|
|
@@ -8,6 +8,7 @@ from .outputazuredataexplorer import (
|
|
|
8
8
|
)
|
|
9
9
|
from .outputazureeventhub import OutputAzureEventhub, OutputAzureEventhubTypedDict
|
|
10
10
|
from .outputazurelogs import OutputAzureLogs, OutputAzureLogsTypedDict
|
|
11
|
+
from .outputchronicle import OutputChronicle, OutputChronicleTypedDict
|
|
11
12
|
from .outputclickhouse import OutputClickHouse, OutputClickHouseTypedDict
|
|
12
13
|
from .outputcloudwatch import OutputCloudwatch, OutputCloudwatchTypedDict
|
|
13
14
|
from .outputconfluentcloud import OutputConfluentCloud, OutputConfluentCloudTypedDict
|
|
@@ -81,8 +82,10 @@ from .outputtcpjson import OutputTcpjson, OutputTcpjsonTypedDict
|
|
|
81
82
|
from .outputwavefront import OutputWavefront, OutputWavefrontTypedDict
|
|
82
83
|
from .outputwebhook import OutputWebhook, OutputWebhookTypedDict
|
|
83
84
|
from .outputxsiam import OutputXsiam, OutputXsiamTypedDict
|
|
85
|
+
from cribl_control_plane.utils import get_discriminator
|
|
86
|
+
from pydantic import Discriminator, Tag
|
|
84
87
|
from typing import Union
|
|
85
|
-
from typing_extensions import TypeAliasType
|
|
88
|
+
from typing_extensions import Annotated, TypeAliasType
|
|
86
89
|
|
|
87
90
|
|
|
88
91
|
OutputTypedDict = TypeAliasType(
|
|
@@ -131,6 +134,7 @@ OutputTypedDict = TypeAliasType(
|
|
|
131
134
|
OutputSplunkHecTypedDict,
|
|
132
135
|
OutputDynatraceHTTPTypedDict,
|
|
133
136
|
OutputServiceNowTypedDict,
|
|
137
|
+
OutputChronicleTypedDict,
|
|
134
138
|
OutputDynatraceOtlpTypedDict,
|
|
135
139
|
OutputGoogleChronicleTypedDict,
|
|
136
140
|
OutputElasticTypedDict,
|
|
@@ -157,73 +161,74 @@ OutputTypedDict = TypeAliasType(
|
|
|
157
161
|
)
|
|
158
162
|
|
|
159
163
|
|
|
160
|
-
Output =
|
|
161
|
-
"Output",
|
|
164
|
+
Output = Annotated[
|
|
162
165
|
Union[
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
166
|
+
Annotated[OutputDefault, Tag("default")],
|
|
167
|
+
Annotated[OutputWebhook, Tag("webhook")],
|
|
168
|
+
Annotated[OutputSentinel, Tag("sentinel")],
|
|
169
|
+
Annotated[OutputDevnull, Tag("devnull")],
|
|
170
|
+
Annotated[OutputSyslog, Tag("syslog")],
|
|
171
|
+
Annotated[OutputSplunk, Tag("splunk")],
|
|
172
|
+
Annotated[OutputSplunkLb, Tag("splunk_lb")],
|
|
173
|
+
Annotated[OutputSplunkHec, Tag("splunk_hec")],
|
|
174
|
+
Annotated[OutputTcpjson, Tag("tcpjson")],
|
|
175
|
+
Annotated[OutputWavefront, Tag("wavefront")],
|
|
176
|
+
Annotated[OutputSignalfx, Tag("signalfx")],
|
|
177
|
+
Annotated[OutputFilesystem, Tag("filesystem")],
|
|
178
|
+
Annotated[OutputS3, Tag("s3")],
|
|
179
|
+
Annotated[OutputAzureBlob, Tag("azure_blob")],
|
|
180
|
+
Annotated[OutputAzureDataExplorer, Tag("azure_data_explorer")],
|
|
181
|
+
Annotated[OutputAzureLogs, Tag("azure_logs")],
|
|
182
|
+
Annotated[OutputKinesis, Tag("kinesis")],
|
|
183
|
+
Annotated[OutputHoneycomb, Tag("honeycomb")],
|
|
184
|
+
Annotated[OutputAzureEventhub, Tag("azure_eventhub")],
|
|
185
|
+
Annotated[OutputGoogleChronicle, Tag("google_chronicle")],
|
|
186
|
+
Annotated[OutputGoogleCloudStorage, Tag("google_cloud_storage")],
|
|
187
|
+
Annotated[OutputGoogleCloudLogging, Tag("google_cloud_logging")],
|
|
188
|
+
Annotated[OutputGooglePubsub, Tag("google_pubsub")],
|
|
189
|
+
Annotated[OutputExabeam, Tag("exabeam")],
|
|
190
|
+
Annotated[OutputKafka, Tag("kafka")],
|
|
191
|
+
Annotated[OutputConfluentCloud, Tag("confluent_cloud")],
|
|
192
|
+
Annotated[OutputMsk, Tag("msk")],
|
|
193
|
+
Annotated[OutputElastic, Tag("elastic")],
|
|
194
|
+
Annotated[OutputElasticCloud, Tag("elastic_cloud")],
|
|
195
|
+
Annotated[OutputNewrelic, Tag("newrelic")],
|
|
196
|
+
Annotated[OutputNewrelicEvents, Tag("newrelic_events")],
|
|
197
|
+
Annotated[OutputInfluxdb, Tag("influxdb")],
|
|
198
|
+
Annotated[OutputCloudwatch, Tag("cloudwatch")],
|
|
199
|
+
Annotated[OutputMinio, Tag("minio")],
|
|
200
|
+
Annotated[OutputStatsd, Tag("statsd")],
|
|
201
|
+
Annotated[OutputStatsdExt, Tag("statsd_ext")],
|
|
202
|
+
Annotated[OutputGraphite, Tag("graphite")],
|
|
203
|
+
Annotated[OutputRouter, Tag("router")],
|
|
204
|
+
Annotated[OutputSns, Tag("sns")],
|
|
205
|
+
Annotated[OutputSqs, Tag("sqs")],
|
|
206
|
+
Annotated[OutputSnmp, Tag("snmp")],
|
|
207
|
+
Annotated[OutputSumoLogic, Tag("sumo_logic")],
|
|
208
|
+
Annotated[OutputDatadog, Tag("datadog")],
|
|
209
|
+
Annotated[OutputGrafanaCloud, Tag("grafana_cloud")],
|
|
210
|
+
Annotated[OutputLoki, Tag("loki")],
|
|
211
|
+
Annotated[OutputPrometheus, Tag("prometheus")],
|
|
212
|
+
Annotated[OutputRing, Tag("ring")],
|
|
213
|
+
Annotated[OutputOpenTelemetry, Tag("open_telemetry")],
|
|
214
|
+
Annotated[OutputServiceNow, Tag("service_now")],
|
|
215
|
+
Annotated[OutputDataset, Tag("dataset")],
|
|
216
|
+
Annotated[OutputCriblTCP, Tag("cribl_tcp")],
|
|
217
|
+
Annotated[OutputCriblHTTP, Tag("cribl_http")],
|
|
218
|
+
Annotated[OutputHumioHec, Tag("humio_hec")],
|
|
219
|
+
Annotated[OutputCrowdstrikeNextGenSiem, Tag("crowdstrike_next_gen_siem")],
|
|
220
|
+
Annotated[OutputDlS3, Tag("dl_s3")],
|
|
221
|
+
Annotated[OutputSecurityLake, Tag("security_lake")],
|
|
222
|
+
Annotated[OutputCriblLake, Tag("cribl_lake")],
|
|
223
|
+
Annotated[OutputDiskSpool, Tag("disk_spool")],
|
|
224
|
+
Annotated[OutputClickHouse, Tag("click_house")],
|
|
225
|
+
Annotated[OutputXsiam, Tag("xsiam")],
|
|
226
|
+
Annotated[OutputNetflow, Tag("netflow")],
|
|
227
|
+
Annotated[OutputDynatraceHTTP, Tag("dynatrace_http")],
|
|
228
|
+
Annotated[OutputDynatraceOtlp, Tag("dynatrace_otlp")],
|
|
229
|
+
Annotated[OutputSentinelOneAiSiem, Tag("sentinel_one_ai_siem")],
|
|
230
|
+
Annotated[OutputChronicle, Tag("chronicle")],
|
|
231
|
+
Annotated[OutputDatabricks, Tag("databricks")],
|
|
228
232
|
],
|
|
229
|
-
)
|
|
233
|
+
Discriminator(lambda m: get_discriminator(m, "type", "type")),
|
|
234
|
+
]
|
|
@@ -18,22 +18,29 @@ class OutputAzureBlobType(str, Enum):
|
|
|
18
18
|
class OutputAzureBlobDataFormat(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
19
19
|
r"""Format of the output data"""
|
|
20
20
|
|
|
21
|
+
# JSON
|
|
21
22
|
JSON = "json"
|
|
23
|
+
# Raw
|
|
22
24
|
RAW = "raw"
|
|
25
|
+
# Parquet
|
|
23
26
|
PARQUET = "parquet"
|
|
24
27
|
|
|
25
28
|
|
|
26
29
|
class OutputAzureBlobBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
27
30
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
28
31
|
|
|
32
|
+
# Block
|
|
29
33
|
BLOCK = "block"
|
|
34
|
+
# Drop
|
|
30
35
|
DROP = "drop"
|
|
31
36
|
|
|
32
37
|
|
|
33
38
|
class OutputAzureBlobDiskSpaceProtection(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
34
39
|
r"""How to handle events when disk space is below the global 'Min free disk space' limit"""
|
|
35
40
|
|
|
41
|
+
# Block
|
|
36
42
|
BLOCK = "block"
|
|
43
|
+
# Drop
|
|
37
44
|
DROP = "drop"
|
|
38
45
|
|
|
39
46
|
|
|
@@ -45,10 +52,15 @@ class OutputAzureBlobAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMet
|
|
|
45
52
|
|
|
46
53
|
|
|
47
54
|
class BlobAccessTier(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
55
|
+
# Default account access tier
|
|
48
56
|
INFERRED = "Inferred"
|
|
57
|
+
# Hot tier
|
|
49
58
|
HOT = "Hot"
|
|
59
|
+
# Cool tier
|
|
50
60
|
COOL = "Cool"
|
|
61
|
+
# Cold tier
|
|
51
62
|
COLD = "Cold"
|
|
63
|
+
# Archive tier
|
|
52
64
|
ARCHIVE = "Archive"
|
|
53
65
|
|
|
54
66
|
|
|
@@ -62,23 +74,31 @@ class OutputAzureBlobCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
62
74
|
class OutputAzureBlobCompressionLevel(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
63
75
|
r"""Compression level to apply before moving files to final destination"""
|
|
64
76
|
|
|
77
|
+
# Best Speed
|
|
65
78
|
BEST_SPEED = "best_speed"
|
|
79
|
+
# Normal
|
|
66
80
|
NORMAL = "normal"
|
|
81
|
+
# Best Compression
|
|
67
82
|
BEST_COMPRESSION = "best_compression"
|
|
68
83
|
|
|
69
84
|
|
|
70
85
|
class OutputAzureBlobParquetVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
71
86
|
r"""Determines which data types are supported and how they are represented"""
|
|
72
87
|
|
|
88
|
+
# 1.0
|
|
73
89
|
PARQUET_1_0 = "PARQUET_1_0"
|
|
90
|
+
# 2.4
|
|
74
91
|
PARQUET_2_4 = "PARQUET_2_4"
|
|
92
|
+
# 2.6
|
|
75
93
|
PARQUET_2_6 = "PARQUET_2_6"
|
|
76
94
|
|
|
77
95
|
|
|
78
96
|
class OutputAzureBlobDataPageVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
79
97
|
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."""
|
|
80
98
|
|
|
99
|
+
# V1
|
|
81
100
|
DATA_PAGE_V1 = "DATA_PAGE_V1"
|
|
101
|
+
# V2
|
|
82
102
|
DATA_PAGE_V2 = "DATA_PAGE_V2"
|
|
83
103
|
|
|
84
104
|
|
|
@@ -16,7 +16,9 @@ class OutputAzureDataExplorerType(str, Enum):
|
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
class IngestionMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
19
|
+
# Batching
|
|
19
20
|
BATCHING = "batching"
|
|
21
|
+
# Streaming
|
|
20
22
|
STREAMING = "streaming"
|
|
21
23
|
|
|
22
24
|
|
|
@@ -33,8 +35,11 @@ class OutputAzureDataExplorerAuthenticationMethod(
|
|
|
33
35
|
):
|
|
34
36
|
r"""The type of OAuth 2.0 client credentials grant flow to use"""
|
|
35
37
|
|
|
38
|
+
# Client secret
|
|
36
39
|
CLIENT_SECRET = "clientSecret"
|
|
40
|
+
# Client secret (text secret)
|
|
37
41
|
CLIENT_TEXT_SECRET = "clientTextSecret"
|
|
42
|
+
# Certificate
|
|
38
43
|
CERTIFICATE = "certificate"
|
|
39
44
|
|
|
40
45
|
|
|
@@ -55,16 +60,22 @@ class OutputAzureDataExplorerBackpressureBehavior(
|
|
|
55
60
|
):
|
|
56
61
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
57
62
|
|
|
63
|
+
# Block
|
|
58
64
|
BLOCK = "block"
|
|
65
|
+
# Drop
|
|
59
66
|
DROP = "drop"
|
|
67
|
+
# Persistent Queue
|
|
60
68
|
QUEUE = "queue"
|
|
61
69
|
|
|
62
70
|
|
|
63
71
|
class OutputAzureDataExplorerDataFormat(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
64
72
|
r"""Format of the output data"""
|
|
65
73
|
|
|
74
|
+
# JSON
|
|
66
75
|
JSON = "json"
|
|
76
|
+
# Raw
|
|
67
77
|
RAW = "raw"
|
|
78
|
+
# Parquet
|
|
68
79
|
PARQUET = "parquet"
|
|
69
80
|
|
|
70
81
|
|
|
@@ -73,12 +84,16 @@ class OutputAzureDataExplorerDiskSpaceProtection(
|
|
|
73
84
|
):
|
|
74
85
|
r"""How to handle events when disk space is below the global 'Min free disk space' limit"""
|
|
75
86
|
|
|
87
|
+
# Block
|
|
76
88
|
BLOCK = "block"
|
|
89
|
+
# Drop
|
|
77
90
|
DROP = "drop"
|
|
78
91
|
|
|
79
92
|
|
|
80
93
|
class PrefixOptional(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
94
|
+
# drop-by
|
|
81
95
|
DROP_BY = "dropBy"
|
|
96
|
+
# ingest-by
|
|
82
97
|
INGEST_BY = "ingestBy"
|
|
83
98
|
|
|
84
99
|
|
|
@@ -106,16 +121,22 @@ class IngestIfNotExist(BaseModel):
|
|
|
106
121
|
class ReportLevel(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
107
122
|
r"""Level of ingestion status reporting. Defaults to FailuresOnly."""
|
|
108
123
|
|
|
124
|
+
# FailuresOnly
|
|
109
125
|
FAILURES_ONLY = "failuresOnly"
|
|
126
|
+
# DoNotReport
|
|
110
127
|
DO_NOT_REPORT = "doNotReport"
|
|
128
|
+
# FailuresAndSuccesses
|
|
111
129
|
FAILURES_AND_SUCCESSES = "failuresAndSuccesses"
|
|
112
130
|
|
|
113
131
|
|
|
114
132
|
class ReportMethod(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
115
133
|
r"""Target of the ingestion status reporting. Defaults to Queue."""
|
|
116
134
|
|
|
135
|
+
# Queue
|
|
117
136
|
QUEUE = "queue"
|
|
137
|
+
# Table
|
|
118
138
|
TABLE = "table"
|
|
139
|
+
# QueueAndTable
|
|
119
140
|
QUEUE_AND_TABLE = "queueAndTable"
|
|
120
141
|
|
|
121
142
|
|
|
@@ -198,22 +219,29 @@ class OutputAzureDataExplorerPqCompressCompression(
|
|
|
198
219
|
):
|
|
199
220
|
r"""Codec to use to compress the persisted data"""
|
|
200
221
|
|
|
222
|
+
# None
|
|
201
223
|
NONE = "none"
|
|
224
|
+
# Gzip
|
|
202
225
|
GZIP = "gzip"
|
|
203
226
|
|
|
204
227
|
|
|
205
228
|
class OutputAzureDataExplorerQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
206
229
|
r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
|
|
207
230
|
|
|
231
|
+
# Block
|
|
208
232
|
BLOCK = "block"
|
|
233
|
+
# Drop new data
|
|
209
234
|
DROP = "drop"
|
|
210
235
|
|
|
211
236
|
|
|
212
237
|
class OutputAzureDataExplorerMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
213
238
|
r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
|
|
214
239
|
|
|
240
|
+
# Error
|
|
215
241
|
ERROR = "error"
|
|
242
|
+
# Backpressure
|
|
216
243
|
BACKPRESSURE = "backpressure"
|
|
244
|
+
# Always On
|
|
217
245
|
ALWAYS = "always"
|
|
218
246
|
|
|
219
247
|
|