cribl-control-plane 0.3.0b3__py3-none-any.whl → 0.3.0b5__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 (152) hide show
  1. cribl_control_plane/_version.py +4 -4
  2. cribl_control_plane/models/__init__.py +111 -3
  3. cribl_control_plane/models/cacheconnection.py +20 -0
  4. cribl_control_plane/models/configgroup.py +20 -1
  5. cribl_control_plane/models/configgroupcloud.py +11 -1
  6. cribl_control_plane/models/createconfiggroupbyproductop.py +11 -0
  7. cribl_control_plane/models/cribllakedataset.py +11 -1
  8. cribl_control_plane/models/cribllakedatasetupdate.py +11 -1
  9. cribl_control_plane/models/datasetmetadata.py +11 -1
  10. cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +11 -0
  11. cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +20 -0
  12. cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +20 -0
  13. cribl_control_plane/models/getconfiggroupbyproductandidop.py +11 -0
  14. cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +11 -0
  15. cribl_control_plane/models/getsummaryop.py +11 -0
  16. cribl_control_plane/models/groupcreaterequest.py +20 -1
  17. cribl_control_plane/models/hbcriblinfo.py +11 -1
  18. cribl_control_plane/models/healthserverstatus.py +20 -1
  19. cribl_control_plane/models/input.py +15 -15
  20. cribl_control_plane/models/inputappscope.py +76 -17
  21. cribl_control_plane/models/inputazureblob.py +29 -1
  22. cribl_control_plane/models/inputcollection.py +20 -1
  23. cribl_control_plane/models/inputconfluentcloud.py +188 -1
  24. cribl_control_plane/models/inputcribl.py +20 -1
  25. cribl_control_plane/models/inputcriblhttp.py +58 -17
  26. cribl_control_plane/models/inputcribllakehttp.py +58 -17
  27. cribl_control_plane/models/inputcriblmetrics.py +20 -1
  28. cribl_control_plane/models/inputcribltcp.py +58 -17
  29. cribl_control_plane/models/inputcrowdstrike.py +47 -1
  30. cribl_control_plane/models/inputdatadogagent.py +58 -17
  31. cribl_control_plane/models/inputdatagen.py +20 -1
  32. cribl_control_plane/models/inputedgeprometheus.py +138 -37
  33. cribl_control_plane/models/inputelastic.py +108 -27
  34. cribl_control_plane/models/inputeventhub.py +176 -1
  35. cribl_control_plane/models/inputexec.py +29 -1
  36. cribl_control_plane/models/inputfile.py +36 -3
  37. cribl_control_plane/models/inputfirehose.py +58 -17
  38. cribl_control_plane/models/inputgooglepubsub.py +29 -1
  39. cribl_control_plane/models/inputgrafana.py +149 -32
  40. cribl_control_plane/models/inputhttp.py +58 -17
  41. cribl_control_plane/models/inputhttpraw.py +58 -17
  42. cribl_control_plane/models/inputjournalfiles.py +20 -1
  43. cribl_control_plane/models/inputkafka.py +182 -1
  44. cribl_control_plane/models/inputkinesis.py +65 -1
  45. cribl_control_plane/models/inputkubeevents.py +20 -1
  46. cribl_control_plane/models/inputkubelogs.py +29 -1
  47. cribl_control_plane/models/inputkubemetrics.py +29 -1
  48. cribl_control_plane/models/inputloki.py +67 -17
  49. cribl_control_plane/models/inputmetrics.py +58 -17
  50. cribl_control_plane/models/inputmodeldriventelemetry.py +58 -17
  51. cribl_control_plane/models/inputmsk.py +74 -1
  52. cribl_control_plane/models/inputnetflow.py +20 -1
  53. cribl_control_plane/models/inputoffice365mgmt.py +56 -1
  54. cribl_control_plane/models/inputoffice365msgtrace.py +56 -1
  55. cribl_control_plane/models/inputoffice365service.py +56 -1
  56. cribl_control_plane/models/inputopentelemetry.py +84 -16
  57. cribl_control_plane/models/inputprometheus.py +131 -37
  58. cribl_control_plane/models/inputprometheusrw.py +67 -17
  59. cribl_control_plane/models/inputrawudp.py +20 -1
  60. cribl_control_plane/models/inputs3.py +38 -1
  61. cribl_control_plane/models/inputs3inventory.py +47 -1
  62. cribl_control_plane/models/inputsecuritylake.py +47 -1
  63. cribl_control_plane/models/inputsnmp.py +29 -1
  64. cribl_control_plane/models/inputsplunk.py +76 -17
  65. cribl_control_plane/models/inputsplunkhec.py +66 -16
  66. cribl_control_plane/models/inputsplunksearch.py +56 -1
  67. cribl_control_plane/models/inputsqs.py +47 -1
  68. cribl_control_plane/models/inputsyslog.py +113 -32
  69. cribl_control_plane/models/inputsystemmetrics.py +110 -9
  70. cribl_control_plane/models/inputsystemstate.py +29 -1
  71. cribl_control_plane/models/inputtcp.py +77 -17
  72. cribl_control_plane/models/inputtcpjson.py +67 -17
  73. cribl_control_plane/models/inputwef.py +65 -1
  74. cribl_control_plane/models/inputwindowsmetrics.py +101 -9
  75. cribl_control_plane/models/inputwineventlogs.py +52 -1
  76. cribl_control_plane/models/inputwiz.py +38 -1
  77. cribl_control_plane/models/inputwizwebhook.py +58 -17
  78. cribl_control_plane/models/inputzscalerhec.py +66 -16
  79. cribl_control_plane/models/listconfiggroupbyproductop.py +11 -0
  80. cribl_control_plane/models/masterworkerentry.py +11 -1
  81. cribl_control_plane/models/nodeupgradestatus.py +38 -0
  82. cribl_control_plane/models/output.py +21 -21
  83. cribl_control_plane/models/outputazureblob.py +90 -1
  84. cribl_control_plane/models/outputazuredataexplorer.py +430 -93
  85. cribl_control_plane/models/outputazureeventhub.py +267 -22
  86. cribl_control_plane/models/outputazurelogs.py +105 -22
  87. cribl_control_plane/models/outputchronicle.py +105 -22
  88. cribl_control_plane/models/outputclickhouse.py +141 -22
  89. cribl_control_plane/models/outputcloudwatch.py +96 -22
  90. cribl_control_plane/models/outputconfluentcloud.py +290 -23
  91. cribl_control_plane/models/outputcriblhttp.py +123 -22
  92. cribl_control_plane/models/outputcribllake.py +76 -1
  93. cribl_control_plane/models/outputcribltcp.py +123 -22
  94. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +117 -23
  95. cribl_control_plane/models/outputdatabricks.py +72 -1
  96. cribl_control_plane/models/outputdatadog.py +132 -22
  97. cribl_control_plane/models/outputdataset.py +123 -22
  98. cribl_control_plane/models/outputdiskspool.py +11 -1
  99. cribl_control_plane/models/outputdls3.py +117 -1
  100. cribl_control_plane/models/outputdynatracehttp.py +141 -22
  101. cribl_control_plane/models/outputdynatraceotlp.py +141 -22
  102. cribl_control_plane/models/outputelastic.py +148 -22
  103. cribl_control_plane/models/outputelasticcloud.py +130 -22
  104. cribl_control_plane/models/outputexabeam.py +47 -1
  105. cribl_control_plane/models/outputfilesystem.py +72 -1
  106. cribl_control_plane/models/outputgooglechronicle.py +148 -23
  107. cribl_control_plane/models/outputgooglecloudlogging.py +115 -23
  108. cribl_control_plane/models/outputgooglecloudstorage.py +108 -1
  109. cribl_control_plane/models/outputgooglepubsub.py +96 -22
  110. cribl_control_plane/models/outputgrafanacloud.py +244 -43
  111. cribl_control_plane/models/outputgraphite.py +96 -22
  112. cribl_control_plane/models/outputhoneycomb.py +105 -22
  113. cribl_control_plane/models/outputhumiohec.py +114 -22
  114. cribl_control_plane/models/outputinfluxdb.py +114 -22
  115. cribl_control_plane/models/outputkafka.py +281 -20
  116. cribl_control_plane/models/outputkinesis.py +121 -22
  117. cribl_control_plane/models/outputloki.py +112 -20
  118. cribl_control_plane/models/outputminio.py +117 -1
  119. cribl_control_plane/models/outputmsk.py +173 -20
  120. cribl_control_plane/models/outputnewrelic.py +123 -22
  121. cribl_control_plane/models/outputnewrelicevents.py +115 -23
  122. cribl_control_plane/models/outputopentelemetry.py +159 -22
  123. cribl_control_plane/models/outputprometheus.py +105 -22
  124. cribl_control_plane/models/outputring.py +29 -1
  125. cribl_control_plane/models/outputs3.py +117 -1
  126. cribl_control_plane/models/outputsecuritylake.py +85 -1
  127. cribl_control_plane/models/outputsentinel.py +123 -22
  128. cribl_control_plane/models/outputsentineloneaisiem.py +124 -23
  129. cribl_control_plane/models/outputservicenow.py +150 -22
  130. cribl_control_plane/models/outputsignalfx.py +105 -22
  131. cribl_control_plane/models/outputsns.py +103 -20
  132. cribl_control_plane/models/outputsplunk.py +141 -22
  133. cribl_control_plane/models/outputsplunkhec.py +198 -22
  134. cribl_control_plane/models/outputsplunklb.py +170 -22
  135. cribl_control_plane/models/outputsqs.py +112 -20
  136. cribl_control_plane/models/outputstatsd.py +96 -22
  137. cribl_control_plane/models/outputstatsdext.py +96 -22
  138. cribl_control_plane/models/outputsumologic.py +105 -22
  139. cribl_control_plane/models/outputsyslog.py +238 -99
  140. cribl_control_plane/models/outputtcpjson.py +132 -22
  141. cribl_control_plane/models/outputwavefront.py +105 -22
  142. cribl_control_plane/models/outputwebhook.py +141 -22
  143. cribl_control_plane/models/outputxsiam.py +103 -20
  144. cribl_control_plane/models/resourcepolicy.py +11 -0
  145. cribl_control_plane/models/runnablejobcollection.py +68 -9
  146. cribl_control_plane/models/runnablejobexecutor.py +32 -9
  147. cribl_control_plane/models/runnablejobscheduledsearch.py +23 -9
  148. cribl_control_plane/models/updateconfiggroupbyproductandidop.py +11 -0
  149. cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +11 -0
  150. {cribl_control_plane-0.3.0b3.dist-info → cribl_control_plane-0.3.0b5.dist-info}/METADATA +1 -1
  151. {cribl_control_plane-0.3.0b3.dist-info → cribl_control_plane-0.3.0b5.dist-info}/RECORD +152 -152
  152. {cribl_control_plane-0.3.0b3.dist-info → cribl_control_plane-0.3.0b5.dist-info}/WHEEL +0 -0
