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.

Files changed (102) hide show
  1. cribl_control_plane/_version.py +4 -4
  2. cribl_control_plane/groups_sdk.py +0 -3
  3. cribl_control_plane/models/__init__.py +105 -28
  4. cribl_control_plane/models/input.py +14 -14
  5. cribl_control_plane/models/inputappscope.py +20 -16
  6. cribl_control_plane/models/inputconfluentcloud.py +110 -0
  7. cribl_control_plane/models/inputcriblhttp.py +20 -16
  8. cribl_control_plane/models/inputcribllakehttp.py +20 -16
  9. cribl_control_plane/models/inputcribltcp.py +20 -16
  10. cribl_control_plane/models/inputdatadogagent.py +20 -16
  11. cribl_control_plane/models/inputedgeprometheus.py +44 -36
  12. cribl_control_plane/models/inputelastic.py +44 -27
  13. cribl_control_plane/models/inputeventhub.py +118 -0
  14. cribl_control_plane/models/inputfirehose.py +20 -16
  15. cribl_control_plane/models/inputgrafana.py +39 -31
  16. cribl_control_plane/models/inputhttp.py +20 -16
  17. cribl_control_plane/models/inputhttpraw.py +20 -16
  18. cribl_control_plane/models/inputkafka.py +108 -0
  19. cribl_control_plane/models/inputloki.py +20 -16
  20. cribl_control_plane/models/inputmetrics.py +20 -16
  21. cribl_control_plane/models/inputmodeldriventelemetry.py +20 -16
  22. cribl_control_plane/models/inputopentelemetry.py +19 -15
  23. cribl_control_plane/models/inputprometheus.py +44 -36
  24. cribl_control_plane/models/inputprometheusrw.py +20 -16
  25. cribl_control_plane/models/inputsplunk.py +20 -16
  26. cribl_control_plane/models/inputsplunkhec.py +19 -15
  27. cribl_control_plane/models/inputsyslog.py +39 -31
  28. cribl_control_plane/models/inputsystemmetrics.py +20 -10
  29. cribl_control_plane/models/inputtcp.py +30 -16
  30. cribl_control_plane/models/inputtcpjson.py +20 -16
  31. cribl_control_plane/models/inputwindowsmetrics.py +20 -10
  32. cribl_control_plane/models/inputwineventlogs.py +14 -0
  33. cribl_control_plane/models/inputwizwebhook.py +20 -16
  34. cribl_control_plane/models/inputzscalerhec.py +19 -15
  35. cribl_control_plane/models/output.py +22 -22
  36. cribl_control_plane/models/outputazureblob.py +7 -0
  37. cribl_control_plane/models/outputazuredataexplorer.py +283 -93
  38. cribl_control_plane/models/outputazureeventhub.py +169 -21
  39. cribl_control_plane/models/outputazurelogs.py +49 -21
  40. cribl_control_plane/models/outputchronicle.py +49 -21
  41. cribl_control_plane/models/outputclickhouse.py +49 -21
  42. cribl_control_plane/models/outputcloudwatch.py +49 -21
  43. cribl_control_plane/models/outputconfluentcloud.py +167 -22
  44. cribl_control_plane/models/outputcriblhttp.py +49 -21
  45. cribl_control_plane/models/outputcribltcp.py +49 -21
  46. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +50 -22
  47. cribl_control_plane/models/outputdatabricks.py +7 -0
  48. cribl_control_plane/models/outputdatadog.py +49 -21
  49. cribl_control_plane/models/outputdataset.py +49 -21
  50. cribl_control_plane/models/outputdls3.py +7 -0
  51. cribl_control_plane/models/outputdynatracehttp.py +49 -21
  52. cribl_control_plane/models/outputdynatraceotlp.py +49 -21
  53. cribl_control_plane/models/outputelastic.py +74 -21
  54. cribl_control_plane/models/outputelasticcloud.py +74 -21
  55. cribl_control_plane/models/outputfilesystem.py +7 -0
  56. cribl_control_plane/models/outputgooglechronicle.py +65 -22
  57. cribl_control_plane/models/outputgooglecloudlogging.py +50 -22
  58. cribl_control_plane/models/outputgooglecloudstorage.py +7 -0
  59. cribl_control_plane/models/outputgooglepubsub.py +49 -21
  60. cribl_control_plane/models/outputgrafanacloud.py +98 -42
  61. cribl_control_plane/models/outputgraphite.py +49 -21
  62. cribl_control_plane/models/outputhoneycomb.py +49 -21
  63. cribl_control_plane/models/outputhumiohec.py +49 -21
  64. cribl_control_plane/models/outputinfluxdb.py +49 -21
  65. cribl_control_plane/models/outputkafka.py +162 -19
  66. cribl_control_plane/models/outputkinesis.py +56 -21
  67. cribl_control_plane/models/outputloki.py +47 -19
  68. cribl_control_plane/models/outputminio.py +7 -0
  69. cribl_control_plane/models/outputmsk.py +54 -19
  70. cribl_control_plane/models/outputnewrelic.py +49 -21
  71. cribl_control_plane/models/outputnewrelicevents.py +50 -22
  72. cribl_control_plane/models/outputopentelemetry.py +49 -21
  73. cribl_control_plane/models/outputprometheus.py +49 -21
  74. cribl_control_plane/models/outputs3.py +7 -0
  75. cribl_control_plane/models/outputsentinel.py +49 -21
  76. cribl_control_plane/models/outputsentineloneaisiem.py +50 -22
  77. cribl_control_plane/models/outputservicenow.py +49 -21
  78. cribl_control_plane/models/outputsignalfx.py +49 -21
  79. cribl_control_plane/models/outputsns.py +47 -19
  80. cribl_control_plane/models/outputsplunk.py +49 -21
  81. cribl_control_plane/models/outputsplunkhec.py +49 -21
  82. cribl_control_plane/models/outputsplunklb.py +49 -21
  83. cribl_control_plane/models/outputsqs.py +47 -19
  84. cribl_control_plane/models/outputstatsd.py +49 -21
  85. cribl_control_plane/models/outputstatsdext.py +49 -21
  86. cribl_control_plane/models/outputsumologic.py +49 -21
  87. cribl_control_plane/models/outputsyslog.py +129 -99
  88. cribl_control_plane/models/outputtcpjson.py +49 -21
  89. cribl_control_plane/models/outputwavefront.py +49 -21
  90. cribl_control_plane/models/outputwebhook.py +49 -21
  91. cribl_control_plane/models/outputxsiam.py +47 -19
  92. cribl_control_plane/models/pipeline.py +4 -4
  93. cribl_control_plane/models/runnablejobcollection.py +12 -8
  94. cribl_control_plane/models/runnablejobexecutor.py +12 -8
  95. cribl_control_plane/models/runnablejobscheduledsearch.py +12 -8
  96. cribl_control_plane/pipelines.py +8 -8
  97. {cribl_control_plane-0.2.1rc3.dist-info → cribl_control_plane-0.2.1rc4.dist-info}/METADATA +2 -6
  98. {cribl_control_plane-0.2.1rc3.dist-info → cribl_control_plane-0.2.1rc4.dist-info}/RECORD +99 -102
  99. cribl_control_plane/mappings.py +0 -205
  100. cribl_control_plane/models/createadminproductsmappingsactivatebyproductop.py +0 -52
  101. cribl_control_plane/models/rulesetid.py +0 -13
  102. {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 Any, List, Optional
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 Any, List, Optional
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 Any, List, Optional
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 Any, List, Optional
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 Any, List, Optional
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],