cribl-control-plane 0.0.49__py3-none-any.whl → 0.1.0b1__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 (173) hide show
  1. cribl_control_plane/_version.py +4 -6
  2. cribl_control_plane/errors/healthstatus_error.py +8 -2
  3. cribl_control_plane/health.py +6 -2
  4. cribl_control_plane/models/__init__.py +68 -30
  5. cribl_control_plane/models/cacheconnection.py +10 -2
  6. cribl_control_plane/models/cacheconnectionbackfillstatus.py +2 -1
  7. cribl_control_plane/models/cloudprovider.py +2 -1
  8. cribl_control_plane/models/configgroup.py +7 -2
  9. cribl_control_plane/models/configgroupcloud.py +6 -2
  10. cribl_control_plane/models/createconfiggroupbyproductop.py +8 -2
  11. cribl_control_plane/models/createinputhectokenbyidop.py +6 -5
  12. cribl_control_plane/models/createversionpushop.py +5 -5
  13. cribl_control_plane/models/cribllakedataset.py +8 -2
  14. cribl_control_plane/models/datasetmetadata.py +8 -2
  15. cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +7 -2
  16. cribl_control_plane/models/error.py +16 -0
  17. cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +4 -2
  18. cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +4 -2
  19. cribl_control_plane/models/getconfiggroupbyproductandidop.py +3 -1
  20. cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +7 -2
  21. cribl_control_plane/models/gethealthinfoop.py +17 -0
  22. cribl_control_plane/models/getsummaryop.py +7 -2
  23. cribl_control_plane/models/getversionshowop.py +6 -5
  24. cribl_control_plane/models/gitshowresult.py +19 -0
  25. cribl_control_plane/models/hbcriblinfo.py +24 -3
  26. cribl_control_plane/models/healthstatus.py +7 -4
  27. cribl_control_plane/models/heartbeatmetadata.py +3 -0
  28. cribl_control_plane/models/inputappscope.py +34 -14
  29. cribl_control_plane/models/inputazureblob.py +17 -6
  30. cribl_control_plane/models/inputcollection.py +11 -4
  31. cribl_control_plane/models/inputconfluentcloud.py +41 -32
  32. cribl_control_plane/models/inputcribl.py +11 -4
  33. cribl_control_plane/models/inputcriblhttp.py +23 -8
  34. cribl_control_plane/models/inputcribllakehttp.py +22 -10
  35. cribl_control_plane/models/inputcriblmetrics.py +12 -4
  36. cribl_control_plane/models/inputcribltcp.py +23 -8
  37. cribl_control_plane/models/inputcrowdstrike.py +26 -10
  38. cribl_control_plane/models/inputdatadogagent.py +24 -8
  39. cribl_control_plane/models/inputdatagen.py +11 -4
  40. cribl_control_plane/models/inputedgeprometheus.py +58 -24
  41. cribl_control_plane/models/inputelastic.py +40 -14
  42. cribl_control_plane/models/inputeventhub.py +15 -6
  43. cribl_control_plane/models/inputexec.py +14 -6
  44. cribl_control_plane/models/inputfile.py +15 -6
  45. cribl_control_plane/models/inputfirehose.py +23 -8
  46. cribl_control_plane/models/inputgooglepubsub.py +19 -6
  47. cribl_control_plane/models/inputgrafana.py +67 -24
  48. cribl_control_plane/models/inputhttp.py +23 -8
  49. cribl_control_plane/models/inputhttpraw.py +23 -8
  50. cribl_control_plane/models/inputjournalfiles.py +12 -4
  51. cribl_control_plane/models/inputkafka.py +41 -28
  52. cribl_control_plane/models/inputkinesis.py +38 -14
  53. cribl_control_plane/models/inputkubeevents.py +11 -4
  54. cribl_control_plane/models/inputkubelogs.py +16 -8
  55. cribl_control_plane/models/inputkubemetrics.py +16 -8
  56. cribl_control_plane/models/inputloki.py +29 -10
  57. cribl_control_plane/models/inputmetrics.py +23 -8
  58. cribl_control_plane/models/inputmodeldriventelemetry.py +32 -10
  59. cribl_control_plane/models/inputmsk.py +48 -30
  60. cribl_control_plane/models/inputnetflow.py +11 -4
  61. cribl_control_plane/models/inputoffice365mgmt.py +33 -14
  62. cribl_control_plane/models/inputoffice365msgtrace.py +35 -16
  63. cribl_control_plane/models/inputoffice365service.py +35 -16
  64. cribl_control_plane/models/inputopentelemetry.py +38 -16
  65. cribl_control_plane/models/inputprometheus.py +50 -18
  66. cribl_control_plane/models/inputprometheusrw.py +30 -10
  67. cribl_control_plane/models/inputrawudp.py +11 -4
  68. cribl_control_plane/models/inputs3.py +21 -8
  69. cribl_control_plane/models/inputs3inventory.py +26 -10
  70. cribl_control_plane/models/inputsecuritylake.py +27 -10
  71. cribl_control_plane/models/inputsnmp.py +16 -6
  72. cribl_control_plane/models/inputsplunk.py +33 -12
  73. cribl_control_plane/models/inputsplunkhec.py +29 -10
  74. cribl_control_plane/models/inputsplunksearch.py +33 -14
  75. cribl_control_plane/models/inputsqs.py +27 -10
  76. cribl_control_plane/models/inputsyslog.py +43 -16
  77. cribl_control_plane/models/inputsystemmetrics.py +48 -24
  78. cribl_control_plane/models/inputsystemstate.py +16 -8
  79. cribl_control_plane/models/inputtcp.py +29 -10
  80. cribl_control_plane/models/inputtcpjson.py +29 -10
  81. cribl_control_plane/models/inputwef.py +37 -14
  82. cribl_control_plane/models/inputwindowsmetrics.py +44 -24
  83. cribl_control_plane/models/inputwineventlogs.py +20 -10
  84. cribl_control_plane/models/inputwiz.py +21 -8
  85. cribl_control_plane/models/inputwizwebhook.py +23 -8
  86. cribl_control_plane/models/inputzscalerhec.py +29 -10
  87. cribl_control_plane/models/lakehouseconnectiontype.py +2 -1
  88. cribl_control_plane/models/listconfiggroupbyproductop.py +3 -1
  89. cribl_control_plane/models/masterworkerentry.py +7 -2
  90. cribl_control_plane/models/nodeactiveupgradestatus.py +2 -1
  91. cribl_control_plane/models/nodefailedupgradestatus.py +2 -1
  92. cribl_control_plane/models/nodeprovidedinfo.py +3 -0
  93. cribl_control_plane/models/nodeskippedupgradestatus.py +2 -1
  94. cribl_control_plane/models/nodeupgradestate.py +2 -1
  95. cribl_control_plane/models/nodeupgradestatus.py +13 -5
  96. cribl_control_plane/models/output.py +3 -0
  97. cribl_control_plane/models/outputazureblob.py +48 -18
  98. cribl_control_plane/models/outputazuredataexplorer.py +73 -28
  99. cribl_control_plane/models/outputazureeventhub.py +40 -18
  100. cribl_control_plane/models/outputazurelogs.py +35 -12
  101. cribl_control_plane/models/outputclickhouse.py +55 -20
  102. cribl_control_plane/models/outputcloudwatch.py +29 -10
  103. cribl_control_plane/models/outputconfluentcloud.py +71 -44
  104. cribl_control_plane/models/outputcriblhttp.py +44 -16
  105. cribl_control_plane/models/outputcribllake.py +46 -16
  106. cribl_control_plane/models/outputcribltcp.py +45 -18
  107. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +49 -14
  108. cribl_control_plane/models/outputdatabricks.py +439 -0
  109. cribl_control_plane/models/outputdatadog.py +48 -20
  110. cribl_control_plane/models/outputdataset.py +46 -18
  111. cribl_control_plane/models/outputdiskspool.py +7 -2
  112. cribl_control_plane/models/outputdls3.py +68 -24
  113. cribl_control_plane/models/outputdynatracehttp.py +53 -20
  114. cribl_control_plane/models/outputdynatraceotlp.py +55 -22
  115. cribl_control_plane/models/outputelastic.py +43 -18
  116. cribl_control_plane/models/outputelasticcloud.py +36 -12
  117. cribl_control_plane/models/outputexabeam.py +29 -10
  118. cribl_control_plane/models/outputfilesystem.py +39 -14
  119. cribl_control_plane/models/outputgooglechronicle.py +50 -16
  120. cribl_control_plane/models/outputgooglecloudlogging.py +41 -14
  121. cribl_control_plane/models/outputgooglecloudstorage.py +66 -24
  122. cribl_control_plane/models/outputgooglepubsub.py +31 -10
  123. cribl_control_plane/models/outputgrafanacloud.py +97 -32
  124. cribl_control_plane/models/outputgraphite.py +31 -14
  125. cribl_control_plane/models/outputhoneycomb.py +35 -12
  126. cribl_control_plane/models/outputhumiohec.py +43 -16
  127. cribl_control_plane/models/outputinfluxdb.py +42 -16
  128. cribl_control_plane/models/outputkafka.py +69 -40
  129. cribl_control_plane/models/outputkinesis.py +40 -16
  130. cribl_control_plane/models/outputloki.py +41 -16
  131. cribl_control_plane/models/outputminio.py +65 -24
  132. cribl_control_plane/models/outputmsk.py +77 -42
  133. cribl_control_plane/models/outputnewrelic.py +43 -18
  134. cribl_control_plane/models/outputnewrelicevents.py +41 -14
  135. cribl_control_plane/models/outputopentelemetry.py +67 -26
  136. cribl_control_plane/models/outputprometheus.py +35 -12
  137. cribl_control_plane/models/outputring.py +19 -8
  138. cribl_control_plane/models/outputs3.py +68 -26
  139. cribl_control_plane/models/outputsecuritylake.py +52 -18
  140. cribl_control_plane/models/outputsentinel.py +45 -18
  141. cribl_control_plane/models/outputsentineloneaisiem.py +50 -18
  142. cribl_control_plane/models/outputservicenow.py +60 -24
  143. cribl_control_plane/models/outputsignalfx.py +37 -14
  144. cribl_control_plane/models/outputsns.py +36 -14
  145. cribl_control_plane/models/outputsplunk.py +60 -24
  146. cribl_control_plane/models/outputsplunkhec.py +35 -12
  147. cribl_control_plane/models/outputsplunklb.py +77 -30
  148. cribl_control_plane/models/outputsqs.py +41 -16
  149. cribl_control_plane/models/outputstatsd.py +30 -14
  150. cribl_control_plane/models/outputstatsdext.py +29 -12
  151. cribl_control_plane/models/outputsumologic.py +35 -12
  152. cribl_control_plane/models/outputsyslog.py +58 -24
  153. cribl_control_plane/models/outputtcpjson.py +52 -20
  154. cribl_control_plane/models/outputwavefront.py +35 -12
  155. cribl_control_plane/models/outputwebhook.py +58 -22
  156. cribl_control_plane/models/outputxsiam.py +35 -14
  157. cribl_control_plane/models/productscore.py +2 -1
  158. cribl_control_plane/models/rbacresource.py +2 -1
  159. cribl_control_plane/models/resourcepolicy.py +4 -2
  160. cribl_control_plane/models/routeconf.py +3 -4
  161. cribl_control_plane/models/runnablejobcollection.py +30 -13
  162. cribl_control_plane/models/runnablejobexecutor.py +13 -4
  163. cribl_control_plane/models/runnablejobscheduledsearch.py +7 -2
  164. cribl_control_plane/models/updateconfiggroupbyproductandidop.py +8 -2
  165. cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +8 -2
  166. cribl_control_plane/models/updateinputhectokenbyidandtokenop.py +6 -5
  167. cribl_control_plane/models/workertypes.py +2 -1
  168. {cribl_control_plane-0.0.49.dist-info → cribl_control_plane-0.1.0b1.dist-info}/METADATA +1 -1
  169. cribl_control_plane-0.1.0b1.dist-info/RECORD +327 -0
  170. cribl_control_plane/models/appmode.py +0 -13
  171. cribl_control_plane/models/routecloneconf.py +0 -13
  172. cribl_control_plane-0.0.49.dist-info/RECORD +0 -325
  173. {cribl_control_plane-0.0.49.dist-info → cribl_control_plane-0.1.0b1.dist-info}/WHEEL +0 -0
