cribl-control-plane 0.0.50__py3-none-any.whl → 0.0.50rc2__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 (176) hide show
  1. cribl_control_plane/_version.py +3 -5
  2. cribl_control_plane/errors/healthstatus_error.py +8 -2
  3. cribl_control_plane/groups_sdk.py +4 -4
  4. cribl_control_plane/health.py +6 -2
  5. cribl_control_plane/models/__init__.py +56 -31
  6. cribl_control_plane/models/cacheconnection.py +10 -2
  7. cribl_control_plane/models/cacheconnectionbackfillstatus.py +2 -1
  8. cribl_control_plane/models/cloudprovider.py +2 -1
  9. cribl_control_plane/models/configgroup.py +24 -4
  10. cribl_control_plane/models/configgroupcloud.py +6 -2
  11. cribl_control_plane/models/createconfiggroupbyproductop.py +8 -2
  12. cribl_control_plane/models/createinputhectokenbyidop.py +6 -5
  13. cribl_control_plane/models/createversionpushop.py +5 -5
  14. cribl_control_plane/models/cribllakedataset.py +8 -2
  15. cribl_control_plane/models/datasetmetadata.py +8 -2
  16. cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +7 -2
  17. cribl_control_plane/models/error.py +16 -0
  18. cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +4 -2
  19. cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +4 -2
  20. cribl_control_plane/models/getconfiggroupbyproductandidop.py +3 -1
  21. cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +7 -2
  22. cribl_control_plane/models/gethealthinfoop.py +17 -0
  23. cribl_control_plane/models/getsummaryop.py +7 -2
  24. cribl_control_plane/models/getversionshowop.py +6 -5
  25. cribl_control_plane/models/gitinfo.py +14 -3
  26. cribl_control_plane/models/gitshowresult.py +19 -0
  27. cribl_control_plane/models/hbcriblinfo.py +24 -3
  28. cribl_control_plane/models/healthstatus.py +7 -4
  29. cribl_control_plane/models/heartbeatmetadata.py +3 -0
  30. cribl_control_plane/models/input.py +65 -63
  31. cribl_control_plane/models/inputappscope.py +34 -14
  32. cribl_control_plane/models/inputazureblob.py +17 -6
  33. cribl_control_plane/models/inputcollection.py +11 -4
  34. cribl_control_plane/models/inputconfluentcloud.py +41 -32
  35. cribl_control_plane/models/inputcribl.py +11 -4
  36. cribl_control_plane/models/inputcriblhttp.py +23 -8
  37. cribl_control_plane/models/inputcribllakehttp.py +22 -10
  38. cribl_control_plane/models/inputcriblmetrics.py +12 -4
  39. cribl_control_plane/models/inputcribltcp.py +23 -8
  40. cribl_control_plane/models/inputcrowdstrike.py +26 -10
  41. cribl_control_plane/models/inputdatadogagent.py +24 -8
  42. cribl_control_plane/models/inputdatagen.py +11 -4
  43. cribl_control_plane/models/inputedgeprometheus.py +58 -24
  44. cribl_control_plane/models/inputelastic.py +40 -14
  45. cribl_control_plane/models/inputeventhub.py +15 -6
  46. cribl_control_plane/models/inputexec.py +14 -6
  47. cribl_control_plane/models/inputfile.py +15 -6
  48. cribl_control_plane/models/inputfirehose.py +23 -8
  49. cribl_control_plane/models/inputgooglepubsub.py +19 -6
  50. cribl_control_plane/models/inputgrafana.py +67 -24
  51. cribl_control_plane/models/inputhttp.py +23 -8
  52. cribl_control_plane/models/inputhttpraw.py +23 -8
  53. cribl_control_plane/models/inputjournalfiles.py +12 -4
  54. cribl_control_plane/models/inputkafka.py +41 -28
  55. cribl_control_plane/models/inputkinesis.py +38 -14
  56. cribl_control_plane/models/inputkubeevents.py +11 -4
  57. cribl_control_plane/models/inputkubelogs.py +16 -8
  58. cribl_control_plane/models/inputkubemetrics.py +16 -8
  59. cribl_control_plane/models/inputloki.py +29 -10
  60. cribl_control_plane/models/inputmetrics.py +23 -8
  61. cribl_control_plane/models/inputmodeldriventelemetry.py +32 -10
  62. cribl_control_plane/models/inputmsk.py +48 -30
  63. cribl_control_plane/models/inputnetflow.py +11 -4
  64. cribl_control_plane/models/inputoffice365mgmt.py +33 -14
  65. cribl_control_plane/models/inputoffice365msgtrace.py +35 -16
  66. cribl_control_plane/models/inputoffice365service.py +35 -16
  67. cribl_control_plane/models/inputopentelemetry.py +38 -16
  68. cribl_control_plane/models/inputprometheus.py +50 -18
  69. cribl_control_plane/models/inputprometheusrw.py +30 -10
  70. cribl_control_plane/models/inputrawudp.py +11 -4
  71. cribl_control_plane/models/inputs3.py +21 -8
  72. cribl_control_plane/models/inputs3inventory.py +26 -10
  73. cribl_control_plane/models/inputsecuritylake.py +27 -10
  74. cribl_control_plane/models/inputsnmp.py +16 -6
  75. cribl_control_plane/models/inputsplunk.py +33 -12
  76. cribl_control_plane/models/inputsplunkhec.py +29 -10
  77. cribl_control_plane/models/inputsplunksearch.py +33 -14
  78. cribl_control_plane/models/inputsqs.py +27 -10
  79. cribl_control_plane/models/inputsyslog.py +43 -16
  80. cribl_control_plane/models/inputsystemmetrics.py +48 -24
  81. cribl_control_plane/models/inputsystemstate.py +16 -8
  82. cribl_control_plane/models/inputtcp.py +29 -10
  83. cribl_control_plane/models/inputtcpjson.py +29 -10
  84. cribl_control_plane/models/inputwef.py +37 -14
  85. cribl_control_plane/models/inputwindowsmetrics.py +44 -24
  86. cribl_control_plane/models/inputwineventlogs.py +20 -10
  87. cribl_control_plane/models/inputwiz.py +21 -8
  88. cribl_control_plane/models/inputwizwebhook.py +23 -8
  89. cribl_control_plane/models/inputzscalerhec.py +29 -10
  90. cribl_control_plane/models/lakehouseconnectiontype.py +2 -1
  91. cribl_control_plane/models/listconfiggroupbyproductop.py +3 -1
  92. cribl_control_plane/models/masterworkerentry.py +7 -2
  93. cribl_control_plane/models/nodeactiveupgradestatus.py +2 -1
  94. cribl_control_plane/models/nodefailedupgradestatus.py +2 -1
  95. cribl_control_plane/models/nodeprovidedinfo.py +3 -0
  96. cribl_control_plane/models/nodeskippedupgradestatus.py +2 -1
  97. cribl_control_plane/models/nodeupgradestate.py +2 -1
  98. cribl_control_plane/models/nodeupgradestatus.py +13 -5
  99. cribl_control_plane/models/output.py +84 -79
  100. cribl_control_plane/models/outputazureblob.py +48 -18
  101. cribl_control_plane/models/outputazuredataexplorer.py +73 -28
  102. cribl_control_plane/models/outputazureeventhub.py +40 -18
  103. cribl_control_plane/models/outputazurelogs.py +35 -12
  104. cribl_control_plane/models/outputclickhouse.py +55 -20
  105. cribl_control_plane/models/outputcloudwatch.py +29 -10
  106. cribl_control_plane/models/outputconfluentcloud.py +71 -44
  107. cribl_control_plane/models/outputcriblhttp.py +44 -16
  108. cribl_control_plane/models/outputcribllake.py +46 -16
  109. cribl_control_plane/models/outputcribltcp.py +45 -18
  110. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +49 -14
  111. cribl_control_plane/models/outputdatabricks.py +282 -0
  112. cribl_control_plane/models/outputdatadog.py +48 -20
  113. cribl_control_plane/models/outputdataset.py +46 -18
  114. cribl_control_plane/models/outputdiskspool.py +7 -2
  115. cribl_control_plane/models/outputdls3.py +68 -24
  116. cribl_control_plane/models/outputdynatracehttp.py +53 -20
  117. cribl_control_plane/models/outputdynatraceotlp.py +55 -22
  118. cribl_control_plane/models/outputelastic.py +43 -18
  119. cribl_control_plane/models/outputelasticcloud.py +36 -12
  120. cribl_control_plane/models/outputexabeam.py +29 -10
  121. cribl_control_plane/models/outputfilesystem.py +39 -14
  122. cribl_control_plane/models/outputgooglechronicle.py +50 -16
  123. cribl_control_plane/models/outputgooglecloudlogging.py +50 -18
  124. cribl_control_plane/models/outputgooglecloudstorage.py +66 -24
  125. cribl_control_plane/models/outputgooglepubsub.py +31 -10
  126. cribl_control_plane/models/outputgrafanacloud.py +97 -32
  127. cribl_control_plane/models/outputgraphite.py +31 -14
  128. cribl_control_plane/models/outputhoneycomb.py +35 -12
  129. cribl_control_plane/models/outputhumiohec.py +43 -16
  130. cribl_control_plane/models/outputinfluxdb.py +42 -16
  131. cribl_control_plane/models/outputkafka.py +69 -40
  132. cribl_control_plane/models/outputkinesis.py +40 -16
  133. cribl_control_plane/models/outputloki.py +41 -16
  134. cribl_control_plane/models/outputminio.py +65 -24
  135. cribl_control_plane/models/outputmsk.py +77 -42
  136. cribl_control_plane/models/outputnewrelic.py +43 -18
  137. cribl_control_plane/models/outputnewrelicevents.py +41 -14
  138. cribl_control_plane/models/outputopentelemetry.py +67 -26
  139. cribl_control_plane/models/outputprometheus.py +35 -12
  140. cribl_control_plane/models/outputring.py +19 -8
  141. cribl_control_plane/models/outputs3.py +68 -26
  142. cribl_control_plane/models/outputsecuritylake.py +52 -18
  143. cribl_control_plane/models/outputsentinel.py +45 -18
  144. cribl_control_plane/models/outputsentineloneaisiem.py +50 -18
  145. cribl_control_plane/models/outputservicenow.py +60 -24
  146. cribl_control_plane/models/outputsignalfx.py +37 -14
  147. cribl_control_plane/models/outputsns.py +36 -14
  148. cribl_control_plane/models/outputsplunk.py +60 -24
  149. cribl_control_plane/models/outputsplunkhec.py +35 -12
  150. cribl_control_plane/models/outputsplunklb.py +77 -30
  151. cribl_control_plane/models/outputsqs.py +41 -16
  152. cribl_control_plane/models/outputstatsd.py +30 -14
  153. cribl_control_plane/models/outputstatsdext.py +29 -12
  154. cribl_control_plane/models/outputsumologic.py +35 -12
  155. cribl_control_plane/models/outputsyslog.py +58 -24
  156. cribl_control_plane/models/outputtcpjson.py +52 -20
  157. cribl_control_plane/models/outputwavefront.py +35 -12
  158. cribl_control_plane/models/outputwebhook.py +58 -22
  159. cribl_control_plane/models/outputxsiam.py +35 -14
  160. cribl_control_plane/models/productscore.py +2 -1
  161. cribl_control_plane/models/rbacresource.py +2 -1
  162. cribl_control_plane/models/resourcepolicy.py +4 -2
  163. cribl_control_plane/models/routeconf.py +3 -4
  164. cribl_control_plane/models/runnablejobcollection.py +30 -13
  165. cribl_control_plane/models/runnablejobexecutor.py +13 -4
  166. cribl_control_plane/models/runnablejobscheduledsearch.py +7 -2
  167. cribl_control_plane/models/updateconfiggroupbyproductandidop.py +8 -2
  168. cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +8 -2
  169. cribl_control_plane/models/updateinputhectokenbyidandtokenop.py +6 -5
  170. cribl_control_plane/models/workertypes.py +2 -1
  171. {cribl_control_plane-0.0.50.dist-info → cribl_control_plane-0.0.50rc2.dist-info}/METADATA +1 -1
  172. cribl_control_plane-0.0.50rc2.dist-info/RECORD +327 -0
  173. cribl_control_plane/models/appmode.py +0 -13
  174. cribl_control_plane/models/routecloneconf.py +0 -13
  175. cribl_control_plane-0.0.50.dist-info/RECORD +0 -325
  176. {cribl_control_plane-0.0.50.dist-info → cribl_control_plane-0.0.50rc2.dist-info}/WHEEL +0 -0
