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,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 OutputHoneycombType(str, Enum, metaclass=utils.OpenEnumMeta):
11
+ class OutputHoneycombType(str, Enum):
15
12
  HONEYCOMB = "honeycomb"
16
13
 
17
14
 
@@ -26,7 +23,7 @@ class OutputHoneycombExtraHTTPHeader(BaseModel):
26
23
  name: Optional[str] = None
27
24
 
28
25
 
29
- class OutputHoneycombFailedRequestLoggingMode(str, Enum, metaclass=utils.OpenEnumMeta):
26
+ class OutputHoneycombFailedRequestLoggingMode(str, Enum):
30
27
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
31
28
 
32
29
  PAYLOAD = "payload"
@@ -88,7 +85,7 @@ class OutputHoneycombTimeoutRetrySettings(BaseModel):
88
85
  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)."""
89
86
 
90
87
 
91
- class OutputHoneycombBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
88
+ class OutputHoneycombBackpressureBehavior(str, Enum):
92
89
  r"""How to handle events when all receivers are exerting backpressure"""
93
90
 
94
91
  BLOCK = "block"
@@ -96,28 +93,28 @@ class OutputHoneycombBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMet
96
93
  QUEUE = "queue"
97
94
 
98
95
 
99
- class OutputHoneycombAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
96
+ class OutputHoneycombAuthenticationMethod(str, Enum):
100
97
  r"""Enter API key directly, or select a stored secret"""
101
98
 
102
99
  MANUAL = "manual"
103
100
  SECRET = "secret"
104
101
 
105
102
 
106
- class OutputHoneycombCompression(str, Enum, metaclass=utils.OpenEnumMeta):
103
+ class OutputHoneycombCompression(str, Enum):
107
104
  r"""Codec to use to compress the persisted data"""
108
105
 
109
106
  NONE = "none"
110
107
  GZIP = "gzip"
111
108
 
112
109
 
113
- class OutputHoneycombQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
110
+ class OutputHoneycombQueueFullBehavior(str, Enum):
114
111
  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."""
115
112
 
116
113
  BLOCK = "block"
117
114
  DROP = "drop"
118
115
 
119
116
 
120
- class OutputHoneycombMode(str, Enum, metaclass=utils.OpenEnumMeta):
117
+ class OutputHoneycombMode(str, Enum):
121
118
  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."""
122
119
 
123
120
  ERROR = "error"
@@ -204,7 +201,7 @@ class OutputHoneycombTypedDict(TypedDict):
204
201
 
205
202
 
206
203
  class OutputHoneycomb(BaseModel):
207
- type: Annotated[OutputHoneycombType, PlainValidator(validate_open_enum(False))]
204
+ type: OutputHoneycombType
208
205
 
209
206
  dataset: str
210
207
  r"""Name of the dataset to send events to – e.g., observability"""
@@ -270,10 +267,7 @@ class OutputHoneycomb(BaseModel):
270
267
  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."""
271
268
 
272
269
  failed_request_logging_mode: Annotated[
273
- Annotated[
274
- Optional[OutputHoneycombFailedRequestLoggingMode],
275
- PlainValidator(validate_open_enum(False)),
276
- ],
270
+ Optional[OutputHoneycombFailedRequestLoggingMode],
277
271
  pydantic.Field(alias="failedRequestLoggingMode"),
278
272
  ] = OutputHoneycombFailedRequestLoggingMode.NONE