@@ -1,9 +1,12 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from cribl_control_plane import utils
4
5
  from cribl_control_plane.types import BaseModel
6
+ from cribl_control_plane.utils import validate_open_enum
5
7
  from enum import Enum
6
8
  import pydantic
9
+ from pydantic.functional_validators import PlainValidator
7
10
  from typing import List, Optional, Union
8
11
  from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
9
12
 
@@ -12,7 +15,7 @@ class OutputGrafanaCloudType2(str, Enum):
12
15
  GRAFANA_CLOUD = "grafana_cloud"
13
16
 
14
17
 
15
- class OutputGrafanaCloudMessageFormat2(str, Enum):
18
+ class OutputGrafanaCloudMessageFormat2(str, Enum, metaclass=utils.OpenEnumMeta):
16
19
  r"""Format to use when sending logs to Loki (Protobuf or JSON)"""
17
20
 
18
21
  PROTOBUF = "protobuf"
@@ -30,7 +33,9 @@ class OutputGrafanaCloudLabel2(BaseModel):
30
33
  name: Optional[str] = ""
31
34
 
32
35
 
33
- class OutputGrafanaCloudPrometheusAuthAuthenticationType2(str, Enum):
36
+ class OutputGrafanaCloudPrometheusAuthAuthenticationType2(
37
+ str, Enum, metaclass=utils.OpenEnumMeta
38
+ ):
34
39
  NONE = "none"
