cribl-control-plane 0.0.16__py3-none-any.whl → 0.0.18__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 (156) 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 +4365 -4124
  4. cribl_control_plane/models/createinputop.py +1734 -2771
  5. cribl_control_plane/models/createoutputop.py +2153 -4314
  6. cribl_control_plane/models/createversioncommitop.py +24 -0
  7. cribl_control_plane/models/createversionpushop.py +23 -0
  8. cribl_control_plane/models/createversionrevertop.py +47 -0
  9. cribl_control_plane/models/createversionsyncop.py +23 -0
  10. cribl_control_plane/models/createversionundoop.py +37 -0
  11. cribl_control_plane/models/getversionbranchop.py +23 -0
  12. cribl_control_plane/models/getversioncountop.py +47 -0
  13. cribl_control_plane/models/getversioncurrentbranchop.py +23 -0
  14. cribl_control_plane/models/getversiondiffop.py +63 -0
  15. cribl_control_plane/models/getversionfilesop.py +48 -0
  16. cribl_control_plane/models/getversioninfoop.py +24 -0
  17. cribl_control_plane/models/getversionshowop.py +63 -0
  18. cribl_control_plane/models/getversionstatusop.py +38 -0
  19. cribl_control_plane/models/gitcommitparams.py +23 -0
  20. cribl_control_plane/models/gitcommitsummary.py +68 -0
  21. cribl_control_plane/models/gitfile.py +20 -0
  22. cribl_control_plane/models/gitfilesresponse.py +22 -0
  23. cribl_control_plane/models/gitinfo.py +23 -0
  24. cribl_control_plane/models/gitrevertparams.py +20 -0
  25. cribl_control_plane/models/gitrevertresult.py +48 -0
  26. cribl_control_plane/models/gitstatusresult.py +73 -0
  27. cribl_control_plane/models/healthstatus.py +4 -7
  28. cribl_control_plane/models/inputappscope.py +16 -36
  29. cribl_control_plane/models/inputazureblob.py +8 -19
  30. cribl_control_plane/models/inputcollection.py +6 -15
  31. cribl_control_plane/models/inputconfluentcloud.py +20 -45
  32. cribl_control_plane/models/inputcribl.py +6 -13
  33. cribl_control_plane/models/inputcriblhttp.py +10 -27
  34. cribl_control_plane/models/inputcribllakehttp.py +12 -26
  35. cribl_control_plane/models/inputcriblmetrics.py +6 -14
  36. cribl_control_plane/models/inputcribltcp.py +10 -27
  37. cribl_control_plane/models/inputcrowdstrike.py +12 -28
  38. cribl_control_plane/models/inputdatadogagent.py +10 -28
  39. cribl_control_plane/models/inputdatagen.py +6 -13
  40. cribl_control_plane/models/inputedgeprometheus.py +31 -64
  41. cribl_control_plane/models/inputelastic.py +16 -44
  42. cribl_control_plane/models/inputeventhub.py +8 -19
  43. cribl_control_plane/models/inputexec.py +8 -16
  44. cribl_control_plane/models/inputfile.py +8 -17
  45. cribl_control_plane/models/inputfirehose.py +10 -27
  46. cribl_control_plane/models/inputgooglepubsub.py +8 -23
  47. cribl_control_plane/models/inputgrafana_union.py +35 -81
  48. cribl_control_plane/models/inputhttp.py +10 -27
  49. cribl_control_plane/models/inputhttpraw.py +10 -27
  50. cribl_control_plane/models/inputjournalfiles.py +6 -16
  51. cribl_control_plane/models/inputkafka.py +16 -45
  52. cribl_control_plane/models/inputkinesis.py +16 -42
  53. cribl_control_plane/models/inputkubeevents.py +6 -13
  54. cribl_control_plane/models/inputkubelogs.py +10 -18
  55. cribl_control_plane/models/inputkubemetrics.py +10 -18
  56. cribl_control_plane/models/inputloki.py +12 -33
  57. cribl_control_plane/models/inputmetrics.py +10 -25
  58. cribl_control_plane/models/inputmodeldriventelemetry.py +12 -32
  59. cribl_control_plane/models/inputmsk.py +18 -52
  60. cribl_control_plane/models/inputnetflow.py +6 -15
  61. cribl_control_plane/models/inputoffice365mgmt.py +16 -37
  62. cribl_control_plane/models/inputoffice365msgtrace.py +18 -39
  63. cribl_control_plane/models/inputoffice365service.py +18 -39
  64. cribl_control_plane/models/inputopentelemetry.py +18 -42
  65. cribl_control_plane/models/inputprometheus.py +20 -54
  66. cribl_control_plane/models/inputprometheusrw.py +12 -34
  67. cribl_control_plane/models/inputrawudp.py +6 -15
  68. cribl_control_plane/models/inputs3.py +10 -23
  69. cribl_control_plane/models/inputs3inventory.py +12 -28
  70. cribl_control_plane/models/inputsecuritylake.py +12 -29
  71. cribl_control_plane/models/inputsnmp.py +8 -20
  72. cribl_control_plane/models/inputsplunk.py +14 -37
  73. cribl_control_plane/models/inputsplunkhec.py +12 -33
  74. cribl_control_plane/models/inputsplunksearch.py +16 -37
  75. cribl_control_plane/models/inputsqs.py +12 -31
  76. cribl_control_plane/models/inputsyslog_union.py +29 -53
  77. cribl_control_plane/models/inputsystemmetrics.py +26 -50
  78. cribl_control_plane/models/inputsystemstate.py +10 -18
  79. cribl_control_plane/models/inputtcp.py +12 -33
  80. cribl_control_plane/models/inputtcpjson.py +12 -33
  81. cribl_control_plane/models/inputwef.py +20 -45
  82. cribl_control_plane/models/inputwindowsmetrics.py +26 -46
  83. cribl_control_plane/models/inputwineventlogs.py +12 -22
  84. cribl_control_plane/models/inputwiz.py +10 -25
  85. cribl_control_plane/models/inputzscalerhec.py +12 -33
  86. cribl_control_plane/models/output.py +3 -6
  87. cribl_control_plane/models/outputazureblob.py +20 -52
  88. cribl_control_plane/models/outputazuredataexplorer.py +30 -77
  89. cribl_control_plane/models/outputazureeventhub.py +20 -44
  90. cribl_control_plane/models/outputazurelogs.py +14 -37
  91. cribl_control_plane/models/outputclickhouse.py +22 -59
  92. cribl_control_plane/models/outputcloudwatch.py +12 -33
  93. cribl_control_plane/models/outputconfluentcloud.py +32 -75
  94. cribl_control_plane/models/outputcriblhttp.py +18 -46
  95. cribl_control_plane/models/outputcribllake.py +18 -48
  96. cribl_control_plane/models/outputcribltcp.py +20 -47
  97. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +16 -54
  98. cribl_control_plane/models/outputdatadog.py +22 -50
  99. cribl_control_plane/models/outputdataset.py +20 -48
  100. cribl_control_plane/models/outputdefault.py +2 -5
  101. cribl_control_plane/models/outputdevnull.py +2 -5
  102. cribl_control_plane/models/outputdiskspool.py +4 -9
  103. cribl_control_plane/models/outputdls3.py +26 -72
  104. cribl_control_plane/models/outputdynatracehttp.py +22 -57
  105. cribl_control_plane/models/outputdynatraceotlp.py +24 -59
  106. cribl_control_plane/models/outputelastic.py +20 -45
  107. cribl_control_plane/models/outputelasticcloud.py +14 -40
  108. cribl_control_plane/models/outputexabeam.py +12 -33
  109. cribl_control_plane/models/outputfilesystem.py +16 -41
  110. cribl_control_plane/models/outputgooglechronicle.py +18 -54
  111. cribl_control_plane/models/outputgooglecloudlogging.py +16 -46
  112. cribl_control_plane/models/outputgooglecloudstorage.py +26 -71
  113. cribl_control_plane/models/outputgooglepubsub.py +16 -39
  114. cribl_control_plane/models/{outputgrafanacloud_union.py → outputgrafanacloud.py} +49 -110
  115. cribl_control_plane/models/outputgraphite.py +16 -35
  116. cribl_control_plane/models/outputhoneycomb.py +14 -37
  117. cribl_control_plane/models/outputhumiohec.py +18 -47
  118. cribl_control_plane/models/outputinfluxdb.py +18 -44
  119. cribl_control_plane/models/outputkafka.py +28 -73
  120. cribl_control_plane/models/outputkinesis.py +18 -44
  121. cribl_control_plane/models/outputloki.py +18 -43
  122. cribl_control_plane/models/outputminio.py +26 -69
  123. cribl_control_plane/models/outputmsk.py +30 -81
  124. cribl_control_plane/models/outputnetflow.py +2 -5
  125. cribl_control_plane/models/outputnewrelic.py +20 -45
  126. cribl_control_plane/models/outputnewrelicevents.py +16 -45
  127. cribl_control_plane/models/outputopentelemetry.py +28 -69
  128. cribl_control_plane/models/outputprometheus.py +14 -37
  129. cribl_control_plane/models/outputring.py +10 -21
  130. cribl_control_plane/models/outputrouter.py +2 -5
  131. cribl_control_plane/models/outputs3.py +28 -72
  132. cribl_control_plane/models/outputsecuritylake.py +20 -56
  133. cribl_control_plane/models/outputsentinel.py +20 -49
  134. cribl_control_plane/models/outputsentineloneaisiem.py +20 -54
  135. cribl_control_plane/models/outputservicenow.py +26 -64
  136. cribl_control_plane/models/outputsignalfx.py +16 -39
  137. cribl_control_plane/models/outputsnmp.py +2 -5
  138. cribl_control_plane/models/outputsns.py +16 -40
  139. cribl_control_plane/models/outputsplunk.py +26 -64
  140. cribl_control_plane/models/outputsplunkhec.py +14 -37
  141. cribl_control_plane/models/outputsplunklb.py +36 -83
  142. cribl_control_plane/models/outputsqs.py +18 -45
  143. cribl_control_plane/models/outputstatsd.py +16 -34
  144. cribl_control_plane/models/outputstatsdext.py +14 -33
  145. cribl_control_plane/models/outputsumologic.py +14 -37
  146. cribl_control_plane/models/outputsyslog.py +26 -60
  147. cribl_control_plane/models/outputtcpjson.py +22 -54
  148. cribl_control_plane/models/outputwavefront.py +14 -37
  149. cribl_control_plane/models/outputwebhook.py +24 -60
  150. cribl_control_plane/models/outputxsiam.py +16 -37
  151. cribl_control_plane/sdk.py +4 -0
  152. cribl_control_plane/versioning.py +2309 -0
  153. {cribl_control_plane-0.0.16.dist-info → cribl_control_plane-0.0.18.dist-info}/METADATA +18 -2
  154. cribl_control_plane-0.0.18.dist-info/RECORD +237 -0
  155. cribl_control_plane-0.0.16.dist-info/RECORD +0 -215
  156. {cribl_control_plane-0.0.16.dist-info → cribl_control_plane-0.0.18.dist-info}/WHEEL +0 -0
