cribl-control-plane 0.0.50__py3-none-any.whl → 0.0.50rc2__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 (176) hide show
  1. cribl_control_plane/_version.py +3 -5
  2. cribl_control_plane/errors/healthstatus_error.py +8 -2
  3. cribl_control_plane/groups_sdk.py +4 -4
  4. cribl_control_plane/health.py +6 -2
  5. cribl_control_plane/models/__init__.py +56 -31
  6. cribl_control_plane/models/cacheconnection.py +10 -2
  7. cribl_control_plane/models/cacheconnectionbackfillstatus.py +2 -1
  8. cribl_control_plane/models/cloudprovider.py +2 -1
  9. cribl_control_plane/models/configgroup.py +24 -4
  10. cribl_control_plane/models/configgroupcloud.py +6 -2
  11. cribl_control_plane/models/createconfiggroupbyproductop.py +8 -2
  12. cribl_control_plane/models/createinputhectokenbyidop.py +6 -5
  13. cribl_control_plane/models/createversionpushop.py +5 -5
  14. cribl_control_plane/models/cribllakedataset.py +8 -2
  15. cribl_control_plane/models/datasetmetadata.py +8 -2
  16. cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +7 -2
  17. cribl_control_plane/models/error.py +16 -0
  18. cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +4 -2
  19. cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +4 -2
  20. cribl_control_plane/models/getconfiggroupbyproductandidop.py +3 -1
  21. cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +7 -2
  22. cribl_control_plane/models/gethealthinfoop.py +17 -0
  23. cribl_control_plane/models/getsummaryop.py +7 -2
  24. cribl_control_plane/models/getversionshowop.py +6 -5
  25. cribl_control_plane/models/gitinfo.py +14 -3
  26. cribl_control_plane/models/gitshowresult.py +19 -0
  27. cribl_control_plane/models/hbcriblinfo.py +24 -3
  28. cribl_control_plane/models/healthstatus.py +7 -4
  29. cribl_control_plane/models/heartbeatmetadata.py +3 -0
  30. cribl_control_plane/models/input.py +65 -63
  31. cribl_control_plane/models/inputappscope.py +34 -14
  32. cribl_control_plane/models/inputazureblob.py +17 -6
  33. cribl_control_plane/models/inputcollection.py +11 -4
  34. cribl_control_plane/models/inputconfluentcloud.py +41 -32
  35. cribl_control_plane/models/inputcribl.py +11 -4
  36. cribl_control_plane/models/inputcriblhttp.py +23 -8
  37. cribl_control_plane/models/inputcribllakehttp.py +22 -10
  38. cribl_control_plane/models/inputcriblmetrics.py +12 -4
  39. cribl_control_plane/models/inputcribltcp.py +23 -8
  40. cribl_control_plane/models/inputcrowdstrike.py +26 -10
  41. cribl_control_plane/models/inputdatadogagent.py +24 -8
  42. cribl_control_plane/models/inputdatagen.py +11 -4
  43. cribl_control_plane/models/inputedgeprometheus.py +58 -24
  44. cribl_control_plane/models/inputelastic.py +40 -14
  45. cribl_control_plane/models/inputeventhub.py +15 -6
  46. cribl_control_plane/models/inputexec.py +14 -6
  47. cribl_control_plane/models/inputfile.py +15 -6
  48. cribl_control_plane/models/inputfirehose.py +23 -8
  49. cribl_control_plane/models/inputgooglepubsub.py +19 -6
  50. cribl_control_plane/models/inputgrafana.py +67 -24
  51. cribl_control_plane/models/inputhttp.py +23 -8
  52. cribl_control_plane/models/inputhttpraw.py +23 -8
  53. cribl_control_plane/models/inputjournalfiles.py +12 -4
  54. cribl_control_plane/models/inputkafka.py +41 -28
  55. cribl_control_plane/models/inputkinesis.py +38 -14
  56. cribl_control_plane/models/inputkubeevents.py +11 -4
  57. cribl_control_plane/models/inputkubelogs.py +16 -8
  58. cribl_control_plane/models/inputkubemetrics.py +16 -8
  59. cribl_control_plane/models/inputloki.py +29 -10
  60. cribl_control_plane/models/inputmetrics.py +23 -8
  61. cribl_control_plane/models/inputmodeldriventelemetry.py +32 -10
  62. cribl_control_plane/models/inputmsk.py +48 -30
  63. cribl_control_plane/models/inputnetflow.py +11 -4
  64. cribl_control_plane/models/inputoffice365mgmt.py +33 -14
  65. cribl_control_plane/models/inputoffice365msgtrace.py +35 -16
  66. cribl_control_plane/models/inputoffice365service.py +35 -16
  67. cribl_control_plane/models/inputopentelemetry.py +38 -16
  68. cribl_control_plane/models/inputprometheus.py +50 -18
  69. cribl_control_plane/models/inputprometheusrw.py +30 -10
  70. cribl_control_plane/models/inputrawudp.py +11 -4
  71. cribl_control_plane/models/inputs3.py +21 -8
  72. cribl_control_plane/models/inputs3inventory.py +26 -10
  73. cribl_control_plane/models/inputsecuritylake.py +27 -10
  74. cribl_control_plane/models/inputsnmp.py +16 -6
  75. cribl_control_plane/models/inputsplunk.py +33 -12
  76. cribl_control_plane/models/inputsplunkhec.py +29 -10
  77. cribl_control_plane/models/inputsplunksearch.py +33 -14
  78. cribl_control_plane/models/inputsqs.py +27 -10
  79. cribl_control_plane/models/inputsyslog.py +43 -16
  80. cribl_control_plane/models/inputsystemmetrics.py +48 -24
  81. cribl_control_plane/models/inputsystemstate.py +16 -8
  82. cribl_control_plane/models/inputtcp.py +29 -10
  83. cribl_control_plane/models/inputtcpjson.py +29 -10
  84. cribl_control_plane/models/inputwef.py +37 -14
  85. cribl_control_plane/models/inputwindowsmetrics.py +44 -24
  86. cribl_control_plane/models/inputwineventlogs.py +20 -10
  87. cribl_control_plane/models/inputwiz.py +21 -8
  88. cribl_control_plane/models/inputwizwebhook.py +23 -8
  89. cribl_control_plane/models/inputzscalerhec.py +29 -10
  90. cribl_control_plane/models/lakehouseconnectiontype.py +2 -1
  91. cribl_control_plane/models/listconfiggroupbyproductop.py +3 -1
  92. cribl_control_plane/models/masterworkerentry.py +7 -2
  93. cribl_control_plane/models/nodeactiveupgradestatus.py +2 -1
  94. cribl_control_plane/models/nodefailedupgradestatus.py +2 -1
  95. cribl_control_plane/models/nodeprovidedinfo.py +3 -0
  96. cribl_control_plane/models/nodeskippedupgradestatus.py +2 -1
  97. cribl_control_plane/models/nodeupgradestate.py +2 -1
  98. cribl_control_plane/models/nodeupgradestatus.py +13 -5
  99. cribl_control_plane/models/output.py +84 -79
  100. cribl_control_plane/models/outputazureblob.py +48 -18
  101. cribl_control_plane/models/outputazuredataexplorer.py +73 -28
  102. cribl_control_plane/models/outputazureeventhub.py +40 -18
  103. cribl_control_plane/models/outputazurelogs.py +35 -12
  104. cribl_control_plane/models/outputclickhouse.py +55 -20
  105. cribl_control_plane/models/outputcloudwatch.py +29 -10
  106. cribl_control_plane/models/outputconfluentcloud.py +71 -44
  107. cribl_control_plane/models/outputcriblhttp.py +44 -16
  108. cribl_control_plane/models/outputcribllake.py +46 -16
  109. cribl_control_plane/models/outputcribltcp.py +45 -18
  110. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +49 -14
  111. cribl_control_plane/models/outputdatabricks.py +282 -0
  112. cribl_control_plane/models/outputdatadog.py +48 -20
  113. cribl_control_plane/models/outputdataset.py +46 -18
  114. cribl_control_plane/models/outputdiskspool.py +7 -2
  115. cribl_control_plane/models/outputdls3.py +68 -24
  116. cribl_control_plane/models/outputdynatracehttp.py +53 -20
  117. cribl_control_plane/models/outputdynatraceotlp.py +55 -22
  118. cribl_control_plane/models/outputelastic.py +43 -18
  119. cribl_control_plane/models/outputelasticcloud.py +36 -12
  120. cribl_control_plane/models/outputexabeam.py +29 -10
  121. cribl_control_plane/models/outputfilesystem.py +39 -14
  122. cribl_control_plane/models/outputgooglechronicle.py +50 -16
  123. cribl_control_plane/models/outputgooglecloudlogging.py +50 -18
  124. cribl_control_plane/models/outputgooglecloudstorage.py +66 -24
  125. cribl_control_plane/models/outputgooglepubsub.py +31 -10
  126. cribl_control_plane/models/outputgrafanacloud.py +97 -32
  127. cribl_control_plane/models/outputgraphite.py +31 -14
  128. cribl_control_plane/models/outputhoneycomb.py +35 -12
  129. cribl_control_plane/models/outputhumiohec.py +43 -16
  130. cribl_control_plane/models/outputinfluxdb.py +42 -16
  131. cribl_control_plane/models/outputkafka.py +69 -40
  132. cribl_control_plane/models/outputkinesis.py +40 -16
  133. cribl_control_plane/models/outputloki.py +41 -16
  134. cribl_control_plane/models/outputminio.py +65 -24
  135. cribl_control_plane/models/outputmsk.py +77 -42
  136. cribl_control_plane/models/outputnewrelic.py +43 -18
  137. cribl_control_plane/models/outputnewrelicevents.py +41 -14
  138. cribl_control_plane/models/outputopentelemetry.py +67 -26
  139. cribl_control_plane/models/outputprometheus.py +35 -12
  140. cribl_control_plane/models/outputring.py +19 -8
  141. cribl_control_plane/models/outputs3.py +68 -26
  142. cribl_control_plane/models/outputsecuritylake.py +52 -18
  143. cribl_control_plane/models/outputsentinel.py +45 -18
  144. cribl_control_plane/models/outputsentineloneaisiem.py +50 -18
  145. cribl_control_plane/models/outputservicenow.py +60 -24
  146. cribl_control_plane/models/outputsignalfx.py +37 -14
  147. cribl_control_plane/models/outputsns.py +36 -14
  148. cribl_control_plane/models/outputsplunk.py +60 -24
  149. cribl_control_plane/models/outputsplunkhec.py +35 -12
  150. cribl_control_plane/models/outputsplunklb.py +77 -30
  151. cribl_control_plane/models/outputsqs.py +41 -16
  152. cribl_control_plane/models/outputstatsd.py +30 -14
  153. cribl_control_plane/models/outputstatsdext.py +29 -12
  154. cribl_control_plane/models/outputsumologic.py +35 -12
  155. cribl_control_plane/models/outputsyslog.py +58 -24
  156. cribl_control_plane/models/outputtcpjson.py +52 -20
  157. cribl_control_plane/models/outputwavefront.py +35 -12
  158. cribl_control_plane/models/outputwebhook.py +58 -22
  159. cribl_control_plane/models/outputxsiam.py +35 -14
  160. cribl_control_plane/models/productscore.py +2 -1
  161. cribl_control_plane/models/rbacresource.py +2 -1
  162. cribl_control_plane/models/resourcepolicy.py +4 -2
  163. cribl_control_plane/models/routeconf.py +3 -4
  164. cribl_control_plane/models/runnablejobcollection.py +30 -13
  165. cribl_control_plane/models/runnablejobexecutor.py +13 -4
  166. cribl_control_plane/models/runnablejobscheduledsearch.py +7 -2
  167. cribl_control_plane/models/updateconfiggroupbyproductandidop.py +8 -2
  168. cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +8 -2
  169. cribl_control_plane/models/updateinputhectokenbyidandtokenop.py +6 -5
  170. cribl_control_plane/models/workertypes.py +2 -1
  171. {cribl_control_plane-0.0.50.dist-info → cribl_control_plane-0.0.50rc2.dist-info}/METADATA +1 -1
  172. cribl_control_plane-0.0.50rc2.dist-info/RECORD +327 -0
  173. cribl_control_plane/models/appmode.py +0 -13
  174. cribl_control_plane/models/routecloneconf.py +0 -13
  175. cribl_control_plane-0.0.50.dist-info/RECORD +0 -325
  176. {cribl_control_plane-0.0.50.dist-info → cribl_control_plane-0.0.50rc2.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
8
11
  from typing_extensions import Annotated, NotRequired, TypedDict
9
12
 
@@ -12,21 +15,21 @@ class OutputSplunkLbType(str, Enum):
12
15
  SPLUNK_LB = "splunk_lb"
13
16
 
14
17
 
15
- class OutputSplunkLbNestedFieldSerialization(str, Enum):
18
+ class OutputSplunkLbNestedFieldSerialization(str, Enum, metaclass=utils.OpenEnumMeta):
16
19
  r"""How to serialize nested fields into index-time fields"""
17
20
 
18
21
  JSON = "json"
19
22
  NONE = "none"
20
23
 
21
24
 
22
- class OutputSplunkLbMinimumTLSVersion(str, Enum):
25
+ class OutputSplunkLbMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
23
26
  TL_SV1 = "TLSv1"
24
27
  TL_SV1_1 = "TLSv1.1"
25
28
  TL_SV1_2 = "TLSv1.2"
26
29
  TL_SV1_3 = "TLSv1.3"
27
30
 
28
31
 
29
- class OutputSplunkLbMaximumTLSVersion(str, Enum):
32
+ class OutputSplunkLbMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
30
33
  TL_SV1 = "TLSv1"
31
34
  TL_SV1_1 = "TLSv1.1"
32
35
  TL_SV1_2 = "TLSv1.2"
@@ -86,22 +89,30 @@ class OutputSplunkLbTLSSettingsClientSide(BaseModel):
86
89
  r"""Passphrase to use to decrypt private key"""
87
90
 
88
91
  min_version: Annotated[
89
- Optional[OutputSplunkLbMinimumTLSVersion], pydantic.Field(alias="minVersion")
92
+ Annotated[
93
+ Optional[OutputSplunkLbMinimumTLSVersion],
94
+ PlainValidator(validate_open_enum(False)),
95
+ ],
96
+ pydantic.Field(alias="minVersion"),
90
97
  ] = None
91
98
 
92
99
  max_version: Annotated[
93
- Optional[OutputSplunkLbMaximumTLSVersion], pydantic.Field(alias="maxVersion")
100
+ Annotated[
101
+ Optional[OutputSplunkLbMaximumTLSVersion],
102
+ PlainValidator(validate_open_enum(False)),
103
+ ],
104
+ pydantic.Field(alias="maxVersion"),
94
105
  ] = None
95
106
 
96
107
 
97
- class OutputSplunkLbMaxS2SVersion(str, Enum):
108
+ class OutputSplunkLbMaxS2SVersion(str, Enum, metaclass=utils.OpenEnumMeta):
98
109
  r"""The highest S2S protocol version to advertise during handshake"""
99
110
 
100
111
  V3 = "v3"
101
112
  V4 = "v4"
102
113
 
103
114
 
104
- class OutputSplunkLbBackpressureBehavior(str, Enum):
115
+ class OutputSplunkLbBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
105
116
  r"""How to handle events when all receivers are exerting backpressure"""
106
117
 
107
118
  BLOCK = "block"
@@ -109,14 +120,14 @@ class OutputSplunkLbBackpressureBehavior(str, Enum):
109
120
  QUEUE = "queue"
110
121
 
111
122
 
112
- class OutputSplunkLbAuthenticationMethod(str, Enum):
123
+ class OutputSplunkLbAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
113
124
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
114
125
 
115
126
  MANUAL = "manual"
116
127
  SECRET = "secret"
117
128
 
118
129
 
119
- class OutputSplunkLbCompressCompression(str, Enum):
130
+ class OutputSplunkLbCompressCompression(str, Enum, metaclass=utils.OpenEnumMeta):
120
131
  r"""Controls whether the sender should send compressed data to the server. Select 'Disabled' to reject compressed connections or 'Always' to ignore server's configuration and send compressed data."""
121
132
 
122
133
  DISABLED = "disabled"
@@ -124,7 +135,9 @@ class OutputSplunkLbCompressCompression(str, Enum):
124
135
  ALWAYS = "always"
125
136
 
126
137
 
127
- class IndexerDiscoveryConfigsAuthTokenAuthenticationMethod(str, Enum):
138
+ class IndexerDiscoveryConfigsAuthTokenAuthenticationMethod(
139
+ str, Enum, metaclass=utils.OpenEnumMeta
140
+ ):
128
141
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
129
142
 
130
143
  MANUAL = "manual"
@@ -138,13 +151,18 @@ class OutputSplunkLbAuthTokenTypedDict(TypedDict):
138
151
 
139
152
  class OutputSplunkLbAuthToken(BaseModel):
140
153
  auth_type: Annotated[
141
- Optional[IndexerDiscoveryConfigsAuthTokenAuthenticationMethod],
154
+ Annotated[
155
+ Optional[IndexerDiscoveryConfigsAuthTokenAuthenticationMethod],
156
+ PlainValidator(validate_open_enum(False)),
157
+ ],
142
158
  pydantic.Field(alias="authType"),
143
159
  ] = IndexerDiscoveryConfigsAuthTokenAuthenticationMethod.MANUAL
144
160
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
145
161
 
146
162
 
147
- class IndexerDiscoveryConfigsAuthenticationMethod(str, Enum):
163
+ class IndexerDiscoveryConfigsAuthenticationMethod(
164
+ str, Enum, metaclass=utils.OpenEnumMeta
165
+ ):
148
166
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
149
167
 
150
168
  MANUAL = "manual"
@@ -197,7 +215,10 @@ class IndexerDiscoveryConfigs(BaseModel):
197
215
  r"""Tokens required to authenticate to cluster manager for indexer discovery"""
198
216
 
199
217
  auth_type: Annotated[
200
- Optional[IndexerDiscoveryConfigsAuthenticationMethod],
218
+ Annotated[
219
+ Optional[IndexerDiscoveryConfigsAuthenticationMethod],
220
+ PlainValidator(validate_open_enum(False)),
221
+ ],
201
222
  pydantic.Field(alias="authType"),
202
223
  ] = IndexerDiscoveryConfigsAuthenticationMethod.MANUAL
203
224
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
@@ -209,7 +230,7 @@ class IndexerDiscoveryConfigs(BaseModel):
209
230
  r"""Select or create a stored text secret"""
210
231
 
211
232
 
212
- class OutputSplunkLbTLS(str, Enum):
233
+ class OutputSplunkLbTLS(str, Enum, metaclass=utils.OpenEnumMeta):
213
234
  r"""Whether to inherit TLS configs from group setting or disable TLS"""
214
235
 
215
236
  INHERIT = "inherit"
@@ -236,7 +257,9 @@ class OutputSplunkLbHost(BaseModel):
236
257
  port: Optional[float] = 9997
237
258
  r"""The port to connect to on the provided host"""
238
259
 
239
- tls: Optional[OutputSplunkLbTLS] = OutputSplunkLbTLS.INHERIT
260
+ tls: Annotated[
261
+ Optional[OutputSplunkLbTLS], PlainValidator(validate_open_enum(False))
262
+ ] = OutputSplunkLbTLS.INHERIT
240
263
  r"""Whether to inherit TLS configs from group setting or disable TLS"""
241
264
 
242
265
  servername: Optional[str] = None
@@ -246,21 +269,21 @@ class OutputSplunkLbHost(BaseModel):
246
269
  r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability"""
247
270
 
248
271
 
249
- class OutputSplunkLbPqCompressCompression(str, Enum):
272
+ class OutputSplunkLbPqCompressCompression(str, Enum, metaclass=utils.OpenEnumMeta):
250
273
  r"""Codec to use to compress the persisted data"""
251
274
 
252
275
  NONE = "none"
253
276
  GZIP = "gzip"
254
277
 
255
278
 
256
- class OutputSplunkLbQueueFullBehavior(str, Enum):
279
+ class OutputSplunkLbQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
257
280
  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."""
258
281
 
259
282
  BLOCK = "block"
260
283
  DROP = "drop"
261
284
 
262
285
 
263
- class OutputSplunkLbMode(str, Enum):
286
+ class OutputSplunkLbMode(str, Enum, metaclass=utils.OpenEnumMeta):
264
287
  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."""
265
288
 
266
289
  ERROR = "error"
@@ -388,7 +411,10 @@ class OutputSplunkLb(BaseModel):
388
411
  r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited."""
389
412
 
390
413
  nested_fields: Annotated[
391
- Optional[OutputSplunkLbNestedFieldSerialization],
414
+ Annotated[
415
+ Optional[OutputSplunkLbNestedFieldSerialization],
416
+ PlainValidator(validate_open_enum(False)),
417
+ ],
392
418
  pydantic.Field(alias="nestedFields"),
393
419
  ] = OutputSplunkLbNestedFieldSerialization.NONE
394
420
  r"""How to serialize nested fields into index-time fields"""
@@ -424,12 +450,19 @@ class OutputSplunkLb(BaseModel):
424
450
  r"""Use to troubleshoot issues with sending data"""
425
451
 
426
452
  max_s2_sversion: Annotated[
427
- Optional[OutputSplunkLbMaxS2SVersion], pydantic.Field(alias="maxS2Sversion")
453
+ Annotated[
454
+ Optional[OutputSplunkLbMaxS2SVersion],
455
+ PlainValidator(validate_open_enum(False)),
456
+ ],
457
+ pydantic.Field(alias="maxS2Sversion"),
428
458
  ] = OutputSplunkLbMaxS2SVersion.V3
429
459
  r"""The highest S2S protocol version to advertise during handshake"""
430
460
 
431
461
  on_backpressure: Annotated[
432
- Optional[OutputSplunkLbBackpressureBehavior],
462
+ Annotated[
463
+ Optional[OutputSplunkLbBackpressureBehavior],
464
+ PlainValidator(validate_open_enum(False)),
465
+ ],
433
466
  pydantic.Field(alias="onBackpressure"),
434
467
  ] = OutputSplunkLbBackpressureBehavior.BLOCK
435
468
  r"""How to handle events when all receivers are exerting backpressure"""
@@ -445,7 +478,11 @@ class OutputSplunkLb(BaseModel):
445
478
  r"""How long (in milliseconds) each LB endpoint can report blocked before the Destination reports unhealthy, blocking the sender. (Grace period for fluctuations.) Use 0 to disable; max 1 minute."""
446
479
 
447
480
  auth_type: Annotated[
448
- Optional[OutputSplunkLbAuthenticationMethod], pydantic.Field(alias="authType")
481
+ Annotated[
482
+ Optional[OutputSplunkLbAuthenticationMethod],
483
+ PlainValidator(validate_open_enum(False)),
484
+ ],
485
+ pydantic.Field(alias="authType"),
449
486
  ] = OutputSplunkLbAuthenticationMethod.MANUAL
450
487
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
451
488
 
@@ -456,9 +493,10 @@ class OutputSplunkLb(BaseModel):
456
493
  ] = 1
