cribl-control-plane 0.2.1rc4__py3-none-any.whl → 0.2.1rc5__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of cribl-control-plane might be problematic. Click here for more details.

Files changed (110) hide show
  1. cribl_control_plane/_version.py +3 -3
  2. cribl_control_plane/groups_sdk.py +3 -0
  3. cribl_control_plane/mappings.py +1185 -0
  4. cribl_control_plane/models/__init__.py +149 -105
  5. cribl_control_plane/models/createadminproductsmappingsactivatebyproductop.py +52 -0
  6. cribl_control_plane/models/createadminproductsmappingsbyproductop.py +53 -0
  7. cribl_control_plane/models/deleteadminproductsmappingsbyproductandidop.py +51 -0
  8. cribl_control_plane/models/getadminproductsmappingsbyproductandidop.py +51 -0
  9. cribl_control_plane/models/getadminproductsmappingsbyproductop.py +44 -0
  10. cribl_control_plane/models/input.py +14 -14
  11. cribl_control_plane/models/inputappscope.py +16 -20
  12. cribl_control_plane/models/inputconfluentcloud.py +0 -110
  13. cribl_control_plane/models/inputcriblhttp.py +16 -20
  14. cribl_control_plane/models/inputcribllakehttp.py +16 -20
  15. cribl_control_plane/models/inputcribltcp.py +16 -20
  16. cribl_control_plane/models/inputdatadogagent.py +16 -20
  17. cribl_control_plane/models/inputedgeprometheus.py +36 -44
  18. cribl_control_plane/models/inputelastic.py +27 -44
  19. cribl_control_plane/models/inputeventhub.py +0 -118
  20. cribl_control_plane/models/inputfirehose.py +16 -20
  21. cribl_control_plane/models/inputgrafana.py +31 -39
  22. cribl_control_plane/models/inputhttp.py +16 -20
  23. cribl_control_plane/models/inputhttpraw.py +16 -20
  24. cribl_control_plane/models/inputkafka.py +0 -108
  25. cribl_control_plane/models/inputloki.py +16 -20
  26. cribl_control_plane/models/inputmetrics.py +16 -20
  27. cribl_control_plane/models/inputmodeldriventelemetry.py +16 -20
  28. cribl_control_plane/models/inputopentelemetry.py +15 -19
  29. cribl_control_plane/models/inputprometheus.py +36 -44
  30. cribl_control_plane/models/inputprometheusrw.py +16 -20
  31. cribl_control_plane/models/inputsplunk.py +16 -20
  32. cribl_control_plane/models/inputsplunkhec.py +15 -19
  33. cribl_control_plane/models/inputsyslog.py +31 -39
  34. cribl_control_plane/models/inputsystemmetrics.py +10 -20
  35. cribl_control_plane/models/inputtcp.py +16 -30
  36. cribl_control_plane/models/inputtcpjson.py +16 -20
  37. cribl_control_plane/models/inputwindowsmetrics.py +10 -20
  38. cribl_control_plane/models/inputwineventlogs.py +0 -14
  39. cribl_control_plane/models/inputwizwebhook.py +16 -20
  40. cribl_control_plane/models/inputzscalerhec.py +15 -19
  41. cribl_control_plane/models/mappingruleset.py +53 -0
  42. cribl_control_plane/models/mappingrulesetevalmappingfunction.py +71 -0
  43. cribl_control_plane/models/mappingrulesetgenericmappingfunction.py +29 -0
  44. cribl_control_plane/models/output.py +22 -22
  45. cribl_control_plane/models/outputazureblob.py +0 -7
  46. cribl_control_plane/models/outputazuredataexplorer.py +93 -283
  47. cribl_control_plane/models/outputazureeventhub.py +21 -169
  48. cribl_control_plane/models/outputazurelogs.py +21 -49
  49. cribl_control_plane/models/outputchronicle.py +21 -49
  50. cribl_control_plane/models/outputclickhouse.py +21 -49
  51. cribl_control_plane/models/outputcloudwatch.py +21 -49
  52. cribl_control_plane/models/outputconfluentcloud.py +22 -167
  53. cribl_control_plane/models/outputcriblhttp.py +21 -49
  54. cribl_control_plane/models/outputcribltcp.py +21 -49
  55. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +22 -50
  56. cribl_control_plane/models/outputdatabricks.py +0 -7
  57. cribl_control_plane/models/outputdatadog.py +21 -49
  58. cribl_control_plane/models/outputdataset.py +21 -49
  59. cribl_control_plane/models/outputdls3.py +0 -7
  60. cribl_control_plane/models/outputdynatracehttp.py +21 -49
  61. cribl_control_plane/models/outputdynatraceotlp.py +21 -49
  62. cribl_control_plane/models/outputelastic.py +21 -74
  63. cribl_control_plane/models/outputelasticcloud.py +21 -74
  64. cribl_control_plane/models/outputfilesystem.py +0 -7
  65. cribl_control_plane/models/outputgooglechronicle.py +22 -65
  66. cribl_control_plane/models/outputgooglecloudlogging.py +22 -50
  67. cribl_control_plane/models/outputgooglecloudstorage.py +0 -7
  68. cribl_control_plane/models/outputgooglepubsub.py +21 -49
  69. cribl_control_plane/models/outputgrafanacloud.py +42 -98
  70. cribl_control_plane/models/outputgraphite.py +21 -49
  71. cribl_control_plane/models/outputhoneycomb.py +21 -49
  72. cribl_control_plane/models/outputhumiohec.py +21 -49
  73. cribl_control_plane/models/outputinfluxdb.py +21 -49
  74. cribl_control_plane/models/outputkafka.py +19 -162
  75. cribl_control_plane/models/outputkinesis.py +21 -56
  76. cribl_control_plane/models/outputloki.py +19 -47
  77. cribl_control_plane/models/outputminio.py +0 -7
  78. cribl_control_plane/models/outputmsk.py +19 -54
  79. cribl_control_plane/models/outputnewrelic.py +21 -49
  80. cribl_control_plane/models/outputnewrelicevents.py +22 -50
  81. cribl_control_plane/models/outputopentelemetry.py +21 -49
  82. cribl_control_plane/models/outputprometheus.py +21 -49
  83. cribl_control_plane/models/outputs3.py +0 -7
  84. cribl_control_plane/models/outputsentinel.py +21 -49
  85. cribl_control_plane/models/outputsentineloneaisiem.py +22 -50
  86. cribl_control_plane/models/outputservicenow.py +21 -49
  87. cribl_control_plane/models/outputsignalfx.py +21 -49
  88. cribl_control_plane/models/outputsns.py +19 -47
  89. cribl_control_plane/models/outputsplunk.py +21 -49
  90. cribl_control_plane/models/outputsplunkhec.py +21 -49
  91. cribl_control_plane/models/outputsplunklb.py +21 -49
  92. cribl_control_plane/models/outputsqs.py +19 -47
  93. cribl_control_plane/models/outputstatsd.py +21 -49
  94. cribl_control_plane/models/outputstatsdext.py +21 -49
  95. cribl_control_plane/models/outputsumologic.py +21 -49
  96. cribl_control_plane/models/outputsyslog.py +99 -129
  97. cribl_control_plane/models/outputtcpjson.py +21 -49
  98. cribl_control_plane/models/outputwavefront.py +21 -49
  99. cribl_control_plane/models/outputwebhook.py +21 -49
  100. cribl_control_plane/models/outputxsiam.py +19 -47
  101. cribl_control_plane/models/pipeline.py +4 -4
  102. cribl_control_plane/models/rulesetid.py +13 -0
  103. cribl_control_plane/models/runnablejobcollection.py +8 -12
  104. cribl_control_plane/models/runnablejobexecutor.py +8 -12
  105. cribl_control_plane/models/runnablejobscheduledsearch.py +8 -12
  106. cribl_control_plane/models/updateadminproductsmappingsbyproductandidop.py +63 -0
  107. cribl_control_plane/pipelines.py +8 -8
  108. {cribl_control_plane-0.2.1rc4.dist-info → cribl_control_plane-0.2.1rc5.dist-info}/METADATA +11 -2
  109. {cribl_control_plane-0.2.1rc4.dist-info → cribl_control_plane-0.2.1rc5.dist-info}/RECORD +110 -99
  110. {cribl_control_plane-0.2.1rc4.dist-info → cribl_control_plane-0.2.1rc5.dist-info}/WHEEL +0 -0
