cribl-control-plane 0.0.38__py3-none-any.whl → 0.4.0a6__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 (241) hide show
  1. cribl_control_plane/_hooks/clientcredentials.py +92 -42
  2. cribl_control_plane/_version.py +4 -4
  3. cribl_control_plane/acl.py +5 -3
  4. cribl_control_plane/auth_sdk.py +6 -3
  5. cribl_control_plane/basesdk.py +11 -1
  6. cribl_control_plane/commits.py +7 -5
  7. cribl_control_plane/destinations.py +6 -4
  8. cribl_control_plane/destinations_pq.py +2 -2
  9. cribl_control_plane/errors/__init__.py +23 -8
  10. cribl_control_plane/errors/apierror.py +2 -0
  11. cribl_control_plane/errors/criblcontrolplaneerror.py +11 -7
  12. cribl_control_plane/errors/error.py +4 -2
  13. cribl_control_plane/errors/healthserverstatus_error.py +41 -0
  14. cribl_control_plane/errors/no_response_error.py +5 -1
  15. cribl_control_plane/errors/responsevalidationerror.py +2 -0
  16. cribl_control_plane/groups_configs.py +8 -3
  17. cribl_control_plane/groups_sdk.py +64 -38
  18. cribl_control_plane/health.py +22 -12
  19. cribl_control_plane/httpclient.py +0 -1
  20. cribl_control_plane/lakedatasets.py +40 -12
  21. cribl_control_plane/models/__init__.py +1180 -54
  22. cribl_control_plane/models/authtoken.py +5 -1
  23. cribl_control_plane/models/{routecloneconf.py → branchinfo.py} +4 -4
  24. cribl_control_plane/models/cacheconnection.py +30 -2
  25. cribl_control_plane/models/cacheconnectionbackfillstatus.py +2 -1
  26. cribl_control_plane/models/cloudprovider.py +2 -1
  27. cribl_control_plane/models/configgroup.py +66 -11
  28. cribl_control_plane/models/configgroupcloud.py +17 -3
  29. cribl_control_plane/models/createconfiggroupbyproductop.py +27 -9
  30. cribl_control_plane/models/createinputhectokenbyidop.py +6 -5
  31. cribl_control_plane/models/createroutesappendbyidop.py +2 -2
  32. cribl_control_plane/models/createversionpushop.py +5 -5
  33. cribl_control_plane/models/createversionrevertop.py +2 -2
  34. cribl_control_plane/models/createversionundoop.py +3 -3
  35. cribl_control_plane/models/cribllakedataset.py +22 -2
  36. cribl_control_plane/models/cribllakedatasetupdate.py +95 -0
  37. cribl_control_plane/models/datasetmetadata.py +18 -2
  38. cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +18 -2
  39. cribl_control_plane/models/deleteoutputpqbyidop.py +5 -5
  40. cribl_control_plane/models/deletepipelinebyidop.py +2 -2
  41. cribl_control_plane/models/difffiles.py +171 -0
  42. cribl_control_plane/models/distributedsummary.py +6 -0
  43. cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +24 -2
  44. cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +24 -2
  45. cribl_control_plane/models/getconfiggroupbyproductandidop.py +14 -1
  46. cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +18 -2
  47. cribl_control_plane/models/getoutputpqbyidop.py +6 -5
  48. cribl_control_plane/models/getpipelinebyidop.py +2 -2
  49. cribl_control_plane/models/getroutesbyidop.py +2 -2
  50. cribl_control_plane/models/getsummaryop.py +18 -2
  51. cribl_control_plane/models/getversionbranchop.py +6 -5
  52. cribl_control_plane/models/getversioncountop.py +6 -5
  53. cribl_control_plane/models/getversiondiffop.py +6 -5
  54. cribl_control_plane/models/getversionshowop.py +6 -5
  55. cribl_control_plane/models/gitcountresult.py +13 -0
  56. cribl_control_plane/models/gitdiffresult.py +16 -0
  57. cribl_control_plane/models/gitinfo.py +14 -3
  58. cribl_control_plane/models/gitshowresult.py +19 -0
  59. cribl_control_plane/models/groupcreaterequest.py +171 -0
  60. cribl_control_plane/models/hbcriblinfo.py +39 -3
  61. cribl_control_plane/models/healthserverstatus.py +55 -0
  62. cribl_control_plane/models/heartbeatmetadata.py +3 -0
  63. cribl_control_plane/models/input.py +83 -78
  64. cribl_control_plane/models/inputappscope.py +126 -30
  65. cribl_control_plane/models/inputazureblob.py +62 -6
  66. cribl_control_plane/models/inputcloudflarehec.py +513 -0
  67. cribl_control_plane/models/inputcollection.py +47 -4
  68. cribl_control_plane/models/inputconfluentcloud.py +254 -30
  69. cribl_control_plane/models/inputcribl.py +47 -4
  70. cribl_control_plane/models/inputcriblhttp.py +121 -30
  71. cribl_control_plane/models/inputcribllakehttp.py +122 -30
  72. cribl_control_plane/models/inputcriblmetrics.py +48 -4
  73. cribl_control_plane/models/inputcribltcp.py +122 -24
  74. cribl_control_plane/models/inputcrowdstrike.py +92 -10
  75. cribl_control_plane/models/inputdatadogagent.py +98 -24
  76. cribl_control_plane/models/inputdatagen.py +47 -4
  77. cribl_control_plane/models/inputedgeprometheus.py +210 -50
  78. cribl_control_plane/models/inputelastic.py +167 -36
  79. cribl_control_plane/models/inputeventhub.py +209 -6
  80. cribl_control_plane/models/inputexec.py +59 -6
  81. cribl_control_plane/models/inputfile.py +78 -10
  82. cribl_control_plane/models/inputfirehose.py +97 -24
  83. cribl_control_plane/models/inputgooglepubsub.py +67 -6
  84. cribl_control_plane/models/inputgrafana.py +251 -71
  85. cribl_control_plane/models/inputhttp.py +97 -24
  86. cribl_control_plane/models/inputhttpraw.py +97 -24
  87. cribl_control_plane/models/inputjournalfiles.py +48 -4
  88. cribl_control_plane/models/inputkafka.py +248 -26
  89. cribl_control_plane/models/inputkinesis.py +130 -14
  90. cribl_control_plane/models/inputkubeevents.py +47 -4
  91. cribl_control_plane/models/inputkubelogs.py +61 -8
  92. cribl_control_plane/models/inputkubemetrics.py +61 -8
  93. cribl_control_plane/models/inputloki.py +113 -34
  94. cribl_control_plane/models/inputmetrics.py +97 -24
  95. cribl_control_plane/models/inputmodeldriventelemetry.py +107 -26
  96. cribl_control_plane/models/inputmsk.py +141 -30
  97. cribl_control_plane/models/inputnetflow.py +47 -4
  98. cribl_control_plane/models/inputoffice365mgmt.py +112 -14
  99. cribl_control_plane/models/inputoffice365msgtrace.py +114 -16
  100. cribl_control_plane/models/inputoffice365service.py +114 -16
  101. cribl_control_plane/models/inputopentelemetry.py +143 -32
  102. cribl_control_plane/models/inputprometheus.py +193 -44
  103. cribl_control_plane/models/inputprometheusrw.py +114 -27
  104. cribl_control_plane/models/inputrawudp.py +47 -4
  105. cribl_control_plane/models/inputs3.py +78 -8
  106. cribl_control_plane/models/inputs3inventory.py +92 -10
  107. cribl_control_plane/models/inputsecuritylake.py +93 -10
  108. cribl_control_plane/models/inputsnmp.py +68 -6
  109. cribl_control_plane/models/inputsplunk.py +130 -28
  110. cribl_control_plane/models/inputsplunkhec.py +111 -25
  111. cribl_control_plane/models/inputsplunksearch.py +108 -14
  112. cribl_control_plane/models/inputsqs.py +99 -16
  113. cribl_control_plane/models/inputsyslog.py +189 -47
  114. cribl_control_plane/models/inputsystemmetrics.py +202 -32
  115. cribl_control_plane/models/inputsystemstate.py +61 -8
  116. cribl_control_plane/models/inputtcp.py +122 -26
  117. cribl_control_plane/models/inputtcpjson.py +112 -26
  118. cribl_control_plane/models/inputwef.py +121 -15
  119. cribl_control_plane/models/inputwindowsmetrics.py +186 -33
  120. cribl_control_plane/models/inputwineventlogs.py +93 -11
  121. cribl_control_plane/models/inputwiz.py +78 -8
  122. cribl_control_plane/models/inputwizwebhook.py +97 -24
  123. cribl_control_plane/models/inputzscalerhec.py +111 -25
  124. cribl_control_plane/models/jobinfo.py +34 -0
  125. cribl_control_plane/models/jobstatus.py +48 -0
  126. cribl_control_plane/models/lakedatasetmetrics.py +17 -0
  127. cribl_control_plane/models/lakehouseconnectiontype.py +2 -1
  128. cribl_control_plane/models/listconfiggroupbyproductop.py +14 -1
  129. cribl_control_plane/models/logininfo.py +3 -3
  130. cribl_control_plane/models/masterworkerentry.py +17 -2
  131. cribl_control_plane/models/nodeactiveupgradestatus.py +2 -1
  132. cribl_control_plane/models/nodefailedupgradestatus.py +2 -1
  133. cribl_control_plane/models/nodeprovidedinfo.py +11 -1
  134. cribl_control_plane/models/nodeskippedupgradestatus.py +2 -1
  135. cribl_control_plane/models/nodeupgradestate.py +2 -1
  136. cribl_control_plane/models/nodeupgradestatus.py +51 -5
  137. cribl_control_plane/models/outpostnodeinfo.py +16 -0
  138. cribl_control_plane/models/output.py +104 -90
  139. cribl_control_plane/models/outputazureblob.py +171 -18
  140. cribl_control_plane/models/outputazuredataexplorer.py +514 -90
  141. cribl_control_plane/models/outputazureeventhub.py +315 -31
  142. cribl_control_plane/models/outputazurelogs.py +145 -26
  143. cribl_control_plane/models/outputchronicle.py +532 -0
  144. cribl_control_plane/models/outputclickhouse.py +205 -34
  145. cribl_control_plane/models/outputcloudflarer2.py +632 -0
  146. cribl_control_plane/models/outputcloudwatch.py +129 -23
  147. cribl_control_plane/models/outputconfluentcloud.py +384 -57
  148. cribl_control_plane/models/outputcriblhttp.py +199 -32
  149. cribl_control_plane/models/outputcribllake.py +156 -16
  150. cribl_control_plane/models/outputcribltcp.py +194 -29
  151. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +172 -28
  152. cribl_control_plane/models/outputdatabricks.py +501 -0
  153. cribl_control_plane/models/outputdatadog.py +199 -31
  154. cribl_control_plane/models/outputdataset.py +181 -29
  155. cribl_control_plane/models/outputdiskspool.py +17 -2
  156. cribl_control_plane/models/outputdls3.py +233 -24
  157. cribl_control_plane/models/outputdynatracehttp.py +208 -34
  158. cribl_control_plane/models/outputdynatraceotlp.py +210 -36
  159. cribl_control_plane/models/outputelastic.py +199 -30
  160. cribl_control_plane/models/outputelasticcloud.py +171 -26
  161. cribl_control_plane/models/outputexabeam.py +96 -10
  162. cribl_control_plane/models/outputfilesystem.py +139 -14
  163. cribl_control_plane/models/outputgooglechronicle.py +216 -35
  164. cribl_control_plane/models/outputgooglecloudlogging.py +174 -31
  165. cribl_control_plane/models/outputgooglecloudstorage.py +215 -24
  166. cribl_control_plane/models/outputgooglepubsub.py +131 -23
  167. cribl_control_plane/models/outputgrafanacloud.py +376 -74
  168. cribl_control_plane/models/outputgraphite.py +128 -25
  169. cribl_control_plane/models/outputhoneycomb.py +145 -26
  170. cribl_control_plane/models/outputhumiohec.py +162 -28
  171. cribl_control_plane/models/outputinfluxdb.py +165 -28
  172. cribl_control_plane/models/outputkafka.py +375 -52
  173. cribl_control_plane/models/outputkinesis.py +165 -27
  174. cribl_control_plane/models/outputloki.py +164 -34
  175. cribl_control_plane/models/outputmicrosoftfabric.py +540 -0
  176. cribl_control_plane/models/outputminio.py +225 -25
  177. cribl_control_plane/models/outputmsk.py +267 -54
  178. cribl_control_plane/models/outputnewrelic.py +171 -29
  179. cribl_control_plane/models/outputnewrelicevents.py +163 -28
  180. cribl_control_plane/models/outputopentelemetry.py +240 -40
  181. cribl_control_plane/models/outputprometheus.py +145 -26
  182. cribl_control_plane/models/outputring.py +49 -8
  183. cribl_control_plane/models/outputs3.py +233 -26
  184. cribl_control_plane/models/outputsecuritylake.py +179 -18
  185. cribl_control_plane/models/outputsentinel.py +172 -29
  186. cribl_control_plane/models/outputsentineloneaisiem.py +181 -35
  187. cribl_control_plane/models/outputservicenow.py +223 -38
  188. cribl_control_plane/models/outputsignalfx.py +145 -26
  189. cribl_control_plane/models/outputsns.py +143 -25
  190. cribl_control_plane/models/outputsplunk.py +206 -36
  191. cribl_control_plane/models/outputsplunkhec.py +238 -26
  192. cribl_control_plane/models/outputsplunklb.py +253 -43
  193. cribl_control_plane/models/outputsqs.py +163 -33
  194. cribl_control_plane/models/outputstatsd.py +127 -25
  195. cribl_control_plane/models/outputstatsdext.py +128 -25
  196. cribl_control_plane/models/outputsumologic.py +146 -25
  197. cribl_control_plane/models/outputsyslog.py +318 -46
  198. cribl_control_plane/models/outputtcpjson.py +186 -32
  199. cribl_control_plane/models/outputwavefront.py +145 -26
  200. cribl_control_plane/models/outputwebhook.py +211 -33
  201. cribl_control_plane/models/outputxsiam.py +143 -26
  202. cribl_control_plane/models/packinfo.py +8 -5
  203. cribl_control_plane/models/packinstallinfo.py +11 -8
  204. cribl_control_plane/models/productscore.py +2 -1
  205. cribl_control_plane/models/rbacresource.py +2 -1
  206. cribl_control_plane/models/resourcepolicy.py +15 -2
  207. cribl_control_plane/models/routeconf.py +3 -4
  208. cribl_control_plane/models/runnablejob.py +27 -0
  209. cribl_control_plane/models/runnablejobcollection.py +669 -0
  210. cribl_control_plane/models/runnablejobexecutor.py +368 -0
  211. cribl_control_plane/models/runnablejobscheduledsearch.py +286 -0
  212. cribl_control_plane/models/updateconfiggroupbyproductandidop.py +19 -2
  213. cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +19 -2
  214. cribl_control_plane/models/updatecribllakedatasetbylakeidandidop.py +9 -5
  215. cribl_control_plane/models/updateinputhectokenbyidandtokenop.py +6 -5
  216. cribl_control_plane/models/updatepacksop.py +25 -0
  217. cribl_control_plane/models/updatepipelinebyidop.py +6 -6
  218. cribl_control_plane/models/updateroutesbyidop.py +2 -2
  219. cribl_control_plane/models/uploadpackresponse.py +13 -0
  220. cribl_control_plane/models/workertypes.py +2 -1
  221. cribl_control_plane/nodes.py +5 -3
  222. cribl_control_plane/packs.py +202 -7
  223. cribl_control_plane/pipelines.py +18 -18
  224. cribl_control_plane/routes_sdk.py +22 -22
  225. cribl_control_plane/sdk.py +19 -6
  226. cribl_control_plane/sources.py +5 -3
  227. cribl_control_plane/tokens.py +23 -15
  228. cribl_control_plane/utils/__init__.py +15 -3
  229. cribl_control_plane/utils/annotations.py +32 -8
  230. cribl_control_plane/utils/eventstreaming.py +10 -0
  231. cribl_control_plane/utils/retries.py +69 -5
  232. cribl_control_plane/utils/unmarshal_json_response.py +15 -1
  233. cribl_control_plane/versions.py +11 -6
  234. {cribl_control_plane-0.0.38.dist-info → cribl_control_plane-0.4.0a6.dist-info}/METADATA +69 -23
  235. cribl_control_plane-0.4.0a6.dist-info/RECORD +336 -0
  236. {cribl_control_plane-0.0.38.dist-info → cribl_control_plane-0.4.0a6.dist-info}/WHEEL +1 -1
  237. cribl_control_plane-0.4.0a6.dist-info/licenses/LICENSE +201 -0
  238. cribl_control_plane/errors/healthstatus_error.py +0 -32
  239. cribl_control_plane/models/appmode.py +0 -13
  240. cribl_control_plane/models/healthstatus.py +0 -33
  241. cribl_control_plane-0.0.38.dist-info/RECORD +0 -315
