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
@@ -19,6 +19,7 @@ class NodeProvidedInfoTags(BaseModel):
19
19
 
20
20
  class NodeProvidedInfoAwsTypedDict(TypedDict):
21
21
  enabled: bool
22
+ instance_id: str
22
23
  region: str
23
24
  type: str
24
25
  zone: str
@@ -28,6 +29,8 @@ class NodeProvidedInfoAwsTypedDict(TypedDict):
28
29
  class NodeProvidedInfoAws(BaseModel):
29
30
  enabled: bool
30
31
 
32
+ instance_id: Annotated[str, pydantic.Field(alias="instanceId")]
33
+
31
34
  region: str
32
35
 
33
36
  type: str
@@ -1,10 +1,11 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from cribl_control_plane import utils
4
5
  from enum import Enum
5
6
 
6
7
 
7
- class NodeSkippedUpgradeStatus(int, Enum):
8
+ class NodeSkippedUpgradeStatus(int, Enum, metaclass=utils.OpenEnumMeta):
8
9
  ZERO = 0
9
10
  ONE = 1
10
11
  TWO = 2
@@ -1,10 +1,11 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from cribl_control_plane import utils
4
5
  from enum import Enum
5
6
 
6
7
 
7
- class NodeUpgradeState(int, Enum):
8
+ class NodeUpgradeState(int, Enum, metaclass=utils.OpenEnumMeta):
8
9
  ZERO = 0
9
10
  ONE = 1
10
11
  TWO = 2
@@ -6,8 +6,10 @@ from .nodefailedupgradestatus import NodeFailedUpgradeStatus
6
6
  from .nodeskippedupgradestatus import NodeSkippedUpgradeStatus
7
7
  from .nodeupgradestate import NodeUpgradeState
8
8
  from cribl_control_plane.types import BaseModel
9
+ from cribl_control_plane.utils import validate_open_enum
10
+ from pydantic.functional_validators import PlainValidator
9
11
  from typing import Optional
10
- from typing_extensions import NotRequired, TypedDict
12
+ from typing_extensions import Annotated, NotRequired, TypedDict
11
13
 
12
14
 
13
15
  class NodeUpgradeStatusTypedDict(TypedDict):
@@ -19,12 +21,18 @@ class NodeUpgradeStatusTypedDict(TypedDict):
19
21
 
20
22
 
21
23
  class NodeUpgradeStatus(BaseModel):
22
- state: NodeUpgradeState
24
+ state: Annotated[NodeUpgradeState, PlainValidator(validate_open_enum(True))]
23
25
 
24
26
  timestamp: float
25
27
 
26
- active: Optional[NodeActiveUpgradeStatus] = None
28
+ active: Annotated[
29
+ Optional[NodeActiveUpgradeStatus], PlainValidator(validate_open_enum(True))
30
+ ] = None
27
31
 
28
- failed: Optional[NodeFailedUpgradeStatus] = None
32
+ failed: Annotated[
33
+ Optional[NodeFailedUpgradeStatus], PlainValidator(validate_open_enum(True))
34
+ ] = None
29
35
 
30
- skipped: Optional[NodeSkippedUpgradeStatus] = None
36
+ skipped: Annotated[
37
+ Optional[NodeSkippedUpgradeStatus], PlainValidator(validate_open_enum(True))
38
+ ] = None
@@ -18,6 +18,7 @@ from .outputcrowdstrikenextgensiem import (
18
18
  OutputCrowdstrikeNextGenSiem,
19
19
  OutputCrowdstrikeNextGenSiemTypedDict,
20
20
  )
21
+ from .outputdatabricks import OutputDatabricks, OutputDatabricksTypedDict
21
22
  from .outputdatadog import OutputDatadog, OutputDatadogTypedDict
22
23
  from .outputdataset import OutputDataset, OutputDatasetTypedDict
23
24
  from .outputdefault import OutputDefault, OutputDefaultTypedDict