@@ -1,21 +1,18 @@
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 OutputDatasetType(str, Enum, metaclass=utils.OpenEnumMeta):
11
+ class OutputDatasetType(str, Enum):
15
12
  DATASET = "dataset"
16
13
 
17
14
 
18
- class OutputDatasetSeverity(str, Enum, metaclass=utils.OpenEnumMeta):
15
+ class OutputDatasetSeverity(str, Enum):
19
16
  r"""Default value for event severity. If the `sev` or `__severity` fields are set on an event, the first one matching will override this value."""
20
17
 
21
18
  FINEST = "finest"
@@ -81,7 +78,7 @@ class OutputDatasetTimeoutRetrySettings(BaseModel):
81
78
  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)."""
82
79
 
83
80
 
84
- class DataSetSite(str, Enum, metaclass=utils.OpenEnumMeta):
81
+ class DataSetSite(str, Enum):
85
82
  r"""DataSet site to which events should be sent"""
86
83
 
87
84
  US = "us"
@@ -100,7 +97,7 @@ class OutputDatasetExtraHTTPHeader(BaseModel):
100
97
  name: Optional[str] = None
101
98
 
102
99
 
103
- class OutputDatasetFailedRequestLoggingMode(str, Enum, metaclass=utils.OpenEnumMeta):
100
+ class OutputDatasetFailedRequestLoggingMode(str, Enum):
104
101
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
105
102
 
106
103
  PAYLOAD = "payload"
@@ -108,7 +105,7 @@ class OutputDatasetFailedRequestLoggingMode(str, Enum, metaclass=utils.OpenEnumM
108
105
  NONE = "none"
109
106
 
110
107
 
111
- class OutputDatasetBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
108
+ class OutputDatasetBackpressureBehavior(str, Enum):
112
109
  r"""How to handle events when all receivers are exerting backpressure"""
113
110
 
114
111
  BLOCK = "block"
@@ -116,28 +113,28 @@ class OutputDatasetBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta)
116
113
  QUEUE = "queue"
117
114
 
118
115
 
119
- class OutputDatasetAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
116
+ class OutputDatasetAuthenticationMethod(str, Enum):
120
117
  r"""Enter API key directly, or select a stored secret"""
121
118
 
122
119
  MANUAL = "manual"
123
120
  SECRET = "secret"
124
121
 
125
122
 
126
- class OutputDatasetCompression(str, Enum, metaclass=utils.OpenEnumMeta):
123
+ class OutputDatasetCompression(str, Enum):
127
124
  r"""Codec to use to compress the persisted data"""
128
125
 
129
126
  NONE = "none"
130
127
  GZIP = "gzip"
131
128
 
132
129
 
133
- class OutputDatasetQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
130
+ class OutputDatasetQueueFullBehavior(str, Enum):
134
131
  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."""