@@ -1,9 +1,12 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from cribl_control_plane import utils
4
5
  from cribl_control_plane.types import BaseModel
6
+ from cribl_control_plane.utils import validate_open_enum
5
7
  from enum import Enum
6
8
  import pydantic
9
+ from pydantic.functional_validators import PlainValidator
7
10
  from typing import List, Optional
8
11
  from typing_extensions import Annotated, NotRequired, TypedDict
9
12
 
@@ -12,7 +15,9 @@ class OutputGooglePubsubType(str, Enum):
12
15
  GOOGLE_PUBSUB = "google_pubsub"
13
16
 
14
17
 
15
- class OutputGooglePubsubGoogleAuthenticationMethod(str, Enum):
18
+ class OutputGooglePubsubGoogleAuthenticationMethod(
19
+ str, Enum, metaclass=utils.OpenEnumMeta
20
+ ):
16
21
  r"""Choose Auto to use Google Application Default Credentials (ADC), Manual to enter Google service account credentials directly, or Secret to select or create a stored secret that references Google service account credentials."""
17
22
 
18
23
  AUTO = "auto"
@@ -20,7 +25,7 @@ class OutputGooglePubsubGoogleAuthenticationMethod(str, Enum):
20
25
  SECRET = "secret"
21
26
 
22
27
 