@@ -1,11 +1,12 @@
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
+ from cribl_control_plane import models, utils
5
5
  from cribl_control_plane.types import BaseModel
6
6
  from cribl_control_plane.utils import validate_open_enum
7
7
  from enum import Enum
8
8
  import pydantic
9
+ from pydantic import field_serializer
9
10
  from pydantic.functional_validators import PlainValidator
10
11
  from typing import List, Optional
11
12
  from typing_extensions import Annotated, NotRequired, TypedDict
@@ -107,6 +108,24 @@ class InputWindowsMetricsPq(BaseModel):
107
108
  Optional[InputWindowsMetricsPqControls], pydantic.Field(alias="pqControls")
108
109
  ] = None
109
110
 
111
+ @field_serializer("mode")
112
+ def serialize_mode(self, value):
113
+ if isinstance(value, str):
114
+ try:
115
+ return models.InputWindowsMetricsPqMode(value)
116
+ except ValueError:
117
+ return value
118
+ return value
119
+
120
+ @field_serializer("compress")
121
+ def serialize_compress(self, value):
122
+ if isinstance(value, str):
123
+ try:
124
+ return models.InputWindowsMetricsCompression(value)
125
+ except ValueError:
126
+ return value
127
+ return value
128
+
110
129
 
111
130
  class InputWindowsMetricsHostMode(str, Enum, metaclass=utils.OpenEnumMeta):