35
40
  TOKEN = "token"
36
41
  TEXT_SECRET = "textSecret"
@@ -54,7 +59,10 @@ class OutputGrafanaCloudPrometheusAuth2TypedDict(TypedDict):
54
59
 
55
60
  class OutputGrafanaCloudPrometheusAuth2(BaseModel):
56
61
  auth_type: Annotated[
57
- Optional[OutputGrafanaCloudPrometheusAuthAuthenticationType2],
62
+ Annotated[
63
+ Optional[OutputGrafanaCloudPrometheusAuthAuthenticationType2],
64
+ PlainValidator(validate_open_enum(False)),
65
+ ],
58
66
  pydantic.Field(alias="authType"),
59
67
  ] = OutputGrafanaCloudPrometheusAuthAuthenticationType2.BASIC
60
68
 
@@ -76,7 +84,9 @@ class OutputGrafanaCloudPrometheusAuth2(BaseModel):
76
84
  r"""Select or create a secret that references your credentials"""
77
85
 
78
86
 
79
- class OutputGrafanaCloudLokiAuthAuthenticationType2(str, Enum):
87
+ class OutputGrafanaCloudLokiAuthAuthenticationType2(
88
+ str, Enum, metaclass=utils.OpenEnumMeta
89
+ ):
80
90
  NONE = "none"
81
91
  TOKEN = "token"
82
92
  TEXT_SECRET = "textSecret"
@@ -100,7 +110,10 @@ class OutputGrafanaCloudLokiAuth2TypedDict(TypedDict):
100
110
 
101
111
  class OutputGrafanaCloudLokiAuth2(BaseModel):