23
- class OutputGooglePubsubBackpressureBehavior(str, Enum):
28
+ class OutputGooglePubsubBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
24
29
  r"""How to handle events when all receivers are exerting backpressure"""
25
30
 
26
31
  BLOCK = "block"
@@ -28,21 +33,21 @@ class OutputGooglePubsubBackpressureBehavior(str, Enum):
28
33
  QUEUE = "queue"
29
34
 
30
35
 
31
- class OutputGooglePubsubCompression(str, Enum):
36
+ class OutputGooglePubsubCompression(str, Enum, metaclass=utils.OpenEnumMeta):
32
37
  r"""Codec to use to compress the persisted data"""
33
38
 
34
39
  NONE = "none"
35
40
  GZIP = "gzip"
36
41
 
37
42
 
38
- class OutputGooglePubsubQueueFullBehavior(str, Enum):
43
+ class OutputGooglePubsubQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
39
44
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
40
45
 
41
46
  BLOCK = "block"
42
47
  DROP = "drop"
43
48
 
44
49
 
45
- class OutputGooglePubsubMode(str, Enum):
50
+ class OutputGooglePubsubMode(str, Enum, metaclass=utils.OpenEnumMeta):
46
51
  r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
47
52
 
48
53
  ERROR = "error"
@@ -149,7 +154,10 @@ class OutputGooglePubsub(BaseModel):
149
154
  r"""Region to publish messages to. Select 'default' to allow Google to auto-select the nearest region. When using ordered delivery, the selected region must be allowed by message storage policy."""
