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
@@ -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 InputTcpjsonMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
123
123
 
124
124
  class InputTcpjsonTLSSettingsServerSideTypedDict(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 InputTcpjsonTLSSettingsServerSideTypedDict(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[InputTcpjsonMinimumTLSVersion]
141
143
  max_version: NotRequired[InputTcpjsonMaximumTLSVersion]
142
144
 
@@ -144,6 +146,19 @@ class InputTcpjsonTLSSettingsServerSideTypedDict(TypedDict):
144
146
  class InputTcpjsonTLSSettingsServerSide(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 InputTcpjsonTLSSettingsServerSide(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[InputTcpjsonMinimumTLSVersion],
@@ -239,12 +239,14 @@ class InputWindowsMetricsNetworkMode(str, Enum, metaclass=utils.OpenEnumMeta):
239
239
  class InputWindowsMetricsNetworkTypedDict(TypedDict):
240
240
  mode: NotRequired[InputWindowsMetricsNetworkMode]
241
241
  r"""Select the level of details for network metrics"""
242
+ detail: NotRequired[bool]
243
+ r"""Generate full network metrics"""
244
+ protocols: NotRequired[bool]
245
+ r"""Generate protocol metrics for ICMP, ICMPMsg, IP, TCP, UDP and UDPLite"""
242
246
  devices: NotRequired[List[str]]
243
247
  r"""Network interfaces to include/exclude. All interfaces are included if this list is empty."""
244
248
  per_interface: NotRequired[bool]
245
249
  r"""Generate separate metrics for each interface"""
246
- detail: NotRequired[bool]
247
- r"""Generate full network metrics"""
248
250
 
249
251
 
250
252
  class InputWindowsMetricsNetwork(BaseModel):
@@ -254,6 +256,12 @@ class InputWindowsMetricsNetwork(BaseModel):
254
256
  ] = InputWindowsMetricsNetworkMode.BASIC
255
257
  r"""Select the level of details for network metrics"""
256
258
 
259
+ detail: Optional[bool] = False
260
+ r"""Generate full network metrics"""
261
+
262
+ protocols: Optional[bool] = False
263
+ r"""Generate protocol metrics for ICMP, ICMPMsg, IP, TCP, UDP and UDPLite"""
264
+
257
265
  devices: Optional[List[str]] = None
258
266
  r"""Network interfaces to include/exclude. All interfaces are included if this list is empty."""
259
267
 
@@ -262,9 +270,6 @@ class InputWindowsMetricsNetwork(BaseModel):
262
270
  )
263
271
  r"""Generate separate metrics for each interface"""
264
272
 
265
- detail: Optional[bool] = False
266
- r"""Generate full network metrics"""
267
-
268
273
 
269
274
  class InputWindowsMetricsDiskMode(str, Enum, metaclass=utils.OpenEnumMeta):
270
275
  r"""Select the level of details for disk metrics"""
@@ -282,10 +287,12 @@ class InputWindowsMetricsDiskMode(str, Enum, metaclass=utils.OpenEnumMeta):
282
287
  class InputWindowsMetricsDiskTypedDict(TypedDict):
283
288
  mode: NotRequired[InputWindowsMetricsDiskMode]
284
289
  r"""Select the level of details for disk metrics"""
285
- volumes: NotRequired[List[str]]
286
- r"""Windows volumes to include/exclude. E.g.: C:, !E:, etc. Wildcards and ! (not) operators are supported. All volumes are included if this list is empty."""
287
290
  per_volume: NotRequired[bool]
288
291
  r"""Generate separate metrics for each volume"""
292
+ detail: NotRequired[bool]
293
+ r"""Generate full disk metrics"""
294
+ volumes: NotRequired[List[str]]
295
+ r"""Windows volumes to include/exclude. E.g.: C:, !E:, etc. Wildcards and ! (not) operators are supported. All volumes are included if this list is empty."""
289
296
 
290
297
 
291
298
  class InputWindowsMetricsDisk(BaseModel):
@@ -294,12 +301,15 @@ class InputWindowsMetricsDisk(BaseModel):
294
301
  ] = InputWindowsMetricsDiskMode.BASIC
295
302
  r"""Select the level of details for disk metrics"""
296
303
 
297
- volumes: Optional[List[str]] = None
298
- r"""Windows volumes to include/exclude. E.g.: C:, !E:, etc. Wildcards and ! (not) operators are supported. All volumes are included if this list is empty."""
299
-
300
304
  per_volume: Annotated[Optional[bool], pydantic.Field(alias="perVolume")] = False
301
305
  r"""Generate separate metrics for each volume"""
302
306
 
307
+ detail: Optional[bool] = False
308
+ r"""Generate full disk metrics"""
309
+
310
+ volumes: Optional[List[str]] = None
311
+ r"""Windows volumes to include/exclude. E.g.: C:, !E:, etc. Wildcards and ! (not) operators are supported. All volumes are included if this list is empty."""
312
+
303
313
 
304
314
  class InputWindowsMetricsCustomTypedDict(TypedDict):
305
315
  system: NotRequired[InputWindowsMetricsSystemTypedDict]
@@ -174,6 +174,10 @@ class InputWinEventLogsTypedDict(TypedDict):
174
174
  max_event_bytes: NotRequired[float]
175
175
  r"""The maximum number of bytes in an event before it is flushed to the pipelines"""
176
176
  description: NotRequired[str]
177
+ disable_json_rendering: NotRequired[bool]
178
+ r"""Enable/disable the rendering of localized event message strings (Applicable for 4.8.0 nodes and newer that use the Native API)"""
179
+ disable_xml_rendering: NotRequired[bool]
180
+ r"""Enable/disable the rendering of localized event message strings (Applicable for 4.8.0 nodes and newer that use the Native API)"""
177
181
 
178
182
 
179
183
  class InputWinEventLogs(BaseModel):
@@ -241,3 +245,13 @@ class InputWinEventLogs(BaseModel):
241
245
  r"""The maximum number of bytes in an event before it is flushed to the pipelines"""
242
246
 
243
247
  description: Optional[str] = None
248
+
249
+ disable_json_rendering: Annotated[
250
+ Optional[bool], pydantic.Field(alias="disableJsonRendering")
251
+ ] = False
252
+ r"""Enable/disable the rendering of localized event message strings (Applicable for 4.8.0 nodes and newer that use the Native API)"""
253
+
254
+ disable_xml_rendering: Annotated[
255
+ Optional[bool], pydantic.Field(alias="disableXmlRendering")
256
+ ] = True
257
+ r"""Enable/disable the rendering of localized event message strings (Applicable for 4.8.0 nodes and newer that use the Native API)"""
@@ -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 InputWizWebhookMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
123
123
 
124
124
  class InputWizWebhookTLSSettingsServerSideTypedDict(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 InputWizWebhookTLSSettingsServerSideTypedDict(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[InputWizWebhookMinimumTLSVersion]
141
143
  max_version: NotRequired[InputWizWebhookMaximumTLSVersion]
142
144
 
@@ -144,6 +146,19 @@ class InputWizWebhookTLSSettingsServerSideTypedDict(TypedDict):
144
146
  class InputWizWebhookTLSSettingsServerSide(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 InputWizWebhookTLSSettingsServerSide(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[InputWizWebhookMinimumTLSVersion],
@@ -183,6 +183,12 @@ class InputZscalerHecMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
183
183
 
184
184
  class InputZscalerHecTLSSettingsServerSideTypedDict(TypedDict):
185
185
  disabled: NotRequired[bool]
186
+ request_cert: NotRequired[bool]
187
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
188
+ reject_unauthorized: NotRequired[bool]
189
+ r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
190
+ common_name_regex: NotRequired[str]
191
+ r"""Regex matching allowable common names in peer certificates' subject attribute"""
186
192
  certificate_name: NotRequired[str]
187
193
  r"""The name of the predefined certificate"""
188
194
  priv_key_path: NotRequired[str]
@@ -193,10 +199,6 @@ class InputZscalerHecTLSSettingsServerSideTypedDict(TypedDict):
193
199
  r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
194
200
  ca_path: NotRequired[str]
195
201
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
196
- request_cert: NotRequired[bool]
197
- r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
198
- reject_unauthorized: NotRequired[Any]
199
- common_name_regex: NotRequired[Any]
200
202
  min_version: NotRequired[InputZscalerHecMinimumTLSVersion]
201
203
  max_version: NotRequired[InputZscalerHecMaximumTLSVersion]
202
204
 
@@ -204,6 +206,19 @@ class InputZscalerHecTLSSettingsServerSideTypedDict(TypedDict):
204
206
  class InputZscalerHecTLSSettingsServerSide(BaseModel):
205
207
  disabled: Optional[bool] = True
206
208
 
209
+ request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
210
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
211
+
212
+ reject_unauthorized: Annotated[
213
+ Optional[bool], pydantic.Field(alias="rejectUnauthorized")
214
+ ] = True
215
+ r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
216
+
217
+ common_name_regex: Annotated[
218
+ Optional[str], pydantic.Field(alias="commonNameRegex")
219
+ ] = "/.*/"
220
+ r"""Regex matching allowable common names in peer certificates' subject attribute"""
221
+
207
222
  certificate_name: Annotated[
208
223
  Optional[str], pydantic.Field(alias="certificateName")
209
224
  ] = None
@@ -221,17 +236,6 @@ class InputZscalerHecTLSSettingsServerSide(BaseModel):
221
236
  ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
222
237
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
223
238
 
224
- request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
225
- r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
226
-
227
- reject_unauthorized: Annotated[
228
- Optional[Any], pydantic.Field(alias="rejectUnauthorized")
229
- ] = None
230
-
231
- common_name_regex: Annotated[
232
- Optional[Any], pydantic.Field(alias="commonNameRegex")
233
- ] = None
234
-
235
239
  min_version: Annotated[
236
240
  Annotated[
237
241
  Optional[InputZscalerHecMinimumTLSVersion],
@@ -4,14 +4,20 @@ from __future__ import annotations
4
4
  from .jobstatus import JobStatus, JobStatusTypedDict
5
5
  from .runnablejob import RunnableJob, RunnableJobTypedDict
6
6
  from cribl_control_plane.types import BaseModel
7
- from typing import Dict, Optional
8
- from typing_extensions import NotRequired, TypedDict
7
+ from typing import Dict, Optional, Union
8
+ from typing_extensions import NotRequired, TypeAliasType, TypedDict
9
+
10
+
11
+ StatsTypedDict = TypeAliasType("StatsTypedDict", Union[float, Dict[str, float]])
12
+
13
+
14
+ Stats = TypeAliasType("Stats", Union[float, Dict[str, float]])
9
15
 
10
16
 
11
17
  class JobInfoTypedDict(TypedDict):
12
18
  args: RunnableJobTypedDict
13
19
  id: str
14
- stats: Dict[str, float]
20
+ stats: Dict[str, StatsTypedDict]
15
21
  status: JobStatusTypedDict
16
22
  keep: NotRequired[bool]
17
23
 
@@ -21,7 +27,7 @@ class JobInfo(BaseModel):
21
27
 
22
28
  id: str
23
29
 
24
- stats: Dict[str, float]
30
+ stats: Dict[str, Stats]
25
31
 
26
32
  status: JobStatus
27
33
 
@@ -1,17 +1,38 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from cribl_control_plane import utils
4
5
  from cribl_control_plane.types import BaseModel
6
+ from cribl_control_plane.utils import validate_open_enum
7
+ from enum import Enum
8
+ from pydantic.functional_validators import PlainValidator
5
9
  from typing import Any, Dict, Optional
6
- from typing_extensions import NotRequired, TypedDict
10
+ from typing_extensions import Annotated, NotRequired, TypedDict
11
+
12
+
13
+ class State(int, Enum, metaclass=utils.OpenEnumMeta):
14
+ r"""State of the Job"""
15
+
16
+ INITIALIZING = 0
17
+ PENDING = 1
18
+ RUNNING = 2
19
+ PAUSED = 3
20
+ CANCELLED = 4
21
+ FINISHED = 5
22
+ FAILED = 6
23
+ ORPHANED = 7
24
+ UNKNOWN = 8
25
+ LENGTH = 9
7
26
 
8
27
 
9
28
  class JobStatusTypedDict(TypedDict):
10
- state: Dict[str, Any]
29
+ state: State
30
+ r"""State of the Job"""
11
31
  reason: NotRequired[Dict[str, Any]]
12
32
 
13
33
 
14
34
  class JobStatus(BaseModel):
15
- state: Dict[str, Any]
35
+ state: Annotated[State, PlainValidator(validate_open_enum(True))]
36
+ r"""State of the Job"""
16
37
 
17
38
  reason: Optional[Dict[str, Any]] = None
@@ -0,0 +1,17 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from cribl_control_plane.types import BaseModel
5
+ import pydantic
6
+ from typing_extensions import Annotated, TypedDict
7
+
8
+
9
+ class LakeDatasetMetricsTypedDict(TypedDict):
10
+ current_size_bytes: float
11
+ metrics_date: str
12
+
13
+
14
+ class LakeDatasetMetrics(BaseModel):
15
+ current_size_bytes: Annotated[float, pydantic.Field(alias="currentSizeBytes")]
16
+
17
+ metrics_date: Annotated[str, pydantic.Field(alias="metricsDate")]
@@ -98,64 +98,64 @@ OutputTypedDict = TypeAliasType(
98
98
  OutputNetflowTypedDict,
99
99
  OutputDiskSpoolTypedDict,
100
100
  OutputRingTypedDict,
101
- OutputStatsdExtTypedDict,
102
101
  OutputGraphiteTypedDict,
102
+ OutputStatsdExtTypedDict,
103
103
  OutputStatsdTypedDict,
104
104
  OutputGooglePubsubTypedDict,
105
- OutputCriblTCPTypedDict,
105
+ OutputExabeamTypedDict,
106
106
  OutputSplunkTypedDict,
107
107
  OutputSnsTypedDict,
108
- OutputCloudwatchTypedDict,
108
+ OutputCriblTCPTypedDict,
109
109
  OutputAzureEventhubTypedDict,
110
- OutputWavefrontTypedDict,
110
+ OutputCloudwatchTypedDict,
111
111
  OutputSignalfxTypedDict,
112
112
  OutputHoneycombTypedDict,
113
+ OutputWavefrontTypedDict,
114
+ OutputHumioHecTypedDict,
113
115
  OutputSumoLogicTypedDict,
114
116
  OutputCrowdstrikeNextGenSiemTypedDict,
115
- OutputHumioHecTypedDict,
116
117
  OutputTcpjsonTypedDict,
117
118
  OutputElasticCloudTypedDict,
118
- OutputKinesisTypedDict,
119
+ OutputNewrelicEventsTypedDict,
120
+ OutputFilesystemTypedDict,
119
121
  OutputConfluentCloudTypedDict,
120
122
  OutputKafkaTypedDict,
121
- OutputExabeamTypedDict,
122
- OutputNewrelicEventsTypedDict,
123
123
  OutputAzureLogsTypedDict,
124
+ OutputKinesisTypedDict,
124
125
  OutputSplunkLbTypedDict,
125
126
  OutputSyslogTypedDict,
126
127
  OutputSqsTypedDict,
127
- OutputNewrelicTypedDict,
128
128
  OutputCriblHTTPTypedDict,
129
+ OutputNewrelicTypedDict,
129
130
  OutputXsiamTypedDict,
130
- OutputFilesystemTypedDict,
131
131
  OutputDatasetTypedDict,
132
132
  OutputLokiTypedDict,
133
- OutputSplunkHecTypedDict,
133
+ OutputCriblLakeTypedDict,
134
134
  OutputDynatraceHTTPTypedDict,
135
135
  OutputServiceNowTypedDict,
136
+ OutputSplunkHecTypedDict,
136
137
  OutputChronicleTypedDict,
137
138
  OutputDynatraceOtlpTypedDict,
138
- OutputGoogleChronicleTypedDict,
139
+ OutputDatabricksTypedDict,
139
140
  OutputElasticTypedDict,
140
141
  OutputDatadogTypedDict,
141
- OutputCriblLakeTypedDict,
142
- OutputDatabricksTypedDict,
142
+ OutputGoogleChronicleTypedDict,
143
143
  OutputPrometheusTypedDict,
144
- OutputMskTypedDict,
145
144
  OutputSentinelOneAiSiemTypedDict,
146
- OutputSentinelTypedDict,
147
- OutputInfluxdbTypedDict,
145
+ OutputMskTypedDict,
148
146
  OutputGoogleCloudStorageTypedDict,
147
+ OutputSentinelTypedDict,
149
148
  OutputAzureBlobTypedDict,
150
- OutputOpenTelemetryTypedDict,
149
+ OutputInfluxdbTypedDict,
151
150
  OutputMinioTypedDict,
152
- OutputClickHouseTypedDict,
153
151
  OutputSecurityLakeTypedDict,
154
- OutputS3TypedDict,
152
+ OutputOpenTelemetryTypedDict,
153
+ OutputClickHouseTypedDict,
155
154
  OutputDlS3TypedDict,
155
+ OutputS3TypedDict,
156
156
  OutputWebhookTypedDict,
157
- OutputAzureDataExplorerTypedDict,
158
157
  OutputGoogleCloudLoggingTypedDict,
158
+ OutputAzureDataExplorerTypedDict,
159
159
  OutputGrafanaCloudTypedDict,
160
160
  ],
161
161
  )
@@ -184,6 +184,8 @@ class OutputAzureBlobTypedDict(TypedDict):
184
184
  r"""Compression level to apply before moving files to final destination"""
185
185
  automatic_schema: NotRequired[bool]
186
186
  r"""Automatically calculate the schema based on the events of each Parquet file generated"""
187
+ parquet_schema: NotRequired[str]
188
+ r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas"""
187
189
  parquet_version: NotRequired[OutputAzureBlobParquetVersion]
188
190
  r"""Determines which data types are supported and how they are represented"""
189
191
  parquet_data_page_version: NotRequired[OutputAzureBlobDataPageVersion]
@@ -387,6 +389,11 @@ class OutputAzureBlob(BaseModel):
387
389
  ] = False
388
390
  r"""Automatically calculate the schema based on the events of each Parquet file generated"""
389
391
 
392
+ parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = (
393
+ None
394
+ )
395
+ r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas"""
396
+
390
397
  parquet_version: Annotated[
391
398
  Annotated[
392
399
  Optional[OutputAzureBlobParquetVersion],