cribl-control-plane 0.0.16__py3-none-any.whl → 0.0.17__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 (133) hide show
  1. cribl_control_plane/_version.py +3 -3
  2. cribl_control_plane/errors/healthstatus_error.py +2 -8
  3. cribl_control_plane/models/__init__.py +4124 -4124
  4. cribl_control_plane/models/createinputop.py +1734 -2771
  5. cribl_control_plane/models/createoutputop.py +2153 -4314
  6. cribl_control_plane/models/healthstatus.py +4 -7
  7. cribl_control_plane/models/inputappscope.py +16 -36
  8. cribl_control_plane/models/inputazureblob.py +8 -19
  9. cribl_control_plane/models/inputcollection.py +6 -15
  10. cribl_control_plane/models/inputconfluentcloud.py +20 -45
  11. cribl_control_plane/models/inputcribl.py +6 -13
  12. cribl_control_plane/models/inputcriblhttp.py +10 -27
  13. cribl_control_plane/models/inputcribllakehttp.py +12 -26
  14. cribl_control_plane/models/inputcriblmetrics.py +6 -14
  15. cribl_control_plane/models/inputcribltcp.py +10 -27
  16. cribl_control_plane/models/inputcrowdstrike.py +12 -28
  17. cribl_control_plane/models/inputdatadogagent.py +10 -28
  18. cribl_control_plane/models/inputdatagen.py +6 -13
  19. cribl_control_plane/models/inputedgeprometheus.py +31 -64
  20. cribl_control_plane/models/inputelastic.py +16 -44
  21. cribl_control_plane/models/inputeventhub.py +8 -19
  22. cribl_control_plane/models/inputexec.py +8 -16
  23. cribl_control_plane/models/inputfile.py +8 -17
  24. cribl_control_plane/models/inputfirehose.py +10 -27
  25. cribl_control_plane/models/inputgooglepubsub.py +8 -23
  26. cribl_control_plane/models/inputgrafana_union.py +35 -81
  27. cribl_control_plane/models/inputhttp.py +10 -27
  28. cribl_control_plane/models/inputhttpraw.py +10 -27
  29. cribl_control_plane/models/inputjournalfiles.py +6 -16
  30. cribl_control_plane/models/inputkafka.py +16 -45
  31. cribl_control_plane/models/inputkinesis.py +16 -42
  32. cribl_control_plane/models/inputkubeevents.py +6 -13
  33. cribl_control_plane/models/inputkubelogs.py +10 -18
  34. cribl_control_plane/models/inputkubemetrics.py +10 -18
  35. cribl_control_plane/models/inputloki.py +12 -33
  36. cribl_control_plane/models/inputmetrics.py +10 -25
  37. cribl_control_plane/models/inputmodeldriventelemetry.py +12 -32
  38. cribl_control_plane/models/inputmsk.py +18 -52
  39. cribl_control_plane/models/inputnetflow.py +6 -15
  40. cribl_control_plane/models/inputoffice365mgmt.py +16 -37
  41. cribl_control_plane/models/inputoffice365msgtrace.py +18 -39
  42. cribl_control_plane/models/inputoffice365service.py +18 -39
  43. cribl_control_plane/models/inputopentelemetry.py +18 -42
  44. cribl_control_plane/models/inputprometheus.py +20 -54
  45. cribl_control_plane/models/inputprometheusrw.py +12 -34
  46. cribl_control_plane/models/inputrawudp.py +6 -15
  47. cribl_control_plane/models/inputs3.py +10 -23
  48. cribl_control_plane/models/inputs3inventory.py +12 -28
  49. cribl_control_plane/models/inputsecuritylake.py +12 -29
  50. cribl_control_plane/models/inputsnmp.py +8 -20
  51. cribl_control_plane/models/inputsplunk.py +14 -37
  52. cribl_control_plane/models/inputsplunkhec.py +12 -33
  53. cribl_control_plane/models/inputsplunksearch.py +16 -37
  54. cribl_control_plane/models/inputsqs.py +12 -31
  55. cribl_control_plane/models/inputsyslog_union.py +29 -53
  56. cribl_control_plane/models/inputsystemmetrics.py +26 -50
  57. cribl_control_plane/models/inputsystemstate.py +10 -18
  58. cribl_control_plane/models/inputtcp.py +12 -33
  59. cribl_control_plane/models/inputtcpjson.py +12 -33
  60. cribl_control_plane/models/inputwef.py +20 -45
  61. cribl_control_plane/models/inputwindowsmetrics.py +26 -46
  62. cribl_control_plane/models/inputwineventlogs.py +12 -22
  63. cribl_control_plane/models/inputwiz.py +10 -25
  64. cribl_control_plane/models/inputzscalerhec.py +12 -33
  65. cribl_control_plane/models/output.py +3 -6
  66. cribl_control_plane/models/outputazureblob.py +20 -52
  67. cribl_control_plane/models/outputazuredataexplorer.py +30 -77
  68. cribl_control_plane/models/outputazureeventhub.py +20 -44
  69. cribl_control_plane/models/outputazurelogs.py +14 -37
  70. cribl_control_plane/models/outputclickhouse.py +22 -59
  71. cribl_control_plane/models/outputcloudwatch.py +12 -33
  72. cribl_control_plane/models/outputconfluentcloud.py +32 -75
  73. cribl_control_plane/models/outputcriblhttp.py +18 -46
  74. cribl_control_plane/models/outputcribllake.py +18 -48
  75. cribl_control_plane/models/outputcribltcp.py +20 -47
  76. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +16 -54
  77. cribl_control_plane/models/outputdatadog.py +22 -50
  78. cribl_control_plane/models/outputdataset.py +20 -48
  79. cribl_control_plane/models/outputdefault.py +2 -5
  80. cribl_control_plane/models/outputdevnull.py +2 -5
  81. cribl_control_plane/models/outputdiskspool.py +4 -9
  82. cribl_control_plane/models/outputdls3.py +26 -72
  83. cribl_control_plane/models/outputdynatracehttp.py +22 -57
  84. cribl_control_plane/models/outputdynatraceotlp.py +24 -59
  85. cribl_control_plane/models/outputelastic.py +20 -45
  86. cribl_control_plane/models/outputelasticcloud.py +14 -40
  87. cribl_control_plane/models/outputexabeam.py +12 -33
  88. cribl_control_plane/models/outputfilesystem.py +16 -41
  89. cribl_control_plane/models/outputgooglechronicle.py +18 -54
  90. cribl_control_plane/models/outputgooglecloudlogging.py +16 -46
  91. cribl_control_plane/models/outputgooglecloudstorage.py +26 -71
  92. cribl_control_plane/models/outputgooglepubsub.py +16 -39
  93. cribl_control_plane/models/{outputgrafanacloud_union.py → outputgrafanacloud.py} +49 -110
  94. cribl_control_plane/models/outputgraphite.py +16 -35
  95. cribl_control_plane/models/outputhoneycomb.py +14 -37
  96. cribl_control_plane/models/outputhumiohec.py +18 -47
  97. cribl_control_plane/models/outputinfluxdb.py +18 -44
  98. cribl_control_plane/models/outputkafka.py +28 -73
  99. cribl_control_plane/models/outputkinesis.py +18 -44
  100. cribl_control_plane/models/outputloki.py +18 -43
  101. cribl_control_plane/models/outputminio.py +26 -69
  102. cribl_control_plane/models/outputmsk.py +30 -81
  103. cribl_control_plane/models/outputnetflow.py +2 -5
  104. cribl_control_plane/models/outputnewrelic.py +20 -45
  105. cribl_control_plane/models/outputnewrelicevents.py +16 -45
  106. cribl_control_plane/models/outputopentelemetry.py +28 -69
  107. cribl_control_plane/models/outputprometheus.py +14 -37
  108. cribl_control_plane/models/outputring.py +10 -21
  109. cribl_control_plane/models/outputrouter.py +2 -5
  110. cribl_control_plane/models/outputs3.py +28 -72
  111. cribl_control_plane/models/outputsecuritylake.py +20 -56
  112. cribl_control_plane/models/outputsentinel.py +20 -49
  113. cribl_control_plane/models/outputsentineloneaisiem.py +20 -54
  114. cribl_control_plane/models/outputservicenow.py +26 -64
  115. cribl_control_plane/models/outputsignalfx.py +16 -39
  116. cribl_control_plane/models/outputsnmp.py +2 -5
  117. cribl_control_plane/models/outputsns.py +16 -40
  118. cribl_control_plane/models/outputsplunk.py +26 -64
  119. cribl_control_plane/models/outputsplunkhec.py +14 -37
  120. cribl_control_plane/models/outputsplunklb.py +36 -83
  121. cribl_control_plane/models/outputsqs.py +18 -45
  122. cribl_control_plane/models/outputstatsd.py +16 -34
  123. cribl_control_plane/models/outputstatsdext.py +14 -33
  124. cribl_control_plane/models/outputsumologic.py +14 -37
  125. cribl_control_plane/models/outputsyslog.py +26 -60
  126. cribl_control_plane/models/outputtcpjson.py +22 -54
  127. cribl_control_plane/models/outputwavefront.py +14 -37
  128. cribl_control_plane/models/outputwebhook.py +24 -60
  129. cribl_control_plane/models/outputxsiam.py +16 -37
  130. {cribl_control_plane-0.0.16.dist-info → cribl_control_plane-0.0.17.dist-info}/METADATA +1 -1
  131. cribl_control_plane-0.0.17.dist-info/RECORD +215 -0
  132. cribl_control_plane-0.0.16.dist-info/RECORD +0 -215
  133. {cribl_control_plane-0.0.16.dist-info → cribl_control_plane-0.0.17.dist-info}/WHEEL +0 -0