150
155
 
151
156
  google_auth_method: Annotated[
152
- Optional[OutputGooglePubsubGoogleAuthenticationMethod],
157
+ Annotated[
158
+ Optional[OutputGooglePubsubGoogleAuthenticationMethod],
159
+ PlainValidator(validate_open_enum(False)),
160
+ ],
153
161
  pydantic.Field(alias="googleAuthMethod"),
154
162
  ] = OutputGooglePubsubGoogleAuthenticationMethod.MANUAL
155
163
  r"""Choose Auto to use Google Application Default Credentials (ADC), Manual to enter Google service account credentials directly, or Secret to select or create a stored secret that references Google service account credentials."""
@@ -189,7 +197,10 @@ class OutputGooglePubsub(BaseModel):
189
197
  r"""The maximum number of in-progress API requests before backpressure is applied."""
190
198
 
191
199
  on_backpressure: Annotated[
192
- Optional[OutputGooglePubsubBackpressureBehavior],
200
+ Annotated[
201
+ Optional[OutputGooglePubsubBackpressureBehavior],
202
+ PlainValidator(validate_open_enum(False)),
203
+ ],
193
204
  pydantic.Field(alias="onBackpressure"),
194
205
  ] = OutputGooglePubsubBackpressureBehavior.BLOCK
195
206
  r"""How to handle events when all receivers are exerting backpressure"""
@@ -210,18 +221,28 @@ class OutputGooglePubsub(BaseModel):
210
221
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
211
222
 
212
223
  pq_compress: Annotated[
213
- Optional[OutputGooglePubsubCompression], pydantic.Field(alias="pqCompress")
224
+ Annotated[
225
+ Optional[OutputGooglePubsubCompression],
226
+ PlainValidator(validate_open_enum(False)),
227
+ ],
228
+ pydantic.Field(alias="pqCompress"),
214
229
  ] = OutputGooglePubsubCompression.NONE
215
230
  r"""Codec to use to compress the persisted data"""
216
231
 
217
232
  pq_on_backpressure: Annotated[
218
- Optional[OutputGooglePubsubQueueFullBehavior],
233
+ Annotated[
234
+ Optional[OutputGooglePubsubQueueFullBehavior],
235
+ PlainValidator(validate_open_enum(False)),
236
+ ],
219
237
  pydantic.Field(alias="pqOnBackpressure"),
220
238
  ] = OutputGooglePubsubQueueFullBehavior.BLOCK
221
239
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
222
240
 
223
241
  pq_mode: Annotated[
224
- Optional[OutputGooglePubsubMode], pydantic.Field(alias="pqMode")
242
+ Annotated[
243
+ Optional[OutputGooglePubsubMode], PlainValidator(validate_open_enum(False))
244
+ ],
245
+ pydantic.Field(alias="pqMode"),
225
246
  ] = OutputGooglePubsubMode.ERROR
226
247
  r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
227
248
 
@@ -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, Union
8
11
  from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
9
12
 
@@ -12,7 +15,7 @@ class OutputGrafanaCloudType2(str, Enum):
12
15
  GRAFANA_CLOUD = "grafana_cloud"
13
16
 
14
17
 
15
- class OutputGrafanaCloudMessageFormat2(str, Enum):
18
+ class OutputGrafanaCloudMessageFormat2(str, Enum, metaclass=utils.OpenEnumMeta):
16
19
  r"""Format to use when sending logs to Loki (Protobuf or JSON)"""
17
20
 
18
21
  PROTOBUF = "protobuf"
@@ -30,7 +33,9 @@ class OutputGrafanaCloudLabel2(BaseModel):
30
33
  name: Optional[str] = ""
31
34
 
32
35
 
33
- class OutputGrafanaCloudPrometheusAuthAuthenticationType2(str, Enum):
36
+ class OutputGrafanaCloudPrometheusAuthAuthenticationType2(
37
+ str, Enum, metaclass=utils.OpenEnumMeta
38
+ ):
34
39
  NONE = "none"
35
40
  TOKEN = "token"
36
41
  TEXT_SECRET = "textSecret"
@@ -54,7 +59,10 @@ class OutputGrafanaCloudPrometheusAuth2TypedDict(TypedDict):
54
59
 
55
60
  class OutputGrafanaCloudPrometheusAuth2(BaseModel):
56
61
  auth_type: Annotated[
57
- Optional[OutputGrafanaCloudPrometheusAuthAuthenticationType2],
62
+ Annotated[
63
+ Optional[OutputGrafanaCloudPrometheusAuthAuthenticationType2],
64
+ PlainValidator(validate_open_enum(False)),
65
+ ],
58
66
  pydantic.Field(alias="authType"),
59
67
  ] = OutputGrafanaCloudPrometheusAuthAuthenticationType2.BASIC
60
68
 
@@ -76,7 +84,9 @@ class OutputGrafanaCloudPrometheusAuth2(BaseModel):
76
84
  r"""Select or create a secret that references your credentials"""
77
85
 
78
86
 
79
- class OutputGrafanaCloudLokiAuthAuthenticationType2(str, Enum):
87
+ class OutputGrafanaCloudLokiAuthAuthenticationType2(
88
+ str, Enum, metaclass=utils.OpenEnumMeta
89
+ ):
80
90
  NONE = "none"
