cribl-control-plane 0.2.1rc6__py3-none-any.whl → 0.2.1rc8__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 (103) hide show
  1. cribl_control_plane/_version.py +4 -4
  2. cribl_control_plane/lakedatasets.py +28 -0
  3. cribl_control_plane/models/__init__.py +124 -5
  4. cribl_control_plane/models/cribllakedataset.py +4 -0
  5. cribl_control_plane/models/cribllakedatasetupdate.py +4 -0
  6. cribl_control_plane/models/input.py +15 -15
  7. cribl_control_plane/models/inputappscope.py +20 -16
  8. cribl_control_plane/models/inputconfluentcloud.py +110 -0
  9. cribl_control_plane/models/inputcriblhttp.py +20 -16
  10. cribl_control_plane/models/inputcribllakehttp.py +20 -16
  11. cribl_control_plane/models/inputcribltcp.py +20 -16
  12. cribl_control_plane/models/inputdatadogagent.py +20 -16
  13. cribl_control_plane/models/inputedgeprometheus.py +44 -36
  14. cribl_control_plane/models/inputelastic.py +44 -27
  15. cribl_control_plane/models/inputeventhub.py +118 -0
  16. cribl_control_plane/models/inputfile.py +10 -5
  17. cribl_control_plane/models/inputfirehose.py +20 -16
  18. cribl_control_plane/models/inputgrafana.py +39 -31
  19. cribl_control_plane/models/inputhttp.py +20 -16
  20. cribl_control_plane/models/inputhttpraw.py +20 -16
  21. cribl_control_plane/models/inputkafka.py +108 -0
  22. cribl_control_plane/models/inputloki.py +20 -16
  23. cribl_control_plane/models/inputmetrics.py +20 -16
  24. cribl_control_plane/models/inputmodeldriventelemetry.py +20 -16
  25. cribl_control_plane/models/inputopentelemetry.py +19 -15
  26. cribl_control_plane/models/inputprometheus.py +44 -36
  27. cribl_control_plane/models/inputprometheusrw.py +20 -16
  28. cribl_control_plane/models/inputsplunk.py +20 -16
  29. cribl_control_plane/models/inputsplunkhec.py +19 -15
  30. cribl_control_plane/models/inputsyslog.py +39 -31
  31. cribl_control_plane/models/inputsystemmetrics.py +20 -10
  32. cribl_control_plane/models/inputtcp.py +30 -16
  33. cribl_control_plane/models/inputtcpjson.py +20 -16
  34. cribl_control_plane/models/inputwindowsmetrics.py +20 -10
  35. cribl_control_plane/models/inputwineventlogs.py +14 -0
  36. cribl_control_plane/models/inputwizwebhook.py +20 -16
  37. cribl_control_plane/models/inputzscalerhec.py +19 -15
  38. cribl_control_plane/models/jobinfo.py +10 -4
  39. cribl_control_plane/models/jobstatus.py +24 -3
  40. cribl_control_plane/models/lakedatasetmetrics.py +17 -0
  41. cribl_control_plane/models/output.py +21 -21
  42. cribl_control_plane/models/outputazureblob.py +7 -0
  43. cribl_control_plane/models/outputazuredataexplorer.py +283 -93
  44. cribl_control_plane/models/outputazureeventhub.py +169 -21
  45. cribl_control_plane/models/outputazurelogs.py +49 -21
  46. cribl_control_plane/models/outputchronicle.py +49 -21
  47. cribl_control_plane/models/outputclickhouse.py +49 -21
  48. cribl_control_plane/models/outputcloudwatch.py +49 -21
  49. cribl_control_plane/models/outputconfluentcloud.py +169 -22
  50. cribl_control_plane/models/outputcriblhttp.py +49 -21
  51. cribl_control_plane/models/outputcribltcp.py +49 -21
  52. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +50 -22
  53. cribl_control_plane/models/outputdatabricks.py +7 -0
  54. cribl_control_plane/models/outputdatadog.py +49 -21
  55. cribl_control_plane/models/outputdataset.py +49 -21
  56. cribl_control_plane/models/outputdls3.py +7 -0
  57. cribl_control_plane/models/outputdynatracehttp.py +49 -21
  58. cribl_control_plane/models/outputdynatraceotlp.py +49 -21
  59. cribl_control_plane/models/outputelastic.py +74 -21
  60. cribl_control_plane/models/outputelasticcloud.py +74 -21
  61. cribl_control_plane/models/outputfilesystem.py +7 -0
  62. cribl_control_plane/models/outputgooglechronicle.py +65 -22
  63. cribl_control_plane/models/outputgooglecloudlogging.py +50 -22
  64. cribl_control_plane/models/outputgooglecloudstorage.py +7 -0
  65. cribl_control_plane/models/outputgooglepubsub.py +49 -21
  66. cribl_control_plane/models/outputgrafanacloud.py +98 -42
  67. cribl_control_plane/models/outputgraphite.py +49 -21
  68. cribl_control_plane/models/outputhoneycomb.py +49 -21
  69. cribl_control_plane/models/outputhumiohec.py +49 -21
  70. cribl_control_plane/models/outputinfluxdb.py +49 -21
  71. cribl_control_plane/models/outputkafka.py +164 -19
  72. cribl_control_plane/models/outputkinesis.py +56 -21
  73. cribl_control_plane/models/outputloki.py +47 -19
  74. cribl_control_plane/models/outputminio.py +7 -0
  75. cribl_control_plane/models/outputmsk.py +56 -19
  76. cribl_control_plane/models/outputnewrelic.py +49 -21
  77. cribl_control_plane/models/outputnewrelicevents.py +50 -22
  78. cribl_control_plane/models/outputopentelemetry.py +49 -21
  79. cribl_control_plane/models/outputprometheus.py +49 -21
  80. cribl_control_plane/models/outputs3.py +7 -0
  81. cribl_control_plane/models/outputsentinel.py +49 -21
  82. cribl_control_plane/models/outputsentineloneaisiem.py +50 -22
  83. cribl_control_plane/models/outputservicenow.py +49 -21
  84. cribl_control_plane/models/outputsignalfx.py +49 -21
  85. cribl_control_plane/models/outputsns.py +47 -19
  86. cribl_control_plane/models/outputsplunk.py +49 -21
  87. cribl_control_plane/models/outputsplunkhec.py +124 -21
  88. cribl_control_plane/models/outputsplunklb.py +49 -21
  89. cribl_control_plane/models/outputsqs.py +47 -19
  90. cribl_control_plane/models/outputstatsd.py +49 -21
  91. cribl_control_plane/models/outputstatsdext.py +49 -21
  92. cribl_control_plane/models/outputsumologic.py +49 -21
  93. cribl_control_plane/models/outputsyslog.py +129 -99
  94. cribl_control_plane/models/outputtcpjson.py +49 -21
  95. cribl_control_plane/models/outputwavefront.py +49 -21
  96. cribl_control_plane/models/outputwebhook.py +49 -21
  97. cribl_control_plane/models/outputxsiam.py +47 -19
  98. cribl_control_plane/models/runnablejobcollection.py +12 -8
  99. cribl_control_plane/models/runnablejobexecutor.py +12 -8
  100. cribl_control_plane/models/runnablejobscheduledsearch.py +12 -8
  101. {cribl_control_plane-0.2.1rc6.dist-info → cribl_control_plane-0.2.1rc8.dist-info}/METADATA +25 -7
  102. {cribl_control_plane-0.2.1rc6.dist-info → cribl_control_plane-0.2.1rc8.dist-info}/RECORD +103 -102
  103. {cribl_control_plane-0.2.1rc6.dist-info → cribl_control_plane-0.2.1rc8.dist-info}/WHEEL +0 -0