102
112
  auth_type: Annotated[
103
- Optional[OutputGrafanaCloudLokiAuthAuthenticationType2],
113
+ Annotated[
114
+ Optional[OutputGrafanaCloudLokiAuthAuthenticationType2],
115
+ PlainValidator(validate_open_enum(False)),
116
+ ],
104
117
  pydantic.Field(alias="authType"),
105
118
  ] = OutputGrafanaCloudLokiAuthAuthenticationType2.BASIC
106
119
 
@@ -133,7 +146,9 @@ class OutputGrafanaCloudExtraHTTPHeader2(BaseModel):
133
146
  name: Optional[str] = None
134
147
 
135
148
 
136
- class OutputGrafanaCloudFailedRequestLoggingMode2(str, Enum):
149
+ class OutputGrafanaCloudFailedRequestLoggingMode2(
150
+ str, Enum, metaclass=utils.OpenEnumMeta
151
+ ):
137
152
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
138
153
 
139
154
  PAYLOAD = "payload"
@@ -195,7 +210,7 @@ class OutputGrafanaCloudTimeoutRetrySettings2(BaseModel):
195
210
  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)."""
196
211
 
197
212
 
198
- class OutputGrafanaCloudBackpressureBehavior2(str, Enum):
213
+ class OutputGrafanaCloudBackpressureBehavior2(str, Enum, metaclass=utils.OpenEnumMeta):
199
214
  r"""How to handle events when all receivers are exerting backpressure"""
200
215
 
201
216
  BLOCK = "block"
@@ -203,21 +218,21 @@ class OutputGrafanaCloudBackpressureBehavior2(str, Enum):
203
218
  QUEUE = "queue"
204
219
 
205
220
 
206
- class OutputGrafanaCloudCompression2(str, Enum):
221
+ class OutputGrafanaCloudCompression2(str, Enum, metaclass=utils.OpenEnumMeta):
207
222
  r"""Codec to use to compress the persisted data"""
208
223
 
209
224
  NONE = "none"
210
225
  GZIP = "gzip"
211
226
 
212
227
 
213
- class OutputGrafanaCloudQueueFullBehavior2(str, Enum):
228
+ class OutputGrafanaCloudQueueFullBehavior2(str, Enum, metaclass=utils.OpenEnumMeta):
214
229
  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."""
215
230
 
216
231
  BLOCK = "block"
217
232
  DROP = "drop"
218
233
 
219
234
 
220
- class OutputGrafanaCloudMode2(str, Enum):
235
+ class OutputGrafanaCloudMode2(str, Enum, metaclass=utils.OpenEnumMeta):
221
236
  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."""
222
237
 
223
238
  ERROR = "error"
@@ -343,7 +358,10 @@ class OutputGrafanaCloudGrafanaCloud2(BaseModel):
343
358
  r"""Name of the event field that contains the message to send. If not specified, Stream sends a JSON representation of the whole event."""
344
359
 
345
360
  message_format: Annotated[
346
- Optional[OutputGrafanaCloudMessageFormat2],
361
+ Annotated[
362
+ Optional[OutputGrafanaCloudMessageFormat2],
363
+ PlainValidator(validate_open_enum(False)),
364
+ ],
347
365
  pydantic.Field(alias="messageFormat"),
348
366
  ] = OutputGrafanaCloudMessageFormat2.PROTOBUF
349
367
  r"""Format to use when sending logs to Loki (Protobuf or JSON)"""
@@ -406,7 +424,10 @@ class OutputGrafanaCloudGrafanaCloud2(BaseModel):
406
424
  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."""
407
425
 
408
426
  failed_request_logging_mode: Annotated[
409
- Optional[OutputGrafanaCloudFailedRequestLoggingMode2],
427
+ Annotated[
428
+ Optional[OutputGrafanaCloudFailedRequestLoggingMode2],
429
+ PlainValidator(validate_open_enum(False)),
430
+ ],
410
431
  pydantic.Field(alias="failedRequestLoggingMode"),
411
432
  ] = OutputGrafanaCloudFailedRequestLoggingMode2.NONE
412
433
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
@@ -433,7 +454,10 @@ class OutputGrafanaCloudGrafanaCloud2(BaseModel):
433
454
  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."""
434
455
 
435
456
  on_backpressure: Annotated[
436
- Optional[OutputGrafanaCloudBackpressureBehavior2],
457
+ Annotated[
458
+ Optional[OutputGrafanaCloudBackpressureBehavior2],
459
+ PlainValidator(validate_open_enum(False)),
460
+ ],
437
461
  pydantic.Field(alias="onBackpressure"),
438
462
  ] = OutputGrafanaCloudBackpressureBehavior2.BLOCK
439
463
  r"""How to handle events when all receivers are exerting backpressure"""
@@ -457,18 +481,28 @@ class OutputGrafanaCloudGrafanaCloud2(BaseModel):
457
481
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
458
482
 
459
483
  pq_compress: Annotated[
460
- Optional[OutputGrafanaCloudCompression2], pydantic.Field(alias="pqCompress")
484
+ Annotated[
485
+ Optional[OutputGrafanaCloudCompression2],
486
+ PlainValidator(validate_open_enum(False)),
487
+ ],
488
+ pydantic.Field(alias="pqCompress"),
461
489
  ] = OutputGrafanaCloudCompression2.NONE
462
490
  r"""Codec to use to compress the persisted data"""
463
491
 
464
492
  pq_on_backpressure: Annotated[
465
- Optional[OutputGrafanaCloudQueueFullBehavior2],
493
+ Annotated[
494
+ Optional[OutputGrafanaCloudQueueFullBehavior2],
495
+ PlainValidator(validate_open_enum(False)),
496
+ ],
466
497
  pydantic.Field(alias="pqOnBackpressure"),
467
498
  ] = OutputGrafanaCloudQueueFullBehavior2.BLOCK
468
499
  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."""
