cribl-control-plane 0.3.0b3__py3-none-any.whl → 0.3.0b5__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/models/__init__.py +111 -3
- cribl_control_plane/models/cacheconnection.py +20 -0
- cribl_control_plane/models/configgroup.py +20 -1
- cribl_control_plane/models/configgroupcloud.py +11 -1
- cribl_control_plane/models/createconfiggroupbyproductop.py +11 -0
- cribl_control_plane/models/cribllakedataset.py +11 -1
- cribl_control_plane/models/cribllakedatasetupdate.py +11 -1
- cribl_control_plane/models/datasetmetadata.py +11 -1
- cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +11 -0
- cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +20 -0
- cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +20 -0
- cribl_control_plane/models/getconfiggroupbyproductandidop.py +11 -0
- cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +11 -0
- cribl_control_plane/models/getsummaryop.py +11 -0
- cribl_control_plane/models/groupcreaterequest.py +20 -1
- cribl_control_plane/models/hbcriblinfo.py +11 -1
- cribl_control_plane/models/healthserverstatus.py +20 -1
- cribl_control_plane/models/input.py +15 -15
- cribl_control_plane/models/inputappscope.py +76 -17
- cribl_control_plane/models/inputazureblob.py +29 -1
- cribl_control_plane/models/inputcollection.py +20 -1
- cribl_control_plane/models/inputconfluentcloud.py +188 -1
- cribl_control_plane/models/inputcribl.py +20 -1
- cribl_control_plane/models/inputcriblhttp.py +58 -17
- cribl_control_plane/models/inputcribllakehttp.py +58 -17
- cribl_control_plane/models/inputcriblmetrics.py +20 -1
- cribl_control_plane/models/inputcribltcp.py +58 -17
- cribl_control_plane/models/inputcrowdstrike.py +47 -1
- cribl_control_plane/models/inputdatadogagent.py +58 -17
- cribl_control_plane/models/inputdatagen.py +20 -1
- cribl_control_plane/models/inputedgeprometheus.py +138 -37
- cribl_control_plane/models/inputelastic.py +108 -27
- cribl_control_plane/models/inputeventhub.py +176 -1
- cribl_control_plane/models/inputexec.py +29 -1
- cribl_control_plane/models/inputfile.py +36 -3
- cribl_control_plane/models/inputfirehose.py +58 -17
- cribl_control_plane/models/inputgooglepubsub.py +29 -1
- cribl_control_plane/models/inputgrafana.py +149 -32
- cribl_control_plane/models/inputhttp.py +58 -17
- cribl_control_plane/models/inputhttpraw.py +58 -17
- cribl_control_plane/models/inputjournalfiles.py +20 -1
- cribl_control_plane/models/inputkafka.py +182 -1
- cribl_control_plane/models/inputkinesis.py +65 -1
- cribl_control_plane/models/inputkubeevents.py +20 -1
- cribl_control_plane/models/inputkubelogs.py +29 -1
- cribl_control_plane/models/inputkubemetrics.py +29 -1
- cribl_control_plane/models/inputloki.py +67 -17
- cribl_control_plane/models/inputmetrics.py +58 -17
- cribl_control_plane/models/inputmodeldriventelemetry.py +58 -17
- cribl_control_plane/models/inputmsk.py +74 -1
- cribl_control_plane/models/inputnetflow.py +20 -1
- cribl_control_plane/models/inputoffice365mgmt.py +56 -1
- cribl_control_plane/models/inputoffice365msgtrace.py +56 -1
- cribl_control_plane/models/inputoffice365service.py +56 -1
- cribl_control_plane/models/inputopentelemetry.py +84 -16
- cribl_control_plane/models/inputprometheus.py +131 -37
- cribl_control_plane/models/inputprometheusrw.py +67 -17
- cribl_control_plane/models/inputrawudp.py +20 -1
- cribl_control_plane/models/inputs3.py +38 -1
- cribl_control_plane/models/inputs3inventory.py +47 -1
- cribl_control_plane/models/inputsecuritylake.py +47 -1
- cribl_control_plane/models/inputsnmp.py +29 -1
- cribl_control_plane/models/inputsplunk.py +76 -17
- cribl_control_plane/models/inputsplunkhec.py +66 -16
- cribl_control_plane/models/inputsplunksearch.py +56 -1
- cribl_control_plane/models/inputsqs.py +47 -1
- cribl_control_plane/models/inputsyslog.py +113 -32
- cribl_control_plane/models/inputsystemmetrics.py +110 -9
- cribl_control_plane/models/inputsystemstate.py +29 -1
- cribl_control_plane/models/inputtcp.py +77 -17
- cribl_control_plane/models/inputtcpjson.py +67 -17
- cribl_control_plane/models/inputwef.py +65 -1
- cribl_control_plane/models/inputwindowsmetrics.py +101 -9
- cribl_control_plane/models/inputwineventlogs.py +52 -1
- cribl_control_plane/models/inputwiz.py +38 -1
- cribl_control_plane/models/inputwizwebhook.py +58 -17
- cribl_control_plane/models/inputzscalerhec.py +66 -16
- cribl_control_plane/models/listconfiggroupbyproductop.py +11 -0
- cribl_control_plane/models/masterworkerentry.py +11 -1
- cribl_control_plane/models/nodeupgradestatus.py +38 -0
- cribl_control_plane/models/output.py +21 -21
- cribl_control_plane/models/outputazureblob.py +90 -1
- cribl_control_plane/models/outputazuredataexplorer.py +430 -93
- cribl_control_plane/models/outputazureeventhub.py +267 -22
- cribl_control_plane/models/outputazurelogs.py +105 -22
- cribl_control_plane/models/outputchronicle.py +105 -22
- cribl_control_plane/models/outputclickhouse.py +141 -22
- cribl_control_plane/models/outputcloudwatch.py +96 -22
- cribl_control_plane/models/outputconfluentcloud.py +290 -23
- cribl_control_plane/models/outputcriblhttp.py +123 -22
- cribl_control_plane/models/outputcribllake.py +76 -1
- cribl_control_plane/models/outputcribltcp.py +123 -22
- cribl_control_plane/models/outputcrowdstrikenextgensiem.py +117 -23
- cribl_control_plane/models/outputdatabricks.py +72 -1
- cribl_control_plane/models/outputdatadog.py +132 -22
- cribl_control_plane/models/outputdataset.py +123 -22
- cribl_control_plane/models/outputdiskspool.py +11 -1
- cribl_control_plane/models/outputdls3.py +117 -1
- cribl_control_plane/models/outputdynatracehttp.py +141 -22
- cribl_control_plane/models/outputdynatraceotlp.py +141 -22
- cribl_control_plane/models/outputelastic.py +148 -22
- cribl_control_plane/models/outputelasticcloud.py +130 -22
- cribl_control_plane/models/outputexabeam.py +47 -1
- cribl_control_plane/models/outputfilesystem.py +72 -1
- cribl_control_plane/models/outputgooglechronicle.py +148 -23
- cribl_control_plane/models/outputgooglecloudlogging.py +115 -23
- cribl_control_plane/models/outputgooglecloudstorage.py +108 -1
- cribl_control_plane/models/outputgooglepubsub.py +96 -22
- cribl_control_plane/models/outputgrafanacloud.py +244 -43
- cribl_control_plane/models/outputgraphite.py +96 -22
- cribl_control_plane/models/outputhoneycomb.py +105 -22
- cribl_control_plane/models/outputhumiohec.py +114 -22
- cribl_control_plane/models/outputinfluxdb.py +114 -22
- cribl_control_plane/models/outputkafka.py +281 -20
- cribl_control_plane/models/outputkinesis.py +121 -22
- cribl_control_plane/models/outputloki.py +112 -20
- cribl_control_plane/models/outputminio.py +117 -1
- cribl_control_plane/models/outputmsk.py +173 -20
- cribl_control_plane/models/outputnewrelic.py +123 -22
- cribl_control_plane/models/outputnewrelicevents.py +115 -23
- cribl_control_plane/models/outputopentelemetry.py +159 -22
- cribl_control_plane/models/outputprometheus.py +105 -22
- cribl_control_plane/models/outputring.py +29 -1
- cribl_control_plane/models/outputs3.py +117 -1
- cribl_control_plane/models/outputsecuritylake.py +85 -1
- cribl_control_plane/models/outputsentinel.py +123 -22
- cribl_control_plane/models/outputsentineloneaisiem.py +124 -23
- cribl_control_plane/models/outputservicenow.py +150 -22
- cribl_control_plane/models/outputsignalfx.py +105 -22
- cribl_control_plane/models/outputsns.py +103 -20
- cribl_control_plane/models/outputsplunk.py +141 -22
- cribl_control_plane/models/outputsplunkhec.py +198 -22
- cribl_control_plane/models/outputsplunklb.py +170 -22
- cribl_control_plane/models/outputsqs.py +112 -20
- cribl_control_plane/models/outputstatsd.py +96 -22
- cribl_control_plane/models/outputstatsdext.py +96 -22
- cribl_control_plane/models/outputsumologic.py +105 -22
- cribl_control_plane/models/outputsyslog.py +238 -99
- cribl_control_plane/models/outputtcpjson.py +132 -22
- cribl_control_plane/models/outputwavefront.py +105 -22
- cribl_control_plane/models/outputwebhook.py +141 -22
- cribl_control_plane/models/outputxsiam.py +103 -20
- cribl_control_plane/models/resourcepolicy.py +11 -0
- cribl_control_plane/models/runnablejobcollection.py +68 -9
- cribl_control_plane/models/runnablejobexecutor.py +32 -9
- cribl_control_plane/models/runnablejobscheduledsearch.py +23 -9
- cribl_control_plane/models/updateconfiggroupbyproductandidop.py +11 -0
- cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +11 -0
- {cribl_control_plane-0.3.0b3.dist-info → cribl_control_plane-0.3.0b5.dist-info}/METADATA +1 -1
- {cribl_control_plane-0.3.0b3.dist-info → cribl_control_plane-0.3.0b5.dist-info}/RECORD +152 -152
- {cribl_control_plane-0.3.0b3.dist-info → cribl_control_plane-0.3.0b5.dist-info}/WHEEL +0 -0
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
-
from cribl_control_plane import utils
|
|
4
|
+
from cribl_control_plane import models, 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
|
|
9
10
|
from pydantic.functional_validators import PlainValidator
|
|
10
|
-
from typing import
|
|
11
|
+
from typing import List, Optional
|
|
11
12
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
13
|
|
|
13
14
|
|
|
@@ -106,6 +107,24 @@ class InputElasticPq(BaseModel):
|
|
|
106
107
|
Optional[InputElasticPqControls], pydantic.Field(alias="pqControls")
|
|
107
108
|
] = None
|
|
108
109
|
|
|
110
|
+
@field_serializer("mode")
|
|
111
|
+
def serialize_mode(self, value):
|
|
112
|
+
if isinstance(value, str):
|
|
113
|
+
try:
|
|
114
|
+
return models.InputElasticMode(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.InputElasticCompression(value)
|
|
124
|
+
except ValueError:
|
|
125
|
+
return value
|
|
126
|
+
return value
|
|
127
|
+
|
|
109
128
|
|
|
110
129
|
class InputElasticMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
111
130
|
TL_SV1 = "TLSv1"
|
|
@@ -123,6 +142,12 @@ class InputElasticMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
123
142
|
|
|
124
143
|
class InputElasticTLSSettingsServerSideTypedDict(TypedDict):
|
|
125
144
|
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"""
|
|
126
151
|
certificate_name: NotRequired[str]
|
|
127
152
|
r"""The name of the predefined certificate"""
|
|
128
153
|
priv_key_path: NotRequired[str]
|
|
@@ -133,10 +158,6 @@ class InputElasticTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
133
158
|
r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
134
159
|
ca_path: NotRequired[str]
|
|
135
160
|
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]
|
|
140
161
|
min_version: NotRequired[InputElasticMinimumTLSVersion]
|
|
141
162
|
max_version: NotRequired[InputElasticMaximumTLSVersion]
|
|
142
163
|
|
|
@@ -144,6 +165,19 @@ class InputElasticTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
144
165
|
class InputElasticTLSSettingsServerSide(BaseModel):
|
|
145
166
|
disabled: Optional[bool] = True
|
|
146
167
|
|
|
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
|
+
|
|
147
181
|
certificate_name: Annotated[
|
|
148
182
|
Optional[str], pydantic.Field(alias="certificateName")
|
|
149
183
|
] = None
|
|
@@ -161,17 +195,6 @@ class InputElasticTLSSettingsServerSide(BaseModel):
|
|
|
161
195
|
ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
|
|
162
196
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
163
197
|
|
|
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
|
-
|
|
175
198
|
min_version: Annotated[
|
|
176
199
|
Annotated[
|
|
177
200
|
Optional[InputElasticMinimumTLSVersion],
|
|
@@ -188,6 +211,24 @@ class InputElasticTLSSettingsServerSide(BaseModel):
|
|
|
188
211
|
pydantic.Field(alias="maxVersion"),
|
|
189
212
|
] = None
|
|
190
213
|
|
|
214
|
+
@field_serializer("min_version")
|
|
215
|
+
def serialize_min_version(self, value):
|
|
216
|
+
if isinstance(value, str):
|
|
217
|
+
try:
|
|
218
|
+
return models.InputElasticMinimumTLSVersion(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.InputElasticMaximumTLSVersion(value)
|
|
228
|
+
except ValueError:
|
|
229
|
+
return value
|
|
230
|
+
return value
|
|
231
|
+
|
|
191
232
|
|
|
192
233
|
class InputElasticAuthenticationType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
193
234
|
# None
|
|
@@ -246,6 +287,12 @@ class InputElasticAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
246
287
|
class InputElasticProxyModeTypedDict(TypedDict):
|
|
247
288
|
enabled: NotRequired[bool]
|
|
248
289
|
r"""Enable proxying of non-bulk API requests to an external Elastic server. Enable this only if you understand the implications. See [Cribl Docs](https://docs.cribl.io/stream/sources-elastic/#proxy-mode) for more details."""
|
|
290
|
+
auth_type: NotRequired[InputElasticAuthenticationMethod]
|
|
291
|
+
r"""Enter credentials directly, or select a stored secret"""
|
|
292
|
+
username: NotRequired[str]
|
|
293
|
+
password: NotRequired[str]
|
|
294
|
+
credentials_secret: NotRequired[str]
|
|
295
|
+
r"""Select or create a secret that references your credentials"""
|
|
249
296
|
url: NotRequired[str]
|
|
250
297
|
r"""URL of the Elastic server to proxy non-bulk requests to, such as http://elastic:9200"""
|
|
251
298
|
reject_unauthorized: NotRequired[bool]
|
|
@@ -254,14 +301,30 @@ class InputElasticProxyModeTypedDict(TypedDict):
|
|
|
254
301
|
r"""List of headers to remove from the request to proxy"""
|
|
255
302
|
timeout_sec: NotRequired[float]
|
|
256
303
|
r"""Amount of time, in seconds, to wait for a proxy request to complete before canceling it"""
|
|
257
|
-
auth_type: NotRequired[InputElasticAuthenticationMethod]
|
|
258
|
-
r"""Enter credentials directly, or select a stored secret"""
|
|
259
304
|
|
|
260
305
|
|
|
261
306
|
class InputElasticProxyMode(BaseModel):
|
|
262
307
|
enabled: Optional[bool] = False
|
|
263
308
|
r"""Enable proxying of non-bulk API requests to an external Elastic server. Enable this only if you understand the implications. See [Cribl Docs](https://docs.cribl.io/stream/sources-elastic/#proxy-mode) for more details."""
|
|
264
309
|
|
|
310
|
+
auth_type: Annotated[
|
|
311
|
+
Annotated[
|
|
312
|
+
Optional[InputElasticAuthenticationMethod],
|
|
313
|
+
PlainValidator(validate_open_enum(False)),
|
|
314
|
+
],
|
|
315
|
+
pydantic.Field(alias="authType"),
|
|
316
|
+
] = InputElasticAuthenticationMethod.NONE
|
|
317
|
+
r"""Enter credentials directly, or select a stored secret"""
|
|
318
|
+
|
|
319
|
+
username: Optional[str] = None
|
|
320
|
+
|
|
321
|
+
password: Optional[str] = None
|
|
322
|
+
|
|
323
|
+
credentials_secret: Annotated[
|
|
324
|
+
Optional[str], pydantic.Field(alias="credentialsSecret")
|
|
325
|
+
] = None
|
|
326
|
+
r"""Select or create a secret that references your credentials"""
|
|
327
|
+
|
|
265
328
|
url: Optional[str] = None
|
|
266
329
|
r"""URL of the Elastic server to proxy non-bulk requests to, such as http://elastic:9200"""
|
|
267
330
|
|
|
@@ -278,14 +341,14 @@ class InputElasticProxyMode(BaseModel):
|
|
|
278
341
|
timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = 60
|
|
279
342
|
r"""Amount of time, in seconds, to wait for a proxy request to complete before canceling it"""
|
|
280
343
|
|
|
281
|
-
auth_type
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
344
|
+
@field_serializer("auth_type")
|
|
345
|
+
def serialize_auth_type(self, value):
|
|
346
|
+
if isinstance(value, str):
|
|
347
|
+
try:
|
|
348
|
+
return models.InputElasticAuthenticationMethod(value)
|
|
349
|
+
except ValueError:
|
|
350
|
+
return value
|
|
351
|
+
return value
|
|
289
352
|
|
|
290
353
|
|
|
291
354
|
class InputElasticTypedDict(TypedDict):
|
|
@@ -516,3 +579,21 @@ class InputElastic(BaseModel):
|
|
|
516
579
|
"}"
|
|
517
580
|
)
|
|
518
581
|
r"""Custom version information to respond to requests"""
|
|
582
|
+
|
|
583
|
+
@field_serializer("auth_type")
|
|
584
|
+
def serialize_auth_type(self, value):
|
|
585
|
+
if isinstance(value, str):
|
|
586
|
+
try:
|
|
587
|
+
return models.InputElasticAuthenticationType(value)
|
|
588
|
+
except ValueError:
|
|
589
|
+
return value
|
|
590
|
+
return value
|
|
591
|
+
|
|
592
|
+
@field_serializer("api_version")
|
|
593
|
+
def serialize_api_version(self, value):
|
|
594
|
+
if isinstance(value, str):
|
|
595
|
+
try:
|
|
596
|
+
return models.InputElasticAPIVersion(value)
|
|
597
|
+
except ValueError:
|
|
598
|
+
return value
|
|
599
|
+
return value
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
-
from cribl_control_plane import utils
|
|
4
|
+
from cribl_control_plane import models, 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
|
|
9
10
|
from pydantic.functional_validators import PlainValidator
|
|
10
11
|
from typing import List, Optional
|
|
11
12
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
@@ -106,6 +107,33 @@ class InputEventhubPq(BaseModel):
|
|
|
106
107
|
Optional[InputEventhubPqControls], pydantic.Field(alias="pqControls")
|
|
107
108
|
] = None
|
|
108
109
|
|
|
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
|
+
|
|
109
137
|
|
|
110
138
|
class InputEventhubSASLMechanism(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
111
139
|
# PLAIN
|
|
@@ -114,11 +142,57 @@ class InputEventhubSASLMechanism(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
114
142
|
OAUTHBEARER = "oauthbearer"
|
|
115
143
|
|
|
116
144
|
|
|
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
|
+
|
|
117
163
|
class InputEventhubAuthenticationTypedDict(TypedDict):
|
|
118
164
|
r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended."""
|
|
119
165
|
|
|
120
166
|
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"""
|
|
121
173
|
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"""
|
|
122
196
|
|
|
123
197
|
|
|
124
198
|
class InputEventhubAuthentication(BaseModel):
|
|
@@ -126,10 +200,111 @@ class InputEventhubAuthentication(BaseModel):
|
|
|
126
200
|
|
|
127
201
|
disabled: Optional[bool] = False
|
|
128
202
|
|
|
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
|
+
|
|
129
218
|
mechanism: Annotated[
|
|
130
219
|
Optional[InputEventhubSASLMechanism], PlainValidator(validate_open_enum(False))
|
|
131
220
|
] = InputEventhubSASLMechanism.PLAIN
|
|
132
221
|
|
|
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
|
+
|
|
133
308
|
|
|
134
309
|
class InputEventhubTLSSettingsClientSideTypedDict(TypedDict):
|
|
135
310
|
disabled: NotRequired[bool]
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
-
from cribl_control_plane import utils
|
|
4
|
+
from cribl_control_plane import models, 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
|
|
9
10
|
from pydantic.functional_validators import PlainValidator
|
|
10
11
|
from typing import List, Optional
|
|
11
12
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
@@ -106,6 +107,24 @@ class InputExecPq(BaseModel):
|
|
|
106
107
|
Optional[InputExecPqControls], pydantic.Field(alias="pqControls")
|
|
107
108
|
] = None
|
|
108
109
|
|
|
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
|
+
|
|
109
128
|
|
|
110
129
|
class ScheduleType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
111
130
|
r"""Select a schedule type; either an interval (in seconds) or a cron-style schedule."""
|
|
@@ -228,3 +247,12 @@ class InputExec(BaseModel):
|
|
|
228
247
|
"* * * * *"
|
|
229
248
|
)
|
|
230
249
|
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,11 +1,12 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
-
from cribl_control_plane import utils
|
|
4
|
+
from cribl_control_plane import models, 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
|
|
9
10
|
from pydantic.functional_validators import PlainValidator
|
|
10
11
|
from typing import List, Optional
|
|
11
12
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
@@ -106,6 +107,24 @@ class InputFilePq(BaseModel):
|
|
|
106
107
|
Optional[InputFilePqControls], pydantic.Field(alias="pqControls")
|
|
107
108
|
] = None
|
|
108
109
|
|
|
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
|
+
|
|
109
128
|
|
|
110
129
|
class InputFileMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
111
130
|
r"""Choose how to discover files to monitor"""
|
|
@@ -157,8 +176,10 @@ class InputFileTypedDict(TypedDict):
|
|
|
157
176
|
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."""
|
|
158
177
|
idle_timeout: NotRequired[float]
|
|
159
178
|
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."""
|
|
160
181
|
max_age_dur: NotRequired[str]
|
|
161
|
-
r"""The maximum age of
|
|
182
|
+
r"""The maximum age of event timestamps to collect. Format examples: 60s, 4h, 3d, 1w. Can be used in conjuction with \"Check file modification times\". Leave empty to apply no age filters."""
|
|
162
183
|
check_file_mod_time: NotRequired[bool]
|
|
163
184
|
r"""Skip files with modification times earlier than the maximum age duration"""
|
|
164
185
|
force_text: NotRequired[bool]
|
|
@@ -230,8 +251,11 @@ class InputFile(BaseModel):
|
|
|
230
251
|
idle_timeout: Annotated[Optional[float], pydantic.Field(alias="idleTimeout")] = 300
|
|
231
252
|
r"""Time, in seconds, before an idle file is closed"""
|
|
232
253
|
|
|
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
|
+
|
|
233
257
|
max_age_dur: Annotated[Optional[str], pydantic.Field(alias="maxAgeDur")] = None
|
|
234
|
-
r"""The maximum age of
|
|
258
|
+
r"""The maximum age of event timestamps to collect. Format examples: 60s, 4h, 3d, 1w. Can be used in conjuction with \"Check file modification times\". Leave empty to apply no age filters."""
|
|
235
259
|
|
|
236
260
|
check_file_mod_time: Annotated[
|
|
237
261
|
Optional[bool], pydantic.Field(alias="checkFileModTime")
|
|
@@ -276,3 +300,12 @@ class InputFile(BaseModel):
|
|
|
276
300
|
Optional[bool], pydantic.Field(alias="includeUnidentifiableBinary")
|
|
277
301
|
] = False
|
|
278
302
|
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
|