cribl-control-plane 0.0.16__py3-none-any.whl → 0.0.17__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/_version.py +3 -3
- cribl_control_plane/errors/healthstatus_error.py +2 -8
- cribl_control_plane/models/__init__.py +4124 -4124
- cribl_control_plane/models/createinputop.py +1734 -2771
- cribl_control_plane/models/createoutputop.py +2153 -4314
- cribl_control_plane/models/healthstatus.py +4 -7
- cribl_control_plane/models/inputappscope.py +16 -36
- cribl_control_plane/models/inputazureblob.py +8 -19
- cribl_control_plane/models/inputcollection.py +6 -15
- cribl_control_plane/models/inputconfluentcloud.py +20 -45
- cribl_control_plane/models/inputcribl.py +6 -13
- cribl_control_plane/models/inputcriblhttp.py +10 -27
- cribl_control_plane/models/inputcribllakehttp.py +12 -26
- cribl_control_plane/models/inputcriblmetrics.py +6 -14
- cribl_control_plane/models/inputcribltcp.py +10 -27
- cribl_control_plane/models/inputcrowdstrike.py +12 -28
- cribl_control_plane/models/inputdatadogagent.py +10 -28
- cribl_control_plane/models/inputdatagen.py +6 -13
- cribl_control_plane/models/inputedgeprometheus.py +31 -64
- cribl_control_plane/models/inputelastic.py +16 -44
- cribl_control_plane/models/inputeventhub.py +8 -19
- cribl_control_plane/models/inputexec.py +8 -16
- cribl_control_plane/models/inputfile.py +8 -17
- cribl_control_plane/models/inputfirehose.py +10 -27
- cribl_control_plane/models/inputgooglepubsub.py +8 -23
- cribl_control_plane/models/inputgrafana_union.py +35 -81
- cribl_control_plane/models/inputhttp.py +10 -27
- cribl_control_plane/models/inputhttpraw.py +10 -27
- cribl_control_plane/models/inputjournalfiles.py +6 -16
- cribl_control_plane/models/inputkafka.py +16 -45
- cribl_control_plane/models/inputkinesis.py +16 -42
- cribl_control_plane/models/inputkubeevents.py +6 -13
- cribl_control_plane/models/inputkubelogs.py +10 -18
- cribl_control_plane/models/inputkubemetrics.py +10 -18
- cribl_control_plane/models/inputloki.py +12 -33
- cribl_control_plane/models/inputmetrics.py +10 -25
- cribl_control_plane/models/inputmodeldriventelemetry.py +12 -32
- cribl_control_plane/models/inputmsk.py +18 -52
- cribl_control_plane/models/inputnetflow.py +6 -15
- cribl_control_plane/models/inputoffice365mgmt.py +16 -37
- cribl_control_plane/models/inputoffice365msgtrace.py +18 -39
- cribl_control_plane/models/inputoffice365service.py +18 -39
- cribl_control_plane/models/inputopentelemetry.py +18 -42
- cribl_control_plane/models/inputprometheus.py +20 -54
- cribl_control_plane/models/inputprometheusrw.py +12 -34
- cribl_control_plane/models/inputrawudp.py +6 -15
- cribl_control_plane/models/inputs3.py +10 -23
- cribl_control_plane/models/inputs3inventory.py +12 -28
- cribl_control_plane/models/inputsecuritylake.py +12 -29
- cribl_control_plane/models/inputsnmp.py +8 -20
- cribl_control_plane/models/inputsplunk.py +14 -37
- cribl_control_plane/models/inputsplunkhec.py +12 -33
- cribl_control_plane/models/inputsplunksearch.py +16 -37
- cribl_control_plane/models/inputsqs.py +12 -31
- cribl_control_plane/models/inputsyslog_union.py +29 -53
- cribl_control_plane/models/inputsystemmetrics.py +26 -50
- cribl_control_plane/models/inputsystemstate.py +10 -18
- cribl_control_plane/models/inputtcp.py +12 -33
- cribl_control_plane/models/inputtcpjson.py +12 -33
- cribl_control_plane/models/inputwef.py +20 -45
- cribl_control_plane/models/inputwindowsmetrics.py +26 -46
- cribl_control_plane/models/inputwineventlogs.py +12 -22
- cribl_control_plane/models/inputwiz.py +10 -25
- cribl_control_plane/models/inputzscalerhec.py +12 -33
- cribl_control_plane/models/output.py +3 -6
- cribl_control_plane/models/outputazureblob.py +20 -52
- cribl_control_plane/models/outputazuredataexplorer.py +30 -77
- cribl_control_plane/models/outputazureeventhub.py +20 -44
- cribl_control_plane/models/outputazurelogs.py +14 -37
- cribl_control_plane/models/outputclickhouse.py +22 -59
- cribl_control_plane/models/outputcloudwatch.py +12 -33
- cribl_control_plane/models/outputconfluentcloud.py +32 -75
- cribl_control_plane/models/outputcriblhttp.py +18 -46
- cribl_control_plane/models/outputcribllake.py +18 -48
- cribl_control_plane/models/outputcribltcp.py +20 -47
- cribl_control_plane/models/outputcrowdstrikenextgensiem.py +16 -54
- cribl_control_plane/models/outputdatadog.py +22 -50
- cribl_control_plane/models/outputdataset.py +20 -48
- cribl_control_plane/models/outputdefault.py +2 -5
- cribl_control_plane/models/outputdevnull.py +2 -5
- cribl_control_plane/models/outputdiskspool.py +4 -9
- cribl_control_plane/models/outputdls3.py +26 -72
- cribl_control_plane/models/outputdynatracehttp.py +22 -57
- cribl_control_plane/models/outputdynatraceotlp.py +24 -59
- cribl_control_plane/models/outputelastic.py +20 -45
- cribl_control_plane/models/outputelasticcloud.py +14 -40
- cribl_control_plane/models/outputexabeam.py +12 -33
- cribl_control_plane/models/outputfilesystem.py +16 -41
- cribl_control_plane/models/outputgooglechronicle.py +18 -54
- cribl_control_plane/models/outputgooglecloudlogging.py +16 -46
- cribl_control_plane/models/outputgooglecloudstorage.py +26 -71
- cribl_control_plane/models/outputgooglepubsub.py +16 -39
- cribl_control_plane/models/{outputgrafanacloud_union.py → outputgrafanacloud.py} +49 -110
- cribl_control_plane/models/outputgraphite.py +16 -35
- cribl_control_plane/models/outputhoneycomb.py +14 -37
- cribl_control_plane/models/outputhumiohec.py +18 -47
- cribl_control_plane/models/outputinfluxdb.py +18 -44
- cribl_control_plane/models/outputkafka.py +28 -73
- cribl_control_plane/models/outputkinesis.py +18 -44
- cribl_control_plane/models/outputloki.py +18 -43
- cribl_control_plane/models/outputminio.py +26 -69
- cribl_control_plane/models/outputmsk.py +30 -81
- cribl_control_plane/models/outputnetflow.py +2 -5
- cribl_control_plane/models/outputnewrelic.py +20 -45
- cribl_control_plane/models/outputnewrelicevents.py +16 -45
- cribl_control_plane/models/outputopentelemetry.py +28 -69
- cribl_control_plane/models/outputprometheus.py +14 -37
- cribl_control_plane/models/outputring.py +10 -21
- cribl_control_plane/models/outputrouter.py +2 -5
- cribl_control_plane/models/outputs3.py +28 -72
- cribl_control_plane/models/outputsecuritylake.py +20 -56
- cribl_control_plane/models/outputsentinel.py +20 -49
- cribl_control_plane/models/outputsentineloneaisiem.py +20 -54
- cribl_control_plane/models/outputservicenow.py +26 -64
- cribl_control_plane/models/outputsignalfx.py +16 -39
- cribl_control_plane/models/outputsnmp.py +2 -5
- cribl_control_plane/models/outputsns.py +16 -40
- cribl_control_plane/models/outputsplunk.py +26 -64
- cribl_control_plane/models/outputsplunkhec.py +14 -37
- cribl_control_plane/models/outputsplunklb.py +36 -83
- cribl_control_plane/models/outputsqs.py +18 -45
- cribl_control_plane/models/outputstatsd.py +16 -34
- cribl_control_plane/models/outputstatsdext.py +14 -33
- cribl_control_plane/models/outputsumologic.py +14 -37
- cribl_control_plane/models/outputsyslog.py +26 -60
- cribl_control_plane/models/outputtcpjson.py +22 -54
- cribl_control_plane/models/outputwavefront.py +14 -37
- cribl_control_plane/models/outputwebhook.py +24 -60
- cribl_control_plane/models/outputxsiam.py +16 -37
- {cribl_control_plane-0.0.16.dist-info → cribl_control_plane-0.0.17.dist-info}/METADATA +1 -1
- cribl_control_plane-0.0.17.dist-info/RECORD +215 -0
- cribl_control_plane-0.0.16.dist-info/RECORD +0 -215
- {cribl_control_plane-0.0.16.dist-info → cribl_control_plane-0.0.17.dist-info}/WHEEL +0 -0
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
-
from cribl_control_plane import utils
|
|
5
4
|
from cribl_control_plane.types import BaseModel
|
|
6
|
-
from cribl_control_plane.utils import validate_open_enum
|
|
7
5
|
from enum import Enum
|
|
8
6
|
import pydantic
|
|
9
|
-
from pydantic.functional_validators import PlainValidator
|
|
10
7
|
from typing import Any, List, Optional
|
|
11
8
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
9
|
|
|
13
10
|
|
|
14
|
-
class InputTCPType(str, Enum
|
|
11
|
+
class InputTCPType(str, Enum):
|
|
15
12
|
TCP = "tcp"
|
|
16
13
|
|
|
17
14
|
|
|
@@ -26,14 +23,14 @@ class InputTCPConnection(BaseModel):
|
|
|
26
23
|
pipeline: Optional[str] = None
|
|
27
24
|
|
|
28
25
|
|
|
29
|
-
class InputTCPMode(str, Enum
|
|
26
|
+
class InputTCPMode(str, Enum):
|
|
30
27
|
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
28
|
|
|
32
29
|
SMART = "smart"
|
|
33
30
|
ALWAYS = "always"
|
|
34
31
|
|
|
35
32
|
|
|
36
|
-
class InputTCPCompression(str, Enum
|
|
33
|
+
class InputTCPCompression(str, Enum):
|
|
37
34
|
r"""Codec to use to compress the persisted data"""
|
|
38
35
|
|
|
39
36
|
NONE = "none"
|
|
@@ -58,9 +55,7 @@ class InputTCPPqTypedDict(TypedDict):
|
|
|
58
55
|
|
|
59
56
|
|
|
60
57
|
class InputTCPPq(BaseModel):
|
|
61
|
-
mode:
|
|
62
|
-
Optional[InputTCPMode], PlainValidator(validate_open_enum(False))
|
|
63
|
-
] = InputTCPMode.ALWAYS
|
|
58
|
+
mode: Optional[InputTCPMode] = InputTCPMode.ALWAYS
|
|
64
59
|
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."""
|
|
65
60
|
|
|
66
61
|
max_buffer_size: Annotated[
|
|
@@ -84,20 +79,18 @@ class InputTCPPq(BaseModel):
|
|
|
84
79
|
path: Optional[str] = "$CRIBL_HOME/state/queues"
|
|
85
80
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
|
|
86
81
|
|
|
87
|
-
compress:
|
|
88
|
-
Optional[InputTCPCompression], PlainValidator(validate_open_enum(False))
|
|
89
|
-
] = InputTCPCompression.NONE
|
|
82
|
+
compress: Optional[InputTCPCompression] = InputTCPCompression.NONE
|
|
90
83
|
r"""Codec to use to compress the persisted data"""
|
|
91
84
|
|
|
92
85
|
|
|
93
|
-
class InputTCPMinimumTLSVersion(str, Enum
|
|
86
|
+
class InputTCPMinimumTLSVersion(str, Enum):
|
|
94
87
|
TL_SV1 = "TLSv1"
|
|
95
88
|
TL_SV1_1 = "TLSv1.1"
|
|
96
89
|
TL_SV1_2 = "TLSv1.2"
|
|
97
90
|
TL_SV1_3 = "TLSv1.3"
|
|
98
91
|
|
|
99
92
|
|
|
100
|
-
class InputTCPMaximumTLSVersion(str, Enum
|
|
93
|
+
class InputTCPMaximumTLSVersion(str, Enum):
|
|
101
94
|
TL_SV1 = "TLSv1"
|
|
102
95
|
TL_SV1_1 = "TLSv1.1"
|
|
103
96
|
TL_SV1_2 = "TLSv1.2"
|
|
@@ -156,19 +149,11 @@ class InputTCPTLSSettingsServerSide(BaseModel):
|
|
|
156
149
|
] = None
|
|
157
150
|
|
|
158
151
|
min_version: Annotated[
|
|
159
|
-
|
|
160
|
-
Optional[InputTCPMinimumTLSVersion],
|
|
161
|
-
PlainValidator(validate_open_enum(False)),
|
|
162
|
-
],
|
|
163
|
-
pydantic.Field(alias="minVersion"),
|
|
152
|
+
Optional[InputTCPMinimumTLSVersion], pydantic.Field(alias="minVersion")
|
|
164
153
|
] = None
|
|
165
154
|
|
|
166
155
|
max_version: Annotated[
|
|
167
|
-
|
|
168
|
-
Optional[InputTCPMaximumTLSVersion],
|
|
169
|
-
PlainValidator(validate_open_enum(False)),
|
|
170
|
-
],
|
|
171
|
-
pydantic.Field(alias="maxVersion"),
|
|
156
|
+
Optional[InputTCPMaximumTLSVersion], pydantic.Field(alias="maxVersion")
|
|
172
157
|
] = None
|
|
173
158
|
|
|
174
159
|
|
|
@@ -203,7 +188,7 @@ class InputTCPPreprocess(BaseModel):
|
|
|
203
188
|
r"""Arguments to be added to the custom command"""
|
|
204
189
|
|
|
205
190
|
|
|
206
|
-
class InputTCPAuthenticationMethod(str, Enum
|
|
191
|
+
class InputTCPAuthenticationMethod(str, Enum):
|
|
207
192
|
r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
|
|
208
193
|
|
|
209
194
|
MANUAL = "manual"
|
|
@@ -266,9 +251,7 @@ class InputTCP(BaseModel):
|
|
|
266
251
|
id: Optional[str] = None
|
|
267
252
|
r"""Unique ID for this input"""
|
|
268
253
|
|
|
269
|
-
type:
|
|
270
|
-
Optional[InputTCPType], PlainValidator(validate_open_enum(False))
|
|
271
|
-
] = None
|
|
254
|
+
type: Optional[InputTCPType] = None
|
|
272
255
|
|
|
273
256
|
disabled: Optional[bool] = False
|
|
274
257
|
|
|
@@ -352,10 +335,6 @@ class InputTCP(BaseModel):
|
|
|
352
335
|
description: Optional[str] = None
|
|
353
336
|
|
|
354
337
|
auth_type: Annotated[
|
|
355
|
-
|
|
356
|
-
Optional[InputTCPAuthenticationMethod],
|
|
357
|
-
PlainValidator(validate_open_enum(False)),
|
|
358
|
-
],
|
|
359
|
-
pydantic.Field(alias="authType"),
|
|
338
|
+
Optional[InputTCPAuthenticationMethod], pydantic.Field(alias="authType")
|
|
360
339
|
] = InputTCPAuthenticationMethod.MANUAL
|
|
361
340
|
r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
|
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
-
from cribl_control_plane import utils
|
|
5
4
|
from cribl_control_plane.types import BaseModel
|
|
6
|
-
from cribl_control_plane.utils import validate_open_enum
|
|
7
5
|
from enum import Enum
|
|
8
6
|
import pydantic
|
|
9
|
-
from pydantic.functional_validators import PlainValidator
|
|
10
7
|
from typing import Any, List, Optional
|
|
11
8
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
9
|
|
|
13
10
|
|
|
14
|
-
class InputTcpjsonType(str, Enum
|
|
11
|
+
class InputTcpjsonType(str, Enum):
|
|
15
12
|
TCPJSON = "tcpjson"
|
|
16
13
|
|
|
17
14
|
|
|
@@ -26,14 +23,14 @@ class InputTcpjsonConnection(BaseModel):
|
|
|
26
23
|
pipeline: Optional[str] = None
|
|
27
24
|
|
|
28
25
|
|
|
29
|
-
class InputTcpjsonMode(str, Enum
|
|
26
|
+
class InputTcpjsonMode(str, Enum):
|
|
30
27
|
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
28
|
|
|
32
29
|
SMART = "smart"
|
|
33
30
|
ALWAYS = "always"
|
|
34
31
|
|
|
35
32
|
|
|
36
|
-
class InputTcpjsonCompression(str, Enum
|
|
33
|
+
class InputTcpjsonCompression(str, Enum):
|
|
37
34
|
r"""Codec to use to compress the persisted data"""
|
|
38
35
|
|
|
39
36
|
NONE = "none"
|
|
@@ -58,9 +55,7 @@ class InputTcpjsonPqTypedDict(TypedDict):
|
|
|
58
55
|
|
|
59
56
|
|
|
60
57
|
class InputTcpjsonPq(BaseModel):
|
|
61
|
-
mode:
|
|
62
|
-
Optional[InputTcpjsonMode], PlainValidator(validate_open_enum(False))
|
|
63
|
-
] = InputTcpjsonMode.ALWAYS
|
|
58
|
+
mode: Optional[InputTcpjsonMode] = InputTcpjsonMode.ALWAYS
|
|
64
59
|
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."""
|
|
65
60
|
|
|
66
61
|
max_buffer_size: Annotated[
|
|
@@ -84,20 +79,18 @@ class InputTcpjsonPq(BaseModel):
|
|
|
84
79
|
path: Optional[str] = "$CRIBL_HOME/state/queues"
|
|
85
80
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
|
|
86
81
|
|
|
87
|
-
compress:
|
|
88
|
-
Optional[InputTcpjsonCompression], PlainValidator(validate_open_enum(False))
|
|
89
|
-
] = InputTcpjsonCompression.NONE
|
|
82
|
+
compress: Optional[InputTcpjsonCompression] = InputTcpjsonCompression.NONE
|
|
90
83
|
r"""Codec to use to compress the persisted data"""
|
|
91
84
|
|
|
92
85
|
|
|
93
|
-
class InputTcpjsonMinimumTLSVersion(str, Enum
|
|
86
|
+
class InputTcpjsonMinimumTLSVersion(str, Enum):
|
|
94
87
|
TL_SV1 = "TLSv1"
|
|
95
88
|
TL_SV1_1 = "TLSv1.1"
|
|
96
89
|
TL_SV1_2 = "TLSv1.2"
|
|
97
90
|
TL_SV1_3 = "TLSv1.3"
|
|
98
91
|
|
|
99
92
|
|
|
100
|
-
class InputTcpjsonMaximumTLSVersion(str, Enum
|
|
93
|
+
class InputTcpjsonMaximumTLSVersion(str, Enum):
|
|
101
94
|
TL_SV1 = "TLSv1"
|
|
102
95
|
TL_SV1_1 = "TLSv1.1"
|
|
103
96
|
TL_SV1_2 = "TLSv1.2"
|
|
@@ -156,19 +149,11 @@ class InputTcpjsonTLSSettingsServerSide(BaseModel):
|
|
|
156
149
|
] = None
|
|
157
150
|
|
|
158
151
|
min_version: Annotated[
|
|
159
|
-
|
|
160
|
-
Optional[InputTcpjsonMinimumTLSVersion],
|
|
161
|
-
PlainValidator(validate_open_enum(False)),
|
|
162
|
-
],
|
|
163
|
-
pydantic.Field(alias="minVersion"),
|
|
152
|
+
Optional[InputTcpjsonMinimumTLSVersion], pydantic.Field(alias="minVersion")
|
|
164
153
|
] = None
|
|
165
154
|
|
|
166
155
|
max_version: Annotated[
|
|
167
|
-
|
|
168
|
-
Optional[InputTcpjsonMaximumTLSVersion],
|
|
169
|
-
PlainValidator(validate_open_enum(False)),
|
|
170
|
-
],
|
|
171
|
-
pydantic.Field(alias="maxVersion"),
|
|
156
|
+
Optional[InputTcpjsonMaximumTLSVersion], pydantic.Field(alias="maxVersion")
|
|
172
157
|
] = None
|
|
173
158
|
|
|
174
159
|
|
|
@@ -185,7 +170,7 @@ class InputTcpjsonMetadatum(BaseModel):
|
|
|
185
170
|
r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
|
|
186
171
|
|
|
187
172
|
|
|
188
|
-
class InputTcpjsonAuthenticationMethod(str, Enum
|
|
173
|
+
class InputTcpjsonAuthenticationMethod(str, Enum):
|
|
189
174
|
r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
|
|
190
175
|
|
|
191
176
|
MANUAL = "manual"
|
|
@@ -247,9 +232,7 @@ class InputTcpjson(BaseModel):
|
|
|
247
232
|
id: Optional[str] = None
|
|
248
233
|
r"""Unique ID for this input"""
|
|
249
234
|
|
|
250
|
-
type:
|
|
251
|
-
Optional[InputTcpjsonType], PlainValidator(validate_open_enum(False))
|
|
252
|
-
] = None
|
|
235
|
+
type: Optional[InputTcpjsonType] = None
|
|
253
236
|
|
|
254
237
|
disabled: Optional[bool] = False
|
|
255
238
|
|
|
@@ -319,11 +302,7 @@ class InputTcpjson(BaseModel):
|
|
|
319
302
|
r"""Load balance traffic across all Worker Processes"""
|
|
320
303
|
|
|
321
304
|
auth_type: Annotated[
|
|
322
|
-
|
|
323
|
-
Optional[InputTcpjsonAuthenticationMethod],
|
|
324
|
-
PlainValidator(validate_open_enum(False)),
|
|
325
|
-
],
|
|
326
|
-
pydantic.Field(alias="authType"),
|
|
305
|
+
Optional[InputTcpjsonAuthenticationMethod], pydantic.Field(alias="authType")
|
|
327
306
|
] = InputTcpjsonAuthenticationMethod.MANUAL
|
|
328
307
|
r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
|
|
329
308
|
|
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
-
from cribl_control_plane import utils
|
|
5
4
|
from cribl_control_plane.types import BaseModel
|
|
6
|
-
from cribl_control_plane.utils import validate_open_enum
|
|
7
5
|
from enum import Enum
|
|
8
6
|
import pydantic
|
|
9
|
-
from pydantic.functional_validators import PlainValidator
|
|
10
7
|
from typing import Any, List, Optional
|
|
11
8
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
9
|
|
|
13
10
|
|
|
14
|
-
class InputWefType(str, Enum
|
|
11
|
+
class InputWefType(str, Enum):
|
|
15
12
|
WEF = "wef"
|
|
16
13
|
|
|
17
14
|
|
|
@@ -26,14 +23,14 @@ class InputWefConnection(BaseModel):
|
|
|
26
23
|
pipeline: Optional[str] = None
|
|
27
24
|
|
|
28
25
|
|
|
29
|
-
class InputWefMode(str, Enum
|
|
26
|
+
class InputWefMode(str, Enum):
|
|
30
27
|
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
28
|
|
|
32
29
|
SMART = "smart"
|
|
33
30
|
ALWAYS = "always"
|
|
34
31
|
|
|
35
32
|
|
|
36
|
-
class InputWefCompression(str, Enum
|
|
33
|
+
class InputWefCompression(str, Enum):
|
|
37
34
|
r"""Codec to use to compress the persisted data"""
|
|
38
35
|
|
|
39
36
|
NONE = "none"
|
|
@@ -58,9 +55,7 @@ class InputWefPqTypedDict(TypedDict):
|
|
|
58
55
|
|
|
59
56
|
|
|
60
57
|
class InputWefPq(BaseModel):
|
|
61
|
-
mode:
|
|
62
|
-
Optional[InputWefMode], PlainValidator(validate_open_enum(False))
|
|
63
|
-
] = InputWefMode.ALWAYS
|
|
58
|
+
mode: Optional[InputWefMode] = InputWefMode.ALWAYS
|
|
64
59
|
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."""
|
|
65
60
|
|
|
66
61
|
max_buffer_size: Annotated[
|
|
@@ -84,27 +79,25 @@ class InputWefPq(BaseModel):
|
|
|
84
79
|
path: Optional[str] = "$CRIBL_HOME/state/queues"
|
|
85
80
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
|
|
86
81
|
|
|
87
|
-
compress:
|
|
88
|
-
Optional[InputWefCompression], PlainValidator(validate_open_enum(False))
|
|
89
|
-
] = InputWefCompression.NONE
|
|
82
|
+
compress: Optional[InputWefCompression] = InputWefCompression.NONE
|
|
90
83
|
r"""Codec to use to compress the persisted data"""
|
|
91
84
|
|
|
92
85
|
|
|
93
|
-
class InputWefAuthenticationMethod(str, Enum
|
|
86
|
+
class InputWefAuthenticationMethod(str, Enum):
|
|
94
87
|
r"""How to authenticate incoming client connections"""
|
|
95
88
|
|
|
96
89
|
CLIENT_CERT = "clientCert"
|
|
97
90
|
KERBEROS = "kerberos"
|
|
98
91
|
|
|
99
92
|
|
|
100
|
-
class InputWefMinimumTLSVersion(str, Enum
|
|
93
|
+
class InputWefMinimumTLSVersion(str, Enum):
|
|
101
94
|
TL_SV1 = "TLSv1"
|
|
102
95
|
TL_SV1_1 = "TLSv1.1"
|
|
103
96
|
TL_SV1_2 = "TLSv1.2"
|
|
104
97
|
TL_SV1_3 = "TLSv1.3"
|
|
105
98
|
|
|
106
99
|
|
|
107
|
-
class InputWefMaximumTLSVersion(str, Enum
|
|
100
|
+
class InputWefMaximumTLSVersion(str, Enum):
|
|
108
101
|
TL_SV1 = "TLSv1"
|
|
109
102
|
TL_SV1_1 = "TLSv1.1"
|
|
110
103
|
TL_SV1_2 = "TLSv1.2"
|
|
@@ -175,19 +168,11 @@ class MTLSSettings(BaseModel):
|
|
|
175
168
|
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
176
169
|
|
|
177
170
|
min_version: Annotated[
|
|
178
|
-
|
|
179
|
-
Optional[InputWefMinimumTLSVersion],
|
|
180
|
-
PlainValidator(validate_open_enum(False)),
|
|
181
|
-
],
|
|
182
|
-
pydantic.Field(alias="minVersion"),
|
|
171
|
+
Optional[InputWefMinimumTLSVersion], pydantic.Field(alias="minVersion")
|
|
183
172
|
] = None
|
|
184
173
|
|
|
185
174
|
max_version: Annotated[
|
|
186
|
-
|
|
187
|
-
Optional[InputWefMaximumTLSVersion],
|
|
188
|
-
PlainValidator(validate_open_enum(False)),
|
|
189
|
-
],
|
|
190
|
-
pydantic.Field(alias="maxVersion"),
|
|
175
|
+
Optional[InputWefMaximumTLSVersion], pydantic.Field(alias="maxVersion")
|
|
191
176
|
] = None
|
|
192
177
|
|
|
193
178
|
ocsp_check: Annotated[Optional[bool], pydantic.Field(alias="ocspCheck")] = False
|
|
@@ -203,25 +188,25 @@ class MTLSSettings(BaseModel):
|
|
|
203
188
|
r"""If enabled, checks will fail on any OCSP error. Otherwise, checks will fail only when a certificate is revoked, ignoring other errors."""
|
|
204
189
|
|
|
205
190
|
|
|
206
|
-
class InputWefFormat(str, Enum
|
|
191
|
+
class InputWefFormat(str, Enum):
|
|
207
192
|
r"""Content format in which the endpoint should deliver events"""
|
|
208
193
|
|
|
209
194
|
RAW = "Raw"
|
|
210
195
|
RENDERED_TEXT = "RenderedText"
|
|
211
196
|
|
|
212
197
|
|
|
213
|
-
class QueryBuilderMode(str, Enum
|
|
198
|
+
class QueryBuilderMode(str, Enum):
|
|
214
199
|
SIMPLE = "simple"
|
|
215
200
|
XML = "xml"
|
|
216
201
|
|
|
217
202
|
|
|
218
|
-
class
|
|
203
|
+
class InputWefSubscriptionMetadatumTypedDict(TypedDict):
|
|
219
204
|
name: str
|
|
220
205
|
value: str
|
|
221
206
|
r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
|
|
222
207
|
|
|
223
208
|
|
|
224
|
-
class
|
|
209
|
+
class InputWefSubscriptionMetadatum(BaseModel):
|
|
225
210
|
name: str
|
|
226
211
|
|
|
227
212
|
value: str
|
|
@@ -249,7 +234,7 @@ class SubscriptionTypedDict(TypedDict):
|
|
|
249
234
|
locale: NotRequired[str]
|
|
250
235
|
r"""The RFC-3066 locale the Windows clients should use when sending events. Defaults to \"en-US\"."""
|
|
251
236
|
query_selector: NotRequired[QueryBuilderMode]
|
|
252
|
-
metadata: NotRequired[List[
|
|
237
|
+
metadata: NotRequired[List[InputWefSubscriptionMetadatumTypedDict]]
|
|
253
238
|
r"""Fields to add to events ingested under this subscription"""
|
|
254
239
|
|
|
255
240
|
|
|
@@ -263,8 +248,7 @@ class Subscription(BaseModel):
|
|
|
263
248
|
r"""Version UUID for this subscription. If any subscription parameters are modified, this value will change."""
|
|
264
249
|
|
|
265
250
|
content_format: Annotated[
|
|
266
|
-
|
|
267
|
-
pydantic.Field(alias="contentFormat"),
|
|
251
|
+
Optional[InputWefFormat], pydantic.Field(alias="contentFormat")
|
|
268
252
|
] = InputWefFormat.RAW
|
|
269
253
|
r"""Content format in which the endpoint should deliver events"""
|
|
270
254
|
|
|
@@ -293,13 +277,10 @@ class Subscription(BaseModel):
|
|
|
293
277
|
r"""The RFC-3066 locale the Windows clients should use when sending events. Defaults to \"en-US\"."""
|
|
294
278
|
|
|
295
279
|
query_selector: Annotated[
|
|
296
|
-
|
|
297
|
-
Optional[QueryBuilderMode], PlainValidator(validate_open_enum(False))
|
|
298
|
-
],
|
|
299
|
-
pydantic.Field(alias="querySelector"),
|
|
280
|
+
Optional[QueryBuilderMode], pydantic.Field(alias="querySelector")
|
|
300
281
|
] = QueryBuilderMode.SIMPLE
|
|
301
282
|
|
|
302
|
-
metadata: Optional[List[
|
|
283
|
+
metadata: Optional[List[InputWefSubscriptionMetadatum]] = None
|
|
303
284
|
r"""Fields to add to events ingested under this subscription"""
|
|
304
285
|
|
|
305
286
|
|
|
@@ -383,9 +364,7 @@ class InputWef(BaseModel):
|
|
|
383
364
|
id: Optional[str] = None
|
|
384
365
|
r"""Unique ID for this input"""
|
|
385
366
|
|
|
386
|
-
type:
|
|
387
|
-
Optional[InputWefType], PlainValidator(validate_open_enum(False))
|
|
388
|
-
] = None
|
|
367
|
+
type: Optional[InputWefType] = None
|
|
389
368
|
|
|
390
369
|
disabled: Optional[bool] = False
|
|
391
370
|
|
|
@@ -418,11 +397,7 @@ class InputWef(BaseModel):
|
|
|
418
397
|
r"""Port to listen on"""
|
|
419
398
|
|
|
420
399
|
auth_method: Annotated[
|
|
421
|
-
|
|
422
|
-
Optional[InputWefAuthenticationMethod],
|
|
423
|
-
PlainValidator(validate_open_enum(False)),
|
|
424
|
-
],
|
|
425
|
-
pydantic.Field(alias="authMethod"),
|
|
400
|
+
Optional[InputWefAuthenticationMethod], pydantic.Field(alias="authMethod")
|
|
426
401
|
] = InputWefAuthenticationMethod.CLIENT_CERT
|
|
427
402
|
r"""How to authenticate incoming client connections"""
|
|
428
403
|
|
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
-
from cribl_control_plane import utils
|
|
5
4
|
from cribl_control_plane.types import BaseModel
|
|
6
|
-
from cribl_control_plane.utils import validate_open_enum
|
|
7
5
|
from enum import Enum
|
|
8
6
|
import pydantic
|
|
9
|
-
from pydantic.functional_validators import PlainValidator
|
|
10
7
|
from typing import List, Optional
|
|
11
8
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
9
|
|
|
13
10
|
|
|
14
|
-
class InputWindowsMetricsType(str, Enum
|
|
11
|
+
class InputWindowsMetricsType(str, Enum):
|
|
15
12
|
WINDOWS_METRICS = "windows_metrics"
|
|
16
13
|
|
|
17
14
|
|
|
@@ -26,14 +23,14 @@ class InputWindowsMetricsConnection(BaseModel):
|
|
|
26
23
|
pipeline: Optional[str] = None
|
|
27
24
|
|
|
28
25
|
|
|
29
|
-
class InputWindowsMetricsPqMode(str, Enum
|
|
26
|
+
class InputWindowsMetricsPqMode(str, Enum):
|
|
30
27
|
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
28
|
|
|
32
29
|
SMART = "smart"
|
|
33
30
|
ALWAYS = "always"
|
|
34
31
|
|
|
35
32
|
|
|
36
|
-
class InputWindowsMetricsCompression(str, Enum
|
|
33
|
+
class InputWindowsMetricsCompression(str, Enum):
|
|
37
34
|
r"""Codec to use to compress the persisted data"""
|
|
38
35
|
|
|
39
36
|
NONE = "none"
|
|
@@ -58,9 +55,7 @@ class InputWindowsMetricsPqTypedDict(TypedDict):
|
|
|
58
55
|
|
|
59
56
|
|
|
60
57
|
class InputWindowsMetricsPq(BaseModel):
|
|
61
|
-
mode:
|
|
62
|
-
Optional[InputWindowsMetricsPqMode], PlainValidator(validate_open_enum(False))
|
|
63
|
-
] = InputWindowsMetricsPqMode.ALWAYS
|
|
58
|
+
mode: Optional[InputWindowsMetricsPqMode] = InputWindowsMetricsPqMode.ALWAYS
|
|
64
59
|
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."""
|
|
65
60
|
|
|
66
61
|
max_buffer_size: Annotated[
|
|
@@ -84,14 +79,13 @@ class InputWindowsMetricsPq(BaseModel):
|
|
|
84
79
|
path: Optional[str] = "$CRIBL_HOME/state/queues"
|
|
85
80
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
|
|
86
81
|
|
|
87
|
-
compress:
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
] = InputWindowsMetricsCompression.NONE
|
|
82
|
+
compress: Optional[InputWindowsMetricsCompression] = (
|
|
83
|
+
InputWindowsMetricsCompression.NONE
|
|
84
|
+
)
|
|
91
85
|
r"""Codec to use to compress the persisted data"""
|
|
92
86
|
|
|
93
87
|
|
|
94
|
-
class InputWindowsMetricsHostMode(str, Enum
|
|
88
|
+
class InputWindowsMetricsHostMode(str, Enum):
|
|
95
89
|
r"""Select level of detail for host metrics"""
|
|
96
90
|
|
|
97
91
|
BASIC = "basic"
|
|
@@ -100,7 +94,7 @@ class InputWindowsMetricsHostMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
100
94
|
DISABLED = "disabled"
|
|
101
95
|
|
|
102
96
|
|
|
103
|
-
class InputWindowsMetricsSystemMode(str, Enum
|
|
97
|
+
class InputWindowsMetricsSystemMode(str, Enum):
|
|
104
98
|
r"""Select the level of details for system metrics"""
|
|
105
99
|
|
|
106
100
|
BASIC = "basic"
|
|
@@ -117,17 +111,14 @@ class InputWindowsMetricsSystemTypedDict(TypedDict):
|
|
|
117
111
|
|
|
118
112
|
|
|
119
113
|
class InputWindowsMetricsSystem(BaseModel):
|
|
120
|
-
mode:
|
|
121
|
-
Optional[InputWindowsMetricsSystemMode],
|
|
122
|
-
PlainValidator(validate_open_enum(False)),
|
|
123
|
-
] = InputWindowsMetricsSystemMode.BASIC
|
|
114
|
+
mode: Optional[InputWindowsMetricsSystemMode] = InputWindowsMetricsSystemMode.BASIC
|
|
124
115
|
r"""Select the level of details for system metrics"""
|
|
125
116
|
|
|
126
117
|
detail: Optional[bool] = False
|
|
127
118
|
r"""Generate metrics for all system information"""
|
|
128
119
|
|
|
129
120
|
|
|
130
|
-
class InputWindowsMetricsCPUMode(str, Enum
|
|
121
|
+
class InputWindowsMetricsCPUMode(str, Enum):
|
|
131
122
|
r"""Select the level of details for CPU metrics"""
|
|
132
123
|
|
|
133
124
|
BASIC = "basic"
|
|
@@ -148,9 +139,7 @@ class InputWindowsMetricsCPUTypedDict(TypedDict):
|
|
|
148
139
|
|
|
149
140
|
|
|
150
141
|
class InputWindowsMetricsCPU(BaseModel):
|
|
151
|
-
mode:
|
|
152
|
-
Optional[InputWindowsMetricsCPUMode], PlainValidator(validate_open_enum(False))
|
|
153
|
-
] = InputWindowsMetricsCPUMode.BASIC
|
|
142
|
+
mode: Optional[InputWindowsMetricsCPUMode] = InputWindowsMetricsCPUMode.BASIC
|
|
154
143
|
r"""Select the level of details for CPU metrics"""
|
|
155
144
|
|
|
156
145
|
per_cpu: Annotated[Optional[bool], pydantic.Field(alias="perCpu")] = False
|
|
@@ -163,7 +152,7 @@ class InputWindowsMetricsCPU(BaseModel):
|
|
|
163
152
|
r"""Generate raw, monotonic CPU time counters"""
|
|
164
153
|
|
|
165
154
|
|
|
166
|
-
class InputWindowsMetricsMemoryMode(str, Enum
|
|
155
|
+
class InputWindowsMetricsMemoryMode(str, Enum):
|
|
167
156
|
r"""Select the level of details for memory metrics"""
|
|
168
157
|
|
|
169
158
|
BASIC = "basic"
|
|
@@ -180,17 +169,14 @@ class InputWindowsMetricsMemoryTypedDict(TypedDict):
|
|
|
180
169
|
|
|
181
170
|
|
|
182
171
|
class InputWindowsMetricsMemory(BaseModel):
|
|
183
|
-
mode:
|
|
184
|
-
Optional[InputWindowsMetricsMemoryMode],
|
|
185
|
-
PlainValidator(validate_open_enum(False)),
|
|
186
|
-
] = InputWindowsMetricsMemoryMode.BASIC
|
|
172
|
+
mode: Optional[InputWindowsMetricsMemoryMode] = InputWindowsMetricsMemoryMode.BASIC
|
|
187
173
|
r"""Select the level of details for memory metrics"""
|
|
188
174
|
|
|
189
175
|
detail: Optional[bool] = False
|
|
190
176
|
r"""Generate metrics for all memory states"""
|
|
191
177
|
|
|
192
178
|
|
|
193
|
-
class InputWindowsMetricsNetworkMode(str, Enum
|
|
179
|
+
class InputWindowsMetricsNetworkMode(str, Enum):
|
|
194
180
|
r"""Select the level of details for network metrics"""
|
|
195
181
|
|
|
196
182
|
BASIC = "basic"
|
|
@@ -211,10 +197,9 @@ class InputWindowsMetricsNetworkTypedDict(TypedDict):
|
|
|
211
197
|
|
|
212
198
|
|
|
213
199
|
class InputWindowsMetricsNetwork(BaseModel):
|
|
214
|
-
mode:
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
] = InputWindowsMetricsNetworkMode.BASIC
|
|
200
|
+
mode: Optional[InputWindowsMetricsNetworkMode] = (
|
|
201
|
+
InputWindowsMetricsNetworkMode.BASIC
|
|
202
|
+
)
|
|
218
203
|
r"""Select the level of details for network metrics"""
|
|
219
204
|
|
|
220
205
|
devices: Optional[List[str]] = None
|
|
@@ -229,7 +214,7 @@ class InputWindowsMetricsNetwork(BaseModel):
|
|
|
229
214
|
r"""Generate full network metrics"""
|
|
230
215
|
|
|
231
216
|
|
|
232
|
-
class InputWindowsMetricsDiskMode(str, Enum
|
|
217
|
+
class InputWindowsMetricsDiskMode(str, Enum):
|
|
233
218
|
r"""Select the level of details for disk metrics"""
|
|
234
219
|
|
|
235
220
|
BASIC = "basic"
|
|
@@ -248,9 +233,7 @@ class InputWindowsMetricsDiskTypedDict(TypedDict):
|
|
|
248
233
|
|
|
249
234
|
|
|
250
235
|
class InputWindowsMetricsDisk(BaseModel):
|
|
251
|
-
mode:
|
|
252
|
-
Optional[InputWindowsMetricsDiskMode], PlainValidator(validate_open_enum(False))
|
|
253
|
-
] = InputWindowsMetricsDiskMode.BASIC
|
|
236
|
+
mode: Optional[InputWindowsMetricsDiskMode] = InputWindowsMetricsDiskMode.BASIC
|
|
254
237
|
r"""Select the level of details for disk metrics"""
|
|
255
238
|
|
|
256
239
|
volumes: Optional[List[str]] = None
|
|
@@ -287,9 +270,7 @@ class InputWindowsMetricsHostTypedDict(TypedDict):
|
|
|
287
270
|
|
|
288
271
|
|
|
289
272
|
class InputWindowsMetricsHost(BaseModel):
|
|
290
|
-
mode:
|
|
291
|
-
Optional[InputWindowsMetricsHostMode], PlainValidator(validate_open_enum(False))
|
|
292
|
-
] = InputWindowsMetricsHostMode.BASIC
|
|
273
|
+
mode: Optional[InputWindowsMetricsHostMode] = InputWindowsMetricsHostMode.BASIC
|
|
293
274
|
r"""Select level of detail for host metrics"""
|
|
294
275
|
|
|
295
276
|
custom: Optional[InputWindowsMetricsCustom] = None
|
|
@@ -334,7 +315,7 @@ class InputWindowsMetricsMetadatum(BaseModel):
|
|
|
334
315
|
r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
|
|
335
316
|
|
|
336
317
|
|
|
337
|
-
class InputWindowsMetricsDataCompressionFormat(str, Enum
|
|
318
|
+
class InputWindowsMetricsDataCompressionFormat(str, Enum):
|
|
338
319
|
NONE = "none"
|
|
339
320
|
GZIP = "gzip"
|
|
340
321
|
|
|
@@ -366,10 +347,9 @@ class InputWindowsMetricsPersistence(BaseModel):
|
|
|
366
347
|
max_data_time: Annotated[Optional[str], pydantic.Field(alias="maxDataTime")] = "24h"
|
|
367
348
|
r"""Maximum amount of time to retain data (examples: 2h, 4d). When limit is reached, older data will be deleted."""
|
|
368
349
|
|
|
369
|
-
compress:
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
] = InputWindowsMetricsDataCompressionFormat.GZIP
|
|
350
|
+
compress: Optional[InputWindowsMetricsDataCompressionFormat] = (
|
|
351
|
+
InputWindowsMetricsDataCompressionFormat.GZIP
|
|
352
|
+
)
|
|
373
353
|
|
|
374
354
|
dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = (
|
|
375
355
|
"$CRIBL_HOME/state/windows_metrics"
|
|
@@ -411,7 +391,7 @@ class InputWindowsMetrics(BaseModel):
|
|
|
411
391
|
id: str
|
|
412
392
|
r"""Unique ID for this input"""
|
|
413
393
|
|
|
414
|
-
type:
|
|
394
|
+
type: InputWindowsMetricsType
|
|
415
395
|
|
|
416
396
|
disabled: Optional[bool] = False
|
|
417
397
|
|