cribl-control-plane 0.3.0b3__py3-none-any.whl → 0.3.0b4__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 (97) hide show
  1. cribl_control_plane/_version.py +3 -3
  2. cribl_control_plane/models/__init__.py +111 -3
  3. cribl_control_plane/models/input.py +15 -15
  4. cribl_control_plane/models/inputappscope.py +20 -16
  5. cribl_control_plane/models/inputconfluentcloud.py +110 -0
  6. cribl_control_plane/models/inputcriblhttp.py +20 -16
  7. cribl_control_plane/models/inputcribllakehttp.py +20 -16
  8. cribl_control_plane/models/inputcribltcp.py +20 -16
  9. cribl_control_plane/models/inputdatadogagent.py +20 -16
  10. cribl_control_plane/models/inputedgeprometheus.py +44 -36
  11. cribl_control_plane/models/inputelastic.py +44 -27
  12. cribl_control_plane/models/inputeventhub.py +118 -0
  13. cribl_control_plane/models/inputfile.py +7 -2
  14. cribl_control_plane/models/inputfirehose.py +20 -16
  15. cribl_control_plane/models/inputgrafana.py +39 -31
  16. cribl_control_plane/models/inputhttp.py +20 -16
  17. cribl_control_plane/models/inputhttpraw.py +20 -16
  18. cribl_control_plane/models/inputkafka.py +108 -0
  19. cribl_control_plane/models/inputloki.py +20 -16
  20. cribl_control_plane/models/inputmetrics.py +20 -16
  21. cribl_control_plane/models/inputmodeldriventelemetry.py +20 -16
  22. cribl_control_plane/models/inputopentelemetry.py +19 -15
  23. cribl_control_plane/models/inputprometheus.py +44 -36
  24. cribl_control_plane/models/inputprometheusrw.py +20 -16
  25. cribl_control_plane/models/inputsplunk.py +20 -16
  26. cribl_control_plane/models/inputsplunkhec.py +19 -15
  27. cribl_control_plane/models/inputsyslog.py +39 -31
  28. cribl_control_plane/models/inputsystemmetrics.py +20 -10
  29. cribl_control_plane/models/inputtcp.py +30 -16
  30. cribl_control_plane/models/inputtcpjson.py +20 -16
  31. cribl_control_plane/models/inputwindowsmetrics.py +20 -10
  32. cribl_control_plane/models/inputwineventlogs.py +14 -0
  33. cribl_control_plane/models/inputwizwebhook.py +20 -16
  34. cribl_control_plane/models/inputzscalerhec.py +19 -15
  35. cribl_control_plane/models/output.py +21 -21
  36. cribl_control_plane/models/outputazureblob.py +7 -0
  37. cribl_control_plane/models/outputazuredataexplorer.py +283 -93
  38. cribl_control_plane/models/outputazureeventhub.py +169 -21
  39. cribl_control_plane/models/outputazurelogs.py +49 -21
  40. cribl_control_plane/models/outputchronicle.py +49 -21
  41. cribl_control_plane/models/outputclickhouse.py +49 -21
  42. cribl_control_plane/models/outputcloudwatch.py +49 -21
  43. cribl_control_plane/models/outputconfluentcloud.py +167 -22
  44. cribl_control_plane/models/outputcriblhttp.py +49 -21
  45. cribl_control_plane/models/outputcribltcp.py +49 -21
  46. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +50 -22
  47. cribl_control_plane/models/outputdatabricks.py +7 -0
  48. cribl_control_plane/models/outputdatadog.py +49 -21
  49. cribl_control_plane/models/outputdataset.py +49 -21
  50. cribl_control_plane/models/outputdls3.py +7 -0
  51. cribl_control_plane/models/outputdynatracehttp.py +49 -21
  52. cribl_control_plane/models/outputdynatraceotlp.py +49 -21
  53. cribl_control_plane/models/outputelastic.py +74 -21
  54. cribl_control_plane/models/outputelasticcloud.py +74 -21
  55. cribl_control_plane/models/outputfilesystem.py +7 -0
  56. cribl_control_plane/models/outputgooglechronicle.py +65 -22
  57. cribl_control_plane/models/outputgooglecloudlogging.py +50 -22
  58. cribl_control_plane/models/outputgooglecloudstorage.py +7 -0
  59. cribl_control_plane/models/outputgooglepubsub.py +49 -21
  60. cribl_control_plane/models/outputgrafanacloud.py +98 -42
  61. cribl_control_plane/models/outputgraphite.py +49 -21
  62. cribl_control_plane/models/outputhoneycomb.py +49 -21
  63. cribl_control_plane/models/outputhumiohec.py +49 -21
  64. cribl_control_plane/models/outputinfluxdb.py +49 -21
  65. cribl_control_plane/models/outputkafka.py +162 -19
  66. cribl_control_plane/models/outputkinesis.py +56 -21
  67. cribl_control_plane/models/outputloki.py +47 -19
  68. cribl_control_plane/models/outputminio.py +7 -0
  69. cribl_control_plane/models/outputmsk.py +54 -19
  70. cribl_control_plane/models/outputnewrelic.py +49 -21
  71. cribl_control_plane/models/outputnewrelicevents.py +50 -22
  72. cribl_control_plane/models/outputopentelemetry.py +49 -21
  73. cribl_control_plane/models/outputprometheus.py +49 -21
  74. cribl_control_plane/models/outputs3.py +7 -0
  75. cribl_control_plane/models/outputsentinel.py +49 -21
  76. cribl_control_plane/models/outputsentineloneaisiem.py +50 -22
  77. cribl_control_plane/models/outputservicenow.py +49 -21
  78. cribl_control_plane/models/outputsignalfx.py +49 -21
  79. cribl_control_plane/models/outputsns.py +47 -19
  80. cribl_control_plane/models/outputsplunk.py +49 -21
  81. cribl_control_plane/models/outputsplunkhec.py +124 -21
  82. cribl_control_plane/models/outputsplunklb.py +49 -21
  83. cribl_control_plane/models/outputsqs.py +47 -19
  84. cribl_control_plane/models/outputstatsd.py +49 -21
  85. cribl_control_plane/models/outputstatsdext.py +49 -21
  86. cribl_control_plane/models/outputsumologic.py +49 -21
  87. cribl_control_plane/models/outputsyslog.py +129 -99
  88. cribl_control_plane/models/outputtcpjson.py +49 -21
  89. cribl_control_plane/models/outputwavefront.py +49 -21
  90. cribl_control_plane/models/outputwebhook.py +49 -21
  91. cribl_control_plane/models/outputxsiam.py +47 -19
  92. cribl_control_plane/models/runnablejobcollection.py +12 -8
  93. cribl_control_plane/models/runnablejobexecutor.py +12 -8
  94. cribl_control_plane/models/runnablejobscheduledsearch.py +12 -8
  95. {cribl_control_plane-0.3.0b3.dist-info → cribl_control_plane-0.3.0b4.dist-info}/METADATA +1 -1
  96. {cribl_control_plane-0.3.0b3.dist-info → cribl_control_plane-0.3.0b4.dist-info}/RECORD +97 -97
  97. {cribl_control_plane-0.3.0b3.dist-info → cribl_control_plane-0.3.0b4.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 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"""
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 InputSplunkTLSSettingsServerSideTypedDict(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[InputSplunkMinimumTLSVersion]
141
143
  max_version: NotRequired[InputSplunkMaximumTLSVersion]
142
144
 
@@ -144,6 +146,19 @@ class InputSplunkTLSSettingsServerSideTypedDict(TypedDict):
144
146
  class InputSplunkTLSSettingsServerSide(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 InputSplunkTLSSettingsServerSide(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[InputSplunkMinimumTLSVersion],
@@ -185,6 +185,12 @@ 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"""
188
194
  certificate_name: NotRequired[str]
189
195
  r"""The name of the predefined certificate"""
190
196
  priv_key_path: NotRequired[str]
@@ -195,10 +201,6 @@ class InputSplunkHecTLSSettingsServerSideTypedDict(TypedDict):
195
201
  r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
196
202
  ca_path: NotRequired[str]
197
203
  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]
