cribl-control-plane 0.2.1rc3__py3-none-any.whl → 0.2.1rc4__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/groups_sdk.py +0 -3
- cribl_control_plane/models/__init__.py +105 -28
- cribl_control_plane/models/input.py +14 -14
- cribl_control_plane/models/inputappscope.py +20 -16
- cribl_control_plane/models/inputconfluentcloud.py +110 -0
- cribl_control_plane/models/inputcriblhttp.py +20 -16
- cribl_control_plane/models/inputcribllakehttp.py +20 -16
- cribl_control_plane/models/inputcribltcp.py +20 -16
- cribl_control_plane/models/inputdatadogagent.py +20 -16
- cribl_control_plane/models/inputedgeprometheus.py +44 -36
- cribl_control_plane/models/inputelastic.py +44 -27
- cribl_control_plane/models/inputeventhub.py +118 -0
- cribl_control_plane/models/inputfirehose.py +20 -16
- cribl_control_plane/models/inputgrafana.py +39 -31
- cribl_control_plane/models/inputhttp.py +20 -16
- cribl_control_plane/models/inputhttpraw.py +20 -16
- cribl_control_plane/models/inputkafka.py +108 -0
- cribl_control_plane/models/inputloki.py +20 -16
- cribl_control_plane/models/inputmetrics.py +20 -16
- cribl_control_plane/models/inputmodeldriventelemetry.py +20 -16
- cribl_control_plane/models/inputopentelemetry.py +19 -15
- cribl_control_plane/models/inputprometheus.py +44 -36
- cribl_control_plane/models/inputprometheusrw.py +20 -16
- cribl_control_plane/models/inputsplunk.py +20 -16
- cribl_control_plane/models/inputsplunkhec.py +19 -15
- cribl_control_plane/models/inputsyslog.py +39 -31
- cribl_control_plane/models/inputsystemmetrics.py +20 -10
- cribl_control_plane/models/inputtcp.py +30 -16
- cribl_control_plane/models/inputtcpjson.py +20 -16
- cribl_control_plane/models/inputwindowsmetrics.py +20 -10
- cribl_control_plane/models/inputwineventlogs.py +14 -0
- cribl_control_plane/models/inputwizwebhook.py +20 -16
- cribl_control_plane/models/inputzscalerhec.py +19 -15
- cribl_control_plane/models/output.py +22 -22
- cribl_control_plane/models/outputazureblob.py +7 -0
- cribl_control_plane/models/outputazuredataexplorer.py +283 -93
- cribl_control_plane/models/outputazureeventhub.py +169 -21
- cribl_control_plane/models/outputazurelogs.py +49 -21
- cribl_control_plane/models/outputchronicle.py +49 -21
- cribl_control_plane/models/outputclickhouse.py +49 -21
- cribl_control_plane/models/outputcloudwatch.py +49 -21
- cribl_control_plane/models/outputconfluentcloud.py +167 -22
- cribl_control_plane/models/outputcriblhttp.py +49 -21
- cribl_control_plane/models/outputcribltcp.py +49 -21
- cribl_control_plane/models/outputcrowdstrikenextgensiem.py +50 -22
- cribl_control_plane/models/outputdatabricks.py +7 -0
- cribl_control_plane/models/outputdatadog.py +49 -21
- cribl_control_plane/models/outputdataset.py +49 -21
- cribl_control_plane/models/outputdls3.py +7 -0
- cribl_control_plane/models/outputdynatracehttp.py +49 -21
- cribl_control_plane/models/outputdynatraceotlp.py +49 -21
- cribl_control_plane/models/outputelastic.py +74 -21
- cribl_control_plane/models/outputelasticcloud.py +74 -21
- cribl_control_plane/models/outputfilesystem.py +7 -0
- cribl_control_plane/models/outputgooglechronicle.py +65 -22
- cribl_control_plane/models/outputgooglecloudlogging.py +50 -22
- cribl_control_plane/models/outputgooglecloudstorage.py +7 -0
- cribl_control_plane/models/outputgooglepubsub.py +49 -21
- cribl_control_plane/models/outputgrafanacloud.py +98 -42
- cribl_control_plane/models/outputgraphite.py +49 -21
- cribl_control_plane/models/outputhoneycomb.py +49 -21
- cribl_control_plane/models/outputhumiohec.py +49 -21
- cribl_control_plane/models/outputinfluxdb.py +49 -21
- cribl_control_plane/models/outputkafka.py +162 -19
- cribl_control_plane/models/outputkinesis.py +56 -21
- cribl_control_plane/models/outputloki.py +47 -19
- cribl_control_plane/models/outputminio.py +7 -0
- cribl_control_plane/models/outputmsk.py +54 -19
- cribl_control_plane/models/outputnewrelic.py +49 -21
- cribl_control_plane/models/outputnewrelicevents.py +50 -22
- cribl_control_plane/models/outputopentelemetry.py +49 -21
- cribl_control_plane/models/outputprometheus.py +49 -21
- cribl_control_plane/models/outputs3.py +7 -0
- cribl_control_plane/models/outputsentinel.py +49 -21
- cribl_control_plane/models/outputsentineloneaisiem.py +50 -22
- cribl_control_plane/models/outputservicenow.py +49 -21
- cribl_control_plane/models/outputsignalfx.py +49 -21
- cribl_control_plane/models/outputsns.py +47 -19
- cribl_control_plane/models/outputsplunk.py +49 -21
- cribl_control_plane/models/outputsplunkhec.py +49 -21
- cribl_control_plane/models/outputsplunklb.py +49 -21
- cribl_control_plane/models/outputsqs.py +47 -19
- cribl_control_plane/models/outputstatsd.py +49 -21
- cribl_control_plane/models/outputstatsdext.py +49 -21
- cribl_control_plane/models/outputsumologic.py +49 -21
- cribl_control_plane/models/outputsyslog.py +129 -99
- cribl_control_plane/models/outputtcpjson.py +49 -21
- cribl_control_plane/models/outputwavefront.py +49 -21
- cribl_control_plane/models/outputwebhook.py +49 -21
- cribl_control_plane/models/outputxsiam.py +47 -19
- cribl_control_plane/models/pipeline.py +4 -4
- cribl_control_plane/models/runnablejobcollection.py +12 -8
- cribl_control_plane/models/runnablejobexecutor.py +12 -8
- cribl_control_plane/models/runnablejobscheduledsearch.py +12 -8
- cribl_control_plane/pipelines.py +8 -8
- {cribl_control_plane-0.2.1rc3.dist-info → cribl_control_plane-0.2.1rc4.dist-info}/METADATA +2 -6
- {cribl_control_plane-0.2.1rc3.dist-info → cribl_control_plane-0.2.1rc4.dist-info}/RECORD +99 -102
- cribl_control_plane/mappings.py +0 -205
- cribl_control_plane/models/createadminproductsmappingsactivatebyproductop.py +0 -52
- cribl_control_plane/models/rulesetid.py +0 -13
- {cribl_control_plane-0.2.1rc3.dist-info → cribl_control_plane-0.2.1rc4.dist-info}/WHEEL +0 -0
|
@@ -7,7 +7,7 @@ from cribl_control_plane.utils import validate_open_enum
|
|
|
7
7
|
from enum import Enum
|
|
8
8
|
import pydantic
|
|
9
9
|
from pydantic.functional_validators import PlainValidator
|
|
10
|
-
from typing import
|
|
10
|
+
from typing import List, Optional
|
|
11
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
12
|
|
|
13
13
|
|
|
@@ -123,6 +123,12 @@ class InputHTTPMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
123
123
|
|
|
124
124
|
class InputHTTPTLSSettingsServerSideTypedDict(TypedDict):
|
|
125
125
|
disabled: NotRequired[bool]
|
|
126
|
+
request_cert: NotRequired[bool]
|
|
127
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
128
|
+
reject_unauthorized: NotRequired[bool]
|
|
129
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
130
|
+
common_name_regex: NotRequired[str]
|
|
131
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
126
132
|
certificate_name: NotRequired[str]
|
|
127
133
|
r"""The name of the predefined certificate"""
|
|
128
134
|
priv_key_path: NotRequired[str]
|
|
@@ -133,10 +139,6 @@ class InputHTTPTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
133
139
|
r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
134
140
|
ca_path: NotRequired[str]
|
|
135
141
|
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
142
|
min_version: NotRequired[InputHTTPMinimumTLSVersion]
|
|
141
143
|
max_version: NotRequired[InputHTTPMaximumTLSVersion]
|
|
142
144
|
|
|
@@ -144,6 +146,19 @@ class InputHTTPTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
144
146
|
class InputHTTPTLSSettingsServerSide(BaseModel):
|
|
145
147
|
disabled: Optional[bool] = True
|
|
146
148
|
|
|
149
|
+
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
150
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
151
|
+
|
|
152
|
+
reject_unauthorized: Annotated[
|
|
153
|
+
Optional[bool], pydantic.Field(alias="rejectUnauthorized")
|
|
154
|
+
] = True
|
|
155
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
156
|
+
|
|
157
|
+
common_name_regex: Annotated[
|
|
158
|
+
Optional[str], pydantic.Field(alias="commonNameRegex")
|
|
159
|
+
] = "/.*/"
|
|
160
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
161
|
+
|
|
147
162
|
certificate_name: Annotated[
|
|
148
163
|
Optional[str], pydantic.Field(alias="certificateName")
|
|
149
164
|
] = None
|
|
@@ -161,17 +176,6 @@ class InputHTTPTLSSettingsServerSide(BaseModel):
|
|
|
161
176
|
ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
|
|
162
177
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
163
178
|
|
|
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
179
|
min_version: Annotated[
|
|
176
180
|
Annotated[
|
|
177
181
|
Optional[InputHTTPMinimumTLSVersion],
|
|
@@ -7,7 +7,7 @@ from cribl_control_plane.utils import validate_open_enum
|
|
|
7
7
|
from enum import Enum
|
|
8
8
|
import pydantic
|
|
9
9
|
from pydantic.functional_validators import PlainValidator
|
|
10
|
-
from typing import
|
|
10
|
+
from typing import List, Optional
|
|
11
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
12
|
|
|
13
13
|
|
|
@@ -123,6 +123,12 @@ class InputHTTPRawMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
123
123
|
|
|
124
124
|
class InputHTTPRawTLSSettingsServerSideTypedDict(TypedDict):
|
|
125
125
|
disabled: NotRequired[bool]
|
|
126
|
+
request_cert: NotRequired[bool]
|
|
127
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
128
|
+
reject_unauthorized: NotRequired[bool]
|
|
129
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
130
|
+
common_name_regex: NotRequired[str]
|
|
131
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
126
132
|
certificate_name: NotRequired[str]
|
|
127
133
|
r"""The name of the predefined certificate"""
|
|
128
134
|
priv_key_path: NotRequired[str]
|
|
@@ -133,10 +139,6 @@ class InputHTTPRawTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
133
139
|
r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
134
140
|
ca_path: NotRequired[str]
|
|
135
141
|
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
142
|
min_version: NotRequired[InputHTTPRawMinimumTLSVersion]
|
|
141
143
|
max_version: NotRequired[InputHTTPRawMaximumTLSVersion]
|
|
142
144
|
|
|
@@ -144,6 +146,19 @@ class InputHTTPRawTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
144
146
|
class InputHTTPRawTLSSettingsServerSide(BaseModel):
|
|
145
147
|
disabled: Optional[bool] = True
|
|
146
148
|
|
|
149
|
+
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
150
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
151
|
+
|
|
152
|
+
reject_unauthorized: Annotated[
|
|
153
|
+
Optional[bool], pydantic.Field(alias="rejectUnauthorized")
|
|
154
|
+
] = True
|
|
155
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
156
|
+
|
|
157
|
+
common_name_regex: Annotated[
|
|
158
|
+
Optional[str], pydantic.Field(alias="commonNameRegex")
|
|
159
|
+
] = "/.*/"
|
|
160
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
161
|
+
|
|
147
162
|
certificate_name: Annotated[
|
|
148
163
|
Optional[str], pydantic.Field(alias="certificateName")
|
|
149
164
|
] = None
|
|
@@ -161,17 +176,6 @@ class InputHTTPRawTLSSettingsServerSide(BaseModel):
|
|
|
161
176
|
ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
|
|
162
177
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
163
178
|
|
|
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
179
|
min_version: Annotated[
|
|
176
180
|
Annotated[
|
|
177
181
|
Optional[InputHTTPRawMinimumTLSVersion],
|
|
@@ -255,6 +255,13 @@ class InputKafkaKafkaSchemaRegistryAuthentication(BaseModel):
|
|
|
255
255
|
tls: Optional[InputKafkaKafkaSchemaRegistryTLSSettingsClientSide] = None
|
|
256
256
|
|
|
257
257
|
|
|
258
|
+
class InputKafkaAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
259
|
+
r"""Enter credentials directly, or select a stored secret"""
|
|
260
|
+
|
|
261
|
+
MANUAL = "manual"
|
|
262
|
+
SECRET = "secret"
|
|
263
|
+
|
|
264
|
+
|
|
258
265
|
class InputKafkaSASLMechanism(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
259
266
|
# PLAIN
|
|
260
267
|
PLAIN = "plain"
|
|
@@ -266,13 +273,58 @@ class InputKafkaSASLMechanism(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
266
273
|
KERBEROS = "kerberos"
|
|
267
274
|
|
|
268
275
|
|
|
276
|
+
class InputKafkaOauthParamTypedDict(TypedDict):
|
|
277
|
+
name: str
|
|
278
|
+
value: str
|
|
279
|
+
|
|
280
|
+
|
|
281
|
+
class InputKafkaOauthParam(BaseModel):
|
|
282
|
+
name: str
|
|
283
|
+
|
|
284
|
+
value: str
|
|
285
|
+
|
|
286
|
+
|
|
287
|
+
class InputKafkaSaslExtensionTypedDict(TypedDict):
|
|
288
|
+
name: str
|
|
289
|
+
value: str
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
class InputKafkaSaslExtension(BaseModel):
|
|
293
|
+
name: str
|
|
294
|
+
|
|
295
|
+
value: str
|
|
296
|
+
|
|
297
|
+
|
|
269
298
|
class InputKafkaAuthenticationTypedDict(TypedDict):
|
|
270
299
|
r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended."""
|
|
271
300
|
|
|
272
301
|
disabled: NotRequired[bool]
|
|
302
|
+
username: NotRequired[str]
|
|
303
|
+
password: NotRequired[str]
|
|
304
|
+
auth_type: NotRequired[InputKafkaAuthenticationMethod]
|
|
305
|
+
r"""Enter credentials directly, or select a stored secret"""
|
|
306
|
+
credentials_secret: NotRequired[str]
|
|
307
|
+
r"""Select or create a secret that references your credentials"""
|
|
273
308
|
mechanism: NotRequired[InputKafkaSASLMechanism]
|
|
309
|
+
keytab_location: NotRequired[str]
|
|
310
|
+
r"""Location of keytab file for authentication principal"""
|
|
311
|
+
principal: NotRequired[str]
|
|
312
|
+
r"""Authentication principal, such as `kafka_user@example.com`"""
|
|
313
|
+
broker_service_class: NotRequired[str]
|
|
314
|
+
r"""Kerberos service class for Kafka brokers, such as `kafka`"""
|
|
274
315
|
oauth_enabled: NotRequired[bool]
|
|
275
316
|
r"""Enable OAuth authentication"""
|
|
317
|
+
token_url: NotRequired[str]
|
|
318
|
+
r"""URL of the token endpoint to use for OAuth authentication"""
|
|
319
|
+
client_id: NotRequired[str]
|
|
320
|
+
r"""Client ID to use for OAuth authentication"""
|
|
321
|
+
oauth_secret_type: NotRequired[str]
|
|
322
|
+
client_text_secret: NotRequired[str]
|
|
323
|
+
r"""Select or create a stored text secret"""
|
|
324
|
+
oauth_params: NotRequired[List[InputKafkaOauthParamTypedDict]]
|
|
325
|
+
r"""Additional fields to send to the token endpoint, such as scope or audience"""
|
|
326
|
+
sasl_extensions: NotRequired[List[InputKafkaSaslExtensionTypedDict]]
|
|
327
|
+
r"""Additional SASL extension fields, such as Confluent's logicalCluster or identityPoolId"""
|
|
276
328
|
|
|
277
329
|
|
|
278
330
|
class InputKafkaAuthentication(BaseModel):
|
|
@@ -280,15 +332,71 @@ class InputKafkaAuthentication(BaseModel):
|
|
|
280
332
|
|
|
281
333
|
disabled: Optional[bool] = True
|
|
282
334
|
|
|
335
|
+
username: Optional[str] = None
|
|
336
|
+
|
|
337
|
+
password: Optional[str] = None
|
|
338
|
+
|
|
339
|
+
auth_type: Annotated[
|
|
340
|
+
Annotated[
|
|
341
|
+
Optional[InputKafkaAuthenticationMethod],
|
|
342
|
+
PlainValidator(validate_open_enum(False)),
|
|
343
|
+
],
|
|
344
|
+
pydantic.Field(alias="authType"),
|
|
345
|
+
] = InputKafkaAuthenticationMethod.MANUAL
|
|
346
|
+
r"""Enter credentials directly, or select a stored secret"""
|
|
347
|
+
|
|
348
|
+
credentials_secret: Annotated[
|
|
349
|
+
Optional[str], pydantic.Field(alias="credentialsSecret")
|
|
350
|
+
] = None
|
|
351
|
+
r"""Select or create a secret that references your credentials"""
|
|
352
|
+
|
|
283
353
|
mechanism: Annotated[
|
|
284
354
|
Optional[InputKafkaSASLMechanism], PlainValidator(validate_open_enum(False))
|
|
285
355
|
] = InputKafkaSASLMechanism.PLAIN
|
|
286
356
|
|
|
357
|
+
keytab_location: Annotated[
|
|
358
|
+
Optional[str], pydantic.Field(alias="keytabLocation")
|
|
359
|
+
] = None
|
|
360
|
+
r"""Location of keytab file for authentication principal"""
|
|
361
|
+
|
|
362
|
+
principal: Optional[str] = None
|
|
363
|
+
r"""Authentication principal, such as `kafka_user@example.com`"""
|
|
364
|
+
|
|
365
|
+
broker_service_class: Annotated[
|
|
366
|
+
Optional[str], pydantic.Field(alias="brokerServiceClass")
|
|
367
|
+
] = None
|
|
368
|
+
r"""Kerberos service class for Kafka brokers, such as `kafka`"""
|
|
369
|
+
|
|
287
370
|
oauth_enabled: Annotated[Optional[bool], pydantic.Field(alias="oauthEnabled")] = (
|
|
288
371
|
False
|
|
289
372
|
)
|
|
290
373
|
r"""Enable OAuth authentication"""
|
|
291
374
|
|
|
375
|
+
token_url: Annotated[Optional[str], pydantic.Field(alias="tokenUrl")] = None
|
|
376
|
+
r"""URL of the token endpoint to use for OAuth authentication"""
|
|
377
|
+
|
|
378
|
+
client_id: Annotated[Optional[str], pydantic.Field(alias="clientId")] = None
|
|
379
|
+
r"""Client ID to use for OAuth authentication"""
|
|
380
|
+
|
|
381
|
+
oauth_secret_type: Annotated[
|
|
382
|
+
Optional[str], pydantic.Field(alias="oauthSecretType")
|
|
383
|
+
] = "secret"
|
|
384
|
+
|
|
385
|
+
client_text_secret: Annotated[
|
|
386
|
+
Optional[str], pydantic.Field(alias="clientTextSecret")
|
|
387
|
+
] = None
|
|
388
|
+
r"""Select or create a stored text secret"""
|
|
389
|
+
|
|
390
|
+
oauth_params: Annotated[
|
|
391
|
+
Optional[List[InputKafkaOauthParam]], pydantic.Field(alias="oauthParams")
|
|
392
|
+
] = None
|
|
393
|
+
r"""Additional fields to send to the token endpoint, such as scope or audience"""
|
|
394
|
+
|
|
395
|
+
sasl_extensions: Annotated[
|
|
396
|
+
Optional[List[InputKafkaSaslExtension]], pydantic.Field(alias="saslExtensions")
|
|
397
|
+
] = None
|
|
398
|
+
r"""Additional SASL extension fields, such as Confluent's logicalCluster or identityPoolId"""
|
|
399
|
+
|
|
292
400
|
|
|
293
401
|
class InputKafkaMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
294
402
|
TL_SV1 = "TLSv1"
|
|
@@ -7,7 +7,7 @@ from cribl_control_plane.utils import validate_open_enum
|
|
|
7
7
|
from enum import Enum
|
|
8
8
|
import pydantic
|
|
9
9
|
from pydantic.functional_validators import PlainValidator
|
|
10
|
-
from typing import
|
|
10
|
+
from typing import List, Optional
|
|
11
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
12
|
|
|
13
13
|
|
|
@@ -123,6 +123,12 @@ class InputLokiMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
123
123
|
|
|
124
124
|
class InputLokiTLSSettingsServerSideTypedDict(TypedDict):
|
|
125
125
|
disabled: NotRequired[bool]
|
|
126
|
+
request_cert: NotRequired[bool]
|
|
127
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
128
|
+
reject_unauthorized: NotRequired[bool]
|
|
129
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
130
|
+
common_name_regex: NotRequired[str]
|
|
131
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
126
132
|
certificate_name: NotRequired[str]
|
|
127
133
|
r"""The name of the predefined certificate"""
|
|
128
134
|
priv_key_path: NotRequired[str]
|
|
@@ -133,10 +139,6 @@ class InputLokiTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
133
139
|
r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
134
140
|
ca_path: NotRequired[str]
|
|
135
141
|
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
142
|
min_version: NotRequired[InputLokiMinimumTLSVersion]
|
|
141
143
|
max_version: NotRequired[InputLokiMaximumTLSVersion]
|
|
142
144
|
|
|
@@ -144,6 +146,19 @@ class InputLokiTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
144
146
|
class InputLokiTLSSettingsServerSide(BaseModel):
|
|
145
147
|
disabled: Optional[bool] = True
|
|
146
148
|
|
|
149
|
+
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
150
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
151
|
+
|
|
152
|
+
reject_unauthorized: Annotated[
|
|
153
|
+
Optional[bool], pydantic.Field(alias="rejectUnauthorized")
|
|
154
|
+
] = True
|
|
155
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
156
|
+
|
|
157
|
+
common_name_regex: Annotated[
|
|
158
|
+
Optional[str], pydantic.Field(alias="commonNameRegex")
|
|
159
|
+
] = "/.*/"
|
|
160
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
161
|
+
|
|
147
162
|
certificate_name: Annotated[
|
|
148
163
|
Optional[str], pydantic.Field(alias="certificateName")
|
|
149
164
|
] = None
|
|
@@ -161,17 +176,6 @@ class InputLokiTLSSettingsServerSide(BaseModel):
|
|
|
161
176
|
ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
|
|
162
177
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
163
178
|
|
|
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
179
|
min_version: Annotated[
|
|
176
180
|
Annotated[
|
|
177
181
|
Optional[InputLokiMinimumTLSVersion],
|
|
@@ -7,7 +7,7 @@ from cribl_control_plane.utils import validate_open_enum
|
|
|
7
7
|
from enum import Enum
|
|
8
8
|
import pydantic
|
|
9
9
|
from pydantic.functional_validators import PlainValidator
|
|
10
|
-
from typing import
|
|
10
|
+
from typing import List, Optional
|
|
11
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
12
|
|
|
13
13
|
|
|
@@ -123,6 +123,12 @@ class InputMetricsMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
123
123
|
|
|
124
124
|
class InputMetricsTLSSettingsServerSideTypedDict(TypedDict):
|
|
125
125
|
disabled: NotRequired[bool]
|
|
126
|
+
request_cert: NotRequired[bool]
|
|
127
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
128
|
+
reject_unauthorized: NotRequired[bool]
|
|
129
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
130
|
+
common_name_regex: NotRequired[str]
|
|
131
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
126
132
|
certificate_name: NotRequired[str]
|
|
127
133
|
r"""The name of the predefined certificate"""
|
|
128
134
|
priv_key_path: NotRequired[str]
|
|
@@ -133,10 +139,6 @@ class InputMetricsTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
133
139
|
r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
134
140
|
ca_path: NotRequired[str]
|
|
135
141
|
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
142
|
min_version: NotRequired[InputMetricsMinimumTLSVersion]
|
|
141
143
|
max_version: NotRequired[InputMetricsMaximumTLSVersion]
|
|
142
144
|
|
|
@@ -144,6 +146,19 @@ class InputMetricsTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
144
146
|
class InputMetricsTLSSettingsServerSide(BaseModel):
|
|
145
147
|
disabled: Optional[bool] = True
|
|
146
148
|
|
|
149
|
+
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
150
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
151
|
+
|
|
152
|
+
reject_unauthorized: Annotated[
|
|
153
|
+
Optional[bool], pydantic.Field(alias="rejectUnauthorized")
|
|
154
|
+
] = True
|
|
155
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
156
|
+
|
|
157
|
+
common_name_regex: Annotated[
|
|
158
|
+
Optional[str], pydantic.Field(alias="commonNameRegex")
|
|
159
|
+
] = "/.*/"
|
|
160
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
161
|
+
|
|
147
162
|
certificate_name: Annotated[
|
|
148
163
|
Optional[str], pydantic.Field(alias="certificateName")
|
|
149
164
|
] = None
|
|
@@ -161,17 +176,6 @@ class InputMetricsTLSSettingsServerSide(BaseModel):
|
|
|
161
176
|
ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
|
|
162
177
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
163
178
|
|
|
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
179
|
min_version: Annotated[
|
|
176
180
|
Annotated[
|
|
177
181
|
Optional[InputMetricsMinimumTLSVersion],
|
|
@@ -7,7 +7,7 @@ from cribl_control_plane.utils import validate_open_enum
|
|
|
7
7
|
from enum import Enum
|
|
8
8
|
import pydantic
|
|
9
9
|
from pydantic.functional_validators import PlainValidator
|
|
10
|
-
from typing import
|
|
10
|
+
from typing import List, Optional
|
|
11
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
12
|
|
|
13
13
|
|
|
@@ -130,6 +130,12 @@ class InputModelDrivenTelemetryMaximumTLSVersion(
|
|
|
130
130
|
|
|
131
131
|
class InputModelDrivenTelemetryTLSSettingsServerSideTypedDict(TypedDict):
|
|
132
132
|
disabled: NotRequired[bool]
|
|
133
|
+
request_cert: NotRequired[bool]
|
|
134
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
135
|
+
reject_unauthorized: NotRequired[bool]
|
|
136
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
137
|
+
common_name_regex: NotRequired[str]
|
|
138
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
133
139
|
certificate_name: NotRequired[str]
|
|
134
140
|
r"""The name of the predefined certificate"""
|
|
135
141
|
priv_key_path: NotRequired[str]
|
|
@@ -140,10 +146,6 @@ class InputModelDrivenTelemetryTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
140
146
|
r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
141
147
|
ca_path: NotRequired[str]
|
|
142
148
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
143
|
-
request_cert: NotRequired[bool]
|
|
144
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
145
|
-
reject_unauthorized: NotRequired[Any]
|
|
146
|
-
common_name_regex: NotRequired[Any]
|
|
147
149
|
min_version: NotRequired[InputModelDrivenTelemetryMinimumTLSVersion]
|
|
148
150
|
max_version: NotRequired[InputModelDrivenTelemetryMaximumTLSVersion]
|
|
149
151
|
|
|
@@ -151,6 +153,19 @@ class InputModelDrivenTelemetryTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
151
153
|
class InputModelDrivenTelemetryTLSSettingsServerSide(BaseModel):
|
|
152
154
|
disabled: Optional[bool] = True
|
|
153
155
|
|
|
156
|
+
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
157
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
158
|
+
|
|
159
|
+
reject_unauthorized: Annotated[
|
|
160
|
+
Optional[bool], pydantic.Field(alias="rejectUnauthorized")
|
|
161
|
+
] = True
|
|
162
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
163
|
+
|
|
164
|
+
common_name_regex: Annotated[
|
|
165
|
+
Optional[str], pydantic.Field(alias="commonNameRegex")
|
|
166
|
+
] = "/.*/"
|
|
167
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
168
|
+
|
|
154
169
|
certificate_name: Annotated[
|
|
155
170
|
Optional[str], pydantic.Field(alias="certificateName")
|
|
156
171
|
] = None
|
|
@@ -168,17 +183,6 @@ class InputModelDrivenTelemetryTLSSettingsServerSide(BaseModel):
|
|
|
168
183
|
ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
|
|
169
184
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
170
185
|
|
|
171
|
-
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
172
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
173
|
-
|
|
174
|
-
reject_unauthorized: Annotated[
|
|
175
|
-
Optional[Any], pydantic.Field(alias="rejectUnauthorized")
|
|
176
|
-
] = None
|
|
177
|
-
|
|
178
|
-
common_name_regex: Annotated[
|
|
179
|
-
Optional[Any], pydantic.Field(alias="commonNameRegex")
|
|
180
|
-
] = None
|
|
181
|
-
|
|
182
186
|
min_version: Annotated[
|
|
183
187
|
Annotated[
|
|
184
188
|
Optional[InputModelDrivenTelemetryMinimumTLSVersion],
|
|
@@ -124,6 +124,12 @@ class InputOpenTelemetryMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMet
|
|
|
124
124
|
|
|
125
125
|
class InputOpenTelemetryTLSSettingsServerSideTypedDict(TypedDict):
|
|
126
126
|
disabled: NotRequired[bool]
|
|
127
|
+
request_cert: NotRequired[bool]
|
|
128
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
129
|
+
reject_unauthorized: NotRequired[bool]
|
|
130
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
131
|
+
common_name_regex: NotRequired[str]
|
|
132
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
127
133
|
certificate_name: NotRequired[str]
|
|
128
134
|
r"""The name of the predefined certificate"""
|
|
129
135
|
priv_key_path: NotRequired[str]
|
|
@@ -134,10 +140,6 @@ class InputOpenTelemetryTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
134
140
|
r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
135
141
|
ca_path: NotRequired[str]
|
|
136
142
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
137
|
-
request_cert: NotRequired[bool]
|
|
138
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
139
|
-
reject_unauthorized: NotRequired[Any]
|
|
140
|
-
common_name_regex: NotRequired[Any]
|
|
141
143
|
min_version: NotRequired[InputOpenTelemetryMinimumTLSVersion]
|
|
142
144
|
max_version: NotRequired[InputOpenTelemetryMaximumTLSVersion]
|
|
143
145
|
|
|
@@ -145,6 +147,19 @@ class InputOpenTelemetryTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
145
147
|
class InputOpenTelemetryTLSSettingsServerSide(BaseModel):
|
|
146
148
|
disabled: Optional[bool] = True
|
|
147
149
|
|
|
150
|
+
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
151
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
152
|
+
|
|
153
|
+
reject_unauthorized: Annotated[
|
|
154
|
+
Optional[bool], pydantic.Field(alias="rejectUnauthorized")
|
|
155
|
+
] = True
|
|
156
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
157
|
+
|
|
158
|
+
common_name_regex: Annotated[
|
|
159
|
+
Optional[str], pydantic.Field(alias="commonNameRegex")
|
|
160
|
+
] = "/.*/"
|
|
161
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
162
|
+
|
|
148
163
|
certificate_name: Annotated[
|
|
149
164
|
Optional[str], pydantic.Field(alias="certificateName")
|
|
150
165
|
] = None
|
|
@@ -162,17 +177,6 @@ class InputOpenTelemetryTLSSettingsServerSide(BaseModel):
|
|
|
162
177
|
ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
|
|
163
178
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
164
179
|
|
|
165
|
-
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
166
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
167
|
-
|
|
168
|
-
reject_unauthorized: Annotated[
|
|
169
|
-
Optional[Any], pydantic.Field(alias="rejectUnauthorized")
|
|
170
|
-
] = None
|
|
171
|
-
|
|
172
|
-
common_name_regex: Annotated[
|
|
173
|
-
Optional[Any], pydantic.Field(alias="commonNameRegex")
|
|
174
|
-
] = None
|
|
175
|
-
|
|
176
180
|
min_version: Annotated[
|
|
177
181
|
Annotated[
|
|
178
182
|
Optional[InputOpenTelemetryMinimumTLSVersion],
|