cribl-control-plane 0.2.1rc4__py3-none-any.whl → 0.2.1rc5__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/groups_sdk.py +3 -0
- cribl_control_plane/mappings.py +1185 -0
- cribl_control_plane/models/__init__.py +149 -105
- cribl_control_plane/models/createadminproductsmappingsactivatebyproductop.py +52 -0
- cribl_control_plane/models/createadminproductsmappingsbyproductop.py +53 -0
- cribl_control_plane/models/deleteadminproductsmappingsbyproductandidop.py +51 -0
- cribl_control_plane/models/getadminproductsmappingsbyproductandidop.py +51 -0
- cribl_control_plane/models/getadminproductsmappingsbyproductop.py +44 -0
- cribl_control_plane/models/input.py +14 -14
- cribl_control_plane/models/inputappscope.py +16 -20
- cribl_control_plane/models/inputconfluentcloud.py +0 -110
- cribl_control_plane/models/inputcriblhttp.py +16 -20
- cribl_control_plane/models/inputcribllakehttp.py +16 -20
- cribl_control_plane/models/inputcribltcp.py +16 -20
- cribl_control_plane/models/inputdatadogagent.py +16 -20
- cribl_control_plane/models/inputedgeprometheus.py +36 -44
- cribl_control_plane/models/inputelastic.py +27 -44
- cribl_control_plane/models/inputeventhub.py +0 -118
- cribl_control_plane/models/inputfirehose.py +16 -20
- cribl_control_plane/models/inputgrafana.py +31 -39
- cribl_control_plane/models/inputhttp.py +16 -20
- cribl_control_plane/models/inputhttpraw.py +16 -20
- cribl_control_plane/models/inputkafka.py +0 -108
- cribl_control_plane/models/inputloki.py +16 -20
- cribl_control_plane/models/inputmetrics.py +16 -20
- cribl_control_plane/models/inputmodeldriventelemetry.py +16 -20
- cribl_control_plane/models/inputopentelemetry.py +15 -19
- cribl_control_plane/models/inputprometheus.py +36 -44
- cribl_control_plane/models/inputprometheusrw.py +16 -20
- cribl_control_plane/models/inputsplunk.py +16 -20
- cribl_control_plane/models/inputsplunkhec.py +15 -19
- cribl_control_plane/models/inputsyslog.py +31 -39
- cribl_control_plane/models/inputsystemmetrics.py +10 -20
- cribl_control_plane/models/inputtcp.py +16 -30
- cribl_control_plane/models/inputtcpjson.py +16 -20
- cribl_control_plane/models/inputwindowsmetrics.py +10 -20
- cribl_control_plane/models/inputwineventlogs.py +0 -14
- cribl_control_plane/models/inputwizwebhook.py +16 -20
- cribl_control_plane/models/inputzscalerhec.py +15 -19
- cribl_control_plane/models/mappingruleset.py +53 -0
- cribl_control_plane/models/mappingrulesetevalmappingfunction.py +71 -0
- cribl_control_plane/models/mappingrulesetgenericmappingfunction.py +29 -0
- cribl_control_plane/models/output.py +22 -22
- cribl_control_plane/models/outputazureblob.py +0 -7
- cribl_control_plane/models/outputazuredataexplorer.py +93 -283
- cribl_control_plane/models/outputazureeventhub.py +21 -169
- cribl_control_plane/models/outputazurelogs.py +21 -49
- cribl_control_plane/models/outputchronicle.py +21 -49
- cribl_control_plane/models/outputclickhouse.py +21 -49
- cribl_control_plane/models/outputcloudwatch.py +21 -49
- cribl_control_plane/models/outputconfluentcloud.py +22 -167
- cribl_control_plane/models/outputcriblhttp.py +21 -49
- cribl_control_plane/models/outputcribltcp.py +21 -49
- cribl_control_plane/models/outputcrowdstrikenextgensiem.py +22 -50
- cribl_control_plane/models/outputdatabricks.py +0 -7
- cribl_control_plane/models/outputdatadog.py +21 -49
- cribl_control_plane/models/outputdataset.py +21 -49
- cribl_control_plane/models/outputdls3.py +0 -7
- cribl_control_plane/models/outputdynatracehttp.py +21 -49
- cribl_control_plane/models/outputdynatraceotlp.py +21 -49
- cribl_control_plane/models/outputelastic.py +21 -74
- cribl_control_plane/models/outputelasticcloud.py +21 -74
- cribl_control_plane/models/outputfilesystem.py +0 -7
- cribl_control_plane/models/outputgooglechronicle.py +22 -65
- cribl_control_plane/models/outputgooglecloudlogging.py +22 -50
- cribl_control_plane/models/outputgooglecloudstorage.py +0 -7
- cribl_control_plane/models/outputgooglepubsub.py +21 -49
- cribl_control_plane/models/outputgrafanacloud.py +42 -98
- cribl_control_plane/models/outputgraphite.py +21 -49
- cribl_control_plane/models/outputhoneycomb.py +21 -49
- cribl_control_plane/models/outputhumiohec.py +21 -49
- cribl_control_plane/models/outputinfluxdb.py +21 -49
- cribl_control_plane/models/outputkafka.py +19 -162
- cribl_control_plane/models/outputkinesis.py +21 -56
- cribl_control_plane/models/outputloki.py +19 -47
- cribl_control_plane/models/outputminio.py +0 -7
- cribl_control_plane/models/outputmsk.py +19 -54
- cribl_control_plane/models/outputnewrelic.py +21 -49
- cribl_control_plane/models/outputnewrelicevents.py +22 -50
- cribl_control_plane/models/outputopentelemetry.py +21 -49
- cribl_control_plane/models/outputprometheus.py +21 -49
- cribl_control_plane/models/outputs3.py +0 -7
- cribl_control_plane/models/outputsentinel.py +21 -49
- cribl_control_plane/models/outputsentineloneaisiem.py +22 -50
- cribl_control_plane/models/outputservicenow.py +21 -49
- cribl_control_plane/models/outputsignalfx.py +21 -49
- cribl_control_plane/models/outputsns.py +19 -47
- cribl_control_plane/models/outputsplunk.py +21 -49
- cribl_control_plane/models/outputsplunkhec.py +21 -49
- cribl_control_plane/models/outputsplunklb.py +21 -49
- cribl_control_plane/models/outputsqs.py +19 -47
- cribl_control_plane/models/outputstatsd.py +21 -49
- cribl_control_plane/models/outputstatsdext.py +21 -49
- cribl_control_plane/models/outputsumologic.py +21 -49
- cribl_control_plane/models/outputsyslog.py +99 -129
- cribl_control_plane/models/outputtcpjson.py +21 -49
- cribl_control_plane/models/outputwavefront.py +21 -49
- cribl_control_plane/models/outputwebhook.py +21 -49
- cribl_control_plane/models/outputxsiam.py +19 -47
- cribl_control_plane/models/pipeline.py +4 -4
- cribl_control_plane/models/rulesetid.py +13 -0
- cribl_control_plane/models/runnablejobcollection.py +8 -12
- cribl_control_plane/models/runnablejobexecutor.py +8 -12
- cribl_control_plane/models/runnablejobscheduledsearch.py +8 -12
- cribl_control_plane/models/updateadminproductsmappingsbyproductandidop.py +63 -0
- cribl_control_plane/pipelines.py +8 -8
- {cribl_control_plane-0.2.1rc4.dist-info → cribl_control_plane-0.2.1rc5.dist-info}/METADATA +11 -2
- {cribl_control_plane-0.2.1rc4.dist-info → cribl_control_plane-0.2.1rc5.dist-info}/RECORD +110 -99
- {cribl_control_plane-0.2.1rc4.dist-info → cribl_control_plane-0.2.1rc5.dist-info}/WHEEL +0 -0
|
@@ -239,14 +239,12 @@ class InputSystemMetricsNetworkMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
239
239
|
class InputSystemMetricsNetworkTypedDict(TypedDict):
|
|
240
240
|
mode: NotRequired[InputSystemMetricsNetworkMode]
|
|
241
241
|
r"""Select the level of detail for network metrics"""
|
|
242
|
-
detail: NotRequired[bool]
|
|
243
|
-
r"""Generate full network metrics"""
|
|
244
|
-
protocols: NotRequired[bool]
|
|
245
|
-
r"""Generate protocol metrics for ICMP, ICMPMsg, IP, TCP, UDP and UDPLite"""
|
|
246
242
|
devices: NotRequired[List[str]]
|
|
247
243
|
r"""Network interfaces to include/exclude. Examples: eth0, !lo. All interfaces are included if this list is empty."""
|
|
248
244
|
per_interface: NotRequired[bool]
|
|
249
245
|
r"""Generate separate metrics for each interface"""
|
|
246
|
+
detail: NotRequired[bool]
|
|
247
|
+
r"""Generate full network metrics"""
|
|
250
248
|
|
|
251
249
|
|
|
252
250
|
class InputSystemMetricsNetwork(BaseModel):
|
|
@@ -256,12 +254,6 @@ class InputSystemMetricsNetwork(BaseModel):
|
|
|
256
254
|
] = InputSystemMetricsNetworkMode.BASIC
|
|
257
255
|
r"""Select the level of detail for network metrics"""
|
|
258
256
|
|
|
259
|
-
detail: Optional[bool] = False
|
|
260
|
-
r"""Generate full network metrics"""
|
|
261
|
-
|
|
262
|
-
protocols: Optional[bool] = False
|
|
263
|
-
r"""Generate protocol metrics for ICMP, ICMPMsg, IP, TCP, UDP and UDPLite"""
|
|
264
|
-
|
|
265
257
|
devices: Optional[List[str]] = None
|
|
266
258
|
r"""Network interfaces to include/exclude. Examples: eth0, !lo. All interfaces are included if this list is empty."""
|
|
267
259
|
|
|
@@ -270,6 +262,9 @@ class InputSystemMetricsNetwork(BaseModel):
|
|
|
270
262
|
)
|
|
271
263
|
r"""Generate separate metrics for each interface"""
|
|
272
264
|
|
|
265
|
+
detail: Optional[bool] = False
|
|
266
|
+
r"""Generate full network metrics"""
|
|
267
|
+
|
|
273
268
|
|
|
274
269
|
class InputSystemMetricsDiskMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
275
270
|
r"""Select the level of detail for disk metrics"""
|
|
@@ -287,10 +282,6 @@ class InputSystemMetricsDiskMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
287
282
|
class InputSystemMetricsDiskTypedDict(TypedDict):
|
|
288
283
|
mode: NotRequired[InputSystemMetricsDiskMode]
|
|
289
284
|
r"""Select the level of detail for disk metrics"""
|
|
290
|
-
detail: NotRequired[bool]
|
|
291
|
-
r"""Generate full disk metrics"""
|
|
292
|
-
inodes: NotRequired[bool]
|
|
293
|
-
r"""Generate filesystem inode metrics"""
|
|
294
285
|
devices: NotRequired[List[str]]
|
|
295
286
|
r"""Block devices to include/exclude. Examples: sda*, !loop*. Wildcards and ! (not) operators are supported. All devices are included if this list is empty."""
|
|
296
287
|
mountpoints: NotRequired[List[str]]
|
|
@@ -299,6 +290,8 @@ class InputSystemMetricsDiskTypedDict(TypedDict):
|
|
|
299
290
|
r"""Filesystem types to include/exclude. Examples: ext4, !*tmpfs, !squashfs. Wildcards and ! (not) operators are supported. All types are included if this list is empty."""
|
|
300
291
|
per_device: NotRequired[bool]
|
|
301
292
|
r"""Generate separate metrics for each device"""
|
|
293
|
+
detail: NotRequired[bool]
|
|
294
|
+
r"""Generate full disk metrics"""
|
|
302
295
|
|
|
303
296
|
|
|
304
297
|
class InputSystemMetricsDisk(BaseModel):
|
|
@@ -307,12 +300,6 @@ class InputSystemMetricsDisk(BaseModel):
|
|
|
307
300
|
] = InputSystemMetricsDiskMode.BASIC
|
|
308
301
|
r"""Select the level of detail for disk metrics"""
|
|
309
302
|
|
|
310
|
-
detail: Optional[bool] = False
|
|
311
|
-
r"""Generate full disk metrics"""
|
|
312
|
-
|
|
313
|
-
inodes: Optional[bool] = False
|
|
314
|
-
r"""Generate filesystem inode metrics"""
|
|
315
|
-
|
|
316
303
|
devices: Optional[List[str]] = None
|
|
317
304
|
r"""Block devices to include/exclude. Examples: sda*, !loop*. Wildcards and ! (not) operators are supported. All devices are included if this list is empty."""
|
|
318
305
|
|
|
@@ -325,6 +312,9 @@ class InputSystemMetricsDisk(BaseModel):
|
|
|
325
312
|
per_device: Annotated[Optional[bool], pydantic.Field(alias="perDevice")] = False
|
|
326
313
|
r"""Generate separate metrics for each device"""
|
|
327
314
|
|
|
315
|
+
detail: Optional[bool] = False
|
|
316
|
+
r"""Generate full disk metrics"""
|
|
317
|
+
|
|
328
318
|
|
|
329
319
|
class InputSystemMetricsCustomTypedDict(TypedDict):
|
|
330
320
|
system: NotRequired[InputSystemMetricsSystemTypedDict]
|
|
@@ -7,7 +7,7 @@ from cribl_control_plane.utils import validate_open_enum
|
|
|
7
7
|
from enum import Enum
|
|
8
8
|
import pydantic
|
|
9
9
|
from pydantic.functional_validators import PlainValidator
|
|
10
|
-
from typing import List, Optional
|
|
10
|
+
from typing import Any, List, Optional
|
|
11
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
12
|
|
|
13
13
|
|
|
@@ -123,12 +123,6 @@ class InputTCPMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
123
123
|
|
|
124
124
|
class InputTCPTLSSettingsServerSideTypedDict(TypedDict):
|
|
125
125
|
disabled: NotRequired[bool]
|
|
126
|
-
request_cert: NotRequired[bool]
|
|
127
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
128
|
-
reject_unauthorized: NotRequired[bool]
|
|
129
|
-
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
130
|
-
common_name_regex: NotRequired[str]
|
|
131
|
-
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
132
126
|
certificate_name: NotRequired[str]
|
|
133
127
|
r"""The name of the predefined certificate"""
|
|
134
128
|
priv_key_path: NotRequired[str]
|
|
@@ -139,6 +133,10 @@ class InputTCPTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
139
133
|
r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
140
134
|
ca_path: NotRequired[str]
|
|
141
135
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
136
|
+
request_cert: NotRequired[bool]
|
|
137
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
138
|
+
reject_unauthorized: NotRequired[Any]
|
|
139
|
+
common_name_regex: NotRequired[Any]
|
|
142
140
|
min_version: NotRequired[InputTCPMinimumTLSVersion]
|
|
143
141
|
max_version: NotRequired[InputTCPMaximumTLSVersion]
|
|
144
142
|
|
|
@@ -146,19 +144,6 @@ class InputTCPTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
146
144
|
class InputTCPTLSSettingsServerSide(BaseModel):
|
|
147
145
|
disabled: Optional[bool] = True
|
|
148
146
|
|
|
149
|
-
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
150
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
151
|
-
|
|
152
|
-
reject_unauthorized: Annotated[
|
|
153
|
-
Optional[bool], pydantic.Field(alias="rejectUnauthorized")
|
|
154
|
-
] = True
|
|
155
|
-
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
156
|
-
|
|
157
|
-
common_name_regex: Annotated[
|
|
158
|
-
Optional[str], pydantic.Field(alias="commonNameRegex")
|
|
159
|
-
] = "/.*/"
|
|
160
|
-
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
161
|
-
|
|
162
147
|
certificate_name: Annotated[
|
|
163
148
|
Optional[str], pydantic.Field(alias="certificateName")
|
|
164
149
|
] = None
|
|
@@ -176,6 +161,17 @@ class InputTCPTLSSettingsServerSide(BaseModel):
|
|
|
176
161
|
ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
|
|
177
162
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
178
163
|
|
|
164
|
+
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
165
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
166
|
+
|
|
167
|
+
reject_unauthorized: Annotated[
|
|
168
|
+
Optional[Any], pydantic.Field(alias="rejectUnauthorized")
|
|
169
|
+
] = None
|
|
170
|
+
|
|
171
|
+
common_name_regex: Annotated[
|
|
172
|
+
Optional[Any], pydantic.Field(alias="commonNameRegex")
|
|
173
|
+
] = None
|
|
174
|
+
|
|
179
175
|
min_version: Annotated[
|
|
180
176
|
Annotated[
|
|
181
177
|
Optional[InputTCPMinimumTLSVersion],
|
|
@@ -276,12 +272,8 @@ class InputTCPTypedDict(TypedDict):
|
|
|
276
272
|
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\" } }"""
|
|
277
273
|
preprocess: NotRequired[InputTCPPreprocessTypedDict]
|
|
278
274
|
description: NotRequired[str]
|
|
279
|
-
auth_token: NotRequired[str]
|
|
280
|
-
r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted."""
|
|
281
275
|
auth_type: NotRequired[InputTCPAuthenticationMethod]
|
|
282
276
|
r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
|
|
283
|
-
text_secret: NotRequired[str]
|
|
284
|
-
r"""Select or create a stored text secret"""
|
|
285
277
|
|
|
286
278
|
|
|
287
279
|
class InputTCP(BaseModel):
|
|
@@ -374,9 +366,6 @@ class InputTCP(BaseModel):
|
|
|
374
366
|
|
|
375
367
|
description: Optional[str] = None
|
|
376
368
|
|
|
377
|
-
auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = ""
|
|
378
|
-
r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted."""
|
|
379
|
-
|
|
380
369
|
auth_type: Annotated[
|
|
381
370
|
Annotated[
|
|
382
371
|
Optional[InputTCPAuthenticationMethod],
|
|
@@ -385,6 +374,3 @@ class InputTCP(BaseModel):
|
|
|
385
374
|
pydantic.Field(alias="authType"),
|
|
386
375
|
] = InputTCPAuthenticationMethod.MANUAL
|
|
387
376
|
r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
|
|
388
|
-
|
|
389
|
-
text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None
|
|
390
|
-
r"""Select or create a stored text secret"""
|
|
@@ -7,7 +7,7 @@ from cribl_control_plane.utils import validate_open_enum
|
|
|
7
7
|
from enum import Enum
|
|
8
8
|
import pydantic
|
|
9
9
|
from pydantic.functional_validators import PlainValidator
|
|
10
|
-
from typing import List, Optional
|
|
10
|
+
from typing import Any, List, Optional
|
|
11
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
12
|
|
|
13
13
|
|
|
@@ -123,12 +123,6 @@ class InputTcpjsonMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
123
123
|
|
|
124
124
|
class InputTcpjsonTLSSettingsServerSideTypedDict(TypedDict):
|
|
125
125
|
disabled: NotRequired[bool]
|
|
126
|
-
request_cert: NotRequired[bool]
|
|
127
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
128
|
-
reject_unauthorized: NotRequired[bool]
|
|
129
|
-
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
130
|
-
common_name_regex: NotRequired[str]
|
|
131
|
-
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
132
126
|
certificate_name: NotRequired[str]
|
|
133
127
|
r"""The name of the predefined certificate"""
|
|
134
128
|
priv_key_path: NotRequired[str]
|
|
@@ -139,6 +133,10 @@ class InputTcpjsonTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
139
133
|
r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
140
134
|
ca_path: NotRequired[str]
|
|
141
135
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
136
|
+
request_cert: NotRequired[bool]
|
|
137
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
138
|
+
reject_unauthorized: NotRequired[Any]
|
|
139
|
+
common_name_regex: NotRequired[Any]
|
|
142
140
|
min_version: NotRequired[InputTcpjsonMinimumTLSVersion]
|
|
143
141
|
max_version: NotRequired[InputTcpjsonMaximumTLSVersion]
|
|
144
142
|
|
|
@@ -146,19 +144,6 @@ class InputTcpjsonTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
146
144
|
class InputTcpjsonTLSSettingsServerSide(BaseModel):
|
|
147
145
|
disabled: Optional[bool] = True
|
|
148
146
|
|
|
149
|
-
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
150
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
151
|
-
|
|
152
|
-
reject_unauthorized: Annotated[
|
|
153
|
-
Optional[bool], pydantic.Field(alias="rejectUnauthorized")
|
|
154
|
-
] = True
|
|
155
|
-
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
156
|
-
|
|
157
|
-
common_name_regex: Annotated[
|
|
158
|
-
Optional[str], pydantic.Field(alias="commonNameRegex")
|
|
159
|
-
] = "/.*/"
|
|
160
|
-
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
161
|
-
|
|
162
147
|
certificate_name: Annotated[
|
|
163
148
|
Optional[str], pydantic.Field(alias="certificateName")
|
|
164
149
|
] = None
|
|
@@ -176,6 +161,17 @@ class InputTcpjsonTLSSettingsServerSide(BaseModel):
|
|
|
176
161
|
ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
|
|
177
162
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
178
163
|
|
|
164
|
+
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
165
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
166
|
+
|
|
167
|
+
reject_unauthorized: Annotated[
|
|
168
|
+
Optional[Any], pydantic.Field(alias="rejectUnauthorized")
|
|
169
|
+
] = None
|
|
170
|
+
|
|
171
|
+
common_name_regex: Annotated[
|
|
172
|
+
Optional[Any], pydantic.Field(alias="commonNameRegex")
|
|
173
|
+
] = None
|
|
174
|
+
|
|
179
175
|
min_version: Annotated[
|
|
180
176
|
Annotated[
|
|
181
177
|
Optional[InputTcpjsonMinimumTLSVersion],
|
|
@@ -239,14 +239,12 @@ class InputWindowsMetricsNetworkMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
239
239
|
class InputWindowsMetricsNetworkTypedDict(TypedDict):
|
|
240
240
|
mode: NotRequired[InputWindowsMetricsNetworkMode]
|
|
241
241
|
r"""Select the level of details for network metrics"""
|
|
242
|
-
detail: NotRequired[bool]
|
|
243
|
-
r"""Generate full network metrics"""
|
|
244
|
-
protocols: NotRequired[bool]
|
|
245
|
-
r"""Generate protocol metrics for ICMP, ICMPMsg, IP, TCP, UDP and UDPLite"""
|
|
246
242
|
devices: NotRequired[List[str]]
|
|
247
243
|
r"""Network interfaces to include/exclude. All interfaces are included if this list is empty."""
|
|
248
244
|
per_interface: NotRequired[bool]
|
|
249
245
|
r"""Generate separate metrics for each interface"""
|
|
246
|
+
detail: NotRequired[bool]
|
|
247
|
+
r"""Generate full network metrics"""
|
|
250
248
|
|
|
251
249
|
|
|
252
250
|
class InputWindowsMetricsNetwork(BaseModel):
|
|
@@ -256,12 +254,6 @@ class InputWindowsMetricsNetwork(BaseModel):
|
|
|
256
254
|
] = InputWindowsMetricsNetworkMode.BASIC
|
|
257
255
|
r"""Select the level of details for network metrics"""
|
|
258
256
|
|
|
259
|
-
detail: Optional[bool] = False
|
|
260
|
-
r"""Generate full network metrics"""
|
|
261
|
-
|
|
262
|
-
protocols: Optional[bool] = False
|
|
263
|
-
r"""Generate protocol metrics for ICMP, ICMPMsg, IP, TCP, UDP and UDPLite"""
|
|
264
|
-
|
|
265
257
|
devices: Optional[List[str]] = None
|
|
266
258
|
r"""Network interfaces to include/exclude. All interfaces are included if this list is empty."""
|
|
267
259
|
|
|
@@ -270,6 +262,9 @@ class InputWindowsMetricsNetwork(BaseModel):
|
|
|
270
262
|
)
|
|
271
263
|
r"""Generate separate metrics for each interface"""
|
|
272
264
|
|
|
265
|
+
detail: Optional[bool] = False
|
|
266
|
+
r"""Generate full network metrics"""
|
|
267
|
+
|
|
273
268
|
|
|
274
269
|
class InputWindowsMetricsDiskMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
275
270
|
r"""Select the level of details for disk metrics"""
|
|
@@ -287,12 +282,10 @@ class InputWindowsMetricsDiskMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
287
282
|
class InputWindowsMetricsDiskTypedDict(TypedDict):
|
|
288
283
|
mode: NotRequired[InputWindowsMetricsDiskMode]
|
|
289
284
|
r"""Select the level of details for disk metrics"""
|
|
290
|
-
per_volume: NotRequired[bool]
|
|
291
|
-
r"""Generate separate metrics for each volume"""
|
|
292
|
-
detail: NotRequired[bool]
|
|
293
|
-
r"""Generate full disk metrics"""
|
|
294
285
|
volumes: NotRequired[List[str]]
|
|
295
286
|
r"""Windows volumes to include/exclude. E.g.: C:, !E:, etc. Wildcards and ! (not) operators are supported. All volumes are included if this list is empty."""
|
|
287
|
+
per_volume: NotRequired[bool]
|
|
288
|
+
r"""Generate separate metrics for each volume"""
|
|
296
289
|
|
|
297
290
|
|
|
298
291
|
class InputWindowsMetricsDisk(BaseModel):
|
|
@@ -301,15 +294,12 @@ class InputWindowsMetricsDisk(BaseModel):
|
|
|
301
294
|
] = InputWindowsMetricsDiskMode.BASIC
|
|
302
295
|
r"""Select the level of details for disk metrics"""
|
|
303
296
|
|
|
304
|
-
per_volume: Annotated[Optional[bool], pydantic.Field(alias="perVolume")] = False
|
|
305
|
-
r"""Generate separate metrics for each volume"""
|
|
306
|
-
|
|
307
|
-
detail: Optional[bool] = False
|
|
308
|
-
r"""Generate full disk metrics"""
|
|
309
|
-
|
|
310
297
|
volumes: Optional[List[str]] = None
|
|
311
298
|
r"""Windows volumes to include/exclude. E.g.: C:, !E:, etc. Wildcards and ! (not) operators are supported. All volumes are included if this list is empty."""
|
|
312
299
|
|
|
300
|
+
per_volume: Annotated[Optional[bool], pydantic.Field(alias="perVolume")] = False
|
|
301
|
+
r"""Generate separate metrics for each volume"""
|
|
302
|
+
|
|
313
303
|
|
|
314
304
|
class InputWindowsMetricsCustomTypedDict(TypedDict):
|
|
315
305
|
system: NotRequired[InputWindowsMetricsSystemTypedDict]
|
|
@@ -174,10 +174,6 @@ class InputWinEventLogsTypedDict(TypedDict):
|
|
|
174
174
|
max_event_bytes: NotRequired[float]
|
|
175
175
|
r"""The maximum number of bytes in an event before it is flushed to the pipelines"""
|
|
176
176
|
description: NotRequired[str]
|
|
177
|
-
disable_json_rendering: NotRequired[bool]
|
|
178
|
-
r"""Enable/disable the rendering of localized event message strings (Applicable for 4.8.0 nodes and newer that use the Native API)"""
|
|
179
|
-
disable_xml_rendering: NotRequired[bool]
|
|
180
|
-
r"""Enable/disable the rendering of localized event message strings (Applicable for 4.8.0 nodes and newer that use the Native API)"""
|
|
181
177
|
|
|
182
178
|
|
|
183
179
|
class InputWinEventLogs(BaseModel):
|
|
@@ -245,13 +241,3 @@ class InputWinEventLogs(BaseModel):
|
|
|
245
241
|
r"""The maximum number of bytes in an event before it is flushed to the pipelines"""
|
|
246
242
|
|
|
247
243
|
description: Optional[str] = None
|
|
248
|
-
|
|
249
|
-
disable_json_rendering: Annotated[
|
|
250
|
-
Optional[bool], pydantic.Field(alias="disableJsonRendering")
|
|
251
|
-
] = False
|
|
252
|
-
r"""Enable/disable the rendering of localized event message strings (Applicable for 4.8.0 nodes and newer that use the Native API)"""
|
|
253
|
-
|
|
254
|
-
disable_xml_rendering: Annotated[
|
|
255
|
-
Optional[bool], pydantic.Field(alias="disableXmlRendering")
|
|
256
|
-
] = True
|
|
257
|
-
r"""Enable/disable the rendering of localized event message strings (Applicable for 4.8.0 nodes and newer that use the Native API)"""
|
|
@@ -7,7 +7,7 @@ from cribl_control_plane.utils import validate_open_enum
|
|
|
7
7
|
from enum import Enum
|
|
8
8
|
import pydantic
|
|
9
9
|
from pydantic.functional_validators import PlainValidator
|
|
10
|
-
from typing import List, Optional
|
|
10
|
+
from typing import Any, List, Optional
|
|
11
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
12
|
|
|
13
13
|
|
|
@@ -123,12 +123,6 @@ class InputWizWebhookMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
123
123
|
|
|
124
124
|
class InputWizWebhookTLSSettingsServerSideTypedDict(TypedDict):
|
|
125
125
|
disabled: NotRequired[bool]
|
|
126
|
-
request_cert: NotRequired[bool]
|
|
127
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
128
|
-
reject_unauthorized: NotRequired[bool]
|
|
129
|
-
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
130
|
-
common_name_regex: NotRequired[str]
|
|
131
|
-
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
132
126
|
certificate_name: NotRequired[str]
|
|
133
127
|
r"""The name of the predefined certificate"""
|
|
134
128
|
priv_key_path: NotRequired[str]
|
|
@@ -139,6 +133,10 @@ class InputWizWebhookTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
139
133
|
r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
140
134
|
ca_path: NotRequired[str]
|
|
141
135
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
136
|
+
request_cert: NotRequired[bool]
|
|
137
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
138
|
+
reject_unauthorized: NotRequired[Any]
|
|
139
|
+
common_name_regex: NotRequired[Any]
|
|
142
140
|
min_version: NotRequired[InputWizWebhookMinimumTLSVersion]
|
|
143
141
|
max_version: NotRequired[InputWizWebhookMaximumTLSVersion]
|
|
144
142
|
|
|
@@ -146,19 +144,6 @@ class InputWizWebhookTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
146
144
|
class InputWizWebhookTLSSettingsServerSide(BaseModel):
|
|
147
145
|
disabled: Optional[bool] = True
|
|
148
146
|
|
|
149
|
-
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
150
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
151
|
-
|
|
152
|
-
reject_unauthorized: Annotated[
|
|
153
|
-
Optional[bool], pydantic.Field(alias="rejectUnauthorized")
|
|
154
|
-
] = True
|
|
155
|
-
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
156
|
-
|
|
157
|
-
common_name_regex: Annotated[
|
|
158
|
-
Optional[str], pydantic.Field(alias="commonNameRegex")
|
|
159
|
-
] = "/.*/"
|
|
160
|
-
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
161
|
-
|
|
162
147
|
certificate_name: Annotated[
|
|
163
148
|
Optional[str], pydantic.Field(alias="certificateName")
|
|
164
149
|
] = None
|
|
@@ -176,6 +161,17 @@ class InputWizWebhookTLSSettingsServerSide(BaseModel):
|
|
|
176
161
|
ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
|
|
177
162
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
178
163
|
|
|
164
|
+
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
165
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
166
|
+
|
|
167
|
+
reject_unauthorized: Annotated[
|
|
168
|
+
Optional[Any], pydantic.Field(alias="rejectUnauthorized")
|
|
169
|
+
] = None
|
|
170
|
+
|
|
171
|
+
common_name_regex: Annotated[
|
|
172
|
+
Optional[Any], pydantic.Field(alias="commonNameRegex")
|
|
173
|
+
] = None
|
|
174
|
+
|
|
179
175
|
min_version: Annotated[
|
|
180
176
|
Annotated[
|
|
181
177
|
Optional[InputWizWebhookMinimumTLSVersion],
|
|
@@ -183,12 +183,6 @@ class InputZscalerHecMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
183
183
|
|
|
184
184
|
class InputZscalerHecTLSSettingsServerSideTypedDict(TypedDict):
|
|
185
185
|
disabled: NotRequired[bool]
|
|
186
|
-
request_cert: NotRequired[bool]
|
|
187
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
188
|
-
reject_unauthorized: NotRequired[bool]
|
|
189
|
-
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
190
|
-
common_name_regex: NotRequired[str]
|
|
191
|
-
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
192
186
|
certificate_name: NotRequired[str]
|
|
193
187
|
r"""The name of the predefined certificate"""
|
|
194
188
|
priv_key_path: NotRequired[str]
|
|
@@ -199,6 +193,10 @@ class InputZscalerHecTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
199
193
|
r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
200
194
|
ca_path: NotRequired[str]
|
|
201
195
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
196
|
+
request_cert: NotRequired[bool]
|
|
197
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
198
|
+
reject_unauthorized: NotRequired[Any]
|
|
199
|
+
common_name_regex: NotRequired[Any]
|
|
202
200
|
min_version: NotRequired[InputZscalerHecMinimumTLSVersion]
|
|
203
201
|
max_version: NotRequired[InputZscalerHecMaximumTLSVersion]
|
|
204
202
|
|
|
@@ -206,19 +204,6 @@ class InputZscalerHecTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
206
204
|
class InputZscalerHecTLSSettingsServerSide(BaseModel):
|
|
207
205
|
disabled: Optional[bool] = True
|
|
208
206
|
|
|
209
|
-
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
210
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
211
|
-
|
|
212
|
-
reject_unauthorized: Annotated[
|
|
213
|
-
Optional[bool], pydantic.Field(alias="rejectUnauthorized")
|
|
214
|
-
] = True
|
|
215
|
-
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
216
|
-
|
|
217
|
-
common_name_regex: Annotated[
|
|
218
|
-
Optional[str], pydantic.Field(alias="commonNameRegex")
|
|
219
|
-
] = "/.*/"
|
|
220
|
-
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
221
|
-
|
|
222
207
|
certificate_name: Annotated[
|
|
223
208
|
Optional[str], pydantic.Field(alias="certificateName")
|
|
224
209
|
] = None
|
|
@@ -236,6 +221,17 @@ class InputZscalerHecTLSSettingsServerSide(BaseModel):
|
|
|
236
221
|
ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
|
|
237
222
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
238
223
|
|
|
224
|
+
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
225
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
226
|
+
|
|
227
|
+
reject_unauthorized: Annotated[
|
|
228
|
+
Optional[Any], pydantic.Field(alias="rejectUnauthorized")
|
|
229
|
+
] = None
|
|
230
|
+
|
|
231
|
+
common_name_regex: Annotated[
|
|
232
|
+
Optional[Any], pydantic.Field(alias="commonNameRegex")
|
|
233
|
+
] = None
|
|
234
|
+
|
|
239
235
|
min_version: Annotated[
|
|
240
236
|
Annotated[
|
|
241
237
|
Optional[InputZscalerHecMinimumTLSVersion],
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .mappingrulesetevalmappingfunction import (
|
|
5
|
+
MappingRulesetEvalMappingFunction,
|
|
6
|
+
MappingRulesetEvalMappingFunctionTypedDict,
|
|
7
|
+
)
|
|
8
|
+
from .mappingrulesetgenericmappingfunction import (
|
|
9
|
+
MappingRulesetGenericMappingFunction,
|
|
10
|
+
MappingRulesetGenericMappingFunctionTypedDict,
|
|
11
|
+
)
|
|
12
|
+
from cribl_control_plane.types import BaseModel
|
|
13
|
+
from typing import List, Optional, Union
|
|
14
|
+
from typing_extensions import NotRequired, TypeAliasType, TypedDict
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
FunctionTypedDict = TypeAliasType(
|
|
18
|
+
"FunctionTypedDict",
|
|
19
|
+
Union[
|
|
20
|
+
MappingRulesetGenericMappingFunctionTypedDict,
|
|
21
|
+
MappingRulesetEvalMappingFunctionTypedDict,
|
|
22
|
+
],
|
|
23
|
+
)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
Function = TypeAliasType(
|
|
27
|
+
"Function",
|
|
28
|
+
Union[MappingRulesetGenericMappingFunction, MappingRulesetEvalMappingFunction],
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
class MappingRulesetConfTypedDict(TypedDict):
|
|
33
|
+
functions: NotRequired[List[FunctionTypedDict]]
|
|
34
|
+
r"""List of functions to pass data through"""
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
class MappingRulesetConf(BaseModel):
|
|
38
|
+
functions: Optional[List[Function]] = None
|
|
39
|
+
r"""List of functions to pass data through"""
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
class MappingRulesetTypedDict(TypedDict):
|
|
43
|
+
id: str
|
|
44
|
+
conf: NotRequired[MappingRulesetConfTypedDict]
|
|
45
|
+
active: NotRequired[bool]
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
class MappingRuleset(BaseModel):
|
|
49
|
+
id: str
|
|
50
|
+
|
|
51
|
+
conf: Optional[MappingRulesetConf] = None
|
|
52
|
+
|
|
53
|
+
active: Optional[bool] = None
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from cribl_control_plane import utils
|
|
5
|
+
from cribl_control_plane.types import BaseModel
|
|
6
|
+
from cribl_control_plane.utils import validate_open_enum
|
|
7
|
+
from enum import Enum
|
|
8
|
+
import pydantic
|
|
9
|
+
from pydantic.functional_validators import PlainValidator
|
|
10
|
+
from typing import List, Optional
|
|
11
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class ID(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
15
|
+
r"""Unique function identifier."""
|
|
16
|
+
|
|
17
|
+
EVAL = "eval"
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class AddTypedDict(TypedDict):
|
|
21
|
+
value: str
|
|
22
|
+
r"""JavaScript expression to compute the value (can be constant)"""
|
|
23
|
+
name: NotRequired[str]
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class Add(BaseModel):
|
|
27
|
+
value: str
|
|
28
|
+
r"""JavaScript expression to compute the value (can be constant)"""
|
|
29
|
+
|
|
30
|
+
name: Optional[str] = None
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
class MappingRulesetEvalMappingFunctionConfTypedDict(TypedDict):
|
|
34
|
+
add: NotRequired[List[AddTypedDict]]
|
|
35
|
+
r"""Set of key-value pairs to evaluate and add/set"""
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
class MappingRulesetEvalMappingFunctionConf(BaseModel):
|
|
39
|
+
add: Optional[List[Add]] = None
|
|
40
|
+
r"""Set of key-value pairs to evaluate and add/set"""
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
class MappingRulesetEvalMappingFunctionTypedDict(TypedDict):
|
|
44
|
+
id: ID
|
|
45
|
+
r"""Unique function identifier."""
|
|
46
|
+
filter_: NotRequired[str]
|
|
47
|
+
r"""Filter expression controlling when this function runs"""
|
|
48
|
+
description: NotRequired[str]
|
|
49
|
+
r"""Optional function description"""
|
|
50
|
+
disabled: NotRequired[bool]
|
|
51
|
+
r"""Indicates whether the function is disabled"""
|
|
52
|
+
final: NotRequired[bool]
|
|
53
|
+
conf: NotRequired[MappingRulesetEvalMappingFunctionConfTypedDict]
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
class MappingRulesetEvalMappingFunction(BaseModel):
|
|
57
|
+
id: Annotated[ID, PlainValidator(validate_open_enum(False))]
|
|
58
|
+
r"""Unique function identifier."""
|
|
59
|
+
|
|
60
|
+
filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None
|
|
61
|
+
r"""Filter expression controlling when this function runs"""
|
|
62
|
+
|
|
63
|
+
description: Optional[str] = None
|
|
64
|
+
r"""Optional function description"""
|
|
65
|
+
|
|
66
|
+
disabled: Optional[bool] = None
|
|
67
|
+
r"""Indicates whether the function is disabled"""
|
|
68
|
+
|
|
69
|
+
final: Optional[bool] = None
|
|
70
|
+
|
|
71
|
+
conf: Optional[MappingRulesetEvalMappingFunctionConf] = None
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from cribl_control_plane.types import BaseModel
|
|
5
|
+
import pydantic
|
|
6
|
+
from pydantic import ConfigDict
|
|
7
|
+
from typing import Any, Dict
|
|
8
|
+
from typing_extensions import TypedDict
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class MappingRulesetGenericMappingFunctionTypedDict(TypedDict):
|
|
12
|
+
id: str
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class MappingRulesetGenericMappingFunction(BaseModel):
|
|
16
|
+
model_config = ConfigDict(
|
|
17
|
+
populate_by_name=True, arbitrary_types_allowed=True, extra="allow"
|
|
18
|
+
)
|
|
19
|
+
__pydantic_extra__: Dict[str, Any] = pydantic.Field(init=False)
|
|
20
|
+
|
|
21
|
+
id: str
|
|
22
|
+
|
|
23
|
+
@property
|
|
24
|
+
def additional_properties(self):
|
|
25
|
+
return self.__pydantic_extra__
|
|
26
|
+
|
|
27
|
+
@additional_properties.setter
|
|
28
|
+
def additional_properties(self, value):
|
|
29
|
+
self.__pydantic_extra__ = value # pyright: ignore[reportIncompatibleVariableOverride]
|