cribl-control-plane 0.2.1rc4__py3-none-any.whl → 0.2.1rc6__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 (98) hide show
  1. cribl_control_plane/_version.py +3 -3
  2. cribl_control_plane/groups_sdk.py +2 -2
  3. cribl_control_plane/models/__init__.py +3 -99
  4. cribl_control_plane/models/createconfiggroupbyproductop.py +2 -2
  5. cribl_control_plane/models/input.py +14 -14
  6. cribl_control_plane/models/inputappscope.py +16 -20
  7. cribl_control_plane/models/inputconfluentcloud.py +0 -110
  8. cribl_control_plane/models/inputcriblhttp.py +16 -20
  9. cribl_control_plane/models/inputcribllakehttp.py +16 -20
  10. cribl_control_plane/models/inputcribltcp.py +16 -20
  11. cribl_control_plane/models/inputdatadogagent.py +16 -20
  12. cribl_control_plane/models/inputedgeprometheus.py +36 -44
  13. cribl_control_plane/models/inputelastic.py +27 -44
  14. cribl_control_plane/models/inputeventhub.py +0 -118
  15. cribl_control_plane/models/inputfirehose.py +16 -20
  16. cribl_control_plane/models/inputgrafana.py +31 -39
  17. cribl_control_plane/models/inputhttp.py +16 -20
  18. cribl_control_plane/models/inputhttpraw.py +16 -20
  19. cribl_control_plane/models/inputkafka.py +0 -108
  20. cribl_control_plane/models/inputloki.py +16 -20
  21. cribl_control_plane/models/inputmetrics.py +16 -20
  22. cribl_control_plane/models/inputmodeldriventelemetry.py +16 -20
  23. cribl_control_plane/models/inputopentelemetry.py +15 -19
  24. cribl_control_plane/models/inputprometheus.py +36 -44
  25. cribl_control_plane/models/inputprometheusrw.py +16 -20
  26. cribl_control_plane/models/inputsplunk.py +16 -20
  27. cribl_control_plane/models/inputsplunkhec.py +15 -19
  28. cribl_control_plane/models/inputsyslog.py +31 -39
  29. cribl_control_plane/models/inputsystemmetrics.py +10 -20
  30. cribl_control_plane/models/inputtcp.py +16 -30
  31. cribl_control_plane/models/inputtcpjson.py +16 -20
  32. cribl_control_plane/models/inputwindowsmetrics.py +10 -20
  33. cribl_control_plane/models/inputwineventlogs.py +0 -14
  34. cribl_control_plane/models/inputwizwebhook.py +16 -20
  35. cribl_control_plane/models/inputzscalerhec.py +15 -19
  36. cribl_control_plane/models/output.py +22 -22
  37. cribl_control_plane/models/outputazureblob.py +0 -7
  38. cribl_control_plane/models/outputazuredataexplorer.py +93 -283
  39. cribl_control_plane/models/outputazureeventhub.py +21 -169
  40. cribl_control_plane/models/outputazurelogs.py +21 -49
  41. cribl_control_plane/models/outputchronicle.py +21 -49
  42. cribl_control_plane/models/outputclickhouse.py +21 -49
  43. cribl_control_plane/models/outputcloudwatch.py +21 -49
  44. cribl_control_plane/models/outputconfluentcloud.py +22 -167
  45. cribl_control_plane/models/outputcriblhttp.py +21 -49
  46. cribl_control_plane/models/outputcribltcp.py +21 -49
  47. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +22 -50
  48. cribl_control_plane/models/outputdatabricks.py +0 -7
  49. cribl_control_plane/models/outputdatadog.py +21 -49
  50. cribl_control_plane/models/outputdataset.py +21 -49
  51. cribl_control_plane/models/outputdls3.py +0 -7
  52. cribl_control_plane/models/outputdynatracehttp.py +21 -49
  53. cribl_control_plane/models/outputdynatraceotlp.py +21 -49
  54. cribl_control_plane/models/outputelastic.py +21 -74
  55. cribl_control_plane/models/outputelasticcloud.py +21 -74
  56. cribl_control_plane/models/outputfilesystem.py +0 -7
  57. cribl_control_plane/models/outputgooglechronicle.py +22 -65
  58. cribl_control_plane/models/outputgooglecloudlogging.py +22 -50
  59. cribl_control_plane/models/outputgooglecloudstorage.py +0 -7
  60. cribl_control_plane/models/outputgooglepubsub.py +21 -49
  61. cribl_control_plane/models/outputgrafanacloud.py +42 -98
  62. cribl_control_plane/models/outputgraphite.py +21 -49
  63. cribl_control_plane/models/outputhoneycomb.py +21 -49
  64. cribl_control_plane/models/outputhumiohec.py +21 -49
  65. cribl_control_plane/models/outputinfluxdb.py +21 -49
  66. cribl_control_plane/models/outputkafka.py +19 -162
  67. cribl_control_plane/models/outputkinesis.py +21 -56
  68. cribl_control_plane/models/outputloki.py +19 -47
  69. cribl_control_plane/models/outputminio.py +0 -7
  70. cribl_control_plane/models/outputmsk.py +19 -54
  71. cribl_control_plane/models/outputnewrelic.py +21 -49
  72. cribl_control_plane/models/outputnewrelicevents.py +22 -50
  73. cribl_control_plane/models/outputopentelemetry.py +21 -49
  74. cribl_control_plane/models/outputprometheus.py +21 -49
  75. cribl_control_plane/models/outputs3.py +0 -7
  76. cribl_control_plane/models/outputsentinel.py +21 -49
  77. cribl_control_plane/models/outputsentineloneaisiem.py +22 -50
  78. cribl_control_plane/models/outputservicenow.py +21 -49
  79. cribl_control_plane/models/outputsignalfx.py +21 -49
  80. cribl_control_plane/models/outputsns.py +19 -47
  81. cribl_control_plane/models/outputsplunk.py +21 -49
  82. cribl_control_plane/models/outputsplunkhec.py +21 -49
  83. cribl_control_plane/models/outputsplunklb.py +21 -49
  84. cribl_control_plane/models/outputsqs.py +19 -47
  85. cribl_control_plane/models/outputstatsd.py +21 -49
  86. cribl_control_plane/models/outputstatsdext.py +21 -49
  87. cribl_control_plane/models/outputsumologic.py +21 -49
  88. cribl_control_plane/models/outputsyslog.py +99 -129
  89. cribl_control_plane/models/outputtcpjson.py +21 -49
  90. cribl_control_plane/models/outputwavefront.py +21 -49
  91. cribl_control_plane/models/outputwebhook.py +21 -49
  92. cribl_control_plane/models/outputxsiam.py +19 -47
  93. cribl_control_plane/models/runnablejobcollection.py +8 -12
  94. cribl_control_plane/models/runnablejobexecutor.py +8 -12
  95. cribl_control_plane/models/runnablejobscheduledsearch.py +8 -12
  96. {cribl_control_plane-0.2.1rc4.dist-info → cribl_control_plane-0.2.1rc6.dist-info}/METADATA +1 -1
  97. {cribl_control_plane-0.2.1rc4.dist-info → cribl_control_plane-0.2.1rc6.dist-info}/RECORD +98 -98
  98. {cribl_control_plane-0.2.1rc4.dist-info → cribl_control_plane-0.2.1rc6.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
 
@@ -123,12 +123,6 @@ class InputElasticMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
123
123
 
124
124
  class InputElasticTLSSettingsServerSideTypedDict(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 InputElasticTLSSettingsServerSideTypedDict(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[InputElasticMinimumTLSVersion]
143
141
  max_version: NotRequired[InputElasticMaximumTLSVersion]
144
142
 
@@ -146,19 +144,6 @@ class InputElasticTLSSettingsServerSideTypedDict(TypedDict):
146
144
  class InputElasticTLSSettingsServerSide(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 InputElasticTLSSettingsServerSide(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[InputElasticMinimumTLSVersion],
@@ -250,12 +246,6 @@ class InputElasticAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
250
246
  class InputElasticProxyModeTypedDict(TypedDict):
251
247
  enabled: NotRequired[bool]
252
248
  r"""Enable proxying of non-bulk API requests to an external Elastic server. Enable this only if you understand the implications. See [Cribl Docs](https://docs.cribl.io/stream/sources-elastic/#proxy-mode) for more details."""
253
- auth_type: NotRequired[InputElasticAuthenticationMethod]
254
- r"""Enter credentials directly, or select a stored secret"""
255
- username: NotRequired[str]
256
- password: NotRequired[str]
257
- credentials_secret: NotRequired[str]
258
- r"""Select or create a secret that references your credentials"""
259
249
  url: NotRequired[str]
260
250
  r"""URL of the Elastic server to proxy non-bulk requests to, such as http://elastic:9200"""
261
251
  reject_unauthorized: NotRequired[bool]
@@ -264,30 +254,14 @@ class InputElasticProxyModeTypedDict(TypedDict):
264
254
  r"""List of headers to remove from the request to proxy"""
265
255
  timeout_sec: NotRequired[float]
266
256
  r"""Amount of time, in seconds, to wait for a proxy request to complete before canceling it"""
257
+ auth_type: NotRequired[InputElasticAuthenticationMethod]
258
+ r"""Enter credentials directly, or select a stored secret"""
267
259
 
268
260
 
269
261
  class InputElasticProxyMode(BaseModel):
270
262
  enabled: Optional[bool] = False
271
263
  r"""Enable proxying of non-bulk API requests to an external Elastic server. Enable this only if you understand the implications. See [Cribl Docs](https://docs.cribl.io/stream/sources-elastic/#proxy-mode) for more details."""
272
264
 
273
- auth_type: Annotated[
274
- Annotated[
275
- Optional[InputElasticAuthenticationMethod],
276
- PlainValidator(validate_open_enum(False)),
277
- ],
278
- pydantic.Field(alias="authType"),
279
- ] = InputElasticAuthenticationMethod.NONE
280
- r"""Enter credentials directly, or select a stored secret"""
281
-
282
- username: Optional[str] = None
283
-
284
- password: Optional[str] = None
285
-
286
- credentials_secret: Annotated[
287
- Optional[str], pydantic.Field(alias="credentialsSecret")
288
- ] = None
289
- r"""Select or create a secret that references your credentials"""
290
-
291
265
  url: Optional[str] = None
292
266
  r"""URL of the Elastic server to proxy non-bulk requests to, such as http://elastic:9200"""
293
267
 
@@ -304,6 +278,15 @@ class InputElasticProxyMode(BaseModel):
304
278
  timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = 60
305
279
  r"""Amount of time, in seconds, to wait for a proxy request to complete before canceling it"""
306
280
 
281
+ auth_type: Annotated[
282
+ Annotated[
283
+ Optional[InputElasticAuthenticationMethod],
284
+ PlainValidator(validate_open_enum(False)),
285
+ ],
286
+ pydantic.Field(alias="authType"),
287
+ ] = InputElasticAuthenticationMethod.NONE
288
+ r"""Enter credentials directly, or select a stored secret"""
289
+
307
290
 
308
291
  class InputElasticTypedDict(TypedDict):
309
292
  type: InputElasticType
@@ -107,15 +107,6 @@ class InputEventhubPq(BaseModel):
107
107
  ] = None
108
108
 
109
109
 
110
- class InputEventhubAuthTypeAuthenticationMethod(
111
- str, Enum, metaclass=utils.OpenEnumMeta
112
- ):
113
- r"""Enter password directly, or select a stored secret"""
114
-
115
- MANUAL = "manual"
116
- SECRET = "secret"
117
-
118
-
119
110
  class InputEventhubSASLMechanism(str, Enum, metaclass=utils.OpenEnumMeta):
120
111
  # PLAIN
121
112
  PLAIN = "plain"
@@ -123,57 +114,11 @@ class InputEventhubSASLMechanism(str, Enum, metaclass=utils.OpenEnumMeta):
123
114
  OAUTHBEARER = "oauthbearer"
124
115
 
125
116
 
126
- class InputEventhubClientSecretAuthTypeAuthenticationMethod(
127
- str, Enum, metaclass=utils.OpenEnumMeta
128
- ):
129
- MANUAL = "manual"
130
- SECRET = "secret"
131
- CERTIFICATE = "certificate"
132
-
133
-
134
- class InputEventhubMicrosoftEntraIDAuthenticationEndpoint(
135
- str, Enum, metaclass=utils.OpenEnumMeta
136
- ):
137
- r"""Endpoint used to acquire authentication tokens from Azure"""
138
-
139
- HTTPS_LOGIN_MICROSOFTONLINE_COM = "https://login.microsoftonline.com"
140
- HTTPS_LOGIN_MICROSOFTONLINE_US = "https://login.microsoftonline.us"
141
- HTTPS_LOGIN_PARTNER_MICROSOFTONLINE_CN = "https://login.partner.microsoftonline.cn"
142
-
143
-
144
117
  class InputEventhubAuthenticationTypedDict(TypedDict):
145
118
  r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended."""
146
119
 
147
120
  disabled: NotRequired[bool]
148
- auth_type: NotRequired[InputEventhubAuthTypeAuthenticationMethod]
149
- r"""Enter password directly, or select a stored secret"""
150
- password: NotRequired[str]
151
- r"""Connection-string primary key, or connection-string secondary key, from the Event Hubs workspace"""
152
- text_secret: NotRequired[str]
153
- r"""Select or create a stored text secret"""
154
121
  mechanism: NotRequired[InputEventhubSASLMechanism]
155
- username: NotRequired[str]
156
- r"""The username for authentication. For Event Hubs, this should always be $ConnectionString."""
157
- client_secret_auth_type: NotRequired[
158
- InputEventhubClientSecretAuthTypeAuthenticationMethod
159
- ]
160
- client_secret: NotRequired[str]
161
- r"""client_secret to pass in the OAuth request parameter"""
162
- client_text_secret: NotRequired[str]
163
- r"""Select or create a stored text secret"""
164
- certificate_name: NotRequired[str]
165
- r"""Select or create a stored certificate"""
166
- cert_path: NotRequired[str]
167
- priv_key_path: NotRequired[str]
168
- passphrase: NotRequired[str]
169
- oauth_endpoint: NotRequired[InputEventhubMicrosoftEntraIDAuthenticationEndpoint]
170
- r"""Endpoint used to acquire authentication tokens from Azure"""
171
- client_id: NotRequired[str]
172
- r"""client_id to pass in the OAuth request parameter"""
173
- tenant_id: NotRequired[str]
174
- r"""Directory ID (tenant identifier) in Azure Active Directory"""
175
- scope: NotRequired[str]
176
- r"""Scope to pass in the OAuth request parameter"""
177
122
 
178
123
 
179
124
  class InputEventhubAuthentication(BaseModel):
@@ -181,73 +126,10 @@ class InputEventhubAuthentication(BaseModel):
181
126
 
182
127
  disabled: Optional[bool] = False
183
128
 
184
- auth_type: Annotated[
185
- Annotated[
186
- Optional[InputEventhubAuthTypeAuthenticationMethod],
187
- PlainValidator(validate_open_enum(False)),
188
- ],
189
- pydantic.Field(alias="authType"),
190
- ] = InputEventhubAuthTypeAuthenticationMethod.MANUAL
191
- r"""Enter password directly, or select a stored secret"""
192
-
193
- password: Optional[str] = None
194
- r"""Connection-string primary key, or connection-string secondary key, from the Event Hubs workspace"""
195
-
196
- text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None
197
- r"""Select or create a stored text secret"""
198
-
199
129
  mechanism: Annotated[
200
130
  Optional[InputEventhubSASLMechanism], PlainValidator(validate_open_enum(False))
201
131
  ] = InputEventhubSASLMechanism.PLAIN
202
132
 
203
- username: Optional[str] = "$ConnectionString"
204
- r"""The username for authentication. For Event Hubs, this should always be $ConnectionString."""
205
-
206
- client_secret_auth_type: Annotated[
207
- Annotated[
208
- Optional[InputEventhubClientSecretAuthTypeAuthenticationMethod],
209
- PlainValidator(validate_open_enum(False)),
210
- ],
211
- pydantic.Field(alias="clientSecretAuthType"),
212
- ] = InputEventhubClientSecretAuthTypeAuthenticationMethod.MANUAL
213
-
214
- client_secret: Annotated[Optional[str], pydantic.Field(alias="clientSecret")] = None
215
- r"""client_secret to pass in the OAuth request parameter"""
216
-
217
- client_text_secret: Annotated[
218
- Optional[str], pydantic.Field(alias="clientTextSecret")
219
- ] = None
220
- r"""Select or create a stored text secret"""
221
-
222
- certificate_name: Annotated[
223
- Optional[str], pydantic.Field(alias="certificateName")
224
- ] = None
225
- r"""Select or create a stored certificate"""
226
-
227
- cert_path: Annotated[Optional[str], pydantic.Field(alias="certPath")] = None
228
-
229
- priv_key_path: Annotated[Optional[str], pydantic.Field(alias="privKeyPath")] = None
230
-
231
- passphrase: Optional[str] = None
232
-
233
- oauth_endpoint: Annotated[
234
- Annotated[
235
- Optional[InputEventhubMicrosoftEntraIDAuthenticationEndpoint],
236
- PlainValidator(validate_open_enum(False)),
237
- ],
238
- pydantic.Field(alias="oauthEndpoint"),
239
- ] = InputEventhubMicrosoftEntraIDAuthenticationEndpoint.HTTPS_LOGIN_MICROSOFTONLINE_COM
240
- r"""Endpoint used to acquire authentication tokens from Azure"""
241
-
242
- client_id: Annotated[Optional[str], pydantic.Field(alias="clientId")] = None
243
- r"""client_id to pass in the OAuth request parameter"""
244
-
245
- tenant_id: Annotated[Optional[str], pydantic.Field(alias="tenantId")] = None
246
- r"""Directory ID (tenant identifier) in Azure Active Directory"""
247
-
248
- scope: Optional[str] = None
249
- r"""Scope to pass in the OAuth request parameter"""
250
-
251
133
 
252
134
  class InputEventhubTLSSettingsClientSideTypedDict(TypedDict):
253
135
  disabled: NotRequired[bool]
@@ -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 InputFirehoseMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
123
123
 
124
124
  class InputFirehoseTLSSettingsServerSideTypedDict(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 InputFirehoseTLSSettingsServerSideTypedDict(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[InputFirehoseMinimumTLSVersion]
143
141
  max_version: NotRequired[InputFirehoseMaximumTLSVersion]
144
142
 
@@ -146,19 +144,6 @@ class InputFirehoseTLSSettingsServerSideTypedDict(TypedDict):
146
144
  class InputFirehoseTLSSettingsServerSide(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 InputFirehoseTLSSettingsServerSide(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[InputFirehoseMinimumTLSVersion],
@@ -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 InputGrafanaMaximumTLSVersion2(str, Enum, metaclass=utils.OpenEnumMeta):
123
123
 
124
124
  class InputGrafanaTLSSettingsServerSide2TypedDict(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 InputGrafanaTLSSettingsServerSide2TypedDict(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[InputGrafanaMinimumTLSVersion2]
143
141
  max_version: NotRequired[InputGrafanaMaximumTLSVersion2]
144
142
 
@@ -146,19 +144,6 @@ class InputGrafanaTLSSettingsServerSide2TypedDict(TypedDict):
146
144
  class InputGrafanaTLSSettingsServerSide2(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 InputGrafanaTLSSettingsServerSide2(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[InputGrafanaMinimumTLSVersion2],
@@ -757,12 +753,6 @@ class InputGrafanaMaximumTLSVersion1(str, Enum, metaclass=utils.OpenEnumMeta):
757
753
 
758
754
  class InputGrafanaTLSSettingsServerSide1TypedDict(TypedDict):
759
755
  disabled: NotRequired[bool]
760
- request_cert: NotRequired[bool]
761
- r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
762
- reject_unauthorized: NotRequired[bool]
763
- r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
764
- common_name_regex: NotRequired[str]
765
- r"""Regex matching allowable common names in peer certificates' subject attribute"""
766
756
  certificate_name: NotRequired[str]
767
757
  r"""The name of the predefined certificate"""
768
758
  priv_key_path: NotRequired[str]
@@ -773,6 +763,10 @@ class InputGrafanaTLSSettingsServerSide1TypedDict(TypedDict):
773
763
  r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
774
764
  ca_path: NotRequired[str]
775
765
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
766
+ request_cert: NotRequired[bool]
767
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
768
+ reject_unauthorized: NotRequired[Any]
769
+ common_name_regex: NotRequired[Any]
776
770
  min_version: NotRequired[InputGrafanaMinimumTLSVersion1]
777
771
  max_version: NotRequired[InputGrafanaMaximumTLSVersion1]
778
772
 
@@ -780,19 +774,6 @@ class InputGrafanaTLSSettingsServerSide1TypedDict(TypedDict):
780
774
  class InputGrafanaTLSSettingsServerSide1(BaseModel):
781
775
  disabled: Optional[bool] = True
782
776
 
783
- request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
784
- r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
785
-
786
- reject_unauthorized: Annotated[
787
- Optional[bool], pydantic.Field(alias="rejectUnauthorized")
788
- ] = True
789
- r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
790
-
791
- common_name_regex: Annotated[
792
- Optional[str], pydantic.Field(alias="commonNameRegex")
793
- ] = "/.*/"
794
- r"""Regex matching allowable common names in peer certificates' subject attribute"""
795
-
796
777
  certificate_name: Annotated[
797
778
  Optional[str], pydantic.Field(alias="certificateName")
798
779
  ] = None
@@ -810,6 +791,17 @@ class InputGrafanaTLSSettingsServerSide1(BaseModel):
810
791
  ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
811
792
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
812
793
 
794
+ request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
795
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
796
+
797
+ reject_unauthorized: Annotated[
798
+ Optional[Any], pydantic.Field(alias="rejectUnauthorized")
799
+ ] = None
800
+
801
+ common_name_regex: Annotated[
802
+ Optional[Any], pydantic.Field(alias="commonNameRegex")
803
+ ] = None
804
+
813
805
  min_version: Annotated[
814
806
  Annotated[
815
807
  Optional[InputGrafanaMinimumTLSVersion1],
@@ -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 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"""
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 InputHTTPTLSSettingsServerSideTypedDict(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[InputHTTPMinimumTLSVersion]
143
141
  max_version: NotRequired[InputHTTPMaximumTLSVersion]
144
142
 
@@ -146,19 +144,6 @@ class InputHTTPTLSSettingsServerSideTypedDict(TypedDict):
146
144
  class InputHTTPTLSSettingsServerSide(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 InputHTTPTLSSettingsServerSide(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[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 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 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"""
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 InputHTTPRawTLSSettingsServerSideTypedDict(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[InputHTTPRawMinimumTLSVersion]
143
141
  max_version: NotRequired[InputHTTPRawMaximumTLSVersion]
144
142
 
@@ -146,19 +144,6 @@ class InputHTTPRawTLSSettingsServerSideTypedDict(TypedDict):
146
144
  class InputHTTPRawTLSSettingsServerSide(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 InputHTTPRawTLSSettingsServerSide(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[InputHTTPRawMinimumTLSVersion],