cribl-control-plane 0.0.50rc2__py3-none-any.whl → 0.0.52__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 (182) hide show
  1. cribl_control_plane/_hooks/clientcredentials.py +91 -41
  2. cribl_control_plane/_version.py +6 -4
  3. cribl_control_plane/errors/apierror.py +1 -1
  4. cribl_control_plane/errors/criblcontrolplaneerror.py +1 -1
  5. cribl_control_plane/errors/error.py +1 -1
  6. cribl_control_plane/errors/healthstatus_error.py +3 -9
  7. cribl_control_plane/errors/no_response_error.py +1 -1
  8. cribl_control_plane/errors/responsevalidationerror.py +1 -1
  9. cribl_control_plane/groups_sdk.py +4 -4
  10. cribl_control_plane/health.py +2 -6
  11. cribl_control_plane/models/__init__.py +31 -56
  12. cribl_control_plane/models/appmode.py +13 -0
  13. cribl_control_plane/models/cacheconnection.py +2 -10
  14. cribl_control_plane/models/cacheconnectionbackfillstatus.py +1 -2
  15. cribl_control_plane/models/cloudprovider.py +1 -2
  16. cribl_control_plane/models/configgroup.py +4 -24
  17. cribl_control_plane/models/configgroupcloud.py +2 -6
  18. cribl_control_plane/models/createconfiggroupbyproductop.py +2 -8
  19. cribl_control_plane/models/createinputhectokenbyidop.py +5 -6
  20. cribl_control_plane/models/createversionpushop.py +5 -5
  21. cribl_control_plane/models/cribllakedataset.py +2 -8
  22. cribl_control_plane/models/datasetmetadata.py +2 -8
  23. cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +2 -7
  24. cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +2 -4
  25. cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +2 -4
  26. cribl_control_plane/models/getconfiggroupbyproductandidop.py +1 -3
  27. cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +2 -7
  28. cribl_control_plane/models/getsummaryop.py +2 -7
  29. cribl_control_plane/models/getversionshowop.py +5 -6
  30. cribl_control_plane/models/gitinfo.py +3 -14
  31. cribl_control_plane/models/hbcriblinfo.py +3 -24
  32. cribl_control_plane/models/healthstatus.py +4 -7
  33. cribl_control_plane/models/heartbeatmetadata.py +0 -3
  34. cribl_control_plane/models/input.py +63 -65
  35. cribl_control_plane/models/inputappscope.py +14 -34
  36. cribl_control_plane/models/inputazureblob.py +6 -17
  37. cribl_control_plane/models/inputcollection.py +4 -11
  38. cribl_control_plane/models/inputconfluentcloud.py +32 -41
  39. cribl_control_plane/models/inputcribl.py +4 -11
  40. cribl_control_plane/models/inputcriblhttp.py +8 -23
  41. cribl_control_plane/models/inputcribllakehttp.py +10 -22
  42. cribl_control_plane/models/inputcriblmetrics.py +4 -12
  43. cribl_control_plane/models/inputcribltcp.py +8 -23
  44. cribl_control_plane/models/inputcrowdstrike.py +10 -26
  45. cribl_control_plane/models/inputdatadogagent.py +8 -24
  46. cribl_control_plane/models/inputdatagen.py +4 -11
  47. cribl_control_plane/models/inputedgeprometheus.py +24 -58
  48. cribl_control_plane/models/inputelastic.py +14 -40
  49. cribl_control_plane/models/inputeventhub.py +6 -15
  50. cribl_control_plane/models/inputexec.py +6 -14
  51. cribl_control_plane/models/inputfile.py +6 -15
  52. cribl_control_plane/models/inputfirehose.py +8 -23
  53. cribl_control_plane/models/inputgooglepubsub.py +6 -19
  54. cribl_control_plane/models/inputgrafana.py +24 -67
  55. cribl_control_plane/models/inputhttp.py +8 -23
  56. cribl_control_plane/models/inputhttpraw.py +8 -23
  57. cribl_control_plane/models/inputjournalfiles.py +4 -12
  58. cribl_control_plane/models/inputkafka.py +28 -41
  59. cribl_control_plane/models/inputkinesis.py +14 -38
  60. cribl_control_plane/models/inputkubeevents.py +4 -11
  61. cribl_control_plane/models/inputkubelogs.py +8 -16
  62. cribl_control_plane/models/inputkubemetrics.py +8 -16
  63. cribl_control_plane/models/inputloki.py +10 -29
  64. cribl_control_plane/models/inputmetrics.py +8 -23
  65. cribl_control_plane/models/inputmodeldriventelemetry.py +10 -32
  66. cribl_control_plane/models/inputmsk.py +30 -48
  67. cribl_control_plane/models/inputnetflow.py +4 -11
  68. cribl_control_plane/models/inputoffice365mgmt.py +14 -33
  69. cribl_control_plane/models/inputoffice365msgtrace.py +16 -35
  70. cribl_control_plane/models/inputoffice365service.py +16 -35
  71. cribl_control_plane/models/inputopentelemetry.py +16 -38
  72. cribl_control_plane/models/inputprometheus.py +18 -50
  73. cribl_control_plane/models/inputprometheusrw.py +10 -30
  74. cribl_control_plane/models/inputrawudp.py +4 -11
  75. cribl_control_plane/models/inputs3.py +8 -21
  76. cribl_control_plane/models/inputs3inventory.py +10 -26
  77. cribl_control_plane/models/inputsecuritylake.py +10 -27
  78. cribl_control_plane/models/inputsnmp.py +6 -16
  79. cribl_control_plane/models/inputsplunk.py +12 -33
  80. cribl_control_plane/models/inputsplunkhec.py +10 -29
  81. cribl_control_plane/models/inputsplunksearch.py +14 -33
  82. cribl_control_plane/models/inputsqs.py +10 -27
  83. cribl_control_plane/models/inputsyslog.py +16 -43
  84. cribl_control_plane/models/inputsystemmetrics.py +24 -48
  85. cribl_control_plane/models/inputsystemstate.py +8 -16
  86. cribl_control_plane/models/inputtcp.py +10 -29
  87. cribl_control_plane/models/inputtcpjson.py +10 -29
  88. cribl_control_plane/models/inputwef.py +14 -37
  89. cribl_control_plane/models/inputwindowsmetrics.py +24 -44
  90. cribl_control_plane/models/inputwineventlogs.py +10 -20
  91. cribl_control_plane/models/inputwiz.py +8 -21
  92. cribl_control_plane/models/inputwizwebhook.py +8 -23
  93. cribl_control_plane/models/inputzscalerhec.py +10 -29
  94. cribl_control_plane/models/lakehouseconnectiontype.py +1 -2
  95. cribl_control_plane/models/listconfiggroupbyproductop.py +1 -3
  96. cribl_control_plane/models/masterworkerentry.py +2 -7
  97. cribl_control_plane/models/nodeactiveupgradestatus.py +1 -2
  98. cribl_control_plane/models/nodefailedupgradestatus.py +1 -2
  99. cribl_control_plane/models/nodeprovidedinfo.py +0 -3
  100. cribl_control_plane/models/nodeskippedupgradestatus.py +1 -2
  101. cribl_control_plane/models/nodeupgradestate.py +1 -2
  102. cribl_control_plane/models/nodeupgradestatus.py +5 -13
  103. cribl_control_plane/models/output.py +79 -84
  104. cribl_control_plane/models/outputazureblob.py +18 -48
  105. cribl_control_plane/models/outputazuredataexplorer.py +28 -73
  106. cribl_control_plane/models/outputazureeventhub.py +18 -40
  107. cribl_control_plane/models/outputazurelogs.py +12 -35
  108. cribl_control_plane/models/outputclickhouse.py +20 -55
  109. cribl_control_plane/models/outputcloudwatch.py +10 -29
  110. cribl_control_plane/models/outputconfluentcloud.py +44 -71
  111. cribl_control_plane/models/outputcriblhttp.py +16 -44
  112. cribl_control_plane/models/outputcribllake.py +16 -46
  113. cribl_control_plane/models/outputcribltcp.py +18 -45
  114. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +14 -49
  115. cribl_control_plane/models/outputdatadog.py +20 -48
  116. cribl_control_plane/models/outputdataset.py +18 -46
  117. cribl_control_plane/models/outputdiskspool.py +2 -7
  118. cribl_control_plane/models/outputdls3.py +24 -68
  119. cribl_control_plane/models/outputdynatracehttp.py +20 -53
  120. cribl_control_plane/models/outputdynatraceotlp.py +22 -55
  121. cribl_control_plane/models/outputelastic.py +18 -43
  122. cribl_control_plane/models/outputelasticcloud.py +12 -36
  123. cribl_control_plane/models/outputexabeam.py +10 -29
  124. cribl_control_plane/models/outputfilesystem.py +14 -39
  125. cribl_control_plane/models/outputgooglechronicle.py +16 -50
  126. cribl_control_plane/models/outputgooglecloudlogging.py +18 -50
  127. cribl_control_plane/models/outputgooglecloudstorage.py +24 -66
  128. cribl_control_plane/models/outputgooglepubsub.py +10 -31
  129. cribl_control_plane/models/outputgrafanacloud.py +32 -97
  130. cribl_control_plane/models/outputgraphite.py +14 -31
  131. cribl_control_plane/models/outputhoneycomb.py +12 -35
  132. cribl_control_plane/models/outputhumiohec.py +16 -43
  133. cribl_control_plane/models/outputinfluxdb.py +16 -42
  134. cribl_control_plane/models/outputkafka.py +40 -69
  135. cribl_control_plane/models/outputkinesis.py +16 -40
  136. cribl_control_plane/models/outputloki.py +16 -41
  137. cribl_control_plane/models/outputminio.py +24 -65
  138. cribl_control_plane/models/outputmsk.py +42 -77
  139. cribl_control_plane/models/outputnewrelic.py +18 -43
  140. cribl_control_plane/models/outputnewrelicevents.py +14 -41
  141. cribl_control_plane/models/outputopentelemetry.py +26 -67
  142. cribl_control_plane/models/outputprometheus.py +12 -35
  143. cribl_control_plane/models/outputring.py +8 -19
  144. cribl_control_plane/models/outputs3.py +26 -68
  145. cribl_control_plane/models/outputsecuritylake.py +18 -52
  146. cribl_control_plane/models/outputsentinel.py +18 -45
  147. cribl_control_plane/models/outputsentineloneaisiem.py +18 -50
  148. cribl_control_plane/models/outputservicenow.py +24 -60
  149. cribl_control_plane/models/outputsignalfx.py +14 -37
  150. cribl_control_plane/models/outputsns.py +14 -36
  151. cribl_control_plane/models/outputsplunk.py +24 -60
  152. cribl_control_plane/models/outputsplunkhec.py +12 -35
  153. cribl_control_plane/models/outputsplunklb.py +30 -77
  154. cribl_control_plane/models/outputsqs.py +16 -41
  155. cribl_control_plane/models/outputstatsd.py +14 -30
  156. cribl_control_plane/models/outputstatsdext.py +12 -29
  157. cribl_control_plane/models/outputsumologic.py +12 -35
  158. cribl_control_plane/models/outputsyslog.py +24 -58
  159. cribl_control_plane/models/outputtcpjson.py +20 -52
  160. cribl_control_plane/models/outputwavefront.py +12 -35
  161. cribl_control_plane/models/outputwebhook.py +22 -58
  162. cribl_control_plane/models/outputxsiam.py +14 -35
  163. cribl_control_plane/models/productscore.py +1 -2
  164. cribl_control_plane/models/rbacresource.py +1 -2
  165. cribl_control_plane/models/resourcepolicy.py +2 -4
  166. cribl_control_plane/models/routecloneconf.py +13 -0
  167. cribl_control_plane/models/routeconf.py +4 -3
  168. cribl_control_plane/models/runnablejobcollection.py +13 -30
  169. cribl_control_plane/models/runnablejobexecutor.py +4 -13
  170. cribl_control_plane/models/runnablejobscheduledsearch.py +2 -7
  171. cribl_control_plane/models/updateconfiggroupbyproductandidop.py +2 -8
  172. cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +2 -8
  173. cribl_control_plane/models/updateinputhectokenbyidandtokenop.py +5 -6
  174. cribl_control_plane/models/workertypes.py +1 -2
  175. {cribl_control_plane-0.0.50rc2.dist-info → cribl_control_plane-0.0.52.dist-info}/METADATA +14 -12
  176. cribl_control_plane-0.0.52.dist-info/RECORD +325 -0
  177. cribl_control_plane/models/error.py +0 -16
  178. cribl_control_plane/models/gethealthinfoop.py +0 -17
  179. cribl_control_plane/models/gitshowresult.py +0 -19
  180. cribl_control_plane/models/outputdatabricks.py +0 -282
  181. cribl_control_plane-0.0.50rc2.dist-info/RECORD +0 -327
  182. {cribl_control_plane-0.0.50rc2.dist-info → cribl_control_plane-0.0.52.dist-info}/WHEEL +0 -0
