cribl-control-plane 0.0.47__py3-none-any.whl → 0.0.48a1__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 (162) hide show
  1. cribl_control_plane/_version.py +3 -5
  2. cribl_control_plane/errors/healthstatus_error.py +8 -2
  3. cribl_control_plane/models/__init__.py +12 -12
  4. cribl_control_plane/models/cacheconnection.py +10 -2
  5. cribl_control_plane/models/cacheconnectionbackfillstatus.py +2 -1
  6. cribl_control_plane/models/cloudprovider.py +2 -1
  7. cribl_control_plane/models/configgroup.py +7 -2
  8. cribl_control_plane/models/configgroupcloud.py +6 -2
  9. cribl_control_plane/models/createconfiggroupbyproductop.py +8 -2
  10. cribl_control_plane/models/cribllakedataset.py +8 -2
  11. cribl_control_plane/models/datasetmetadata.py +8 -2
  12. cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +7 -2
  13. cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +4 -2
  14. cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +4 -2
  15. cribl_control_plane/models/getconfiggroupbyproductandidop.py +3 -1
  16. cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +7 -2
  17. cribl_control_plane/models/getsummaryop.py +7 -2
  18. cribl_control_plane/models/hbcriblinfo.py +19 -3
  19. cribl_control_plane/models/healthstatus.py +7 -4
  20. cribl_control_plane/models/heartbeatmetadata.py +3 -0
  21. cribl_control_plane/models/inputappscope.py +34 -14
  22. cribl_control_plane/models/inputazureblob.py +17 -6
  23. cribl_control_plane/models/inputcollection.py +11 -4
  24. cribl_control_plane/models/inputconfluentcloud.py +47 -20
  25. cribl_control_plane/models/inputcribl.py +11 -4
  26. cribl_control_plane/models/inputcriblhttp.py +23 -8
  27. cribl_control_plane/models/inputcribllakehttp.py +22 -10
  28. cribl_control_plane/models/inputcriblmetrics.py +12 -4
  29. cribl_control_plane/models/inputcribltcp.py +23 -8
  30. cribl_control_plane/models/inputcrowdstrike.py +26 -10
  31. cribl_control_plane/models/inputdatadogagent.py +24 -8
  32. cribl_control_plane/models/inputdatagen.py +11 -4
  33. cribl_control_plane/models/inputedgeprometheus.py +58 -24
  34. cribl_control_plane/models/inputelastic.py +40 -14
  35. cribl_control_plane/models/inputeventhub.py +15 -6
  36. cribl_control_plane/models/inputexec.py +14 -6
  37. cribl_control_plane/models/inputfile.py +15 -6
  38. cribl_control_plane/models/inputfirehose.py +23 -8
  39. cribl_control_plane/models/inputgooglepubsub.py +19 -6
  40. cribl_control_plane/models/inputgrafana.py +67 -24
  41. cribl_control_plane/models/inputhttp.py +23 -8
  42. cribl_control_plane/models/inputhttpraw.py +23 -8
  43. cribl_control_plane/models/inputjournalfiles.py +12 -4
  44. cribl_control_plane/models/inputkafka.py +46 -16
  45. cribl_control_plane/models/inputkinesis.py +38 -14
  46. cribl_control_plane/models/inputkubeevents.py +11 -4
  47. cribl_control_plane/models/inputkubelogs.py +16 -8
  48. cribl_control_plane/models/inputkubemetrics.py +16 -8
  49. cribl_control_plane/models/inputloki.py +29 -10
  50. cribl_control_plane/models/inputmetrics.py +23 -8
  51. cribl_control_plane/models/inputmodeldriventelemetry.py +32 -10
  52. cribl_control_plane/models/inputmsk.py +53 -18
  53. cribl_control_plane/models/inputnetflow.py +11 -4
  54. cribl_control_plane/models/inputoffice365mgmt.py +33 -14
  55. cribl_control_plane/models/inputoffice365msgtrace.py +35 -16
  56. cribl_control_plane/models/inputoffice365service.py +35 -16
  57. cribl_control_plane/models/inputopentelemetry.py +38 -16
  58. cribl_control_plane/models/inputprometheus.py +50 -18
  59. cribl_control_plane/models/inputprometheusrw.py +30 -10
  60. cribl_control_plane/models/inputrawudp.py +11 -4
  61. cribl_control_plane/models/inputs3.py +21 -8
  62. cribl_control_plane/models/inputs3inventory.py +26 -10
  63. cribl_control_plane/models/inputsecuritylake.py +27 -10
  64. cribl_control_plane/models/inputsnmp.py +16 -6
  65. cribl_control_plane/models/inputsplunk.py +33 -12
  66. cribl_control_plane/models/inputsplunkhec.py +29 -10
  67. cribl_control_plane/models/inputsplunksearch.py +33 -14
  68. cribl_control_plane/models/inputsqs.py +27 -10
  69. cribl_control_plane/models/inputsyslog.py +43 -16
  70. cribl_control_plane/models/inputsystemmetrics.py +48 -24
  71. cribl_control_plane/models/inputsystemstate.py +16 -8
  72. cribl_control_plane/models/inputtcp.py +29 -10
  73. cribl_control_plane/models/inputtcpjson.py +29 -10
  74. cribl_control_plane/models/inputwef.py +37 -14
  75. cribl_control_plane/models/inputwindowsmetrics.py +44 -24
  76. cribl_control_plane/models/inputwineventlogs.py +20 -10
  77. cribl_control_plane/models/inputwiz.py +21 -8
  78. cribl_control_plane/models/inputwizwebhook.py +23 -8
  79. cribl_control_plane/models/inputzscalerhec.py +29 -10
  80. cribl_control_plane/models/lakehouseconnectiontype.py +2 -1
  81. cribl_control_plane/models/listconfiggroupbyproductop.py +3 -1
  82. cribl_control_plane/models/masterworkerentry.py +7 -2
  83. cribl_control_plane/models/nodeactiveupgradestatus.py +2 -1
  84. cribl_control_plane/models/nodefailedupgradestatus.py +2 -1
  85. cribl_control_plane/models/nodeprovidedinfo.py +3 -0
  86. cribl_control_plane/models/nodeskippedupgradestatus.py +2 -1
  87. cribl_control_plane/models/nodeupgradestate.py +2 -1
  88. cribl_control_plane/models/nodeupgradestatus.py +13 -5
  89. cribl_control_plane/models/outputazureblob.py +48 -18
  90. cribl_control_plane/models/outputazuredataexplorer.py +73 -28
  91. cribl_control_plane/models/outputazureeventhub.py +40 -18
  92. cribl_control_plane/models/outputazurelogs.py +35 -12
  93. cribl_control_plane/models/outputclickhouse.py +55 -20
  94. cribl_control_plane/models/outputcloudwatch.py +29 -10
  95. cribl_control_plane/models/outputconfluentcloud.py +77 -32
  96. cribl_control_plane/models/outputcriblhttp.py +44 -16
  97. cribl_control_plane/models/outputcribllake.py +46 -16
  98. cribl_control_plane/models/outputcribltcp.py +45 -18
  99. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +49 -14
  100. cribl_control_plane/models/outputdatadog.py +48 -20
  101. cribl_control_plane/models/outputdataset.py +46 -18
  102. cribl_control_plane/models/outputdiskspool.py +7 -2
  103. cribl_control_plane/models/outputdls3.py +68 -24
  104. cribl_control_plane/models/outputdynatracehttp.py +53 -20
  105. cribl_control_plane/models/outputdynatraceotlp.py +55 -22
  106. cribl_control_plane/models/outputelastic.py +43 -18
  107. cribl_control_plane/models/outputelasticcloud.py +36 -12
  108. cribl_control_plane/models/outputexabeam.py +29 -10
  109. cribl_control_plane/models/outputfilesystem.py +39 -14
  110. cribl_control_plane/models/outputgooglechronicle.py +50 -16
  111. cribl_control_plane/models/outputgooglecloudlogging.py +41 -14
  112. cribl_control_plane/models/outputgooglecloudstorage.py +66 -24
  113. cribl_control_plane/models/outputgooglepubsub.py +31 -10
  114. cribl_control_plane/models/outputgrafanacloud.py +97 -32
  115. cribl_control_plane/models/outputgraphite.py +31 -14
  116. cribl_control_plane/models/outputhoneycomb.py +35 -12
  117. cribl_control_plane/models/outputhumiohec.py +43 -16
  118. cribl_control_plane/models/outputinfluxdb.py +42 -16
  119. cribl_control_plane/models/outputkafka.py +74 -28
  120. cribl_control_plane/models/outputkinesis.py +40 -16
  121. cribl_control_plane/models/outputloki.py +41 -16
  122. cribl_control_plane/models/outputminio.py +65 -24
  123. cribl_control_plane/models/outputmsk.py +82 -30
  124. cribl_control_plane/models/outputnewrelic.py +43 -18
  125. cribl_control_plane/models/outputnewrelicevents.py +41 -14
  126. cribl_control_plane/models/outputopentelemetry.py +67 -26
  127. cribl_control_plane/models/outputprometheus.py +35 -12
  128. cribl_control_plane/models/outputring.py +19 -8
  129. cribl_control_plane/models/outputs3.py +68 -26
  130. cribl_control_plane/models/outputsecuritylake.py +52 -18
  131. cribl_control_plane/models/outputsentinel.py +45 -18
  132. cribl_control_plane/models/outputsentineloneaisiem.py +50 -18
  133. cribl_control_plane/models/outputservicenow.py +60 -24
  134. cribl_control_plane/models/outputsignalfx.py +37 -14
  135. cribl_control_plane/models/outputsns.py +36 -14
  136. cribl_control_plane/models/outputsplunk.py +60 -24
  137. cribl_control_plane/models/outputsplunkhec.py +35 -12
  138. cribl_control_plane/models/outputsplunklb.py +77 -30
  139. cribl_control_plane/models/outputsqs.py +41 -16
  140. cribl_control_plane/models/outputstatsd.py +30 -14
  141. cribl_control_plane/models/outputstatsdext.py +29 -12
  142. cribl_control_plane/models/outputsumologic.py +35 -12
  143. cribl_control_plane/models/outputsyslog.py +58 -24
  144. cribl_control_plane/models/outputtcpjson.py +52 -20
  145. cribl_control_plane/models/outputwavefront.py +35 -12
  146. cribl_control_plane/models/outputwebhook.py +58 -22
  147. cribl_control_plane/models/outputxsiam.py +35 -14
  148. cribl_control_plane/models/productscore.py +2 -1
  149. cribl_control_plane/models/rbacresource.py +2 -1
  150. cribl_control_plane/models/resourcepolicy.py +4 -2
  151. cribl_control_plane/models/routeconf.py +3 -4
  152. cribl_control_plane/models/runnablejobcollection.py +30 -13
  153. cribl_control_plane/models/runnablejobexecutor.py +13 -4
  154. cribl_control_plane/models/runnablejobscheduledsearch.py +7 -2
  155. cribl_control_plane/models/updateconfiggroupbyproductandidop.py +8 -2
  156. cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +8 -2
  157. cribl_control_plane/models/workertypes.py +2 -1
  158. {cribl_control_plane-0.0.47.dist-info → cribl_control_plane-0.0.48a1.dist-info}/METADATA +1 -1
  159. {cribl_control_plane-0.0.47.dist-info → cribl_control_plane-0.0.48a1.dist-info}/RECORD +160 -162
  160. {cribl_control_plane-0.0.47.dist-info → cribl_control_plane-0.0.48a1.dist-info}/WHEEL +1 -1
  161. cribl_control_plane/models/appmode.py +0 -13
  162. cribl_control_plane/models/routecloneconf.py +0 -13