81
91
  TOKEN = "token"
82
92
  TEXT_SECRET = "textSecret"
@@ -100,7 +110,10 @@ class OutputGrafanaCloudLokiAuth2TypedDict(TypedDict):
100
110
 
101
111
  class OutputGrafanaCloudLokiAuth2(BaseModel):
102
112
  auth_type: Annotated[
103
- Optional[OutputGrafanaCloudLokiAuthAuthenticationType2],
113
+ Annotated[
114
+ Optional[OutputGrafanaCloudLokiAuthAuthenticationType2],
115
+ PlainValidator(validate_open_enum(False)),
116
+ ],
104
117
  pydantic.Field(alias="authType"),
105
118
  ] = OutputGrafanaCloudLokiAuthAuthenticationType2.BASIC
106
119
 
@@ -133,7 +146,9 @@ class OutputGrafanaCloudExtraHTTPHeader2(BaseModel):
133
146
  name: Optional[str] = None
134
147
 
135
148
 
136
- class OutputGrafanaCloudFailedRequestLoggingMode2(str, Enum):
149
+ class OutputGrafanaCloudFailedRequestLoggingMode2(
150
+ str, Enum, metaclass=utils.OpenEnumMeta
151
+ ):
137
152
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
138
153
 
139
154
  PAYLOAD = "payload"
@@ -195,7 +210,7 @@ class OutputGrafanaCloudTimeoutRetrySettings2(BaseModel):
195
210
  r"""The maximum backoff interval, in milliseconds, Cribl Stream should apply. Default (and minimum) is 10,000 ms (10 seconds); maximum is 180,000 ms (180 seconds)."""
196
211
 
197
212
 
198
- class OutputGrafanaCloudBackpressureBehavior2(str, Enum):
213
+ class OutputGrafanaCloudBackpressureBehavior2(str, Enum, metaclass=utils.OpenEnumMeta):
199
214
  r"""How to handle events when all receivers are exerting backpressure"""
200
215
 
201
216
  BLOCK = "block"
@@ -203,21 +218,21 @@ class OutputGrafanaCloudBackpressureBehavior2(str, Enum):
203
218
  QUEUE = "queue"
204
219
 
205
220
 
206
- class OutputGrafanaCloudCompression2(str, Enum):
221
+ class OutputGrafanaCloudCompression2(str, Enum, metaclass=utils.OpenEnumMeta):
207
222
  r"""Codec to use to compress the persisted data"""
208
223
 
209
224
  NONE = "none"
210
225
  GZIP = "gzip"
211
226
 
212
227
 
213
- class OutputGrafanaCloudQueueFullBehavior2(str, Enum):
228
+ class OutputGrafanaCloudQueueFullBehavior2(str, Enum, metaclass=utils.OpenEnumMeta):
214
229
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
215
230
 
216
231
  BLOCK = "block"
217
232
  DROP = "drop"
218
233
 
219
234
 
220
- class OutputGrafanaCloudMode2(str, Enum):
235
+ class OutputGrafanaCloudMode2(str, Enum, metaclass=utils.OpenEnumMeta):
221
236
  r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
222
237
 
223
238
  ERROR = "error"
@@ -343,7 +358,10 @@ class OutputGrafanaCloudGrafanaCloud2(BaseModel):
343
358
  r"""Name of the event field that contains the message to send. If not specified, Stream sends a JSON representation of the whole event."""
344
359
 
345
360
  message_format: Annotated[
346
- Optional[OutputGrafanaCloudMessageFormat2],
361
+ Annotated[
362
+ Optional[OutputGrafanaCloudMessageFormat2],
363
+ PlainValidator(validate_open_enum(False)),
364
+ ],
347
365
  pydantic.Field(alias="messageFormat"),
348
366
  ] = OutputGrafanaCloudMessageFormat2.PROTOBUF
349
367
  r"""Format to use when sending logs to Loki (Protobuf or JSON)"""
@@ -406,7 +424,10 @@ class OutputGrafanaCloudGrafanaCloud2(BaseModel):
406
424
  r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations."""
407
425
 
408
426
  failed_request_logging_mode: Annotated[
409
- Optional[OutputGrafanaCloudFailedRequestLoggingMode2],
427
+ Annotated[
428
+ Optional[OutputGrafanaCloudFailedRequestLoggingMode2],
429
+ PlainValidator(validate_open_enum(False)),
430
+ ],
410
431
  pydantic.Field(alias="failedRequestLoggingMode"),
411
432
  ] = OutputGrafanaCloudFailedRequestLoggingMode2.NONE
412
433
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
@@ -433,7 +454,10 @@ class OutputGrafanaCloudGrafanaCloud2(BaseModel):
433
454
  r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored."""
434
455
 
435
456
  on_backpressure: Annotated[
436
- Optional[OutputGrafanaCloudBackpressureBehavior2],
457
+ Annotated[
458
+ Optional[OutputGrafanaCloudBackpressureBehavior2],
459
+ PlainValidator(validate_open_enum(False)),
460
+ ],
437
461
  pydantic.Field(alias="onBackpressure"),
438
462
  ] = OutputGrafanaCloudBackpressureBehavior2.BLOCK