112
131
  r"""Select level of detail for host metrics"""
@@ -151,6 +170,15 @@ class InputWindowsMetricsSystem(BaseModel):
151
170
  detail: Optional[bool] = False
152
171
  r"""Generate metrics for all system information"""
153
172
 
173
+ @field_serializer("mode")
174
+ def serialize_mode(self, value):
175
+ if isinstance(value, str):
176
+ try:
177
+ return models.InputWindowsMetricsSystemMode(value)
178
+ except ValueError:
179
+ return value
180
+ return value
181
+
154
182
 
155
183
  class InputWindowsMetricsCPUMode(str, Enum, metaclass=utils.OpenEnumMeta):
156
184
  r"""Select the level of details for CPU metrics"""
@@ -191,6 +219,15 @@ class InputWindowsMetricsCPU(BaseModel):
191
219
  time: Optional[bool] = False
192
220
  r"""Generate raw, monotonic CPU time counters"""
193
221
 
222
+ @field_serializer("mode")
223
+ def serialize_mode(self, value):
224
+ if isinstance(value, str):
225
+ try:
226
+ return models.InputWindowsMetricsCPUMode(value)
227
+ except ValueError:
228
+ return value
229
+ return value
230
+
194
231
 
195
232
  class InputWindowsMetricsMemoryMode(str, Enum, metaclass=utils.OpenEnumMeta):
196
233
  r"""Select the level of details for memory metrics"""
@@ -222,6 +259,15 @@ class InputWindowsMetricsMemory(BaseModel):
222
259
  detail: Optional[bool] = False
223
260
  r"""Generate metrics for all memory states"""
224
261
 
262
+ @field_serializer("mode")
263
+ def serialize_mode(self, value):
264
+ if isinstance(value, str):
265
+ try:
266
+ return models.InputWindowsMetricsMemoryMode(value)
267
+ except ValueError:
268
+ return value
269
+ return value
270
+
225
271
 
