cribl-control-plane 0.0.49__py3-none-any.whl → 0.0.50rc1__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 +21 -4
  5. cribl_control_plane/models/appmode.py +2 -1
  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 +7 -2
  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/createversionundoop.py +3 -3
  15. cribl_control_plane/models/cribllakedataset.py +8 -2
  16. cribl_control_plane/models/datasetmetadata.py +8 -2
  17. cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +7 -2
  18. cribl_control_plane/models/error.py +16 -0
  19. cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +4 -2
  20. cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +4 -2
  21. cribl_control_plane/models/getconfiggroupbyproductandidop.py +3 -1
  22. cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +7 -2
  23. cribl_control_plane/models/gethealthinfoop.py +17 -0
  24. cribl_control_plane/models/getsummaryop.py +7 -2
  25. cribl_control_plane/models/getversionshowop.py +6 -5
  26. cribl_control_plane/models/gitinfo.py +14 -3
  27. cribl_control_plane/models/gitshowresult.py +19 -0
  28. cribl_control_plane/models/hbcriblinfo.py +11 -1
  29. cribl_control_plane/models/healthstatus.py +7 -4
  30. cribl_control_plane/models/inputappscope.py +34 -14
  31. cribl_control_plane/models/inputazureblob.py +17 -6
  32. cribl_control_plane/models/inputcollection.py +11 -4
  33. cribl_control_plane/models/inputconfluentcloud.py +47 -20
  34. cribl_control_plane/models/inputcribl.py +11 -4
  35. cribl_control_plane/models/inputcriblhttp.py +23 -8
  36. cribl_control_plane/models/inputcribllakehttp.py +22 -10
  37. cribl_control_plane/models/inputcriblmetrics.py +12 -4
  38. cribl_control_plane/models/inputcribltcp.py +23 -8
  39. cribl_control_plane/models/inputcrowdstrike.py +26 -10
  40. cribl_control_plane/models/inputdatadogagent.py +24 -8
  41. cribl_control_plane/models/inputdatagen.py +11 -4
  42. cribl_control_plane/models/inputedgeprometheus.py +58 -24
  43. cribl_control_plane/models/inputelastic.py +40 -14
  44. cribl_control_plane/models/inputeventhub.py +15 -6
  45. cribl_control_plane/models/inputexec.py +14 -6
  46. cribl_control_plane/models/inputfile.py +15 -6
  47. cribl_control_plane/models/inputfirehose.py +23 -8
  48. cribl_control_plane/models/inputgooglepubsub.py +19 -6
  49. cribl_control_plane/models/inputgrafana.py +67 -24
  50. cribl_control_plane/models/inputhttp.py +23 -8
  51. cribl_control_plane/models/inputhttpraw.py +23 -8
  52. cribl_control_plane/models/inputjournalfiles.py +12 -4
  53. cribl_control_plane/models/inputkafka.py +46 -16
  54. cribl_control_plane/models/inputkinesis.py +38 -14
  55. cribl_control_plane/models/inputkubeevents.py +11 -4
  56. cribl_control_plane/models/inputkubelogs.py +16 -8
  57. cribl_control_plane/models/inputkubemetrics.py +16 -8
  58. cribl_control_plane/models/inputloki.py +29 -10
  59. cribl_control_plane/models/inputmetrics.py +23 -8
  60. cribl_control_plane/models/inputmodeldriventelemetry.py +32 -10
  61. cribl_control_plane/models/inputmsk.py +53 -18
  62. cribl_control_plane/models/inputnetflow.py +11 -4
  63. cribl_control_plane/models/inputoffice365mgmt.py +33 -14
  64. cribl_control_plane/models/inputoffice365msgtrace.py +35 -16
  65. cribl_control_plane/models/inputoffice365service.py +35 -16
  66. cribl_control_plane/models/inputopentelemetry.py +38 -16
  67. cribl_control_plane/models/inputprometheus.py +50 -18
  68. cribl_control_plane/models/inputprometheusrw.py +30 -10
  69. cribl_control_plane/models/inputrawudp.py +11 -4
  70. cribl_control_plane/models/inputs3.py +21 -8
  71. cribl_control_plane/models/inputs3inventory.py +26 -10
  72. cribl_control_plane/models/inputsecuritylake.py +27 -10
  73. cribl_control_plane/models/inputsnmp.py +16 -6
  74. cribl_control_plane/models/inputsplunk.py +33 -12
  75. cribl_control_plane/models/inputsplunkhec.py +29 -10
  76. cribl_control_plane/models/inputsplunksearch.py +33 -14
  77. cribl_control_plane/models/inputsqs.py +27 -10
  78. cribl_control_plane/models/inputsyslog.py +43 -16
  79. cribl_control_plane/models/inputsystemmetrics.py +48 -24
  80. cribl_control_plane/models/inputsystemstate.py +16 -8
  81. cribl_control_plane/models/inputtcp.py +29 -10
  82. cribl_control_plane/models/inputtcpjson.py +29 -10
  83. cribl_control_plane/models/inputwef.py +37 -14
  84. cribl_control_plane/models/inputwindowsmetrics.py +44 -24
  85. cribl_control_plane/models/inputwineventlogs.py +20 -10
  86. cribl_control_plane/models/inputwiz.py +21 -8
  87. cribl_control_plane/models/inputwizwebhook.py +23 -8
  88. cribl_control_plane/models/inputzscalerhec.py +29 -10
  89. cribl_control_plane/models/jobinfo.py +4 -1
  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 +4 -1
  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/outputazureblob.py +48 -18
  100. cribl_control_plane/models/outputazuredataexplorer.py +73 -28
  101. cribl_control_plane/models/outputazureeventhub.py +40 -18
  102. cribl_control_plane/models/outputazurelogs.py +35 -12
  103. cribl_control_plane/models/outputclickhouse.py +55 -20
  104. cribl_control_plane/models/outputcloudwatch.py +29 -10
  105. cribl_control_plane/models/outputconfluentcloud.py +77 -32
  106. cribl_control_plane/models/outputcriblhttp.py +44 -16
  107. cribl_control_plane/models/outputcribllake.py +46 -16
  108. cribl_control_plane/models/outputcribltcp.py +45 -18
  109. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +49 -14
  110. cribl_control_plane/models/outputdatadog.py +48 -20
  111. cribl_control_plane/models/outputdataset.py +46 -18
  112. cribl_control_plane/models/outputdiskspool.py +7 -2
  113. cribl_control_plane/models/outputdls3.py +68 -24
  114. cribl_control_plane/models/outputdynatracehttp.py +53 -20
  115. cribl_control_plane/models/outputdynatraceotlp.py +55 -22
  116. cribl_control_plane/models/outputelastic.py +43 -18
  117. cribl_control_plane/models/outputelasticcloud.py +36 -12
  118. cribl_control_plane/models/outputexabeam.py +29 -10
  119. cribl_control_plane/models/outputfilesystem.py +39 -14
  120. cribl_control_plane/models/outputgooglechronicle.py +50 -16
  121. cribl_control_plane/models/outputgooglecloudlogging.py +50 -18
  122. cribl_control_plane/models/outputgooglecloudstorage.py +66 -24
  123. cribl_control_plane/models/outputgooglepubsub.py +31 -10
  124. cribl_control_plane/models/outputgrafanacloud.py +97 -32
  125. cribl_control_plane/models/outputgraphite.py +31 -14
  126. cribl_control_plane/models/outputhoneycomb.py +35 -12
  127. cribl_control_plane/models/outputhumiohec.py +43 -16
  128. cribl_control_plane/models/outputinfluxdb.py +42 -16
  129. cribl_control_plane/models/outputkafka.py +74 -28
  130. cribl_control_plane/models/outputkinesis.py +40 -16
  131. cribl_control_plane/models/outputloki.py +41 -16
  132. cribl_control_plane/models/outputminio.py +65 -24
  133. cribl_control_plane/models/outputmsk.py +82 -30
  134. cribl_control_plane/models/outputnewrelic.py +43 -18
  135. cribl_control_plane/models/outputnewrelicevents.py +41 -14
  136. cribl_control_plane/models/outputopentelemetry.py +67 -26
  137. cribl_control_plane/models/outputprometheus.py +35 -12
  138. cribl_control_plane/models/outputring.py +19 -8
  139. cribl_control_plane/models/outputs3.py +68 -26
  140. cribl_control_plane/models/outputsecuritylake.py +52 -18
  141. cribl_control_plane/models/outputsentinel.py +45 -18
  142. cribl_control_plane/models/outputsentineloneaisiem.py +50 -18
  143. cribl_control_plane/models/outputservicenow.py +60 -24
  144. cribl_control_plane/models/outputsignalfx.py +37 -14
  145. cribl_control_plane/models/outputsns.py +36 -14
  146. cribl_control_plane/models/outputsplunk.py +60 -24
  147. cribl_control_plane/models/outputsplunkhec.py +35 -12
  148. cribl_control_plane/models/outputsplunklb.py +77 -30
  149. cribl_control_plane/models/outputsqs.py +41 -16
  150. cribl_control_plane/models/outputstatsd.py +30 -14
  151. cribl_control_plane/models/outputstatsdext.py +29 -12
  152. cribl_control_plane/models/outputsumologic.py +35 -12
  153. cribl_control_plane/models/outputsyslog.py +58 -24
  154. cribl_control_plane/models/outputtcpjson.py +52 -20
  155. cribl_control_plane/models/outputwavefront.py +35 -12
  156. cribl_control_plane/models/outputwebhook.py +58 -22
  157. cribl_control_plane/models/outputxsiam.py +35 -14
  158. cribl_control_plane/models/packinfo.py +3 -0
  159. cribl_control_plane/models/packinstallinfo.py +3 -0
  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/runnablejobcollection.py +30 -13
  164. cribl_control_plane/models/runnablejobexecutor.py +13 -4
  165. cribl_control_plane/models/runnablejobscheduledsearch.py +7 -2
  166. cribl_control_plane/models/updateconfiggroupbyproductandidop.py +8 -2
  167. cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +8 -2
  168. cribl_control_plane/models/updateinputhectokenbyidandtokenop.py +6 -5
  169. cribl_control_plane/models/workertypes.py +2 -1
  170. {cribl_control_plane-0.0.49.dist-info → cribl_control_plane-0.0.50rc1.dist-info}/METADATA +1 -1
  171. cribl_control_plane-0.0.50rc1.dist-info/RECORD +328 -0
  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.0.50rc1.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
 