@@ -8,7 +8,9 @@ from .outputazuredataexplorer import (
8
8
  )
9
9
  from .outputazureeventhub import OutputAzureEventhub, OutputAzureEventhubTypedDict
10
10
  from .outputazurelogs import OutputAzureLogs, OutputAzureLogsTypedDict
11
+ from .outputchronicle import OutputChronicle, OutputChronicleTypedDict
11
12
  from .outputclickhouse import OutputClickHouse, OutputClickHouseTypedDict
13
+ from .outputcloudflarer2 import OutputCloudflareR2, OutputCloudflareR2TypedDict
12
14
  from .outputcloudwatch import OutputCloudwatch, OutputCloudwatchTypedDict
13
15
  from .outputconfluentcloud import OutputConfluentCloud, OutputConfluentCloudTypedDict
14
16
  from .outputcriblhttp import OutputCriblHTTP, OutputCriblHTTPTypedDict
@@ -18,6 +20,7 @@ from .outputcrowdstrikenextgensiem import (
18
20
  OutputCrowdstrikeNextGenSiem,
19
21
  OutputCrowdstrikeNextGenSiemTypedDict,
20
22
  )
23
+ from .outputdatabricks import OutputDatabricks, OutputDatabricksTypedDict
21
24
  from .outputdatadog import OutputDatadog, OutputDatadogTypedDict