135
132
 
136
133
  BLOCK = "block"
137
134
  DROP = "drop"
138
135
 
139
136
 
140
- class OutputDatasetMode(str, Enum, metaclass=utils.OpenEnumMeta):
137
+ class OutputDatasetMode(str, Enum):
141
138
  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."""
142
139
 
143
140
  ERROR = "error"
@@ -240,7 +237,7 @@ class OutputDataset(BaseModel):
240
237
  id: str
241
238
  r"""Unique ID for this output"""
242
239
 
243
- type: Annotated[OutputDatasetType, PlainValidator(validate_open_enum(False))]
240
+ type: OutputDatasetType
244
241
 
245
242
  pipeline: Optional[str] = None
246
243
  r"""Pipeline to process data before sending out to this output"""
@@ -275,10 +272,7 @@ class OutputDataset(BaseModel):
275
272
  r"""Name of the event field that contains the timestamp. If not specified, defaults to `ts`, `_time`, or `Date.now()`, in that order."""
276
273
 
277
274
  default_severity: Annotated[
278
- Annotated[
279
- Optional[OutputDatasetSeverity], PlainValidator(validate_open_enum(False))
280
- ],
281
- pydantic.Field(alias="defaultSeverity"),
275
+ Optional[OutputDatasetSeverity], pydantic.Field(alias="defaultSeverity")
282
276
  ] = OutputDatasetSeverity.INFO
283
277
  r"""Default value for event severity. If the `sev` or `__severity` fields are set on an event, the first one matching will override this value."""
284
278
 
@@ -298,9 +292,7 @@ class OutputDataset(BaseModel):
298
292
  ] = False
299
293
  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."""