@@ -23,14 +26,14 @@ class InputEdgePrometheusConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputEdgePrometheusMode(str, Enum):
29
+ class InputEdgePrometheusMode(str, Enum, metaclass=utils.OpenEnumMeta):
27
30
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
28
31
 
29
32
  SMART = "smart"
30
33
  ALWAYS = "always"
31
34
 
32
35
 
33
- class InputEdgePrometheusPqCompression(str, Enum):
36
+ class InputEdgePrometheusPqCompression(str, Enum, metaclass=utils.OpenEnumMeta):
34
37
  r"""Codec to use to compress the persisted data"""
35
38
 
36
39
  NONE = "none"
@@ -64,7 +67,9 @@ class InputEdgePrometheusPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputEdgePrometheusPq(BaseModel):
67
- mode: Optional[InputEdgePrometheusMode] = InputEdgePrometheusMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputEdgePrometheusMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputEdgePrometheusMode.ALWAYS
68
73
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
69
74
 
70
75
  max_buffer_size: Annotated[
@@ -88,9 +93,10 @@ class InputEdgePrometheusPq(BaseModel):
88
93
  path: Optional[str] = "$CRIBL_HOME/state/queues"
89
94
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
90
95
 
91
- compress: Optional[InputEdgePrometheusPqCompression] = (
92
- InputEdgePrometheusPqCompression.NONE
93
- )
96
+ compress: Annotated[
97
+ Optional[InputEdgePrometheusPqCompression],
98
+ PlainValidator(validate_open_enum(False)),
99
+ ] = InputEdgePrometheusPqCompression.NONE
94
100
  r"""Codec to use to compress the persisted data"""
95
101
 
96
102
  pq_controls: Annotated[
@@ -98,7 +104,7 @@ class InputEdgePrometheusPq(BaseModel):
98
104
  ] = None
99
105
 
100
106
 
101
- class InputEdgePrometheusDiscoveryType(str, Enum):
107
+ class InputEdgePrometheusDiscoveryType(str, Enum, metaclass=utils.OpenEnumMeta):
102
108
  r"""Target discovery mechanism. Use static to manually enter a list of targets."""
103
109
 
104
110
  STATIC = "static"
@@ -108,7 +114,9 @@ class InputEdgePrometheusDiscoveryType(str, Enum):
108
114
  K8S_PODS = "k8s-pods"
109
115
 
110
116
 
111
- class InputEdgePrometheusPersistenceCompression(str, Enum):
117
+ class InputEdgePrometheusPersistenceCompression(
118
+ str, Enum, metaclass=utils.OpenEnumMeta
119
+ ):
112
120
  r"""Data compression format. Default is gzip."""
113
121
 
114
122
  NONE = "none"
@@ -141,9 +149,10 @@ class InputEdgePrometheusDiskSpooling(BaseModel):
141
149
  max_data_time: Annotated[Optional[str], pydantic.Field(alias="maxDataTime")] = "24h"
142
150
  r"""Maximum amount of time to retain data before older buckets are deleted. Examples: 2h, 4d. Default is 24h."""
143
151
 
144
- compress: Optional[InputEdgePrometheusPersistenceCompression] = (
145
- InputEdgePrometheusPersistenceCompression.GZIP
146
- )
152
+ compress: Annotated[
153
+ Optional[InputEdgePrometheusPersistenceCompression],
154
+ PlainValidator(validate_open_enum(False)),
155
+ ] = InputEdgePrometheusPersistenceCompression.GZIP
147
156
  r"""Data compression format. Default is gzip."""
148
157
 
149
158
 
@@ -160,7 +169,9 @@ class InputEdgePrometheusMetadatum(BaseModel):
160
169
  r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
161
170
 
162
171
 
163
- class InputEdgePrometheusAuthTypeAuthenticationMethod(str, Enum):
172
+ class InputEdgePrometheusAuthTypeAuthenticationMethod(
173
+ str, Enum, metaclass=utils.OpenEnumMeta
174
+ ):
164
175
  r"""Enter credentials directly, or select a stored secret"""
165
176
 
166
177
  MANUAL = "manual"
@@ -168,7 +179,7 @@ class InputEdgePrometheusAuthTypeAuthenticationMethod(str, Enum):
168
179
  KUBERNETES = "kubernetes"
169
180
 
170
181
 
171
- class TargetProtocol(str, Enum):
182
+ class TargetProtocol(str, Enum, metaclass=utils.OpenEnumMeta):
172
183
  r"""Protocol to use when collecting metrics"""
173
184
 
174
185
  HTTP = "http"
@@ -190,7 +201,9 @@ class Target(BaseModel):
190
201
  host: str
191
202
  r"""Name of host from which to pull metrics."""
192
203
 
193
- protocol: Optional[TargetProtocol] = TargetProtocol.HTTP
204
+ protocol: Annotated[
205
+ Optional[TargetProtocol], PlainValidator(validate_open_enum(False))
206
+ ] = TargetProtocol.HTTP
194
207
  r"""Protocol to use when collecting metrics"""
195
208
 
196
209
  port: Optional[float] = 9090
@@ -200,7 +213,7 @@ class Target(BaseModel):
200
213
  r"""Path to use when collecting metrics from discovered targets"""
201
214
 
202
215
 
203
- class InputEdgePrometheusRecordType(str, Enum):
216
+ class InputEdgePrometheusRecordType(str, Enum, metaclass=utils.OpenEnumMeta):
204
217
  r"""DNS Record type to resolve"""
205
218
 
206
219
  SRV = "SRV"
@@ -208,7 +221,7 @@ class InputEdgePrometheusRecordType(str, Enum):
208
221
  AAAA = "AAAA"
209
222
 
210
223
 
211
- class ScrapeProtocolProtocol(str, Enum):
224
+ class ScrapeProtocolProtocol(str, Enum, metaclass=utils.OpenEnumMeta):
212
225
  r"""Protocol to use when collecting metrics"""
213
226
 
214
227
  HTTP = "http"
@@ -230,7 +243,9 @@ class InputEdgePrometheusSearchFilter(BaseModel):
230
243
  r"""Search Filter Values, if empty only \"running\" EC2 instances will be returned"""
231
244
 
232
245
 
233
- class InputEdgePrometheusAwsAuthenticationMethodAuthenticationMethod(str, Enum):
246
+ class InputEdgePrometheusAwsAuthenticationMethodAuthenticationMethod(
247
+ str, Enum, metaclass=utils.OpenEnumMeta
248
+ ):
234
249
  r"""AWS authentication method. Choose Auto to use IAM roles."""
235
250
 
236
251
  AUTO = "auto"
@@ -238,7 +253,7 @@ class InputEdgePrometheusAwsAuthenticationMethodAuthenticationMethod(str, Enum):
238
253
  SECRET = "secret"
239
254
 
240
255
 
241
- class InputEdgePrometheusSignatureVersion(str, Enum):
256
+ class InputEdgePrometheusSignatureVersion(str, Enum, metaclass=utils.OpenEnumMeta):
242
257
  r"""Signature version to use for signing EC2 requests"""
243
258
 
244
259
  V2 = "v2"
@@ -386,7 +401,10 @@ class InputEdgePrometheus(BaseModel):
386
401
  r"""Other dimensions to include in events"""
387
402
 
388
403
  discovery_type: Annotated[
389
- Optional[InputEdgePrometheusDiscoveryType],
404
+ Annotated[
405
+ Optional[InputEdgePrometheusDiscoveryType],
406
+ PlainValidator(validate_open_enum(False)),
407
+ ],
390
408
  pydantic.Field(alias="discoveryType"),
391
409
  ] = InputEdgePrometheusDiscoveryType.STATIC
392
410
  r"""Target discovery mechanism. Use static to manually enter a list of targets."""
@@ -403,7 +421,10 @@ class InputEdgePrometheus(BaseModel):
403
421
  r"""Fields to add to events from this input"""
404
422
 
405
423
  auth_type: Annotated[
406
- Optional[InputEdgePrometheusAuthTypeAuthenticationMethod],
424
+ Annotated[
425
+ Optional[InputEdgePrometheusAuthTypeAuthenticationMethod],
426
+ PlainValidator(validate_open_enum(False)),
427
+ ],
407
428
  pydantic.Field(alias="authType"),
408
429
  ] = InputEdgePrometheusAuthTypeAuthenticationMethod.MANUAL
409
430
  r"""Enter credentials directly, or select a stored secret"""
@@ -416,12 +437,19 @@ class InputEdgePrometheus(BaseModel):
416
437
  r"""List of DNS names to resolve"""
417
438
 
418
439
  record_type: Annotated[
419
- Optional[InputEdgePrometheusRecordType], pydantic.Field(alias="recordType")
440
+ Annotated[
441
+ Optional[InputEdgePrometheusRecordType],
442
+ PlainValidator(validate_open_enum(False)),
443
+ ],
444
+ pydantic.Field(alias="recordType"),
420
445
  ] = InputEdgePrometheusRecordType.SRV
421
446
  r"""DNS Record type to resolve"""
422
447
 
423
448
  scrape_protocol: Annotated[
424
- Optional[ScrapeProtocolProtocol], pydantic.Field(alias="scrapeProtocol")
449
+ Annotated[
450
+ Optional[ScrapeProtocolProtocol], PlainValidator(validate_open_enum(False))
451
+ ],
452
+ pydantic.Field(alias="scrapeProtocol"),
425
453
  ] = ScrapeProtocolProtocol.HTTP
426
454
  r"""Protocol to use when collecting metrics"""
427
455
 
@@ -443,7 +471,10 @@ class InputEdgePrometheus(BaseModel):
443
471
  r"""EC2 Instance Search Filter"""
444
472
 
445
473
  aws_authentication_method: Annotated[
446
- Optional[InputEdgePrometheusAwsAuthenticationMethodAuthenticationMethod],
474
+ Annotated[
475
+ Optional[InputEdgePrometheusAwsAuthenticationMethodAuthenticationMethod],
476
+ PlainValidator(validate_open_enum(False)),
477
+ ],
447
478
  pydantic.Field(alias="awsAuthenticationMethod"),
448
479
  ] = InputEdgePrometheusAwsAuthenticationMethodAuthenticationMethod.AUTO
449
480
  r"""AWS authentication method. Choose Auto to use IAM roles."""
@@ -459,7 +490,10 @@ class InputEdgePrometheus(BaseModel):
459
490
  r"""EC2 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to EC2-compatible endpoint."""
460
491
 
461
492
  signature_version: Annotated[
462
- Optional[InputEdgePrometheusSignatureVersion],
493
+ Annotated[
494
+ Optional[InputEdgePrometheusSignatureVersion],
495
+ PlainValidator(validate_open_enum(False)),
496
+ ],
463
497
  pydantic.Field(alias="signatureVersion"),
464
498
  ] = InputEdgePrometheusSignatureVersion.V4
465
499
  r"""Signature version to use for signing EC2 requests"""
@@ -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 Any, List, Optional
8
11
  from typing_extensions import Annotated, NotRequired, TypedDict
9
12
 
@@ -23,14 +26,14 @@ class InputElasticConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputElasticMode(str, Enum):
29
+ class InputElasticMode(str, Enum, metaclass=utils.OpenEnumMeta):
27
30
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
28
31
 
29
32
  SMART = "smart"
30
33
  ALWAYS = "always"
31
34
 
32
35
 
33
- class InputElasticCompression(str, Enum):
36
+ class InputElasticCompression(str, Enum, metaclass=utils.OpenEnumMeta):
34
37
  r"""Codec to use to compress the persisted data"""
35
38
 
36
39
  NONE = "none"
@@ -64,7 +67,9 @@ class InputElasticPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputElasticPq(BaseModel):
67
- mode: Optional[InputElasticMode] = InputElasticMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputElasticMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputElasticMode.ALWAYS
68
73
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
69
74
 
70
75
  max_buffer_size: Annotated[
@@ -88,7 +93,9 @@ class InputElasticPq(BaseModel):
88
93
  path: Optional[str] = "$CRIBL_HOME/state/queues"
89
94
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
90
95
 
91
- compress: Optional[InputElasticCompression] = InputElasticCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputElasticCompression], PlainValidator(validate_open_enum(False))
98
+ ] = InputElasticCompression.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[
@@ -96,14 +103,14 @@ class InputElasticPq(BaseModel):
96
103
  ] = None