22
25
  from .outputdataset import OutputDataset, OutputDatasetTypedDict
23
26
  from .outputdefault import OutputDefault, OutputDefaultTypedDict
@@ -48,6 +51,7 @@ from .outputinfluxdb import OutputInfluxdb, OutputInfluxdbTypedDict
48
51
  from .outputkafka import OutputKafka, OutputKafkaTypedDict
49
52
  from .outputkinesis import OutputKinesis, OutputKinesisTypedDict
50
53
  from .outputloki import OutputLoki, OutputLokiTypedDict
54
+ from .outputmicrosoftfabric import OutputMicrosoftFabric, OutputMicrosoftFabricTypedDict
51
55
  from .outputminio import OutputMinio, OutputMinioTypedDict
52
56
  from .outputmsk import OutputMsk, OutputMskTypedDict
53
57
  from .outputnetflow import OutputNetflow, OutputNetflowTypedDict
@@ -80,8 +84,10 @@ from .outputtcpjson import OutputTcpjson, OutputTcpjsonTypedDict
80
84
  from .outputwavefront import OutputWavefront, OutputWavefrontTypedDict
81
85
  from .outputwebhook import OutputWebhook, OutputWebhookTypedDict
82
86
  from .outputxsiam import OutputXsiam, OutputXsiamTypedDict