300
294
 
301
- site: Annotated[
302
- Optional[DataSetSite], PlainValidator(validate_open_enum(False))
303
- ] = DataSetSite.US
295
+ site: Optional[DataSetSite] = DataSetSite.US
304
296
  r"""DataSet site to which events should be sent"""
305
297
 
306
298
  concurrency: Optional[float] = 5
@@ -347,10 +339,7 @@ class OutputDataset(BaseModel):
347
339
  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."""
348
340
 
349
341
  failed_request_logging_mode: Annotated[
350
- Annotated[
351
- Optional[OutputDatasetFailedRequestLoggingMode],
352
- PlainValidator(validate_open_enum(False)),
353
- ],
342
+ Optional[OutputDatasetFailedRequestLoggingMode],
354
343
  pydantic.Field(alias="failedRequestLoggingMode"),
355
344
  ] = OutputDatasetFailedRequestLoggingMode.NONE
356
345
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
@@ -361,20 +350,13 @@ class OutputDataset(BaseModel):
361
350
  r"""List of headers that are safe to log in plain text"""
362
351
 
363
352
  on_backpressure: Annotated[
364
- Annotated[
365
- Optional[OutputDatasetBackpressureBehavior],
366
- PlainValidator(validate_open_enum(False)),
367
- ],
353
+ Optional[OutputDatasetBackpressureBehavior],
368
354
  pydantic.Field(alias="onBackpressure"),
369
355
  ] = OutputDatasetBackpressureBehavior.BLOCK
370
356
  r"""How to handle events when all receivers are exerting backpressure"""
371
357
 
372
358
  auth_type: Annotated[
373
- Annotated[
374
- Optional[OutputDatasetAuthenticationMethod],
375
- PlainValidator(validate_open_enum(False)),
376
- ],
377
- pydantic.Field(alias="authType"),
359
+ Optional[OutputDatasetAuthenticationMethod], pydantic.Field(alias="authType")
378
360
  ] = OutputDatasetAuthenticationMethod.MANUAL
379
361
  r"""Enter API key directly, or select a stored secret"""
380
362
 
@@ -401,29 +383,19 @@ class OutputDataset(BaseModel):
401
383
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
402
384
 
403
385
  pq_compress: Annotated[
404
- Annotated[
405
- Optional[OutputDatasetCompression],
406
- PlainValidator(validate_open_enum(False)),
407
- ],
408
- pydantic.Field(alias="pqCompress"),
386
+ Optional[OutputDatasetCompression], pydantic.Field(alias="pqCompress")
409
387
  ] = OutputDatasetCompression.NONE
410
388
  r"""Codec to use to compress the persisted data"""
411
389
 
412
390
  pq_on_backpressure: Annotated[
413
- Annotated[
414
- Optional[OutputDatasetQueueFullBehavior],
415
- PlainValidator(validate_open_enum(False)),
416
- ],
391
+ Optional[OutputDatasetQueueFullBehavior],
417
392
  pydantic.Field(alias="pqOnBackpressure"),
418
393
  ] = OutputDatasetQueueFullBehavior.BLOCK
419
394
  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."""