97
104
 
98
105
 
99
- class InputElasticMinimumTLSVersion(str, Enum):
106
+ class InputElasticMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
100
107
  TL_SV1 = "TLSv1"
101
108
  TL_SV1_1 = "TLSv1.1"
102
109
  TL_SV1_2 = "TLSv1.2"
103
110
  TL_SV1_3 = "TLSv1.3"
104
111
 
105
112
 
106
- class InputElasticMaximumTLSVersion(str, Enum):
113
+ class InputElasticMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
107
114
  TL_SV1 = "TLSv1"
108
115
  TL_SV1_1 = "TLSv1.1"
109
116
  TL_SV1_2 = "TLSv1.2"
@@ -162,22 +169,30 @@ class InputElasticTLSSettingsServerSide(BaseModel):
162
169
  ] = None
163
170
 
164
171
  min_version: Annotated[
165
- Optional[InputElasticMinimumTLSVersion], pydantic.Field(alias="minVersion")
172
+ Annotated[
173
+ Optional[InputElasticMinimumTLSVersion],
174
+ PlainValidator(validate_open_enum(False)),
175
+ ],
176
+ pydantic.Field(alias="minVersion"),
166
177
  ] = None
167
178
 
168
179
  max_version: Annotated[
169
- Optional[InputElasticMaximumTLSVersion], pydantic.Field(alias="maxVersion")
180
+ Annotated[
181
+ Optional[InputElasticMaximumTLSVersion],
182
+ PlainValidator(validate_open_enum(False)),
183
+ ],
184
+ pydantic.Field(alias="maxVersion"),
170
185
  ] = None