@@ -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 InputMskConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputMskMode(str, Enum):
29
+ class InputMskMode(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 InputMskCompression(str, Enum):
36
+ class InputMskCompression(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 InputMskPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputMskPq(BaseModel):
67
- mode: Optional[InputMskMode] = InputMskMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputMskMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputMskMode.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 InputMskPq(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[InputMskCompression] = InputMskCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputMskCompression], PlainValidator(validate_open_enum(False))
98
+ ] = InputMskCompression.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[
@@ -109,7 +116,7 @@ class InputMskMetadatum(BaseModel):
109
116
  r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
110
117
 
111
118
 
112
- class InputMskSchemaType(str, Enum):
119
+ class InputMskSchemaType(str, Enum, metaclass=utils.OpenEnumMeta):
113
120
  r"""The schema format used to encode and decode event data"""
114
121
 
115
122
  AVRO = "avro"
@@ -135,14 +142,18 @@ class InputMskAuth(BaseModel):
135
142
  r"""Select or create a secret that references your credentials"""
136
143
 
137
144
 
138
- class InputMskKafkaSchemaRegistryMinimumTLSVersion(str, Enum):
145
+ class InputMskKafkaSchemaRegistryMinimumTLSVersion(
146
+ str, Enum, metaclass=utils.OpenEnumMeta
147
+ ):
139
148
  TL_SV1 = "TLSv1"
140
149
  TL_SV1_1 = "TLSv1.1"
141
150
  TL_SV1_2 = "TLSv1.2"
142
151
  TL_SV1_3 = "TLSv1.3"
143
152
 
144
153
 
145
- class InputMskKafkaSchemaRegistryMaximumTLSVersion(str, Enum):
154
+ class InputMskKafkaSchemaRegistryMaximumTLSVersion(
155
+ str, Enum, metaclass=utils.OpenEnumMeta
156
+ ):
146
157
  TL_SV1 = "TLSv1"
147
158
  TL_SV1_1 = "TLSv1.1"
148
159
  TL_SV1_2 = "TLSv1.2"
@@ -202,12 +213,18 @@ class InputMskKafkaSchemaRegistryTLSSettingsClientSide(BaseModel):
202
213
  r"""Passphrase to use to decrypt private key"""
203
214
 
204
215
  min_version: Annotated[
205
- Optional[InputMskKafkaSchemaRegistryMinimumTLSVersion],
216
+ Annotated[
217
+ Optional[InputMskKafkaSchemaRegistryMinimumTLSVersion],
218
+ PlainValidator(validate_open_enum(False)),
219
+ ],
206
220
  pydantic.Field(alias="minVersion"),
207
221
  ] = None
208
222
 
209
223
  max_version: Annotated[
210
- Optional[InputMskKafkaSchemaRegistryMaximumTLSVersion],
224
+ Annotated[
225
+ Optional[InputMskKafkaSchemaRegistryMaximumTLSVersion],
226
+ PlainValidator(validate_open_enum(False)),
227
+ ],
211
228
  pydantic.Field(alias="maxVersion"),
212
229
  ] = None
213
230
 
@@ -238,7 +255,10 @@ class InputMskKafkaSchemaRegistryAuthentication(BaseModel):
238
255
  r"""URL for accessing the Confluent Schema Registry. Example: http://localhost:8081. To connect over TLS, use https instead of http."""
239
256
 
240
257
  schema_type: Annotated[
241
- Optional[InputMskSchemaType], pydantic.Field(alias="schemaType")
258
+ Annotated[
259
+ Optional[InputMskSchemaType], PlainValidator(validate_open_enum(False))
260
+ ],
261
+ pydantic.Field(alias="schemaType"),
242
262
  ] = InputMskSchemaType.AVRO
243
263
  r"""The schema format used to encode and decode event data"""
244
264
 
@@ -261,7 +281,7 @@ class InputMskKafkaSchemaRegistryAuthentication(BaseModel):
261
281
  tls: Optional[InputMskKafkaSchemaRegistryTLSSettingsClientSide] = None
262
282
 
263
283
 
264
- class InputMskAuthenticationMethod(str, Enum):
284
+ class InputMskAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
265
285
  r"""AWS authentication method. Choose Auto to use IAM roles."""
266
286
 
267
287
  AUTO = "auto"
@@ -269,21 +289,21 @@ class InputMskAuthenticationMethod(str, Enum):
269
289
  SECRET = "secret"
270
290
 
271
291
 
272
- class InputMskSignatureVersion(str, Enum):
292
+ class InputMskSignatureVersion(str, Enum, metaclass=utils.OpenEnumMeta):
273
293
  r"""Signature version to use for signing MSK cluster requests"""
274
294
 
275
295
  V2 = "v2"
276
296
  V4 = "v4"
277
297
 
278
298
 
279
- class InputMskMinimumTLSVersion(str, Enum):
299
+ class InputMskMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
280
300
  TL_SV1 = "TLSv1"
281
301
  TL_SV1_1 = "TLSv1.1"
282
302
  TL_SV1_2 = "TLSv1.2"
283
303
  TL_SV1_3 = "TLSv1.3"
284
304
 
285
305
 
286
- class InputMskMaximumTLSVersion(str, Enum):
306
+ class InputMskMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
287
307
  TL_SV1 = "TLSv1"
288
308
  TL_SV1_1 = "TLSv1.1"
289
309
  TL_SV1_2 = "TLSv1.2"
@@ -343,11 +363,19 @@ class InputMskTLSSettingsClientSide(BaseModel):
343
363
  r"""Passphrase to use to decrypt private key"""
344
364
 
345
365
  min_version: Annotated[
346
- Optional[InputMskMinimumTLSVersion], pydantic.Field(alias="minVersion")
366
+ Annotated[
367
+ Optional[InputMskMinimumTLSVersion],
368
+ PlainValidator(validate_open_enum(False)),
369
+ ],
370
+ pydantic.Field(alias="minVersion"),
347
371
  ] = None
348
372
 
349
373
  max_version: Annotated[
350
- Optional[InputMskMaximumTLSVersion], pydantic.Field(alias="maxVersion")
374
+ Annotated[
375
+ Optional[InputMskMaximumTLSVersion],
376
+ PlainValidator(validate_open_enum(False)),
377
+ ],
378
+ pydantic.Field(alias="maxVersion"),
351
379
  ] = None
352
380
 
353
381
 
@@ -569,7 +597,10 @@ class InputMsk(BaseModel):
569
597
  r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire."""
570
598
 
571
599
  aws_authentication_method: Annotated[
572
- Optional[InputMskAuthenticationMethod],
600
+ Annotated[
601
+ Optional[InputMskAuthenticationMethod],
602
+ PlainValidator(validate_open_enum(False)),
603
+ ],
573
604
  pydantic.Field(alias="awsAuthenticationMethod"),
574
605
  ] = InputMskAuthenticationMethod.AUTO
575
606
  r"""AWS authentication method. Choose Auto to use IAM roles."""
@@ -582,7 +613,11 @@ class InputMsk(BaseModel):
582
613
  r"""MSK cluster service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to MSK cluster-compatible endpoint."""
583
614
 
584
615
  signature_version: Annotated[
585
- Optional[InputMskSignatureVersion], pydantic.Field(alias="signatureVersion")
616
+ Annotated[
617
+ Optional[InputMskSignatureVersion],
618
+ PlainValidator(validate_open_enum(False)),
619
+ ],
620
+ pydantic.Field(alias="signatureVersion"),
586
621
  ] = InputMskSignatureVersion.V4
587
622
  r"""Signature version to use for signing MSK cluster requests"""
588
623
 
@@ -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 InputNetflowConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputNetflowMode(str, Enum):
29
+ class InputNetflowMode(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 InputNetflowCompression(str, Enum):
36
+ class InputNetflowCompression(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 InputNetflowPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputNetflowPq(BaseModel):
67
- mode: Optional[InputNetflowMode] = InputNetflowMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputNetflowMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputNetflowMode.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 InputNetflowPq(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[InputNetflowCompression] = InputNetflowCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputNetflowCompression], PlainValidator(validate_open_enum(False))
98
+ ] = InputNetflowCompression.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[
@@ -1,9 +1,12 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from cribl_control_plane import utils
4
5
  from cribl_control_plane.types import BaseModel
6
+ from cribl_control_plane.utils import validate_open_enum
5
7
  from enum import Enum
6
8
  import pydantic
9
+ from pydantic.functional_validators import PlainValidator
7
10
  from typing import List, Optional
8
11
  from typing_extensions import Annotated, NotRequired, TypedDict
9
12
 
@@ -23,14 +26,14 @@ class InputOffice365MgmtConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputOffice365MgmtMode(str, Enum):
29
+ class InputOffice365MgmtMode(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 InputOffice365MgmtCompression(str, Enum):
36
+ class InputOffice365MgmtCompression(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 InputOffice365MgmtPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputOffice365MgmtPq(BaseModel):
67
- mode: Optional[InputOffice365MgmtMode] = InputOffice365MgmtMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputOffice365MgmtMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputOffice365MgmtMode.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 InputOffice365MgmtPq(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[InputOffice365MgmtCompression] = (
92
- InputOffice365MgmtCompression.NONE
93
- )
96
+ compress: Annotated[
97
+ Optional[InputOffice365MgmtCompression],
98
+ PlainValidator(validate_open_enum(False)),
99
+ ] = InputOffice365MgmtCompression.NONE
94
100
  r"""Codec to use to compress the persisted data"""
95
101
 
96
102
  pq_controls: Annotated[
@@ -98,7 +104,7 @@ class InputOffice365MgmtPq(BaseModel):
98
104
  ] = None
99
105
 
100
106
 
101
- class InputOffice365MgmtSubscriptionPlan(str, Enum):
107
+ class InputOffice365MgmtSubscriptionPlan(str, Enum, metaclass=utils.OpenEnumMeta):
102
108
  r"""Office 365 subscription plan for your organization, typically Office 365 Enterprise"""
103
109
 
104
110
  ENTERPRISE_GCC = "enterprise_gcc"
@@ -120,7 +126,7 @@ class InputOffice365MgmtMetadatum(BaseModel):
120
126
  r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
121
127
 
122
128
 
123
- class InputOffice365MgmtLogLevel(str, Enum):
129
+ class InputOffice365MgmtLogLevel(str, Enum, metaclass=utils.OpenEnumMeta):
124
130
  r"""Collector runtime Log Level"""
125
131
 
126
132
  ERROR = "error"
@@ -150,14 +156,18 @@ class InputOffice365MgmtContentConfig(BaseModel):
150
156
  interval: Optional[float] = None
151
157
 
152
158
  log_level: Annotated[
153
- Optional[InputOffice365MgmtLogLevel], pydantic.Field(alias="logLevel")
159
+ Annotated[
160
+ Optional[InputOffice365MgmtLogLevel],
161
+ PlainValidator(validate_open_enum(False)),
162
+ ],
163
+ pydantic.Field(alias="logLevel"),
154
164
  ] = None
155
165
  r"""Collector runtime Log Level"""
156
166
 
157
167
  enabled: Optional[bool] = None
158
168
 
159
169
 
160
- class InputOffice365MgmtRetryType(str, Enum):
170
+ class InputOffice365MgmtRetryType(str, Enum, metaclass=utils.OpenEnumMeta):
161
171
  r"""The algorithm to use when performing HTTP retries"""
162
172
 
163
173
  NONE = "none"
@@ -185,7 +195,9 @@ class InputOffice365MgmtRetryRulesTypedDict(TypedDict):
185
195
 
186
196
 
187
197
  class InputOffice365MgmtRetryRules(BaseModel):
188
- type: Optional[InputOffice365MgmtRetryType] = InputOffice365MgmtRetryType.BACKOFF
198
+ type: Annotated[
199
+ Optional[InputOffice365MgmtRetryType], PlainValidator(validate_open_enum(False))
200
+ ] = InputOffice365MgmtRetryType.BACKOFF
189
201
  r"""The algorithm to use when performing HTTP retries"""
190
202
 
191
203
  interval: Optional[float] = 1000
@@ -216,7 +228,7 @@ class InputOffice365MgmtRetryRules(BaseModel):
216
228
  r"""Retry request when a connection reset (ECONNRESET) error occurs"""
217
229
 
218
230
 
219
- class InputOffice365MgmtAuthenticationMethod(str, Enum):
231
+ class InputOffice365MgmtAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
220
232
  r"""Enter client secret directly, or select a stored secret"""
221
233
 
222
234
  MANUAL = "manual"
@@ -314,7 +326,11 @@ class InputOffice365Mgmt(BaseModel):
314
326
  pq: Optional[InputOffice365MgmtPq] = None
315
327
 
316
328
  plan_type: Annotated[
317
- Optional[InputOffice365MgmtSubscriptionPlan], pydantic.Field(alias="planType")
329
+ Annotated[
330
+ Optional[InputOffice365MgmtSubscriptionPlan],
331
+ PlainValidator(validate_open_enum(False)),
332
+ ],
333
+ pydantic.Field(alias="planType"),
318
334
  ] = InputOffice365MgmtSubscriptionPlan.ENTERPRISE_GCC
319
335
  r"""Office 365 subscription plan for your organization, typically Office 365 Enterprise"""
320
336
 
@@ -364,7 +380,10 @@ class InputOffice365Mgmt(BaseModel):
364
380
  ] = None
365
381
 
366
382
  auth_type: Annotated[
367
- Optional[InputOffice365MgmtAuthenticationMethod],
383
+ Annotated[
384
+ Optional[InputOffice365MgmtAuthenticationMethod],
385
+ PlainValidator(validate_open_enum(False)),
386
+ ],
368
387
  pydantic.Field(alias="authType"),
369
388
  ] = InputOffice365MgmtAuthenticationMethod.MANUAL
370
389
  r"""Enter client secret directly, or select a stored secret"""
@@ -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 InputOffice365MsgTraceConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputOffice365MsgTraceMode(str, Enum):
29
+ class InputOffice365MsgTraceMode(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 InputOffice365MsgTraceCompression(str, Enum):
36
+ class InputOffice365MsgTraceCompression(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 InputOffice365MsgTracePqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputOffice365MsgTracePq(BaseModel):
67
- mode: Optional[InputOffice365MsgTraceMode] = InputOffice365MsgTraceMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputOffice365MsgTraceMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputOffice365MsgTraceMode.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 InputOffice365MsgTracePq(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[InputOffice365MsgTraceCompression] = (
92
- InputOffice365MsgTraceCompression.NONE
93
- )
96
+ compress: Annotated[
97
+ Optional[InputOffice365MsgTraceCompression],
98
+ PlainValidator(validate_open_enum(False)),
99
+ ] = InputOffice365MsgTraceCompression.NONE
94
100
  r"""Codec to use to compress the persisted data"""
95
101
 
96
102
  pq_controls: Annotated[
@@ -98,7 +104,9 @@ class InputOffice365MsgTracePq(BaseModel):
98
104
  ] = None
99
105
 
100
106
 
101
- class InputOffice365MsgTraceAuthenticationMethod(str, Enum):
107
+ class InputOffice365MsgTraceAuthenticationMethod(
108
+ str, Enum, metaclass=utils.OpenEnumMeta
109
+ ):
102
110
  r"""Select authentication method."""
103
111
 
104
112
  MANUAL = "manual"
@@ -108,7 +116,7 @@ class InputOffice365MsgTraceAuthenticationMethod(str, Enum):
108
116
  OAUTH_CERT = "oauthCert"
109
117
 
110
118
 
111
- class InputOffice365MsgTraceLogLevel(str, Enum):
119
+ class InputOffice365MsgTraceLogLevel(str, Enum, metaclass=utils.OpenEnumMeta):
112
120
  r"""Log Level (verbosity) for collection runtime behavior."""
113
121
 
114
122
  ERROR = "error"
@@ -131,7 +139,7 @@ class InputOffice365MsgTraceMetadatum(BaseModel):
131
139
  r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
132
140
 
133
141
 
134
- class InputOffice365MsgTraceRetryType(str, Enum):
142
+ class InputOffice365MsgTraceRetryType(str, Enum, metaclass=utils.OpenEnumMeta):
135
143
  r"""The algorithm to use when performing HTTP retries"""
136
144
 
137
145
  NONE = "none"
@@ -159,9 +167,10 @@ class InputOffice365MsgTraceRetryRulesTypedDict(TypedDict):
159
167
 
160
168
 
161
169
  class InputOffice365MsgTraceRetryRules(BaseModel):
162
- type: Optional[InputOffice365MsgTraceRetryType] = (
163
- InputOffice365MsgTraceRetryType.BACKOFF
164
- )
170
+ type: Annotated[
171
+ Optional[InputOffice365MsgTraceRetryType],
172
+ PlainValidator(validate_open_enum(False)),
173
+ ] = InputOffice365MsgTraceRetryType.BACKOFF
165
174
  r"""The algorithm to use when performing HTTP retries"""
166
175
 
167
176
  interval: Optional[float] = 1000
@@ -192,7 +201,7 @@ class InputOffice365MsgTraceRetryRules(BaseModel):
192
201
  r"""Retry request when a connection reset (ECONNRESET) error occurs"""
193
202
 
194
203
 
195
- class InputOffice365MsgTraceSubscriptionPlan(str, Enum):
204
+ class InputOffice365MsgTraceSubscriptionPlan(str, Enum, metaclass=utils.OpenEnumMeta):
196
205
  r"""Office 365 subscription plan for your organization, typically Office 365 Enterprise"""
197
206
 
198
207
  ENTERPRISE_GCC = "enterprise_gcc"
@@ -354,7 +363,10 @@ class InputOffice365MsgTrace(BaseModel):
354
363
  r"""Disables time filtering of events when a date range is specified."""
355
364
 
356
365
  auth_type: Annotated[
357
- Optional[InputOffice365MsgTraceAuthenticationMethod],
366
+ Annotated[
367
+ Optional[InputOffice365MsgTraceAuthenticationMethod],
368
+ PlainValidator(validate_open_enum(False)),
369
+ ],
358
370
  pydantic.Field(alias="authType"),
359
371
  ] = InputOffice365MsgTraceAuthenticationMethod.OAUTH
360
372
  r"""Select authentication method."""
@@ -370,7 +382,11 @@ class InputOffice365MsgTrace(BaseModel):
370
382
  r"""Maximum number of times a task can be rescheduled"""
371
383
 
372
384
  log_level: Annotated[
373
- Optional[InputOffice365MsgTraceLogLevel], pydantic.Field(alias="logLevel")
385
+ Annotated[
386
+ Optional[InputOffice365MsgTraceLogLevel],
387
+ PlainValidator(validate_open_enum(False)),
388
+ ],
389
+ pydantic.Field(alias="logLevel"),
374
390
  ] = InputOffice365MsgTraceLogLevel.INFO
375
391
  r"""Log Level (verbosity) for collection runtime behavior."""
376
392
 
@@ -428,7 +444,10 @@ class InputOffice365MsgTrace(BaseModel):
428
444
  r"""Resource to pass in the OAuth request parameter."""
429
445
 
430
446
  plan_type: Annotated[
431
- Optional[InputOffice365MsgTraceSubscriptionPlan],
447
+ Annotated[
448
+ Optional[InputOffice365MsgTraceSubscriptionPlan],
449
+ PlainValidator(validate_open_enum(False)),
450
+ ],
432
451
  pydantic.Field(alias="planType"),
433
452
  ] = InputOffice365MsgTraceSubscriptionPlan.ENTERPRISE_GCC
434
453
  r"""Office 365 subscription plan for your organization, typically Office 365 Enterprise"""
@@ -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 InputOffice365ServiceConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputOffice365ServiceMode(str, Enum):
29
+ class InputOffice365ServiceMode(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 InputOffice365ServiceCompression(str, Enum):
36
+ class InputOffice365ServiceCompression(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 InputOffice365ServicePqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputOffice365ServicePq(BaseModel):
67
- mode: Optional[InputOffice365ServiceMode] = InputOffice365ServiceMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputOffice365ServiceMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputOffice365ServiceMode.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 InputOffice365ServicePq(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[InputOffice365ServiceCompression] = (
92
- InputOffice365ServiceCompression.NONE
93
- )
96
+ compress: Annotated[
97
+ Optional[InputOffice365ServiceCompression],
98
+ PlainValidator(validate_open_enum(False)),
99
+ ] = InputOffice365ServiceCompression.NONE
94
100
  r"""Codec to use to compress the persisted data"""
95
101
 
96
102
  pq_controls: Annotated[
@@ -98,7 +104,7 @@ class InputOffice365ServicePq(BaseModel):
98
104
  ] = None
99
105
 
100
106
 
101
- class InputOffice365ServiceSubscriptionPlan(str, Enum):
107
+ class InputOffice365ServiceSubscriptionPlan(str, Enum, metaclass=utils.OpenEnumMeta):
102
108
  r"""Office 365 subscription plan for your organization, typically Office 365 Enterprise"""
103
109
 
104
110
  ENTERPRISE_GCC = "enterprise_gcc"
@@ -120,7 +126,7 @@ class InputOffice365ServiceMetadatum(BaseModel):
120
126
  r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
121
127
 
122
128
 
123
- class InputOffice365ServiceLogLevel(str, Enum):
129
+ class InputOffice365ServiceLogLevel(str, Enum, metaclass=utils.OpenEnumMeta):
124
130
  r"""Collector runtime Log Level"""
125
131
 
126
132
  ERROR = "error"
@@ -150,14 +156,18 @@ class InputOffice365ServiceContentConfig(BaseModel):
150
156
  interval: Optional[float] = None
151
157
 
152
158
  log_level: Annotated[
153
- Optional[InputOffice365ServiceLogLevel], pydantic.Field(alias="logLevel")
159
+ Annotated[
160
+ Optional[InputOffice365ServiceLogLevel],
161
+ PlainValidator(validate_open_enum(False)),
162
+ ],
163
+ pydantic.Field(alias="logLevel"),
154
164
  ] = None
155
165
  r"""Collector runtime Log Level"""
156
166
 
157
167
  enabled: Optional[bool] = None
158
168
 
159
169
 
160
- class InputOffice365ServiceRetryType(str, Enum):
170
+ class InputOffice365ServiceRetryType(str, Enum, metaclass=utils.OpenEnumMeta):
161
171
  r"""The algorithm to use when performing HTTP retries"""
162
172
 
163
173
  NONE = "none"
@@ -185,9 +195,10 @@ class InputOffice365ServiceRetryRulesTypedDict(TypedDict):
185
195
 
186
196
 
187
197
  class InputOffice365ServiceRetryRules(BaseModel):
188
- type: Optional[InputOffice365ServiceRetryType] = (
189
- InputOffice365ServiceRetryType.BACKOFF
190
- )
198
+ type: Annotated[
199
+ Optional[InputOffice365ServiceRetryType],
200
+ PlainValidator(validate_open_enum(False)),
201
+ ] = InputOffice365ServiceRetryType.BACKOFF
191
202
  r"""The algorithm to use when performing HTTP retries"""
192
203
 
193
204
  interval: Optional[float] = 1000
@@ -218,7 +229,9 @@ class InputOffice365ServiceRetryRules(BaseModel):
218
229
  r"""Retry request when a connection reset (ECONNRESET) error occurs"""
219
230
 
220
231
 
221
- class InputOffice365ServiceAuthenticationMethod(str, Enum):
232
+ class InputOffice365ServiceAuthenticationMethod(
233
+ str, Enum, metaclass=utils.OpenEnumMeta
234
+ ):
222
235
  r"""Enter client secret directly, or select a stored secret"""
223
236
 
224
237
  MANUAL = "manual"
@@ -312,7 +325,10 @@ class InputOffice365Service(BaseModel):
312
325
  pq: Optional[InputOffice365ServicePq] = None
313
326
 
314
327
  plan_type: Annotated[
315
- Optional[InputOffice365ServiceSubscriptionPlan],
328
+ Annotated[
329
+ Optional[InputOffice365ServiceSubscriptionPlan],
330
+ PlainValidator(validate_open_enum(False)),
331
+ ],
316
332
  pydantic.Field(alias="planType"),
317
333
  ] = InputOffice365ServiceSubscriptionPlan.ENTERPRISE_GCC
318
334
  r"""Office 365 subscription plan for your organization, typically Office 365 Enterprise"""
@@ -355,7 +371,10 @@ class InputOffice365Service(BaseModel):
355
371
  ] = None
356
372
 
357
373
  auth_type: Annotated[
358
- Optional[InputOffice365ServiceAuthenticationMethod],
374
+ Annotated[
375
+ Optional[InputOffice365ServiceAuthenticationMethod],
376
+ PlainValidator(validate_open_enum(False)),
377
+ ],
359
378
  pydantic.Field(alias="authType"),
360
379
  ] = InputOffice365ServiceAuthenticationMethod.MANUAL
361
380
  r"""Enter client secret directly, or select a stored secret"""