279
273
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
@@ -300,20 +294,13 @@ class OutputHoneycomb(BaseModel):
300
294
  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."""
301
295
 
302
296
  on_backpressure: Annotated[
303
- Annotated[
304
- Optional[OutputHoneycombBackpressureBehavior],
305
- PlainValidator(validate_open_enum(False)),
306
- ],
297
+ Optional[OutputHoneycombBackpressureBehavior],
307
298
  pydantic.Field(alias="onBackpressure"),
308
299
  ] = OutputHoneycombBackpressureBehavior.BLOCK
309
300
  r"""How to handle events when all receivers are exerting backpressure"""
310
301
 
311
302
  auth_type: Annotated[
312
- Annotated[
313
- Optional[OutputHoneycombAuthenticationMethod],
314
- PlainValidator(validate_open_enum(False)),
315
- ],
316
- pydantic.Field(alias="authType"),
303
+ Optional[OutputHoneycombAuthenticationMethod], pydantic.Field(alias="authType")
317
304
  ] = OutputHoneycombAuthenticationMethod.MANUAL
318
305
  r"""Enter API key directly, or select a stored secret"""
319
306
 
@@ -333,28 +320,18 @@ class OutputHoneycomb(BaseModel):
333
320
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
334
321
 
335
322
  pq_compress: Annotated[
336
- Annotated[
337
- Optional[OutputHoneycombCompression],
338
- PlainValidator(validate_open_enum(False)),
339
- ],
340
- pydantic.Field(alias="pqCompress"),
323
+ Optional[OutputHoneycombCompression], pydantic.Field(alias="pqCompress")
341
324
  ] = OutputHoneycombCompression.NONE
342
325
  r"""Codec to use to compress the persisted data"""
343
326
 
344
327
  pq_on_backpressure: Annotated[
345
- Annotated[
346
- Optional[OutputHoneycombQueueFullBehavior],
347
- PlainValidator(validate_open_enum(False)),
348
- ],
328
+ Optional[OutputHoneycombQueueFullBehavior],
349
329
  pydantic.Field(alias="pqOnBackpressure"),
350
330
  ] = OutputHoneycombQueueFullBehavior.BLOCK
351
331
  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."""
352
332
 
353
333
  pq_mode: Annotated[
354
- Annotated[
355
- Optional[OutputHoneycombMode], PlainValidator(validate_open_enum(False))
356
- ],
357
- pydantic.Field(alias="pqMode"),
334
+ Optional[OutputHoneycombMode], pydantic.Field(alias="pqMode")
358
335
  ] = OutputHoneycombMode.ERROR
359
336
  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."""
360
337
 
@@ -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 OutputHumioHecType(str, Enum, metaclass=utils.OpenEnumMeta):
11
+ class OutputHumioHecType(str, Enum):
15
12
  HUMIO_HEC = "humio_hec"
16
13
 
17
14
 
@@ -26,7 +23,7 @@ class OutputHumioHecExtraHTTPHeader(BaseModel):
26
23
  name: Optional[str] = None
27
24
 
28
25
 
29
- class OutputHumioHecFailedRequestLoggingMode(str, Enum, metaclass=utils.OpenEnumMeta):
26
+ class OutputHumioHecFailedRequestLoggingMode(str, Enum):
30
27
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
31
28
 
32
29
  PAYLOAD = "payload"
@@ -34,14 +31,14 @@ class OutputHumioHecFailedRequestLoggingMode(str, Enum, metaclass=utils.OpenEnum
34
31
  NONE = "none"
35
32
 
36
33
 
37
- class OutputHumioHecRequestFormat(str, Enum, metaclass=utils.OpenEnumMeta):
34
+ class OutputHumioHecRequestFormat(str, Enum):
38
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."""
39
36
 
40
37
  JSON = "JSON"
41
38
  RAW = "raw"
42
39
 
43
40
 
44
- class OutputHumioHecAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
41
+ class OutputHumioHecAuthenticationMethod(str, Enum):
45
42
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
46
43
 
47
44
  MANUAL = "manual"
@@ -102,7 +99,7 @@ class OutputHumioHecTimeoutRetrySettings(BaseModel):
102
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)."""
103
100
 
104
101
 
105
- class OutputHumioHecBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
102
+ class OutputHumioHecBackpressureBehavior(str, Enum):
106
103
  r"""How to handle events when all receivers are exerting backpressure"""
107
104
 
108
105
  BLOCK = "block"
@@ -110,21 +107,21 @@ class OutputHumioHecBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta
110
107
  QUEUE = "queue"
111
108
 
112
109
 
113
- class OutputHumioHecCompression(str, Enum, metaclass=utils.OpenEnumMeta):
110
+ class OutputHumioHecCompression(str, Enum):
114
111
  r"""Codec to use to compress the persisted data"""
115
112
 
116
113
  NONE = "none"
117
114
  GZIP = "gzip"
118
115
 
119
116
 
120
- class OutputHumioHecQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
117
+ class OutputHumioHecQueueFullBehavior(str, Enum):
121
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."""
122
119
 