171
186
 
172
187
 
173
- class InputElasticAuthenticationType(str, Enum):
188
+ class InputElasticAuthenticationType(str, Enum, metaclass=utils.OpenEnumMeta):
174
189
  NONE = "none"
175
190
  BASIC = "basic"
176
191
  CREDENTIALS_SECRET = "credentialsSecret"
177
192
  AUTH_TOKENS = "authTokens"
178
193
 
179
194
 
180
- class InputElasticAPIVersion(str, Enum):
195
+ class InputElasticAPIVersion(str, Enum, metaclass=utils.OpenEnumMeta):
181
196
  r"""The API version to use for communicating with the server"""
182
197
 
183
198
  SIX_DOT_8_DOT_4 = "6.8.4"
@@ -209,7 +224,7 @@ class InputElasticMetadatum(BaseModel):
209
224
  r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
210
225
 
211
226
 
212
- class InputElasticAuthenticationMethod(str, Enum):
227
+ class InputElasticAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
213
228
  r"""Enter credentials directly, or select a stored secret"""
214
229
 
215
230
  NONE = "none"
@@ -253,7 +268,11 @@ class InputElasticProxyMode(BaseModel):
253
268
  r"""Amount of time, in seconds, to wait for a proxy request to complete before canceling it"""
254
269
 