87
+ from cribl_control_plane.utils import get_discriminator
88
+ from pydantic import Discriminator, Tag
83
89
  from typing import Union
84
- from typing_extensions import TypeAliasType
90
+ from typing_extensions import Annotated, TypeAliasType
85
91
 
86
92
 
87
93
  OutputTypedDict = TypeAliasType(
@@ -90,137 +96,145 @@ OutputTypedDict = TypeAliasType(
90
96
  OutputDevnullTypedDict,
91
97
  OutputDefaultTypedDict,
92
98
  OutputRouterTypedDict,
93
- OutputNetflowTypedDict,
94
99
  OutputSnmpTypedDict,
100
+ OutputNetflowTypedDict,
95
101
  OutputDiskSpoolTypedDict,
96
102
  OutputRingTypedDict,
97
- OutputStatsdExtTypedDict,
98
103
  OutputGraphiteTypedDict,
104
+ OutputStatsdExtTypedDict,
99
105
  OutputStatsdTypedDict,
100
106
  OutputGooglePubsubTypedDict,
101
- OutputCriblTCPTypedDict,
102
- OutputSnsTypedDict,
103
107
  OutputSplunkTypedDict,
104
- OutputCloudwatchTypedDict,
105
- OutputSyslogTypedDict,
108
+ OutputSnsTypedDict,
109
+ OutputCriblTCPTypedDict,
106
110
  OutputAzureEventhubTypedDict,
107
- OutputWavefrontTypedDict,
108
- OutputSignalfxTypedDict,
111
+ OutputCloudwatchTypedDict,
112
+ OutputExabeamTypedDict,
113
+ OutputMicrosoftFabricTypedDict,
109
114
  OutputHoneycombTypedDict,
115
+ OutputSignalfxTypedDict,
116
+ OutputWavefrontTypedDict,
110
117
  OutputSumoLogicTypedDict,
111
- OutputTcpjsonTypedDict,
118
+ OutputCrowdstrikeNextGenSiemTypedDict,
112
119
  OutputHumioHecTypedDict,
120
+ OutputTcpjsonTypedDict,
113
121
  OutputElasticCloudTypedDict,
114
- OutputCrowdstrikeNextGenSiemTypedDict,
115
122
  OutputKinesisTypedDict,
116
123
  OutputConfluentCloudTypedDict,
117
124
  OutputKafkaTypedDict,
118
- OutputExabeamTypedDict,
119
125
  OutputNewrelicEventsTypedDict,
120
126
  OutputAzureLogsTypedDict,
121
127
  OutputSplunkLbTypedDict,
122
128
  OutputSqsTypedDict,
123
129
  OutputNewrelicTypedDict,
124
- OutputCriblHTTPTypedDict,
125
- OutputXsiamTypedDict,
126
130
  OutputFilesystemTypedDict,
131
+ OutputSyslogTypedDict,
132
+ OutputXsiamTypedDict,
133
+ OutputCriblHTTPTypedDict,
127
134
  OutputDatasetTypedDict,
128
- OutputSplunkHecTypedDict,
129
135
  OutputDynatraceHTTPTypedDict,
130
- OutputServiceNowTypedDict,
131
136
  OutputLokiTypedDict,
137
+ OutputChronicleTypedDict,
132
138
  OutputDynatraceOtlpTypedDict,
133
- OutputGoogleChronicleTypedDict,
139
+ OutputServiceNowTypedDict,
140
+ OutputSplunkHecTypedDict,
141
+ OutputCriblLakeTypedDict,
134
142
  OutputElasticTypedDict,
135
143
  OutputDatadogTypedDict,
136
- OutputCriblLakeTypedDict,
144
+ OutputGoogleChronicleTypedDict,
137
145
  OutputPrometheusTypedDict,
138
- OutputMskTypedDict,
146
+ OutputDatabricksTypedDict,
139
147
  OutputSentinelOneAiSiemTypedDict,
148
+ OutputMskTypedDict,
140
149
  OutputSentinelTypedDict,
141
- OutputInfluxdbTypedDict,
142
150
  OutputGoogleCloudStorageTypedDict,
151
+ OutputInfluxdbTypedDict,
143
152
  OutputAzureBlobTypedDict,
144
- OutputOpenTelemetryTypedDict,
153
+ OutputCloudflareR2TypedDict,
145
154
  OutputMinioTypedDict,
146
- OutputClickHouseTypedDict,
155
+ OutputOpenTelemetryTypedDict,
147
156
  OutputSecurityLakeTypedDict,
157
+ OutputClickHouseTypedDict,
148
158
  OutputDlS3TypedDict,
149
159
  OutputS3TypedDict,
150
- OutputAzureDataExplorerTypedDict,
151
160
  OutputWebhookTypedDict,
152
161
  OutputGoogleCloudLoggingTypedDict,
162
+ OutputAzureDataExplorerTypedDict,
153
163
  OutputGrafanaCloudTypedDict,
154
164
  ],
155
165
  )