@@ -80,8 +81,10 @@ from .outputtcpjson import OutputTcpjson, OutputTcpjsonTypedDict
80
81
  from .outputwavefront import OutputWavefront, OutputWavefrontTypedDict
81
82
  from .outputwebhook import OutputWebhook, OutputWebhookTypedDict
82
83
  from .outputxsiam import OutputXsiam, OutputXsiamTypedDict
84
+ from cribl_control_plane.utils import get_discriminator
85
+ from pydantic import Discriminator, Tag
83
86
  from typing import Union
84
- from typing_extensions import TypeAliasType
87
+ from typing_extensions import Annotated, TypeAliasType
85
88
 
86
89
 
87
90
  OutputTypedDict = TypeAliasType(
@@ -90,31 +93,32 @@ OutputTypedDict = TypeAliasType(
90
93
  OutputDevnullTypedDict,
91
94
  OutputDefaultTypedDict,
92
95
  OutputRouterTypedDict,
93
- OutputSnmpTypedDict,
94
96
  OutputNetflowTypedDict,
97
+ OutputSnmpTypedDict,
95
98
  OutputDiskSpoolTypedDict,
96
99
  OutputRingTypedDict,
97
- OutputStatsdExtTypedDict,
98
100
  OutputGraphiteTypedDict,
101
+ OutputStatsdExtTypedDict,
99
102
  OutputStatsdTypedDict,
100
103
  OutputGooglePubsubTypedDict,
101
- OutputCriblTCPTypedDict,
102
104
  OutputSplunkTypedDict,
105
+ OutputCriblTCPTypedDict,
103
106
  OutputSnsTypedDict,
104
107
  OutputCloudwatchTypedDict,
105
108
  OutputAzureEventhubTypedDict,
106
- OutputWavefrontTypedDict,
107
109
  OutputSignalfxTypedDict,
110
+ OutputWavefrontTypedDict,
108
111
  OutputHoneycombTypedDict,
109
- OutputSumoLogicTypedDict,
110
- OutputCrowdstrikeNextGenSiemTypedDict,
111
112
  OutputHumioHecTypedDict,
112
113
  OutputTcpjsonTypedDict,
114
+ OutputSumoLogicTypedDict,
115
+ OutputCrowdstrikeNextGenSiemTypedDict,
113
116
  OutputElasticCloudTypedDict,
114
- OutputKinesisTypedDict,
115
- OutputConfluentCloudTypedDict,
116
- OutputKafkaTypedDict,
117
117
  OutputExabeamTypedDict,
118
+ OutputKafkaTypedDict,
119
+ OutputConfluentCloudTypedDict,
120
+ OutputKinesisTypedDict,
121
+ OutputDatabricksTypedDict,
118
122
  OutputNewrelicEventsTypedDict,
119
123
  OutputAzureLogsTypedDict,
120
124
  OutputSplunkLbTypedDict,
@@ -130,10 +134,10 @@ OutputTypedDict = TypeAliasType(
130
134
  OutputDynatraceHTTPTypedDict,
131
135
  OutputServiceNowTypedDict,
132
136
  OutputDynatraceOtlpTypedDict,
133
- OutputElasticTypedDict,
134
137
  OutputGoogleChronicleTypedDict,
135
- OutputCriblLakeTypedDict,
138
+ OutputElasticTypedDict,
136
139
  OutputDatadogTypedDict,
140
+ OutputCriblLakeTypedDict,
137
141
  OutputPrometheusTypedDict,
138
142
  OutputMskTypedDict,
139
143
  OutputSentinelOneAiSiemTypedDict,
@@ -155,72 +159,73 @@ OutputTypedDict = TypeAliasType(
155
159
  )
156
160
 
157
161
 
158
- Output = TypeAliasType(
159
- "Output",
162
+ Output = Annotated[
160
163
  Union[
161
- OutputDevnull,
162
- OutputDefault,
163
- OutputRouter,
164
- OutputSnmp,
165
- OutputNetflow,
166
- OutputDiskSpool,
167
- OutputRing,
168
- OutputStatsdExt,
169
- OutputGraphite,
170
- OutputStatsd,
171
- OutputGooglePubsub,
172
- OutputCriblTCP,
173
- OutputSplunk,
174
- OutputSns,
175
- OutputCloudwatch,
176
- OutputAzureEventhub,
177
- OutputWavefront,
178
- OutputSignalfx,
179
- OutputHoneycomb,
180
- OutputSumoLogic,
181
- OutputCrowdstrikeNextGenSiem,
182
- OutputHumioHec,
183
- OutputTcpjson,
184
- OutputElasticCloud,
185
- OutputKinesis,
186
- OutputConfluentCloud,
187
- OutputKafka,
188
- OutputExabeam,
189
- OutputNewrelicEvents,
190
- OutputAzureLogs,
191
- OutputSplunkLb,
192
- OutputSyslog,
193
- OutputSqs,
194
- OutputNewrelic,
195
- OutputCriblHTTP,
196
- OutputXsiam,
197
- OutputFilesystem,
198
- OutputDataset,
199
- OutputLoki,
200
- OutputSplunkHec,
201
- OutputDynatraceHTTP,
202
- OutputServiceNow,
203
- OutputDynatraceOtlp,
204
- OutputElastic,
205
- OutputGoogleChronicle,
206
- OutputCriblLake,
207
- OutputDatadog,
208
- OutputPrometheus,
209
- OutputMsk,
210
- OutputSentinelOneAiSiem,
211
- OutputSentinel,
212
- OutputInfluxdb,
213
- OutputGoogleCloudStorage,
214
- OutputAzureBlob,
215
- OutputOpenTelemetry,
216
- OutputMinio,
217
- OutputClickHouse,
218
- OutputSecurityLake,
219
- OutputDlS3,
220
- OutputS3,
221
- OutputWebhook,
222
- OutputAzureDataExplorer,
223
- OutputGoogleCloudLogging,
224
- OutputGrafanaCloud,
164
+ Annotated[OutputDefault, Tag("default")],
165
+ Annotated[OutputWebhook, Tag("webhook")],
166
+ Annotated[OutputSentinel, Tag("sentinel")],
167
+ Annotated[OutputDevnull, Tag("devnull")],
168
+ Annotated[OutputSyslog, Tag("syslog")],
169
+ Annotated[OutputSplunk, Tag("splunk")],
170
+ Annotated[OutputSplunkLb, Tag("splunk_lb")],
171
+ Annotated[OutputSplunkHec, Tag("splunk_hec")],
172
+ Annotated[OutputTcpjson, Tag("tcpjson")],
173
+ Annotated[OutputWavefront, Tag("wavefront")],
174
+ Annotated[OutputSignalfx, Tag("signalfx")],
175
+ Annotated[OutputFilesystem, Tag("filesystem")],
176
+ Annotated[OutputS3, Tag("s3")],
177
+ Annotated[OutputAzureBlob, Tag("azure_blob")],
178
+ Annotated[OutputAzureDataExplorer, Tag("azure_data_explorer")],
179
+ Annotated[OutputAzureLogs, Tag("azure_logs")],
180
+ Annotated[OutputKinesis, Tag("kinesis")],
181
+ Annotated[OutputHoneycomb, Tag("honeycomb")],
182
+ Annotated[OutputAzureEventhub, Tag("azure_eventhub")],
183
+ Annotated[OutputGoogleChronicle, Tag("google_chronicle")],
184
+ Annotated[OutputGoogleCloudStorage, Tag("google_cloud_storage")],
185
+ Annotated[OutputGoogleCloudLogging, Tag("google_cloud_logging")],
186
+ Annotated[OutputGooglePubsub, Tag("google_pubsub")],
187
+ Annotated[OutputExabeam, Tag("exabeam")],
188
+ Annotated[OutputKafka, Tag("kafka")],
189
+ Annotated[OutputConfluentCloud, Tag("confluent_cloud")],
190
+ Annotated[OutputMsk, Tag("msk")],
191
+ Annotated[OutputElastic, Tag("elastic")],
192
+ Annotated[OutputElasticCloud, Tag("elastic_cloud")],
193
+ Annotated[OutputNewrelic, Tag("newrelic")],
194
+ Annotated[OutputNewrelicEvents, Tag("newrelic_events")],
195
+ Annotated[OutputInfluxdb, Tag("influxdb")],
196
+ Annotated[OutputCloudwatch, Tag("cloudwatch")],
197
+ Annotated[OutputMinio, Tag("minio")],
198
+ Annotated[OutputStatsd, Tag("statsd")],
199
+ Annotated[OutputStatsdExt, Tag("statsd_ext")],
200
+ Annotated[OutputGraphite, Tag("graphite")],
201
+ Annotated[OutputRouter, Tag("router")],
202
+ Annotated[OutputSns, Tag("sns")],
203
+ Annotated[OutputSqs, Tag("sqs")],
204
+ Annotated[OutputSnmp, Tag("snmp")],
205
+ Annotated[OutputSumoLogic, Tag("sumo_logic")],
206
+ Annotated[OutputDatadog, Tag("datadog")],
207
+ Annotated[OutputGrafanaCloud, Tag("grafana_cloud")],
208
+ Annotated[OutputLoki, Tag("loki")],
209
+ Annotated[OutputPrometheus, Tag("prometheus")],
210
+ Annotated[OutputRing, Tag("ring")],
211
+ Annotated[OutputOpenTelemetry, Tag("open_telemetry")],
212
+ Annotated[OutputServiceNow, Tag("service_now")],
213
+ Annotated[OutputDataset, Tag("dataset")],
214
+ Annotated[OutputCriblTCP, Tag("cribl_tcp")],
215
+ Annotated[OutputCriblHTTP, Tag("cribl_http")],
216
+ Annotated[OutputHumioHec, Tag("humio_hec")],
217
+ Annotated[OutputCrowdstrikeNextGenSiem, Tag("crowdstrike_next_gen_siem")],
218
+ Annotated[OutputDlS3, Tag("dl_s3")],
219
+ Annotated[OutputSecurityLake, Tag("security_lake")],
220
+ Annotated[OutputCriblLake, Tag("cribl_lake")],
221
+ Annotated[OutputDiskSpool, Tag("disk_spool")],
222
+ Annotated[OutputClickHouse, Tag("click_house")],
223
+ Annotated[OutputXsiam, Tag("xsiam")],
224
+ Annotated[OutputNetflow, Tag("netflow")],
225
+ Annotated[OutputDynatraceHTTP, Tag("dynatrace_http")],
226
+ Annotated[OutputDynatraceOtlp, Tag("dynatrace_otlp")],
227
+ Annotated[OutputSentinelOneAiSiem, Tag("sentinel_one_ai_siem")],
228
+ Annotated[OutputDatabricks, Tag("databricks")],
225
229
  ],
226
- )
230
+ Discriminator(lambda m: get_discriminator(m, "type", "type")),
231
+ ]
@@ -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,7 @@ class OutputAzureBlobType(str, Enum):
12
15
  AZURE_BLOB = "azure_blob"
13
16
 
14
17
 
15
- class OutputAzureBlobDataFormat(str, Enum):
18
+ class OutputAzureBlobDataFormat(str, Enum, metaclass=utils.OpenEnumMeta):
16
19
  r"""Format of the output data"""
17
20
 
18
21
  JSON = "json"
@@ -20,28 +23,28 @@ class OutputAzureBlobDataFormat(str, Enum):
20
23
  PARQUET = "parquet"
21
24
 
22
25
 
23
- class OutputAzureBlobBackpressureBehavior(str, Enum):
26
+ class OutputAzureBlobBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
24
27
  r"""How to handle events when all receivers are exerting backpressure"""
25
28
 
26
29
  BLOCK = "block"
27
30
  DROP = "drop"
28
31
 
29
32
 
30
- class OutputAzureBlobDiskSpaceProtection(str, Enum):
33
+ class OutputAzureBlobDiskSpaceProtection(str, Enum, metaclass=utils.OpenEnumMeta):
31
34
  r"""How to handle events when disk space is below the global 'Min free disk space' limit"""
32
35
 
33
36
  BLOCK = "block"
34
37
  DROP = "drop"
35
38
 
36
39
 
37
- class OutputAzureBlobAuthenticationMethod(str, Enum):
40
+ class OutputAzureBlobAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
38
41
  MANUAL = "manual"
39
42
  SECRET = "secret"
40
43
  CLIENT_SECRET = "clientSecret"
41
44
  CLIENT_CERT = "clientCert"
42
45
 
43
46
 
44
- class BlobAccessTier(str, Enum):
47
+ class BlobAccessTier(str, Enum, metaclass=utils.OpenEnumMeta):
45
48
  INFERRED = "Inferred"
46
49
  HOT = "Hot"
47
50
  COOL = "Cool"
@@ -49,14 +52,14 @@ class BlobAccessTier(str, Enum):
49
52
  ARCHIVE = "Archive"
50
53
 
51
54
 
52
- class OutputAzureBlobCompression(str, Enum):
55
+ class OutputAzureBlobCompression(str, Enum, metaclass=utils.OpenEnumMeta):
53
56
  r"""Data compression format to apply to HTTP content before it is delivered"""
54
57
 
55
58
  NONE = "none"
56
59
  GZIP = "gzip"
57
60
 
58
61
 
59
- class OutputAzureBlobCompressionLevel(str, Enum):
62
+ class OutputAzureBlobCompressionLevel(str, Enum, metaclass=utils.OpenEnumMeta):
60
63
  r"""Compression level to apply before moving files to final destination"""
61
64
 
62
65
  BEST_SPEED = "best_speed"
@@ -64,7 +67,7 @@ class OutputAzureBlobCompressionLevel(str, Enum):
64
67
  BEST_COMPRESSION = "best_compression"
65
68
 
66
69
 
67
- class OutputAzureBlobParquetVersion(str, Enum):
70
+ class OutputAzureBlobParquetVersion(str, Enum, metaclass=utils.OpenEnumMeta):
68
71
  r"""Determines which data types are supported and how they are represented"""
69
72
 
70
73
  PARQUET_1_0 = "PARQUET_1_0"
@@ -72,7 +75,7 @@ class OutputAzureBlobParquetVersion(str, Enum):
72
75
  PARQUET_2_6 = "PARQUET_2_6"
73
76
 
74
77
 
75
- class OutputAzureBlobDataPageVersion(str, Enum):
78
+ class OutputAzureBlobDataPageVersion(str, Enum, metaclass=utils.OpenEnumMeta):
76
79
  r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it."""
77
80
 
78
81
  DATA_PAGE_V1 = "DATA_PAGE_V1"
@@ -261,7 +264,11 @@ class OutputAzureBlob(BaseModel):
261
264
  r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory."""
262
265
 
263
266
  format_: Annotated[
264
- Optional[OutputAzureBlobDataFormat], pydantic.Field(alias="format")
267
+ Annotated[
268
+ Optional[OutputAzureBlobDataFormat],
269
+ PlainValidator(validate_open_enum(False)),
270
+ ],
271
+ pydantic.Field(alias="format"),
265
272
  ] = OutputAzureBlobDataFormat.JSON
266
273
  r"""Format of the output data"""
267
274
 
@@ -304,7 +311,10 @@ class OutputAzureBlob(BaseModel):
304
311
  r"""Buffer size used to write to a file"""
305
312
 
306
313
  on_backpressure: Annotated[
307
- Optional[OutputAzureBlobBackpressureBehavior],
314
+ Annotated[
315
+ Optional[OutputAzureBlobBackpressureBehavior],
316
+ PlainValidator(validate_open_enum(False)),
317
+ ],
308
318
  pydantic.Field(alias="onBackpressure"),
309
319
  ] = OutputAzureBlobBackpressureBehavior.BLOCK
310
320
  r"""How to handle events when all receivers are exerting backpressure"""
@@ -315,26 +325,39 @@ class OutputAzureBlob(BaseModel):
315
325
  r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors"""
316
326
 
317
327
  on_disk_full_backpressure: Annotated[
318
- Optional[OutputAzureBlobDiskSpaceProtection],
328
+ Annotated[
329
+ Optional[OutputAzureBlobDiskSpaceProtection],
330
+ PlainValidator(validate_open_enum(False)),
331
+ ],
319
332
  pydantic.Field(alias="onDiskFullBackpressure"),
320
333
  ] = OutputAzureBlobDiskSpaceProtection.BLOCK
321
334
  r"""How to handle events when disk space is below the global 'Min free disk space' limit"""
322
335
 
323
336
  auth_type: Annotated[
324
- Optional[OutputAzureBlobAuthenticationMethod], pydantic.Field(alias="authType")
337
+ Annotated[
338
+ Optional[OutputAzureBlobAuthenticationMethod],
339
+ PlainValidator(validate_open_enum(False)),
340
+ ],
341
+ pydantic.Field(alias="authType"),
325
342
  ] = OutputAzureBlobAuthenticationMethod.MANUAL
326
343
 
327
344
  storage_class: Annotated[
328
- Optional[BlobAccessTier], pydantic.Field(alias="storageClass")
345
+ Annotated[Optional[BlobAccessTier], PlainValidator(validate_open_enum(False))],
346
+ pydantic.Field(alias="storageClass"),
329
347
  ] = BlobAccessTier.INFERRED
330
348
 
331
349
  description: Optional[str] = None
332
350
 
333
- compress: Optional[OutputAzureBlobCompression] = OutputAzureBlobCompression.GZIP
351
+ compress: Annotated[
352
+ Optional[OutputAzureBlobCompression], PlainValidator(validate_open_enum(False))
353
+ ] = OutputAzureBlobCompression.GZIP
334
354
  r"""Data compression format to apply to HTTP content before it is delivered"""
335
355
 
336
356
  compression_level: Annotated[
337
- Optional[OutputAzureBlobCompressionLevel],
357
+ Annotated[
358
+ Optional[OutputAzureBlobCompressionLevel],
359
+ PlainValidator(validate_open_enum(False)),
360
+ ],
338
361
  pydantic.Field(alias="compressionLevel"),
339
362
  ] = OutputAzureBlobCompressionLevel.BEST_SPEED
340
363
  r"""Compression level to apply before moving files to final destination"""
@@ -345,12 +368,19 @@ class OutputAzureBlob(BaseModel):
345
368
  r"""Automatically calculate the schema based on the events of each Parquet file generated"""
346
369
 
347
370
  parquet_version: Annotated[
348
- Optional[OutputAzureBlobParquetVersion], pydantic.Field(alias="parquetVersion")
371
+ Annotated[
372
+ Optional[OutputAzureBlobParquetVersion],
373
+ PlainValidator(validate_open_enum(False)),
374
+ ],
375
+ pydantic.Field(alias="parquetVersion"),
349
376
  ] = OutputAzureBlobParquetVersion.PARQUET_2_6
350
377
  r"""Determines which data types are supported and how they are represented"""
351
378
 
352
379
  parquet_data_page_version: Annotated[
353
- Optional[OutputAzureBlobDataPageVersion],
380
+ Annotated[
381
+ Optional[OutputAzureBlobDataPageVersion],
382
+ PlainValidator(validate_open_enum(False)),
383
+ ],
354
384
  pydantic.Field(alias="parquetDataPageVersion"),
355
385
  ] = OutputAzureBlobDataPageVersion.DATA_PAGE_V2
356
386
  r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it."""