439
463
  r"""How to handle events when all receivers are exerting backpressure"""
@@ -457,18 +481,28 @@ class OutputGrafanaCloudGrafanaCloud2(BaseModel):
457
481
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
458
482
 
459
483
  pq_compress: Annotated[
460
- Optional[OutputGrafanaCloudCompression2], pydantic.Field(alias="pqCompress")
484
+ Annotated[
485
+ Optional[OutputGrafanaCloudCompression2],
486
+ PlainValidator(validate_open_enum(False)),
487
+ ],
488
+ pydantic.Field(alias="pqCompress"),
461
489
  ] = OutputGrafanaCloudCompression2.NONE
462
490
  r"""Codec to use to compress the persisted data"""
463
491
 
464
492
  pq_on_backpressure: Annotated[
465
- Optional[OutputGrafanaCloudQueueFullBehavior2],
493
+ Annotated[
494
+ Optional[OutputGrafanaCloudQueueFullBehavior2],
495
+ PlainValidator(validate_open_enum(False)),
496
+ ],
466
497
  pydantic.Field(alias="pqOnBackpressure"),
467
498
  ] = OutputGrafanaCloudQueueFullBehavior2.BLOCK
468
499
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
469
500
 
470
501
  pq_mode: Annotated[
471
- Optional[OutputGrafanaCloudMode2], pydantic.Field(alias="pqMode")
502
+ Annotated[
503
+ Optional[OutputGrafanaCloudMode2], PlainValidator(validate_open_enum(False))
504
+ ],
505
+ pydantic.Field(alias="pqMode"),
472
506
  ] = OutputGrafanaCloudMode2.ERROR
473
507
  r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
474
508
 
@@ -481,7 +515,7 @@ class OutputGrafanaCloudType1(str, Enum):
481
515
  GRAFANA_CLOUD = "grafana_cloud"
482
516
 
483
517
 
484
- class OutputGrafanaCloudMessageFormat1(str, Enum):
518
+ class OutputGrafanaCloudMessageFormat1(str, Enum, metaclass=utils.OpenEnumMeta):
485
519
  r"""Format to use when sending logs to Loki (Protobuf or JSON)"""
486
520
 
487
521
  PROTOBUF = "protobuf"
@@ -499,7 +533,9 @@ class OutputGrafanaCloudLabel1(BaseModel):
499
533
  name: Optional[str] = ""
500
534
 
501
535
 
502
- class OutputGrafanaCloudPrometheusAuthAuthenticationType1(str, Enum):
536
+ class OutputGrafanaCloudPrometheusAuthAuthenticationType1(
537
+ str, Enum, metaclass=utils.OpenEnumMeta
538
+ ):
503
539
  NONE = "none"
504
540
  TOKEN = "token"
505
541
  TEXT_SECRET = "textSecret"
@@ -523,7 +559,10 @@ class OutputGrafanaCloudPrometheusAuth1TypedDict(TypedDict):
523
559
 
524
560
  class OutputGrafanaCloudPrometheusAuth1(BaseModel):
525
561
  auth_type: Annotated[
526
- Optional[OutputGrafanaCloudPrometheusAuthAuthenticationType1],
562
+ Annotated[
563
+ Optional[OutputGrafanaCloudPrometheusAuthAuthenticationType1],
564
+ PlainValidator(validate_open_enum(False)),
565
+ ],
527
566
  pydantic.Field(alias="authType"),
528
567
  ] = OutputGrafanaCloudPrometheusAuthAuthenticationType1.BASIC
529
568
 
@@ -545,7 +584,9 @@ class OutputGrafanaCloudPrometheusAuth1(BaseModel):
545
584
  r"""Select or create a secret that references your credentials"""
546
585
 
547
586
 
548
- class OutputGrafanaCloudLokiAuthAuthenticationType1(str, Enum):
587
+ class OutputGrafanaCloudLokiAuthAuthenticationType1(
588
+ str, Enum, metaclass=utils.OpenEnumMeta
589
+ ):
549
590
  NONE = "none"
550
591
  TOKEN = "token"
551
592
  TEXT_SECRET = "textSecret"
@@ -569,7 +610,10 @@ class OutputGrafanaCloudLokiAuth1TypedDict(TypedDict):
569
610
 
570
611
  class OutputGrafanaCloudLokiAuth1(BaseModel):
571
612
  auth_type: Annotated[
572
- Optional[OutputGrafanaCloudLokiAuthAuthenticationType1],
613
+ Annotated[
614
+ Optional[OutputGrafanaCloudLokiAuthAuthenticationType1],
615
+ PlainValidator(validate_open_enum(False)),
616
+ ],
573
617
  pydantic.Field(alias="authType"),
574
618
  ] = OutputGrafanaCloudLokiAuthAuthenticationType1.BASIC
575
619
 
@@ -602,7 +646,9 @@ class OutputGrafanaCloudExtraHTTPHeader1(BaseModel):
602
646
  name: Optional[str] = None
603
647
 
604
648
 
605
- class OutputGrafanaCloudFailedRequestLoggingMode1(str, Enum):
649
+ class OutputGrafanaCloudFailedRequestLoggingMode1(
650
+ str, Enum, metaclass=utils.OpenEnumMeta
651
+ ):
606
652
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
607
653
 