420
395
 
421
- pq_mode: Annotated[
422
- Annotated[
423
- Optional[OutputDatasetMode], PlainValidator(validate_open_enum(False))
424
- ],
425
- pydantic.Field(alias="pqMode"),
426
- ] = OutputDatasetMode.ERROR
396
+ pq_mode: Annotated[Optional[OutputDatasetMode], pydantic.Field(alias="pqMode")] = (
397
+ OutputDatasetMode.ERROR
398
+ )
427
399
  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."""
428
400
 
429
401
  pq_controls: Annotated[
@@ -1,17 +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
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 OutputDefaultType(str, Enum, metaclass=utils.OpenEnumMeta):
11
+ class OutputDefaultType(str, Enum):
15
12
  DEFAULT = "default"
16
13
 
17
14
 
@@ -32,7 +29,7 @@ class OutputDefaultTypedDict(TypedDict):
32
29
 
33
30
 
34
31
  class OutputDefault(BaseModel):
35
- type: Annotated[OutputDefaultType, PlainValidator(validate_open_enum(False))]
32
+ type: OutputDefaultType
36
33
 
37
34
  default_id: Annotated[str, pydantic.Field(alias="defaultId")]
38
35
  r"""ID of the default output. This will be used whenever a nonexistent/deleted output is referenced."""
@@ -1,17 +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
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 OutputDevnullType(str, Enum, metaclass=utils.OpenEnumMeta):
11
+ class OutputDevnullType(str, Enum):
15
12
  DEVNULL = "devnull"
16
13
 
17
14
 
@@ -33,7 +30,7 @@ class OutputDevnull(BaseModel):
33
30
  id: str
34
31
  r"""Unique ID for this output"""
35
32
 
36
- type: Annotated[OutputDevnullType, PlainValidator(validate_open_enum(False))]
33
+ type: OutputDevnullType
37
34
 
38
35
  pipeline: Optional[str] = None
39
36
  r"""Pipeline to process data before sending out to this output"""
@@ -1,21 +1,18 @@
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 OutputDiskSpoolType(str, Enum, metaclass=utils.OpenEnumMeta):
11
+ class OutputDiskSpoolType(str, Enum):
15
12
  DISK_SPOOL = "disk_spool"
16
13
 
17
14
 
18
- class OutputDiskSpoolCompression(str, Enum, metaclass=utils.OpenEnumMeta):
15
+ class OutputDiskSpoolCompression(str, Enum):
19
16
  r"""Data compression format. Default is gzip."""
20
17
 
21
18
  NONE = "none"
@@ -51,7 +48,7 @@ class OutputDiskSpool(BaseModel):
51
48
  id: str
52
49
  r"""Unique ID for this output"""
53
50
 
54
- type: Annotated[OutputDiskSpoolType, PlainValidator(validate_open_enum(False))]
51
+ type: OutputDiskSpoolType
55
52
 
56
53
  pipeline: Optional[str] = None
57
54
  r"""Pipeline to process data before sending out to this output"""
@@ -76,9 +73,7 @@ class OutputDiskSpool(BaseModel):
76
73
  max_data_time: Annotated[Optional[str], pydantic.Field(alias="maxDataTime")] = "24h"
77
74
  r"""Maximum amount of time to retain data before older buckets are deleted. Examples: 2h, 4d. Default is 24h."""
78
75
 
79
- compress: Annotated[
80
- Optional[OutputDiskSpoolCompression], PlainValidator(validate_open_enum(False))
81
- ] = OutputDiskSpoolCompression.GZIP
76
+ compress: Optional[OutputDiskSpoolCompression] = OutputDiskSpoolCompression.GZIP
82
77
  r"""Data compression format. Default is gzip."""
83
78
 
84
79
  partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = (
@@ -1,21 +1,18 @@
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 OutputDlS3Type(str, Enum, metaclass=utils.OpenEnumMeta):
11
+ class OutputDlS3Type(str, Enum):
15
12
  DL_S3 = "dl_s3"
16
13
 
17
14
 
18
- class OutputDlS3AuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
15
+ class OutputDlS3AuthenticationMethod(str, Enum):
19
16
  r"""AWS authentication method. Choose Auto to use IAM roles."""
20
17
 
21
18
  AUTO = "auto"
@@ -23,14 +20,14 @@ class OutputDlS3AuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
23
20
  SECRET = "secret"
24
21
 
25
22
 
26
- class OutputDlS3SignatureVersion(str, Enum, metaclass=utils.OpenEnumMeta):
23
+ class OutputDlS3SignatureVersion(str, Enum):
27
24
  r"""Signature version to use for signing S3 requests"""
28
25
 
29
26
  V2 = "v2"
30
27
  V4 = "v4"
31
28
 
32
29
 
33
- class OutputDlS3ObjectACL(str, Enum, metaclass=utils.OpenEnumMeta):
30
+ class OutputDlS3ObjectACL(str, Enum):
34
31
  r"""Object ACL to assign to uploaded objects"""
35
32
 
36
33
  PRIVATE = "private"
@@ -42,7 +39,7 @@ class OutputDlS3ObjectACL(str, Enum, metaclass=utils.OpenEnumMeta):
42
39
  BUCKET_OWNER_FULL_CONTROL = "bucket-owner-full-control"
43
40
 
44
41
 
45
- class OutputDlS3StorageClass(str, Enum, metaclass=utils.OpenEnumMeta):
42
+ class OutputDlS3StorageClass(str, Enum):
46
43
  r"""Storage class to select for uploaded objects"""
47
44
 
48
45
  STANDARD = "STANDARD"
@@ -55,14 +52,12 @@ class OutputDlS3StorageClass(str, Enum, metaclass=utils.OpenEnumMeta):
55
52
  DEEP_ARCHIVE = "DEEP_ARCHIVE"
56
53
 
57
54
 
58
- class OutputDlS3ServerSideEncryptionForUploadedObjects(
59
- str, Enum, metaclass=utils.OpenEnumMeta
60
- ):
55
+ class OutputDlS3ServerSideEncryptionForUploadedObjects(str, Enum):
61
56
  AES256 = "AES256"
62
57
  AWS_KMS = "aws:kms"
63
58
 
64
59
 
65
- class OutputDlS3DataFormat(str, Enum, metaclass=utils.OpenEnumMeta):
60
+ class OutputDlS3DataFormat(str, Enum):
66
61
  r"""Format of the output data"""
67
62
 
68
63
  JSON = "json"
@@ -70,28 +65,28 @@ class OutputDlS3DataFormat(str, Enum, metaclass=utils.OpenEnumMeta):
70
65
  PARQUET = "parquet"
71
66
 
72
67
 
73
- class OutputDlS3BackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
68
+ class OutputDlS3BackpressureBehavior(str, Enum):
74
69
  r"""How to handle events when all receivers are exerting backpressure"""
75
70
 
76
71
  BLOCK = "block"
77
72
  DROP = "drop"
78
73
 
79
74
 
80
- class OutputDlS3DiskSpaceProtection(str, Enum, metaclass=utils.OpenEnumMeta):
75
+ class OutputDlS3DiskSpaceProtection(str, Enum):
81
76
  r"""How to handle events when disk space is below the global 'Min free disk space' limit"""
82
77
 
83
78
  BLOCK = "block"
84
79
  DROP = "drop"
85
80
 
86
81
 
87
- class OutputDlS3Compression(str, Enum, metaclass=utils.OpenEnumMeta):
82
+ class OutputDlS3Compression(str, Enum):
88
83
  r"""Data compression format to apply to HTTP content before it is delivered"""
89
84
 
90
85
  NONE = "none"
91
86
  GZIP = "gzip"
92
87
 
93
88
 
94
- class OutputDlS3CompressionLevel(str, Enum, metaclass=utils.OpenEnumMeta):
89
+ class OutputDlS3CompressionLevel(str, Enum):
95
90
  r"""Compression level to apply before moving files to final destination"""
96
91
 
97
92
  BEST_SPEED = "best_speed"
@@ -99,7 +94,7 @@ class OutputDlS3CompressionLevel(str, Enum, metaclass=utils.OpenEnumMeta):
99
94
  BEST_COMPRESSION = "best_compression"
100
95
 
101
96
 
102
- class OutputDlS3ParquetVersion(str, Enum, metaclass=utils.OpenEnumMeta):
97
+ class OutputDlS3ParquetVersion(str, Enum):
103
98
  r"""Determines which data types are supported and how they are represented"""
104
99
 
105
100
  PARQUET_1_0 = "PARQUET_1_0"
@@ -107,7 +102,7 @@ class OutputDlS3ParquetVersion(str, Enum, metaclass=utils.OpenEnumMeta):
107
102
  PARQUET_2_6 = "PARQUET_2_6"
108
103
 
109
104
 
110
- class OutputDlS3DataPageVersion(str, Enum, metaclass=utils.OpenEnumMeta):
105
+ class OutputDlS3DataPageVersion(str, Enum):
111
106
  r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it."""