156
166
 
157
167
 
158
- Output = TypeAliasType(
159
- "Output",
168
+ Output = Annotated[
160
169
  Union[
161
- OutputDevnull,
162
- OutputDefault,
163
- OutputRouter,
164
- OutputNetflow,
165
- OutputSnmp,
166
- OutputDiskSpool,
167
- OutputRing,
168
- OutputStatsdExt,
169
- OutputGraphite,
170
- OutputStatsd,
171
- OutputGooglePubsub,
172
- OutputCriblTCP,
173
- OutputSns,
174
- OutputSplunk,
175
- OutputCloudwatch,
176
- OutputSyslog,
177
- OutputAzureEventhub,
178
- OutputWavefront,
179
- OutputSignalfx,
180
- OutputHoneycomb,
181
- OutputSumoLogic,
182
- OutputTcpjson,
183
- OutputHumioHec,
184
- OutputElasticCloud,
185
- OutputCrowdstrikeNextGenSiem,
186
- OutputKinesis,
187
- OutputConfluentCloud,
188
- OutputKafka,
189
- OutputExabeam,
190
- OutputNewrelicEvents,
191
- OutputAzureLogs,
192
- OutputSplunkLb,
193
- OutputSqs,
194
- OutputNewrelic,
195
- OutputCriblHTTP,
196
- OutputXsiam,
197
- OutputFilesystem,
198
- OutputDataset,
199
- OutputSplunkHec,
200
- OutputDynatraceHTTP,
201
- OutputServiceNow,
202
- OutputLoki,
203
- OutputDynatraceOtlp,
204
- OutputGoogleChronicle,
205
- OutputElastic,
206
- OutputDatadog,
207
- OutputCriblLake,
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
- OutputAzureDataExplorer,
222
- OutputWebhook,
223
- OutputGoogleCloudLogging,
224
- OutputGrafanaCloud,
170
+ Annotated[OutputDefault, Tag("default")],
171
+ Annotated[OutputWebhook, Tag("webhook")],
172
+ Annotated[OutputSentinel, Tag("sentinel")],
173
+ Annotated[OutputDevnull, Tag("devnull")],
174
+ Annotated[OutputSyslog, Tag("syslog")],
175
+ Annotated[OutputSplunk, Tag("splunk")],
176
+ Annotated[OutputSplunkLb, Tag("splunk_lb")],
177
+ Annotated[OutputSplunkHec, Tag("splunk_hec")],
178
+ Annotated[OutputTcpjson, Tag("tcpjson")],
179
+ Annotated[OutputWavefront, Tag("wavefront")],
180
+ Annotated[OutputSignalfx, Tag("signalfx")],
181
+ Annotated[OutputFilesystem, Tag("filesystem")],
182
+ Annotated[OutputS3, Tag("s3")],
183
+ Annotated[OutputAzureBlob, Tag("azure_blob")],
184
+ Annotated[OutputAzureDataExplorer, Tag("azure_data_explorer")],
185
+ Annotated[OutputAzureLogs, Tag("azure_logs")],
186
+ Annotated[OutputKinesis, Tag("kinesis")],
187
+ Annotated[OutputHoneycomb, Tag("honeycomb")],
188
+ Annotated[OutputAzureEventhub, Tag("azure_eventhub")],
189
+ Annotated[OutputGoogleChronicle, Tag("google_chronicle")],
190
+ Annotated[OutputGoogleCloudStorage, Tag("google_cloud_storage")],
191
+ Annotated[OutputGoogleCloudLogging, Tag("google_cloud_logging")],
192
+ Annotated[OutputGooglePubsub, Tag("google_pubsub")],
193
+ Annotated[OutputExabeam, Tag("exabeam")],
194
+ Annotated[OutputKafka, Tag("kafka")],
195
+ Annotated[OutputConfluentCloud, Tag("confluent_cloud")],
196
+ Annotated[OutputMsk, Tag("msk")],
197
+ Annotated[OutputElastic, Tag("elastic")],
198
+ Annotated[OutputElasticCloud, Tag("elastic_cloud")],
199
+ Annotated[OutputNewrelic, Tag("newrelic")],
200
+ Annotated[OutputNewrelicEvents, Tag("newrelic_events")],
201
+ Annotated[OutputInfluxdb, Tag("influxdb")],
202
+ Annotated[OutputCloudwatch, Tag("cloudwatch")],
203
+ Annotated[OutputMinio, Tag("minio")],
204
+ Annotated[OutputStatsd, Tag("statsd")],
205
+ Annotated[OutputStatsdExt, Tag("statsd_ext")],
206
+ Annotated[OutputGraphite, Tag("graphite")],
207
+ Annotated[OutputRouter, Tag("router")],
208
+ Annotated[OutputSns, Tag("sns")],
209
+ Annotated[OutputSqs, Tag("sqs")],
210
+ Annotated[OutputSnmp, Tag("snmp")],
211
+ Annotated[OutputSumoLogic, Tag("sumo_logic")],
212
+ Annotated[OutputDatadog, Tag("datadog")],
213
+ Annotated[OutputGrafanaCloud, Tag("grafana_cloud")],
214
+ Annotated[OutputLoki, Tag("loki")],
215
+ Annotated[OutputPrometheus, Tag("prometheus")],
216
+ Annotated[OutputRing, Tag("ring")],
217
+ Annotated[OutputOpenTelemetry, Tag("open_telemetry")],
218
+ Annotated[OutputServiceNow, Tag("service_now")],
219
+ Annotated[OutputDataset, Tag("dataset")],
220
+ Annotated[OutputCriblTCP, Tag("cribl_tcp")],
221
+ Annotated[OutputCriblHTTP, Tag("cribl_http")],
222
+ Annotated[OutputHumioHec, Tag("humio_hec")],
223
+ Annotated[OutputCrowdstrikeNextGenSiem, Tag("crowdstrike_next_gen_siem")],
224
+ Annotated[OutputDlS3, Tag("dl_s3")],
225
+ Annotated[OutputSecurityLake, Tag("security_lake")],
226
+ Annotated[OutputCriblLake, Tag("cribl_lake")],
227
+ Annotated[OutputDiskSpool, Tag("disk_spool")],
228
+ Annotated[OutputClickHouse, Tag("click_house")],
229
+ Annotated[OutputXsiam, Tag("xsiam")],
230
+ Annotated[OutputNetflow, Tag("netflow")],
231
+ Annotated[OutputDynatraceHTTP, Tag("dynatrace_http")],
232
+ Annotated[OutputDynatraceOtlp, Tag("dynatrace_otlp")],
233
+ Annotated[OutputSentinelOneAiSiem, Tag("sentinel_one_ai_siem")],
234
+ Annotated[OutputChronicle, Tag("chronicle")],
235
+ Annotated[OutputDatabricks, Tag("databricks")],
236
+ Annotated[OutputMicrosoftFabric, Tag("microsoft_fabric")],
237
+ Annotated[OutputCloudflareR2, Tag("cloudflare_r2")],
225
238
  ],
226
- )
239
+ Discriminator(lambda m: get_discriminator(m, "type", "type")),
240
+ ]
@@ -1,9 +1,13 @@
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 models, 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 import field_serializer
10
+ from pydantic.functional_validators import PlainValidator
7
11
  from typing import List, Optional