226
272
  class InputWindowsMetricsNetworkMode(str, Enum, metaclass=utils.OpenEnumMeta):
227
273
  r"""Select the level of details for network metrics"""
@@ -239,12 +285,14 @@ class InputWindowsMetricsNetworkMode(str, Enum, metaclass=utils.OpenEnumMeta):
239
285
  class InputWindowsMetricsNetworkTypedDict(TypedDict):
240
286
  mode: NotRequired[InputWindowsMetricsNetworkMode]
241
287
  r"""Select the level of details for network metrics"""
288
+ detail: NotRequired[bool]
289
+ r"""Generate full network metrics"""
290
+ protocols: NotRequired[bool]
291
+ r"""Generate protocol metrics for ICMP, ICMPMsg, IP, TCP, UDP and UDPLite"""
242
292
  devices: NotRequired[List[str]]
243
293
  r"""Network interfaces to include/exclude. All interfaces are included if this list is empty."""
244
294
  per_interface: NotRequired[bool]
245
295
  r"""Generate separate metrics for each interface"""
246
- detail: NotRequired[bool]
247
- r"""Generate full network metrics"""
248
296
 
249
297
 
250
298
  class InputWindowsMetricsNetwork(BaseModel):
@@ -254,6 +302,12 @@ class InputWindowsMetricsNetwork(BaseModel):
254
302
  ] = InputWindowsMetricsNetworkMode.BASIC
255
303
  r"""Select the level of details for network metrics"""
256
304
 
305
+ detail: Optional[bool] = False
306
+ r"""Generate full network metrics"""
307
+
308
+ protocols: Optional[bool] = False
309
+ r"""Generate protocol metrics for ICMP, ICMPMsg, IP, TCP, UDP and UDPLite"""
310
+
257
311
  devices: Optional[List[str]] = None
258
312
  r"""Network interfaces to include/exclude. All interfaces are included if this list is empty."""
259
313
 
@@ -262,8 +316,14 @@ class InputWindowsMetricsNetwork(BaseModel):
262
316
  )
263
317
  r"""Generate separate metrics for each interface"""
264
318
 
265
- detail: Optional[bool] = False
266
- r"""Generate full network metrics"""
319
+ @field_serializer("mode")
320
+ def serialize_mode(self, value):
321
+ if isinstance(value, str):
322
+ try:
323
+ return models.InputWindowsMetricsNetworkMode(value)
324
+ except ValueError:
325
+ return value
326
+ return value
267
327
 
268
328
 
269
329
  class InputWindowsMetricsDiskMode(str, Enum, metaclass=utils.OpenEnumMeta):
@@ -282,10 +342,12 @@ class InputWindowsMetricsDiskMode(str, Enum, metaclass=utils.OpenEnumMeta):
282
342
  class InputWindowsMetricsDiskTypedDict(TypedDict):
283
343
  mode: NotRequired[InputWindowsMetricsDiskMode]
284
344
  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
345
  per_volume: NotRequired[bool]
288
346
  r"""Generate separate metrics for each volume"""
347
+ detail: NotRequired[bool]
348
+ r"""Generate full disk metrics"""
349
+ volumes: NotRequired[List[str]]
350
+ 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
351
 
290
352
 
291
353
  class InputWindowsMetricsDisk(BaseModel):
@@ -294,11 +356,23 @@ class InputWindowsMetricsDisk(BaseModel):
294
356
  ] = InputWindowsMetricsDiskMode.BASIC
295
357
  r"""Select the level of details for disk metrics"""
296
358
 
359
+ per_volume: Annotated[Optional[bool], pydantic.Field(alias="perVolume")] = False
360
+ r"""Generate separate metrics for each volume"""
361
+
362
+ detail: Optional[bool] = False
363
+ r"""Generate full disk metrics"""
364
+
297
365
  volumes: Optional[List[str]] = None
298
366
  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
367
 
300
- per_volume: Annotated[Optional[bool], pydantic.Field(alias="perVolume")] = False
301
- r"""Generate separate metrics for each volume"""
368
+ @field_serializer("mode")
369
+ def serialize_mode(self, value):
370
+ if isinstance(value, str):
371
+ try:
372
+ return models.InputWindowsMetricsDiskMode(value)
373
+ except ValueError:
374
+ return value
375
+ return value
302
376
 
303
377
 
304
378
  class InputWindowsMetricsCustomTypedDict(TypedDict):
@@ -335,6 +409,15 @@ class InputWindowsMetricsHost(BaseModel):
335
409
 
336
410
  custom: Optional[InputWindowsMetricsCustom] = None
337
411
 