469
500
 
470
501
  pq_mode: Annotated[
471
- Optional[OutputGrafanaCloudMode2], pydantic.Field(alias="pqMode")
502
+ Annotated[
503
+ Optional[OutputGrafanaCloudMode2], PlainValidator(validate_open_enum(False))
504
+ ],
505
+ pydantic.Field(alias="pqMode"),
472
506
  ] = OutputGrafanaCloudMode2.ERROR
473
507
  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."""
474
508
 
@@ -481,7 +515,7 @@ class OutputGrafanaCloudType1(str, Enum):
481
515
  GRAFANA_CLOUD = "grafana_cloud"
482
516
 
483
517
 
484
- class OutputGrafanaCloudMessageFormat1(str, Enum):
518
+ class OutputGrafanaCloudMessageFormat1(str, Enum, metaclass=utils.OpenEnumMeta):
485
519
  r"""Format to use when sending logs to Loki (Protobuf or JSON)"""
486
520
 
487
521
  PROTOBUF = "protobuf"
@@ -499,7 +533,9 @@ class OutputGrafanaCloudLabel1(BaseModel):
499
533
  name: Optional[str] = ""
500
534
 
501
535
 
502
- class OutputGrafanaCloudPrometheusAuthAuthenticationType1(str, Enum):
536
+ class OutputGrafanaCloudPrometheusAuthAuthenticationType1(
537
+ str, Enum, metaclass=utils.OpenEnumMeta
538
+ ):
503
539
  NONE = "none"
504
540
  TOKEN = "token"
505
541
  TEXT_SECRET = "textSecret"
@@ -523,7 +559,10 @@ class OutputGrafanaCloudPrometheusAuth1TypedDict(TypedDict):
523
559
 
524
560
  class OutputGrafanaCloudPrometheusAuth1(BaseModel):
525
561
  auth_type: Annotated[
526
- Optional[OutputGrafanaCloudPrometheusAuthAuthenticationType1],
562
+ Annotated[
563
+ Optional[OutputGrafanaCloudPrometheusAuthAuthenticationType1],
564
+ PlainValidator(validate_open_enum(False)),
565
+ ],
527
566
  pydantic.Field(alias="authType"),
528
567
  ] = OutputGrafanaCloudPrometheusAuthAuthenticationType1.BASIC
529
568
 
@@ -545,7 +584,9 @@ class OutputGrafanaCloudPrometheusAuth1(BaseModel):
545
584
  r"""Select or create a secret that references your credentials"""
546
585
 
547
586
 
548
- class OutputGrafanaCloudLokiAuthAuthenticationType1(str, Enum):
587
+ class OutputGrafanaCloudLokiAuthAuthenticationType1(
588
+ str, Enum, metaclass=utils.OpenEnumMeta
589
+ ):
549
590
  NONE = "none"
550
591
  TOKEN = "token"
551
592
  TEXT_SECRET = "textSecret"
@@ -569,7 +610,10 @@ class OutputGrafanaCloudLokiAuth1TypedDict(TypedDict):
569
610
 
570
611
  class OutputGrafanaCloudLokiAuth1(BaseModel):
571
612
  auth_type: Annotated[
572
- Optional[OutputGrafanaCloudLokiAuthAuthenticationType1],
613
+ Annotated[
614
+ Optional[OutputGrafanaCloudLokiAuthAuthenticationType1],
615
+ PlainValidator(validate_open_enum(False)),
616
+ ],
573
617
  pydantic.Field(alias="authType"),
574
618
  ] = OutputGrafanaCloudLokiAuthAuthenticationType1.BASIC
575
619
 
@@ -602,7 +646,9 @@ class OutputGrafanaCloudExtraHTTPHeader1(BaseModel):
602
646
  name: Optional[str] = None
603
647
 
604
648
 
605
- class OutputGrafanaCloudFailedRequestLoggingMode1(str, Enum):
649
+ class OutputGrafanaCloudFailedRequestLoggingMode1(
650
+ str, Enum, metaclass=utils.OpenEnumMeta
651
+ ):
606
652
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
607
653
 
608
654
  PAYLOAD = "payload"
@@ -664,7 +710,7 @@ class OutputGrafanaCloudTimeoutRetrySettings1(BaseModel):
664
710
  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)."""
665
711
 
666
712
 
667
- class OutputGrafanaCloudBackpressureBehavior1(str, Enum):
713
+ class OutputGrafanaCloudBackpressureBehavior1(str, Enum, metaclass=utils.OpenEnumMeta):
668
714
  r"""How to handle events when all receivers are exerting backpressure"""
669
715
 
670
716
  BLOCK = "block"
@@ -672,21 +718,21 @@ class OutputGrafanaCloudBackpressureBehavior1(str, Enum):
672
718
  QUEUE = "queue"
