cribl-control-plane 0.0.44a1__py3-none-any.whl → 0.0.44a2__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 (174) hide show
  1. cribl_control_plane/_hooks/clientcredentials.py +1 -1
  2. cribl_control_plane/_version.py +4 -4
  3. cribl_control_plane/acl.py +5 -3
  4. cribl_control_plane/auth_sdk.py +6 -3
  5. cribl_control_plane/basesdk.py +11 -1
  6. cribl_control_plane/commits.py +5 -3
  7. cribl_control_plane/destinations.py +6 -4
  8. cribl_control_plane/errors/__init__.py +15 -3
  9. cribl_control_plane/errors/healthstatus_error.py +8 -2
  10. cribl_control_plane/groups_configs.py +8 -3
  11. cribl_control_plane/groups_sdk.py +6 -4
  12. cribl_control_plane/models/__init__.py +17 -4
  13. cribl_control_plane/models/appmode.py +2 -1
  14. cribl_control_plane/models/cacheconnection.py +10 -2
  15. cribl_control_plane/models/cacheconnectionbackfillstatus.py +2 -1
  16. cribl_control_plane/models/cloudprovider.py +2 -1
  17. cribl_control_plane/models/configgroup.py +7 -2
  18. cribl_control_plane/models/configgroupcloud.py +6 -2
  19. cribl_control_plane/models/createconfiggroupbyproductop.py +8 -2
  20. cribl_control_plane/models/cribllakedataset.py +8 -2
  21. cribl_control_plane/models/datasetmetadata.py +8 -2
  22. cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +7 -2
  23. cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +4 -2
  24. cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +4 -2
  25. cribl_control_plane/models/getconfiggroupbyproductandidop.py +3 -1
  26. cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +7 -2
  27. cribl_control_plane/models/getsummaryop.py +7 -2
  28. cribl_control_plane/models/hbcriblinfo.py +6 -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 +27 -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/lakehouseconnectiontype.py +2 -1
  90. cribl_control_plane/models/listconfiggroupbyproductop.py +3 -1
  91. cribl_control_plane/models/masterworkerentry.py +7 -2
  92. cribl_control_plane/models/nodeactiveupgradestatus.py +2 -1
  93. cribl_control_plane/models/nodefailedupgradestatus.py +2 -1
  94. cribl_control_plane/models/nodeskippedupgradestatus.py +2 -1
  95. cribl_control_plane/models/nodeupgradestate.py +2 -1
  96. cribl_control_plane/models/nodeupgradestatus.py +13 -5
  97. cribl_control_plane/models/outputazureblob.py +48 -18
  98. cribl_control_plane/models/outputazuredataexplorer.py +74 -29
  99. cribl_control_plane/models/outputazureeventhub.py +40 -18
  100. cribl_control_plane/models/outputazurelogs.py +36 -13
  101. cribl_control_plane/models/outputclickhouse.py +56 -21
  102. cribl_control_plane/models/outputcloudwatch.py +29 -10
  103. cribl_control_plane/models/outputconfluentcloud.py +77 -32
  104. cribl_control_plane/models/outputcriblhttp.py +46 -18
  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 +50 -15
  108. cribl_control_plane/models/outputdatadog.py +48 -20
  109. cribl_control_plane/models/outputdataset.py +46 -18
  110. cribl_control_plane/models/outputdiskspool.py +7 -2
  111. cribl_control_plane/models/outputdls3.py +68 -24
  112. cribl_control_plane/models/outputdynatracehttp.py +54 -21
  113. cribl_control_plane/models/outputdynatraceotlp.py +56 -23
  114. cribl_control_plane/models/outputelastic.py +44 -19
  115. cribl_control_plane/models/outputelasticcloud.py +37 -13
  116. cribl_control_plane/models/outputexabeam.py +29 -10
  117. cribl_control_plane/models/outputfilesystem.py +39 -14
  118. cribl_control_plane/models/outputgooglechronicle.py +50 -16
  119. cribl_control_plane/models/outputgooglecloudlogging.py +41 -14
  120. cribl_control_plane/models/outputgooglecloudstorage.py +66 -24
  121. cribl_control_plane/models/outputgooglepubsub.py +31 -10
  122. cribl_control_plane/models/outputgrafanacloud.py +99 -34
  123. cribl_control_plane/models/outputgraphite.py +31 -14
  124. cribl_control_plane/models/outputhoneycomb.py +36 -13
  125. cribl_control_plane/models/outputhumiohec.py +44 -17
  126. cribl_control_plane/models/outputinfluxdb.py +43 -17
  127. cribl_control_plane/models/outputkafka.py +74 -28
  128. cribl_control_plane/models/outputkinesis.py +40 -16
  129. cribl_control_plane/models/outputloki.py +41 -16
  130. cribl_control_plane/models/outputminio.py +65 -24
  131. cribl_control_plane/models/outputmsk.py +82 -30
  132. cribl_control_plane/models/outputnewrelic.py +43 -18
  133. cribl_control_plane/models/outputnewrelicevents.py +42 -15
  134. cribl_control_plane/models/outputopentelemetry.py +68 -27
  135. cribl_control_plane/models/outputprometheus.py +36 -13
  136. cribl_control_plane/models/outputring.py +19 -8
  137. cribl_control_plane/models/outputs3.py +68 -26
  138. cribl_control_plane/models/outputsecuritylake.py +52 -18
  139. cribl_control_plane/models/outputsentinel.py +45 -18
  140. cribl_control_plane/models/outputsentineloneaisiem.py +51 -19
  141. cribl_control_plane/models/outputservicenow.py +61 -25
  142. cribl_control_plane/models/outputsignalfx.py +38 -15
  143. cribl_control_plane/models/outputsns.py +36 -14
  144. cribl_control_plane/models/outputsplunk.py +60 -24
  145. cribl_control_plane/models/outputsplunkhec.py +36 -13
  146. cribl_control_plane/models/outputsplunklb.py +77 -30
  147. cribl_control_plane/models/outputsqs.py +41 -16
  148. cribl_control_plane/models/outputstatsd.py +30 -14
  149. cribl_control_plane/models/outputstatsdext.py +29 -12
  150. cribl_control_plane/models/outputsumologic.py +35 -12
  151. cribl_control_plane/models/outputsyslog.py +58 -24
  152. cribl_control_plane/models/outputtcpjson.py +52 -20
  153. cribl_control_plane/models/outputwavefront.py +36 -13
  154. cribl_control_plane/models/outputwebhook.py +58 -22
  155. cribl_control_plane/models/outputxsiam.py +36 -15
  156. cribl_control_plane/models/productscore.py +2 -1
  157. cribl_control_plane/models/rbacresource.py +2 -1
  158. cribl_control_plane/models/resourcepolicy.py +4 -2
  159. cribl_control_plane/models/runnablejobcollection.py +30 -13
  160. cribl_control_plane/models/runnablejobexecutor.py +13 -4
  161. cribl_control_plane/models/runnablejobscheduledsearch.py +7 -2
  162. cribl_control_plane/models/updateconfiggroupbyproductandidop.py +8 -2
  163. cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +8 -2
  164. cribl_control_plane/models/workertypes.py +2 -1
  165. cribl_control_plane/nodes.py +5 -3
  166. cribl_control_plane/sdk.py +15 -2
  167. cribl_control_plane/sources.py +5 -3
  168. cribl_control_plane/utils/__init__.py +15 -3
  169. cribl_control_plane/utils/eventstreaming.py +10 -0
  170. cribl_control_plane/versions.py +11 -6
  171. {cribl_control_plane-0.0.44a1.dist-info → cribl_control_plane-0.0.44a2.dist-info}/METADATA +1 -1
  172. cribl_control_plane-0.0.44a2.dist-info/RECORD +325 -0
  173. cribl_control_plane-0.0.44a1.dist-info/RECORD +0 -325
  174. {cribl_control_plane-0.0.44a1.dist-info → cribl_control_plane-0.0.44a2.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 InputWindowsMetricsConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputWindowsMetricsPqMode(str, Enum):
29
+ class InputWindowsMetricsPqMode(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 InputWindowsMetricsCompression(str, Enum):
36
+ class InputWindowsMetricsCompression(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 InputWindowsMetricsPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputWindowsMetricsPq(BaseModel):
67
- mode: Optional[InputWindowsMetricsPqMode] = InputWindowsMetricsPqMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputWindowsMetricsPqMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputWindowsMetricsPqMode.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 InputWindowsMetricsPq(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[InputWindowsMetricsCompression] = (
92
- InputWindowsMetricsCompression.NONE
93
- )
96
+ compress: Annotated[
97
+ Optional[InputWindowsMetricsCompression],
98
+ PlainValidator(validate_open_enum(False)),
99
+ ] = InputWindowsMetricsCompression.NONE
94
100
  r"""Codec to use to compress the persisted data"""
95
101
 
96
102
  pq_controls: Annotated[
@@ -98,7 +104,7 @@ class InputWindowsMetricsPq(BaseModel):
98
104
  ] = None
99
105
 
100
106
 
101
- class InputWindowsMetricsHostMode(str, Enum):
107
+ class InputWindowsMetricsHostMode(str, Enum, metaclass=utils.OpenEnumMeta):
102
108
  r"""Select level of detail for host metrics"""
103
109
 
104
110
  BASIC = "basic"
@@ -107,7 +113,7 @@ class InputWindowsMetricsHostMode(str, Enum):
107
113
  DISABLED = "disabled"
108
114
 
109
115
 
110
- class InputWindowsMetricsSystemMode(str, Enum):
116
+ class InputWindowsMetricsSystemMode(str, Enum, metaclass=utils.OpenEnumMeta):
111
117
  r"""Select the level of details for system metrics"""
112
118
 
113
119
  BASIC = "basic"
@@ -124,14 +130,17 @@ class InputWindowsMetricsSystemTypedDict(TypedDict):
124
130
 
125
131
 
126
132
  class InputWindowsMetricsSystem(BaseModel):
127
- mode: Optional[InputWindowsMetricsSystemMode] = InputWindowsMetricsSystemMode.BASIC
133
+ mode: Annotated[
134
+ Optional[InputWindowsMetricsSystemMode],
135
+ PlainValidator(validate_open_enum(False)),
136
+ ] = InputWindowsMetricsSystemMode.BASIC
128
137
  r"""Select the level of details for system metrics"""
129
138
 
130
139
  detail: Optional[bool] = False
131
140
  r"""Generate metrics for all system information"""
132
141
 
133
142
 
134
- class InputWindowsMetricsCPUMode(str, Enum):
143
+ class InputWindowsMetricsCPUMode(str, Enum, metaclass=utils.OpenEnumMeta):
135
144
  r"""Select the level of details for CPU metrics"""
136
145
 
137
146
  BASIC = "basic"
@@ -152,7 +161,9 @@ class InputWindowsMetricsCPUTypedDict(TypedDict):
152
161
 
153
162
 
154
163
  class InputWindowsMetricsCPU(BaseModel):
155
- mode: Optional[InputWindowsMetricsCPUMode] = InputWindowsMetricsCPUMode.BASIC
164
+ mode: Annotated[
165
+ Optional[InputWindowsMetricsCPUMode], PlainValidator(validate_open_enum(False))
166
+ ] = InputWindowsMetricsCPUMode.BASIC
156
167
  r"""Select the level of details for CPU metrics"""
157
168
 
158
169
  per_cpu: Annotated[Optional[bool], pydantic.Field(alias="perCpu")] = False
@@ -165,7 +176,7 @@ class InputWindowsMetricsCPU(BaseModel):
165
176
  r"""Generate raw, monotonic CPU time counters"""
166
177
 
167
178
 
168
- class InputWindowsMetricsMemoryMode(str, Enum):
179
+ class InputWindowsMetricsMemoryMode(str, Enum, metaclass=utils.OpenEnumMeta):
169
180
  r"""Select the level of details for memory metrics"""
170
181
 
171
182
  BASIC = "basic"
@@ -182,14 +193,17 @@ class InputWindowsMetricsMemoryTypedDict(TypedDict):
182
193
 
183
194
 
184
195
  class InputWindowsMetricsMemory(BaseModel):
185
- mode: Optional[InputWindowsMetricsMemoryMode] = InputWindowsMetricsMemoryMode.BASIC
196
+ mode: Annotated[
197
+ Optional[InputWindowsMetricsMemoryMode],
198
+ PlainValidator(validate_open_enum(False)),
199
+ ] = InputWindowsMetricsMemoryMode.BASIC
186
200
  r"""Select the level of details for memory metrics"""
187
201
 
188
202
  detail: Optional[bool] = False
189
203
  r"""Generate metrics for all memory states"""
190
204
 
191
205
 
192
- class InputWindowsMetricsNetworkMode(str, Enum):
206
+ class InputWindowsMetricsNetworkMode(str, Enum, metaclass=utils.OpenEnumMeta):
193
207
  r"""Select the level of details for network metrics"""
194
208
 
195
209
  BASIC = "basic"
@@ -210,9 +224,10 @@ class InputWindowsMetricsNetworkTypedDict(TypedDict):
210
224
 
211
225
 
212
226
  class InputWindowsMetricsNetwork(BaseModel):
213
- mode: Optional[InputWindowsMetricsNetworkMode] = (
214
- InputWindowsMetricsNetworkMode.BASIC
215
- )
227
+ mode: Annotated[
228
+ Optional[InputWindowsMetricsNetworkMode],
229
+ PlainValidator(validate_open_enum(False)),
230
+ ] = InputWindowsMetricsNetworkMode.BASIC
216
231
  r"""Select the level of details for network metrics"""
217
232
 
218
233
  devices: Optional[List[str]] = None
@@ -227,7 +242,7 @@ class InputWindowsMetricsNetwork(BaseModel):
227
242
  r"""Generate full network metrics"""
228
243
 
229
244
 
230
- class InputWindowsMetricsDiskMode(str, Enum):
245
+ class InputWindowsMetricsDiskMode(str, Enum, metaclass=utils.OpenEnumMeta):
231
246
  r"""Select the level of details for disk metrics"""
232
247
 
233
248
  BASIC = "basic"
@@ -246,7 +261,9 @@ class InputWindowsMetricsDiskTypedDict(TypedDict):
246
261
 
247
262
 
248
263
  class InputWindowsMetricsDisk(BaseModel):
249
- mode: Optional[InputWindowsMetricsDiskMode] = InputWindowsMetricsDiskMode.BASIC
264
+ mode: Annotated[
265
+ Optional[InputWindowsMetricsDiskMode], PlainValidator(validate_open_enum(False))
266
+ ] = InputWindowsMetricsDiskMode.BASIC
250
267
  r"""Select the level of details for disk metrics"""
251
268
 
252
269
  volumes: Optional[List[str]] = None
@@ -283,7 +300,9 @@ class InputWindowsMetricsHostTypedDict(TypedDict):
283
300
 
284
301
 
285
302
  class InputWindowsMetricsHost(BaseModel):
286
- mode: Optional[InputWindowsMetricsHostMode] = InputWindowsMetricsHostMode.BASIC
303
+ mode: Annotated[
304
+ Optional[InputWindowsMetricsHostMode], PlainValidator(validate_open_enum(False))
305
+ ] = InputWindowsMetricsHostMode.BASIC
287
306
  r"""Select level of detail for host metrics"""
288
307
 
289
308
  custom: Optional[InputWindowsMetricsCustom] = None
@@ -328,7 +347,7 @@ class InputWindowsMetricsMetadatum(BaseModel):
328
347
  r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
329
348
 
330
349
 
331
- class InputWindowsMetricsDataCompressionFormat(str, Enum):
350
+ class InputWindowsMetricsDataCompressionFormat(str, Enum, metaclass=utils.OpenEnumMeta):
332
351
  NONE = "none"
333
352
  GZIP = "gzip"
334
353
 
@@ -360,9 +379,10 @@ class InputWindowsMetricsPersistence(BaseModel):
360
379
  max_data_time: Annotated[Optional[str], pydantic.Field(alias="maxDataTime")] = "24h"
361
380
  r"""Maximum amount of time to retain data (examples: 2h, 4d). When limit is reached, older data will be deleted."""
362
381
 
363
- compress: Optional[InputWindowsMetricsDataCompressionFormat] = (
364
- InputWindowsMetricsDataCompressionFormat.GZIP
365
- )
382
+ compress: Annotated[
383
+ Optional[InputWindowsMetricsDataCompressionFormat],
384
+ PlainValidator(validate_open_enum(False)),
385
+ ] = InputWindowsMetricsDataCompressionFormat.GZIP
366
386
 
367
387
  dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = (
368
388
  "$CRIBL_HOME/state/windows_metrics"
@@ -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 InputWinEventLogsConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputWinEventLogsMode(str, Enum):
29
+ class InputWinEventLogsMode(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 InputWinEventLogsCompression(str, Enum):
36
+ class InputWinEventLogsCompression(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 InputWinEventLogsPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputWinEventLogsPq(BaseModel):
67
- mode: Optional[InputWinEventLogsMode] = InputWinEventLogsMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputWinEventLogsMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputWinEventLogsMode.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,10 @@ class InputWinEventLogsPq(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[InputWinEventLogsCompression] = InputWinEventLogsCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputWinEventLogsCompression],
98
+ PlainValidator(validate_open_enum(False)),
99
+ ] = InputWinEventLogsCompression.NONE
92
100
  r"""Codec to use to compress the persisted data"""
93
101
 
94
102
  pq_controls: Annotated[
@@ -96,14 +104,14 @@ class InputWinEventLogsPq(BaseModel):
96
104
  ] = None
97
105
 
98
106
 
99
- class ReadMode(str, Enum):
107
+ class ReadMode(str, Enum, metaclass=utils.OpenEnumMeta):
100
108
  r"""Read all stored and future event logs, or only future events"""
101
109
 
102
110
  OLDEST = "oldest"
103
111
  NEWEST = "newest"
104
112
 
105
113
 
106
- class EventFormat(str, Enum):
114
+ class EventFormat(str, Enum, metaclass=utils.OpenEnumMeta):
107
115
  r"""Format of individual events"""
108
116
 
109
117
  JSON = "json"
@@ -193,13 +201,15 @@ class InputWinEventLogs(BaseModel):
193
201
 
194
202
  pq: Optional[InputWinEventLogsPq] = None
195
203
 
196
- read_mode: Annotated[Optional[ReadMode], pydantic.Field(alias="readMode")] = (
197
- ReadMode.NEWEST
198
- )
204
+ read_mode: Annotated[
205
+ Annotated[Optional[ReadMode], PlainValidator(validate_open_enum(False))],
206
+ pydantic.Field(alias="readMode"),
207
+ ] = ReadMode.NEWEST
199
208
  r"""Read all stored and future event logs, or only future events"""
200
209
 
201
210
  event_format: Annotated[
202
- Optional[EventFormat], pydantic.Field(alias="eventFormat")
211
+ Annotated[Optional[EventFormat], PlainValidator(validate_open_enum(False))],
212
+ pydantic.Field(alias="eventFormat"),
203
213
  ] = EventFormat.JSON
204
214
  r"""Format of individual events"""
205
215
 
@@ -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 InputWizConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputWizMode(str, Enum):
29
+ class InputWizMode(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 InputWizCompression(str, Enum):
36
+ class InputWizCompression(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 InputWizPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputWizPq(BaseModel):
67
- mode: Optional[InputWizMode] = InputWizMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputWizMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputWizMode.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 InputWizPq(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[InputWizCompression] = InputWizCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputWizCompression], PlainValidator(validate_open_enum(False))
98
+ ] = InputWizCompression.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[
@@ -127,7 +134,7 @@ class InputWizMetadatum(BaseModel):
127
134
  r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
128
135
 
129
136
 
130
- class InputWizRetryType(str, Enum):
137
+ class InputWizRetryType(str, Enum, metaclass=utils.OpenEnumMeta):
131
138
  r"""The algorithm to use when performing HTTP retries"""
132
139
 
133
140
  NONE = "none"
@@ -155,7 +162,9 @@ class InputWizRetryRulesTypedDict(TypedDict):
155
162
 
156
163
 
157
164
  class InputWizRetryRules(BaseModel):
158
- type: Optional[InputWizRetryType] = InputWizRetryType.BACKOFF
165
+ type: Annotated[
166
+ Optional[InputWizRetryType], PlainValidator(validate_open_enum(False))
167
+ ] = InputWizRetryType.BACKOFF
159
168
  r"""The algorithm to use when performing HTTP retries"""
160
169
 
161
170
  interval: Optional[float] = 1000
@@ -186,7 +195,7 @@ class InputWizRetryRules(BaseModel):
186
195
  r"""Retry request when a connection reset (ECONNRESET) error occurs"""
187
196
 
188
197
 
189
- class InputWizAuthenticationMethod(str, Enum):
198
+ class InputWizAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
190
199
  r"""Enter client secret directly, or select a stored secret"""
191
200
 
192
201
  MANUAL = "manual"
@@ -321,7 +330,11 @@ class InputWiz(BaseModel):
321
330
  ] = None
322
331
 
323
332
  auth_type: Annotated[
324
- Optional[InputWizAuthenticationMethod], pydantic.Field(alias="authType")
333
+ Annotated[
334
+ Optional[InputWizAuthenticationMethod],
335
+ PlainValidator(validate_open_enum(False)),
336
+ ],
337
+ pydantic.Field(alias="authType"),
325
338
  ] = InputWizAuthenticationMethod.MANUAL
326
339
  r"""Enter client secret directly, or select a stored secret"""
327
340
 
@@ -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 InputWizWebhookConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputWizWebhookMode(str, Enum):
29
+ class InputWizWebhookMode(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 InputWizWebhookCompression(str, Enum):
36
+ class InputWizWebhookCompression(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 InputWizWebhookPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputWizWebhookPq(BaseModel):
67
- mode: Optional[InputWizWebhookMode] = InputWizWebhookMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputWizWebhookMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputWizWebhookMode.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 InputWizWebhookPq(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[InputWizWebhookCompression] = InputWizWebhookCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputWizWebhookCompression], PlainValidator(validate_open_enum(False))
98
+ ] = InputWizWebhookCompression.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[
@@ -96,14 +103,14 @@ class InputWizWebhookPq(BaseModel):
96
103
  ] = None
97
104
 
98
105
 
99
- class InputWizWebhookMinimumTLSVersion(str, Enum):
106
+ class InputWizWebhookMinimumTLSVersion(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 InputWizWebhookMaximumTLSVersion(str, Enum):
113
+ class InputWizWebhookMaximumTLSVersion(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 InputWizWebhookTLSSettingsServerSide(BaseModel):
162
169
  ] = None
163
170
 
164
171
  min_version: Annotated[
165
- Optional[InputWizWebhookMinimumTLSVersion], pydantic.Field(alias="minVersion")
172
+ Annotated[
173
+ Optional[InputWizWebhookMinimumTLSVersion],
174
+ PlainValidator(validate_open_enum(False)),
175
+ ],
176
+ pydantic.Field(alias="minVersion"),
166
177
  ] = None
167
178
 
168
179
  max_version: Annotated[
169
- Optional[InputWizWebhookMaximumTLSVersion], pydantic.Field(alias="maxVersion")
180
+ Annotated[
181
+ Optional[InputWizWebhookMaximumTLSVersion],
182
+ PlainValidator(validate_open_enum(False)),
183
+ ],
184
+ pydantic.Field(alias="maxVersion"),
170
185
  ] = None
171
186
 
172
187
 
@@ -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 InputZscalerHecConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputZscalerHecMode(str, Enum):
29
+ class InputZscalerHecMode(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 InputZscalerHecCompression(str, Enum):
36
+ class InputZscalerHecCompression(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 InputZscalerHecPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputZscalerHecPq(BaseModel):
67
- mode: Optional[InputZscalerHecMode] = InputZscalerHecMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputZscalerHecMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputZscalerHecMode.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 InputZscalerHecPq(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[InputZscalerHecCompression] = InputZscalerHecCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputZscalerHecCompression], PlainValidator(validate_open_enum(False))
98
+ ] = InputZscalerHecCompression.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[
@@ -96,7 +103,7 @@ class InputZscalerHecPq(BaseModel):
96
103
  ] = None
97
104
 
98
105
 
99
- class InputZscalerHecAuthenticationMethod(str, Enum):
106
+ class InputZscalerHecAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
100
107
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
101
108
 
102
109
  MANUAL = "manual"
@@ -133,7 +140,11 @@ class InputZscalerHecAuthToken(BaseModel):
133
140
  token: Any
134
141
 
135
142
  auth_type: Annotated[
136
- Optional[InputZscalerHecAuthenticationMethod], pydantic.Field(alias="authType")
143
+ Annotated[
144
+ Optional[InputZscalerHecAuthenticationMethod],
145
+ PlainValidator(validate_open_enum(False)),
146
+ ],
147
+ pydantic.Field(alias="authType"),
137
148
  ] = InputZscalerHecAuthenticationMethod.MANUAL
138
149
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
139
150
 
@@ -152,14 +163,14 @@ class InputZscalerHecAuthToken(BaseModel):
152
163
  r"""Fields to add to events referencing this token"""
153
164
 
154
165
 
155
- class InputZscalerHecMinimumTLSVersion(str, Enum):
166
+ class InputZscalerHecMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
156
167
  TL_SV1 = "TLSv1"
157
168
  TL_SV1_1 = "TLSv1.1"
158
169
  TL_SV1_2 = "TLSv1.2"
159
170
  TL_SV1_3 = "TLSv1.3"
160
171
 
161
172
 
162
- class InputZscalerHecMaximumTLSVersion(str, Enum):
173
+ class InputZscalerHecMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
163
174
  TL_SV1 = "TLSv1"
164
175
  TL_SV1_1 = "TLSv1.1"
165
176
  TL_SV1_2 = "TLSv1.2"
@@ -218,11 +229,19 @@ class InputZscalerHecTLSSettingsServerSide(BaseModel):
218
229
  ] = None
219
230
 
220
231
  min_version: Annotated[
221
- Optional[InputZscalerHecMinimumTLSVersion], pydantic.Field(alias="minVersion")
232
+ Annotated[
233
+ Optional[InputZscalerHecMinimumTLSVersion],
234
+ PlainValidator(validate_open_enum(False)),
235
+ ],
236
+ pydantic.Field(alias="minVersion"),
222
237
  ] = None
223
238
 
224
239
  max_version: Annotated[
225
- Optional[InputZscalerHecMaximumTLSVersion], pydantic.Field(alias="maxVersion")
240
+ Annotated[
241
+ Optional[InputZscalerHecMaximumTLSVersion],
242
+ PlainValidator(validate_open_enum(False)),
243
+ ],
244
+ pydantic.Field(alias="maxVersion"),
226
245
  ] = None
227
246
 
228
247
 
@@ -1,9 +1,10 @@
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 enum import Enum
5
6
 
6
7
 
7
- class LakehouseConnectionType(str, Enum):
8
+ class LakehouseConnectionType(str, Enum, metaclass=utils.OpenEnumMeta):
8
9
  CACHE = "cache"
9
10
  ZERO_POINT = "zeroPoint"
@@ -8,7 +8,9 @@ from cribl_control_plane.utils import (
8
8
  FieldMetadata,
9
9
  PathParamMetadata,
10
10
  QueryParamMetadata,
11
+ validate_open_enum,
11
12
  )
13
+ from pydantic.functional_validators import PlainValidator
12
14
  from typing import List, Optional
13
15
  from typing_extensions import Annotated, NotRequired, TypedDict
14
16
 
@@ -22,7 +24,7 @@ class ListConfigGroupByProductRequestTypedDict(TypedDict):
22
24
 
23
25
  class ListConfigGroupByProductRequest(BaseModel):
24
26
  product: Annotated[
25
- ProductsCore,
27
+ Annotated[ProductsCore, PlainValidator(validate_open_enum(False))],
26
28
  FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
27
29
  ]
28
30
  r"""Name of the Cribl product to get the Worker Groups or Edge Fleets for."""
@@ -4,9 +4,12 @@ from __future__ import annotations
4
4
  from .heartbeatmetadata import HeartbeatMetadata, HeartbeatMetadataTypedDict
5
5
  from .nodeprovidedinfo import NodeProvidedInfo, NodeProvidedInfoTypedDict
6
6
  from .nodeupgradestatus import NodeUpgradeStatus, NodeUpgradeStatusTypedDict
7
+ from cribl_control_plane import utils
7
8
  from cribl_control_plane.types import BaseModel
9
+ from cribl_control_plane.utils import validate_open_enum
8
10
  from enum import Enum
9
11
  import pydantic
12
+ from pydantic.functional_validators import PlainValidator
10
13
  from typing import Optional
11
14
  from typing_extensions import Annotated, NotRequired, TypedDict
12
15
 
@@ -19,7 +22,7 @@ class LastMetrics(BaseModel):
19
22
  pass
20
23
 
21
24
 
22
- class MasterWorkerEntryType(str, Enum):
25
+ class MasterWorkerEntryType(str, Enum, metaclass=utils.OpenEnumMeta):
23
26
  INFO = "info"
24
27
  REQ = "req"
25
28
  RESP = "resp"
@@ -79,6 +82,8 @@ class MasterWorkerEntry(BaseModel):
79
82
 
80
83
  status: Optional[str] = None
81
84
 
82
- type: Optional[MasterWorkerEntryType] = None
85
+ type: Annotated[
86
+ Optional[MasterWorkerEntryType], PlainValidator(validate_open_enum(False))
87
+ ] = None
83
88
 
84
89
  workers: Optional[MasterWorkerEntryWorkers] = None
@@ -1,10 +1,11 @@
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 enum import Enum
5
6
 
6
7
 
7
- class NodeActiveUpgradeStatus(int, Enum):
8
+ class NodeActiveUpgradeStatus(int, Enum, metaclass=utils.OpenEnumMeta):
8
9
  ZERO = 0
9
10
  ONE = 1
10
11
  TWO = 2
@@ -1,9 +1,10 @@
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 enum import Enum
5
6
 
6
7
 
7
- class NodeFailedUpgradeStatus(int, Enum):
8
+ class NodeFailedUpgradeStatus(int, Enum, metaclass=utils.OpenEnumMeta):
8
9
  ZERO = 0
9
10
  ONE = 1