@@ -1,12 +1,9 @@
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
5
4
  from cribl_control_plane.types import BaseModel
6
- from cribl_control_plane.utils import validate_open_enum
7
5
  from enum import Enum
8
6
  import pydantic
9
- from pydantic.functional_validators import PlainValidator
10
7
  from typing import List, Optional
11
8
  from typing_extensions import Annotated, NotRequired, TypedDict
12
9
 
@@ -15,14 +12,14 @@ class OutputCriblHTTPType(str, Enum):
15
12
  CRIBL_HTTP = "cribl_http"
16
13
 
17
14
 
18
- class OutputCriblHTTPMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
15
+ class OutputCriblHTTPMinimumTLSVersion(str, Enum):
19
16
  TL_SV1 = "TLSv1"
20
17
  TL_SV1_1 = "TLSv1.1"
21
18
  TL_SV1_2 = "TLSv1.2"
22
19
  TL_SV1_3 = "TLSv1.3"
23
20
 
24
21
 
25
- class OutputCriblHTTPMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
22
+ class OutputCriblHTTPMaximumTLSVersion(str, Enum):
26
23
  TL_SV1 = "TLSv1"
27
24
  TL_SV1_1 = "TLSv1.1"
28
25
  TL_SV1_2 = "TLSv1.2"