608
654
  PAYLOAD = "payload"
@@ -664,7 +710,7 @@ class OutputGrafanaCloudTimeoutRetrySettings1(BaseModel):
664
710
  r"""The maximum backoff interval, in milliseconds, Cribl Stream should apply. Default (and minimum) is 10,000 ms (10 seconds); maximum is 180,000 ms (180 seconds)."""
665
711
 
666
712
 
667
- class OutputGrafanaCloudBackpressureBehavior1(str, Enum):
713
+ class OutputGrafanaCloudBackpressureBehavior1(str, Enum, metaclass=utils.OpenEnumMeta):
668
714
  r"""How to handle events when all receivers are exerting backpressure"""
669
715
 
670
716
  BLOCK = "block"
@@ -672,21 +718,21 @@ class OutputGrafanaCloudBackpressureBehavior1(str, Enum):
672
718
  QUEUE = "queue"
673
719
 
674
720
 
675
- class OutputGrafanaCloudCompression1(str, Enum):
721
+ class OutputGrafanaCloudCompression1(str, Enum, metaclass=utils.OpenEnumMeta):
676
722
  r"""Codec to use to compress the persisted data"""
677
723
 
678
724
  NONE = "none"
679
725
  GZIP = "gzip"
680
726
 
681
727
 
682
- class OutputGrafanaCloudQueueFullBehavior1(str, Enum):
728
+ class OutputGrafanaCloudQueueFullBehavior1(str, Enum, metaclass=utils.OpenEnumMeta):
683
729
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
684
730
 
685
731
  BLOCK = "block"
686
732
  DROP = "drop"
687
733
 
688
734
 
689
- class OutputGrafanaCloudMode1(str, Enum):
735
+ class OutputGrafanaCloudMode1(str, Enum, metaclass=utils.OpenEnumMeta):
690
736
  r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
691
737
 
692
738
  ERROR = "error"
@@ -814,7 +860,10 @@ class OutputGrafanaCloudGrafanaCloud1(BaseModel):
814
860
  r"""Name of the event field that contains the message to send. If not specified, Stream sends a JSON representation of the whole event."""
815
861
 
816
862
  message_format: Annotated[
817
- Optional[OutputGrafanaCloudMessageFormat1],
863
+ Annotated[
864
+ Optional[OutputGrafanaCloudMessageFormat1],
865
+ PlainValidator(validate_open_enum(False)),
866
+ ],
818
867
  pydantic.Field(alias="messageFormat"),
819
868
  ] = OutputGrafanaCloudMessageFormat1.PROTOBUF
820
869
  r"""Format to use when sending logs to Loki (Protobuf or JSON)"""
@@ -877,7 +926,10 @@ class OutputGrafanaCloudGrafanaCloud1(BaseModel):
877
926
  r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations."""
878
927
 
879
928
  failed_request_logging_mode: Annotated[
880
- Optional[OutputGrafanaCloudFailedRequestLoggingMode1],
929
+ Annotated[
930
+ Optional[OutputGrafanaCloudFailedRequestLoggingMode1],
931
+ PlainValidator(validate_open_enum(False)),
932
+ ],
881
933
  pydantic.Field(alias="failedRequestLoggingMode"),
882
934
  ] = OutputGrafanaCloudFailedRequestLoggingMode1.NONE
883
935
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
@@ -904,7 +956,10 @@ class OutputGrafanaCloudGrafanaCloud1(BaseModel):
904
956
  r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored."""
905
957
 
906
958
  on_backpressure: Annotated[
907
- Optional[OutputGrafanaCloudBackpressureBehavior1],
959
+ Annotated[
960
+ Optional[OutputGrafanaCloudBackpressureBehavior1],
961
+ PlainValidator(validate_open_enum(False)),
962
+ ],
908
963
  pydantic.Field(alias="onBackpressure"),
909
964
  ] = OutputGrafanaCloudBackpressureBehavior1.BLOCK
910
965
  r"""How to handle events when all receivers are exerting backpressure"""
@@ -928,18 +983,28 @@ class OutputGrafanaCloudGrafanaCloud1(BaseModel):
928
983
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
929
984
 
930
985
  pq_compress: Annotated[
931
- Optional[OutputGrafanaCloudCompression1], pydantic.Field(alias="pqCompress")
986
+ Annotated[
987
+ Optional[OutputGrafanaCloudCompression1],
988
+ PlainValidator(validate_open_enum(False)),
989
+ ],
990
+ pydantic.Field(alias="pqCompress"),
932
991
  ] = OutputGrafanaCloudCompression1.NONE
933
992
  r"""Codec to use to compress the persisted data"""
934
993
 
935
994
  pq_on_backpressure: Annotated[
936
- Optional[OutputGrafanaCloudQueueFullBehavior1],
995
+ Annotated[
996
+ Optional[OutputGrafanaCloudQueueFullBehavior1],
997
+ PlainValidator(validate_open_enum(False)),
998
+ ],
937
999
  pydantic.Field(alias="pqOnBackpressure"),
938
1000
  ] = OutputGrafanaCloudQueueFullBehavior1.BLOCK
939
1001
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
940
1002
 