673
719
 
674
720
 
675
- class OutputGrafanaCloudCompression1(str, Enum):
721
+ class OutputGrafanaCloudCompression1(str, Enum, metaclass=utils.OpenEnumMeta):
676
722
  r"""Codec to use to compress the persisted data"""
677
723
 
678
724
  NONE = "none"
679
725
  GZIP = "gzip"
680
726
 
681
727
 
682
- class OutputGrafanaCloudQueueFullBehavior1(str, Enum):
728
+ class OutputGrafanaCloudQueueFullBehavior1(str, Enum, metaclass=utils.OpenEnumMeta):
683
729
  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."""
684
730
 
685
731
  BLOCK = "block"
686
732
  DROP = "drop"
687
733
 
688
734
 
689
- class OutputGrafanaCloudMode1(str, Enum):
735
+ class OutputGrafanaCloudMode1(str, Enum, metaclass=utils.OpenEnumMeta):
690
736
  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."""
691
737
 
692
738
  ERROR = "error"
@@ -814,7 +860,10 @@ class OutputGrafanaCloudGrafanaCloud1(BaseModel):
814
860
  r"""Name of the event field that contains the message to send. If not specified, Stream sends a JSON representation of the whole event."""
815
861
 
816
862
  message_format: Annotated[
817
- Optional[OutputGrafanaCloudMessageFormat1],
863
+ Annotated[
864
+ Optional[OutputGrafanaCloudMessageFormat1],
865
+ PlainValidator(validate_open_enum(False)),
866
+ ],
818
867
  pydantic.Field(alias="messageFormat"),
819
868
  ] = OutputGrafanaCloudMessageFormat1.PROTOBUF
820
869
  r"""Format to use when sending logs to Loki (Protobuf or JSON)"""
@@ -877,7 +926,10 @@ class OutputGrafanaCloudGrafanaCloud1(BaseModel):
877
926
  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."""
878
927
 
879
928
  failed_request_logging_mode: Annotated[
880
- Optional[OutputGrafanaCloudFailedRequestLoggingMode1],
929
+ Annotated[
930
+ Optional[OutputGrafanaCloudFailedRequestLoggingMode1],
931
+ PlainValidator(validate_open_enum(False)),
932
+ ],
881
933
  pydantic.Field(alias="failedRequestLoggingMode"),
882
934
  ] = OutputGrafanaCloudFailedRequestLoggingMode1.NONE
883
935
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
@@ -904,7 +956,10 @@ class OutputGrafanaCloudGrafanaCloud1(BaseModel):
904
956
  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."""
905
957
 
906
958
  on_backpressure: Annotated[
907
- Optional[OutputGrafanaCloudBackpressureBehavior1],
959
+ Annotated[
960
+ Optional[OutputGrafanaCloudBackpressureBehavior1],
961
+ PlainValidator(validate_open_enum(False)),
962
+ ],
908
963
  pydantic.Field(alias="onBackpressure"),
909
964
  ] = OutputGrafanaCloudBackpressureBehavior1.BLOCK
910
965
  r"""How to handle events when all receivers are exerting backpressure"""
@@ -928,18 +983,28 @@ class OutputGrafanaCloudGrafanaCloud1(BaseModel):
928
983
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
929
984
 
930
985
  pq_compress: Annotated[
931
- Optional[OutputGrafanaCloudCompression1], pydantic.Field(alias="pqCompress")
986
+ Annotated[
987
+ Optional[OutputGrafanaCloudCompression1],
988
+ PlainValidator(validate_open_enum(False)),
989
+ ],
990
+ pydantic.Field(alias="pqCompress"),
932
991
  ] = OutputGrafanaCloudCompression1.NONE
933
992
  r"""Codec to use to compress the persisted data"""
934
993
 
935
994
  pq_on_backpressure: Annotated[
936
- Optional[OutputGrafanaCloudQueueFullBehavior1],
995
+ Annotated[
996
+ Optional[OutputGrafanaCloudQueueFullBehavior1],
997
+ PlainValidator(validate_open_enum(False)),
998
+ ],
937
999
  pydantic.Field(alias="pqOnBackpressure"),
938
1000
  ] = OutputGrafanaCloudQueueFullBehavior1.BLOCK
939
1001
  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."""
940
1002
 
941
1003
  pq_mode: Annotated[
942
- Optional[OutputGrafanaCloudMode1], pydantic.Field(alias="pqMode")
1004
+ Annotated[
1005
+ Optional[OutputGrafanaCloudMode1], PlainValidator(validate_open_enum(False))
1006
+ ],
1007
+ pydantic.Field(alias="pqMode"),
943
1008
  ] = OutputGrafanaCloudMode1.ERROR
944
1009
  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."""
945
1010
 
@@ -1,9 +1,12 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from cribl_control_plane import utils
4
5
  from cribl_control_plane.types import BaseModel
6
+ from cribl_control_plane.utils import validate_open_enum
5
7
  from enum import Enum
6
8
  import pydantic
9
+ from pydantic.functional_validators import PlainValidator
7
10
  from typing import List, Optional
8
11
  from typing_extensions import Annotated, NotRequired, TypedDict
9
12
 