@@ -82,23 +79,15 @@ class OutputCriblHTTPTLSSettingsClientSide(BaseModel):
82
79
  r"""Passphrase to use to decrypt private key"""
83
80
 
84
81
  min_version: Annotated[
85
- Annotated[
86
- Optional[OutputCriblHTTPMinimumTLSVersion],
87
- PlainValidator(validate_open_enum(False)),
88
- ],
89
- pydantic.Field(alias="minVersion"),
82
+ Optional[OutputCriblHTTPMinimumTLSVersion], pydantic.Field(alias="minVersion")
90
83
  ] = None
91
84
 
92
85
  max_version: Annotated[
93
- Annotated[
94
- Optional[OutputCriblHTTPMaximumTLSVersion],
95
- PlainValidator(validate_open_enum(False)),
96
- ],
97
- pydantic.Field(alias="maxVersion"),
86
+ Optional[OutputCriblHTTPMaximumTLSVersion], pydantic.Field(alias="maxVersion")
98
87
  ] = None
99
88
 
100
89
 
101
- class OutputCriblHTTPCompression(str, Enum, metaclass=utils.OpenEnumMeta):
90
+ class OutputCriblHTTPCompression(str, Enum):
102
91
  r"""Codec to use to compress the data before sending"""
103
92
 
104
93
  NONE = "none"
@@ -116,7 +105,7 @@ class OutputCriblHTTPExtraHTTPHeader(BaseModel):
116
105
  name: Optional[str] = None
117
106
 
118
107
 
119
- class OutputCriblHTTPFailedRequestLoggingMode(str, Enum, metaclass=utils.OpenEnumMeta):
108
+ class OutputCriblHTTPFailedRequestLoggingMode(str, Enum):
120
109
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
121
110
 
122
111
  PAYLOAD = "payload"
@@ -178,7 +167,7 @@ class OutputCriblHTTPTimeoutRetrySettings(BaseModel):
178
167
  r"""The maximum backoff interval, in milliseconds, Cribl Stream should apply. Default (and minimum) is 10,000 ms (10 seconds); maximum is 180,000 ms (180 seconds)."""
179
168
 
180
169
 
181
- class OutputCriblHTTPBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
170
+ class OutputCriblHTTPBackpressureBehavior(str, Enum):
182
171
  r"""How to handle events when all receivers are exerting backpressure"""
183
172
 
184
173
  BLOCK = "block"