941
1003
  pq_mode: Annotated[
942
- Optional[OutputGrafanaCloudMode1], pydantic.Field(alias="pqMode")
1004
+ Annotated[
1005
+ Optional[OutputGrafanaCloudMode1], PlainValidator(validate_open_enum(False))
1006
+ ],
1007
+ pydantic.Field(alias="pqMode"),
943
1008
  ] = OutputGrafanaCloudMode1.ERROR
944
1009
  r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
945
1010
 
@@ -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
 
@@ -12,14 +15,14 @@ class OutputGraphiteType(str, Enum):
12
15
  GRAPHITE = "graphite"
13
16
 
14
17
 
15
- class OutputGraphiteDestinationProtocol(str, Enum):
18
+ class OutputGraphiteDestinationProtocol(str, Enum, metaclass=utils.OpenEnumMeta):
16
19
  r"""Protocol to use when communicating with the destination."""
17
20
 
18
21
  UDP = "udp"
19
22
  TCP = "tcp"
20
23
 
21
24
 
22
- class OutputGraphiteBackpressureBehavior(str, Enum):
25
+ class OutputGraphiteBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
23
26
  r"""How to handle events when all receivers are exerting backpressure"""
24
27
 
25
28
  BLOCK = "block"
@@ -27,21 +30,21 @@ class OutputGraphiteBackpressureBehavior(str, Enum):
27
30
  QUEUE = "queue"
28
31
 
29
32
 
30
- class OutputGraphiteCompression(str, Enum):
33
+ class OutputGraphiteCompression(str, Enum, metaclass=utils.OpenEnumMeta):
31
34
  r"""Codec to use to compress the persisted data"""
32
35
 
33
36
  NONE = "none"
34
37
  GZIP = "gzip"
35
38
 
36
39
 
37
- class OutputGraphiteQueueFullBehavior(str, Enum):
40
+ class OutputGraphiteQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
38
41
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
39
42
 
40
43
  BLOCK = "block"
41
44
  DROP = "drop"
42
45
 
43
46
 
44
- class OutputGraphiteMode(str, Enum):
47
+ class OutputGraphiteMode(str, Enum, metaclass=utils.OpenEnumMeta):
45
48
  r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
46
49
 
47
50
  ERROR = "error"
@@ -128,9 +131,10 @@ class OutputGraphite(BaseModel):
128
131
  streamtags: Optional[List[str]] = None
129
132
  r"""Tags for filtering and grouping in @{product}"""
130
133
 
131
- protocol: Optional[OutputGraphiteDestinationProtocol] = (
132
- OutputGraphiteDestinationProtocol.UDP
133
- )
134
+ protocol: Annotated[
135
+ Optional[OutputGraphiteDestinationProtocol],
136
+ PlainValidator(validate_open_enum(False)),
137
+ ] = OutputGraphiteDestinationProtocol.UDP
134
138
  r"""Protocol to use when communicating with the destination."""
135
139
 
136
140
  port: Optional[float] = 8125
@@ -167,7 +171,10 @@ class OutputGraphite(BaseModel):
167
171
  r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead"""
168
172
 
169
173
  on_backpressure: Annotated[
170
- Optional[OutputGraphiteBackpressureBehavior],
174
+ Annotated[
175
+ Optional[OutputGraphiteBackpressureBehavior],
176
+ PlainValidator(validate_open_enum(False)),
177
+ ],
171
178
  pydantic.Field(alias="onBackpressure"),
172
179
  ] = OutputGraphiteBackpressureBehavior.BLOCK
173
180
  r"""How to handle events when all receivers are exerting backpressure"""
@@ -186,19 +193,29 @@ class OutputGraphite(BaseModel):
186
193
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
187
194
 
188
195
  pq_compress: Annotated[
189
- Optional[OutputGraphiteCompression], pydantic.Field(alias="pqCompress")
196
+ Annotated[
197
+ Optional[OutputGraphiteCompression],
198
+ PlainValidator(validate_open_enum(False)),
199
+ ],
200
+ pydantic.Field(alias="pqCompress"),
190
201
  ] = OutputGraphiteCompression.NONE
191
202
  r"""Codec to use to compress the persisted data"""
192
203
 
193
204
  pq_on_backpressure: Annotated[
194
- Optional[OutputGraphiteQueueFullBehavior],
205
+ Annotated[
206
+ Optional[OutputGraphiteQueueFullBehavior],
207
+ PlainValidator(validate_open_enum(False)),
208
+ ],
195
209
  pydantic.Field(alias="pqOnBackpressure"),
196
210
  ] = OutputGraphiteQueueFullBehavior.BLOCK
197
211
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
198
212
 
199
- pq_mode: Annotated[Optional[OutputGraphiteMode], pydantic.Field(alias="pqMode")] = (
200
- OutputGraphiteMode.ERROR
201
- )
213
+ pq_mode: Annotated[
214
+ Annotated[
215
+ Optional[OutputGraphiteMode], PlainValidator(validate_open_enum(False))
216
+ ],
217
+ pydantic.Field(alias="pqMode"),
218
+ ] = OutputGraphiteMode.ERROR
202
219
  r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
203
220
 
204
221
  pq_controls: Annotated[