112
107
 
113
108
  DATA_PAGE_V1 = "DATA_PAGE_V1"
@@ -254,9 +249,7 @@ class OutputDlS3(BaseModel):
254
249
  id: Optional[str] = None
255
250
  r"""Unique ID for this output"""
256
251
 
257
- type: Annotated[
258
- Optional[OutputDlS3Type], PlainValidator(validate_open_enum(False))
259
- ] = None
252
+ type: Optional[OutputDlS3Type] = None
260
253
 
261
254
  pipeline: Optional[str] = None
262
255
  r"""Pipeline to process data before sending out to this output"""
@@ -281,10 +274,7 @@ class OutputDlS3(BaseModel):
281
274
  r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)"""
282
275
 
283
276
  aws_authentication_method: Annotated[
284
- Annotated[
285
- Optional[OutputDlS3AuthenticationMethod],
286
- PlainValidator(validate_open_enum(False)),
287
- ],
277
+ Optional[OutputDlS3AuthenticationMethod],
288
278
  pydantic.Field(alias="awsAuthenticationMethod"),
289
279
  ] = OutputDlS3AuthenticationMethod.AUTO
290
280
  r"""AWS authentication method. Choose Auto to use IAM roles."""
@@ -293,11 +283,7 @@ class OutputDlS3(BaseModel):
293
283
  r"""S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint."""
294
284
 
295
285
  signature_version: Annotated[
296
- Annotated[
297
- Optional[OutputDlS3SignatureVersion],
298
- PlainValidator(validate_open_enum(False)),
299
- ],
300
- pydantic.Field(alias="signatureVersion"),
286
+ Optional[OutputDlS3SignatureVersion], pydantic.Field(alias="signatureVersion")
301
287
  ] = OutputDlS3SignatureVersion.V4
302
288
  r"""Signature version to use for signing S3 requests"""
303
289
 
@@ -345,26 +331,17 @@ class OutputDlS3(BaseModel):
345
331
  r"""Prefix to append to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`"""
346
332
 
347
333
  object_acl: Annotated[
348
- Annotated[
349
- Optional[OutputDlS3ObjectACL], PlainValidator(validate_open_enum(False))
350
- ],
351
- pydantic.Field(alias="objectACL"),
334
+ Optional[OutputDlS3ObjectACL], pydantic.Field(alias="objectACL")
352
335
  ] = OutputDlS3ObjectACL.PRIVATE
353
336
  r"""Object ACL to assign to uploaded objects"""
354
337
 
355
338
  storage_class: Annotated[
356
- Annotated[
357
- Optional[OutputDlS3StorageClass], PlainValidator(validate_open_enum(False))
358
- ],
359
- pydantic.Field(alias="storageClass"),
339
+ Optional[OutputDlS3StorageClass], pydantic.Field(alias="storageClass")
360
340
  ] = None
361
341
  r"""Storage class to select for uploaded objects"""
362
342
 
363
343
  server_side_encryption: Annotated[
364
- Annotated[
365
- Optional[OutputDlS3ServerSideEncryptionForUploadedObjects],
366
- PlainValidator(validate_open_enum(False)),
367
- ],
344
+ Optional[OutputDlS3ServerSideEncryptionForUploadedObjects],
368
345
  pydantic.Field(alias="serverSideEncryption"),
369
346
  ] = None
370
347
 
@@ -377,10 +354,7 @@ class OutputDlS3(BaseModel):
377
354
  r"""Remove empty staging directories after moving files"""
378
355
 
379
356
  format_: Annotated[
380
- Annotated[
381
- Optional[OutputDlS3DataFormat], PlainValidator(validate_open_enum(False))
382
- ],
383
- pydantic.Field(alias="format"),
357
+ Optional[OutputDlS3DataFormat], pydantic.Field(alias="format")
384
358
  ] = OutputDlS3DataFormat.JSON
385
359
  r"""Format of the output data"""
386
360
 
@@ -413,11 +387,7 @@ class OutputDlS3(BaseModel):
413
387
  r"""Buffer size used to write to a file"""
414
388
 
415
389
  on_backpressure: Annotated[
416
- Annotated[
417
- Optional[OutputDlS3BackpressureBehavior],
418
- PlainValidator(validate_open_enum(False)),
419
- ],
420
- pydantic.Field(alias="onBackpressure"),
390
+ Optional[OutputDlS3BackpressureBehavior], pydantic.Field(alias="onBackpressure")
421
391
  ] = OutputDlS3BackpressureBehavior.BLOCK
422
392
  r"""How to handle events when all receivers are exerting backpressure"""
423
393
 
@@ -427,10 +397,7 @@ class OutputDlS3(BaseModel):
427
397
  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"""
428
398
 
429
399
  on_disk_full_backpressure: Annotated[
430
- Annotated[
431
- Optional[OutputDlS3DiskSpaceProtection],
432
- PlainValidator(validate_open_enum(False)),
433
- ],
400
+ Optional[OutputDlS3DiskSpaceProtection],
434
401
  pydantic.Field(alias="onDiskFullBackpressure"),
435
402
  ] = OutputDlS3DiskSpaceProtection.BLOCK
436
403
  r"""How to handle events when disk space is below the global 'Min free disk space' limit"""
@@ -473,17 +440,11 @@ class OutputDlS3(BaseModel):
473
440
  aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None
474
441
  r"""Select or create a stored secret that references your access key and secret key"""
475
442
 
476
- compress: Annotated[
477
- Optional[OutputDlS3Compression], PlainValidator(validate_open_enum(False))
478
- ] = OutputDlS3Compression.GZIP
443
+ compress: Optional[OutputDlS3Compression] = OutputDlS3Compression.GZIP
479
444
  r"""Data compression format to apply to HTTP content before it is delivered"""
480
445
 
481
446
  compression_level: Annotated[
482
- Annotated[
483
- Optional[OutputDlS3CompressionLevel],
484
- PlainValidator(validate_open_enum(False)),
485
- ],
486
- pydantic.Field(alias="compressionLevel"),
447
+ Optional[OutputDlS3CompressionLevel], pydantic.Field(alias="compressionLevel")
487
448
  ] = OutputDlS3CompressionLevel.BEST_SPEED
488
449
  r"""Compression level to apply before moving files to final destination"""
489
450
 
@@ -493,19 +454,12 @@ class OutputDlS3(BaseModel):
493
454
  r"""Automatically calculate the schema based on the events of each Parquet file generated"""
494
455
 
495
456
  parquet_version: Annotated[
496
- Annotated[
497
- Optional[OutputDlS3ParquetVersion],
498
- PlainValidator(validate_open_enum(False)),
499
- ],
500
- pydantic.Field(alias="parquetVersion"),
457
+ Optional[OutputDlS3ParquetVersion], pydantic.Field(alias="parquetVersion")
501
458
  ] = OutputDlS3ParquetVersion.PARQUET_2_6
502
459
  r"""Determines which data types are supported and how they are represented"""
503
460
 
504
461
  parquet_data_page_version: Annotated[
505
- Annotated[
506
- Optional[OutputDlS3DataPageVersion],
507
- PlainValidator(validate_open_enum(False)),
508
- ],
462
+ Optional[OutputDlS3DataPageVersion],
509
463
  pydantic.Field(alias="parquetDataPageVersion"),
510
464
  ] = OutputDlS3DataPageVersion.DATA_PAGE_V2
511
465
  r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it."""