@@ -201,21 +190,21 @@ class OutputCriblHTTPURL(BaseModel):
201
190
  r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability"""
202
191
 
203
192
 
204
- class OutputCriblHTTPPqCompressCompression(str, Enum, metaclass=utils.OpenEnumMeta):
193
+ class OutputCriblHTTPPqCompressCompression(str, Enum):
205
194
  r"""Codec to use to compress the persisted data"""
206
195
 
207
196
  NONE = "none"
208
197
  GZIP = "gzip"
209
198
 
210
199
 
211
- class OutputCriblHTTPQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
200
+ class OutputCriblHTTPQueueFullBehavior(str, Enum):
212
201
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
213
202
 
214
203
  BLOCK = "block"
215
204
  DROP = "drop"
216
205
 
217
206
 
218
- class OutputCriblHTTPMode(str, Enum, metaclass=utils.OpenEnumMeta):
207
+ class OutputCriblHTTPMode(str, Enum):
219
208
  r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
220
209
 
221
210
  ERROR = "error"
@@ -346,9 +335,7 @@ class OutputCriblHTTP(BaseModel):
346
335
  ] = None
347
336
  r"""Fields to exclude from the event. By default, all internal fields except `__output` are sent. Example: `cribl_pipe`, `c*`. Wildcards supported."""
348
337
 
349
- compression: Annotated[
350
- Optional[OutputCriblHTTPCompression], PlainValidator(validate_open_enum(False))
351
- ] = OutputCriblHTTPCompression.GZIP
338
+ compression: Optional[OutputCriblHTTPCompression] = OutputCriblHTTPCompression.GZIP
352
339
  r"""Codec to use to compress the data before sending"""
353
340
 
354
341
  concurrency: Optional[float] = 5
@@ -387,10 +374,7 @@ class OutputCriblHTTP(BaseModel):
387
374
  r"""Headers to add to all events"""
388
375
 
389
376
  failed_request_logging_mode: Annotated[
390
- Annotated[
391
- Optional[OutputCriblHTTPFailedRequestLoggingMode],
392
- PlainValidator(validate_open_enum(False)),
393
- ],
377
+ Optional[OutputCriblHTTPFailedRequestLoggingMode],
394
378
  pydantic.Field(alias="failedRequestLoggingMode"),
395
379
  ] = OutputCriblHTTPFailedRequestLoggingMode.NONE
396
380
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
@@ -417,10 +401,7 @@ class OutputCriblHTTP(BaseModel):
417
401
  r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored."""
418
402
 
419
403
  on_backpressure: Annotated[
420
- Annotated[
421
- Optional[OutputCriblHTTPBackpressureBehavior],
422
- PlainValidator(validate_open_enum(False)),
423
- ],
404
+ Optional[OutputCriblHTTPBackpressureBehavior],
424
405
  pydantic.Field(alias="onBackpressure"),
425
406
  ] = OutputCriblHTTPBackpressureBehavior.BLOCK
426
407
  r"""How to handle events when all receivers are exerting backpressure"""
@@ -464,28 +445,19 @@ class OutputCriblHTTP(BaseModel):
464
445
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
465
446
 
466
447
  pq_compress: Annotated[
467
- Annotated[
468
- Optional[OutputCriblHTTPPqCompressCompression],
469
- PlainValidator(validate_open_enum(False)),
470
- ],
448
+ Optional[OutputCriblHTTPPqCompressCompression],
471
449
  pydantic.Field(alias="pqCompress"),
472
450
  ] = OutputCriblHTTPPqCompressCompression.NONE
473
451
  r"""Codec to use to compress the persisted data"""
474
452
 
475
453
  pq_on_backpressure: Annotated[
476
- Annotated[
477
- Optional[OutputCriblHTTPQueueFullBehavior],
478
- PlainValidator(validate_open_enum(False)),
479
- ],
454
+ Optional[OutputCriblHTTPQueueFullBehavior],
480
455
  pydantic.Field(alias="pqOnBackpressure"),
481
456
  ] = OutputCriblHTTPQueueFullBehavior.BLOCK
482
457
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
483
458
 
484
459
  pq_mode: Annotated[
485
- Annotated[
486
- Optional[OutputCriblHTTPMode], PlainValidator(validate_open_enum(False))
487
- ],
488
- pydantic.Field(alias="pqMode"),
460
+ Optional[OutputCriblHTTPMode], pydantic.Field(alias="pqMode")
489
461
  ] = OutputCriblHTTPMode.ERROR
490
462
  r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
491
463
 
@@ -1,12 +1,9 @@
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
5
4
  from cribl_control_plane.types import BaseModel
6
- from cribl_control_plane.utils import validate_open_enum
7
5
  from enum import Enum
8
6
  import pydantic
9
- from pydantic.functional_validators import PlainValidator
10
7
  from typing import List, Optional
11
8
  from typing_extensions import Annotated, NotRequired, TypedDict
12
9
 
@@ -15,14 +12,14 @@ class OutputCriblLakeType(str, Enum):
15
12
  CRIBL_LAKE = "cribl_lake"
16
13
 
17
14
 
18
- class OutputCriblLakeSignatureVersion(str, Enum, metaclass=utils.OpenEnumMeta):
15
+ class OutputCriblLakeSignatureVersion(str, Enum):
19
16
  r"""Signature version to use for signing S3 requests"""
20
17
 
21
18
  V2 = "v2"
22
19
  V4 = "v4"
23
20
 
24
21
 
25
- class OutputCriblLakeObjectACL(str, Enum, metaclass=utils.OpenEnumMeta):
22
+ class OutputCriblLakeObjectACL(str, Enum):
26
23
  r"""Object ACL to assign to uploaded objects"""
27
24
 
28
25
  PRIVATE = "private"
@@ -34,7 +31,7 @@ class OutputCriblLakeObjectACL(str, Enum, metaclass=utils.OpenEnumMeta):
34
31
  BUCKET_OWNER_FULL_CONTROL = "bucket-owner-full-control"
