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 InputKinesisConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputKinesisMode(str, Enum):
29
+ class InputKinesisMode(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 InputKinesisCompression(str, Enum):
36
+ class InputKinesisCompression(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 InputKinesisPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputKinesisPq(BaseModel):
67
- mode: Optional[InputKinesisMode] = InputKinesisMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputKinesisMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputKinesisMode.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 InputKinesisPq(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[InputKinesisCompression] = InputKinesisCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputKinesisCompression], PlainValidator(validate_open_enum(False))
98
+ ] = InputKinesisCompression.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[
@@ -96,14 +103,14 @@ class InputKinesisPq(BaseModel):
96
103
  ] = None
97
104
 
98
105
 
99
- class ShardIteratorStart(str, Enum):
106
+ class ShardIteratorStart(str, Enum, metaclass=utils.OpenEnumMeta):
100
107
  r"""Location at which to start reading a shard for the first time"""
101
108
 
102
109
  TRIM_HORIZON = "TRIM_HORIZON"
103
110
  LATEST = "LATEST"
104
111
 
105
112
 
106
- class InputKinesisRecordDataFormat(str, Enum):
113
+ class InputKinesisRecordDataFormat(str, Enum, metaclass=utils.OpenEnumMeta):
107
114
  r"""Format of data inside the Kinesis Stream records. Gzip compression is automatically detected."""
108
115
 
109
116
  CRIBL = "cribl"
@@ -112,14 +119,14 @@ class InputKinesisRecordDataFormat(str, Enum):
112
119
  LINE = "line"
113
120
 
114
121
 
115
- class ShardLoadBalancing(str, Enum):
122
+ class ShardLoadBalancing(str, Enum, metaclass=utils.OpenEnumMeta):
116
123
  r"""The load-balancing algorithm to use for spreading out shards across Workers and Worker Processes"""
117
124
 
118
125
  CONSISTENT_HASHING = "ConsistentHashing"
119
126
  ROUND_ROBIN = "RoundRobin"
120
127
 
121
128
 
122
- class InputKinesisAuthenticationMethod(str, Enum):
129
+ class InputKinesisAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
123
130
  r"""AWS authentication method. Choose Auto to use IAM roles."""
124
131
 
125
132
  AUTO = "auto"
@@ -127,7 +134,7 @@ class InputKinesisAuthenticationMethod(str, Enum):
127
134
  SECRET = "secret"
128
135
 
129
136
 
130
- class InputKinesisSignatureVersion(str, Enum):
137
+ class InputKinesisSignatureVersion(str, Enum, metaclass=utils.OpenEnumMeta):
131
138
  r"""Signature version to use for signing Kinesis stream requests"""
132
139
 
133
140
  V2 = "v2"
@@ -259,12 +266,19 @@ class InputKinesis(BaseModel):
259
266
  r"""A JavaScript expression to be called with each shardId for the stream. If the expression evaluates to a truthy value, the shard will be processed."""
260
267
 
261
268
  shard_iterator_type: Annotated[
262
- Optional[ShardIteratorStart], pydantic.Field(alias="shardIteratorType")
269
+ Annotated[
270
+ Optional[ShardIteratorStart], PlainValidator(validate_open_enum(False))
271
+ ],
272
+ pydantic.Field(alias="shardIteratorType"),
263
273
  ] = ShardIteratorStart.TRIM_HORIZON
264
274
  r"""Location at which to start reading a shard for the first time"""
265
275
 
266
276
  payload_format: Annotated[
267
- Optional[InputKinesisRecordDataFormat], pydantic.Field(alias="payloadFormat")
277
+ Annotated[
278
+ Optional[InputKinesisRecordDataFormat],
279
+ PlainValidator(validate_open_enum(False)),
280
+ ],
281
+ pydantic.Field(alias="payloadFormat"),
268
282
  ] = InputKinesisRecordDataFormat.CRIBL
269
283
  r"""Format of data inside the Kinesis Stream records. Gzip compression is automatically detected."""
270
284
 
@@ -279,12 +293,18 @@ class InputKinesis(BaseModel):
279
293
  r"""Maximum number of records, across all shards, to pull down at once per Worker Process"""
280
294
 
281
295
  load_balancing_algorithm: Annotated[
282
- Optional[ShardLoadBalancing], pydantic.Field(alias="loadBalancingAlgorithm")
296
+ Annotated[
297
+ Optional[ShardLoadBalancing], PlainValidator(validate_open_enum(False))
298
+ ],
299
+ pydantic.Field(alias="loadBalancingAlgorithm"),
283
300
  ] = ShardLoadBalancing.CONSISTENT_HASHING
284
301
  r"""The load-balancing algorithm to use for spreading out shards across Workers and Worker Processes"""
285
302
 
286
303
  aws_authentication_method: Annotated[
287
- Optional[InputKinesisAuthenticationMethod],
304
+ Annotated[
305
+ Optional[InputKinesisAuthenticationMethod],
306
+ PlainValidator(validate_open_enum(False)),
307
+ ],
288
308
  pydantic.Field(alias="awsAuthenticationMethod"),
289
309
  ] = InputKinesisAuthenticationMethod.AUTO
290
310
  r"""AWS authentication method. Choose Auto to use IAM roles."""
@@ -297,7 +317,11 @@ class InputKinesis(BaseModel):
297
317
  r"""Kinesis stream service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to Kinesis stream-compatible endpoint."""
298
318
 
299
319
  signature_version: Annotated[
300
- Optional[InputKinesisSignatureVersion], pydantic.Field(alias="signatureVersion")
320
+ Annotated[
321
+ Optional[InputKinesisSignatureVersion],
322
+ PlainValidator(validate_open_enum(False)),
323
+ ],
324
+ pydantic.Field(alias="signatureVersion"),
301
325
  ] = InputKinesisSignatureVersion.V4
302
326
  r"""Signature version to use for signing Kinesis stream requests"""
303
327
 
@@ -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 InputKubeEventsConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputKubeEventsMode(str, Enum):
29
+ class InputKubeEventsMode(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 InputKubeEventsCompression(str, Enum):
36
+ class InputKubeEventsCompression(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 InputKubeEventsPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputKubeEventsPq(BaseModel):
67
- mode: Optional[InputKubeEventsMode] = InputKubeEventsMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputKubeEventsMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputKubeEventsMode.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 InputKubeEventsPq(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[InputKubeEventsCompression] = InputKubeEventsCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputKubeEventsCompression], PlainValidator(validate_open_enum(False))
98
+ ] = InputKubeEventsCompression.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 InputKubeLogsConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputKubeLogsMode(str, Enum):
29
+ class InputKubeLogsMode(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 InputKubeLogsPqCompression(str, Enum):
36
+ class InputKubeLogsPqCompression(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 InputKubeLogsPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputKubeLogsPq(BaseModel):
67
- mode: Optional[InputKubeLogsMode] = InputKubeLogsMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputKubeLogsMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputKubeLogsMode.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 InputKubeLogsPq(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[InputKubeLogsPqCompression] = InputKubeLogsPqCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputKubeLogsPqCompression], PlainValidator(validate_open_enum(False))
98
+ ] = InputKubeLogsPqCompression.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[
@@ -124,7 +131,7 @@ class InputKubeLogsMetadatum(BaseModel):
124
131
  r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
125
132
 
126
133
 
127
- class InputKubeLogsPersistenceCompression(str, Enum):
134
+ class InputKubeLogsPersistenceCompression(str, Enum, metaclass=utils.OpenEnumMeta):
128
135
  r"""Data compression format. Default is gzip."""
129
136
 
130
137
  NONE = "none"
@@ -157,9 +164,10 @@ class InputKubeLogsDiskSpooling(BaseModel):
157
164
  max_data_time: Annotated[Optional[str], pydantic.Field(alias="maxDataTime")] = "24h"
158
165
  r"""Maximum amount of time to retain data before older buckets are deleted. Examples: 2h, 4d. Default is 24h."""
159
166
 
160
- compress: Optional[InputKubeLogsPersistenceCompression] = (
161
- InputKubeLogsPersistenceCompression.GZIP
162
- )
167
+ compress: Annotated[
168
+ Optional[InputKubeLogsPersistenceCompression],
169
+ PlainValidator(validate_open_enum(False)),
170
+ ] = InputKubeLogsPersistenceCompression.GZIP
163
171
  r"""Data compression format. Default is gzip."""
164
172
 
165
173
 
@@ -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 InputKubeMetricsConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputKubeMetricsMode(str, Enum):
29
+ class InputKubeMetricsMode(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 InputKubeMetricsCompression(str, Enum):
36
+ class InputKubeMetricsCompression(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 InputKubeMetricsPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputKubeMetricsPq(BaseModel):
67
- mode: Optional[InputKubeMetricsMode] = InputKubeMetricsMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputKubeMetricsMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputKubeMetricsMode.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 InputKubeMetricsPq(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[InputKubeMetricsCompression] = InputKubeMetricsCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputKubeMetricsCompression], PlainValidator(validate_open_enum(False))
98
+ ] = InputKubeMetricsCompression.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[
@@ -124,7 +131,7 @@ class InputKubeMetricsMetadatum(BaseModel):
124
131
  r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
125
132
 
126
133
 
127
- class InputKubeMetricsDataCompressionFormat(str, Enum):
134
+ class InputKubeMetricsDataCompressionFormat(str, Enum, metaclass=utils.OpenEnumMeta):
128
135
  NONE = "none"
129
136
  GZIP = "gzip"
130
137
 
@@ -156,9 +163,10 @@ class InputKubeMetricsPersistence(BaseModel):
156
163
  max_data_time: Annotated[Optional[str], pydantic.Field(alias="maxDataTime")] = "24h"
157
164
  r"""Maximum amount of time to retain data (examples: 2h, 4d). When limit is reached, older data will be deleted."""
158
165
 
159
- compress: Optional[InputKubeMetricsDataCompressionFormat] = (
160
- InputKubeMetricsDataCompressionFormat.GZIP
161
- )
166
+ compress: Annotated[
167
+ Optional[InputKubeMetricsDataCompressionFormat],
168
+ PlainValidator(validate_open_enum(False)),
169
+ ] = InputKubeMetricsDataCompressionFormat.GZIP
162
170
 
163
171
  dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = (
164
172
  "$CRIBL_HOME/state/kube_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 Any, List, Optional
8
11
  from typing_extensions import Annotated, NotRequired, TypedDict
9
12
 
@@ -23,14 +26,14 @@ class InputLokiConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputLokiMode(str, Enum):
29
+ class InputLokiMode(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 InputLokiCompression(str, Enum):
36
+ class InputLokiCompression(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 InputLokiPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputLokiPq(BaseModel):
67
- mode: Optional[InputLokiMode] = InputLokiMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputLokiMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputLokiMode.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 InputLokiPq(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[InputLokiCompression] = InputLokiCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputLokiCompression], PlainValidator(validate_open_enum(False))
98
+ ] = InputLokiCompression.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[
@@ -96,14 +103,14 @@ class InputLokiPq(BaseModel):
96
103
  ] = None
97
104
 
98
105
 
99
- class InputLokiMinimumTLSVersion(str, Enum):
106
+ class InputLokiMinimumTLSVersion(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 InputLokiMaximumTLSVersion(str, Enum):
113
+ class InputLokiMaximumTLSVersion(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,15 +169,23 @@ class InputLokiTLSSettingsServerSide(BaseModel):
162
169
  ] = None
163
170
 
164
171
  min_version: Annotated[
165
- Optional[InputLokiMinimumTLSVersion], pydantic.Field(alias="minVersion")
172
+ Annotated[
173
+ Optional[InputLokiMinimumTLSVersion],
174
+ PlainValidator(validate_open_enum(False)),
175
+ ],
176
+ pydantic.Field(alias="minVersion"),
166
177
  ] = None
167
178
 
168
179
  max_version: Annotated[
169
- Optional[InputLokiMaximumTLSVersion], pydantic.Field(alias="maxVersion")
180
+ Annotated[
181
+ Optional[InputLokiMaximumTLSVersion],
182
+ PlainValidator(validate_open_enum(False)),
183
+ ],
184
+ pydantic.Field(alias="maxVersion"),
170
185
  ] = None
171
186
 
172
187
 
173
- class InputLokiAuthenticationType(str, Enum):
188
+ class InputLokiAuthenticationType(str, Enum, metaclass=utils.OpenEnumMeta):
174
189
  r"""Loki logs authentication type"""
175
190
 
176
191
  NONE = "none"
@@ -401,7 +416,11 @@ class InputLoki(BaseModel):
401
416
  r"""Absolute path on which to listen for Loki logs requests. Defaults to /loki/api/v1/push, which will (in this example) expand as: 'http://<your‑upstream‑URL>:<your‑port>/loki/api/v1/push'."""
402
417
 
403
418
  auth_type: Annotated[
404
- Optional[InputLokiAuthenticationType], pydantic.Field(alias="authType")
419
+ Annotated[
420
+ Optional[InputLokiAuthenticationType],
421
+ PlainValidator(validate_open_enum(False)),
422
+ ],
423
+ pydantic.Field(alias="authType"),
405
424
  ] = InputLokiAuthenticationType.NONE
406
425
  r"""Loki logs authentication type"""
407
426
 
@@ -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 InputMetricsConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputMetricsMode(str, Enum):
29
+ class InputMetricsMode(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 InputMetricsCompression(str, Enum):
36
+ class InputMetricsCompression(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 InputMetricsPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputMetricsPq(BaseModel):
67
- mode: Optional[InputMetricsMode] = InputMetricsMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputMetricsMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputMetricsMode.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 InputMetricsPq(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[InputMetricsCompression] = InputMetricsCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputMetricsCompression], PlainValidator(validate_open_enum(False))
98
+ ] = InputMetricsCompression.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[
@@ -96,14 +103,14 @@ class InputMetricsPq(BaseModel):
96
103
  ] = None
97
104
 
98
105
 
99
- class InputMetricsMinimumTLSVersion(str, Enum):
106
+ class InputMetricsMinimumTLSVersion(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 InputMetricsMaximumTLSVersion(str, Enum):
113
+ class InputMetricsMaximumTLSVersion(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 InputMetricsTLSSettingsServerSide(BaseModel):
162
169
  ] = None
163
170
 
164
171
  min_version: Annotated[
165
- Optional[InputMetricsMinimumTLSVersion], pydantic.Field(alias="minVersion")
172
+ Annotated[
173
+ Optional[InputMetricsMinimumTLSVersion],
174
+ PlainValidator(validate_open_enum(False)),
175
+ ],
176
+ pydantic.Field(alias="minVersion"),
166
177
  ] = None
167
178
 
168
179
  max_version: Annotated[
169
- Optional[InputMetricsMaximumTLSVersion], pydantic.Field(alias="maxVersion")
180
+ Annotated[
181
+ Optional[InputMetricsMaximumTLSVersion],
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 InputModelDrivenTelemetryConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputModelDrivenTelemetryMode(str, Enum):
29
+ class InputModelDrivenTelemetryMode(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 InputModelDrivenTelemetryCompression(str, Enum):
36
+ class InputModelDrivenTelemetryCompression(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,10 @@ class InputModelDrivenTelemetryPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputModelDrivenTelemetryPq(BaseModel):
67
- mode: Optional[InputModelDrivenTelemetryMode] = InputModelDrivenTelemetryMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputModelDrivenTelemetryMode],
72
+ PlainValidator(validate_open_enum(False)),
73
+ ] = InputModelDrivenTelemetryMode.ALWAYS
68
74
  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
75
 
70
76
  max_buffer_size: Annotated[
@@ -88,9 +94,10 @@ class InputModelDrivenTelemetryPq(BaseModel):
88
94
  path: Optional[str] = "$CRIBL_HOME/state/queues"
89
95
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
90
96
 
91
- compress: Optional[InputModelDrivenTelemetryCompression] = (
92
- InputModelDrivenTelemetryCompression.NONE
93
- )
97
+ compress: Annotated[
98
+ Optional[InputModelDrivenTelemetryCompression],
99
+ PlainValidator(validate_open_enum(False)),
100
+ ] = InputModelDrivenTelemetryCompression.NONE
94
101
  r"""Codec to use to compress the persisted data"""
95
102
 
96
103
  pq_controls: Annotated[
@@ -99,14 +106,18 @@ class InputModelDrivenTelemetryPq(BaseModel):
99
106
  ] = None
100
107
 
101
108
 
102
- class InputModelDrivenTelemetryMinimumTLSVersion(str, Enum):
109
+ class InputModelDrivenTelemetryMinimumTLSVersion(
110
+ str, Enum, metaclass=utils.OpenEnumMeta
111
+ ):
103
112
  TL_SV1 = "TLSv1"
104
113
  TL_SV1_1 = "TLSv1.1"
105
114
  TL_SV1_2 = "TLSv1.2"
106
115
  TL_SV1_3 = "TLSv1.3"
107
116
 
108
117
 
109
- class InputModelDrivenTelemetryMaximumTLSVersion(str, Enum):
118
+ class InputModelDrivenTelemetryMaximumTLSVersion(
119
+ str, Enum, metaclass=utils.OpenEnumMeta
120
+ ):
110
121
  TL_SV1 = "TLSv1"
111
122
  TL_SV1_1 = "TLSv1.1"
112
123
  TL_SV1_2 = "TLSv1.2"
@@ -119,6 +130,8 @@ class InputModelDrivenTelemetryTLSSettingsServerSideTypedDict(TypedDict):
119
130
  r"""The name of the predefined certificate"""
120
131
  priv_key_path: NotRequired[str]
121
132
  r"""Path on server containing the private key to use. PEM format. Can reference $ENV_VARS."""
133
+ passphrase: NotRequired[str]
134
+ r"""Passphrase to use to decrypt private key"""
122
135
  cert_path: NotRequired[str]
123
136
  r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
124
137
  ca_path: NotRequired[str]
@@ -142,6 +155,9 @@ class InputModelDrivenTelemetryTLSSettingsServerSide(BaseModel):
142
155
  priv_key_path: Annotated[Optional[str], pydantic.Field(alias="privKeyPath")] = None
143
156
  r"""Path on server containing the private key to use. PEM format. Can reference $ENV_VARS."""
144
157
 
158
+ passphrase: Optional[str] = None
159
+ r"""Passphrase to use to decrypt private key"""
160
+
145
161
  cert_path: Annotated[Optional[str], pydantic.Field(alias="certPath")] = None
146
162
  r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
147
163
 
@@ -160,12 +176,18 @@ class InputModelDrivenTelemetryTLSSettingsServerSide(BaseModel):
160
176
  ] = None
161
177
 
162
178
  min_version: Annotated[
163
- Optional[InputModelDrivenTelemetryMinimumTLSVersion],
179
+ Annotated[
180
+ Optional[InputModelDrivenTelemetryMinimumTLSVersion],
181
+ PlainValidator(validate_open_enum(False)),
182
+ ],
164
183
  pydantic.Field(alias="minVersion"),
165
184
  ] = None
166
185
 
167
186
  max_version: Annotated[
168
- Optional[InputModelDrivenTelemetryMaximumTLSVersion],
187
+ Annotated[
188
+ Optional[InputModelDrivenTelemetryMaximumTLSVersion],
189
+ PlainValidator(validate_open_enum(False)),
190
+ ],
169
191
  pydantic.Field(alias="maxVersion"),
170
192
  ] = None
171
193