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,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 InputEventhubConnection(BaseModel):
|
|
|
30
29
|
class InputEventhubMode(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 InputEventhubCompression(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,92 +102,17 @@ class InputEventhubPq(BaseModel):
|
|
|
107
102
|
Optional[InputEventhubPqControls], 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.InputEventhubMode(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.InputEventhubCompression(value)
|
|
124
|
-
except ValueError:
|
|
125
|
-
return value
|
|
126
|
-
return value
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
class InputEventhubAuthTypeAuthenticationMethod(
|
|
130
|
-
str, Enum, metaclass=utils.OpenEnumMeta
|
|
131
|
-
):
|
|
132
|
-
r"""Enter password directly, or select a stored secret"""
|
|
133
|
-
|
|
134
|
-
MANUAL = "manual"
|
|
135
|
-
SECRET = "secret"
|
|
136
|
-
|
|
137
105
|
|
|
138
106
|
class InputEventhubSASLMechanism(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
139
|
-
# PLAIN
|
|
140
107
|
PLAIN = "plain"
|
|
141
|
-
# OAUTHBEARER
|
|
142
108
|
OAUTHBEARER = "oauthbearer"
|
|
143
109
|
|
|
144
110
|
|
|
145
|
-
class InputEventhubClientSecretAuthTypeAuthenticationMethod(
|
|
146
|
-
str, Enum, metaclass=utils.OpenEnumMeta
|
|
147
|
-
):
|
|
148
|
-
MANUAL = "manual"
|
|
149
|
-
SECRET = "secret"
|
|
150
|
-
CERTIFICATE = "certificate"
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
class InputEventhubMicrosoftEntraIDAuthenticationEndpoint(
|
|
154
|
-
str, Enum, metaclass=utils.OpenEnumMeta
|
|
155
|
-
):
|
|
156
|
-
r"""Endpoint used to acquire authentication tokens from Azure"""
|
|
157
|
-
|
|
158
|
-
HTTPS_LOGIN_MICROSOFTONLINE_COM = "https://login.microsoftonline.com"
|
|
159
|
-
HTTPS_LOGIN_MICROSOFTONLINE_US = "https://login.microsoftonline.us"
|
|
160
|
-
HTTPS_LOGIN_PARTNER_MICROSOFTONLINE_CN = "https://login.partner.microsoftonline.cn"
|
|
161
|
-
|
|
162
|
-
|
|
163
111
|
class InputEventhubAuthenticationTypedDict(TypedDict):
|
|
164
112
|
r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended."""
|
|
165
113
|
|
|
166
114
|
disabled: NotRequired[bool]
|
|
167
|
-
auth_type: NotRequired[InputEventhubAuthTypeAuthenticationMethod]
|
|
168
|
-
r"""Enter password directly, or select a stored secret"""
|
|
169
|
-
password: NotRequired[str]
|
|
170
|
-
r"""Connection-string primary key, or connection-string secondary key, from the Event Hubs workspace"""
|
|
171
|
-
text_secret: NotRequired[str]
|
|
172
|
-
r"""Select or create a stored text secret"""
|
|
173
115
|
mechanism: NotRequired[InputEventhubSASLMechanism]
|
|
174
|
-
username: NotRequired[str]
|
|
175
|
-
r"""The username for authentication. For Event Hubs, this should always be $ConnectionString."""
|
|
176
|
-
client_secret_auth_type: NotRequired[
|
|
177
|
-
InputEventhubClientSecretAuthTypeAuthenticationMethod
|
|
178
|
-
]
|
|
179
|
-
client_secret: NotRequired[str]
|
|
180
|
-
r"""client_secret to pass in the OAuth request parameter"""
|
|
181
|
-
client_text_secret: NotRequired[str]
|
|
182
|
-
r"""Select or create a stored text secret"""
|
|
183
|
-
certificate_name: NotRequired[str]
|
|
184
|
-
r"""Select or create a stored certificate"""
|
|
185
|
-
cert_path: NotRequired[str]
|
|
186
|
-
priv_key_path: NotRequired[str]
|
|
187
|
-
passphrase: NotRequired[str]
|
|
188
|
-
oauth_endpoint: NotRequired[InputEventhubMicrosoftEntraIDAuthenticationEndpoint]
|
|
189
|
-
r"""Endpoint used to acquire authentication tokens from Azure"""
|
|
190
|
-
client_id: NotRequired[str]
|
|
191
|
-
r"""client_id to pass in the OAuth request parameter"""
|
|
192
|
-
tenant_id: NotRequired[str]
|
|
193
|
-
r"""Directory ID (tenant identifier) in Azure Active Directory"""
|
|
194
|
-
scope: NotRequired[str]
|
|
195
|
-
r"""Scope to pass in the OAuth request parameter"""
|
|
196
116
|
|
|
197
117
|
|
|
198
118
|
class InputEventhubAuthentication(BaseModel):
|
|
@@ -200,111 +120,10 @@ class InputEventhubAuthentication(BaseModel):
|
|
|
200
120
|
|
|
201
121
|
disabled: Optional[bool] = False
|
|
202
122
|
|
|
203
|
-
auth_type: Annotated[
|
|
204
|
-
Annotated[
|
|
205
|
-
Optional[InputEventhubAuthTypeAuthenticationMethod],
|
|
206
|
-
PlainValidator(validate_open_enum(False)),
|
|
207
|
-
],
|
|
208
|
-
pydantic.Field(alias="authType"),
|
|
209
|
-
] = InputEventhubAuthTypeAuthenticationMethod.MANUAL
|
|
210
|
-
r"""Enter password directly, or select a stored secret"""
|
|
211
|
-
|
|
212
|
-
password: Optional[str] = None
|
|
213
|
-
r"""Connection-string primary key, or connection-string secondary key, from the Event Hubs workspace"""
|
|
214
|
-
|
|
215
|
-
text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None
|
|
216
|
-
r"""Select or create a stored text secret"""
|
|
217
|
-
|
|
218
123
|
mechanism: Annotated[
|
|
219
124
|
Optional[InputEventhubSASLMechanism], PlainValidator(validate_open_enum(False))
|
|
220
125
|
] = InputEventhubSASLMechanism.PLAIN
|
|
221
126
|
|
|
222
|
-
username: Optional[str] = "$ConnectionString"
|
|
223
|
-
r"""The username for authentication. For Event Hubs, this should always be $ConnectionString."""
|
|
224
|
-
|
|
225
|
-
client_secret_auth_type: Annotated[
|
|
226
|
-
Annotated[
|
|
227
|
-
Optional[InputEventhubClientSecretAuthTypeAuthenticationMethod],
|
|
228
|
-
PlainValidator(validate_open_enum(False)),
|
|
229
|
-
],
|
|
230
|
-
pydantic.Field(alias="clientSecretAuthType"),
|
|
231
|
-
] = InputEventhubClientSecretAuthTypeAuthenticationMethod.MANUAL
|
|
232
|
-
|
|
233
|
-
client_secret: Annotated[Optional[str], pydantic.Field(alias="clientSecret")] = None
|
|
234
|
-
r"""client_secret to pass in the OAuth request parameter"""
|
|
235
|
-
|
|
236
|
-
client_text_secret: Annotated[
|
|
237
|
-
Optional[str], pydantic.Field(alias="clientTextSecret")
|
|
238
|
-
] = None
|
|
239
|
-
r"""Select or create a stored text secret"""
|
|
240
|
-
|
|
241
|
-
certificate_name: Annotated[
|
|
242
|
-
Optional[str], pydantic.Field(alias="certificateName")
|
|
243
|
-
] = None
|
|
244
|
-
r"""Select or create a stored certificate"""
|
|
245
|
-
|
|
246
|
-
cert_path: Annotated[Optional[str], pydantic.Field(alias="certPath")] = None
|
|
247
|
-
|
|
248
|
-
priv_key_path: Annotated[Optional[str], pydantic.Field(alias="privKeyPath")] = None
|
|
249
|
-
|
|
250
|
-
passphrase: Optional[str] = None
|
|
251
|
-
|
|
252
|
-
oauth_endpoint: Annotated[
|
|
253
|
-
Annotated[
|
|
254
|
-
Optional[InputEventhubMicrosoftEntraIDAuthenticationEndpoint],
|
|
255
|
-
PlainValidator(validate_open_enum(False)),
|
|
256
|
-
],
|
|
257
|
-
pydantic.Field(alias="oauthEndpoint"),
|
|
258
|
-
] = InputEventhubMicrosoftEntraIDAuthenticationEndpoint.HTTPS_LOGIN_MICROSOFTONLINE_COM
|
|
259
|
-
r"""Endpoint used to acquire authentication tokens from Azure"""
|
|
260
|
-
|
|
261
|
-
client_id: Annotated[Optional[str], pydantic.Field(alias="clientId")] = None
|
|
262
|
-
r"""client_id to pass in the OAuth request parameter"""
|
|
263
|
-
|
|
264
|
-
tenant_id: Annotated[Optional[str], pydantic.Field(alias="tenantId")] = None
|
|
265
|
-
r"""Directory ID (tenant identifier) in Azure Active Directory"""
|
|
266
|
-
|
|
267
|
-
scope: Optional[str] = None
|
|
268
|
-
r"""Scope to pass in the OAuth request parameter"""
|
|
269
|
-
|
|
270
|
-
@field_serializer("auth_type")
|
|
271
|
-
def serialize_auth_type(self, value):
|
|
272
|
-
if isinstance(value, str):
|
|
273
|
-
try:
|
|
274
|
-
return models.InputEventhubAuthTypeAuthenticationMethod(value)
|
|
275
|
-
except ValueError:
|
|
276
|
-
return value
|
|
277
|
-
return value
|
|
278
|
-
|
|
279
|
-
@field_serializer("mechanism")
|
|
280
|
-
def serialize_mechanism(self, value):
|
|
281
|
-
if isinstance(value, str):
|
|
282
|
-
try:
|
|
283
|
-
return models.InputEventhubSASLMechanism(value)
|
|
284
|
-
except ValueError:
|
|
285
|
-
return value
|
|
286
|
-
return value
|
|
287
|
-
|
|
288
|
-
@field_serializer("client_secret_auth_type")
|
|
289
|
-
def serialize_client_secret_auth_type(self, value):
|
|
290
|
-
if isinstance(value, str):
|
|
291
|
-
try:
|
|
292
|
-
return models.InputEventhubClientSecretAuthTypeAuthenticationMethod(
|
|
293
|
-
value
|
|
294
|
-
)
|
|
295
|
-
except ValueError:
|
|
296
|
-
return value
|
|
297
|
-
return value
|
|
298
|
-
|
|
299
|
-
@field_serializer("oauth_endpoint")
|
|
300
|
-
def serialize_oauth_endpoint(self, value):
|
|
301
|
-
if isinstance(value, str):
|
|
302
|
-
try:
|
|
303
|
-
return models.InputEventhubMicrosoftEntraIDAuthenticationEndpoint(value)
|
|
304
|
-
except ValueError:
|
|
305
|
-
return value
|
|
306
|
-
return value
|
|
307
|
-
|
|
308
127
|
|
|
309
128
|
class InputEventhubTLSSettingsClientSideTypedDict(TypedDict):
|
|
310
129
|
disabled: NotRequired[bool]
|
|
@@ -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 InputExecConnection(BaseModel):
|
|
|
30
29
|
class InputExecMode(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 InputExecCompression(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 InputExecPq(BaseModel):
|
|
|
107
102
|
Optional[InputExecPqControls], 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.InputExecMode(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.InputExecCompression(value)
|
|
124
|
-
except ValueError:
|
|
125
|
-
return value
|
|
126
|
-
return value
|
|
127
|
-
|
|
128
105
|
|
|
129
106
|
class ScheduleType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
130
107
|
r"""Select a schedule type; either an interval (in seconds) or a cron-style schedule."""
|
|
@@ -247,12 +224,3 @@ class InputExec(BaseModel):
|
|
|
247
224
|
"* * * * *"
|
|
248
225
|
)
|
|
249
226
|
r"""Cron schedule to execute the command on."""
|
|
250
|
-
|
|
251
|
-
@field_serializer("schedule_type")
|
|
252
|
-
def serialize_schedule_type(self, value):
|
|
253
|
-
if isinstance(value, str):
|
|
254
|
-
try:
|
|
255
|
-
return models.ScheduleType(value)
|
|
256
|
-
except ValueError:
|
|
257
|
-
return value
|
|
258
|
-
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 InputFileConnection(BaseModel):
|
|
|
30
29
|
class InputFilePqMode(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 InputFileCompression(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 InputFilePq(BaseModel):
|
|
|
107
102
|
Optional[InputFilePqControls], 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.InputFilePqMode(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.InputFileCompression(value)
|
|
124
|
-
except ValueError:
|
|
125
|
-
return value
|
|
126
|
-
return value
|
|
127
|
-
|
|
128
105
|
|
|
129
106
|
class InputFileMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
130
107
|
r"""Choose how to discover files to monitor"""
|
|
131
108
|
|
|
132
|
-
# Auto
|
|
133
109
|
AUTO = "auto"
|
|
134
|
-
# Manual
|
|
135
110
|
MANUAL = "manual"
|
|
136
111
|
|
|
137
112
|
|
|
@@ -176,10 +151,8 @@ class InputFileTypedDict(TypedDict):
|
|
|
176
151
|
r"""Read only new entries at the end of all files discovered at next startup. @{product} will then read newly discovered files from the head. Disable this to resume reading all files from head."""
|
|
177
152
|
idle_timeout: NotRequired[float]
|
|
178
153
|
r"""Time, in seconds, before an idle file is closed"""
|
|
179
|
-
min_age_dur: NotRequired[str]
|
|
180
|
-
r"""The minimum age of files to monitor. Format examples: 30s, 15m, 1h. Age is relative to file modification time. Leave empty to apply no age filters."""
|
|
181
154
|
max_age_dur: NotRequired[str]
|
|
182
|
-
r"""The maximum age of
|
|
155
|
+
r"""The maximum age of files to monitor. Format examples: 60s, 4h, 3d, 1w. Age is relative to file modification time. Leave empty to apply no age filters."""
|
|
183
156
|
check_file_mod_time: NotRequired[bool]
|
|
184
157
|
r"""Skip files with modification times earlier than the maximum age duration"""
|
|
185
158
|
force_text: NotRequired[bool]
|
|
@@ -251,11 +224,8 @@ class InputFile(BaseModel):
|
|
|
251
224
|
idle_timeout: Annotated[Optional[float], pydantic.Field(alias="idleTimeout")] = 300
|
|
252
225
|
r"""Time, in seconds, before an idle file is closed"""
|
|
253
226
|
|
|
254
|
-
min_age_dur: Annotated[Optional[str], pydantic.Field(alias="minAgeDur")] = None
|
|
255
|
-
r"""The minimum age of files to monitor. Format examples: 30s, 15m, 1h. Age is relative to file modification time. Leave empty to apply no age filters."""
|
|
256
|
-
|
|
257
227
|
max_age_dur: Annotated[Optional[str], pydantic.Field(alias="maxAgeDur")] = None
|
|
258
|
-
r"""The maximum age of
|
|
228
|
+
r"""The maximum age of files to monitor. Format examples: 60s, 4h, 3d, 1w. Age is relative to file modification time. Leave empty to apply no age filters."""
|
|
259
229
|
|
|
260
230
|
check_file_mod_time: Annotated[
|
|
261
231
|
Optional[bool], pydantic.Field(alias="checkFileModTime")
|
|
@@ -300,12 +270,3 @@ class InputFile(BaseModel):
|
|
|
300
270
|
Optional[bool], pydantic.Field(alias="includeUnidentifiableBinary")
|
|
301
271
|
] = False
|
|
302
272
|
r"""Stream binary files as Base64-encoded chunks."""
|
|
303
|
-
|
|
304
|
-
@field_serializer("mode")
|
|
305
|
-
def serialize_mode(self, value):
|
|
306
|
-
if isinstance(value, str):
|
|
307
|
-
try:
|
|
308
|
-
return models.InputFileMode(value)
|
|
309
|
-
except ValueError:
|
|
310
|
-
return value
|
|
311
|
-
return value
|
|
@@ -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 InputFirehoseConnection(BaseModel):
|
|
|
30
29
|
class InputFirehoseMode(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 InputFirehoseCompression(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 InputFirehosePq(BaseModel):
|
|
|
107
102
|
Optional[InputFirehosePqControls], 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.InputFirehoseMode(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.InputFirehoseCompression(value)
|
|
124
|
-
except ValueError:
|
|
125
|
-
return value
|
|
126
|
-
return value
|
|
127
|
-
|
|
128
105
|
|
|
129
106
|
class InputFirehoseMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
130
107
|
TL_SV1 = "TLSv1"
|
|
@@ -142,12 +119,6 @@ class InputFirehoseMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
142
119
|
|
|
143
120
|
class InputFirehoseTLSSettingsServerSideTypedDict(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 InputFirehoseTLSSettingsServerSideTypedDict(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[InputFirehoseMinimumTLSVersion]
|
|
162
137
|
max_version: NotRequired[InputFirehoseMaximumTLSVersion]
|
|
163
138
|
|
|
@@ -165,19 +140,6 @@ class InputFirehoseTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
165
140
|
class InputFirehoseTLSSettingsServerSide(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 InputFirehoseTLSSettingsServerSide(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[InputFirehoseMinimumTLSVersion],
|
|
@@ -211,24 +184,6 @@ class InputFirehoseTLSSettingsServerSide(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.InputFirehoseMinimumTLSVersion(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.InputFirehoseMaximumTLSVersion(value)
|
|
228
|
-
except ValueError:
|
|
229
|
-
return value
|
|
230
|
-
return value
|
|
231
|
-
|
|
232
187
|
|
|
233
188
|
class InputFirehoseMetadatumTypedDict(TypedDict):
|
|
234
189
|
name: str
|
|
@@ -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 InputGooglePubsubConnection(BaseModel):
|
|
|
30
29
|
class InputGooglePubsubMode(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 InputGooglePubsubCompression(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,35 +103,14 @@ class InputGooglePubsubPq(BaseModel):
|
|
|
108
103
|
Optional[InputGooglePubsubPqControls], 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.InputGooglePubsubMode(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.InputGooglePubsubCompression(value)
|
|
125
|
-
except ValueError:
|
|
126
|
-
return value
|
|
127
|
-
return value
|
|
128
|
-
|
|
129
106
|
|
|
130
107
|
class InputGooglePubsubGoogleAuthenticationMethod(
|
|
131
108
|
str, Enum, metaclass=utils.OpenEnumMeta
|
|
132
109
|
):
|
|
133
110
|
r"""Choose Auto to use Google Application Default Credentials (ADC), Manual to enter Google service account credentials directly, or Secret to select or create a stored secret that references Google service account credentials."""
|
|
134
111
|
|
|
135
|
-
# Auto
|
|
136
112
|
AUTO = "auto"
|
|
137
|
-
# Manual
|
|
138
113
|
MANUAL = "manual"
|
|
139
|
-
# Secret
|
|
140
114
|
SECRET = "secret"
|
|
141
115
|
|
|
142
116
|
|
|
@@ -291,12 +265,3 @@ class InputGooglePubsub(BaseModel):
|
|
|
291
265
|
Optional[bool], pydantic.Field(alias="orderedDelivery")
|
|
292
266
|
] = False
|
|
293
267
|
r"""Receive events in the order they were added to the queue. The process sending events must have ordering enabled."""
|
|
294
|
-
|
|
295
|
-
@field_serializer("google_auth_method")
|
|
296
|
-
def serialize_google_auth_method(self, value):
|
|
297
|
-
if isinstance(value, str):
|
|
298
|
-
try:
|
|
299
|
-
return models.InputGooglePubsubGoogleAuthenticationMethod(value)
|
|
300
|
-
except ValueError:
|
|
301
|
-
return value
|
|
302
|
-
return value
|