35
32
 
36
33
 
37
- class OutputCriblLakeStorageClass(str, Enum, metaclass=utils.OpenEnumMeta):
34
+ class OutputCriblLakeStorageClass(str, Enum):
38
35
  r"""Storage class to select for uploaded objects"""
39
36
 
40
37
  STANDARD = "STANDARD"
@@ -47,34 +44,32 @@ class OutputCriblLakeStorageClass(str, Enum, metaclass=utils.OpenEnumMeta):
47
44
  DEEP_ARCHIVE = "DEEP_ARCHIVE"
48
45
 
49
46
 
50
- class OutputCriblLakeServerSideEncryptionForUploadedObjects(
51
- str, Enum, metaclass=utils.OpenEnumMeta
52
- ):
47
+ class OutputCriblLakeServerSideEncryptionForUploadedObjects(str, Enum):
53
48
  AES256 = "AES256"
54
49
  AWS_KMS = "aws:kms"
55
50
 
56
51
 
57
- class OutputCriblLakeBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
52
+ class OutputCriblLakeBackpressureBehavior(str, Enum):
58
53
  r"""How to handle events when all receivers are exerting backpressure"""
59
54
 
60
55
  BLOCK = "block"
61
56
  DROP = "drop"
62
57
 
63
58
 
64
- class OutputCriblLakeDiskSpaceProtection(str, Enum, metaclass=utils.OpenEnumMeta):
59
+ class OutputCriblLakeDiskSpaceProtection(str, Enum):
65
60
  r"""How to handle events when disk space is below the global 'Min free disk space' limit"""
66
61
 
67
62
  BLOCK = "block"
68
63
  DROP = "drop"
69
64
 
70
65
 
71
- class AwsAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
66
+ class AwsAuthenticationMethod(str, Enum):
72
67
  AUTO = "auto"
73
68
  AUTO_RPC = "auto_rpc"
74
69
  MANUAL = "manual"
75
70
 
76
71
 
77
- class OutputCriblLakeFormat(str, Enum, metaclass=utils.OpenEnumMeta):
72
+ class OutputCriblLakeFormat(str, Enum):
78
73
  JSON = "json"
79
74
  PARQUET = "parquet"
80
75
  DDSS = "ddss"
@@ -205,10 +200,7 @@ class OutputCriblLake(BaseModel):
205
200
  r"""S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint."""
206
201
 
207
202
  signature_version: Annotated[
208
- Annotated[
209
- Optional[OutputCriblLakeSignatureVersion],
210
- PlainValidator(validate_open_enum(False)),
211
- ],
203
+ Optional[OutputCriblLakeSignatureVersion],
212
204
  pydantic.Field(alias="signatureVersion"),
213
205
  ] = OutputCriblLakeSignatureVersion.V4
214
206
  r"""Signature version to use for signing S3 requests"""
@@ -257,28 +249,17 @@ class OutputCriblLake(BaseModel):
257
249
  r"""Lake dataset to send the data to."""
258
250
 
259
251
  object_acl: Annotated[
260
- Annotated[
261
- Optional[OutputCriblLakeObjectACL],
262
- PlainValidator(validate_open_enum(False)),
263
- ],
264
- pydantic.Field(alias="objectACL"),
252
+ Optional[OutputCriblLakeObjectACL], pydantic.Field(alias="objectACL")
265
253
  ] = OutputCriblLakeObjectACL.PRIVATE
266
254
  r"""Object ACL to assign to uploaded objects"""
267
255
 
268
256
  storage_class: Annotated[
269
- Annotated[
270
- Optional[OutputCriblLakeStorageClass],
271
- PlainValidator(validate_open_enum(False)),
272
- ],
273
- pydantic.Field(alias="storageClass"),
257
+ Optional[OutputCriblLakeStorageClass], pydantic.Field(alias="storageClass")
274
258
  ] = None
275
259
  r"""Storage class to select for uploaded objects"""
276
260
 
277
261
  server_side_encryption: Annotated[
278
- Annotated[
279
- Optional[OutputCriblLakeServerSideEncryptionForUploadedObjects],
280
- PlainValidator(validate_open_enum(False)),
281
- ],
262
+ Optional[OutputCriblLakeServerSideEncryptionForUploadedObjects],
282
263
  pydantic.Field(alias="serverSideEncryption"),
283
264
  ] = None
284
265
 
@@ -319,10 +300,7 @@ class OutputCriblLake(BaseModel):
319
300
  r"""Buffer size used to write to a file"""
320
301
 
321
302
  on_backpressure: Annotated[
322
- Annotated[
323
- Optional[OutputCriblLakeBackpressureBehavior],
324
- PlainValidator(validate_open_enum(False)),
325
- ],
303
+ Optional[OutputCriblLakeBackpressureBehavior],
326
304
  pydantic.Field(alias="onBackpressure"),
327
305
  ] = OutputCriblLakeBackpressureBehavior.BLOCK
328
306
  r"""How to handle events when all receivers are exerting backpressure"""
