cribl-control-plane 0.2.1rc4__py3-none-any.whl → 0.2.1rc5__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 (110) hide show
  1. cribl_control_plane/_version.py +3 -3
  2. cribl_control_plane/groups_sdk.py +3 -0
  3. cribl_control_plane/mappings.py +1185 -0
  4. cribl_control_plane/models/__init__.py +149 -105
  5. cribl_control_plane/models/createadminproductsmappingsactivatebyproductop.py +52 -0
  6. cribl_control_plane/models/createadminproductsmappingsbyproductop.py +53 -0
  7. cribl_control_plane/models/deleteadminproductsmappingsbyproductandidop.py +51 -0
  8. cribl_control_plane/models/getadminproductsmappingsbyproductandidop.py +51 -0
  9. cribl_control_plane/models/getadminproductsmappingsbyproductop.py +44 -0
  10. cribl_control_plane/models/input.py +14 -14
  11. cribl_control_plane/models/inputappscope.py +16 -20
  12. cribl_control_plane/models/inputconfluentcloud.py +0 -110
  13. cribl_control_plane/models/inputcriblhttp.py +16 -20
  14. cribl_control_plane/models/inputcribllakehttp.py +16 -20
  15. cribl_control_plane/models/inputcribltcp.py +16 -20
  16. cribl_control_plane/models/inputdatadogagent.py +16 -20
  17. cribl_control_plane/models/inputedgeprometheus.py +36 -44
  18. cribl_control_plane/models/inputelastic.py +27 -44
  19. cribl_control_plane/models/inputeventhub.py +0 -118
  20. cribl_control_plane/models/inputfirehose.py +16 -20
  21. cribl_control_plane/models/inputgrafana.py +31 -39
  22. cribl_control_plane/models/inputhttp.py +16 -20
  23. cribl_control_plane/models/inputhttpraw.py +16 -20
  24. cribl_control_plane/models/inputkafka.py +0 -108
  25. cribl_control_plane/models/inputloki.py +16 -20
  26. cribl_control_plane/models/inputmetrics.py +16 -20
  27. cribl_control_plane/models/inputmodeldriventelemetry.py +16 -20
  28. cribl_control_plane/models/inputopentelemetry.py +15 -19
  29. cribl_control_plane/models/inputprometheus.py +36 -44
  30. cribl_control_plane/models/inputprometheusrw.py +16 -20
  31. cribl_control_plane/models/inputsplunk.py +16 -20
  32. cribl_control_plane/models/inputsplunkhec.py +15 -19
  33. cribl_control_plane/models/inputsyslog.py +31 -39
  34. cribl_control_plane/models/inputsystemmetrics.py +10 -20
  35. cribl_control_plane/models/inputtcp.py +16 -30
  36. cribl_control_plane/models/inputtcpjson.py +16 -20
  37. cribl_control_plane/models/inputwindowsmetrics.py +10 -20
  38. cribl_control_plane/models/inputwineventlogs.py +0 -14
  39. cribl_control_plane/models/inputwizwebhook.py +16 -20
  40. cribl_control_plane/models/inputzscalerhec.py +15 -19
  41. cribl_control_plane/models/mappingruleset.py +53 -0
  42. cribl_control_plane/models/mappingrulesetevalmappingfunction.py +71 -0
  43. cribl_control_plane/models/mappingrulesetgenericmappingfunction.py +29 -0
  44. cribl_control_plane/models/output.py +22 -22
  45. cribl_control_plane/models/outputazureblob.py +0 -7
  46. cribl_control_plane/models/outputazuredataexplorer.py +93 -283
  47. cribl_control_plane/models/outputazureeventhub.py +21 -169
  48. cribl_control_plane/models/outputazurelogs.py +21 -49
  49. cribl_control_plane/models/outputchronicle.py +21 -49
  50. cribl_control_plane/models/outputclickhouse.py +21 -49
  51. cribl_control_plane/models/outputcloudwatch.py +21 -49
  52. cribl_control_plane/models/outputconfluentcloud.py +22 -167
  53. cribl_control_plane/models/outputcriblhttp.py +21 -49
  54. cribl_control_plane/models/outputcribltcp.py +21 -49
  55. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +22 -50
  56. cribl_control_plane/models/outputdatabricks.py +0 -7
  57. cribl_control_plane/models/outputdatadog.py +21 -49
  58. cribl_control_plane/models/outputdataset.py +21 -49
  59. cribl_control_plane/models/outputdls3.py +0 -7
  60. cribl_control_plane/models/outputdynatracehttp.py +21 -49
  61. cribl_control_plane/models/outputdynatraceotlp.py +21 -49
  62. cribl_control_plane/models/outputelastic.py +21 -74
  63. cribl_control_plane/models/outputelasticcloud.py +21 -74
  64. cribl_control_plane/models/outputfilesystem.py +0 -7
  65. cribl_control_plane/models/outputgooglechronicle.py +22 -65
  66. cribl_control_plane/models/outputgooglecloudlogging.py +22 -50
  67. cribl_control_plane/models/outputgooglecloudstorage.py +0 -7
  68. cribl_control_plane/models/outputgooglepubsub.py +21 -49
  69. cribl_control_plane/models/outputgrafanacloud.py +42 -98
  70. cribl_control_plane/models/outputgraphite.py +21 -49
  71. cribl_control_plane/models/outputhoneycomb.py +21 -49
  72. cribl_control_plane/models/outputhumiohec.py +21 -49
  73. cribl_control_plane/models/outputinfluxdb.py +21 -49
  74. cribl_control_plane/models/outputkafka.py +19 -162
  75. cribl_control_plane/models/outputkinesis.py +21 -56
  76. cribl_control_plane/models/outputloki.py +19 -47
  77. cribl_control_plane/models/outputminio.py +0 -7
  78. cribl_control_plane/models/outputmsk.py +19 -54
  79. cribl_control_plane/models/outputnewrelic.py +21 -49
  80. cribl_control_plane/models/outputnewrelicevents.py +22 -50
  81. cribl_control_plane/models/outputopentelemetry.py +21 -49
  82. cribl_control_plane/models/outputprometheus.py +21 -49
  83. cribl_control_plane/models/outputs3.py +0 -7
  84. cribl_control_plane/models/outputsentinel.py +21 -49
  85. cribl_control_plane/models/outputsentineloneaisiem.py +22 -50
  86. cribl_control_plane/models/outputservicenow.py +21 -49
  87. cribl_control_plane/models/outputsignalfx.py +21 -49
  88. cribl_control_plane/models/outputsns.py +19 -47
  89. cribl_control_plane/models/outputsplunk.py +21 -49
  90. cribl_control_plane/models/outputsplunkhec.py +21 -49
  91. cribl_control_plane/models/outputsplunklb.py +21 -49
  92. cribl_control_plane/models/outputsqs.py +19 -47
  93. cribl_control_plane/models/outputstatsd.py +21 -49
  94. cribl_control_plane/models/outputstatsdext.py +21 -49
  95. cribl_control_plane/models/outputsumologic.py +21 -49
  96. cribl_control_plane/models/outputsyslog.py +99 -129
  97. cribl_control_plane/models/outputtcpjson.py +21 -49
  98. cribl_control_plane/models/outputwavefront.py +21 -49
  99. cribl_control_plane/models/outputwebhook.py +21 -49
  100. cribl_control_plane/models/outputxsiam.py +19 -47
  101. cribl_control_plane/models/pipeline.py +4 -4
  102. cribl_control_plane/models/rulesetid.py +13 -0
  103. cribl_control_plane/models/runnablejobcollection.py +8 -12
  104. cribl_control_plane/models/runnablejobexecutor.py +8 -12
  105. cribl_control_plane/models/runnablejobscheduledsearch.py +8 -12
  106. cribl_control_plane/models/updateadminproductsmappingsbyproductandidop.py +63 -0
  107. cribl_control_plane/pipelines.py +8 -8
  108. {cribl_control_plane-0.2.1rc4.dist-info → cribl_control_plane-0.2.1rc5.dist-info}/METADATA +11 -2
  109. {cribl_control_plane-0.2.1rc4.dist-info → cribl_control_plane-0.2.1rc5.dist-info}/RECORD +110 -99
  110. {cribl_control_plane-0.2.1rc4.dist-info → cribl_control_plane-0.2.1rc5.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 List, Optional
10
+ from typing import Any, List, Optional
11
11
  from typing_extensions import Annotated, NotRequired, TypedDict
12
12
 
13
13
 
@@ -130,12 +130,6 @@ 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"""
139
133
  certificate_name: NotRequired[str]
140
134
  r"""The name of the predefined certificate"""
141
135
  priv_key_path: NotRequired[str]
@@ -146,6 +140,10 @@ class InputModelDrivenTelemetryTLSSettingsServerSideTypedDict(TypedDict):
146
140
  r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
147
141
  ca_path: NotRequired[str]
148
142
  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]
149
147
  min_version: NotRequired[InputModelDrivenTelemetryMinimumTLSVersion]
150
148
  max_version: NotRequired[InputModelDrivenTelemetryMaximumTLSVersion]
151
149
 
@@ -153,19 +151,6 @@ class InputModelDrivenTelemetryTLSSettingsServerSideTypedDict(TypedDict):
153
151
  class InputModelDrivenTelemetryTLSSettingsServerSide(BaseModel):
154
152
  disabled: Optional[bool] = True
155
153
 
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
-
169
154
  certificate_name: Annotated[
170
155
  Optional[str], pydantic.Field(alias="certificateName")
171
156
  ] = None
@@ -183,6 +168,17 @@ class InputModelDrivenTelemetryTLSSettingsServerSide(BaseModel):
183
168
  ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
184
169
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
185
170
 
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
+
186
182
  min_version: Annotated[
187
183
  Annotated[
188
184
  Optional[InputModelDrivenTelemetryMinimumTLSVersion],
@@ -124,12 +124,6 @@ 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"""
133
127
  certificate_name: NotRequired[str]
134
128
  r"""The name of the predefined certificate"""
135
129
  priv_key_path: NotRequired[str]
@@ -140,6 +134,10 @@ class InputOpenTelemetryTLSSettingsServerSideTypedDict(TypedDict):
140
134
  r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
141
135
  ca_path: NotRequired[str]
142
136
  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]