8
12
  from typing_extensions import Annotated, NotRequired, TypedDict
9
13
 
@@ -12,70 +16,90 @@ class OutputAzureBlobType(str, Enum):
12
16
  AZURE_BLOB = "azure_blob"
13
17
 
14
18
 
15
- class OutputAzureBlobDataFormat(str, Enum):
19
+ class OutputAzureBlobDataFormat(str, Enum, metaclass=utils.OpenEnumMeta):
16
20
  r"""Format of the output data"""
17
21
 
22
+ # JSON
18
23
  JSON = "json"
24
+ # Raw
19
25
  RAW = "raw"
26
+ # Parquet
20
27
  PARQUET = "parquet"
21
28
 
22
29
 
23
- class OutputAzureBlobBackpressureBehavior(str, Enum):
30
+ class OutputAzureBlobBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
24
31
  r"""How to handle events when all receivers are exerting backpressure"""
25
32
 
33
+ # Block
26
34
  BLOCK = "block"
35
+ # Drop
27
36
  DROP = "drop"
28
37
 
29
38
 
30
- class OutputAzureBlobDiskSpaceProtection(str, Enum):
39
+ class OutputAzureBlobDiskSpaceProtection(str, Enum, metaclass=utils.OpenEnumMeta):
31
40
  r"""How to handle events when disk space is below the global 'Min free disk space' limit"""
32
41
 
42
+ # Block
33
43
  BLOCK = "block"
44
+ # Drop
34
45
  DROP = "drop"
35
46
 
36
47
 
37
- class OutputAzureBlobAuthenticationMethod(str, Enum):
48
+ class OutputAzureBlobAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
38
49
  MANUAL = "manual"
39
50
  SECRET = "secret"
40
51
  CLIENT_SECRET = "clientSecret"
41
52
  CLIENT_CERT = "clientCert"
42
53
 
43
54
 
44
- class BlobAccessTier(str, Enum):
55
+ class BlobAccessTier(str, Enum, metaclass=utils.OpenEnumMeta):
56
+ # Default account access tier
45
57
  INFERRED = "Inferred"
58
+ # Hot tier
46
59
  HOT = "Hot"
60
+ # Cool tier
47
61
  COOL = "Cool"
62
+ # Cold tier
48
63
  COLD = "Cold"
64
+ # Archive tier
49
65
  ARCHIVE = "Archive"
50
66
 
51
67
 
52
- class OutputAzureBlobCompression(str, Enum):
68
+ class OutputAzureBlobCompression(str, Enum, metaclass=utils.OpenEnumMeta):
53
69
  r"""Data compression format to apply to HTTP content before it is delivered"""
54
70
 
55
71
  NONE = "none"
56
72
  GZIP = "gzip"
57
73
 
58
74
 
59
- class OutputAzureBlobCompressionLevel(str, Enum):
75
+ class OutputAzureBlobCompressionLevel(str, Enum, metaclass=utils.OpenEnumMeta):
60
76
  r"""Compression level to apply before moving files to final destination"""