412
+ @field_serializer("mode")
413
+ def serialize_mode(self, value):
414
+ if isinstance(value, str):
415
+ try:
416
+ return models.InputWindowsMetricsHostMode(value)
417
+ except ValueError:
418
+ return value
419
+ return value
420
+
338
421
 
339
422
  class InputWindowsMetricsSetTypedDict(TypedDict):
340
423
  name: str
@@ -417,6 +500,15 @@ class InputWindowsMetricsPersistence(BaseModel):
417
500
  )
418
501
  r"""Path to use to write metrics. Defaults to $CRIBL_HOME/state/windows_metrics"""
419
502
 
503
+ @field_serializer("compress")
504
+ def serialize_compress(self, value):
505
+ if isinstance(value, str):
506
+ try:
507
+ return models.InputWindowsMetricsDataCompressionFormat(value)
508
+ except ValueError:
509
+ return value
510
+ return value
511
+
420
512
 
421
513
  class InputWindowsMetricsTypedDict(TypedDict):
422
514
  type: InputWindowsMetricsType
@@ -1,11 +1,12 @@
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
+ from cribl_control_plane import models, utils
5
5
  from cribl_control_plane.types import BaseModel
6
6
  from cribl_control_plane.utils import validate_open_enum
7
7
  from enum import Enum
8
8
  import pydantic
9
+ from pydantic import field_serializer
9
10
  from pydantic.functional_validators import PlainValidator
10
11
  from typing import List, Optional
11
12
  from typing_extensions import Annotated, NotRequired, TypedDict
@@ -107,6 +108,24 @@ class InputWinEventLogsPq(BaseModel):
107
108
  Optional[InputWinEventLogsPqControls], pydantic.Field(alias="pqControls")
108
109
  ] = None
109
110
 
111
+ @field_serializer("mode")
112
+ def serialize_mode(self, value):
113
+ if isinstance(value, str):
114
+ try:
115
+ return models.InputWinEventLogsMode(value)
116
+ except ValueError:
117
+ return value
118
+ return value
119
+
120
+ @field_serializer("compress")
121
+ def serialize_compress(self, value):
122
+ if isinstance(value, str):
123
+ try:
124
+ return models.InputWinEventLogsCompression(value)
125
+ except ValueError:
126
+ return value
127
+ return value
128
+
110
129
 
111
130
  class ReadMode(str, Enum, metaclass=utils.OpenEnumMeta):
112
131
  r"""Read all stored and future event logs, or only future events"""
@@ -174,6 +193,10 @@ class InputWinEventLogsTypedDict(TypedDict):
174
193
  max_event_bytes: NotRequired[float]
175
194
  r"""The maximum number of bytes in an event before it is flushed to the pipelines"""
176
195
  description: NotRequired[str]
196
+ disable_json_rendering: NotRequired[bool]
197
+ r"""Enable/disable the rendering of localized event message strings (Applicable for 4.8.0 nodes and newer that use the Native API)"""
198
+ disable_xml_rendering: NotRequired[bool]
199
+ r"""Enable/disable the rendering of localized event message strings (Applicable for 4.8.0 nodes and newer that use the Native API)"""
177
200
 
178
201
 
179
202
  class InputWinEventLogs(BaseModel):
@@ -241,3 +264,31 @@ class InputWinEventLogs(BaseModel):
241
264
  r"""The maximum number of bytes in an event before it is flushed to the pipelines"""
242
265
 
243
266
  description: Optional[str] = None
267
+
268
+ disable_json_rendering: Annotated[
269
+ Optional[bool], pydantic.Field(alias="disableJsonRendering")
270
+ ] = False
271
+ r"""Enable/disable the rendering of localized event message strings (Applicable for 4.8.0 nodes and newer that use the Native API)"""
272
+
273
+ disable_xml_rendering: Annotated[
274
+ Optional[bool], pydantic.Field(alias="disableXmlRendering")
275
+ ] = True
276
+ r"""Enable/disable the rendering of localized event message strings (Applicable for 4.8.0 nodes and newer that use the Native API)"""
277
+
278
+ @field_serializer("read_mode")
279
+ def serialize_read_mode(self, value):
280
+ if isinstance(value, str):
281
+ try:
282
+ return models.ReadMode(value)
283
+ except ValueError:
284
+ return value
285
+ return value
286
+
287
+ @field_serializer("event_format")
288
+ def serialize_event_format(self, value):
289
+ if isinstance(value, str):
290
+ try:
291
+ return models.EventFormat(value)
292
+ except ValueError:
293
+ return value
294
+ return value
@@ -1,11 +1,12 @@
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
+ from cribl_control_plane import models, utils
5
5
  from cribl_control_plane.types import BaseModel
6
6
  from cribl_control_plane.utils import validate_open_enum
7
7
  from enum import Enum
8
8
  import pydantic
9
+ from pydantic import field_serializer
9
10
  from pydantic.functional_validators import PlainValidator