143
141
  min_version: NotRequired[InputOpenTelemetryMinimumTLSVersion]
144
142
  max_version: NotRequired[InputOpenTelemetryMaximumTLSVersion]
145
143
 
@@ -147,19 +145,6 @@ class InputOpenTelemetryTLSSettingsServerSideTypedDict(TypedDict):
147
145
  class InputOpenTelemetryTLSSettingsServerSide(BaseModel):
148
146
  disabled: Optional[bool] = True
149
147
 
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
-
163
148
  certificate_name: Annotated[
164
149
  Optional[str], pydantic.Field(alias="certificateName")
165
150
  ] = None
@@ -177,6 +162,17 @@ class InputOpenTelemetryTLSSettingsServerSide(BaseModel):
177
162
  ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
178
163
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
179
164
 
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
+
180
176
  min_version: Annotated[
181
177
  Annotated[
182
178
  Optional[InputOpenTelemetryMinimumTLSVersion],
@@ -164,19 +164,6 @@ class MetricsProtocol(str, Enum, metaclass=utils.OpenEnumMeta):
164
164
  HTTPS = "https"
165
165
 
166
166
 
167
- class InputPrometheusAwsAuthenticationMethodAuthenticationMethod(
168
- str, Enum, metaclass=utils.OpenEnumMeta
169
- ):
170
- r"""AWS authentication method. Choose Auto to use IAM roles."""
171
-
172
- # Auto
173
- AUTO = "auto"
174
- # Manual
175
- MANUAL = "manual"
176
- # Secret Key pair
177
- SECRET = "secret"
178
-
179
-
180
167
  class InputPrometheusSearchFilterTypedDict(TypedDict):
181
168
  name: str
182
169
  r"""Search filter attribute name, see: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html for more information. Attributes can be manually entered if not present in the drop down list"""
@@ -192,6 +179,19 @@ class InputPrometheusSearchFilter(BaseModel):
192
179
  r"""Search Filter Values, if empty only \"running\" EC2 instances will be returned"""
193
180
 
194
181
 
182
+ class InputPrometheusAwsAuthenticationMethodAuthenticationMethod(
183
+ str, Enum, metaclass=utils.OpenEnumMeta
184
+ ):
185
+ r"""AWS authentication method. Choose Auto to use IAM roles."""
186
+
187
+ # Auto
188
+ AUTO = "auto"
189
+ # Manual
190
+ MANUAL = "manual"
191
+ # Secret Key pair
192
+ SECRET = "secret"
193
+
194
+
195
195
  class InputPrometheusSignatureVersion(str, Enum, metaclass=utils.OpenEnumMeta):
196
196
  r"""Signature version to use for signing EC2 requests"""
197
197
 
@@ -244,27 +244,24 @@ class InputPrometheusTypedDict(TypedDict):
244
244
  description: NotRequired[str]
245
245
  target_list: NotRequired[List[str]]
246
246
  r"""List of Prometheus targets to pull metrics from. Values can be in URL or host[:port] format. For example: http://localhost:9090/metrics, localhost:9090, or localhost. In cases where just host[:port] is specified, the endpoint will resolve to 'http://host[:port]/metrics'."""
247
- record_type: NotRequired[InputPrometheusRecordType]
248
- r"""DNS Record type to resolve"""
249
- scrape_port: NotRequired[float]
250
- r"""The port number in the metrics URL for discovered targets."""
251
247
  name_list: NotRequired[List[str]]
252
248
  r"""List of DNS names to resolve"""
249
+ record_type: NotRequired[InputPrometheusRecordType]
250
+ r"""DNS Record type to resolve"""
253
251
  scrape_protocol: NotRequired[MetricsProtocol]
254
252
  r"""Protocol to use when collecting metrics"""
255
253
  scrape_path: NotRequired[str]
256
254
  r"""Path to use when collecting metrics from discovered targets"""
257
- aws_authentication_method: NotRequired[
258
- InputPrometheusAwsAuthenticationMethodAuthenticationMethod
259
- ]
260
- r"""AWS authentication method. Choose Auto to use IAM roles."""
261
- aws_api_key: NotRequired[str]
262
- aws_secret: NotRequired[str]
263
- r"""Select or create a stored secret that references your access key and secret key"""
264
255
  use_public_ip: NotRequired[bool]
265
256
  r"""Use public IP address for discovered targets. Set to false if the private IP address should be used."""
257
+ scrape_port: NotRequired[float]
258
+ r"""The port number in the metrics URL for discovered targets."""
266
259
  search_filter: NotRequired[List[InputPrometheusSearchFilterTypedDict]]
267
260
  r"""EC2 Instance Search Filter"""
261
+ aws_authentication_method: NotRequired[
262
+ InputPrometheusAwsAuthenticationMethodAuthenticationMethod
263
+ ]
264
+ r"""AWS authentication method. Choose Auto to use IAM roles."""
268
265
  aws_secret_key: NotRequired[str]
269
266
  region: NotRequired[str]
270
267
  r"""Region where the EC2 is located"""
@@ -390,6 +387,9 @@ class InputPrometheus(BaseModel):
390
387
  )
391
388
  r"""List of Prometheus targets to pull metrics from. Values can be in URL or host[:port] format. For example: http://localhost:9090/metrics, localhost:9090, or localhost. In cases where just host[:port] is specified, the endpoint will resolve to 'http://host[:port]/metrics'."""
392
389
 
390
+ name_list: Annotated[Optional[List[str]], pydantic.Field(alias="nameList")] = None
391
+ r"""List of DNS names to resolve"""
392
+
393
393
  record_type: Annotated[
394
394
  Annotated[
395
395
  Optional[InputPrometheusRecordType],
@@ -399,12 +399,6 @@ class InputPrometheus(BaseModel):
399
399
  ] = InputPrometheusRecordType.SRV
400
400
  r"""DNS Record type to resolve"""
401
401
 
402
- scrape_port: Annotated[Optional[float], pydantic.Field(alias="scrapePort")] = 9090
403
- r"""The port number in the metrics URL for discovered targets."""
404
-
405
- name_list: Annotated[Optional[List[str]], pydantic.Field(alias="nameList")] = None
406
- r"""List of DNS names to resolve"""
407
-
408
402
  scrape_protocol: Annotated[
409
403
  Annotated[Optional[MetricsProtocol], PlainValidator(validate_open_enum(False))],
410
404
  pydantic.Field(alias="scrapeProtocol"),
@@ -416,29 +410,27 @@ class InputPrometheus(BaseModel):
416
410
  )
417
411
  r"""Path to use when collecting metrics from discovered targets"""
418
412
 
419
- aws_authentication_method: Annotated[
420
- Annotated[
421
- Optional[InputPrometheusAwsAuthenticationMethodAuthenticationMethod],
422
- PlainValidator(validate_open_enum(False)),
423
- ],
424
- pydantic.Field(alias="awsAuthenticationMethod"),
425
- ] = InputPrometheusAwsAuthenticationMethodAuthenticationMethod.AUTO
426
- r"""AWS authentication method. Choose Auto to use IAM roles."""
427
-
428
- aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None
429
-
430
- aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None
431
- r"""Select or create a stored secret that references your access key and secret key"""
432
-
433
413
  use_public_ip: Annotated[Optional[bool], pydantic.Field(alias="usePublicIp")] = True
434
414
  r"""Use public IP address for discovered targets. Set to false if the private IP address should be used."""
435
415
 
416
+ scrape_port: Annotated[Optional[float], pydantic.Field(alias="scrapePort")] = 9090
417
+ r"""The port number in the metrics URL for discovered targets."""
418
+
436
419
  search_filter: Annotated[
437
420
  Optional[List[InputPrometheusSearchFilter]],
438
421
  pydantic.Field(alias="searchFilter"),
439
422
  ] = None
440
423
  r"""EC2 Instance Search Filter"""
441
424
 
425
+ aws_authentication_method: Annotated[
426
+ Annotated[
427
+ Optional[InputPrometheusAwsAuthenticationMethodAuthenticationMethod],
428
+ PlainValidator(validate_open_enum(False)),
429
+ ],
430
+ pydantic.Field(alias="awsAuthenticationMethod"),
431
+ ] = InputPrometheusAwsAuthenticationMethodAuthenticationMethod.AUTO
432
+ r"""AWS authentication method. Choose Auto to use IAM roles."""
433
+
442
434
  aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = (
443
435
  None
444
436
  )
@@ -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 List, Optional
10
+ from typing import Any, List, Optional
11
11
  from typing_extensions import Annotated, NotRequired, TypedDict
12
12
 
13
13
 
@@ -124,12 +124,6 @@ class InputPrometheusRwMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta
124
124
 
125
125
  class InputPrometheusRwTLSSettingsServerSideTypedDict(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"""
133
127
  certificate_name: NotRequired[str]
134
128
  r"""The name of the predefined certificate"""
135
129
  priv_key_path: NotRequired[str]
@@ -140,6 +134,10 @@ class InputPrometheusRwTLSSettingsServerSideTypedDict(TypedDict):
140
134
  r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
141
135
  ca_path: NotRequired[str]
142
136
  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]
143
141
  min_version: NotRequired[InputPrometheusRwMinimumTLSVersion]
144
142
  max_version: NotRequired[InputPrometheusRwMaximumTLSVersion]
145
143
 
@@ -147,19 +145,6 @@ class InputPrometheusRwTLSSettingsServerSideTypedDict(TypedDict):
147
145
  class InputPrometheusRwTLSSettingsServerSide(BaseModel):
148
146
  disabled: Optional[bool] = True
149
147
 
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
-
163
148
  certificate_name: Annotated[
164
149
  Optional[str], pydantic.Field(alias="certificateName")
165
150
  ] = None
@@ -177,6 +162,17 @@ class InputPrometheusRwTLSSettingsServerSide(BaseModel):
177
162
  ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
178
163
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
179
164
 
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
+
180
176
  min_version: Annotated[
181
177
  Annotated[
182
178
  Optional[InputPrometheusRwMinimumTLSVersion],
@@ -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 List, Optional
10
+ from typing import Any, List, Optional
11
11
  from typing_extensions import Annotated, NotRequired, TypedDict
12
12
 
13
13
 
@@ -123,12 +123,6 @@ class InputSplunkMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
123
123
 
124
124
  class InputSplunkTLSSettingsServerSideTypedDict(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"""
132
126
  certificate_name: NotRequired[str]
133
127
  r"""The name of the predefined certificate"""
134
128
  priv_key_path: NotRequired[str]
@@ -139,6 +133,10 @@ class InputSplunkTLSSettingsServerSideTypedDict(TypedDict):
139
133
  r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
140
134
  ca_path: NotRequired[str]
141
135
  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]
142
140
  min_version: NotRequired[InputSplunkMinimumTLSVersion]
143
141
  max_version: NotRequired[InputSplunkMaximumTLSVersion]
144
142
 
@@ -146,19 +144,6 @@ class InputSplunkTLSSettingsServerSideTypedDict(TypedDict):
146
144
  class InputSplunkTLSSettingsServerSide(BaseModel):
147
145
  disabled: Optional[bool] = True
148
146
 
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
-
162
147
  certificate_name: Annotated[
163
148
  Optional[str], pydantic.Field(alias="certificateName")
164
149
  ] = None
@@ -176,6 +161,17 @@ class InputSplunkTLSSettingsServerSide(BaseModel):
176
161
  ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
177
162
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
178
163
 
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
+
179
175
  min_version: Annotated[
180
176
  Annotated[
181
177
  Optional[InputSplunkMinimumTLSVersion],
@@ -185,12 +185,6 @@ class InputSplunkHecMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
185
185
 
186
186
  class InputSplunkHecTLSSettingsServerSideTypedDict(TypedDict):
187
187
  disabled: NotRequired[bool]
188
- request_cert: NotRequired[bool]
189
- r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
190
- reject_unauthorized: NotRequired[bool]
191
- r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
192
- common_name_regex: NotRequired[str]
193
- r"""Regex matching allowable common names in peer certificates' subject attribute"""
194
188
  certificate_name: NotRequired[str]
195
189
  r"""The name of the predefined certificate"""
196
190
  priv_key_path: NotRequired[str]
@@ -201,6 +195,10 @@ class InputSplunkHecTLSSettingsServerSideTypedDict(TypedDict):
201
195
  r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
202
196
  ca_path: NotRequired[str]
203
197
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
198
+ request_cert: NotRequired[bool]
199
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
200
+ reject_unauthorized: NotRequired[Any]
201
+ common_name_regex: NotRequired[Any]
204
202
  min_version: NotRequired[InputSplunkHecMinimumTLSVersion]
205
203
  max_version: NotRequired[InputSplunkHecMaximumTLSVersion]
206
204
 
@@ -208,19 +206,6 @@ class InputSplunkHecTLSSettingsServerSideTypedDict(TypedDict):
208
206
  class InputSplunkHecTLSSettingsServerSide(BaseModel):
209
207
  disabled: Optional[bool] = True
210
208
 
211
- request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
212
- r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
213
-
214
- reject_unauthorized: Annotated[
215
- Optional[bool], pydantic.Field(alias="rejectUnauthorized")
216
- ] = True
217
- r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
218
-
219
- common_name_regex: Annotated[
220
- Optional[str], pydantic.Field(alias="commonNameRegex")
221
- ] = "/.*/"
222
- r"""Regex matching allowable common names in peer certificates' subject attribute"""
223
-
224
209
  certificate_name: Annotated[
225
210
  Optional[str], pydantic.Field(alias="certificateName")
226
211
  ] = None
@@ -238,6 +223,17 @@ class InputSplunkHecTLSSettingsServerSide(BaseModel):
238
223
  ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
239
224
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
240
225
 
226
+ request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
227
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
228
+
229
+ reject_unauthorized: Annotated[
230
+ Optional[Any], pydantic.Field(alias="rejectUnauthorized")
231
+ ] = None
232
+
233
+ common_name_regex: Annotated[
234
+ Optional[Any], pydantic.Field(alias="commonNameRegex")
235
+ ] = None
236
+
241
237
  min_version: Annotated[
242
238
  Annotated[
243
239
  Optional[InputSplunkHecMinimumTLSVersion],
@@ -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 List, Optional, Union
10
+ from typing import Any, List, Optional, Union
11
11
  from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
12
12
 
13
13
 
@@ -123,12 +123,6 @@ class InputSyslogMaximumTLSVersion2(str, Enum, metaclass=utils.OpenEnumMeta):
123
123
 
124
124
  class InputSyslogTLSSettingsServerSide2TypedDict(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"""
132
126
  certificate_name: NotRequired[str]
133
127
  r"""The name of the predefined certificate"""
134
128
  priv_key_path: NotRequired[str]
@@ -139,6 +133,10 @@ class InputSyslogTLSSettingsServerSide2TypedDict(TypedDict):
139
133
  r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
140
134
  ca_path: NotRequired[str]
141
135
  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]
142
140
  min_version: NotRequired[InputSyslogMinimumTLSVersion2]
143
141
  max_version: NotRequired[InputSyslogMaximumTLSVersion2]
144
142
 
@@ -146,19 +144,6 @@ class InputSyslogTLSSettingsServerSide2TypedDict(TypedDict):
146
144
  class InputSyslogTLSSettingsServerSide2(BaseModel):
147
145
  disabled: Optional[bool] = True
148
146
 
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
-
162
147
  certificate_name: Annotated[
163
148
  Optional[str], pydantic.Field(alias="certificateName")
164
149
  ] = None
@@ -176,6 +161,17 @@ class InputSyslogTLSSettingsServerSide2(BaseModel):
176
161
  ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
177
162
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
178
163
 
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
+
179
175
  min_version: Annotated[
180
176
  Annotated[
181
177
  Optional[InputSyslogMinimumTLSVersion2],
@@ -514,12 +510,6 @@ class InputSyslogMaximumTLSVersion1(str, Enum, metaclass=utils.OpenEnumMeta):
514
510
 
515
511
  class InputSyslogTLSSettingsServerSide1TypedDict(TypedDict):
516
512
  disabled: NotRequired[bool]
517
- request_cert: NotRequired[bool]
518
- r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
519
- reject_unauthorized: NotRequired[bool]
520
- r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
521
- common_name_regex: NotRequired[str]
522
- r"""Regex matching allowable common names in peer certificates' subject attribute"""
523
513
  certificate_name: NotRequired[str]
524
514
  r"""The name of the predefined certificate"""
525
515
  priv_key_path: NotRequired[str]
@@ -530,6 +520,10 @@ class InputSyslogTLSSettingsServerSide1TypedDict(TypedDict):
530
520
  r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
531
521
  ca_path: NotRequired[str]
532
522
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
523
+ request_cert: NotRequired[bool]
524
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
525
+ reject_unauthorized: NotRequired[Any]
526
+ common_name_regex: NotRequired[Any]
533
527
  min_version: NotRequired[InputSyslogMinimumTLSVersion1]
534
528
  max_version: NotRequired[InputSyslogMaximumTLSVersion1]
535
529
 
@@ -537,19 +531,6 @@ class InputSyslogTLSSettingsServerSide1TypedDict(TypedDict):
537
531
  class InputSyslogTLSSettingsServerSide1(BaseModel):
538
532
  disabled: Optional[bool] = True
539
533
 
540
- request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
541
- r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
542
-
543
- reject_unauthorized: Annotated[
544
- Optional[bool], pydantic.Field(alias="rejectUnauthorized")
545
- ] = True
546
- r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
547
-
548
- common_name_regex: Annotated[
549
- Optional[str], pydantic.Field(alias="commonNameRegex")
550
- ] = "/.*/"
551
- r"""Regex matching allowable common names in peer certificates' subject attribute"""
552
-
553
534
  certificate_name: Annotated[
554
535
  Optional[str], pydantic.Field(alias="certificateName")
555
536
  ] = None
@@ -567,6 +548,17 @@ class InputSyslogTLSSettingsServerSide1(BaseModel):
567
548
  ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
568
549
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
569
550
 
551
+ request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
552
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
553
+
554
+ reject_unauthorized: Annotated[
555
+ Optional[Any], pydantic.Field(alias="rejectUnauthorized")
556
+ ] = None
557
+
558
+ common_name_regex: Annotated[
559
+ Optional[Any], pydantic.Field(alias="commonNameRegex")
560
+ ] = None
561
+
570
562
  min_version: Annotated[
571
563
  Annotated[
572
564
  Optional[InputSyslogMinimumTLSVersion1],