@@ -12,14 +15,14 @@ class OutputGraphiteType(str, Enum):
12
15
  GRAPHITE = "graphite"
13
16
 
14
17
 
15
- class OutputGraphiteDestinationProtocol(str, Enum):
18
+ class OutputGraphiteDestinationProtocol(str, Enum, metaclass=utils.OpenEnumMeta):
16
19
  r"""Protocol to use when communicating with the destination."""
17
20
 
18
21
  UDP = "udp"
19
22
  TCP = "tcp"
20
23
 
21
24
 
22
- class OutputGraphiteBackpressureBehavior(str, Enum):
25
+ class OutputGraphiteBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
23
26
  r"""How to handle events when all receivers are exerting backpressure"""
24
27
 
25
28
  BLOCK = "block"
@@ -27,21 +30,21 @@ class OutputGraphiteBackpressureBehavior(str, Enum):
27
30
  QUEUE = "queue"
28
31
 
29
32
 
30
- class OutputGraphiteCompression(str, Enum):
33
+ class OutputGraphiteCompression(str, Enum, metaclass=utils.OpenEnumMeta):
31
34
  r"""Codec to use to compress the persisted data"""
32
35
 
33
36
  NONE = "none"
34
37
  GZIP = "gzip"
35
38
 
36
39
 
37
- class OutputGraphiteQueueFullBehavior(str, Enum):
40
+ class OutputGraphiteQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
38
41
  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."""
39
42
 
40
43
  BLOCK = "block"
41
44
  DROP = "drop"
42
45
 
43
46
 
44
- class OutputGraphiteMode(str, Enum):
47
+ class OutputGraphiteMode(str, Enum, metaclass=utils.OpenEnumMeta):
45
48
  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."""
46
49
 
47
50
  ERROR = "error"
@@ -128,9 +131,10 @@ class OutputGraphite(BaseModel):
128
131
  streamtags: Optional[List[str]] = None
129
132
  r"""Tags for filtering and grouping in @{product}"""
130
133
 
131
- protocol: Optional[OutputGraphiteDestinationProtocol] = (
132
- OutputGraphiteDestinationProtocol.UDP
133
- )
134
+ protocol: Annotated[
135
+ Optional[OutputGraphiteDestinationProtocol],
136
+ PlainValidator(validate_open_enum(False)),
137
+ ] = OutputGraphiteDestinationProtocol.UDP
134
138
  r"""Protocol to use when communicating with the destination."""
135
139
 
136
140
  port: Optional[float] = 8125
@@ -167,7 +171,10 @@ class OutputGraphite(BaseModel):
167
171
  r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead"""
168
172
 
169
173
  on_backpressure: Annotated[
170
- Optional[OutputGraphiteBackpressureBehavior],
174
+ Annotated[
175
+ Optional[OutputGraphiteBackpressureBehavior],
176
+ PlainValidator(validate_open_enum(False)),
177
+ ],
171
178
  pydantic.Field(alias="onBackpressure"),
172
179
  ] = OutputGraphiteBackpressureBehavior.BLOCK
173
180
  r"""How to handle events when all receivers are exerting backpressure"""
@@ -186,19 +193,29 @@ class OutputGraphite(BaseModel):
186
193
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
187
194
 
188
195
  pq_compress: Annotated[
189
- Optional[OutputGraphiteCompression], pydantic.Field(alias="pqCompress")
196
+ Annotated[
197
+ Optional[OutputGraphiteCompression],
198
+ PlainValidator(validate_open_enum(False)),
199
+ ],
200
+ pydantic.Field(alias="pqCompress"),
190
201
  ] = OutputGraphiteCompression.NONE
191
202
  r"""Codec to use to compress the persisted data"""
192
203
 
193
204
  pq_on_backpressure: Annotated[
194
- Optional[OutputGraphiteQueueFullBehavior],
205
+ Annotated[
206
+ Optional[OutputGraphiteQueueFullBehavior],
207
+ PlainValidator(validate_open_enum(False)),
208
+ ],
195
209
  pydantic.Field(alias="pqOnBackpressure"),
196
210
  ] = OutputGraphiteQueueFullBehavior.BLOCK
197
211
  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."""
198
212
 
199
- pq_mode: Annotated[Optional[OutputGraphiteMode], pydantic.Field(alias="pqMode")] = (
200
- OutputGraphiteMode.ERROR
201
- )
213
+ pq_mode: Annotated[
214
+ Annotated[
215
+ Optional[OutputGraphiteMode], PlainValidator(validate_open_enum(False))
216
+ ],
217
+ pydantic.Field(alias="pqMode"),
218
+ ] = OutputGraphiteMode.ERROR
202
219
  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."""
203
220
 
204
221
  pq_controls: Annotated[
@@ -1,9 +1,12 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from cribl_control_plane import utils
4
5
  from cribl_control_plane.types import BaseModel
6
+ from cribl_control_plane.utils import validate_open_enum
5
7
  from enum import Enum
6
8
  import pydantic
9
+ from pydantic.functional_validators import PlainValidator
7
10
  from typing import List, Optional
8
11
  from typing_extensions import Annotated, NotRequired, TypedDict
9
12
 
@@ -23,7 +26,7 @@ class OutputHoneycombExtraHTTPHeader(BaseModel):
23
26
  name: Optional[str] = None
24
27
 
25
28
 
26
- class OutputHoneycombFailedRequestLoggingMode(str, Enum):
29
+ class OutputHoneycombFailedRequestLoggingMode(str, Enum, metaclass=utils.OpenEnumMeta):
27
30
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
28
31
 
29
32
  PAYLOAD = "payload"
@@ -85,7 +88,7 @@ class OutputHoneycombTimeoutRetrySettings(BaseModel):
85
88
  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)."""