10
11
  from typing import List, Optional
11
12
  from typing_extensions import Annotated, NotRequired, TypedDict
@@ -106,6 +107,24 @@ class InputWizPq(BaseModel):
106
107
  Optional[InputWizPqControls], pydantic.Field(alias="pqControls")
107
108
  ] = None
108
109
 
110
+ @field_serializer("mode")
111
+ def serialize_mode(self, value):
112
+ if isinstance(value, str):
113
+ try:
114
+ return models.InputWizMode(value)
115
+ except ValueError:
116
+ return value
117
+ return value
118
+
119
+ @field_serializer("compress")
120
+ def serialize_compress(self, value):
121
+ if isinstance(value, str):
122
+ try:
123
+ return models.InputWizCompression(value)
124
+ except ValueError:
125
+ return value
126
+ return value
127
+
109
128
 
110
129
  class InputWizContentConfigTypedDict(TypedDict):
111
130
  content_type: str
@@ -201,6 +220,15 @@ class InputWizRetryRules(BaseModel):
201
220
  ] = False
202
221
  r"""Retry request when a connection reset (ECONNRESET) error occurs"""
203
222
 
223
+ @field_serializer("type")
224
+ def serialize_type(self, value):
225
+ if isinstance(value, str):
226
+ try:
227
+ return models.InputWizRetryType(value)
228
+ except ValueError:
229
+ return value
230
+ return value
231
+
204
232
 
205
233
  class InputWizAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
206
234
  r"""Enter client secret directly, or select a stored secret"""
@@ -352,3 +380,12 @@ class InputWiz(BaseModel):
352
380
 
353
381
  text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None
354
382
  r"""Select or create a stored text secret"""
383
+
384
+ @field_serializer("auth_type")
385
+ def serialize_auth_type(self, value):
386
+ if isinstance(value, str):
387
+ try:
388
+ return models.InputWizAuthenticationMethod(value)
389
+ except ValueError:
390
+ return value
391
+ return value
@@ -1,13 +1,14 @@
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
+ from cribl_control_plane import models, utils
5
5
  from cribl_control_plane.types import BaseModel
6
6
  from cribl_control_plane.utils import validate_open_enum
7
7
  from enum import Enum
8
8
  import pydantic
9
+ from pydantic import field_serializer
9
10
  from pydantic.functional_validators import PlainValidator
10
- from typing import Any, List, Optional
11
+ from typing import List, Optional
11
12
  from typing_extensions import Annotated, NotRequired, TypedDict
12
13
 
13
14
 
@@ -106,6 +107,24 @@ class InputWizWebhookPq(BaseModel):
106
107
  Optional[InputWizWebhookPqControls], pydantic.Field(alias="pqControls")
107
108
  ] = None
108
109
 
110
+ @field_serializer("mode")
111
+ def serialize_mode(self, value):
112
+ if isinstance(value, str):
113
+ try:
114
+ return models.InputWizWebhookMode(value)
115
+ except ValueError:
116
+ return value
117
+ return value
118
+
119
+ @field_serializer("compress")
120
+ def serialize_compress(self, value):
121
+ if isinstance(value, str):
122
+ try:
123
+ return models.InputWizWebhookCompression(value)
124
+ except ValueError:
125
+ return value
126
+ return value
127
+
109
128
 
110
129
  class InputWizWebhookMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
111
130
  TL_SV1 = "TLSv1"
@@ -123,6 +142,12 @@ class InputWizWebhookMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
123
142
 
124
143
  class InputWizWebhookTLSSettingsServerSideTypedDict(TypedDict):
125
144
  disabled: NotRequired[bool]
145
+ request_cert: NotRequired[bool]
146
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
147
+ reject_unauthorized: NotRequired[bool]
148
+ r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
149
+ common_name_regex: NotRequired[str]
150
+ r"""Regex matching allowable common names in peer certificates' subject attribute"""
126
151
  certificate_name: NotRequired[str]
127
152
  r"""The name of the predefined certificate"""
128
153
  priv_key_path: NotRequired[str]
@@ -133,10 +158,6 @@ class InputWizWebhookTLSSettingsServerSideTypedDict(TypedDict):
133
158
  r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
134
159
  ca_path: NotRequired[str]
135
160
  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
161
  min_version: NotRequired[InputWizWebhookMinimumTLSVersion]
141
162
  max_version: NotRequired[InputWizWebhookMaximumTLSVersion]
142
163
 
@@ -144,6 +165,19 @@ class InputWizWebhookTLSSettingsServerSideTypedDict(TypedDict):
144
165
  class InputWizWebhookTLSSettingsServerSide(BaseModel):
145
166
  disabled: Optional[bool] = True
146
167
 