@@ -239,14 +239,12 @@ 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"""
246
242
  devices: NotRequired[List[str]]
247
243
  r"""Network interfaces to include/exclude. Examples: eth0, !lo. All interfaces are included if this list is empty."""
248
244
  per_interface: NotRequired[bool]
249
245
  r"""Generate separate metrics for each interface"""
246
+ detail: NotRequired[bool]
247
+ r"""Generate full network metrics"""
250
248
 
251
249
 
252
250
  class InputSystemMetricsNetwork(BaseModel):
@@ -256,12 +254,6 @@ class InputSystemMetricsNetwork(BaseModel):
256
254
  ] = InputSystemMetricsNetworkMode.BASIC
257
255
  r"""Select the level of detail for network metrics"""
258
256
 
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
-
265
257
  devices: Optional[List[str]] = None
266
258
  r"""Network interfaces to include/exclude. Examples: eth0, !lo. All interfaces are included if this list is empty."""
267
259
 
@@ -270,6 +262,9 @@ class InputSystemMetricsNetwork(BaseModel):
270
262
  )
271
263
  r"""Generate separate metrics for each interface"""
272
264
 
265
+ detail: Optional[bool] = False
266
+ r"""Generate full network metrics"""
267
+
273
268
 
274
269
  class InputSystemMetricsDiskMode(str, Enum, metaclass=utils.OpenEnumMeta):
275
270
  r"""Select the level of detail for disk metrics"""
@@ -287,10 +282,6 @@ class InputSystemMetricsDiskMode(str, Enum, metaclass=utils.OpenEnumMeta):
287
282
  class InputSystemMetricsDiskTypedDict(TypedDict):
288
283
  mode: NotRequired[InputSystemMetricsDiskMode]
289
284
  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"""