123
120
  BLOCK = "block"
124
121
  DROP = "drop"
125
122
 
126
123
 
127
- class OutputHumioHecMode(str, Enum, metaclass=utils.OpenEnumMeta):
124
+ class OutputHumioHecMode(str, Enum):
128
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."""
129
126
 
130
127
  ERROR = "error"
@@ -216,9 +213,7 @@ class OutputHumioHec(BaseModel):
216
213
  id: Optional[str] = None
217
214
  r"""Unique ID for this output"""
218
215
 
219
- type: Annotated[
220
- Optional[OutputHumioHecType], PlainValidator(validate_open_enum(False))
221
- ] = None
216
+ type: Optional[OutputHumioHecType] = None
222
217
 
223
218
  pipeline: Optional[str] = None
224
219
  r"""Pipeline to process data before sending out to this output"""
@@ -281,10 +276,7 @@ class OutputHumioHec(BaseModel):
281
276
  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."""
282
277
 
283
278
  failed_request_logging_mode: Annotated[
284
- Annotated[
285
- Optional[OutputHumioHecFailedRequestLoggingMode],
286
- PlainValidator(validate_open_enum(False)),
287
- ],
279
+ Optional[OutputHumioHecFailedRequestLoggingMode],
288
280
  pydantic.Field(alias="failedRequestLoggingMode"),
289
281
  ] = OutputHumioHecFailedRequestLoggingMode.NONE
290
282
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
@@ -295,20 +287,12 @@ class OutputHumioHec(BaseModel):
295
287
  r"""List of headers that are safe to log in plain text"""
296
288
 
297
289
  format_: Annotated[
298
- Annotated[
299
- Optional[OutputHumioHecRequestFormat],
300
- PlainValidator(validate_open_enum(False)),
301
- ],
302
- pydantic.Field(alias="format"),
290
+ Optional[OutputHumioHecRequestFormat], pydantic.Field(alias="format")
303
291
  ] = OutputHumioHecRequestFormat.JSON
304
292
  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."""
305
293
 
306
294
  auth_type: Annotated[
307
- Annotated[
308
- Optional[OutputHumioHecAuthenticationMethod],
309
- PlainValidator(validate_open_enum(False)),
310
- ],
311
- pydantic.Field(alias="authType"),
295
+ Optional[OutputHumioHecAuthenticationMethod], pydantic.Field(alias="authType")
312
296
  ] = OutputHumioHecAuthenticationMethod.MANUAL
313
297
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
314
298
 
@@ -329,10 +313,7 @@ class OutputHumioHec(BaseModel):
329
313
  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."""
330
314
 
331
315
  on_backpressure: Annotated[
332
- Annotated[
333
- Optional[OutputHumioHecBackpressureBehavior],
334
- PlainValidator(validate_open_enum(False)),
335
- ],
316
+ Optional[OutputHumioHecBackpressureBehavior],
336
317
  pydantic.Field(alias="onBackpressure"),
337
318
  ] = OutputHumioHecBackpressureBehavior.BLOCK
338
319
  r"""How to handle events when all receivers are exerting backpressure"""
@@ -359,29 +340,19 @@ class OutputHumioHec(BaseModel):
359
340
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
360
341
 
361
342
  pq_compress: Annotated[
362
- Annotated[
363
- Optional[OutputHumioHecCompression],
364
- PlainValidator(validate_open_enum(False)),
365
- ],
366
- pydantic.Field(alias="pqCompress"),
343
+ Optional[OutputHumioHecCompression], pydantic.Field(alias="pqCompress")
367
344
  ] = OutputHumioHecCompression.NONE
368
345
  r"""Codec to use to compress the persisted data"""
369
346
 