@@ -75,59 +75,59 @@ from typing_extensions import Annotated, TypeAliasType
75
75
  InputTypedDict = TypeAliasType(
76
76
  "InputTypedDict",
77
77
  Union[
78
- InputDatagenTypedDict,
79
- InputKubeEventsTypedDict,
80
78
  InputCriblTypedDict,
79
+ InputKubeEventsTypedDict,
80
+ InputDatagenTypedDict,
81
81
  InputCriblmetricsTypedDict,
82
82
  InputKubeMetricsTypedDict,
83
- InputCollectionTypedDict,
84
83
  InputSystemStateTypedDict,
84
+ InputCollectionTypedDict,
85
85
  InputModelDrivenTelemetryTypedDict,
86
86
  InputSystemMetricsTypedDict,
87
87
  InputWindowsMetricsTypedDict,
88
88
  InputJournalFilesTypedDict,
89
- InputWinEventLogsTypedDict,
90
89
  InputRawUDPTypedDict,
91
- InputExecTypedDict,
92
90
  InputKubeLogsTypedDict,
93
- InputMetricsTypedDict,
91
+ InputExecTypedDict,
94
92
  InputSnmpTypedDict,
93
+ InputMetricsTypedDict,
94
+ InputWinEventLogsTypedDict,
95
95
  InputCriblTCPTypedDict,
96
96
  InputNetflowTypedDict,
97
97
  InputTcpjsonTypedDict,
98
98
  InputGooglePubsubTypedDict,
99
99
  InputOffice365ServiceTypedDict,
100
100
  InputWizTypedDict,
101
- InputTCPTypedDict,
102
101
  InputFirehoseTypedDict,
103
102
  InputCriblHTTPTypedDict,
104
103
  InputDatadogAgentTypedDict,
105
104
  InputOffice365MgmtTypedDict,
106
- InputFileTypedDict,
105
+ InputTCPTypedDict,
107
106
  InputSplunkTypedDict,
108
- InputWefTypedDict,
107
+ InputFileTypedDict,
109
108
  InputAppscopeTypedDict,
109
+ InputWefTypedDict,
110
110
  InputHTTPRawTypedDict,
111
111
  InputWizWebhookTypedDict,
112
- InputHTTPTypedDict,
113
112
  InputCriblLakeHTTPTypedDict,
114
- InputAzureBlobTypedDict,
115
- InputSqsTypedDict,
113
+ InputHTTPTypedDict,
116
114
  InputZscalerHecTypedDict,
115
+ InputSqsTypedDict,
116
+ InputAzureBlobTypedDict,
117
117
  InputKinesisTypedDict,
118
118
  InputConfluentCloudTypedDict,
119
119
  InputEventhubTypedDict,
120
120
  InputKafkaTypedDict,
121
121
  InputElasticTypedDict,
122
- InputOffice365MsgTraceTypedDict,
123
122
  InputSplunkHecTypedDict,
123
+ InputOffice365MsgTraceTypedDict,
124
124
  InputLokiTypedDict,
125
125
  InputPrometheusRwTypedDict,
126
- InputPrometheusTypedDict,
127
126
  InputCrowdstrikeTypedDict,
128
- InputEdgePrometheusTypedDict,
127
+ InputPrometheusTypedDict,
129
128
  InputOpenTelemetryTypedDict,
130
129
  InputS3TypedDict,
130
+ InputEdgePrometheusTypedDict,
131
131
  InputSecurityLakeTypedDict,
132
132
  InputMskTypedDict,
133
133
  InputS3InventoryTypedDict,
@@ -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
 
@@ -221,6 +221,12 @@ class InputAppscopeMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
221
221
 
222
222
  class InputAppscopeTLSSettingsServerSideTypedDict(TypedDict):
223
223
  disabled: NotRequired[bool]
224
+ request_cert: NotRequired[bool]
225
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
226
+ reject_unauthorized: NotRequired[bool]
227
+ r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
228
+ common_name_regex: NotRequired[str]
229
+ r"""Regex matching allowable common names in peer certificates' subject attribute"""
224
230
  certificate_name: NotRequired[str]
225
231
  r"""The name of the predefined certificate"""
226
232
  priv_key_path: NotRequired[str]
@@ -231,10 +237,6 @@ class InputAppscopeTLSSettingsServerSideTypedDict(TypedDict):
231
237
  r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
232
238
  ca_path: NotRequired[str]
233
239
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
234
- request_cert: NotRequired[bool]
235
- r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
236
- reject_unauthorized: NotRequired[Any]
237
- common_name_regex: NotRequired[Any]
238
240
  min_version: NotRequired[InputAppscopeMinimumTLSVersion]
239
241
  max_version: NotRequired[InputAppscopeMaximumTLSVersion]
240
242
 
@@ -242,6 +244,19 @@ class InputAppscopeTLSSettingsServerSideTypedDict(TypedDict):
242
244
  class InputAppscopeTLSSettingsServerSide(BaseModel):
243
245
  disabled: Optional[bool] = True
244
246
 
247
+ request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
248
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
249
+
250
+ reject_unauthorized: Annotated[
251
+ Optional[bool], pydantic.Field(alias="rejectUnauthorized")
252
+ ] = True
253
+ r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
254
+
255
+ common_name_regex: Annotated[
256
+ Optional[str], pydantic.Field(alias="commonNameRegex")
257
+ ] = "/.*/"
258
+ r"""Regex matching allowable common names in peer certificates' subject attribute"""
259
+
245
260
  certificate_name: Annotated[
246
261
  Optional[str], pydantic.Field(alias="certificateName")
247
262
  ] = None
@@ -259,17 +274,6 @@ class InputAppscopeTLSSettingsServerSide(BaseModel):
259
274
  ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
260
275
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
261
276
 
262
- request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
263
- r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
264
-
265
- reject_unauthorized: Annotated[
266
- Optional[Any], pydantic.Field(alias="rejectUnauthorized")
267
- ] = None
268
-
269
- common_name_regex: Annotated[
270
- Optional[Any], pydantic.Field(alias="commonNameRegex")
271
- ] = None
272
-
273
277
  min_version: Annotated[
274
278
  Annotated[
275
279
  Optional[InputAppscopeMinimumTLSVersion],
@@ -341,6 +341,13 @@ class InputConfluentCloudKafkaSchemaRegistryAuthentication(BaseModel):
341
341
  tls: Optional[InputConfluentCloudKafkaSchemaRegistryTLSSettingsClientSide] = None
342
342
 
343
343
 
344
+ class InputConfluentCloudAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
345
+ r"""Enter credentials directly, or select a stored secret"""
346
+
347
+ MANUAL = "manual"
348
+ SECRET = "secret"
349
+
350
+
344
351
  class InputConfluentCloudSASLMechanism(str, Enum, metaclass=utils.OpenEnumMeta):
345
352
  # PLAIN
346
353
  PLAIN = "plain"
@@ -352,13 +359,58 @@ class InputConfluentCloudSASLMechanism(str, Enum, metaclass=utils.OpenEnumMeta):
352
359
  KERBEROS = "kerberos"
353
360
 
354
361
 
362
+ class InputConfluentCloudOauthParamTypedDict(TypedDict):
363
+ name: str
364
+ value: str
365
+
366
+
367
+ class InputConfluentCloudOauthParam(BaseModel):
368
+ name: str
369
+
370
+ value: str
371
+
372
+
373
+ class InputConfluentCloudSaslExtensionTypedDict(TypedDict):
374
+ name: str
375
+ value: str
376
+
377
+
378
+ class InputConfluentCloudSaslExtension(BaseModel):
379
+ name: str
380
+
381
+ value: str
382
+
383
+
355
384
  class InputConfluentCloudAuthenticationTypedDict(TypedDict):
356
385
  r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended."""
357
386
 
358
387
  disabled: NotRequired[bool]
388
+ username: NotRequired[str]
389
+ password: NotRequired[str]
390
+ auth_type: NotRequired[InputConfluentCloudAuthenticationMethod]
391
+ r"""Enter credentials directly, or select a stored secret"""
392
+ credentials_secret: NotRequired[str]
393
+ r"""Select or create a secret that references your credentials"""
359
394
  mechanism: NotRequired[InputConfluentCloudSASLMechanism]
395
+ keytab_location: NotRequired[str]
396
+ r"""Location of keytab file for authentication principal"""
397
+ principal: NotRequired[str]
398
+ r"""Authentication principal, such as `kafka_user@example.com`"""
399
+ broker_service_class: NotRequired[str]
400
+ r"""Kerberos service class for Kafka brokers, such as `kafka`"""
360
401
  oauth_enabled: NotRequired[bool]
361
402
  r"""Enable OAuth authentication"""
403
+ token_url: NotRequired[str]
404
+ r"""URL of the token endpoint to use for OAuth authentication"""
405
+ client_id: NotRequired[str]
406
+ r"""Client ID to use for OAuth authentication"""
407
+ oauth_secret_type: NotRequired[str]
408
+ client_text_secret: NotRequired[str]
409
+ r"""Select or create a stored text secret"""
410
+ oauth_params: NotRequired[List[InputConfluentCloudOauthParamTypedDict]]
411
+ r"""Additional fields to send to the token endpoint, such as scope or audience"""
412
+ sasl_extensions: NotRequired[List[InputConfluentCloudSaslExtensionTypedDict]]
413
+ r"""Additional SASL extension fields, such as Confluent's logicalCluster or identityPoolId"""
362
414
 
363
415
 
364
416
  class InputConfluentCloudAuthentication(BaseModel):
@@ -366,16 +418,74 @@ class InputConfluentCloudAuthentication(BaseModel):
366
418
 
367
419
  disabled: Optional[bool] = True
368
420
 
421
+ username: Optional[str] = None
422
+
423
+ password: Optional[str] = None
424
+
425
+ auth_type: Annotated[
426
+ Annotated[
427
+ Optional[InputConfluentCloudAuthenticationMethod],
428
+ PlainValidator(validate_open_enum(False)),
429
+ ],
430
+ pydantic.Field(alias="authType"),
431
+ ] = InputConfluentCloudAuthenticationMethod.MANUAL
432
+ r"""Enter credentials directly, or select a stored secret"""
433
+
434
+ credentials_secret: Annotated[
435
+ Optional[str], pydantic.Field(alias="credentialsSecret")
436
+ ] = None
437
+ r"""Select or create a secret that references your credentials"""
438
+
369
439
  mechanism: Annotated[
370
440
  Optional[InputConfluentCloudSASLMechanism],
371
441
  PlainValidator(validate_open_enum(False)),
372
442
  ] = InputConfluentCloudSASLMechanism.PLAIN
373
443
 
444
+ keytab_location: Annotated[
445
+ Optional[str], pydantic.Field(alias="keytabLocation")
446
+ ] = None
447
+ r"""Location of keytab file for authentication principal"""
448
+
449
+ principal: Optional[str] = None
450
+ r"""Authentication principal, such as `kafka_user@example.com`"""
451
+
452
+ broker_service_class: Annotated[
453
+ Optional[str], pydantic.Field(alias="brokerServiceClass")
454
+ ] = None
455
+ r"""Kerberos service class for Kafka brokers, such as `kafka`"""
456
+
374
457
  oauth_enabled: Annotated[Optional[bool], pydantic.Field(alias="oauthEnabled")] = (
375
458
  False
376
459
  )
377
460
  r"""Enable OAuth authentication"""
378
461
 
462
+ token_url: Annotated[Optional[str], pydantic.Field(alias="tokenUrl")] = None
463
+ r"""URL of the token endpoint to use for OAuth authentication"""
464
+
465
+ client_id: Annotated[Optional[str], pydantic.Field(alias="clientId")] = None
466
+ r"""Client ID to use for OAuth authentication"""
467
+
468
+ oauth_secret_type: Annotated[
469
+ Optional[str], pydantic.Field(alias="oauthSecretType")
470
+ ] = "secret"
471
+
472
+ client_text_secret: Annotated[
473
+ Optional[str], pydantic.Field(alias="clientTextSecret")
474
+ ] = None
475
+ r"""Select or create a stored text secret"""
476
+
477
+ oauth_params: Annotated[
478
+ Optional[List[InputConfluentCloudOauthParam]],
479
+ pydantic.Field(alias="oauthParams"),
480
+ ] = None
481
+ r"""Additional fields to send to the token endpoint, such as scope or audience"""
482
+
483
+ sasl_extensions: Annotated[
484
+ Optional[List[InputConfluentCloudSaslExtension]],
485
+ pydantic.Field(alias="saslExtensions"),
486
+ ] = None
487
+ r"""Additional SASL extension fields, such as Confluent's logicalCluster or identityPoolId"""
488
+
379
489
 
380
490
  class InputConfluentCloudMetadatumTypedDict(TypedDict):
381
491
  name: str
@@ -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 InputCriblHTTPMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
123
123
 
124
124
  class InputCriblHTTPTLSSettingsServerSideTypedDict(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 InputCriblHTTPTLSSettingsServerSideTypedDict(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[InputCriblHTTPMinimumTLSVersion]
141
143
  max_version: NotRequired[InputCriblHTTPMaximumTLSVersion]
142
144
 
@@ -144,6 +146,19 @@ class InputCriblHTTPTLSSettingsServerSideTypedDict(TypedDict):
144
146
  class InputCriblHTTPTLSSettingsServerSide(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 InputCriblHTTPTLSSettingsServerSide(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[InputCriblHTTPMinimumTLSVersion],
@@ -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
 
@@ -124,6 +124,12 @@ class InputCriblLakeHTTPMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMet
124
124
 
125
125
  class InputCriblLakeHTTPTLSSettingsServerSideTypedDict(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 InputCriblLakeHTTPTLSSettingsServerSideTypedDict(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[InputCriblLakeHTTPMinimumTLSVersion]
142
144
  max_version: NotRequired[InputCriblLakeHTTPMaximumTLSVersion]
143
145
 
@@ -145,6 +147,19 @@ class InputCriblLakeHTTPTLSSettingsServerSideTypedDict(TypedDict):
145
147
  class InputCriblLakeHTTPTLSSettingsServerSide(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 InputCriblLakeHTTPTLSSettingsServerSide(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[InputCriblLakeHTTPMinimumTLSVersion],
@@ -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 InputCriblTCPMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
123
123
 
124
124
  class InputCriblTCPTLSSettingsServerSideTypedDict(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 InputCriblTCPTLSSettingsServerSideTypedDict(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[InputCriblTCPMinimumTLSVersion]
141
143
  max_version: NotRequired[InputCriblTCPMaximumTLSVersion]
142
144
 
@@ -144,6 +146,19 @@ class InputCriblTCPTLSSettingsServerSideTypedDict(TypedDict):
144
146
  class InputCriblTCPTLSSettingsServerSide(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 InputCriblTCPTLSSettingsServerSide(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[InputCriblTCPMinimumTLSVersion],
@@ -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
 
@@ -124,6 +124,12 @@ class InputDatadogAgentMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta
124
124
 
125
125
  class InputDatadogAgentTLSSettingsServerSideTypedDict(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 InputDatadogAgentTLSSettingsServerSideTypedDict(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[InputDatadogAgentMinimumTLSVersion]
142
144
  max_version: NotRequired[InputDatadogAgentMaximumTLSVersion]
143
145
 
@@ -145,6 +147,19 @@ class InputDatadogAgentTLSSettingsServerSideTypedDict(TypedDict):
145
147
  class InputDatadogAgentTLSSettingsServerSide(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 InputDatadogAgentTLSSettingsServerSide(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[InputDatadogAgentMinimumTLSVersion],