294
285
  devices: NotRequired[List[str]]
295
286
  r"""Block devices to include/exclude. Examples: sda*, !loop*. Wildcards and ! (not) operators are supported. All devices are included if this list is empty."""
296
287
  mountpoints: NotRequired[List[str]]
@@ -299,6 +290,8 @@ class InputSystemMetricsDiskTypedDict(TypedDict):
299
290
  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."""
300
291
  per_device: NotRequired[bool]
301
292
  r"""Generate separate metrics for each device"""
293
+ detail: NotRequired[bool]
294
+ r"""Generate full disk metrics"""
302
295
 
303
296
 
304
297
  class InputSystemMetricsDisk(BaseModel):
@@ -307,12 +300,6 @@ class InputSystemMetricsDisk(BaseModel):
307
300
  ] = InputSystemMetricsDiskMode.BASIC
308
301
  r"""Select the level of detail for disk metrics"""
309
302
 
310
- detail: Optional[bool] = False
311
- r"""Generate full disk metrics"""
312
-
313
- inodes: Optional[bool] = False
314
- r"""Generate filesystem inode metrics"""
315
-
316
303
  devices: Optional[List[str]] = None
317
304
  r"""Block devices to include/exclude. Examples: sda*, !loop*. Wildcards and ! (not) operators are supported. All devices are included if this list is empty."""
318
305
 
@@ -325,6 +312,9 @@ class InputSystemMetricsDisk(BaseModel):
325
312
  per_device: Annotated[Optional[bool], pydantic.Field(alias="perDevice")] = False
326
313
  r"""Generate separate metrics for each device"""
327
314
 
315
+ detail: Optional[bool] = False
316
+ r"""Generate full disk metrics"""
317
+
328
318
 
329
319
  class InputSystemMetricsCustomTypedDict(TypedDict):
330
320
  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 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 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"""
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 InputTCPTLSSettingsServerSideTypedDict(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[InputTCPMinimumTLSVersion]
143
141
  max_version: NotRequired[InputTCPMaximumTLSVersion]
144
142
 
@@ -146,19 +144,6 @@ class InputTCPTLSSettingsServerSideTypedDict(TypedDict):
146
144
  class InputTCPTLSSettingsServerSide(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 InputTCPTLSSettingsServerSide(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[InputTCPMinimumTLSVersion],
@@ -276,12 +272,8 @@ class InputTCPTypedDict(TypedDict):
276
272
  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\" } }"""
277
273
  preprocess: NotRequired[InputTCPPreprocessTypedDict]
278
274
  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."""
281
275
  auth_type: NotRequired[InputTCPAuthenticationMethod]
282
276
  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"""
285
277
 
286
278
 
287
279
  class InputTCP(BaseModel):
@@ -374,9 +366,6 @@ class InputTCP(BaseModel):
374
366
 
375
367
  description: Optional[str] = None
376
368
 
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
-
380
369
  auth_type: Annotated[
381
370
  Annotated[
382
371
  Optional[InputTCPAuthenticationMethod],
@@ -385,6 +374,3 @@ class InputTCP(BaseModel):
385
374
  pydantic.Field(alias="authType"),
386
375
  ] = InputTCPAuthenticationMethod.MANUAL
387
376
  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 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 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"""
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 InputTcpjsonTLSSettingsServerSideTypedDict(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[InputTcpjsonMinimumTLSVersion]
143
141
  max_version: NotRequired[InputTcpjsonMaximumTLSVersion]
144
142
 
@@ -146,19 +144,6 @@ class InputTcpjsonTLSSettingsServerSideTypedDict(TypedDict):
146
144
  class InputTcpjsonTLSSettingsServerSide(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 InputTcpjsonTLSSettingsServerSide(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[InputTcpjsonMinimumTLSVersion],
@@ -239,14 +239,12 @@ 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"""
246
242
  devices: NotRequired[List[str]]
247
243
  r"""Network interfaces to include/exclude. All interfaces are included if this list is empty."""
248
244
  per_interface: NotRequired[bool]
249
245
  r"""Generate separate metrics for each interface"""
246
+ detail: NotRequired[bool]
247
+ r"""Generate full network metrics"""
250
248
 
251
249
 
252
250
  class InputWindowsMetricsNetwork(BaseModel):
@@ -256,12 +254,6 @@ class InputWindowsMetricsNetwork(BaseModel):
256
254
  ] = InputWindowsMetricsNetworkMode.BASIC
257
255
  r"""Select the level of details for network metrics"""
258
256
 
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
-
265
257
  devices: Optional[List[str]] = None
266
258
  r"""Network interfaces to include/exclude. All interfaces are included if this list is empty."""
267
259
 
@@ -270,6 +262,9 @@ class InputWindowsMetricsNetwork(BaseModel):
270
262
  )
271
263
  r"""Generate separate metrics for each interface"""
272
264
 
265
+ detail: Optional[bool] = False
266
+ r"""Generate full network metrics"""
267
+
273
268
 
274
269
  class InputWindowsMetricsDiskMode(str, Enum, metaclass=utils.OpenEnumMeta):
275
270
  r"""Select the level of details for disk metrics"""
@@ -287,12 +282,10 @@ class InputWindowsMetricsDiskMode(str, Enum, metaclass=utils.OpenEnumMeta):
287
282
  class InputWindowsMetricsDiskTypedDict(TypedDict):
288
283
  mode: NotRequired[InputWindowsMetricsDiskMode]
289
284
  r"""Select the level of details for disk metrics"""
290
- per_volume: NotRequired[bool]
291
- r"""Generate separate metrics for each volume"""
292
- detail: NotRequired[bool]
293
- r"""Generate full disk metrics"""
294
285
  volumes: NotRequired[List[str]]
295
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
+ per_volume: NotRequired[bool]
288
+ r"""Generate separate metrics for each volume"""
296
289
 
297
290
 
298
291
  class InputWindowsMetricsDisk(BaseModel):
@@ -301,15 +294,12 @@ class InputWindowsMetricsDisk(BaseModel):
301
294
  ] = InputWindowsMetricsDiskMode.BASIC
302
295
  r"""Select the level of details for disk metrics"""
303
296
 
304
- per_volume: Annotated[Optional[bool], pydantic.Field(alias="perVolume")] = False
305
- r"""Generate separate metrics for each volume"""
306
-
307
- detail: Optional[bool] = False
308
- r"""Generate full disk metrics"""
309
-
310
297
  volumes: Optional[List[str]] = None
311
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."""
312
299
 
300
+ per_volume: Annotated[Optional[bool], pydantic.Field(alias="perVolume")] = False
301
+ r"""Generate separate metrics for each volume"""
302
+
313
303
 
314
304
  class InputWindowsMetricsCustomTypedDict(TypedDict):
315
305
  system: NotRequired[InputWindowsMetricsSystemTypedDict]
@@ -174,10 +174,6 @@ 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)"""
181
177
 
182
178
 
183
179
  class InputWinEventLogs(BaseModel):
@@ -245,13 +241,3 @@ class InputWinEventLogs(BaseModel):
245
241
  r"""The maximum number of bytes in an event before it is flushed to the pipelines"""
246
242
 
247
243
  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 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 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"""
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 InputWizWebhookTLSSettingsServerSideTypedDict(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[InputWizWebhookMinimumTLSVersion]
143
141
  max_version: NotRequired[InputWizWebhookMaximumTLSVersion]
144
142
 
@@ -146,19 +144,6 @@ class InputWizWebhookTLSSettingsServerSideTypedDict(TypedDict):
146
144
  class InputWizWebhookTLSSettingsServerSide(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 InputWizWebhookTLSSettingsServerSide(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[InputWizWebhookMinimumTLSVersion],
@@ -183,12 +183,6 @@ 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"""
192
186
  certificate_name: NotRequired[str]
193
187
  r"""The name of the predefined certificate"""
194
188
  priv_key_path: NotRequired[str]
@@ -199,6 +193,10 @@ class InputZscalerHecTLSSettingsServerSideTypedDict(TypedDict):
199
193
  r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
200
194
  ca_path: NotRequired[str]
201
195
  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]