370
347
  pq_on_backpressure: Annotated[
371
- Annotated[
372
- Optional[OutputHumioHecQueueFullBehavior],
373
- PlainValidator(validate_open_enum(False)),
374
- ],
348
+ Optional[OutputHumioHecQueueFullBehavior],
375
349
  pydantic.Field(alias="pqOnBackpressure"),
376
350
  ] = OutputHumioHecQueueFullBehavior.BLOCK
377
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."""
378
352
 
379
- pq_mode: Annotated[
380
- Annotated[
381
- Optional[OutputHumioHecMode], PlainValidator(validate_open_enum(False))
382
- ],
383
- pydantic.Field(alias="pqMode"),
384
- ] = OutputHumioHecMode.ERROR
353
+ pq_mode: Annotated[Optional[OutputHumioHecMode], pydantic.Field(alias="pqMode")] = (
354
+ OutputHumioHecMode.ERROR
355
+ )
385
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."""
386
357
 
387
358
  pq_controls: Annotated[
@@ -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 OutputInfluxdbType(str, Enum, metaclass=utils.OpenEnumMeta):
11
+ class OutputInfluxdbType(str, Enum):
15
12
  INFLUXDB = "influxdb"
16
13
 
17
14
 
18
- class TimestampPrecision(str, Enum, metaclass=utils.OpenEnumMeta):
15
+ class TimestampPrecision(str, Enum):
19
16
  r"""Sets the precision for the supplied Unix time values. Defaults to milliseconds."""
20
17
 
21
18
  NS = "ns"
@@ -37,7 +34,7 @@ class OutputInfluxdbExtraHTTPHeader(BaseModel):
37
34
  name: Optional[str] = None
38
35
 
39
36
 
40
- class OutputInfluxdbFailedRequestLoggingMode(str, Enum, metaclass=utils.OpenEnumMeta):
37
+ class OutputInfluxdbFailedRequestLoggingMode(str, Enum):
41
38
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
42
39
 
43
40
  PAYLOAD = "payload"
@@ -99,7 +96,7 @@ class OutputInfluxdbTimeoutRetrySettings(BaseModel):
99
96
  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)."""
100
97
 
101
98
 
102
- class OutputInfluxdbBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
99
+ class OutputInfluxdbBackpressureBehavior(str, Enum):
103
100
  r"""How to handle events when all receivers are exerting backpressure"""
104
101
 
105
102
  BLOCK = "block"
@@ -107,7 +104,7 @@ class OutputInfluxdbBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta
107
104
  QUEUE = "queue"
108
105
 
109
106
 
110
- class OutputInfluxdbAuthenticationType(str, Enum, metaclass=utils.OpenEnumMeta):
107
+ class OutputInfluxdbAuthenticationType(str, Enum):
111
108
  r"""InfluxDB authentication type"""
112
109
 
113
110
  NONE = "none"
@@ -118,21 +115,21 @@ class OutputInfluxdbAuthenticationType(str, Enum, metaclass=utils.OpenEnumMeta):
118
115
  OAUTH = "oauth"
119
116
 
120
117
 
121
- class OutputInfluxdbCompression(str, Enum, metaclass=utils.OpenEnumMeta):
118
+ class OutputInfluxdbCompression(str, Enum):
122
119
  r"""Codec to use to compress the persisted data"""
123
120
 
124
121
  NONE = "none"
125
122
  GZIP = "gzip"
126
123
 
127
124
 
128
- class OutputInfluxdbQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
125
+ class OutputInfluxdbQueueFullBehavior(str, Enum):
129
126
  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."""
130
127
 
131
128
  BLOCK = "block"
132
129
  DROP = "drop"
133
130
 
134
131
 
135
- class OutputInfluxdbMode(str, Enum, metaclass=utils.OpenEnumMeta):
132
+ class OutputInfluxdbMode(str, Enum):
136
133
  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."""
137
134
 
138
135
  ERROR = "error"
@@ -283,7 +280,7 @@ class OutputInfluxdbTypedDict(TypedDict):
283
280
 
284
281
 
285
282
  class OutputInfluxdb(BaseModel):
286
- type: Annotated[OutputInfluxdbType, PlainValidator(validate_open_enum(False))]
283
+ type: OutputInfluxdbType
287
284
 
288
285
  url: str
289
286
  r"""URL of an InfluxDB cluster to send events to, e.g., http://localhost:8086/write"""