202
204
  min_version: NotRequired[InputSplunkHecMinimumTLSVersion]
203
205
  max_version: NotRequired[InputSplunkHecMaximumTLSVersion]
204
206
 
@@ -206,6 +208,19 @@ class InputSplunkHecTLSSettingsServerSideTypedDict(TypedDict):
206
208
  class InputSplunkHecTLSSettingsServerSide(BaseModel):
207
209
  disabled: Optional[bool] = True
208
210
 
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
+
209
224
  certificate_name: Annotated[
210
225
  Optional[str], pydantic.Field(alias="certificateName")
211
226
  ] = None
@@ -223,17 +238,6 @@ class InputSplunkHecTLSSettingsServerSide(BaseModel):
223
238
  ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
224
239
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
225
240
 
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
-
237
241
  min_version: Annotated[
238
242
  Annotated[
239
243
  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 Any, List, Optional, Union
10
+ from typing import List, Optional, Union
11
11
  from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
12
12
 
13
13
 
@@ -123,6 +123,12 @@ 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"""
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 InputSyslogTLSSettingsServerSide2TypedDict(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[InputSyslogMinimumTLSVersion2]
141
143
  max_version: NotRequired[InputSyslogMaximumTLSVersion2]
142
144
 
@@ -144,6 +146,19 @@ class InputSyslogTLSSettingsServerSide2TypedDict(TypedDict):
144
146
  class InputSyslogTLSSettingsServerSide2(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 InputSyslogTLSSettingsServerSide2(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[InputSyslogMinimumTLSVersion2],
@@ -510,6 +514,12 @@ class InputSyslogMaximumTLSVersion1(str, Enum, metaclass=utils.OpenEnumMeta):
510
514
 
511
515
  class InputSyslogTLSSettingsServerSide1TypedDict(TypedDict):
512
516
  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"""
513
523
  certificate_name: NotRequired[str]
514
524
  r"""The name of the predefined certificate"""
515
525
  priv_key_path: NotRequired[str]
@@ -520,10 +530,6 @@ class InputSyslogTLSSettingsServerSide1TypedDict(TypedDict):
520
530
  r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
521
531
  ca_path: NotRequired[str]
522
532
  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]
527
533
  min_version: NotRequired[InputSyslogMinimumTLSVersion1]
528
534
  max_version: NotRequired[InputSyslogMaximumTLSVersion1]
529
535
 
@@ -531,6 +537,19 @@ class InputSyslogTLSSettingsServerSide1TypedDict(TypedDict):
531
537
  class InputSyslogTLSSettingsServerSide1(BaseModel):
532
538
  disabled: Optional[bool] = True
533
539
 
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
+
534
553
  certificate_name: Annotated[
535
554
  Optional[str], pydantic.Field(alias="certificateName")
536
555
  ] = None
@@ -548,17 +567,6 @@ class InputSyslogTLSSettingsServerSide1(BaseModel):
548
567
  ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
549
568
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
550
569
 
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
-
562
570
  min_version: Annotated[
563
571
  Annotated[
564
572
  Optional[InputSyslogMinimumTLSVersion1],
@@ -239,12 +239,14 @@ class InputSystemMetricsNetworkMode(str, Enum, metaclass=utils.OpenEnumMeta):
239
239
  class InputSystemMetricsNetworkTypedDict(TypedDict):
240
240
  mode: NotRequired[InputSystemMetricsNetworkMode]
241
241
  r"""Select the level of detail 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. Examples: eth0, !lo. 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 InputSystemMetricsNetwork(BaseModel):
@@ -254,6 +256,12 @@ class InputSystemMetricsNetwork(BaseModel):
254
256
  ] = InputSystemMetricsNetworkMode.BASIC
255
257
  r"""Select the level of detail 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. Examples: eth0, !lo. All interfaces are included if this list is empty."""
259
267
 
@@ -262,9 +270,6 @@ class InputSystemMetricsNetwork(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 InputSystemMetricsDiskMode(str, Enum, metaclass=utils.OpenEnumMeta):
270
275
  r"""Select the level of detail for disk metrics"""
@@ -282,6 +287,10 @@ class InputSystemMetricsDiskMode(str, Enum, metaclass=utils.OpenEnumMeta):
282
287
  class InputSystemMetricsDiskTypedDict(TypedDict):
283
288
  mode: NotRequired[InputSystemMetricsDiskMode]
284
289
  r"""Select the level of detail for disk metrics"""
290
+ detail: NotRequired[bool]
291
+ r"""Generate full disk metrics"""
292
+ inodes: NotRequired[bool]
293
+ r"""Generate filesystem inode metrics"""
285
294
  devices: NotRequired[List[str]]
286
295
  r"""Block devices to include/exclude. Examples: sda*, !loop*. Wildcards and ! (not) operators are supported. All devices are included if this list is empty."""
287
296
  mountpoints: NotRequired[List[str]]
@@ -290,8 +299,6 @@ class InputSystemMetricsDiskTypedDict(TypedDict):
290
299
  r"""Filesystem types to include/exclude. Examples: ext4, !*tmpfs, !squashfs. Wildcards and ! (not) operators are supported. All types are included if this list is empty."""
291
300
  per_device: NotRequired[bool]
292
301
  r"""Generate separate metrics for each device"""
293
- detail: NotRequired[bool]
294
- r"""Generate full disk metrics"""
295
302
 
296
303
 
297
304
  class InputSystemMetricsDisk(BaseModel):
@@ -300,6 +307,12 @@ class InputSystemMetricsDisk(BaseModel):
300
307
  ] = InputSystemMetricsDiskMode.BASIC
301
308
  r"""Select the level of detail for disk metrics"""
302
309
 
310
+ detail: Optional[bool] = False
311
+ r"""Generate full disk metrics"""
312
+
313
+ inodes: Optional[bool] = False
314
+ r"""Generate filesystem inode metrics"""
315
+
303
316
  devices: Optional[List[str]] = None
304
317
  r"""Block devices to include/exclude. Examples: sda*, !loop*. Wildcards and ! (not) operators are supported. All devices are included if this list is empty."""
305
318
 
@@ -312,9 +325,6 @@ class InputSystemMetricsDisk(BaseModel):
312
325
  per_device: Annotated[Optional[bool], pydantic.Field(alias="perDevice")] = False
313
326
  r"""Generate separate metrics for each device"""
314
327
 
315
- detail: Optional[bool] = False
316
- r"""Generate full disk metrics"""
317
-
318
328
 
319
329
  class InputSystemMetricsCustomTypedDict(TypedDict):
320
330
  system: NotRequired[InputSystemMetricsSystemTypedDict]
@@ -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 InputTCPMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
123
123
 
124
124
  class InputTCPTLSSettingsServerSideTypedDict(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 InputTCPTLSSettingsServerSideTypedDict(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[InputTCPMinimumTLSVersion]
141
143
  max_version: NotRequired[InputTCPMaximumTLSVersion]
142
144
 
@@ -144,6 +146,19 @@ class InputTCPTLSSettingsServerSideTypedDict(TypedDict):
144
146
  class InputTCPTLSSettingsServerSide(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 InputTCPTLSSettingsServerSide(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[InputTCPMinimumTLSVersion],
@@ -272,8 +276,12 @@ class InputTCPTypedDict(TypedDict):
272
276
  r"""Client will pass the header record with every new connection. The header can contain an authToken, and an object with a list of fields and values to add to every event. These fields can be used to simplify Event Breaker selection, routing, etc. Header has this format, and must be followed by a newline: { \"authToken\" : \"myToken\", \"fields\": { \"field1\": \"value1\", \"field2\": \"value2\" } }"""
273
277
  preprocess: NotRequired[InputTCPPreprocessTypedDict]
274
278
  description: NotRequired[str]
279
+ auth_token: NotRequired[str]
280
+ r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted."""
275
281
  auth_type: NotRequired[InputTCPAuthenticationMethod]
276
282
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
283
+ text_secret: NotRequired[str]
284
+ r"""Select or create a stored text secret"""
277
285
 
278
286
 
279
287
  class InputTCP(BaseModel):
@@ -366,6 +374,9 @@ class InputTCP(BaseModel):
366
374
 
367
375
  description: Optional[str] = None
368
376
 
377
+ auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = ""
378
+ r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted."""
379
+
369
380
  auth_type: Annotated[
370
381
  Annotated[
371
382
  Optional[InputTCPAuthenticationMethod],
@@ -374,3 +385,6 @@ class InputTCP(BaseModel):
374
385
  pydantic.Field(alias="authType"),
375
386
  ] = InputTCPAuthenticationMethod.MANUAL
376
387
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
388
+
389
+ text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None
390
+ r"""Select or create a stored text secret"""
@@ -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)"""