202
200
  min_version: NotRequired[InputZscalerHecMinimumTLSVersion]
203
201
  max_version: NotRequired[InputZscalerHecMaximumTLSVersion]
204
202
 
@@ -206,19 +204,6 @@ class InputZscalerHecTLSSettingsServerSideTypedDict(TypedDict):
206
204
  class InputZscalerHecTLSSettingsServerSide(BaseModel):
207
205
  disabled: Optional[bool] = True
208
206
 
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
-
222
207
  certificate_name: Annotated[
223
208
  Optional[str], pydantic.Field(alias="certificateName")
224
209
  ] = None
@@ -236,6 +221,17 @@ class InputZscalerHecTLSSettingsServerSide(BaseModel):
236
221
  ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
237
222
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
238
223
 
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
+
239
235
  min_version: Annotated[
240
236
  Annotated[
241
237
  Optional[InputZscalerHecMinimumTLSVersion],
@@ -0,0 +1,53 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .mappingrulesetevalmappingfunction import (
5
+ MappingRulesetEvalMappingFunction,
6
+ MappingRulesetEvalMappingFunctionTypedDict,
7
+ )
8
+ from .mappingrulesetgenericmappingfunction import (
9
+ MappingRulesetGenericMappingFunction,
10
+ MappingRulesetGenericMappingFunctionTypedDict,
11
+ )
12
+ from cribl_control_plane.types import BaseModel
13
+ from typing import List, Optional, Union
14
+ from typing_extensions import NotRequired, TypeAliasType, TypedDict
15
+
16
+
17
+ FunctionTypedDict = TypeAliasType(
18
+ "FunctionTypedDict",
19
+ Union[
20
+ MappingRulesetGenericMappingFunctionTypedDict,
21
+ MappingRulesetEvalMappingFunctionTypedDict,
22
+ ],
23
+ )
24
+
25
+
26
+ Function = TypeAliasType(
27
+ "Function",
28
+ Union[MappingRulesetGenericMappingFunction, MappingRulesetEvalMappingFunction],
29
+ )
30
+
31
+
32
+ class MappingRulesetConfTypedDict(TypedDict):
33
+ functions: NotRequired[List[FunctionTypedDict]]
34
+ r"""List of functions to pass data through"""
35
+
36
+
37
+ class MappingRulesetConf(BaseModel):
38
+ functions: Optional[List[Function]] = None
39
+ r"""List of functions to pass data through"""
40
+
41
+
42
+ class MappingRulesetTypedDict(TypedDict):
43
+ id: str
44
+ conf: NotRequired[MappingRulesetConfTypedDict]
45
+ active: NotRequired[bool]
46
+
47
+
48
+ class MappingRuleset(BaseModel):
49
+ id: str
50
+
51
+ conf: Optional[MappingRulesetConf] = None
52
+
53
+ active: Optional[bool] = None
@@ -0,0 +1,71 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from cribl_control_plane import utils
5
+ from cribl_control_plane.types import BaseModel
6
+ from cribl_control_plane.utils import validate_open_enum
7
+ from enum import Enum
8
+ import pydantic
9
+ from pydantic.functional_validators import PlainValidator
10
+ from typing import List, Optional
11
+ from typing_extensions import Annotated, NotRequired, TypedDict
12
+
13
+
14
+ class ID(str, Enum, metaclass=utils.OpenEnumMeta):
15
+ r"""Unique function identifier."""
16
+
17
+ EVAL = "eval"
18
+
19
+
20
+ class AddTypedDict(TypedDict):
21
+ value: str
22
+ r"""JavaScript expression to compute the value (can be constant)"""
23
+ name: NotRequired[str]
24
+
25
+
26
+ class Add(BaseModel):
27
+ value: str
28
+ r"""JavaScript expression to compute the value (can be constant)"""
29
+
30
+ name: Optional[str] = None
31
+
32
+
33
+ class MappingRulesetEvalMappingFunctionConfTypedDict(TypedDict):
34
+ add: NotRequired[List[AddTypedDict]]
35
+ r"""Set of key-value pairs to evaluate and add/set"""
36
+
37
+
38
+ class MappingRulesetEvalMappingFunctionConf(BaseModel):
39
+ add: Optional[List[Add]] = None
40
+ r"""Set of key-value pairs to evaluate and add/set"""
41
+
42
+
43
+ class MappingRulesetEvalMappingFunctionTypedDict(TypedDict):
44
+ id: ID
45
+ r"""Unique function identifier."""
46
+ filter_: NotRequired[str]
47
+ r"""Filter expression controlling when this function runs"""
48
+ description: NotRequired[str]
49
+ r"""Optional function description"""
50
+ disabled: NotRequired[bool]
51
+ r"""Indicates whether the function is disabled"""
52
+ final: NotRequired[bool]
53
+ conf: NotRequired[MappingRulesetEvalMappingFunctionConfTypedDict]
54
+
55
+
56
+ class MappingRulesetEvalMappingFunction(BaseModel):
57
+ id: Annotated[ID, PlainValidator(validate_open_enum(False))]
58
+ r"""Unique function identifier."""
59
+
60
+ filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None
61
+ r"""Filter expression controlling when this function runs"""
62
+
63
+ description: Optional[str] = None
64
+ r"""Optional function description"""
65
+
66
+ disabled: Optional[bool] = None
67
+ r"""Indicates whether the function is disabled"""
68
+
69
+ final: Optional[bool] = None
70
+
71
+ conf: Optional[MappingRulesetEvalMappingFunctionConf] = None
@@ -0,0 +1,29 @@
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 pydantic import ConfigDict
7
+ from typing import Any, Dict
8
+ from typing_extensions import TypedDict
9
+
10
+
11
+ class MappingRulesetGenericMappingFunctionTypedDict(TypedDict):
12
+ id: str
13
+
14
+
15
+ class MappingRulesetGenericMappingFunction(BaseModel):
16
+ model_config = ConfigDict(
17
+ populate_by_name=True, arbitrary_types_allowed=True, extra="allow"
18
+ )
19
+ __pydantic_extra__: Dict[str, Any] = pydantic.Field(init=False)
20
+
21
+ id: str
22
+
23
+ @property
24
+ def additional_properties(self):
25
+ return self.__pydantic_extra__
26
+
27
+ @additional_properties.setter
28
+ def additional_properties(self, value):
29
+ self.__pydantic_extra__ = value # pyright: ignore[reportIncompatibleVariableOverride]