61
77
 
78
+ # Best Speed
62
79
  BEST_SPEED = "best_speed"
80
+ # Normal
63
81
  NORMAL = "normal"
82
+ # Best Compression
64
83
  BEST_COMPRESSION = "best_compression"
65
84
 
66
85
 
67
- class OutputAzureBlobParquetVersion(str, Enum):
86
+ class OutputAzureBlobParquetVersion(str, Enum, metaclass=utils.OpenEnumMeta):
68
87
  r"""Determines which data types are supported and how they are represented"""
69
88
 
89
+ # 1.0
70
90
  PARQUET_1_0 = "PARQUET_1_0"
91
+ # 2.4
71
92
  PARQUET_2_4 = "PARQUET_2_4"
93
+ # 2.6
72
94
  PARQUET_2_6 = "PARQUET_2_6"
73
95
 
74
96
 
75
- class OutputAzureBlobDataPageVersion(str, Enum):
97
+ class OutputAzureBlobDataPageVersion(str, Enum, metaclass=utils.OpenEnumMeta):
76
98
  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
99
 
100
+ # V1
78
101
  DATA_PAGE_V1 = "DATA_PAGE_V1"
102
+ # V2
79
103
  DATA_PAGE_V2 = "DATA_PAGE_V2"
80
104
 
81
105
 
@@ -152,6 +176,8 @@ class OutputAzureBlobTypedDict(TypedDict):
152
176
  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"""
153
177
  on_disk_full_backpressure: NotRequired[OutputAzureBlobDiskSpaceProtection]
154
178
  r"""How to handle events when disk space is below the global 'Min free disk space' limit"""
179
+ force_close_on_shutdown: NotRequired[bool]
180
+ r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss."""
155
181
  auth_type: NotRequired[OutputAzureBlobAuthenticationMethod]
156
182
  storage_class: NotRequired[BlobAccessTier]
157
183
  description: NotRequired[str]
@@ -161,6 +187,8 @@ class OutputAzureBlobTypedDict(TypedDict):
161
187
  r"""Compression level to apply before moving files to final destination"""
162
188
  automatic_schema: NotRequired[bool]
163
189
  r"""Automatically calculate the schema based on the events of each Parquet file generated"""
190
+ parquet_schema: NotRequired[str]
191
+ r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas"""
164
192
  parquet_version: NotRequired[OutputAzureBlobParquetVersion]
165
193
  r"""Determines which data types are supported and how they are represented"""
166
194
  parquet_data_page_version: NotRequired[OutputAzureBlobDataPageVersion]
@@ -181,6 +209,8 @@ class OutputAzureBlobTypedDict(TypedDict):
181
209
  r"""Parquet tools can use the checksum of a Parquet page to verify data integrity"""
182
210
  empty_dir_cleanup_sec: NotRequired[float]
183
211
  r"""How frequently, in seconds, to clean up empty directories"""
212
+ directory_batch_size: NotRequired[float]
213
+ r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory."""
184
214
  deadletter_path: NotRequired[str]
185
215
  r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded"""
186
216
  max_retry_num: NotRequired[float]
@@ -261,7 +291,11 @@ class OutputAzureBlob(BaseModel):
261
291
  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
292
 
263
293
  format_: Annotated[
264
- Optional[OutputAzureBlobDataFormat], pydantic.Field(alias="format")
294
+ Annotated[
295
+ Optional[OutputAzureBlobDataFormat],
296
+ PlainValidator(validate_open_enum(False)),
297
+ ],
298
+ pydantic.Field(alias="format"),
265
299
  ] = OutputAzureBlobDataFormat.JSON
266
300
  r"""Format of the output data"""
267
301
 
@@ -304,7 +338,10 @@ class OutputAzureBlob(BaseModel):
304
338
  r"""Buffer size used to write to a file"""
305
339
 
306
340
  on_backpressure: Annotated[
307
- Optional[OutputAzureBlobBackpressureBehavior],
341
+ Annotated[
342
+ Optional[OutputAzureBlobBackpressureBehavior],
343
+ PlainValidator(validate_open_enum(False)),
344
+ ],
308
345
  pydantic.Field(alias="onBackpressure"),
309
346
  ] = OutputAzureBlobBackpressureBehavior.BLOCK
310
347
  r"""How to handle events when all receivers are exerting backpressure"""
@@ -315,26 +352,44 @@ class OutputAzureBlob(BaseModel):
315
352
  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
353
 
317
354
  on_disk_full_backpressure: Annotated[
318
- Optional[OutputAzureBlobDiskSpaceProtection],
355
+ Annotated[
356
+ Optional[OutputAzureBlobDiskSpaceProtection],
357
+ PlainValidator(validate_open_enum(False)),
358
+ ],
319
359
  pydantic.Field(alias="onDiskFullBackpressure"),
320
360
  ] = OutputAzureBlobDiskSpaceProtection.BLOCK
321
361
  r"""How to handle events when disk space is below the global 'Min free disk space' limit"""
322
362
 
363
+ force_close_on_shutdown: Annotated[
364
+ Optional[bool], pydantic.Field(alias="forceCloseOnShutdown")
365
+ ] = False
366
+ r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss."""
367
+
323
368
  auth_type: Annotated[
324
- Optional[OutputAzureBlobAuthenticationMethod], pydantic.Field(alias="authType")
369
+ Annotated[
370
+ Optional[OutputAzureBlobAuthenticationMethod],
371
+ PlainValidator(validate_open_enum(False)),
372
+ ],
373
+ pydantic.Field(alias="authType"),
325
374
  ] = OutputAzureBlobAuthenticationMethod.MANUAL
326
375
 