255
270
  auth_type: Annotated[
256
- Optional[InputElasticAuthenticationMethod], pydantic.Field(alias="authType")
271
+ Annotated[
272
+ Optional[InputElasticAuthenticationMethod],
273
+ PlainValidator(validate_open_enum(False)),
274
+ ],
275
+ pydantic.Field(alias="authType"),
257
276
  ] = InputElasticAuthenticationMethod.NONE
258
277
  r"""Enter credentials directly, or select a stored secret"""
259
278
 
@@ -421,11 +440,18 @@ class InputElastic(BaseModel):
421
440
  r"""Absolute path on which to listen for Elasticsearch API requests. Defaults to /. _bulk will be appended automatically. For example, /myPath becomes /myPath/_bulk. Requests can then be made to either /myPath/_bulk or /myPath/<myIndexName>/_bulk. Other entries are faked as success."""
422
441
 
423
442
  auth_type: Annotated[
424
- Optional[InputElasticAuthenticationType], pydantic.Field(alias="authType")
443
+ Annotated[
444
+ Optional[InputElasticAuthenticationType],
445
+ PlainValidator(validate_open_enum(False)),
446
+ ],
447
+ pydantic.Field(alias="authType"),
425
448
  ] = InputElasticAuthenticationType.NONE
426
449
 