457
494
  r"""Maximum number of times healthcheck can fail before we close connection. If set to 0 (disabled), and the connection to Splunk is forcibly closed, some data loss might occur."""
458
495
 
459
- compress: Optional[OutputSplunkLbCompressCompression] = (
460
- OutputSplunkLbCompressCompression.DISABLED
461
- )
496
+ compress: Annotated[
497
+ Optional[OutputSplunkLbCompressCompression],
498
+ PlainValidator(validate_open_enum(False)),
499
+ ] = OutputSplunkLbCompressCompression.DISABLED
462
500
  r"""Controls whether the sender should send compressed data to the server. Select 'Disabled' to reject compressed connections or 'Always' to ignore server's configuration and send compressed data."""
463
501
 
464
502
  indexer_discovery_configs: Annotated[
@@ -484,20 +522,29 @@ class OutputSplunkLb(BaseModel):
484
522
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
485
523
 
486
524
  pq_compress: Annotated[
487
- Optional[OutputSplunkLbPqCompressCompression],
525
+ Annotated[
526
+ Optional[OutputSplunkLbPqCompressCompression],
527
+ PlainValidator(validate_open_enum(False)),
528
+ ],
488
529
  pydantic.Field(alias="pqCompress"),
489
530
  ] = OutputSplunkLbPqCompressCompression.NONE
490
531
  r"""Codec to use to compress the persisted data"""
491
532
 
492
533
  pq_on_backpressure: Annotated[
493
- Optional[OutputSplunkLbQueueFullBehavior],
534
+ Annotated[
535
+ Optional[OutputSplunkLbQueueFullBehavior],
536
+ PlainValidator(validate_open_enum(False)),
537
+ ],
494
538
  pydantic.Field(alias="pqOnBackpressure"),
495
539
  ] = OutputSplunkLbQueueFullBehavior.BLOCK
496
540
  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."""
497
541
 
498
- pq_mode: Annotated[Optional[OutputSplunkLbMode], pydantic.Field(alias="pqMode")] = (
499
- OutputSplunkLbMode.ERROR
500
- )
542
+ pq_mode: Annotated[
543
+ Annotated[
544
+ Optional[OutputSplunkLbMode], PlainValidator(validate_open_enum(False))
545
+ ],
546
+ pydantic.Field(alias="pqMode"),
547
+ ] = OutputSplunkLbMode.ERROR
501
548
  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."""
502
549
 
503
550
  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
 
@@ -12,14 +15,14 @@ class OutputSqsType(str, Enum):
12
15
  SQS = "sqs"
13
16
 
14
17
 
15
- class OutputSqsQueueType(str, Enum):
18
+ class OutputSqsQueueType(str, Enum, metaclass=utils.OpenEnumMeta):
16
19
  r"""The queue type used (or created). Defaults to Standard."""
17
20
 
18
21
  STANDARD = "standard"
19
22
  FIFO = "fifo"
20
23
 
21
24
 
22
- class OutputSqsAuthenticationMethod(str, Enum):
25
+ class OutputSqsAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
23
26
  r"""AWS authentication method. Choose Auto to use IAM roles."""
24
27
 
25
28
  AUTO = "auto"
@@ -27,14 +30,14 @@ class OutputSqsAuthenticationMethod(str, Enum):
27
30
  SECRET = "secret"
28
31
 
29
32
 
30
- class OutputSqsSignatureVersion(str, Enum):
33
+ class OutputSqsSignatureVersion(str, Enum, metaclass=utils.OpenEnumMeta):
31
34
  r"""Signature version to use for signing SQS requests"""
32
35
 
33
36
  V2 = "v2"
34
37
  V4 = "v4"
35
38
 
36
39
 
37
- class OutputSqsBackpressureBehavior(str, Enum):
40
+ class OutputSqsBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
38
41
  r"""How to handle events when all receivers are exerting backpressure"""
39
42
 
40
43
  BLOCK = "block"
@@ -42,21 +45,21 @@ class OutputSqsBackpressureBehavior(str, Enum):
42
45
  QUEUE = "queue"
43
46
 
44
47
 
45
- class OutputSqsCompression(str, Enum):
48
+ class OutputSqsCompression(str, Enum, metaclass=utils.OpenEnumMeta):
46
49
  r"""Codec to use to compress the persisted data"""
47
50
 
48
51
  NONE = "none"
49
52
  GZIP = "gzip"
50
53
 
51
54
 
52
- class OutputSqsQueueFullBehavior(str, Enum):
55
+ class OutputSqsQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
53
56
  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."""
54
57
 
55
58
  BLOCK = "block"
56
59
  DROP = "drop"
57
60
 
58
61
 
59
- class OutputSqsMode(str, Enum):
62
+ class OutputSqsMode(str, Enum, metaclass=utils.OpenEnumMeta):
60
63
  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."""
61
64
 
62
65
  ERROR = "error"
@@ -168,7 +171,10 @@ class OutputSqs(BaseModel):
168
171
  r"""Tags for filtering and grouping in @{product}"""
169
172
 
170
173
  queue_type: Annotated[
171
- Optional[OutputSqsQueueType], pydantic.Field(alias="queueType")
174
+ Annotated[
175
+ Optional[OutputSqsQueueType], PlainValidator(validate_open_enum(False))
176
+ ],
177
+ pydantic.Field(alias="queueType"),
172
178
  ] = OutputSqsQueueType.STANDARD
173
179
  r"""The queue type used (or created). Defaults to Standard."""
174
180
 
@@ -186,7 +192,10 @@ class OutputSqs(BaseModel):
186
192
  r"""Create queue if it does not exist."""
187
193
 
188
194
  aws_authentication_method: Annotated[
189
- Optional[OutputSqsAuthenticationMethod],
195
+ Annotated[
196
+ Optional[OutputSqsAuthenticationMethod],
197
+ PlainValidator(validate_open_enum(False)),
198
+ ],
190
199
  pydantic.Field(alias="awsAuthenticationMethod"),
191
200
  ] = OutputSqsAuthenticationMethod.AUTO
192
201
  r"""AWS authentication method. Choose Auto to use IAM roles."""
@@ -202,7 +211,11 @@ class OutputSqs(BaseModel):
202
211
  r"""SQS service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to SQS-compatible endpoint."""
203
212
 
204
213
  signature_version: Annotated[
205
- Optional[OutputSqsSignatureVersion], pydantic.Field(alias="signatureVersion")
214
+ Annotated[
215
+ Optional[OutputSqsSignatureVersion],
216
+ PlainValidator(validate_open_enum(False)),
217
+ ],
218
+ pydantic.Field(alias="signatureVersion"),
206
219
  ] = OutputSqsSignatureVersion.V4
207
220
  r"""Signature version to use for signing SQS requests"""
208
221
 
@@ -257,7 +270,11 @@ class OutputSqs(BaseModel):
257
270
  r"""The maximum number of in-progress API requests before backpressure is applied."""
258
271
 
259
272
  on_backpressure: Annotated[
260
- Optional[OutputSqsBackpressureBehavior], pydantic.Field(alias="onBackpressure")
273
+ Annotated[
274
+ Optional[OutputSqsBackpressureBehavior],
275
+ PlainValidator(validate_open_enum(False)),
276
+ ],
277
+ pydantic.Field(alias="onBackpressure"),
261
278
  ] = OutputSqsBackpressureBehavior.BLOCK
262
279
  r"""How to handle events when all receivers are exerting backpressure"""
263
280
 
@@ -282,18 +299,26 @@ class OutputSqs(BaseModel):
282
299
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
283
300
 
284
301
  pq_compress: Annotated[
285
- Optional[OutputSqsCompression], pydantic.Field(alias="pqCompress")
302
+ Annotated[
303
+ Optional[OutputSqsCompression], PlainValidator(validate_open_enum(False))
304
+ ],
305
+ pydantic.Field(alias="pqCompress"),
286
306
  ] = OutputSqsCompression.NONE
287
307
  r"""Codec to use to compress the persisted data"""
288
308
 
289
309
  pq_on_backpressure: Annotated[
290
- Optional[OutputSqsQueueFullBehavior], pydantic.Field(alias="pqOnBackpressure")
310
+ Annotated[
311
+ Optional[OutputSqsQueueFullBehavior],
312
+ PlainValidator(validate_open_enum(False)),
313
+ ],
314
+ pydantic.Field(alias="pqOnBackpressure"),
291
315
  ] = OutputSqsQueueFullBehavior.BLOCK
292
316
  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."""
293
317
 
294
- pq_mode: Annotated[Optional[OutputSqsMode], pydantic.Field(alias="pqMode")] = (
295
- OutputSqsMode.ERROR
296
- )
318
+ pq_mode: Annotated[
319
+ Annotated[Optional[OutputSqsMode], PlainValidator(validate_open_enum(False))],
320
+ pydantic.Field(alias="pqMode"),
321
+ ] = OutputSqsMode.ERROR
297
322
  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."""
298
323
 
299
324
  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
 
@@ -12,14 +15,14 @@ class OutputStatsdType(str, Enum):
12
15
  STATSD = "statsd"
13
16
 
14
17
 
15
- class OutputStatsdDestinationProtocol(str, Enum):
18
+ class OutputStatsdDestinationProtocol(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 OutputStatsdBackpressureBehavior(str, Enum):
25
+ class OutputStatsdBackpressureBehavior(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 OutputStatsdBackpressureBehavior(str, Enum):
27
30
  QUEUE = "queue"
28
31
 
29
32
 
30
- class OutputStatsdCompression(str, Enum):
33
+ class OutputStatsdCompression(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 OutputStatsdQueueFullBehavior(str, Enum):
40
+ class OutputStatsdQueueFullBehavior(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 OutputStatsdMode(str, Enum):
47
+ class OutputStatsdMode(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 OutputStatsd(BaseModel):
128
131
  streamtags: Optional[List[str]] = None
129
132
  r"""Tags for filtering and grouping in @{product}"""
130
133
 
131
- protocol: Optional[OutputStatsdDestinationProtocol] = (
132
- OutputStatsdDestinationProtocol.UDP
133
- )
134
+ protocol: Annotated[
135
+ Optional[OutputStatsdDestinationProtocol],
136
+ PlainValidator(validate_open_enum(False)),
137
+ ] = OutputStatsdDestinationProtocol.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 OutputStatsd(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[OutputStatsdBackpressureBehavior],
174
+ Annotated[
175
+ Optional[OutputStatsdBackpressureBehavior],
176
+ PlainValidator(validate_open_enum(False)),
177
+ ],
171
178
  pydantic.Field(alias="onBackpressure"),
172
179
  ] = OutputStatsdBackpressureBehavior.BLOCK
173
180
  r"""How to handle events when all receivers are exerting backpressure"""
@@ -186,19 +193,28 @@ class OutputStatsd(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[OutputStatsdCompression], pydantic.Field(alias="pqCompress")
196
+ Annotated[
197
+ Optional[OutputStatsdCompression], PlainValidator(validate_open_enum(False))
198
+ ],
199
+ pydantic.Field(alias="pqCompress"),
190
200
  ] = OutputStatsdCompression.NONE
191
201
  r"""Codec to use to compress the persisted data"""
192
202
 
193
203
  pq_on_backpressure: Annotated[
194
- Optional[OutputStatsdQueueFullBehavior],
204
+ Annotated[
205
+ Optional[OutputStatsdQueueFullBehavior],
206
+ PlainValidator(validate_open_enum(False)),
207
+ ],
195
208
  pydantic.Field(alias="pqOnBackpressure"),
196
209
  ] = OutputStatsdQueueFullBehavior.BLOCK
197
210
  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
211
 
199
- pq_mode: Annotated[Optional[OutputStatsdMode], pydantic.Field(alias="pqMode")] = (
200
- OutputStatsdMode.ERROR
201
- )
212
+ pq_mode: Annotated[
213
+ Annotated[
214
+ Optional[OutputStatsdMode], PlainValidator(validate_open_enum(False))
215
+ ],
216
+ pydantic.Field(alias="pqMode"),
217
+ ] = OutputStatsdMode.ERROR
202
218
  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
219
 
204
220
  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
 
@@ -12,14 +15,14 @@ class OutputStatsdExtType(str, Enum):
12
15
  STATSD_EXT = "statsd_ext"
13
16
 
14
17
 
15
- class OutputStatsdExtDestinationProtocol(str, Enum):
18
+ class OutputStatsdExtDestinationProtocol(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 OutputStatsdExtBackpressureBehavior(str, Enum):
25
+ class OutputStatsdExtBackpressureBehavior(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 OutputStatsdExtBackpressureBehavior(str, Enum):
27
30
  QUEUE = "queue"
28
31
 
29
32
 
30
- class OutputStatsdExtCompression(str, Enum):
33
+ class OutputStatsdExtCompression(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 OutputStatsdExtQueueFullBehavior(str, Enum):
40
+ class OutputStatsdExtQueueFullBehavior(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 OutputStatsdExtMode(str, Enum):
47
+ class OutputStatsdExtMode(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 OutputStatsdExt(BaseModel):
128
131
  streamtags: Optional[List[str]] = None
129
132
  r"""Tags for filtering and grouping in @{product}"""
130
133
 
131
- protocol: Optional[OutputStatsdExtDestinationProtocol] = (
132
- OutputStatsdExtDestinationProtocol.UDP
133
- )
134
+ protocol: Annotated[
135
+ Optional[OutputStatsdExtDestinationProtocol],
136
+ PlainValidator(validate_open_enum(False)),
137
+ ] = OutputStatsdExtDestinationProtocol.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 OutputStatsdExt(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[OutputStatsdExtBackpressureBehavior],
174
+ Annotated[
175
+ Optional[OutputStatsdExtBackpressureBehavior],
176
+ PlainValidator(validate_open_enum(False)),
177
+ ],
171
178
  pydantic.Field(alias="onBackpressure"),
172
179
  ] = OutputStatsdExtBackpressureBehavior.BLOCK
173
180
  r"""How to handle events when all receivers are exerting backpressure"""
@@ -186,18 +193,28 @@ class OutputStatsdExt(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[OutputStatsdExtCompression], pydantic.Field(alias="pqCompress")
196
+ Annotated[
197
+ Optional[OutputStatsdExtCompression],
198
+ PlainValidator(validate_open_enum(False)),
199
+ ],
200
+ pydantic.Field(alias="pqCompress"),
190
201
  ] = OutputStatsdExtCompression.NONE
191
202
  r"""Codec to use to compress the persisted data"""
192
203
 
193
204
  pq_on_backpressure: Annotated[
194
- Optional[OutputStatsdExtQueueFullBehavior],
205
+ Annotated[
206
+ Optional[OutputStatsdExtQueueFullBehavior],
207
+ PlainValidator(validate_open_enum(False)),
208
+ ],
195
209
  pydantic.Field(alias="pqOnBackpressure"),
196
210
  ] = OutputStatsdExtQueueFullBehavior.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
213
  pq_mode: Annotated[
200
- Optional[OutputStatsdExtMode], pydantic.Field(alias="pqMode")
214
+ Annotated[
215
+ Optional[OutputStatsdExtMode], PlainValidator(validate_open_enum(False))
216
+ ],
217
+ pydantic.Field(alias="pqMode"),
201
218
  ] = OutputStatsdExtMode.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