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 InputSqsConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputSqsMode(str, Enum):
29
+ class InputSqsMode(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 InputSqsCompression(str, Enum):
36
+ class InputSqsCompression(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 InputSqsPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputSqsPq(BaseModel):
67
- mode: Optional[InputSqsMode] = InputSqsMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputSqsMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputSqsMode.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 InputSqsPq(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[InputSqsCompression] = InputSqsCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputSqsCompression], PlainValidator(validate_open_enum(False))
98
+ ] = InputSqsCompression.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[
@@ -96,14 +103,14 @@ class InputSqsPq(BaseModel):
96
103
  ] = None
97
104
 
98
105
 
99
- class InputSqsQueueType(str, Enum):
106
+ class InputSqsQueueType(str, Enum, metaclass=utils.OpenEnumMeta):
100
107
  r"""The queue type used (or created)"""
101
108
 
102
109
  STANDARD = "standard"
103
110
  FIFO = "fifo"
104
111
 
105
112
 
106
- class InputSqsAuthenticationMethod(str, Enum):
113
+ class InputSqsAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
107
114
  r"""AWS authentication method. Choose Auto to use IAM roles."""
108
115
 
109
116
  AUTO = "auto"
@@ -111,7 +118,7 @@ class InputSqsAuthenticationMethod(str, Enum):
111
118
  SECRET = "secret"
112
119
 
113
120
 
114
- class InputSqsSignatureVersion(str, Enum):
121
+ class InputSqsSignatureVersion(str, Enum, metaclass=utils.OpenEnumMeta):
115
122
  r"""Signature version to use for signing SQS requests"""
116
123
 
117
124
  V2 = "v2"
@@ -228,7 +235,10 @@ class InputSqs(BaseModel):
228
235
  pq: Optional[InputSqsPq] = None
229
236
 
230
237
  queue_type: Annotated[
231
- Optional[InputSqsQueueType], pydantic.Field(alias="queueType")
238
+ Annotated[
239
+ Optional[InputSqsQueueType], PlainValidator(validate_open_enum(False))
240
+ ],
241
+ pydantic.Field(alias="queueType"),
232
242
  ] = InputSqsQueueType.STANDARD
233
243
  r"""The queue type used (or created)"""
234
244
 
@@ -241,7 +251,10 @@ class InputSqs(BaseModel):
241
251
  r"""Create queue if it does not exist"""
242
252
 
243
253
  aws_authentication_method: Annotated[
244
- Optional[InputSqsAuthenticationMethod],
254
+ Annotated[
255
+ Optional[InputSqsAuthenticationMethod],
256
+ PlainValidator(validate_open_enum(False)),
257
+ ],
245
258
  pydantic.Field(alias="awsAuthenticationMethod"),
246
259
  ] = InputSqsAuthenticationMethod.AUTO
247
260
  r"""AWS authentication method. Choose Auto to use IAM roles."""
@@ -257,7 +270,11 @@ class InputSqs(BaseModel):
257
270
  r"""SQS service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to SQS-compatible endpoint."""
258
271
 
259
272
  signature_version: Annotated[
260
- Optional[InputSqsSignatureVersion], pydantic.Field(alias="signatureVersion")
273
+ Annotated[
274
+ Optional[InputSqsSignatureVersion],
275
+ PlainValidator(validate_open_enum(False)),
276
+ ],
277
+ pydantic.Field(alias="signatureVersion"),
261
278
  ] = InputSqsSignatureVersion.V4
262
279
  r"""Signature version to use for signing SQS requests"""
263
280
 
@@ -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, Union
8
11
  from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
9
12
 
@@ -23,14 +26,14 @@ class InputSyslogConnection2(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputSyslogMode2(str, Enum):
29
+ class InputSyslogMode2(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 InputSyslogCompression2(str, Enum):
36
+ class InputSyslogCompression2(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 InputSyslogPq2TypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputSyslogPq2(BaseModel):
67
- mode: Optional[InputSyslogMode2] = InputSyslogMode2.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputSyslogMode2], PlainValidator(validate_open_enum(False))
72
+ ] = InputSyslogMode2.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 InputSyslogPq2(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[InputSyslogCompression2] = InputSyslogCompression2.NONE
96
+ compress: Annotated[
97
+ Optional[InputSyslogCompression2], PlainValidator(validate_open_enum(False))
98
+ ] = InputSyslogCompression2.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[
@@ -96,14 +103,14 @@ class InputSyslogPq2(BaseModel):
96
103
  ] = None
97
104
 
98
105
 
99
- class InputSyslogMinimumTLSVersion2(str, Enum):
106
+ class InputSyslogMinimumTLSVersion2(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 InputSyslogMaximumTLSVersion2(str, Enum):
113
+ class InputSyslogMaximumTLSVersion2(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 InputSyslogTLSSettingsServerSide2(BaseModel):
162
169
  ] = None
163
170
 
164
171
  min_version: Annotated[
165
- Optional[InputSyslogMinimumTLSVersion2], pydantic.Field(alias="minVersion")
172
+ Annotated[
173
+ Optional[InputSyslogMinimumTLSVersion2],
174
+ PlainValidator(validate_open_enum(False)),
175
+ ],
176
+ pydantic.Field(alias="minVersion"),
166
177
  ] = None
167
178
 
168
179
  max_version: Annotated[
169
- Optional[InputSyslogMaximumTLSVersion2], pydantic.Field(alias="maxVersion")
180
+ Annotated[
181
+ Optional[InputSyslogMaximumTLSVersion2],
182
+ PlainValidator(validate_open_enum(False)),
183
+ ],
184
+ pydantic.Field(alias="maxVersion"),
170
185
  ] = None
171
186
 
172
187
 
@@ -394,14 +409,14 @@ class InputSyslogConnection1(BaseModel):
394
409
  pipeline: Optional[str] = None
395
410
 
396
411
 
397
- class InputSyslogMode1(str, Enum):
412
+ class InputSyslogMode1(str, Enum, metaclass=utils.OpenEnumMeta):
398
413
  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."""
399
414
 
400
415
  SMART = "smart"
401
416
  ALWAYS = "always"
402
417
 
403
418
 
404
- class InputSyslogCompression1(str, Enum):
419
+ class InputSyslogCompression1(str, Enum, metaclass=utils.OpenEnumMeta):
405
420
  r"""Codec to use to compress the persisted data"""
406
421
 
407
422
  NONE = "none"
@@ -435,7 +450,9 @@ class InputSyslogPq1TypedDict(TypedDict):
435
450
 
436
451
 
437
452
  class InputSyslogPq1(BaseModel):
438
- mode: Optional[InputSyslogMode1] = InputSyslogMode1.ALWAYS
453
+ mode: Annotated[
454
+ Optional[InputSyslogMode1], PlainValidator(validate_open_enum(False))
455
+ ] = InputSyslogMode1.ALWAYS
439
456
  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."""
440
457
 
441
458
  max_buffer_size: Annotated[
@@ -459,7 +476,9 @@ class InputSyslogPq1(BaseModel):
459
476
  path: Optional[str] = "$CRIBL_HOME/state/queues"
460
477
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
461
478
 
462
- compress: Optional[InputSyslogCompression1] = InputSyslogCompression1.NONE
479
+ compress: Annotated[
480
+ Optional[InputSyslogCompression1], PlainValidator(validate_open_enum(False))
481
+ ] = InputSyslogCompression1.NONE
463
482
  r"""Codec to use to compress the persisted data"""
464
483
 
465
484
  pq_controls: Annotated[
@@ -467,14 +486,14 @@ class InputSyslogPq1(BaseModel):
467
486
  ] = None
468
487
 
469
488
 
470
- class InputSyslogMinimumTLSVersion1(str, Enum):
489
+ class InputSyslogMinimumTLSVersion1(str, Enum, metaclass=utils.OpenEnumMeta):
471
490
  TL_SV1 = "TLSv1"
472
491
  TL_SV1_1 = "TLSv1.1"
473
492
  TL_SV1_2 = "TLSv1.2"
474
493
  TL_SV1_3 = "TLSv1.3"
475
494
 
476
495
 
477
- class InputSyslogMaximumTLSVersion1(str, Enum):
496
+ class InputSyslogMaximumTLSVersion1(str, Enum, metaclass=utils.OpenEnumMeta):
478
497
  TL_SV1 = "TLSv1"
479
498
  TL_SV1_1 = "TLSv1.1"
480
499
  TL_SV1_2 = "TLSv1.2"
@@ -533,11 +552,19 @@ class InputSyslogTLSSettingsServerSide1(BaseModel):
533
552
  ] = None
534
553
 
535
554
  min_version: Annotated[
536
- Optional[InputSyslogMinimumTLSVersion1], pydantic.Field(alias="minVersion")
555
+ Annotated[
556
+ Optional[InputSyslogMinimumTLSVersion1],
557
+ PlainValidator(validate_open_enum(False)),
558
+ ],
559
+ pydantic.Field(alias="minVersion"),
537
560
  ] = None
538
561
 
539
562
  max_version: Annotated[
540
- Optional[InputSyslogMaximumTLSVersion1], pydantic.Field(alias="maxVersion")
563
+ Annotated[
564
+ Optional[InputSyslogMaximumTLSVersion1],
565
+ PlainValidator(validate_open_enum(False)),
566
+ ],
567
+ pydantic.Field(alias="maxVersion"),
541
568
  ] = None
542
569
 
543
570
 
@@ -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 InputSystemMetricsConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputSystemMetricsPqMode(str, Enum):
29
+ class InputSystemMetricsPqMode(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 InputSystemMetricsCompression(str, Enum):
36
+ class InputSystemMetricsCompression(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 InputSystemMetricsPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputSystemMetricsPq(BaseModel):
67
- mode: Optional[InputSystemMetricsPqMode] = InputSystemMetricsPqMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputSystemMetricsPqMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputSystemMetricsPqMode.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 InputSystemMetricsPq(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[InputSystemMetricsCompression] = (
92
- InputSystemMetricsCompression.NONE
93
- )
96
+ compress: Annotated[
97
+ Optional[InputSystemMetricsCompression],
98
+ PlainValidator(validate_open_enum(False)),
99
+ ] = InputSystemMetricsCompression.NONE
94
100
  r"""Codec to use to compress the persisted data"""
95
101
 
96
102
  pq_controls: Annotated[
@@ -98,7 +104,7 @@ class InputSystemMetricsPq(BaseModel):
98
104
  ] = None
99
105
 
100
106
 
101
- class InputSystemMetricsHostMode(str, Enum):
107
+ class InputSystemMetricsHostMode(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 InputSystemMetricsHostMode(str, Enum):
107
113
  DISABLED = "disabled"
108
114
 
109
115
 
110
- class InputSystemMetricsSystemMode(str, Enum):
116
+ class InputSystemMetricsSystemMode(str, Enum, metaclass=utils.OpenEnumMeta):
111
117
  r"""Select the level of detail for system metrics"""
112
118
 
113
119
  BASIC = "basic"
@@ -124,14 +130,17 @@ class InputSystemMetricsSystemTypedDict(TypedDict):
124
130
 
125
131
 
126
132
  class InputSystemMetricsSystem(BaseModel):
127
- mode: Optional[InputSystemMetricsSystemMode] = InputSystemMetricsSystemMode.BASIC
133
+ mode: Annotated[
134
+ Optional[InputSystemMetricsSystemMode],
135
+ PlainValidator(validate_open_enum(False)),
136
+ ] = InputSystemMetricsSystemMode.BASIC
128
137
  r"""Select the level of detail for system metrics"""
129
138
 
130
139
  processes: Optional[bool] = False
131
140
  r"""Generate metrics for the numbers of processes in various states"""
132
141
 
133
142
 
134
- class InputSystemMetricsCPUMode(str, Enum):
143
+ class InputSystemMetricsCPUMode(str, Enum, metaclass=utils.OpenEnumMeta):
135
144
  r"""Select the level of detail for CPU metrics"""
136
145
 
137
146
  BASIC = "basic"
@@ -152,7 +161,9 @@ class InputSystemMetricsCPUTypedDict(TypedDict):
152
161
 
153
162
 
154
163
  class InputSystemMetricsCPU(BaseModel):
155
- mode: Optional[InputSystemMetricsCPUMode] = InputSystemMetricsCPUMode.BASIC
164
+ mode: Annotated[
165
+ Optional[InputSystemMetricsCPUMode], PlainValidator(validate_open_enum(False))
166
+ ] = InputSystemMetricsCPUMode.BASIC
156
167
  r"""Select the level of detail for CPU metrics"""
157
168
 
158
169
  per_cpu: Annotated[Optional[bool], pydantic.Field(alias="perCpu")] = False
@@ -165,7 +176,7 @@ class InputSystemMetricsCPU(BaseModel):
165
176
  r"""Generate raw, monotonic CPU time counters"""
166
177
 
167
178
 
168
- class InputSystemMetricsMemoryMode(str, Enum):
179
+ class InputSystemMetricsMemoryMode(str, Enum, metaclass=utils.OpenEnumMeta):
169
180
  r"""Select the level of detail for memory metrics"""
170
181
 
171
182
  BASIC = "basic"
@@ -182,14 +193,17 @@ class InputSystemMetricsMemoryTypedDict(TypedDict):
182
193
 
183
194
 
184
195
  class InputSystemMetricsMemory(BaseModel):
185
- mode: Optional[InputSystemMetricsMemoryMode] = InputSystemMetricsMemoryMode.BASIC
196
+ mode: Annotated[
197
+ Optional[InputSystemMetricsMemoryMode],
198
+ PlainValidator(validate_open_enum(False)),
199
+ ] = InputSystemMetricsMemoryMode.BASIC
186
200
  r"""Select the level of detail 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 InputSystemMetricsNetworkMode(str, Enum):
206
+ class InputSystemMetricsNetworkMode(str, Enum, metaclass=utils.OpenEnumMeta):
193
207
  r"""Select the level of detail for network metrics"""
194
208
 
195
209
  BASIC = "basic"
@@ -210,7 +224,10 @@ class InputSystemMetricsNetworkTypedDict(TypedDict):
210
224
 
211
225
 
212
226
  class InputSystemMetricsNetwork(BaseModel):
213
- mode: Optional[InputSystemMetricsNetworkMode] = InputSystemMetricsNetworkMode.BASIC
227
+ mode: Annotated[
228
+ Optional[InputSystemMetricsNetworkMode],
229
+ PlainValidator(validate_open_enum(False)),
230
+ ] = InputSystemMetricsNetworkMode.BASIC
214
231
  r"""Select the level of detail for network metrics"""
215
232
 
216
233
  devices: Optional[List[str]] = None
@@ -225,7 +242,7 @@ class InputSystemMetricsNetwork(BaseModel):
225
242
  r"""Generate full network metrics"""
226
243
 
227
244
 
228
- class InputSystemMetricsDiskMode(str, Enum):
245
+ class InputSystemMetricsDiskMode(str, Enum, metaclass=utils.OpenEnumMeta):
229
246
  r"""Select the level of detail for disk metrics"""
230
247
 
231
248
  BASIC = "basic"
@@ -250,7 +267,9 @@ class InputSystemMetricsDiskTypedDict(TypedDict):
250
267
 
251
268
 
252
269
  class InputSystemMetricsDisk(BaseModel):
253
- mode: Optional[InputSystemMetricsDiskMode] = InputSystemMetricsDiskMode.BASIC
270
+ mode: Annotated[
271
+ Optional[InputSystemMetricsDiskMode], PlainValidator(validate_open_enum(False))
272
+ ] = InputSystemMetricsDiskMode.BASIC
254
273
  r"""Select the level of detail for disk metrics"""
255
274
 
256
275
  devices: Optional[List[str]] = None
@@ -296,7 +315,9 @@ class InputSystemMetricsHostTypedDict(TypedDict):
296
315
 
297
316
 
298
317
  class InputSystemMetricsHost(BaseModel):
299
- mode: Optional[InputSystemMetricsHostMode] = InputSystemMetricsHostMode.BASIC
318
+ mode: Annotated[
319
+ Optional[InputSystemMetricsHostMode], PlainValidator(validate_open_enum(False))
320
+ ] = InputSystemMetricsHostMode.BASIC
300
321
  r"""Select level of detail for host metrics"""
301
322
 
302
323
  custom: Optional[InputSystemMetricsCustom] = None
@@ -328,7 +349,7 @@ class InputSystemMetricsProcess(BaseModel):
328
349
  r"""Configure sets to collect process metrics"""
329
350
 
330
351
 
331
- class ContainerMode(str, Enum):
352
+ class ContainerMode(str, Enum, metaclass=utils.OpenEnumMeta):
332
353
  r"""Select the level of detail for container metrics"""
333
354
 
334
355
  BASIC = "basic"
@@ -363,7 +384,9 @@ class ContainerTypedDict(TypedDict):
363
384
 
364
385
 
365
386
  class Container(BaseModel):
366
- mode: Optional[ContainerMode] = ContainerMode.BASIC
387
+ mode: Annotated[
388
+ Optional[ContainerMode], PlainValidator(validate_open_enum(False))
389
+ ] = ContainerMode.BASIC
367
390
  r"""Select the level of detail for container metrics"""
368
391
 
369
392
  docker_socket: Annotated[
@@ -404,7 +427,7 @@ class InputSystemMetricsMetadatum(BaseModel):
404
427
  r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
405
428
 
406
429
 
407
- class InputSystemMetricsDataCompressionFormat(str, Enum):
430
+ class InputSystemMetricsDataCompressionFormat(str, Enum, metaclass=utils.OpenEnumMeta):
408
431
  NONE = "none"
409
432
  GZIP = "gzip"
410
433
 
@@ -436,9 +459,10 @@ class InputSystemMetricsPersistence(BaseModel):
436
459
  max_data_time: Annotated[Optional[str], pydantic.Field(alias="maxDataTime")] = "24h"
437
460
  r"""Maximum amount of time to retain data (examples: 2h, 4d). When limit is reached, older data will be deleted."""
438
461
 
439
- compress: Optional[InputSystemMetricsDataCompressionFormat] = (
440
- InputSystemMetricsDataCompressionFormat.GZIP
441
- )
462
+ compress: Annotated[
463
+ Optional[InputSystemMetricsDataCompressionFormat],
464
+ PlainValidator(validate_open_enum(False)),
465
+ ] = InputSystemMetricsDataCompressionFormat.GZIP
442
466
 
443
467
  dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = (
444
468
  "$CRIBL_HOME/state/system_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 InputSystemStateConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputSystemStateMode(str, Enum):
29
+ class InputSystemStateMode(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 InputSystemStateCompression(str, Enum):
36
+ class InputSystemStateCompression(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 InputSystemStatePqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputSystemStatePq(BaseModel):
67
- mode: Optional[InputSystemStateMode] = InputSystemStateMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputSystemStateMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputSystemStateMode.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 InputSystemStatePq(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[InputSystemStateCompression] = InputSystemStateCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputSystemStateCompression], PlainValidator(validate_open_enum(False))
98
+ ] = InputSystemStateCompression.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[
@@ -303,7 +310,7 @@ class Collectors(BaseModel):
303
310
  r"""Creates events from list of logged-in users"""
304
311
 
305
312
 
306
- class InputSystemStateDataCompressionFormat(str, Enum):
313
+ class InputSystemStateDataCompressionFormat(str, Enum, metaclass=utils.OpenEnumMeta):
307
314
  NONE = "none"
308
315
  GZIP = "gzip"
309
316
 
@@ -335,9 +342,10 @@ class InputSystemStatePersistence(BaseModel):
335
342
  max_data_time: Annotated[Optional[str], pydantic.Field(alias="maxDataTime")] = "24h"
336
343
  r"""Maximum amount of time to retain data (examples: 2h, 4d). When limit is reached, older data will be deleted."""
337
344
 
338
- compress: Optional[InputSystemStateDataCompressionFormat] = (
339
- InputSystemStateDataCompressionFormat.NONE
340
- )
345
+ compress: Annotated[
346
+ Optional[InputSystemStateDataCompressionFormat],
347
+ PlainValidator(validate_open_enum(False)),
348
+ ] = InputSystemStateDataCompressionFormat.NONE
341
349
 
342
350
  dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = (
343
351
  "$CRIBL_HOME/state/system_state"
@@ -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 InputTCPConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputTCPMode(str, Enum):
29
+ class InputTCPMode(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 InputTCPCompression(str, Enum):
36
+ class InputTCPCompression(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 InputTCPPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputTCPPq(BaseModel):
67
- mode: Optional[InputTCPMode] = InputTCPMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputTCPMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputTCPMode.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 InputTCPPq(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[InputTCPCompression] = InputTCPCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputTCPCompression], PlainValidator(validate_open_enum(False))
98
+ ] = InputTCPCompression.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[
@@ -96,14 +103,14 @@ class InputTCPPq(BaseModel):
96
103
  ] = None
97
104
 
98
105
 
99
- class InputTCPMinimumTLSVersion(str, Enum):
106
+ class InputTCPMinimumTLSVersion(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 InputTCPMaximumTLSVersion(str, Enum):
113
+ class InputTCPMaximumTLSVersion(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 InputTCPTLSSettingsServerSide(BaseModel):
162
169
  ] = None
163
170
 
164
171
  min_version: Annotated[
165
- Optional[InputTCPMinimumTLSVersion], pydantic.Field(alias="minVersion")
172
+ Annotated[
173
+ Optional[InputTCPMinimumTLSVersion],
174
+ PlainValidator(validate_open_enum(False)),
175
+ ],
176
+ pydantic.Field(alias="minVersion"),
166
177
  ] = None
167
178
 
168
179
  max_version: Annotated[
169
- Optional[InputTCPMaximumTLSVersion], pydantic.Field(alias="maxVersion")
180
+ Annotated[
181
+ Optional[InputTCPMaximumTLSVersion],
182
+ PlainValidator(validate_open_enum(False)),
183
+ ],
184
+ pydantic.Field(alias="maxVersion"),
170
185
  ] = None
171
186
 
172
187
 
@@ -201,7 +216,7 @@ class InputTCPPreprocess(BaseModel):
201
216
  r"""Arguments to be added to the custom command"""
202
217
 
203
218
 
204
- class InputTCPAuthenticationMethod(str, Enum):
219
+ class InputTCPAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
205
220
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
206
221
 
207
222
  MANUAL = "manual"
@@ -348,6 +363,10 @@ class InputTCP(BaseModel):
348
363
  description: Optional[str] = None
349
364
 
350
365
  auth_type: Annotated[
351
- Optional[InputTCPAuthenticationMethod], pydantic.Field(alias="authType")
366
+ Annotated[
367
+ Optional[InputTCPAuthenticationMethod],
368
+ PlainValidator(validate_open_enum(False)),
369
+ ],
370
+ pydantic.Field(alias="authType"),
352
371
  ] = InputTCPAuthenticationMethod.MANUAL
353
372
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""