@@ -333,10 +311,7 @@ class OutputCriblLake(BaseModel):
333
311
  r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors"""
334
312
 
335
313
  on_disk_full_backpressure: Annotated[
336
- Annotated[
337
- Optional[OutputCriblLakeDiskSpaceProtection],
338
- PlainValidator(validate_open_enum(False)),
339
- ],
314
+ Optional[OutputCriblLakeDiskSpaceProtection],
340
315
  pydantic.Field(alias="onDiskFullBackpressure"),
341
316
  ] = OutputCriblLakeDiskSpaceProtection.BLOCK
342
317
  r"""How to handle events when disk space is below the global 'Min free disk space' limit"""
@@ -362,17 +337,12 @@ class OutputCriblLake(BaseModel):
362
337
  r"""Maximum number of files that can be waiting for upload before backpressure is applied"""
363
338
 
364
339
  aws_authentication_method: Annotated[
365
- Annotated[
366
- Optional[AwsAuthenticationMethod], PlainValidator(validate_open_enum(False))
367
- ],
340
+ Optional[AwsAuthenticationMethod],
368
341
  pydantic.Field(alias="awsAuthenticationMethod"),
369
342
  ] = AwsAuthenticationMethod.AUTO
370
343
 
371
344
  format_: Annotated[
372
- Annotated[
373
- Optional[OutputCriblLakeFormat], PlainValidator(validate_open_enum(False))
374
- ],
375
- pydantic.Field(alias="format"),
345
+ Optional[OutputCriblLakeFormat], pydantic.Field(alias="format")
376
346
  ] = None
377
347
 
378
348
  max_concurrent_file_parts: Annotated[
@@ -1,12 +1,9 @@
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
5
4
  from cribl_control_plane.types import BaseModel
6
- from cribl_control_plane.utils import validate_open_enum
7
5
  from enum import Enum
8
6
  import pydantic
9
- from pydantic.functional_validators import PlainValidator
10
7
  from typing import List, Optional
11
8
  from typing_extensions import Annotated, NotRequired, TypedDict
12
9
 
@@ -15,21 +12,21 @@ class OutputCriblTCPType(str, Enum):
15
12
  CRIBL_TCP = "cribl_tcp"
16
13
 
17
14
 
18
- class OutputCriblTCPCompression(str, Enum, metaclass=utils.OpenEnumMeta):
15
+ class OutputCriblTCPCompression(str, Enum):
19
16
  r"""Codec to use to compress the data before sending"""
20
17
 
21
18
  NONE = "none"
22
19
  GZIP = "gzip"
23
20
 
24
21
 
25
- class OutputCriblTCPMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
22
+ class OutputCriblTCPMinimumTLSVersion(str, Enum):
26
23
  TL_SV1 = "TLSv1"
27
24
  TL_SV1_1 = "TLSv1.1"
28
25
  TL_SV1_2 = "TLSv1.2"
29
26
  TL_SV1_3 = "TLSv1.3"
30
27
 
31
28
 
32
- class OutputCriblTCPMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
29
+ class OutputCriblTCPMaximumTLSVersion(str, Enum):
33
30
  TL_SV1 = "TLSv1"
34
31
  TL_SV1_1 = "TLSv1.1"
35
32
  TL_SV1_2 = "TLSv1.2"
@@ -89,23 +86,15 @@ class OutputCriblTCPTLSSettingsClientSide(BaseModel):
89
86
  r"""Passphrase to use to decrypt private key"""
90
87
 
91
88
  min_version: Annotated[
92
- Annotated[
93
- Optional[OutputCriblTCPMinimumTLSVersion],
94
- PlainValidator(validate_open_enum(False)),
95
- ],
96
- pydantic.Field(alias="minVersion"),
89
+ Optional[OutputCriblTCPMinimumTLSVersion], pydantic.Field(alias="minVersion")
97
90
  ] = None
98
91
 
99
92
  max_version: Annotated[
100
- Annotated[
101
- Optional[OutputCriblTCPMaximumTLSVersion],
102
- PlainValidator(validate_open_enum(False)),
103
- ],
104
- pydantic.Field(alias="maxVersion"),
93
+ Optional[OutputCriblTCPMaximumTLSVersion], pydantic.Field(alias="maxVersion")
105
94
  ] = None
106
95
 
107
96
 
108
- class OutputCriblTCPBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
97
+ class OutputCriblTCPBackpressureBehavior(str, Enum):
109
98
  r"""How to handle events when all receivers are exerting backpressure"""
110
99
 
111
100
  BLOCK = "block"
@@ -113,7 +102,7 @@ class OutputCriblTCPBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta
113
102
  QUEUE = "queue"
114
103
 
115
104
 
116
- class OutputCriblTCPTLS(str, Enum, metaclass=utils.OpenEnumMeta):
105
+ class OutputCriblTCPTLS(str, Enum):
117
106
  r"""Whether to inherit TLS configs from group setting or disable TLS"""
118
107
 
119
108
  INHERIT = "inherit"
@@ -140,9 +129,7 @@ class OutputCriblTCPHost(BaseModel):
140
129
  port: Optional[float] = 10300
141
130
  r"""The port to connect to on the provided host"""
142
131
 
143
- tls: Annotated[
144
- Optional[OutputCriblTCPTLS], PlainValidator(validate_open_enum(False))
145
- ] = OutputCriblTCPTLS.INHERIT
132
+ tls: Optional[OutputCriblTCPTLS] = OutputCriblTCPTLS.INHERIT
146
133
  r"""Whether to inherit TLS configs from group setting or disable TLS"""
147
134
 
148
135
  servername: Optional[str] = None
@@ -152,21 +139,21 @@ class OutputCriblTCPHost(BaseModel):
152
139
  r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability"""
153
140
 
154
141
 
155
- class OutputCriblTCPPqCompressCompression(str, Enum, metaclass=utils.OpenEnumMeta):
142
+ class OutputCriblTCPPqCompressCompression(str, Enum):
156
143
  r"""Codec to use to compress the persisted data"""
157
144
 
158
145
  NONE = "none"
159
146
  GZIP = "gzip"
160
147
 
161
148
 
162
- class OutputCriblTCPQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
149
+ class OutputCriblTCPQueueFullBehavior(str, Enum):
163
150
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
164
151
 
165
152
  BLOCK = "block"
166
153
  DROP = "drop"
167
154
 
168
155
 