86
89
 
87
90
 
88
- class OutputHoneycombBackpressureBehavior(str, Enum):
91
+ class OutputHoneycombBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
89
92
  r"""How to handle events when all receivers are exerting backpressure"""
90
93
 
91
94
  BLOCK = "block"
@@ -93,28 +96,28 @@ class OutputHoneycombBackpressureBehavior(str, Enum):
93
96
  QUEUE = "queue"
94
97
 
95
98
 
96
- class OutputHoneycombAuthenticationMethod(str, Enum):
99
+ class OutputHoneycombAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
97
100
  r"""Enter API key directly, or select a stored secret"""
98
101
 
99
102
  MANUAL = "manual"
100
103
  SECRET = "secret"
101
104
 
102
105
 
103
- class OutputHoneycombCompression(str, Enum):
106
+ class OutputHoneycombCompression(str, Enum, metaclass=utils.OpenEnumMeta):
104
107
  r"""Codec to use to compress the persisted data"""
105
108
 
106
109
  NONE = "none"
107
110
  GZIP = "gzip"
108
111
 
109
112
 
110
- class OutputHoneycombQueueFullBehavior(str, Enum):
113
+ class OutputHoneycombQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
111
114
  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."""
112
115
 
113
116
  BLOCK = "block"
114
117
  DROP = "drop"
115
118
 
116
119
 
117
- class OutputHoneycombMode(str, Enum):
120
+ class OutputHoneycombMode(str, Enum, metaclass=utils.OpenEnumMeta):
118
121
  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."""
119
122
 
120
123
  ERROR = "error"
@@ -267,7 +270,10 @@ class OutputHoneycomb(BaseModel):
267
270
  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."""
268
271
 
269
272
  failed_request_logging_mode: Annotated[
270
- Optional[OutputHoneycombFailedRequestLoggingMode],
273
+ Annotated[
274
+ Optional[OutputHoneycombFailedRequestLoggingMode],
275
+ PlainValidator(validate_open_enum(False)),
276
+ ],
271
277
  pydantic.Field(alias="failedRequestLoggingMode"),
272
278
  ] = OutputHoneycombFailedRequestLoggingMode.NONE
273
279
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
@@ -294,13 +300,20 @@ class OutputHoneycomb(BaseModel):
294
300
  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."""
295
301
 
296
302
  on_backpressure: Annotated[
297
- Optional[OutputHoneycombBackpressureBehavior],
303
+ Annotated[
304
+ Optional[OutputHoneycombBackpressureBehavior],
305
+ PlainValidator(validate_open_enum(False)),
306
+ ],
298
307
  pydantic.Field(alias="onBackpressure"),
299
308
  ] = OutputHoneycombBackpressureBehavior.BLOCK
300
309
  r"""How to handle events when all receivers are exerting backpressure"""
301
310
 
302
311
  auth_type: Annotated[
303
- Optional[OutputHoneycombAuthenticationMethod], pydantic.Field(alias="authType")
312
+ Annotated[
313
+ Optional[OutputHoneycombAuthenticationMethod],
314
+ PlainValidator(validate_open_enum(False)),
315
+ ],
316
+ pydantic.Field(alias="authType"),
304
317
  ] = OutputHoneycombAuthenticationMethod.MANUAL
305
318
  r"""Enter API key directly, or select a stored secret"""
306
319
 
@@ -320,18 +333,28 @@ class OutputHoneycomb(BaseModel):
320
333
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
321
334
 
322
335
  pq_compress: Annotated[
323
- Optional[OutputHoneycombCompression], pydantic.Field(alias="pqCompress")
336
+ Annotated[
337
+ Optional[OutputHoneycombCompression],
338
+ PlainValidator(validate_open_enum(False)),
339
+ ],
340
+ pydantic.Field(alias="pqCompress"),
324
341
  ] = OutputHoneycombCompression.NONE
325
342
  r"""Codec to use to compress the persisted data"""
326
343
 
327
344
  pq_on_backpressure: Annotated[
328
- Optional[OutputHoneycombQueueFullBehavior],
345
+ Annotated[
346
+ Optional[OutputHoneycombQueueFullBehavior],
347
+ PlainValidator(validate_open_enum(False)),
348
+ ],
329
349
  pydantic.Field(alias="pqOnBackpressure"),
330
350
  ] = OutputHoneycombQueueFullBehavior.BLOCK
331
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."""
332
352
 
333
353
  pq_mode: Annotated[
334
- Optional[OutputHoneycombMode], pydantic.Field(alias="pqMode")
354
+ Annotated[
355
+ Optional[OutputHoneycombMode], PlainValidator(validate_open_enum(False))
356
+ ],
357
+ pydantic.Field(alias="pqMode"),
335
358
  ] = OutputHoneycombMode.ERROR
336
359
  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."""
337
360