168
+ request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
169
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
170
+
171
+ reject_unauthorized: Annotated[
172
+ Optional[bool], pydantic.Field(alias="rejectUnauthorized")
173
+ ] = True
174
+ r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
175
+
176
+ common_name_regex: Annotated[
177
+ Optional[str], pydantic.Field(alias="commonNameRegex")
178
+ ] = "/.*/"
179
+ r"""Regex matching allowable common names in peer certificates' subject attribute"""
180
+
147
181
  certificate_name: Annotated[
148
182
  Optional[str], pydantic.Field(alias="certificateName")
149
183
  ] = None
@@ -161,17 +195,6 @@ class InputWizWebhookTLSSettingsServerSide(BaseModel):
161
195
  ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
162
196
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
163
197
 
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
198
  min_version: Annotated[
176
199
  Annotated[
177
200
  Optional[InputWizWebhookMinimumTLSVersion],
@@ -188,6 +211,24 @@ class InputWizWebhookTLSSettingsServerSide(BaseModel):
188
211
  pydantic.Field(alias="maxVersion"),
189
212
  ] = None
190
213
 
214
+ @field_serializer("min_version")
215
+ def serialize_min_version(self, value):
216
+ if isinstance(value, str):
217
+ try:
218
+ return models.InputWizWebhookMinimumTLSVersion(value)
219
+ except ValueError:
220
+ return value
221
+ return value
222
+
223
+ @field_serializer("max_version")
224
+ def serialize_max_version(self, value):
225
+ if isinstance(value, str):
226
+ try:
227
+ return models.InputWizWebhookMaximumTLSVersion(value)
228
+ except ValueError:
229
+ return value
230
+ return value
231
+
191
232
 
192
233
  class InputWizWebhookMetadatumTypedDict(TypedDict):
193
234
  name: str
@@ -1,11 +1,12 @@
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
+ from cribl_control_plane import models, utils
5
5
  from cribl_control_plane.types import BaseModel
6
6
  from cribl_control_plane.utils import validate_open_enum
7
7
  from enum import Enum
8
8
  import pydantic
9
+ from pydantic import field_serializer
9
10
  from pydantic.functional_validators import PlainValidator
10
11
  from typing import Any, List, Optional
11
12
  from typing_extensions import Annotated, NotRequired, TypedDict
@@ -106,6 +107,24 @@ class InputZscalerHecPq(BaseModel):
106
107
  Optional[InputZscalerHecPqControls], pydantic.Field(alias="pqControls")
107
108
  ] = None
108
109
 
110
+ @field_serializer("mode")
111
+ def serialize_mode(self, value):
112
+ if isinstance(value, str):
113
+ try:
114
+ return models.InputZscalerHecMode(value)
115
+ except ValueError:
116
+ return value
117
+ return value
118
+
119
+ @field_serializer("compress")
120
+ def serialize_compress(self, value):
121
+ if isinstance(value, str):
122
+ try:
123
+ return models.InputZscalerHecCompression(value)
124
+ except ValueError:
125
+ return value
126
+ return value
127
+
109
128
 
110
129
  class InputZscalerHecAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
111
130
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
@@ -166,6 +185,15 @@ class InputZscalerHecAuthToken(BaseModel):
166
185
  metadata: Optional[List[InputZscalerHecAuthTokenMetadatum]] = None
167
186
  r"""Fields to add to events referencing this token"""
168
187
 
188
+ @field_serializer("auth_type")
189
+ def serialize_auth_type(self, value):
190
+ if isinstance(value, str):
191
+ try:
192
+ return models.InputZscalerHecAuthenticationMethod(value)
193
+ except ValueError:
194
+ return value
195
+ return value
196
+
169
197
 
170
198
  class InputZscalerHecMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
171
199
  TL_SV1 = "TLSv1"
@@ -183,6 +211,12 @@ class InputZscalerHecMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
183
211
 
184
212
  class InputZscalerHecTLSSettingsServerSideTypedDict(TypedDict):
185
213
  disabled: NotRequired[bool]
214
+ request_cert: NotRequired[bool]
215
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
216
+ reject_unauthorized: NotRequired[bool]
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
+ common_name_regex: NotRequired[str]
219
+ r"""Regex matching allowable common names in peer certificates' subject attribute"""
186
220
  certificate_name: NotRequired[str]
187
221
  r"""The name of the predefined certificate"""
188
222
  priv_key_path: NotRequired[str]
@@ -193,10 +227,6 @@ class InputZscalerHecTLSSettingsServerSideTypedDict(TypedDict):
193
227
  r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
194
228
  ca_path: NotRequired[str]
195
229
  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
230
  min_version: NotRequired[InputZscalerHecMinimumTLSVersion]
201
231
  max_version: NotRequired[InputZscalerHecMaximumTLSVersion]
202
232
 