427
450
  api_version: Annotated[
428
- Optional[InputElasticAPIVersion], pydantic.Field(alias="apiVersion")
451
+ Annotated[
452
+ Optional[InputElasticAPIVersion], PlainValidator(validate_open_enum(False))
453
+ ],
454
+ pydantic.Field(alias="apiVersion"),
429
455
  ] = InputElasticAPIVersion.EIGHT_DOT_3_DOT_2
430
456
  r"""The API version to use for communicating with the server"""
431
457
 
@@ -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,14 +26,14 @@ class InputEventhubConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputEventhubMode(str, Enum):
29
+ class InputEventhubMode(str, Enum, metaclass=utils.OpenEnumMeta):
27
30
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
28
31
 
29
32
  SMART = "smart"
30
33
  ALWAYS = "always"
31
34
 
32
35
 
33
- class InputEventhubCompression(str, Enum):
36
+ class InputEventhubCompression(str, Enum, metaclass=utils.OpenEnumMeta):
34
37
  r"""Codec to use to compress the persisted data"""
35
38
 
36
39
  NONE = "none"
@@ -64,7 +67,9 @@ class InputEventhubPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputEventhubPq(BaseModel):
67
- mode: Optional[InputEventhubMode] = InputEventhubMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputEventhubMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputEventhubMode.ALWAYS
68
73
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
69
74
 