327
376
  storage_class: Annotated[
328
- Optional[BlobAccessTier], pydantic.Field(alias="storageClass")
377
+ Annotated[Optional[BlobAccessTier], PlainValidator(validate_open_enum(False))],
378
+ pydantic.Field(alias="storageClass"),
329
379
  ] = BlobAccessTier.INFERRED
330
380
 
331
381
  description: Optional[str] = None
332
382
 
333
- compress: Optional[OutputAzureBlobCompression] = OutputAzureBlobCompression.GZIP
383
+ compress: Annotated[
384
+ Optional[OutputAzureBlobCompression], PlainValidator(validate_open_enum(False))
385
+ ] = OutputAzureBlobCompression.GZIP
334
386
  r"""Data compression format to apply to HTTP content before it is delivered"""
335
387
 
336
388
  compression_level: Annotated[
337
- Optional[OutputAzureBlobCompressionLevel],
389
+ Annotated[
390
+ Optional[OutputAzureBlobCompressionLevel],
391
+ PlainValidator(validate_open_enum(False)),
392
+ ],
338
393
  pydantic.Field(alias="compressionLevel"),
339
394
  ] = OutputAzureBlobCompressionLevel.BEST_SPEED
340
395
  r"""Compression level to apply before moving files to final destination"""
@@ -344,13 +399,25 @@ class OutputAzureBlob(BaseModel):
344
399
  ] = False
345
400
  r"""Automatically calculate the schema based on the events of each Parquet file generated"""
346
401
 
402
+ parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = (
403
+ None
404
+ )
405
+ r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas"""
406
+
347
407
  parquet_version: Annotated[
348
- Optional[OutputAzureBlobParquetVersion], pydantic.Field(alias="parquetVersion")
408
+ Annotated[
409
+ Optional[OutputAzureBlobParquetVersion],
410
+ PlainValidator(validate_open_enum(False)),
411
+ ],
412
+ pydantic.Field(alias="parquetVersion"),
349
413
  ] = OutputAzureBlobParquetVersion.PARQUET_2_6
350
414
  r"""Determines which data types are supported and how they are represented"""
351
415
 
352
416
  parquet_data_page_version: Annotated[
353
- Optional[OutputAzureBlobDataPageVersion],
417
+ Annotated[
418
+ Optional[OutputAzureBlobDataPageVersion],
419
+ PlainValidator(validate_open_enum(False)),
420
+ ],
354
421
  pydantic.Field(alias="parquetDataPageVersion"),
355
422
  ] = OutputAzureBlobDataPageVersion.DATA_PAGE_V2
356
423
  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."""
@@ -396,6 +463,11 @@ class OutputAzureBlob(BaseModel):
396
463
  ] = 300
397
464
  r"""How frequently, in seconds, to clean up empty directories"""
398
465
 
466
+ directory_batch_size: Annotated[
467
+ Optional[float], pydantic.Field(alias="directoryBatchSize")
468
+ ] = 1000
469
+ r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory."""
470
+
399
471
  deadletter_path: Annotated[
400
472
  Optional[str], pydantic.Field(alias="deadletterPath")
401
473
  ] = "$CRIBL_HOME/state/outputs/dead-letter"
@@ -437,3 +509,84 @@ class OutputAzureBlob(BaseModel):
437
509
  r"""Select or create a stored text secret"""
438
510
 
439
511
  certificate: Optional[OutputAzureBlobCertificate] = None
512
+
513
+ @field_serializer("format_")
514
+ def serialize_format_(self, value):
515
+ if isinstance(value, str):
516
+ try:
517
+ return models.OutputAzureBlobDataFormat(value)
518
+ except ValueError:
519
+ return value
520
+ return value
521
+
522
+ @field_serializer("on_backpressure")
523
+ def serialize_on_backpressure(self, value):
524
+ if isinstance(value, str):
525
+ try:
526
+ return models.OutputAzureBlobBackpressureBehavior(value)
527
+ except ValueError:
528
+ return value
529
+ return value
530
+
531
+ @field_serializer("on_disk_full_backpressure")
532
+ def serialize_on_disk_full_backpressure(self, value):
533
+ if isinstance(value, str):
534
+ try:
535
+ return models.OutputAzureBlobDiskSpaceProtection(value)
536
+ except ValueError:
537
+ return value
538
+ return value
539
+
540
+ @field_serializer("auth_type")
541
+ def serialize_auth_type(self, value):
542
+ if isinstance(value, str):
543
+ try:
544
+ return models.OutputAzureBlobAuthenticationMethod(value)
545
+ except ValueError:
546
+ return value
547
+ return value
548
+
549
+ @field_serializer("storage_class")
550
+ def serialize_storage_class(self, value):
551
+ if isinstance(value, str):
552
+ try:
553
+ return models.BlobAccessTier(value)
554
+ except ValueError:
555
+ return value
556
+ return value
557
+
558
+ @field_serializer("compress")
559
+ def serialize_compress(self, value):
560
+ if isinstance(value, str):
561
+ try:
562
+ return models.OutputAzureBlobCompression(value)
563
+ except ValueError:
564
+ return value
565
+ return value
566
+
567
+ @field_serializer("compression_level")
568
+ def serialize_compression_level(self, value):
569
+ if isinstance(value, str):
570
+ try:
571
+ return models.OutputAzureBlobCompressionLevel(value)
572
+ except ValueError:
573
+ return value
574
+ return value
575
+
576
+ @field_serializer("parquet_version")
577
+ def serialize_parquet_version(self, value):
578
+ if isinstance(value, str):
579
+ try:
580
+ return models.OutputAzureBlobParquetVersion(value)
581
+ except ValueError:
582
+ return value
583
+ return value
584
+
585
+ @field_serializer("parquet_data_page_version")
586
+ def serialize_parquet_data_page_version(self, value):
587
+ if isinstance(value, str):
588
+ try:
589
+ return models.OutputAzureBlobDataPageVersion(value)
590
+ except ValueError:
591
+ return value
592
+ return value