@@ -204,6 +234,19 @@ class InputZscalerHecTLSSettingsServerSideTypedDict(TypedDict):
204
234
  class InputZscalerHecTLSSettingsServerSide(BaseModel):
205
235
  disabled: Optional[bool] = True
206
236
 
237
+ request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
238
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
239
+
240
+ reject_unauthorized: Annotated[
241
+ Optional[bool], pydantic.Field(alias="rejectUnauthorized")
242
+ ] = True
243
+ r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
244
+
245
+ common_name_regex: Annotated[
246
+ Optional[str], pydantic.Field(alias="commonNameRegex")
247
+ ] = "/.*/"
248
+ r"""Regex matching allowable common names in peer certificates' subject attribute"""
249
+
207
250
  certificate_name: Annotated[
208
251
  Optional[str], pydantic.Field(alias="certificateName")
209
252
  ] = None
@@ -221,17 +264,6 @@ class InputZscalerHecTLSSettingsServerSide(BaseModel):
221
264
  ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
222
265
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
223
266
 
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
267
  min_version: Annotated[
236
268
  Annotated[
237
269
  Optional[InputZscalerHecMinimumTLSVersion],
@@ -248,6 +280,24 @@ class InputZscalerHecTLSSettingsServerSide(BaseModel):
248
280
  pydantic.Field(alias="maxVersion"),
249
281
  ] = None
250
282
 
283
+ @field_serializer("min_version")
284
+ def serialize_min_version(self, value):
285
+ if isinstance(value, str):
286
+ try:
287
+ return models.InputZscalerHecMinimumTLSVersion(value)
288
+ except ValueError:
289
+ return value
290
+ return value
291
+
292
+ @field_serializer("max_version")
293
+ def serialize_max_version(self, value):
294
+ if isinstance(value, str):
295
+ try:
296
+ return models.InputZscalerHecMaximumTLSVersion(value)
297
+ except ValueError:
298
+ return value
299
+ return value
300
+
251
301
 
252
302
  class InputZscalerHecMetadatumTypedDict(TypedDict):
253
303
  name: str
@@ -3,6 +3,7 @@
3
3
  from __future__ import annotations
4
4
  from .configgroup import ConfigGroup, ConfigGroupTypedDict
5
5
  from .productscore import ProductsCore
6
+ from cribl_control_plane import models
6
7
  from cribl_control_plane.types import BaseModel
7
8
  from cribl_control_plane.utils import (
8
9
  FieldMetadata,
@@ -10,6 +11,7 @@ from cribl_control_plane.utils import (
10
11
  QueryParamMetadata,
11
12
  validate_open_enum,
12
13
  )
14
+ from pydantic import field_serializer
13
15
  from pydantic.functional_validators import PlainValidator
14
16
  from typing import List, Optional
15
17
  from typing_extensions import Annotated, NotRequired, TypedDict
@@ -35,6 +37,15 @@ class ListConfigGroupByProductRequest(BaseModel):
35
37
  ] = None
36
38
  r"""Comma-separated list of additional properties to include in the response. Available values are <code>git.commit</code>, <code>git.localChanges</code>, and <code>git.log</code>."""
37
39
 
40
+ @field_serializer("product")
41
+ def serialize_product(self, value):
42
+ if isinstance(value, str):
43
+ try:
44
+ return models.ProductsCore(value)
45
+ except ValueError:
46
+ return value
47
+ return value
48
+
38
49
 
39
50
  class ListConfigGroupByProductResponseTypedDict(TypedDict):
40
51
  r"""a list of ConfigGroup objects"""
@@ -4,11 +4,12 @@ from __future__ import annotations
4
4
  from .heartbeatmetadata import HeartbeatMetadata, HeartbeatMetadataTypedDict
5
5
  from .nodeprovidedinfo import NodeProvidedInfo, NodeProvidedInfoTypedDict
6
6
  from .nodeupgradestatus import NodeUpgradeStatus, NodeUpgradeStatusTypedDict
7
- from cribl_control_plane import utils
7
+ from cribl_control_plane import models, utils
8
8
  from cribl_control_plane.types import BaseModel
9
9
  from cribl_control_plane.utils import validate_open_enum
10
10
  from enum import Enum
11
11
  import pydantic
12
+ from pydantic import field_serializer
12
13
  from pydantic.functional_validators import PlainValidator
13
14
  from typing import Optional
14
15
  from typing_extensions import Annotated, NotRequired, TypedDict
@@ -87,3 +88,12 @@ class MasterWorkerEntry(BaseModel):
87
88
  ] = None
88
89
 
89
90
  workers: Optional[MasterWorkerEntryWorkers] = None
91
+
92
+ @field_serializer("type")
93
+ def serialize_type(self, value):
94
+ if isinstance(value, str):
95
+ try:
96
+ return models.MasterWorkerEntryType(value)
97
+ except ValueError:
98
+ return value
99
+ return value