70
75
  max_buffer_size: Annotated[
@@ -88,7 +93,9 @@ class InputEventhubPq(BaseModel):
88
93
  path: Optional[str] = "$CRIBL_HOME/state/queues"
89
94
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
90
95
 
91
- compress: Optional[InputEventhubCompression] = InputEventhubCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputEventhubCompression], PlainValidator(validate_open_enum(False))
98
+ ] = InputEventhubCompression.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[
@@ -96,7 +103,7 @@ class InputEventhubPq(BaseModel):
96
103
  ] = None
97
104
 
98
105
 
99
- class InputEventhubSASLMechanism(str, Enum):
106
+ class InputEventhubSASLMechanism(str, Enum, metaclass=utils.OpenEnumMeta):
100
107
  PLAIN = "plain"
101
108
  OAUTHBEARER = "oauthbearer"
102
109
 
@@ -113,7 +120,9 @@ class InputEventhubAuthentication(BaseModel):
113
120
 
114
121
  disabled: Optional[bool] = False
115
122
 
116
- mechanism: Optional[InputEventhubSASLMechanism] = InputEventhubSASLMechanism.PLAIN
123
+ mechanism: Annotated[
124
+ Optional[InputEventhubSASLMechanism], PlainValidator(validate_open_enum(False))
125
+ ] = InputEventhubSASLMechanism.PLAIN
117
126
 
118
127
 
119
128
  class InputEventhubTLSSettingsClientSideTypedDict(TypedDict):
@@ -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,14 +26,14 @@ class InputExecConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputExecMode(str, Enum):
29
+ class InputExecMode(str, Enum, metaclass=utils.OpenEnumMeta):
27
30
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
28
31
 
29
32
  SMART = "smart"
30
33
  ALWAYS = "always"
31
34
 
32
35
 
33
- class InputExecCompression(str, Enum):
36
+ class InputExecCompression(str, Enum, metaclass=utils.OpenEnumMeta):
34
37
  r"""Codec to use to compress the persisted data"""
35
38
 
36
39
  NONE = "none"
@@ -64,7 +67,9 @@ class InputExecPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputExecPq(BaseModel):
67
- mode: Optional[InputExecMode] = InputExecMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputExecMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputExecMode.ALWAYS
68
73
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
69
74
 
70
75
  max_buffer_size: Annotated[
@@ -88,7 +93,9 @@ class InputExecPq(BaseModel):
88
93
  path: Optional[str] = "$CRIBL_HOME/state/queues"
89
94
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
90
95
 
91
- compress: Optional[InputExecCompression] = InputExecCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputExecCompression], PlainValidator(validate_open_enum(False))
98
+ ] = InputExecCompression.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[
@@ -96,7 +103,7 @@ class InputExecPq(BaseModel):
96
103
  ] = None
97
104
 
98
105
 
99
- class ScheduleType(str, Enum):
106
+ class ScheduleType(str, Enum, metaclass=utils.OpenEnumMeta):
100
107
  r"""Select a schedule type; either an interval (in seconds) or a cron-style schedule."""
101
108
 
102
109
  INTERVAL = "interval"
@@ -190,7 +197,8 @@ class InputExec(BaseModel):
190
197
  r"""Maximum number of retry attempts in the event that the command fails"""
191
198
 
192
199
  schedule_type: Annotated[
193
- Optional[ScheduleType], pydantic.Field(alias="scheduleType")
200
+ Annotated[Optional[ScheduleType], PlainValidator(validate_open_enum(False))],
201
+ pydantic.Field(alias="scheduleType"),
194
202
  ] = ScheduleType.INTERVAL
195
203
  r"""Select a schedule type; either an interval (in seconds) or a cron-style schedule."""
196
204
 
@@ -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,14 +26,14 @@ class InputFileConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputFilePqMode(str, Enum):
29
+ class InputFilePqMode(str, Enum, metaclass=utils.OpenEnumMeta):
27
30
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
28
31
 
29
32
  SMART = "smart"
30
33
  ALWAYS = "always"
31
34
 
32
35
 
33
- class InputFileCompression(str, Enum):
36
+ class InputFileCompression(str, Enum, metaclass=utils.OpenEnumMeta):
34
37
  r"""Codec to use to compress the persisted data"""
35
38
 
36
39
  NONE = "none"