169
- class OutputCriblTCPMode(str, Enum, metaclass=utils.OpenEnumMeta):
156
+ class OutputCriblTCPMode(str, Enum):
170
157
  r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
171
158
 
172
159
  ERROR = "error"
@@ -268,9 +255,7 @@ class OutputCriblTCP(BaseModel):
268
255
  )
269
256
  r"""Use load-balanced destinations"""
270
257
 
271
- compression: Annotated[
272
- Optional[OutputCriblTCPCompression], PlainValidator(validate_open_enum(False))
273
- ] = OutputCriblTCPCompression.GZIP
258
+ compression: Optional[OutputCriblTCPCompression] = OutputCriblTCPCompression.GZIP
274
259
  r"""Codec to use to compress the data before sending"""
275
260
 
276
261
  log_failed_requests: Annotated[
@@ -306,10 +291,7 @@ class OutputCriblTCP(BaseModel):
306
291
  r"""Fields to exclude from the event. By default, all internal fields except `__output` are sent. Example: `cribl_pipe`, `c*`. Wildcards supported."""
307
292
 
308
293
  on_backpressure: Annotated[
309
- Annotated[
310
- Optional[OutputCriblTCPBackpressureBehavior],
311
- PlainValidator(validate_open_enum(False)),
312
- ],
294
+ Optional[OutputCriblTCPBackpressureBehavior],
313
295
  pydantic.Field(alias="onBackpressure"),
314
296
  ] = OutputCriblTCPBackpressureBehavior.BLOCK
315
297
  r"""How to handle events when all receivers are exerting backpressure"""
@@ -357,29 +339,20 @@ class OutputCriblTCP(BaseModel):
357
339
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
358
340
 
359
341
  pq_compress: Annotated[
360
- Annotated[
361
- Optional[OutputCriblTCPPqCompressCompression],
362
- PlainValidator(validate_open_enum(False)),
363
- ],
342
+ Optional[OutputCriblTCPPqCompressCompression],
364
343
  pydantic.Field(alias="pqCompress"),
365
344
  ] = OutputCriblTCPPqCompressCompression.NONE
366
345
  r"""Codec to use to compress the persisted data"""
367
346
 
368
347
  pq_on_backpressure: Annotated[
369
- Annotated[
370
- Optional[OutputCriblTCPQueueFullBehavior],
371
- PlainValidator(validate_open_enum(False)),
372
- ],
348
+ Optional[OutputCriblTCPQueueFullBehavior],
373
349
  pydantic.Field(alias="pqOnBackpressure"),
374
350
  ] = OutputCriblTCPQueueFullBehavior.BLOCK
375
351
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
376
352
 
377
- pq_mode: Annotated[
378
- Annotated[
379
- Optional[OutputCriblTCPMode], PlainValidator(validate_open_enum(False))
380
- ],
381
- pydantic.Field(alias="pqMode"),
382
- ] = OutputCriblTCPMode.ERROR
353
+ pq_mode: Annotated[Optional[OutputCriblTCPMode], pydantic.Field(alias="pqMode")] = (
354
+ OutputCriblTCPMode.ERROR
355
+ )
383
356
  r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
384
357
 
385
358
  pq_controls: Annotated[
@@ -1,12 +1,9 @@
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
5
4
  from cribl_control_plane.types import BaseModel
6
- from cribl_control_plane.utils import validate_open_enum
7
5
  from enum import Enum
8
6
  import pydantic
9
- from pydantic.functional_validators import PlainValidator
10
7
  from typing import List, Optional
11
8
  from typing_extensions import Annotated, NotRequired, TypedDict
12
9
 
@@ -26,9 +23,7 @@ class OutputCrowdstrikeNextGenSiemExtraHTTPHeader(BaseModel):
26
23
  name: Optional[str] = None
27
24
 
28
25
 
29
- class OutputCrowdstrikeNextGenSiemFailedRequestLoggingMode(
30
- str, Enum, metaclass=utils.OpenEnumMeta
31
- ):
26
+ class OutputCrowdstrikeNextGenSiemFailedRequestLoggingMode(str, Enum):
32
27
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
33
28
 
34
29
  PAYLOAD = "payload"
@@ -36,18 +31,14 @@ class OutputCrowdstrikeNextGenSiemFailedRequestLoggingMode(
36
31
  NONE = "none"
37
32
 
38
33
 
39
- class OutputCrowdstrikeNextGenSiemRequestFormat(
40
- str, Enum, metaclass=utils.OpenEnumMeta
41
- ):
34
+ class OutputCrowdstrikeNextGenSiemRequestFormat(str, Enum):
42
35
  r"""When set to JSON, the event is automatically formatted with required fields before sending. When set to Raw, only the event's `_raw` value is sent."""
43
36
 
44
37
  JSON = "JSON"
45
38
  RAW = "raw"
46
39
 
47
40
 
48
- class OutputCrowdstrikeNextGenSiemAuthenticationMethod(
49
- str, Enum, metaclass=utils.OpenEnumMeta
50
- ):
41
+ class OutputCrowdstrikeNextGenSiemAuthenticationMethod(str, Enum):
51
42
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
52
43
 
53
44
  MANUAL = "manual"
@@ -108,9 +99,7 @@ class OutputCrowdstrikeNextGenSiemTimeoutRetrySettings(BaseModel):
108
99
  r"""The maximum backoff interval, in milliseconds, Cribl Stream should apply. Default (and minimum) is 10,000 ms (10 seconds); maximum is 180,000 ms (180 seconds)."""
109
100
 
110
101
 
111
- class OutputCrowdstrikeNextGenSiemBackpressureBehavior(
112
- str, Enum, metaclass=utils.OpenEnumMeta
113
- ):
102
+ class OutputCrowdstrikeNextGenSiemBackpressureBehavior(str, Enum):
114
103
  r"""How to handle events when all receivers are exerting backpressure"""
115
104
 
116
105
  BLOCK = "block"
@@ -118,23 +107,21 @@ class OutputCrowdstrikeNextGenSiemBackpressureBehavior(
118
107
  QUEUE = "queue"
119
108
 
120
109
 
121
- class OutputCrowdstrikeNextGenSiemCompression(str, Enum, metaclass=utils.OpenEnumMeta):
110
+ class OutputCrowdstrikeNextGenSiemCompression(str, Enum):
122
111
  r"""Codec to use to compress the persisted data"""
123
112
 
124
113
  NONE = "none"
125
114
  GZIP = "gzip"
126
115
 
127
116
 
128
- class OutputCrowdstrikeNextGenSiemQueueFullBehavior(
129
- str, Enum, metaclass=utils.OpenEnumMeta
130
- ):
117
+ class OutputCrowdstrikeNextGenSiemQueueFullBehavior(str, Enum):
131
118
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
132
119
 
133
120
  BLOCK = "block"
134
121
  DROP = "drop"
135
122
 
136
123
 
137
- class OutputCrowdstrikeNextGenSiemMode(str, Enum, metaclass=utils.OpenEnumMeta):
124
+ class OutputCrowdstrikeNextGenSiemMode(str, Enum):
138
125
  r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
139
126
 
140
127
  ERROR = "error"
@@ -298,10 +285,7 @@ class OutputCrowdstrikeNextGenSiem(BaseModel):
298
285
  r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations."""
299
286
 
300
287
  failed_request_logging_mode: Annotated[
301
- Annotated[
302
- Optional[OutputCrowdstrikeNextGenSiemFailedRequestLoggingMode],
303
- PlainValidator(validate_open_enum(False)),
304
- ],
288
+ Optional[OutputCrowdstrikeNextGenSiemFailedRequestLoggingMode],
305
289
  pydantic.Field(alias="failedRequestLoggingMode"),
306
290
  ] = OutputCrowdstrikeNextGenSiemFailedRequestLoggingMode.NONE
307
291
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
@@ -312,19 +296,13 @@ class OutputCrowdstrikeNextGenSiem(BaseModel):
312
296
  r"""List of headers that are safe to log in plain text"""
313
297
 
314
298
  format_: Annotated[
315
- Annotated[
316
- Optional[OutputCrowdstrikeNextGenSiemRequestFormat],
317
- PlainValidator(validate_open_enum(False)),
318
- ],
299
+ Optional[OutputCrowdstrikeNextGenSiemRequestFormat],
319
300
  pydantic.Field(alias="format"),
320
301
  ] = OutputCrowdstrikeNextGenSiemRequestFormat.JSON
321
302
  r"""When set to JSON, the event is automatically formatted with required fields before sending. When set to Raw, only the event's `_raw` value is sent."""
322
303
 
323
304
  auth_type: Annotated[
324
- Annotated[
325
- Optional[OutputCrowdstrikeNextGenSiemAuthenticationMethod],
326
- PlainValidator(validate_open_enum(False)),
327
- ],
305
+ Optional[OutputCrowdstrikeNextGenSiemAuthenticationMethod],
328
306
  pydantic.Field(alias="authType"),
329
307
  ] = OutputCrowdstrikeNextGenSiemAuthenticationMethod.MANUAL
330
308
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
@@ -346,10 +324,7 @@ class OutputCrowdstrikeNextGenSiem(BaseModel):
346
324
  r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored."""
347
325
 
348
326
  on_backpressure: Annotated[
349
- Annotated[
350
- Optional[OutputCrowdstrikeNextGenSiemBackpressureBehavior],
351
- PlainValidator(validate_open_enum(False)),
352
- ],
327
+ Optional[OutputCrowdstrikeNextGenSiemBackpressureBehavior],
353
328
  pydantic.Field(alias="onBackpressure"),
354
329
  ] = OutputCrowdstrikeNextGenSiemBackpressureBehavior.BLOCK
355
330
  r"""How to handle events when all receivers are exerting backpressure"""
@@ -375,29 +350,19 @@ class OutputCrowdstrikeNextGenSiem(BaseModel):
375
350
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
376
351
 
377
352
  pq_compress: Annotated[
378
- Annotated[
379
- Optional[OutputCrowdstrikeNextGenSiemCompression],
380
- PlainValidator(validate_open_enum(False)),
381
- ],
353
+ Optional[OutputCrowdstrikeNextGenSiemCompression],
382
354
  pydantic.Field(alias="pqCompress"),
383
355
  ] = OutputCrowdstrikeNextGenSiemCompression.NONE
384
356
  r"""Codec to use to compress the persisted data"""
385
357
 
386
358
  pq_on_backpressure: Annotated[
387
- Annotated[
388
- Optional[OutputCrowdstrikeNextGenSiemQueueFullBehavior],
389
- PlainValidator(validate_open_enum(False)),
390
- ],
359
+ Optional[OutputCrowdstrikeNextGenSiemQueueFullBehavior],
391
360
  pydantic.Field(alias="pqOnBackpressure"),
392
361
  ] = OutputCrowdstrikeNextGenSiemQueueFullBehavior.BLOCK
393
362
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
394
363
 
395
364
  pq_mode: Annotated[
396
- Annotated[
397
- Optional[OutputCrowdstrikeNextGenSiemMode],
398
- PlainValidator(validate_open_enum(False)),
399
- ],
400
- pydantic.Field(alias="pqMode"),
365
+ Optional[OutputCrowdstrikeNextGenSiemMode], pydantic.Field(alias="pqMode")
401
366
  ] = OutputCrowdstrikeNextGenSiemMode.ERROR
402
367
  r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
403
368