cribl-control-plane 0.2.1rc7__py3-none-any.whl → 0.3.0a1__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 +4 -4
- cribl_control_plane/errors/__init__.py +5 -8
- cribl_control_plane/errors/{healthserverstatus_error.py → healthstatus_error.py} +9 -10
- cribl_control_plane/groups_sdk.py +28 -52
- cribl_control_plane/health.py +16 -22
- cribl_control_plane/models/__init__.py +54 -217
- cribl_control_plane/models/appmode.py +14 -0
- cribl_control_plane/models/authtoken.py +1 -5
- cribl_control_plane/models/cacheconnection.py +0 -20
- cribl_control_plane/models/configgroup.py +7 -55
- cribl_control_plane/models/configgroupcloud.py +1 -11
- cribl_control_plane/models/createconfiggroupbyproductop.py +5 -17
- cribl_control_plane/models/createroutesappendbyidop.py +2 -2
- cribl_control_plane/models/createversionundoop.py +3 -3
- cribl_control_plane/models/cribllakedataset.py +1 -11
- cribl_control_plane/models/cribllakedatasetupdate.py +1 -11
- cribl_control_plane/models/datasetmetadata.py +1 -11
- cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +0 -11
- cribl_control_plane/models/deleteoutputpqbyidop.py +2 -2
- cribl_control_plane/models/distributedsummary.py +0 -6
- cribl_control_plane/models/error.py +16 -0
- cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +0 -20
- cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +0 -20
- cribl_control_plane/models/getconfiggroupbyproductandidop.py +0 -11
- cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +0 -11
- cribl_control_plane/models/gethealthinfoop.py +17 -0
- cribl_control_plane/models/getsummaryop.py +0 -11
- cribl_control_plane/models/hbcriblinfo.py +3 -24
- cribl_control_plane/models/{healthserverstatus.py → healthstatus.py} +8 -27
- cribl_control_plane/models/heartbeatmetadata.py +0 -3
- cribl_control_plane/models/input.py +78 -80
- cribl_control_plane/models/inputappscope.py +17 -80
- cribl_control_plane/models/inputazureblob.py +1 -33
- cribl_control_plane/models/inputcollection.py +1 -24
- cribl_control_plane/models/inputconfluentcloud.py +18 -195
- cribl_control_plane/models/inputcribl.py +1 -24
- cribl_control_plane/models/inputcriblhttp.py +17 -62
- cribl_control_plane/models/inputcribllakehttp.py +17 -62
- cribl_control_plane/models/inputcriblmetrics.py +1 -24
- cribl_control_plane/models/inputcribltcp.py +17 -62
- cribl_control_plane/models/inputcrowdstrike.py +1 -54
- cribl_control_plane/models/inputdatadogagent.py +17 -62
- cribl_control_plane/models/inputdatagen.py +1 -24
- cribl_control_plane/models/inputedgeprometheus.py +34 -147
- cribl_control_plane/models/inputelastic.py +27 -119
- cribl_control_plane/models/inputeventhub.py +1 -182
- cribl_control_plane/models/inputexec.py +1 -33
- cribl_control_plane/models/inputfile.py +3 -42
- cribl_control_plane/models/inputfirehose.py +17 -62
- cribl_control_plane/models/inputgooglepubsub.py +1 -36
- cribl_control_plane/models/inputgrafana.py +32 -157
- cribl_control_plane/models/inputhttp.py +17 -62
- cribl_control_plane/models/inputhttpraw.py +17 -62
- cribl_control_plane/models/inputjournalfiles.py +1 -24
- cribl_control_plane/models/inputkafka.py +17 -189
- cribl_control_plane/models/inputkinesis.py +1 -80
- cribl_control_plane/models/inputkubeevents.py +1 -24
- cribl_control_plane/models/inputkubelogs.py +1 -33
- cribl_control_plane/models/inputkubemetrics.py +1 -33
- cribl_control_plane/models/inputloki.py +17 -71
- cribl_control_plane/models/inputmetrics.py +17 -62
- cribl_control_plane/models/inputmodeldriventelemetry.py +17 -62
- cribl_control_plane/models/inputmsk.py +18 -81
- cribl_control_plane/models/inputnetflow.py +1 -24
- cribl_control_plane/models/inputoffice365mgmt.py +1 -67
- cribl_control_plane/models/inputoffice365msgtrace.py +1 -67
- cribl_control_plane/models/inputoffice365service.py +1 -67
- cribl_control_plane/models/inputopentelemetry.py +16 -92
- cribl_control_plane/models/inputprometheus.py +34 -138
- cribl_control_plane/models/inputprometheusrw.py +17 -71
- cribl_control_plane/models/inputrawudp.py +1 -24
- cribl_control_plane/models/inputs3.py +1 -45
- cribl_control_plane/models/inputs3inventory.py +1 -54
- cribl_control_plane/models/inputsecuritylake.py +1 -54
- cribl_control_plane/models/inputsnmp.py +1 -40
- cribl_control_plane/models/inputsplunk.py +17 -85
- cribl_control_plane/models/inputsplunkhec.py +16 -70
- cribl_control_plane/models/inputsplunksearch.py +1 -63
- cribl_control_plane/models/inputsqs.py +1 -56
- cribl_control_plane/models/inputsyslog.py +32 -121
- cribl_control_plane/models/inputsystemmetrics.py +9 -142
- cribl_control_plane/models/inputsystemstate.py +1 -33
- cribl_control_plane/models/inputtcp.py +17 -81
- cribl_control_plane/models/inputtcpjson.py +17 -71
- cribl_control_plane/models/inputwef.py +1 -71
- cribl_control_plane/models/inputwindowsmetrics.py +9 -129
- cribl_control_plane/models/inputwineventlogs.py +1 -60
- cribl_control_plane/models/inputwiz.py +1 -45
- cribl_control_plane/models/inputwizwebhook.py +17 -62
- cribl_control_plane/models/inputzscalerhec.py +16 -70
- cribl_control_plane/models/jobinfo.py +1 -4
- cribl_control_plane/models/jobstatus.py +3 -34
- cribl_control_plane/models/listconfiggroupbyproductop.py +0 -11
- cribl_control_plane/models/logininfo.py +3 -3
- cribl_control_plane/models/masterworkerentry.py +1 -11
- cribl_control_plane/models/nodeprovidedinfo.py +1 -11
- cribl_control_plane/models/nodeupgradestatus.py +0 -38
- cribl_control_plane/models/output.py +88 -93
- cribl_control_plane/models/outputazureblob.py +1 -110
- cribl_control_plane/models/outputazuredataexplorer.py +87 -452
- cribl_control_plane/models/outputazureeventhub.py +19 -281
- cribl_control_plane/models/outputazurelogs.py +19 -115
- cribl_control_plane/models/outputchronicle.py +19 -115
- cribl_control_plane/models/outputclickhouse.py +19 -155
- cribl_control_plane/models/outputcloudwatch.py +19 -106
- cribl_control_plane/models/outputconfluentcloud.py +38 -311
- cribl_control_plane/models/outputcriblhttp.py +19 -135
- cribl_control_plane/models/outputcribllake.py +1 -97
- cribl_control_plane/models/outputcribltcp.py +19 -132
- cribl_control_plane/models/outputcrowdstrikenextgensiem.py +20 -129
- cribl_control_plane/models/outputdatadog.py +19 -159
- cribl_control_plane/models/outputdataset.py +19 -143
- cribl_control_plane/models/outputdiskspool.py +1 -11
- cribl_control_plane/models/outputdls3.py +1 -152
- cribl_control_plane/models/outputdynatracehttp.py +19 -160
- cribl_control_plane/models/outputdynatraceotlp.py +19 -160
- cribl_control_plane/models/outputelastic.py +19 -163
- cribl_control_plane/models/outputelasticcloud.py +19 -140
- cribl_control_plane/models/outputexabeam.py +1 -61
- cribl_control_plane/models/outputfilesystem.py +1 -87
- cribl_control_plane/models/outputgooglechronicle.py +20 -166
- cribl_control_plane/models/outputgooglecloudlogging.py +20 -131
- cribl_control_plane/models/outputgooglecloudstorage.py +1 -136
- cribl_control_plane/models/outputgooglepubsub.py +19 -106
- cribl_control_plane/models/outputgrafanacloud.py +37 -288
- cribl_control_plane/models/outputgraphite.py +19 -105
- cribl_control_plane/models/outputhoneycomb.py +19 -115
- cribl_control_plane/models/outputhumiohec.py +19 -126
- cribl_control_plane/models/outputinfluxdb.py +19 -130
- cribl_control_plane/models/outputkafka.py +34 -302
- cribl_control_plane/models/outputkinesis.py +19 -133
- cribl_control_plane/models/outputloki.py +17 -129
- cribl_control_plane/models/outputminio.py +1 -145
- cribl_control_plane/models/outputmsk.py +34 -193
- cribl_control_plane/models/outputnewrelic.py +19 -136
- cribl_control_plane/models/outputnewrelicevents.py +20 -128
- cribl_control_plane/models/outputopentelemetry.py +19 -178
- cribl_control_plane/models/outputprometheus.py +19 -115
- cribl_control_plane/models/outputring.py +1 -31
- cribl_control_plane/models/outputs3.py +1 -152
- cribl_control_plane/models/outputsecuritylake.py +1 -114
- cribl_control_plane/models/outputsentinel.py +19 -135
- cribl_control_plane/models/outputsentineloneaisiem.py +20 -134
- cribl_control_plane/models/outputservicenow.py +19 -168
- cribl_control_plane/models/outputsignalfx.py +19 -115
- cribl_control_plane/models/outputsns.py +17 -113
- cribl_control_plane/models/outputsplunk.py +19 -153
- cribl_control_plane/models/outputsplunkhec.py +19 -208
- cribl_control_plane/models/outputsplunklb.py +19 -182
- cribl_control_plane/models/outputsqs.py +17 -124
- cribl_control_plane/models/outputstatsd.py +19 -105
- cribl_control_plane/models/outputstatsdext.py +19 -105
- cribl_control_plane/models/outputsumologic.py +19 -117
- cribl_control_plane/models/outputsyslog.py +96 -259
- cribl_control_plane/models/outputtcpjson.py +19 -141
- cribl_control_plane/models/outputwavefront.py +19 -115
- cribl_control_plane/models/outputwebhook.py +19 -161
- cribl_control_plane/models/outputxsiam.py +17 -113
- cribl_control_plane/models/packinfo.py +5 -8
- cribl_control_plane/models/packinstallinfo.py +5 -8
- cribl_control_plane/models/resourcepolicy.py +0 -11
- cribl_control_plane/models/{uploadpackresponse.py → routecloneconf.py} +4 -4
- cribl_control_plane/models/routeconf.py +4 -3
- cribl_control_plane/models/runnablejobcollection.py +9 -72
- cribl_control_plane/models/runnablejobexecutor.py +9 -32
- cribl_control_plane/models/runnablejobscheduledsearch.py +9 -23
- cribl_control_plane/models/updateconfiggroupbyproductandidop.py +0 -11
- cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +0 -11
- cribl_control_plane/packs.py +7 -202
- cribl_control_plane/routes_sdk.py +6 -6
- cribl_control_plane/tokens.py +15 -23
- {cribl_control_plane-0.2.1rc7.dist-info → cribl_control_plane-0.3.0a1.dist-info}/METADATA +9 -50
- cribl_control_plane-0.3.0a1.dist-info/RECORD +330 -0
- cribl_control_plane/models/groupcreaterequest.py +0 -171
- cribl_control_plane/models/outpostnodeinfo.py +0 -16
- cribl_control_plane/models/outputdatabricks.py +0 -482
- cribl_control_plane/models/updatepacksop.py +0 -25
- cribl_control_plane-0.2.1rc7.dist-info/RECORD +0 -331
- {cribl_control_plane-0.2.1rc7.dist-info → cribl_control_plane-0.3.0a1.dist-info}/WHEEL +0 -0
|
@@ -1,14 +1,13 @@
|
|
|
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
|
|
4
|
+
from cribl_control_plane import utils
|
|
5
5
|
from cribl_control_plane.types import BaseModel
|
|
6
6
|
from cribl_control_plane.utils import validate_open_enum
|
|
7
7
|
from enum import Enum
|
|
8
8
|
import pydantic
|
|
9
|
-
from pydantic import field_serializer
|
|
10
9
|
from pydantic.functional_validators import PlainValidator
|
|
11
|
-
from typing import List, Optional
|
|
10
|
+
from typing import Any, List, Optional
|
|
12
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
13
12
|
|
|
14
13
|
|
|
@@ -30,18 +29,14 @@ class InputTcpjsonConnection(BaseModel):
|
|
|
30
29
|
class InputTcpjsonMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
31
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."""
|
|
32
31
|
|
|
33
|
-
# Smart
|
|
34
32
|
SMART = "smart"
|
|
35
|
-
# Always On
|
|
36
33
|
ALWAYS = "always"
|
|
37
34
|
|
|
38
35
|
|
|
39
36
|
class InputTcpjsonCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
40
37
|
r"""Codec to use to compress the persisted data"""
|
|
41
38
|
|
|
42
|
-
# None
|
|
43
39
|
NONE = "none"
|
|
44
|
-
# Gzip
|
|
45
40
|
GZIP = "gzip"
|
|
46
41
|
|
|
47
42
|
|
|
@@ -107,24 +102,6 @@ class InputTcpjsonPq(BaseModel):
|
|
|
107
102
|
Optional[InputTcpjsonPqControls], pydantic.Field(alias="pqControls")
|
|
108
103
|
] = None
|
|
109
104
|
|
|
110
|
-
@field_serializer("mode")
|
|
111
|
-
def serialize_mode(self, value):
|
|
112
|
-
if isinstance(value, str):
|
|
113
|
-
try:
|
|
114
|
-
return models.InputTcpjsonMode(value)
|
|
115
|
-
except ValueError:
|
|
116
|
-
return value
|
|
117
|
-
return value
|
|
118
|
-
|
|
119
|
-
@field_serializer("compress")
|
|
120
|
-
def serialize_compress(self, value):
|
|
121
|
-
if isinstance(value, str):
|
|
122
|
-
try:
|
|
123
|
-
return models.InputTcpjsonCompression(value)
|
|
124
|
-
except ValueError:
|
|
125
|
-
return value
|
|
126
|
-
return value
|
|
127
|
-
|
|
128
105
|
|
|
129
106
|
class InputTcpjsonMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
130
107
|
TL_SV1 = "TLSv1"
|
|
@@ -142,12 +119,6 @@ class InputTcpjsonMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
142
119
|
|
|
143
120
|
class InputTcpjsonTLSSettingsServerSideTypedDict(TypedDict):
|
|
144
121
|
disabled: NotRequired[bool]
|
|
145
|
-
request_cert: NotRequired[bool]
|
|
146
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
147
|
-
reject_unauthorized: NotRequired[bool]
|
|
148
|
-
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
149
|
-
common_name_regex: NotRequired[str]
|
|
150
|
-
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
151
122
|
certificate_name: NotRequired[str]
|
|
152
123
|
r"""The name of the predefined certificate"""
|
|
153
124
|
priv_key_path: NotRequired[str]
|
|
@@ -158,6 +129,10 @@ class InputTcpjsonTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
158
129
|
r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
159
130
|
ca_path: NotRequired[str]
|
|
160
131
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
132
|
+
request_cert: NotRequired[bool]
|
|
133
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
134
|
+
reject_unauthorized: NotRequired[Any]
|
|
135
|
+
common_name_regex: NotRequired[Any]
|
|
161
136
|
min_version: NotRequired[InputTcpjsonMinimumTLSVersion]
|
|
162
137
|
max_version: NotRequired[InputTcpjsonMaximumTLSVersion]
|
|
163
138
|
|
|
@@ -165,19 +140,6 @@ class InputTcpjsonTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
165
140
|
class InputTcpjsonTLSSettingsServerSide(BaseModel):
|
|
166
141
|
disabled: Optional[bool] = True
|
|
167
142
|
|
|
168
|
-
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
169
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
170
|
-
|
|
171
|
-
reject_unauthorized: Annotated[
|
|
172
|
-
Optional[bool], pydantic.Field(alias="rejectUnauthorized")
|
|
173
|
-
] = True
|
|
174
|
-
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
175
|
-
|
|
176
|
-
common_name_regex: Annotated[
|
|
177
|
-
Optional[str], pydantic.Field(alias="commonNameRegex")
|
|
178
|
-
] = "/.*/"
|
|
179
|
-
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
180
|
-
|
|
181
143
|
certificate_name: Annotated[
|
|
182
144
|
Optional[str], pydantic.Field(alias="certificateName")
|
|
183
145
|
] = None
|
|
@@ -195,6 +157,17 @@ class InputTcpjsonTLSSettingsServerSide(BaseModel):
|
|
|
195
157
|
ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
|
|
196
158
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
197
159
|
|
|
160
|
+
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
161
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
162
|
+
|
|
163
|
+
reject_unauthorized: Annotated[
|
|
164
|
+
Optional[Any], pydantic.Field(alias="rejectUnauthorized")
|
|
165
|
+
] = None
|
|
166
|
+
|
|
167
|
+
common_name_regex: Annotated[
|
|
168
|
+
Optional[Any], pydantic.Field(alias="commonNameRegex")
|
|
169
|
+
] = None
|
|
170
|
+
|
|
198
171
|
min_version: Annotated[
|
|
199
172
|
Annotated[
|
|
200
173
|
Optional[InputTcpjsonMinimumTLSVersion],
|
|
@@ -211,24 +184,6 @@ class InputTcpjsonTLSSettingsServerSide(BaseModel):
|
|
|
211
184
|
pydantic.Field(alias="maxVersion"),
|
|
212
185
|
] = None
|
|
213
186
|
|
|
214
|
-
@field_serializer("min_version")
|
|
215
|
-
def serialize_min_version(self, value):
|
|
216
|
-
if isinstance(value, str):
|
|
217
|
-
try:
|
|
218
|
-
return models.InputTcpjsonMinimumTLSVersion(value)
|
|
219
|
-
except ValueError:
|
|
220
|
-
return value
|
|
221
|
-
return value
|
|
222
|
-
|
|
223
|
-
@field_serializer("max_version")
|
|
224
|
-
def serialize_max_version(self, value):
|
|
225
|
-
if isinstance(value, str):
|
|
226
|
-
try:
|
|
227
|
-
return models.InputTcpjsonMaximumTLSVersion(value)
|
|
228
|
-
except ValueError:
|
|
229
|
-
return value
|
|
230
|
-
return value
|
|
231
|
-
|
|
232
187
|
|
|
233
188
|
class InputTcpjsonMetadatumTypedDict(TypedDict):
|
|
234
189
|
name: str
|
|
@@ -390,12 +345,3 @@ class InputTcpjson(BaseModel):
|
|
|
390
345
|
|
|
391
346
|
text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None
|
|
392
347
|
r"""Select or create a stored text secret"""
|
|
393
|
-
|
|
394
|
-
@field_serializer("auth_type")
|
|
395
|
-
def serialize_auth_type(self, value):
|
|
396
|
-
if isinstance(value, str):
|
|
397
|
-
try:
|
|
398
|
-
return models.InputTcpjsonAuthenticationMethod(value)
|
|
399
|
-
except ValueError:
|
|
400
|
-
return value
|
|
401
|
-
return value
|
|
@@ -1,12 +1,11 @@
|
|
|
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
|
|
4
|
+
from cribl_control_plane import utils
|
|
5
5
|
from cribl_control_plane.types import BaseModel
|
|
6
6
|
from cribl_control_plane.utils import validate_open_enum
|
|
7
7
|
from enum import Enum
|
|
8
8
|
import pydantic
|
|
9
|
-
from pydantic import field_serializer
|
|
10
9
|
from pydantic.functional_validators import PlainValidator
|
|
11
10
|
from typing import Any, List, Optional
|
|
12
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
@@ -30,18 +29,14 @@ class InputWefConnection(BaseModel):
|
|
|
30
29
|
class InputWefMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
31
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."""
|
|
32
31
|
|
|
33
|
-
# Smart
|
|
34
32
|
SMART = "smart"
|
|
35
|
-
# Always On
|
|
36
33
|
ALWAYS = "always"
|
|
37
34
|
|
|
38
35
|
|
|
39
36
|
class InputWefCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
40
37
|
r"""Codec to use to compress the persisted data"""
|
|
41
38
|
|
|
42
|
-
# None
|
|
43
39
|
NONE = "none"
|
|
44
|
-
# Gzip
|
|
45
40
|
GZIP = "gzip"
|
|
46
41
|
|
|
47
42
|
|
|
@@ -107,31 +102,11 @@ class InputWefPq(BaseModel):
|
|
|
107
102
|
Optional[InputWefPqControls], pydantic.Field(alias="pqControls")
|
|
108
103
|
] = None
|
|
109
104
|
|
|
110
|
-
@field_serializer("mode")
|
|
111
|
-
def serialize_mode(self, value):
|
|
112
|
-
if isinstance(value, str):
|
|
113
|
-
try:
|
|
114
|
-
return models.InputWefMode(value)
|
|
115
|
-
except ValueError:
|
|
116
|
-
return value
|
|
117
|
-
return value
|
|
118
|
-
|
|
119
|
-
@field_serializer("compress")
|
|
120
|
-
def serialize_compress(self, value):
|
|
121
|
-
if isinstance(value, str):
|
|
122
|
-
try:
|
|
123
|
-
return models.InputWefCompression(value)
|
|
124
|
-
except ValueError:
|
|
125
|
-
return value
|
|
126
|
-
return value
|
|
127
|
-
|
|
128
105
|
|
|
129
106
|
class InputWefAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
130
107
|
r"""How to authenticate incoming client connections"""
|
|
131
108
|
|
|
132
|
-
# Client certificate
|
|
133
109
|
CLIENT_CERT = "clientCert"
|
|
134
|
-
# Kerberos
|
|
135
110
|
KERBEROS = "kerberos"
|
|
136
111
|
|
|
137
112
|
|
|
@@ -240,24 +215,6 @@ class MTLSSettings(BaseModel):
|
|
|
240
215
|
] = False
|
|
241
216
|
r"""If enabled, checks will fail on any OCSP error. Otherwise, checks will fail only when a certificate is revoked, ignoring other errors."""
|
|
242
217
|
|
|
243
|
-
@field_serializer("min_version")
|
|
244
|
-
def serialize_min_version(self, value):
|
|
245
|
-
if isinstance(value, str):
|
|
246
|
-
try:
|
|
247
|
-
return models.InputWefMinimumTLSVersion(value)
|
|
248
|
-
except ValueError:
|
|
249
|
-
return value
|
|
250
|
-
return value
|
|
251
|
-
|
|
252
|
-
@field_serializer("max_version")
|
|
253
|
-
def serialize_max_version(self, value):
|
|
254
|
-
if isinstance(value, str):
|
|
255
|
-
try:
|
|
256
|
-
return models.InputWefMaximumTLSVersion(value)
|
|
257
|
-
except ValueError:
|
|
258
|
-
return value
|
|
259
|
-
return value
|
|
260
|
-
|
|
261
218
|
|
|
262
219
|
class InputWefFormat(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
263
220
|
r"""Content format in which the endpoint should deliver events"""
|
|
@@ -358,24 +315,6 @@ class Subscription(BaseModel):
|
|
|
358
315
|
metadata: Optional[List[SubscriptionMetadatum]] = None
|
|
359
316
|
r"""Fields to add to events ingested under this subscription"""
|
|
360
317
|
|
|
361
|
-
@field_serializer("content_format")
|
|
362
|
-
def serialize_content_format(self, value):
|
|
363
|
-
if isinstance(value, str):
|
|
364
|
-
try:
|
|
365
|
-
return models.InputWefFormat(value)
|
|
366
|
-
except ValueError:
|
|
367
|
-
return value
|
|
368
|
-
return value
|
|
369
|
-
|
|
370
|
-
@field_serializer("query_selector")
|
|
371
|
-
def serialize_query_selector(self, value):
|
|
372
|
-
if isinstance(value, str):
|
|
373
|
-
try:
|
|
374
|
-
return models.QueryBuilderMode(value)
|
|
375
|
-
except ValueError:
|
|
376
|
-
return value
|
|
377
|
-
return value
|
|
378
|
-
|
|
379
318
|
|
|
380
319
|
class InputWefMetadatumTypedDict(TypedDict):
|
|
381
320
|
name: str
|
|
@@ -570,12 +509,3 @@ class InputWef(BaseModel):
|
|
|
570
509
|
Optional[bool], pydantic.Field(alias="logFingerprintMismatch")
|
|
571
510
|
] = False
|
|
572
511
|
r"""Log a warning if the client certificate authority (CA) fingerprint does not match the expected value. A mismatch prevents Cribl from receiving events from the Windows Event Forwarder."""
|
|
573
|
-
|
|
574
|
-
@field_serializer("auth_method")
|
|
575
|
-
def serialize_auth_method(self, value):
|
|
576
|
-
if isinstance(value, str):
|
|
577
|
-
try:
|
|
578
|
-
return models.InputWefAuthenticationMethod(value)
|
|
579
|
-
except ValueError:
|
|
580
|
-
return value
|
|
581
|
-
return value
|
|
@@ -1,12 +1,11 @@
|
|
|
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
|
|
4
|
+
from cribl_control_plane import utils
|
|
5
5
|
from cribl_control_plane.types import BaseModel
|
|
6
6
|
from cribl_control_plane.utils import validate_open_enum
|
|
7
7
|
from enum import Enum
|
|
8
8
|
import pydantic
|
|
9
|
-
from pydantic import field_serializer
|
|
10
9
|
from pydantic.functional_validators import PlainValidator
|
|
11
10
|
from typing import List, Optional
|
|
12
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
@@ -30,18 +29,14 @@ class InputWindowsMetricsConnection(BaseModel):
|
|
|
30
29
|
class InputWindowsMetricsPqMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
31
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."""
|
|
32
31
|
|
|
33
|
-
# Smart
|
|
34
32
|
SMART = "smart"
|
|
35
|
-
# Always On
|
|
36
33
|
ALWAYS = "always"
|
|
37
34
|
|
|
38
35
|
|
|
39
36
|
class InputWindowsMetricsCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
40
37
|
r"""Codec to use to compress the persisted data"""
|
|
41
38
|
|
|
42
|
-
# None
|
|
43
39
|
NONE = "none"
|
|
44
|
-
# Gzip
|
|
45
40
|
GZIP = "gzip"
|
|
46
41
|
|
|
47
42
|
|
|
@@ -108,48 +103,22 @@ class InputWindowsMetricsPq(BaseModel):
|
|
|
108
103
|
Optional[InputWindowsMetricsPqControls], pydantic.Field(alias="pqControls")
|
|
109
104
|
] = None
|
|
110
105
|
|
|
111
|
-
@field_serializer("mode")
|
|
112
|
-
def serialize_mode(self, value):
|
|
113
|
-
if isinstance(value, str):
|
|
114
|
-
try:
|
|
115
|
-
return models.InputWindowsMetricsPqMode(value)
|
|
116
|
-
except ValueError:
|
|
117
|
-
return value
|
|
118
|
-
return value
|
|
119
|
-
|
|
120
|
-
@field_serializer("compress")
|
|
121
|
-
def serialize_compress(self, value):
|
|
122
|
-
if isinstance(value, str):
|
|
123
|
-
try:
|
|
124
|
-
return models.InputWindowsMetricsCompression(value)
|
|
125
|
-
except ValueError:
|
|
126
|
-
return value
|
|
127
|
-
return value
|
|
128
|
-
|
|
129
106
|
|
|
130
107
|
class InputWindowsMetricsHostMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
131
108
|
r"""Select level of detail for host metrics"""
|
|
132
109
|
|
|
133
|
-
# Basic
|
|
134
110
|
BASIC = "basic"
|
|
135
|
-
# All
|
|
136
111
|
ALL = "all"
|
|
137
|
-
# Custom
|
|
138
112
|
CUSTOM = "custom"
|
|
139
|
-
# Disabled
|
|
140
113
|
DISABLED = "disabled"
|
|
141
114
|
|
|
142
115
|
|
|
143
116
|
class InputWindowsMetricsSystemMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
144
117
|
r"""Select the level of details for system metrics"""
|
|
145
118
|
|
|
146
|
-
# Basic
|
|
147
119
|
BASIC = "basic"
|
|
148
|
-
# All
|
|
149
120
|
ALL = "all"
|
|
150
|
-
# Custom
|
|
151
121
|
CUSTOM = "custom"
|
|
152
|
-
# Disabled
|
|
153
122
|
DISABLED = "disabled"
|
|
154
123
|
|
|
155
124
|
|
|
@@ -170,26 +139,13 @@ class InputWindowsMetricsSystem(BaseModel):
|
|
|
170
139
|
detail: Optional[bool] = False
|
|
171
140
|
r"""Generate metrics for all system information"""
|
|
172
141
|
|
|
173
|
-
@field_serializer("mode")
|
|
174
|
-
def serialize_mode(self, value):
|
|
175
|
-
if isinstance(value, str):
|
|
176
|
-
try:
|
|
177
|
-
return models.InputWindowsMetricsSystemMode(value)
|
|
178
|
-
except ValueError:
|
|
179
|
-
return value
|
|
180
|
-
return value
|
|
181
|
-
|
|
182
142
|
|
|
183
143
|
class InputWindowsMetricsCPUMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
184
144
|
r"""Select the level of details for CPU metrics"""
|
|
185
145
|
|
|
186
|
-
# Basic
|
|
187
146
|
BASIC = "basic"
|
|
188
|
-
# All
|
|
189
147
|
ALL = "all"
|
|
190
|
-
# Custom
|
|
191
148
|
CUSTOM = "custom"
|
|
192
|
-
# Disabled
|
|
193
149
|
DISABLED = "disabled"
|
|
194
150
|
|
|
195
151
|
|
|
@@ -219,26 +175,13 @@ class InputWindowsMetricsCPU(BaseModel):
|
|
|
219
175
|
time: Optional[bool] = False
|
|
220
176
|
r"""Generate raw, monotonic CPU time counters"""
|
|
221
177
|
|
|
222
|
-
@field_serializer("mode")
|
|
223
|
-
def serialize_mode(self, value):
|
|
224
|
-
if isinstance(value, str):
|
|
225
|
-
try:
|
|
226
|
-
return models.InputWindowsMetricsCPUMode(value)
|
|
227
|
-
except ValueError:
|
|
228
|
-
return value
|
|
229
|
-
return value
|
|
230
|
-
|
|
231
178
|
|
|
232
179
|
class InputWindowsMetricsMemoryMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
233
180
|
r"""Select the level of details for memory metrics"""
|
|
234
181
|
|
|
235
|
-
# Basic
|
|
236
182
|
BASIC = "basic"
|
|
237
|
-
# All
|
|
238
183
|
ALL = "all"
|
|
239
|
-
# Custom
|
|
240
184
|
CUSTOM = "custom"
|
|
241
|
-
# Disabled
|
|
242
185
|
DISABLED = "disabled"
|
|
243
186
|
|
|
244
187
|
|
|
@@ -259,40 +202,25 @@ class InputWindowsMetricsMemory(BaseModel):
|
|
|
259
202
|
detail: Optional[bool] = False
|
|
260
203
|
r"""Generate metrics for all memory states"""
|
|
261
204
|
|
|
262
|
-
@field_serializer("mode")
|
|
263
|
-
def serialize_mode(self, value):
|
|
264
|
-
if isinstance(value, str):
|
|
265
|
-
try:
|
|
266
|
-
return models.InputWindowsMetricsMemoryMode(value)
|
|
267
|
-
except ValueError:
|
|
268
|
-
return value
|
|
269
|
-
return value
|
|
270
|
-
|
|
271
205
|
|
|
272
206
|
class InputWindowsMetricsNetworkMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
273
207
|
r"""Select the level of details for network metrics"""
|
|
274
208
|
|
|
275
|
-
# Basic
|
|
276
209
|
BASIC = "basic"
|
|
277
|
-
# All
|
|
278
210
|
ALL = "all"
|
|
279
|
-
# Custom
|
|
280
211
|
CUSTOM = "custom"
|
|
281
|
-
# Disabled
|
|
282
212
|
DISABLED = "disabled"
|
|
283
213
|
|
|
284
214
|
|
|
285
215
|
class InputWindowsMetricsNetworkTypedDict(TypedDict):
|
|
286
216
|
mode: NotRequired[InputWindowsMetricsNetworkMode]
|
|
287
217
|
r"""Select the level of details for network metrics"""
|
|
288
|
-
detail: NotRequired[bool]
|
|
289
|
-
r"""Generate full network metrics"""
|
|
290
|
-
protocols: NotRequired[bool]
|
|
291
|
-
r"""Generate protocol metrics for ICMP, ICMPMsg, IP, TCP, UDP and UDPLite"""
|
|
292
218
|
devices: NotRequired[List[str]]
|
|
293
219
|
r"""Network interfaces to include/exclude. All interfaces are included if this list is empty."""
|
|
294
220
|
per_interface: NotRequired[bool]
|
|
295
221
|
r"""Generate separate metrics for each interface"""
|
|
222
|
+
detail: NotRequired[bool]
|
|
223
|
+
r"""Generate full network metrics"""
|
|
296
224
|
|
|
297
225
|
|
|
298
226
|
class InputWindowsMetricsNetwork(BaseModel):
|
|
@@ -302,12 +230,6 @@ class InputWindowsMetricsNetwork(BaseModel):
|
|
|
302
230
|
] = InputWindowsMetricsNetworkMode.BASIC
|
|
303
231
|
r"""Select the level of details for network metrics"""
|
|
304
232
|
|
|
305
|
-
detail: Optional[bool] = False
|
|
306
|
-
r"""Generate full network metrics"""
|
|
307
|
-
|
|
308
|
-
protocols: Optional[bool] = False
|
|
309
|
-
r"""Generate protocol metrics for ICMP, ICMPMsg, IP, TCP, UDP and UDPLite"""
|
|
310
|
-
|
|
311
233
|
devices: Optional[List[str]] = None
|
|
312
234
|
r"""Network interfaces to include/exclude. All interfaces are included if this list is empty."""
|
|
313
235
|
|
|
@@ -316,38 +238,26 @@ class InputWindowsMetricsNetwork(BaseModel):
|
|
|
316
238
|
)
|
|
317
239
|
r"""Generate separate metrics for each interface"""
|
|
318
240
|
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
if isinstance(value, str):
|
|
322
|
-
try:
|
|
323
|
-
return models.InputWindowsMetricsNetworkMode(value)
|
|
324
|
-
except ValueError:
|
|
325
|
-
return value
|
|
326
|
-
return value
|
|
241
|
+
detail: Optional[bool] = False
|
|
242
|
+
r"""Generate full network metrics"""
|
|
327
243
|
|
|
328
244
|
|
|
329
245
|
class InputWindowsMetricsDiskMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
330
246
|
r"""Select the level of details for disk metrics"""
|
|
331
247
|
|
|
332
|
-
# Basic
|
|
333
248
|
BASIC = "basic"
|
|
334
|
-
# All
|
|
335
249
|
ALL = "all"
|
|
336
|
-
# Custom
|
|
337
250
|
CUSTOM = "custom"
|
|
338
|
-
# Disabled
|
|
339
251
|
DISABLED = "disabled"
|
|
340
252
|
|
|
341
253
|
|
|
342
254
|
class InputWindowsMetricsDiskTypedDict(TypedDict):
|
|
343
255
|
mode: NotRequired[InputWindowsMetricsDiskMode]
|
|
344
256
|
r"""Select the level of details for disk metrics"""
|
|
345
|
-
per_volume: NotRequired[bool]
|
|
346
|
-
r"""Generate separate metrics for each volume"""
|
|
347
|
-
detail: NotRequired[bool]
|
|
348
|
-
r"""Generate full disk metrics"""
|
|
349
257
|
volumes: NotRequired[List[str]]
|
|
350
258
|
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."""
|
|
259
|
+
per_volume: NotRequired[bool]
|
|
260
|
+
r"""Generate separate metrics for each volume"""
|
|
351
261
|
|
|
352
262
|
|
|
353
263
|
class InputWindowsMetricsDisk(BaseModel):
|
|
@@ -356,23 +266,11 @@ class InputWindowsMetricsDisk(BaseModel):
|
|
|
356
266
|
] = InputWindowsMetricsDiskMode.BASIC
|
|
357
267
|
r"""Select the level of details for disk metrics"""
|
|
358
268
|
|
|
359
|
-
per_volume: Annotated[Optional[bool], pydantic.Field(alias="perVolume")] = False
|
|
360
|
-
r"""Generate separate metrics for each volume"""
|
|
361
|
-
|
|
362
|
-
detail: Optional[bool] = False
|
|
363
|
-
r"""Generate full disk metrics"""
|
|
364
|
-
|
|
365
269
|
volumes: Optional[List[str]] = None
|
|
366
270
|
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."""
|
|
367
271
|
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
if isinstance(value, str):
|
|
371
|
-
try:
|
|
372
|
-
return models.InputWindowsMetricsDiskMode(value)
|
|
373
|
-
except ValueError:
|
|
374
|
-
return value
|
|
375
|
-
return value
|
|
272
|
+
per_volume: Annotated[Optional[bool], pydantic.Field(alias="perVolume")] = False
|
|
273
|
+
r"""Generate separate metrics for each volume"""
|
|
376
274
|
|
|
377
275
|
|
|
378
276
|
class InputWindowsMetricsCustomTypedDict(TypedDict):
|
|
@@ -409,15 +307,6 @@ class InputWindowsMetricsHost(BaseModel):
|
|
|
409
307
|
|
|
410
308
|
custom: Optional[InputWindowsMetricsCustom] = None
|
|
411
309
|
|
|
412
|
-
@field_serializer("mode")
|
|
413
|
-
def serialize_mode(self, value):
|
|
414
|
-
if isinstance(value, str):
|
|
415
|
-
try:
|
|
416
|
-
return models.InputWindowsMetricsHostMode(value)
|
|
417
|
-
except ValueError:
|
|
418
|
-
return value
|
|
419
|
-
return value
|
|
420
|
-
|
|
421
310
|
|
|
422
311
|
class InputWindowsMetricsSetTypedDict(TypedDict):
|
|
423
312
|
name: str
|
|
@@ -500,15 +389,6 @@ class InputWindowsMetricsPersistence(BaseModel):
|
|
|
500
389
|
)
|
|
501
390
|
r"""Path to use to write metrics. Defaults to $CRIBL_HOME/state/windows_metrics"""
|
|
502
391
|
|
|
503
|
-
@field_serializer("compress")
|
|
504
|
-
def serialize_compress(self, value):
|
|
505
|
-
if isinstance(value, str):
|
|
506
|
-
try:
|
|
507
|
-
return models.InputWindowsMetricsDataCompressionFormat(value)
|
|
508
|
-
except ValueError:
|
|
509
|
-
return value
|
|
510
|
-
return value
|
|
511
|
-
|
|
512
392
|
|
|
513
393
|
class InputWindowsMetricsTypedDict(TypedDict):
|
|
514
394
|
type: InputWindowsMetricsType
|
|
@@ -1,12 +1,11 @@
|
|
|
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
|
|
4
|
+
from cribl_control_plane import utils
|
|
5
5
|
from cribl_control_plane.types import BaseModel
|
|
6
6
|
from cribl_control_plane.utils import validate_open_enum
|
|
7
7
|
from enum import Enum
|
|
8
8
|
import pydantic
|
|
9
|
-
from pydantic import field_serializer
|
|
10
9
|
from pydantic.functional_validators import PlainValidator
|
|
11
10
|
from typing import List, Optional
|
|
12
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
@@ -30,18 +29,14 @@ class InputWinEventLogsConnection(BaseModel):
|
|
|
30
29
|
class InputWinEventLogsMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
31
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."""
|
|
32
31
|
|
|
33
|
-
# Smart
|
|
34
32
|
SMART = "smart"
|
|
35
|
-
# Always On
|
|
36
33
|
ALWAYS = "always"
|
|
37
34
|
|
|
38
35
|
|
|
39
36
|
class InputWinEventLogsCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
40
37
|
r"""Codec to use to compress the persisted data"""
|
|
41
38
|
|
|
42
|
-
# None
|
|
43
39
|
NONE = "none"
|
|
44
|
-
# Gzip
|
|
45
40
|
GZIP = "gzip"
|
|
46
41
|
|
|
47
42
|
|
|
@@ -108,40 +103,18 @@ class InputWinEventLogsPq(BaseModel):
|
|
|
108
103
|
Optional[InputWinEventLogsPqControls], pydantic.Field(alias="pqControls")
|
|
109
104
|
] = None
|
|
110
105
|
|
|
111
|
-
@field_serializer("mode")
|
|
112
|
-
def serialize_mode(self, value):
|
|
113
|
-
if isinstance(value, str):
|
|
114
|
-
try:
|
|
115
|
-
return models.InputWinEventLogsMode(value)
|
|
116
|
-
except ValueError:
|
|
117
|
-
return value
|
|
118
|
-
return value
|
|
119
|
-
|
|
120
|
-
@field_serializer("compress")
|
|
121
|
-
def serialize_compress(self, value):
|
|
122
|
-
if isinstance(value, str):
|
|
123
|
-
try:
|
|
124
|
-
return models.InputWinEventLogsCompression(value)
|
|
125
|
-
except ValueError:
|
|
126
|
-
return value
|
|
127
|
-
return value
|
|
128
|
-
|
|
129
106
|
|
|
130
107
|
class ReadMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
131
108
|
r"""Read all stored and future event logs, or only future events"""
|
|
132
109
|
|
|
133
|
-
# Entire log
|
|
134
110
|
OLDEST = "oldest"
|
|
135
|
-
# From last entry
|
|
136
111
|
NEWEST = "newest"
|
|
137
112
|
|
|
138
113
|
|
|
139
114
|
class EventFormat(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
140
115
|
r"""Format of individual events"""
|
|
141
116
|
|
|
142
|
-
# JSON
|
|
143
117
|
JSON = "json"
|
|
144
|
-
# XML
|
|
145
118
|
XML = "xml"
|
|
146
119
|
|
|
147
120
|
|
|
@@ -193,10 +166,6 @@ class InputWinEventLogsTypedDict(TypedDict):
|
|
|
193
166
|
max_event_bytes: NotRequired[float]
|
|
194
167
|
r"""The maximum number of bytes in an event before it is flushed to the pipelines"""
|
|
195
168
|
description: NotRequired[str]
|
|
196
|
-
disable_json_rendering: NotRequired[bool]
|
|
197
|
-
r"""Enable/disable the rendering of localized event message strings (Applicable for 4.8.0 nodes and newer that use the Native API)"""
|
|
198
|
-
disable_xml_rendering: NotRequired[bool]
|
|
199
|
-
r"""Enable/disable the rendering of localized event message strings (Applicable for 4.8.0 nodes and newer that use the Native API)"""
|
|
200
169
|
|
|
201
170
|
|
|
202
171
|
class InputWinEventLogs(BaseModel):
|
|
@@ -264,31 +233,3 @@ class InputWinEventLogs(BaseModel):
|
|
|
264
233
|
r"""The maximum number of bytes in an event before it is flushed to the pipelines"""
|
|
265
234
|
|
|
266
235
|
description: Optional[str] = None
|
|
267
|
-
|
|
268
|
-
disable_json_rendering: Annotated[
|
|
269
|
-
Optional[bool], pydantic.Field(alias="disableJsonRendering")
|
|
270
|
-
] = False
|
|
271
|
-
r"""Enable/disable the rendering of localized event message strings (Applicable for 4.8.0 nodes and newer that use the Native API)"""
|
|
272
|
-
|
|
273
|
-
disable_xml_rendering: Annotated[
|
|
274
|
-
Optional[bool], pydantic.Field(alias="disableXmlRendering")
|
|
275
|
-
] = True
|
|
276
|
-
r"""Enable/disable the rendering of localized event message strings (Applicable for 4.8.0 nodes and newer that use the Native API)"""
|
|
277
|
-
|
|
278
|
-
@field_serializer("read_mode")
|
|
279
|
-
def serialize_read_mode(self, value):
|
|
280
|
-
if isinstance(value, str):
|
|
281
|
-
try:
|
|
282
|
-
return models.ReadMode(value)
|
|
283
|
-
except ValueError:
|
|
284
|
-
return value
|
|
285
|
-
return value
|
|
286
|
-
|
|
287
|
-
@field_serializer("event_format")
|
|
288
|
-
def serialize_event_format(self, value):
|
|
289
|
-
if isinstance(value, str):
|
|
290
|
-
try:
|
|
291
|
-
return models.EventFormat(value)
|
|
292
|
-
except ValueError:
|
|
293
|
-
return value
|
|
294
|
-
return value
|