@@ -64,7 +67,9 @@ class InputFilePqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputFilePq(BaseModel):
67
- mode: Optional[InputFilePqMode] = InputFilePqMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputFilePqMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputFilePqMode.ALWAYS
68
73
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
69
74
 
70
75
  max_buffer_size: Annotated[
@@ -88,7 +93,9 @@ class InputFilePq(BaseModel):
88
93
  path: Optional[str] = "$CRIBL_HOME/state/queues"
89
94
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
90
95
 
91
- compress: Optional[InputFileCompression] = InputFileCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputFileCompression], PlainValidator(validate_open_enum(False))
98
+ ] = InputFileCompression.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[
@@ -96,7 +103,7 @@ class InputFilePq(BaseModel):
96
103
  ] = None
97
104
 
98
105
 
99
- class InputFileMode(str, Enum):
106
+ class InputFileMode(str, Enum, metaclass=utils.OpenEnumMeta):
100
107
  r"""Choose how to discover files to monitor"""
101
108
 
102
109
  AUTO = "auto"
@@ -200,7 +207,9 @@ class InputFile(BaseModel):
200
207
 
201
208
  pq: Optional[InputFilePq] = None
202
209
 
203
- mode: Optional[InputFileMode] = InputFileMode.AUTO
210
+ mode: Annotated[
211
+ Optional[InputFileMode], PlainValidator(validate_open_enum(False))
212
+ ] = InputFileMode.AUTO
204
213
  r"""Choose how to discover files to monitor"""
205
214
 
206
215
  interval: Optional[float] = 10
@@ -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 Any, List, Optional
8
11
  from typing_extensions import Annotated, NotRequired, TypedDict
9
12
 
@@ -23,14 +26,14 @@ class InputFirehoseConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputFirehoseMode(str, Enum):
29
+ class InputFirehoseMode(str, Enum, metaclass=utils.OpenEnumMeta):
27
30
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
28
31
 
29
32
  SMART = "smart"
30
33
  ALWAYS = "always"
31
34
 
32
35
 
33
- class InputFirehoseCompression(str, Enum):
36
+ class InputFirehoseCompression(str, Enum, metaclass=utils.OpenEnumMeta):
34
37
  r"""Codec to use to compress the persisted data"""
35
38
 
36
39
  NONE = "none"
@@ -64,7 +67,9 @@ class InputFirehosePqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputFirehosePq(BaseModel):
67
- mode: Optional[InputFirehoseMode] = InputFirehoseMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputFirehoseMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputFirehoseMode.ALWAYS
68
73
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
69
74
 
70
75
  max_buffer_size: Annotated[
@@ -88,7 +93,9 @@ class InputFirehosePq(BaseModel):
88
93
  path: Optional[str] = "$CRIBL_HOME/state/queues"
89
94
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
90
95
 
91
- compress: Optional[InputFirehoseCompression] = InputFirehoseCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputFirehoseCompression], PlainValidator(validate_open_enum(False))
98
+ ] = InputFirehoseCompression.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[
@@ -96,14 +103,14 @@ class InputFirehosePq(BaseModel):
96
103
  ] = None
97
104
 
98
105
 
99
- class InputFirehoseMinimumTLSVersion(str, Enum):
106
+ class InputFirehoseMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
100
107
  TL_SV1 = "TLSv1"
101
108
  TL_SV1_1 = "TLSv1.1"
102
109
  TL_SV1_2 = "TLSv1.2"
103
110
  TL_SV1_3 = "TLSv1.3"
104
111
 
105
112
 
106
- class InputFirehoseMaximumTLSVersion(str, Enum):
113
+ class InputFirehoseMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
107
114
  TL_SV1 = "TLSv1"
108
115
  TL_SV1_1 = "TLSv1.1"
109
116
  TL_SV1_2 = "TLSv1.2"
@@ -162,11 +169,19 @@ class InputFirehoseTLSSettingsServerSide(BaseModel):
162
169
  ] = None
163
170
 
164
171
  min_version: Annotated[
165
- Optional[InputFirehoseMinimumTLSVersion], pydantic.Field(alias="minVersion")
172
+ Annotated[
173
+ Optional[InputFirehoseMinimumTLSVersion],
174
+ PlainValidator(validate_open_enum(False)),
175
+ ],
176
+ pydantic.Field(alias="minVersion"),
166
177
  ] = None
167
178
 
168
179
  max_version: Annotated[
169
- Optional[InputFirehoseMaximumTLSVersion], pydantic.Field(alias="maxVersion")
180
+ Annotated[
181
+ Optional[InputFirehoseMaximumTLSVersion],
182
+ PlainValidator(validate_open_enum(False)),
183
+ ],
184
+ pydantic.Field(alias="maxVersion"),
170
185
  ] = None
171
186
 
172
187