@@ -309,10 +306,7 @@ class OutputInfluxdb(BaseModel):
309
306
  r"""The v2 API can be enabled with InfluxDB versions 1.8 and later."""
310
307
 
311
308
  timestamp_precision: Annotated[
312
- Annotated[
313
- Optional[TimestampPrecision], PlainValidator(validate_open_enum(False))
314
- ],
315
- pydantic.Field(alias="timestampPrecision"),
309
+ Optional[TimestampPrecision], pydantic.Field(alias="timestampPrecision")
316
310
  ] = TimestampPrecision.MS
317
311
  r"""Sets the precision for the supplied Unix time values. Defaults to milliseconds."""
318
312
 
@@ -370,10 +364,7 @@ class OutputInfluxdb(BaseModel):
370
364
  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."""
371
365
 
372
366
  failed_request_logging_mode: Annotated[
373
- Annotated[
374
- Optional[OutputInfluxdbFailedRequestLoggingMode],
375
- PlainValidator(validate_open_enum(False)),
376
- ],
367
+ Optional[OutputInfluxdbFailedRequestLoggingMode],
377
368
  pydantic.Field(alias="failedRequestLoggingMode"),
378
369
  ] = OutputInfluxdbFailedRequestLoggingMode.NONE
379
370
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
@@ -400,20 +391,13 @@ class OutputInfluxdb(BaseModel):
400
391
  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."""
401
392
 
402
393
  on_backpressure: Annotated[
403
- Annotated[
404
- Optional[OutputInfluxdbBackpressureBehavior],
405
- PlainValidator(validate_open_enum(False)),
406
- ],
394
+ Optional[OutputInfluxdbBackpressureBehavior],
407
395
  pydantic.Field(alias="onBackpressure"),
408
396
  ] = OutputInfluxdbBackpressureBehavior.BLOCK
409
397
  r"""How to handle events when all receivers are exerting backpressure"""
410
398
 
411
399
  auth_type: Annotated[
412
- Annotated[
413
- Optional[OutputInfluxdbAuthenticationType],
414
- PlainValidator(validate_open_enum(False)),
415
- ],
416
- pydantic.Field(alias="authType"),
400
+ Optional[OutputInfluxdbAuthenticationType], pydantic.Field(alias="authType")
417
401
  ] = OutputInfluxdbAuthenticationType.NONE
418
402
  r"""InfluxDB authentication type"""
419
403
 
@@ -442,29 +426,19 @@ class OutputInfluxdb(BaseModel):
442
426
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
443
427
 
444
428
  pq_compress: Annotated[
445
- Annotated[
446
- Optional[OutputInfluxdbCompression],
447
- PlainValidator(validate_open_enum(False)),
448
- ],
449
- pydantic.Field(alias="pqCompress"),
429
+ Optional[OutputInfluxdbCompression], pydantic.Field(alias="pqCompress")
450
430
  ] = OutputInfluxdbCompression.NONE
451
431
  r"""Codec to use to compress the persisted data"""
452
432
 
453
433
  pq_on_backpressure: Annotated[
454
- Annotated[
455
- Optional[OutputInfluxdbQueueFullBehavior],
456
- PlainValidator(validate_open_enum(False)),
457
- ],
434
+ Optional[OutputInfluxdbQueueFullBehavior],
458
435
  pydantic.Field(alias="pqOnBackpressure"),
459
436
  ] = OutputInfluxdbQueueFullBehavior.BLOCK
460
437
  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."""
461
438
 
462
- pq_mode: Annotated[
463
- Annotated[
464
- Optional[OutputInfluxdbMode], PlainValidator(validate_open_enum(False))
465
- ],
466
- pydantic.Field(alias="pqMode"),
467
- ] = OutputInfluxdbMode.ERROR
439
+ pq_mode: Annotated[Optional[OutputInfluxdbMode], pydantic.Field(alias="pqMode")] = (
440
+ OutputInfluxdbMode.ERROR
441
+ )
468
442
  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."""
469
443
 
470
444
  pq_controls: Annotated[