@@ -1,28 +1,25 @@
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
 
13
10
 
14
- class OutputCriblHTTPType(str, Enum, metaclass=utils.OpenEnumMeta):
11
+ 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"
@@ -313,7 +302,7 @@ class OutputCriblHTTP(BaseModel):
313
302
  id: str
314
303
  r"""Unique ID for this output"""
315
304
 
316
- type: Annotated[OutputCriblHTTPType, PlainValidator(validate_open_enum(False))]
305
+ type: OutputCriblHTTPType
317
306
 
318
307
  pipeline: Optional[str] = None
319
308
  r"""Pipeline to process data before sending out to this output"""
@@ -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,28 +1,25 @@
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
 
13
10
 
14
- class OutputCriblLakeType(str, Enum, metaclass=utils.OpenEnumMeta):
11
+ 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"
@@ -174,7 +169,7 @@ class OutputCriblLake(BaseModel):
174
169
  id: str
175
170
  r"""Unique ID for this output"""
176
171
 
177
- type: Annotated[OutputCriblLakeType, PlainValidator(validate_open_enum(False))]
172
+ type: OutputCriblLakeType
178
173
 
179
174
  pipeline: Optional[str] = None
180
175
  r"""Pipeline to process data before sending out to this output"""
@@ -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,35 +1,32 @@
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
 
13
10
 
14
- class OutputCriblTCPType(str, Enum, metaclass=utils.OpenEnumMeta):
11
+ 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"
@@ -247,7 +234,7 @@ class OutputCriblTCP(BaseModel):
247
234
  id: str
248
235
  r"""Unique ID for this output"""
249
236
 
250
- type: Annotated[OutputCriblTCPType, PlainValidator(validate_open_enum(False))]
237
+ type: OutputCriblTCPType
251
238
 
252
239
  pipeline: Optional[str] = None
253
240
  r"""Pipeline to process data before sending out to this output"""
@@ -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[