cribl-control-plane 0.0.13__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 (197) hide show
  1. cribl_control_plane/__init__.py +17 -0
  2. cribl_control_plane/_hooks/__init__.py +5 -0
  3. cribl_control_plane/_hooks/clientcredentials.py +211 -0
  4. cribl_control_plane/_hooks/registration.py +13 -0
  5. cribl_control_plane/_hooks/sdkhooks.py +81 -0
  6. cribl_control_plane/_hooks/types.py +112 -0
  7. cribl_control_plane/_version.py +15 -0
  8. cribl_control_plane/auth_sdk.py +184 -0
  9. cribl_control_plane/basesdk.py +358 -0
  10. cribl_control_plane/errors/__init__.py +60 -0
  11. cribl_control_plane/errors/apierror.py +38 -0
  12. cribl_control_plane/errors/criblcontrolplaneerror.py +26 -0
  13. cribl_control_plane/errors/error.py +24 -0
  14. cribl_control_plane/errors/healthstatus_error.py +38 -0
  15. cribl_control_plane/errors/no_response_error.py +13 -0
  16. cribl_control_plane/errors/responsevalidationerror.py +25 -0
  17. cribl_control_plane/health.py +166 -0
  18. cribl_control_plane/httpclient.py +126 -0
  19. cribl_control_plane/models/__init__.py +7305 -0
  20. cribl_control_plane/models/addhectokenrequest.py +34 -0
  21. cribl_control_plane/models/authtoken.py +13 -0
  22. cribl_control_plane/models/createinputhectokenbyidop.py +45 -0
  23. cribl_control_plane/models/createinputop.py +24 -0
  24. cribl_control_plane/models/createoutputop.py +24 -0
  25. cribl_control_plane/models/createoutputtestbyidop.py +46 -0
  26. cribl_control_plane/models/criblevent.py +14 -0
  27. cribl_control_plane/models/deleteinputbyidop.py +37 -0
  28. cribl_control_plane/models/deleteoutputbyidop.py +37 -0
  29. cribl_control_plane/models/deleteoutputpqbyidop.py +36 -0
  30. cribl_control_plane/models/getinputbyidop.py +37 -0
  31. cribl_control_plane/models/getoutputbyidop.py +37 -0
  32. cribl_control_plane/models/getoutputpqbyidop.py +36 -0
  33. cribl_control_plane/models/getoutputsamplesbyidop.py +37 -0
  34. cribl_control_plane/models/healthstatus.py +36 -0
  35. cribl_control_plane/models/input.py +199 -0
  36. cribl_control_plane/models/inputappscope.py +448 -0
  37. cribl_control_plane/models/inputazureblob.py +308 -0
  38. cribl_control_plane/models/inputcollection.py +208 -0
  39. cribl_control_plane/models/inputconfluentcloud.py +585 -0
  40. cribl_control_plane/models/inputcribl.py +165 -0
  41. cribl_control_plane/models/inputcriblhttp.py +341 -0
  42. cribl_control_plane/models/inputcribllakehttp.py +342 -0
  43. cribl_control_plane/models/inputcriblmetrics.py +175 -0
  44. cribl_control_plane/models/inputcribltcp.py +299 -0
  45. cribl_control_plane/models/inputcrowdstrike.py +410 -0
  46. cribl_control_plane/models/inputdatadogagent.py +364 -0
  47. cribl_control_plane/models/inputdatagen.py +180 -0
  48. cribl_control_plane/models/inputedgeprometheus.py +551 -0
  49. cribl_control_plane/models/inputelastic.py +494 -0
  50. cribl_control_plane/models/inputeventhub.py +360 -0
  51. cribl_control_plane/models/inputexec.py +213 -0
  52. cribl_control_plane/models/inputfile.py +259 -0
  53. cribl_control_plane/models/inputfirehose.py +341 -0
  54. cribl_control_plane/models/inputgooglepubsub.py +247 -0
  55. cribl_control_plane/models/inputgrafana_union.py +1247 -0
  56. cribl_control_plane/models/inputhttp.py +403 -0
  57. cribl_control_plane/models/inputhttpraw.py +407 -0
  58. cribl_control_plane/models/inputjournalfiles.py +208 -0
  59. cribl_control_plane/models/inputkafka.py +581 -0
  60. cribl_control_plane/models/inputkinesis.py +363 -0
  61. cribl_control_plane/models/inputkubeevents.py +182 -0
  62. cribl_control_plane/models/inputkubelogs.py +256 -0
  63. cribl_control_plane/models/inputkubemetrics.py +233 -0
  64. cribl_control_plane/models/inputloki.py +468 -0
  65. cribl_control_plane/models/inputmetrics.py +290 -0
  66. cribl_control_plane/models/inputmodeldriventelemetry.py +274 -0
  67. cribl_control_plane/models/inputmsk.py +654 -0
  68. cribl_control_plane/models/inputnetflow.py +224 -0
  69. cribl_control_plane/models/inputoffice365mgmt.py +384 -0
  70. cribl_control_plane/models/inputoffice365msgtrace.py +449 -0
  71. cribl_control_plane/models/inputoffice365service.py +377 -0
  72. cribl_control_plane/models/inputopentelemetry.py +516 -0
  73. cribl_control_plane/models/inputprometheus.py +464 -0
  74. cribl_control_plane/models/inputprometheusrw.py +470 -0
  75. cribl_control_plane/models/inputrawudp.py +207 -0
  76. cribl_control_plane/models/inputs3.py +416 -0
  77. cribl_control_plane/models/inputs3inventory.py +440 -0
  78. cribl_control_plane/models/inputsecuritylake.py +425 -0
  79. cribl_control_plane/models/inputsnmp.py +274 -0
  80. cribl_control_plane/models/inputsplunk.py +387 -0
  81. cribl_control_plane/models/inputsplunkhec.py +478 -0
  82. cribl_control_plane/models/inputsplunksearch.py +537 -0
  83. cribl_control_plane/models/inputsqs.py +320 -0
  84. cribl_control_plane/models/inputsyslog_union.py +759 -0
  85. cribl_control_plane/models/inputsystemmetrics.py +533 -0
  86. cribl_control_plane/models/inputsystemstate.py +417 -0
  87. cribl_control_plane/models/inputtcp.py +359 -0
  88. cribl_control_plane/models/inputtcpjson.py +334 -0
  89. cribl_control_plane/models/inputwef.py +498 -0
  90. cribl_control_plane/models/inputwindowsmetrics.py +457 -0
  91. cribl_control_plane/models/inputwineventlogs.py +222 -0
  92. cribl_control_plane/models/inputwiz.py +334 -0
  93. cribl_control_plane/models/inputzscalerhec.py +439 -0
  94. cribl_control_plane/models/listinputop.py +24 -0
  95. cribl_control_plane/models/listoutputop.py +24 -0
  96. cribl_control_plane/models/logininfo.py +16 -0
  97. cribl_control_plane/models/output.py +229 -0
  98. cribl_control_plane/models/outputazureblob.py +471 -0
  99. cribl_control_plane/models/outputazuredataexplorer.py +660 -0
  100. cribl_control_plane/models/outputazureeventhub.py +321 -0
  101. cribl_control_plane/models/outputazurelogs.py +386 -0
  102. cribl_control_plane/models/outputclickhouse.py +650 -0
  103. cribl_control_plane/models/outputcloudwatch.py +273 -0
  104. cribl_control_plane/models/outputconfluentcloud.py +591 -0
  105. cribl_control_plane/models/outputcriblhttp.py +494 -0
  106. cribl_control_plane/models/outputcribllake.py +396 -0
  107. cribl_control_plane/models/outputcribltcp.py +387 -0
  108. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +410 -0
  109. cribl_control_plane/models/outputdatadog.py +472 -0
  110. cribl_control_plane/models/outputdataset.py +437 -0
  111. cribl_control_plane/models/outputdefault.py +55 -0
  112. cribl_control_plane/models/outputdevnull.py +50 -0
  113. cribl_control_plane/models/outputdiskspool.py +89 -0
  114. cribl_control_plane/models/outputdls3.py +560 -0
  115. cribl_control_plane/models/outputdynatracehttp.py +454 -0
  116. cribl_control_plane/models/outputdynatraceotlp.py +486 -0
  117. cribl_control_plane/models/outputelastic.py +494 -0
  118. cribl_control_plane/models/outputelasticcloud.py +407 -0
  119. cribl_control_plane/models/outputexabeam.py +297 -0
  120. cribl_control_plane/models/outputfilesystem.py +357 -0
  121. cribl_control_plane/models/outputgooglechronicle.py +486 -0
  122. cribl_control_plane/models/outputgooglecloudlogging.py +557 -0
  123. cribl_control_plane/models/outputgooglecloudstorage.py +499 -0
  124. cribl_control_plane/models/outputgooglepubsub.py +274 -0
  125. cribl_control_plane/models/outputgrafanacloud_union.py +1024 -0
  126. cribl_control_plane/models/outputgraphite.py +225 -0
  127. cribl_control_plane/models/outputhoneycomb.py +369 -0
  128. cribl_control_plane/models/outputhumiohec.py +389 -0
  129. cribl_control_plane/models/outputinfluxdb.py +523 -0
  130. cribl_control_plane/models/outputkafka.py +581 -0
  131. cribl_control_plane/models/outputkinesis.py +312 -0
  132. cribl_control_plane/models/outputloki.py +425 -0
  133. cribl_control_plane/models/outputminio.py +512 -0
  134. cribl_control_plane/models/outputmsk.py +654 -0
  135. cribl_control_plane/models/outputnetflow.py +80 -0
  136. cribl_control_plane/models/outputnewrelic.py +424 -0
  137. cribl_control_plane/models/outputnewrelicevents.py +401 -0
  138. cribl_control_plane/models/outputopentelemetry.py +669 -0
  139. cribl_control_plane/models/outputprometheus.py +485 -0
  140. cribl_control_plane/models/outputring.py +121 -0
  141. cribl_control_plane/models/outputrouter.py +83 -0
  142. cribl_control_plane/models/outputs3.py +556 -0
  143. cribl_control_plane/models/outputsamplesresponse.py +14 -0
  144. cribl_control_plane/models/outputsecuritylake.py +505 -0
  145. cribl_control_plane/models/outputsentinel.py +488 -0
  146. cribl_control_plane/models/outputsentineloneaisiem.py +505 -0
  147. cribl_control_plane/models/outputservicenow.py +543 -0
  148. cribl_control_plane/models/outputsignalfx.py +369 -0
  149. cribl_control_plane/models/outputsnmp.py +80 -0
  150. cribl_control_plane/models/outputsns.py +274 -0
  151. cribl_control_plane/models/outputsplunk.py +383 -0
  152. cribl_control_plane/models/outputsplunkhec.py +434 -0
  153. cribl_control_plane/models/outputsplunklb.py +558 -0
  154. cribl_control_plane/models/outputsqs.py +328 -0
  155. cribl_control_plane/models/outputstatsd.py +224 -0
  156. cribl_control_plane/models/outputstatsdext.py +225 -0
  157. cribl_control_plane/models/outputsumologic.py +378 -0
  158. cribl_control_plane/models/outputsyslog.py +415 -0
  159. cribl_control_plane/models/outputtcpjson.py +413 -0
  160. cribl_control_plane/models/outputtestrequest.py +15 -0
  161. cribl_control_plane/models/outputtestresponse.py +29 -0
  162. cribl_control_plane/models/outputwavefront.py +369 -0
  163. cribl_control_plane/models/outputwebhook.py +689 -0
  164. cribl_control_plane/models/outputxsiam.py +415 -0
  165. cribl_control_plane/models/schemeclientoauth.py +24 -0
  166. cribl_control_plane/models/security.py +36 -0
  167. cribl_control_plane/models/updatehectokenrequest.py +31 -0
  168. cribl_control_plane/models/updateinputbyidop.py +44 -0
  169. cribl_control_plane/models/updateinputhectokenbyidandtokenop.py +52 -0
  170. cribl_control_plane/models/updateoutputbyidop.py +44 -0
  171. cribl_control_plane/outputs.py +1615 -0
  172. cribl_control_plane/py.typed +1 -0
  173. cribl_control_plane/sdk.py +164 -0
  174. cribl_control_plane/sdkconfiguration.py +36 -0
  175. cribl_control_plane/sources.py +1355 -0
  176. cribl_control_plane/types/__init__.py +21 -0
  177. cribl_control_plane/types/basemodel.py +39 -0
  178. cribl_control_plane/utils/__init__.py +187 -0
  179. cribl_control_plane/utils/annotations.py +55 -0
  180. cribl_control_plane/utils/datetimes.py +23 -0
  181. cribl_control_plane/utils/enums.py +74 -0
  182. cribl_control_plane/utils/eventstreaming.py +238 -0
  183. cribl_control_plane/utils/forms.py +223 -0
  184. cribl_control_plane/utils/headers.py +136 -0
  185. cribl_control_plane/utils/logger.py +27 -0
  186. cribl_control_plane/utils/metadata.py +118 -0
  187. cribl_control_plane/utils/queryparams.py +205 -0
  188. cribl_control_plane/utils/requestbodies.py +66 -0
  189. cribl_control_plane/utils/retries.py +217 -0
  190. cribl_control_plane/utils/security.py +207 -0
  191. cribl_control_plane/utils/serializers.py +249 -0
  192. cribl_control_plane/utils/unmarshal_json_response.py +24 -0
  193. cribl_control_plane/utils/url.py +155 -0
  194. cribl_control_plane/utils/values.py +137 -0
  195. cribl_control_plane-0.0.13.dist-info/METADATA +489 -0
  196. cribl_control_plane-0.0.13.dist-info/RECORD +197 -0
  197. cribl_control_plane-0.0.13.dist-info/WHEEL +4 -0
@@ -0,0 +1,199 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .inputappscope import InputAppscope, InputAppscopeTypedDict
5
+ from .inputazureblob import InputAzureBlob, InputAzureBlobTypedDict
6
+ from .inputcollection import InputCollection, InputCollectionTypedDict
7
+ from .inputconfluentcloud import InputConfluentCloud, InputConfluentCloudTypedDict
8
+ from .inputcribl import InputCribl, InputCriblTypedDict
9
+ from .inputcriblhttp import InputCriblHTTP, InputCriblHTTPTypedDict
10
+ from .inputcribllakehttp import InputCriblLakeHTTP, InputCriblLakeHTTPTypedDict
11
+ from .inputcriblmetrics import InputCriblmetrics, InputCriblmetricsTypedDict
12
+ from .inputcribltcp import InputCriblTCP, InputCriblTCPTypedDict
13
+ from .inputcrowdstrike import InputCrowdstrike, InputCrowdstrikeTypedDict
14
+ from .inputdatadogagent import InputDatadogAgent, InputDatadogAgentTypedDict
15
+ from .inputdatagen import InputDatagen, InputDatagenTypedDict
16
+ from .inputedgeprometheus import InputEdgePrometheus, InputEdgePrometheusTypedDict
17
+ from .inputelastic import InputElastic, InputElasticTypedDict
18
+ from .inputeventhub import InputEventhub, InputEventhubTypedDict
19
+ from .inputexec import InputExec, InputExecTypedDict
20
+ from .inputfile import InputFile, InputFileTypedDict
21
+ from .inputfirehose import InputFirehose, InputFirehoseTypedDict
22
+ from .inputgooglepubsub import InputGooglePubsub, InputGooglePubsubTypedDict
23
+ from .inputgrafana_union import InputGrafanaUnion, InputGrafanaUnionTypedDict
24
+ from .inputhttp import InputHTTP, InputHTTPTypedDict
25
+ from .inputhttpraw import InputHTTPRaw, InputHTTPRawTypedDict
26
+ from .inputjournalfiles import InputJournalFiles, InputJournalFilesTypedDict
27
+ from .inputkafka import InputKafka, InputKafkaTypedDict
28
+ from .inputkinesis import InputKinesis, InputKinesisTypedDict
29
+ from .inputkubeevents import InputKubeEvents, InputKubeEventsTypedDict
30
+ from .inputkubelogs import InputKubeLogs, InputKubeLogsTypedDict
31
+ from .inputkubemetrics import InputKubeMetrics, InputKubeMetricsTypedDict
32
+ from .inputloki import InputLoki, InputLokiTypedDict
33
+ from .inputmetrics import InputMetrics, InputMetricsTypedDict
34
+ from .inputmodeldriventelemetry import (
35
+ InputModelDrivenTelemetry,
36
+ InputModelDrivenTelemetryTypedDict,
37
+ )
38
+ from .inputmsk import InputMsk, InputMskTypedDict
39
+ from .inputnetflow import InputNetflow, InputNetflowTypedDict
40
+ from .inputoffice365mgmt import InputOffice365Mgmt, InputOffice365MgmtTypedDict
41
+ from .inputoffice365msgtrace import (
42
+ InputOffice365MsgTrace,
43
+ InputOffice365MsgTraceTypedDict,
44
+ )
45
+ from .inputoffice365service import InputOffice365Service, InputOffice365ServiceTypedDict
46
+ from .inputopentelemetry import InputOpenTelemetry, InputOpenTelemetryTypedDict
47
+ from .inputprometheus import InputPrometheus, InputPrometheusTypedDict
48
+ from .inputprometheusrw import InputPrometheusRw, InputPrometheusRwTypedDict
49
+ from .inputrawudp import InputRawUDP, InputRawUDPTypedDict
50
+ from .inputs3 import InputS3, InputS3TypedDict
51
+ from .inputs3inventory import InputS3Inventory, InputS3InventoryTypedDict
52
+ from .inputsecuritylake import InputSecurityLake, InputSecurityLakeTypedDict
53
+ from .inputsnmp import InputSnmp, InputSnmpTypedDict
54
+ from .inputsplunk import InputSplunk, InputSplunkTypedDict
55
+ from .inputsplunkhec import InputSplunkHec, InputSplunkHecTypedDict
56
+ from .inputsplunksearch import InputSplunkSearch, InputSplunkSearchTypedDict
57
+ from .inputsqs import InputSqs, InputSqsTypedDict
58
+ from .inputsyslog_union import InputSyslogUnion, InputSyslogUnionTypedDict
59
+ from .inputsystemmetrics import InputSystemMetrics, InputSystemMetricsTypedDict
60
+ from .inputsystemstate import InputSystemState, InputSystemStateTypedDict
61
+ from .inputtcp import InputTCP, InputTCPTypedDict
62
+ from .inputtcpjson import InputTcpjson, InputTcpjsonTypedDict
63
+ from .inputwef import InputWef, InputWefTypedDict
64
+ from .inputwindowsmetrics import InputWindowsMetrics, InputWindowsMetricsTypedDict
65
+ from .inputwineventlogs import InputWinEventLogs, InputWinEventLogsTypedDict
66
+ from .inputwiz import InputWiz, InputWizTypedDict
67
+ from .inputzscalerhec import InputZscalerHec, InputZscalerHecTypedDict
68
+ from typing import Union
69
+ from typing_extensions import TypeAliasType
70
+
71
+
72
+ InputTypedDict = TypeAliasType(
73
+ "InputTypedDict",
74
+ Union[
75
+ InputCriblTypedDict,
76
+ InputKubeEventsTypedDict,
77
+ InputDatagenTypedDict,
78
+ InputCriblmetricsTypedDict,
79
+ InputKubeMetricsTypedDict,
80
+ InputSystemStateTypedDict,
81
+ InputCollectionTypedDict,
82
+ InputSystemMetricsTypedDict,
83
+ InputModelDrivenTelemetryTypedDict,
84
+ InputWindowsMetricsTypedDict,
85
+ InputJournalFilesTypedDict,
86
+ InputRawUDPTypedDict,
87
+ InputWinEventLogsTypedDict,
88
+ InputExecTypedDict,
89
+ InputKubeLogsTypedDict,
90
+ InputMetricsTypedDict,
91
+ InputSnmpTypedDict,
92
+ InputCriblTCPTypedDict,
93
+ InputNetflowTypedDict,
94
+ InputGooglePubsubTypedDict,
95
+ InputTcpjsonTypedDict,
96
+ InputOffice365ServiceTypedDict,
97
+ InputTCPTypedDict,
98
+ InputWizTypedDict,
99
+ InputFirehoseTypedDict,
100
+ InputCriblHTTPTypedDict,
101
+ InputCriblLakeHTTPTypedDict,
102
+ InputDatadogAgentTypedDict,
103
+ InputOffice365MgmtTypedDict,
104
+ InputFileTypedDict,
105
+ InputSplunkTypedDict,
106
+ InputWefTypedDict,
107
+ InputAppscopeTypedDict,
108
+ InputHTTPRawTypedDict,
109
+ InputHTTPTypedDict,
110
+ InputAzureBlobTypedDict,
111
+ InputZscalerHecTypedDict,
112
+ InputSqsTypedDict,
113
+ InputConfluentCloudTypedDict,
114
+ InputKinesisTypedDict,
115
+ InputEventhubTypedDict,
116
+ InputKafkaTypedDict,
117
+ InputElasticTypedDict,
118
+ InputSplunkHecTypedDict,
119
+ InputOffice365MsgTraceTypedDict,
120
+ InputLokiTypedDict,
121
+ InputPrometheusRwTypedDict,
122
+ InputCrowdstrikeTypedDict,
123
+ InputPrometheusTypedDict,
124
+ InputEdgePrometheusTypedDict,
125
+ InputS3TypedDict,
126
+ InputSecurityLakeTypedDict,
127
+ InputOpenTelemetryTypedDict,
128
+ InputS3InventoryTypedDict,
129
+ InputMskTypedDict,
130
+ InputSplunkSearchTypedDict,
131
+ InputSyslogUnionTypedDict,
132
+ InputGrafanaUnionTypedDict,
133
+ ],
134
+ )
135
+
136
+
137
+ Input = TypeAliasType(
138
+ "Input",
139
+ Union[
140
+ InputCribl,
141
+ InputKubeEvents,
142
+ InputDatagen,
143
+ InputCriblmetrics,
144
+ InputKubeMetrics,
145
+ InputSystemState,
146
+ InputCollection,
147
+ InputSystemMetrics,
148
+ InputModelDrivenTelemetry,
149
+ InputWindowsMetrics,
150
+ InputJournalFiles,
151
+ InputRawUDP,
152
+ InputWinEventLogs,
153
+ InputExec,
154
+ InputKubeLogs,
155
+ InputMetrics,
156
+ InputSnmp,
157
+ InputCriblTCP,
158
+ InputNetflow,
159
+ InputGooglePubsub,
160
+ InputTcpjson,
161
+ InputOffice365Service,
162
+ InputTCP,
163
+ InputWiz,
164
+ InputFirehose,
165
+ InputCriblHTTP,
166
+ InputCriblLakeHTTP,
167
+ InputDatadogAgent,
168
+ InputOffice365Mgmt,
169
+ InputFile,
170
+ InputSplunk,
171
+ InputWef,
172
+ InputAppscope,
173
+ InputHTTPRaw,
174
+ InputHTTP,
175
+ InputAzureBlob,
176
+ InputZscalerHec,
177
+ InputSqs,
178
+ InputConfluentCloud,
179
+ InputKinesis,
180
+ InputEventhub,
181
+ InputKafka,
182
+ InputElastic,
183
+ InputSplunkHec,
184
+ InputOffice365MsgTrace,
185
+ InputLoki,
186
+ InputPrometheusRw,
187
+ InputCrowdstrike,
188
+ InputPrometheus,
189
+ InputEdgePrometheus,
190
+ InputS3,
191
+ InputSecurityLake,
192
+ InputOpenTelemetry,
193
+ InputS3Inventory,
194
+ InputMsk,
195
+ InputSplunkSearch,
196
+ InputSyslogUnion,
197
+ InputGrafanaUnion,
198
+ ],
199
+ )
@@ -0,0 +1,448 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from cribl_control_plane import utils
5
+ from cribl_control_plane.types import BaseModel
6
+ from cribl_control_plane.utils import validate_open_enum
7
+ from enum import Enum
8
+ import pydantic
9
+ from pydantic.functional_validators import PlainValidator
10
+ from typing import Any, List, Optional
11
+ from typing_extensions import Annotated, NotRequired, TypedDict
12
+
13
+
14
+ class InputAppscopeType(str, Enum, metaclass=utils.OpenEnumMeta):
15
+ APPSCOPE = "appscope"
16
+
17
+
18
+ class InputAppscopeConnectionTypedDict(TypedDict):
19
+ output: str
20
+ pipeline: NotRequired[str]
21
+
22
+
23
+ class InputAppscopeConnection(BaseModel):
24
+ output: str
25
+
26
+ pipeline: Optional[str] = None
27
+
28
+
29
+ class InputAppscopeMode(str, Enum, metaclass=utils.OpenEnumMeta):
30
+ r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
31
+
32
+ SMART = "smart"
33
+ ALWAYS = "always"
34
+
35
+
36
+ class InputAppscopeCompression(str, Enum, metaclass=utils.OpenEnumMeta):
37
+ r"""Codec to use to compress the persisted data"""
38
+
39
+ NONE = "none"
40
+ GZIP = "gzip"
41
+
42
+
43
+ class InputAppscopePqTypedDict(TypedDict):
44
+ mode: NotRequired[InputAppscopeMode]
45
+ r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
46
+ max_buffer_size: NotRequired[float]
47
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
48
+ commit_frequency: NotRequired[float]
49
+ r"""The number of events to send downstream before committing that Stream has read them"""
50
+ max_file_size: NotRequired[str]
51
+ r"""The maximum size to store in each queue file before closing and optionally compressing. Enter a numeral with units of KB, MB, etc."""
52
+ max_size: NotRequired[str]
53
+ r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc."""
54
+ path: NotRequired[str]
55
+ r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
56
+ compress: NotRequired[InputAppscopeCompression]
57
+ r"""Codec to use to compress the persisted data"""
58
+
59
+
60
+ class InputAppscopePq(BaseModel):
61
+ mode: Annotated[
62
+ Optional[InputAppscopeMode], PlainValidator(validate_open_enum(False))
63
+ ] = InputAppscopeMode.ALWAYS
64
+ r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
65
+
66
+ max_buffer_size: Annotated[
67
+ Optional[float], pydantic.Field(alias="maxBufferSize")
68
+ ] = 1000
69
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
70
+
71
+ commit_frequency: Annotated[
72
+ Optional[float], pydantic.Field(alias="commitFrequency")
73
+ ] = 42
74
+ r"""The number of events to send downstream before committing that Stream has read them"""
75
+
76
+ max_file_size: Annotated[Optional[str], pydantic.Field(alias="maxFileSize")] = (
77
+ "1 MB"
78
+ )
79
+ r"""The maximum size to store in each queue file before closing and optionally compressing. Enter a numeral with units of KB, MB, etc."""
80
+
81
+ max_size: Annotated[Optional[str], pydantic.Field(alias="maxSize")] = "5GB"
82
+ r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc."""
83
+
84
+ path: Optional[str] = "$CRIBL_HOME/state/queues"
85
+ r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
86
+
87
+ compress: Annotated[
88
+ Optional[InputAppscopeCompression], PlainValidator(validate_open_enum(False))
89
+ ] = InputAppscopeCompression.NONE
90
+ r"""Codec to use to compress the persisted data"""
91
+
92
+
93
+ class InputAppscopeMetadatumTypedDict(TypedDict):
94
+ name: str
95
+ value: str
96
+ r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
97
+
98
+
99
+ class InputAppscopeMetadatum(BaseModel):
100
+ name: str
101
+
102
+ value: str
103
+ r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
104
+
105
+
106
+ class AllowTypedDict(TypedDict):
107
+ procname: str
108
+ r"""Specify the name of a process or family of processes."""
109
+ config: str
110
+ r"""Choose a config to apply to processes that match the process name and/or argument."""
111
+ arg: NotRequired[str]
112
+ r"""Specify a string to substring-match against process command-line."""
113
+
114
+
115
+ class Allow(BaseModel):
116
+ procname: str
117
+ r"""Specify the name of a process or family of processes."""
118
+
119
+ config: str
120
+ r"""Choose a config to apply to processes that match the process name and/or argument."""
121
+
122
+ arg: Optional[str] = None
123
+ r"""Specify a string to substring-match against process command-line."""
124
+
125
+
126
+ class InputAppscopeFilterTypedDict(TypedDict):
127
+ allow: NotRequired[List[AllowTypedDict]]
128
+ r"""Specify processes that AppScope should be loaded into, and the config to use."""
129
+ transport_url: NotRequired[str]
130
+ r"""To override the UNIX domain socket or address/port specified in General Settings (while leaving Authentication settings as is), enter a URL."""
131
+
132
+
133
+ class InputAppscopeFilter(BaseModel):
134
+ allow: Optional[List[Allow]] = None
135
+ r"""Specify processes that AppScope should be loaded into, and the config to use."""
136
+
137
+ transport_url: Annotated[Optional[str], pydantic.Field(alias="transportURL")] = None
138
+ r"""To override the UNIX domain socket or address/port specified in General Settings (while leaving Authentication settings as is), enter a URL."""
139
+
140
+
141
+ class InputAppscopeDataCompressionFormat(str, Enum, metaclass=utils.OpenEnumMeta):
142
+ NONE = "none"
143
+ GZIP = "gzip"
144
+
145
+
146
+ class InputAppscopePersistenceTypedDict(TypedDict):
147
+ enable: NotRequired[bool]
148
+ r"""Spool events and metrics on disk for Cribl Edge and Search"""
149
+ time_window: NotRequired[str]
150
+ r"""Time span for each file bucket"""
151
+ max_data_size: NotRequired[str]
152
+ r"""Maximum disk space allowed to be consumed (examples: 420MB, 4GB). When limit is reached, older data will be deleted."""
153
+ max_data_time: NotRequired[str]
154
+ r"""Maximum amount of time to retain data (examples: 2h, 4d). When limit is reached, older data will be deleted."""
155
+ compress: NotRequired[InputAppscopeDataCompressionFormat]
156
+ dest_path: NotRequired[str]
157
+ r"""Path to use to write metrics. Defaults to $CRIBL_HOME/state/appscope"""
158
+
159
+
160
+ class InputAppscopePersistence(BaseModel):
161
+ enable: Optional[bool] = False
162
+ r"""Spool events and metrics on disk for Cribl Edge and Search"""
163
+
164
+ time_window: Annotated[Optional[str], pydantic.Field(alias="timeWindow")] = "10m"
165
+ r"""Time span for each file bucket"""
166
+
167
+ max_data_size: Annotated[Optional[str], pydantic.Field(alias="maxDataSize")] = "1GB"
168
+ r"""Maximum disk space allowed to be consumed (examples: 420MB, 4GB). When limit is reached, older data will be deleted."""
169
+
170
+ max_data_time: Annotated[Optional[str], pydantic.Field(alias="maxDataTime")] = "24h"
171
+ r"""Maximum amount of time to retain data (examples: 2h, 4d). When limit is reached, older data will be deleted."""
172
+
173
+ compress: Annotated[
174
+ Optional[InputAppscopeDataCompressionFormat],
175
+ PlainValidator(validate_open_enum(False)),
176
+ ] = InputAppscopeDataCompressionFormat.GZIP
177
+
178
+ dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = (
179
+ "$CRIBL_HOME/state/appscope"
180
+ )
181
+ r"""Path to use to write metrics. Defaults to $CRIBL_HOME/state/appscope"""
182
+
183
+
184
+ class InputAppscopeAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
185
+ r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
186
+
187
+ MANUAL = "manual"
188
+ SECRET = "secret"
189
+
190
+
191
+ class InputAppscopeMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
192
+ TL_SV1 = "TLSv1"
193
+ TL_SV1_1 = "TLSv1.1"
194
+ TL_SV1_2 = "TLSv1.2"
195
+ TL_SV1_3 = "TLSv1.3"
196
+
197
+
198
+ class InputAppscopeMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
199
+ TL_SV1 = "TLSv1"
200
+ TL_SV1_1 = "TLSv1.1"
201
+ TL_SV1_2 = "TLSv1.2"
202
+ TL_SV1_3 = "TLSv1.3"
203
+
204
+
205
+ class InputAppscopeTLSSettingsServerSideTypedDict(TypedDict):
206
+ disabled: NotRequired[bool]
207
+ certificate_name: NotRequired[str]
208
+ r"""The name of the predefined certificate"""
209
+ priv_key_path: NotRequired[str]
210
+ r"""Path on server containing the private key to use. PEM format. Can reference $ENV_VARS."""
211
+ passphrase: NotRequired[str]
212
+ r"""Passphrase to use to decrypt private key"""
213
+ cert_path: NotRequired[str]
214
+ r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
215
+ ca_path: NotRequired[str]
216
+ r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
217
+ request_cert: NotRequired[bool]
218
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
219
+ reject_unauthorized: NotRequired[Any]
220
+ common_name_regex: NotRequired[Any]
221
+ min_version: NotRequired[InputAppscopeMinimumTLSVersion]
222
+ max_version: NotRequired[InputAppscopeMaximumTLSVersion]
223
+
224
+
225
+ class InputAppscopeTLSSettingsServerSide(BaseModel):
226
+ disabled: Optional[bool] = True
227
+
228
+ certificate_name: Annotated[
229
+ Optional[str], pydantic.Field(alias="certificateName")
230
+ ] = None
231
+ r"""The name of the predefined certificate"""
232
+
233
+ priv_key_path: Annotated[Optional[str], pydantic.Field(alias="privKeyPath")] = None
234
+ r"""Path on server containing the private key to use. PEM format. Can reference $ENV_VARS."""
235
+
236
+ passphrase: Optional[str] = None
237
+ r"""Passphrase to use to decrypt private key"""
238
+
239
+ cert_path: Annotated[Optional[str], pydantic.Field(alias="certPath")] = None
240
+ r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
241
+
242
+ ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
243
+ r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
244
+
245
+ request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
246
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
247
+
248
+ reject_unauthorized: Annotated[
249
+ Optional[Any], pydantic.Field(alias="rejectUnauthorized")
250
+ ] = None
251
+
252
+ common_name_regex: Annotated[
253
+ Optional[Any], pydantic.Field(alias="commonNameRegex")
254
+ ] = None
255
+
256
+ min_version: Annotated[
257
+ Annotated[
258
+ Optional[InputAppscopeMinimumTLSVersion],
259
+ PlainValidator(validate_open_enum(False)),
260
+ ],
261
+ pydantic.Field(alias="minVersion"),
262
+ ] = None
263
+
264
+ max_version: Annotated[
265
+ Annotated[
266
+ Optional[InputAppscopeMaximumTLSVersion],
267
+ PlainValidator(validate_open_enum(False)),
268
+ ],
269
+ pydantic.Field(alias="maxVersion"),
270
+ ] = None
271
+
272
+
273
+ class InputAppscopeTypedDict(TypedDict):
274
+ id: str
275
+ r"""Unique ID for this input"""
276
+ type: InputAppscopeType
277
+ disabled: NotRequired[bool]
278
+ pipeline: NotRequired[str]
279
+ r"""Pipeline to process data from this Source before sending it through the Routes"""
280
+ send_to_routes: NotRequired[bool]
281
+ r"""Select whether to send data to Routes, or directly to Destinations."""
282
+ environment: NotRequired[str]
283
+ r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere."""
284
+ pq_enabled: NotRequired[bool]
285
+ r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers)."""
286
+ streamtags: NotRequired[List[str]]
287
+ r"""Tags for filtering and grouping in @{product}"""
288
+ connections: NotRequired[List[InputAppscopeConnectionTypedDict]]
289
+ r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack"""
290
+ pq: NotRequired[InputAppscopePqTypedDict]
291
+ ip_whitelist_regex: NotRequired[str]
292
+ r"""Regex matching IP addresses that are allowed to establish a connection"""
293
+ max_active_cxn: NotRequired[float]
294
+ r"""Maximum number of active connections allowed per Worker Process. Use 0 for unlimited."""
295
+ socket_idle_timeout: NotRequired[float]
296
+ r"""How long @{product} should wait before assuming that an inactive socket has timed out. After this time, the connection will be closed. Leave at 0 for no inactive socket monitoring."""
297
+ socket_ending_max_wait: NotRequired[float]
298
+ r"""How long the server will wait after initiating a closure for a client to close its end of the connection. If the client doesn't close the connection within this time, the server will forcefully terminate the socket to prevent resource leaks and ensure efficient connection cleanup and system stability. Leave at 0 for no inactive socket monitoring."""
299
+ socket_max_lifespan: NotRequired[float]
300
+ r"""The maximum duration a socket can remain open, even if active. This helps manage resources and mitigate issues caused by TCP pinning. Set to 0 to disable."""
301
+ enable_proxy_header: NotRequired[bool]
302
+ r"""Enable if the connection is proxied by a device that supports proxy protocol v1 or v2"""
303
+ metadata: NotRequired[List[InputAppscopeMetadatumTypedDict]]
304
+ r"""Fields to add to events from this input"""
305
+ breaker_rulesets: NotRequired[List[str]]
306
+ r"""A list of event-breaking rulesets that will be applied, in order, to the input data stream"""
307
+ stale_channel_flush_ms: NotRequired[float]
308
+ r"""How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines"""
309
+ enable_unix_path: NotRequired[bool]
310
+ r"""Toggle to Yes to specify a file-backed UNIX domain socket connection, instead of a network host and port."""
311
+ filter_: NotRequired[InputAppscopeFilterTypedDict]
312
+ persistence: NotRequired[InputAppscopePersistenceTypedDict]
313
+ auth_type: NotRequired[InputAppscopeAuthenticationMethod]
314
+ r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
315
+ description: NotRequired[str]
316
+ host: NotRequired[str]
317
+ r"""Address to bind on. Defaults to 0.0.0.0 (all addresses)."""
318
+ port: NotRequired[float]
319
+ r"""Port to listen on"""
320
+ tls: NotRequired[InputAppscopeTLSSettingsServerSideTypedDict]
321
+ unix_socket_path: NotRequired[str]
322
+ r"""Path to the UNIX domain socket to listen on."""
323
+ unix_socket_perms: NotRequired[str]
324
+ r"""Permissions to set for socket e.g., 777. If empty, falls back to the runtime user's default permissions."""
325
+ auth_token: NotRequired[str]
326
+ r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted."""
327
+ text_secret: NotRequired[str]
328
+ r"""Select or create a stored text secret"""
329
+
330
+
331
+ class InputAppscope(BaseModel):
332
+ id: str
333
+ r"""Unique ID for this input"""
334
+
335
+ type: Annotated[InputAppscopeType, PlainValidator(validate_open_enum(False))]
336
+
337
+ disabled: Optional[bool] = False
338
+
339
+ pipeline: Optional[str] = None
340
+ r"""Pipeline to process data from this Source before sending it through the Routes"""
341
+
342
+ send_to_routes: Annotated[Optional[bool], pydantic.Field(alias="sendToRoutes")] = (
343
+ True
344
+ )
345
+ r"""Select whether to send data to Routes, or directly to Destinations."""
346
+
347
+ environment: Optional[str] = None
348
+ r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere."""
349
+
350
+ pq_enabled: Annotated[Optional[bool], pydantic.Field(alias="pqEnabled")] = False
351
+ r"""Use a disk queue to minimize data loss when connected services block. See [Cribl Docs](https://docs.cribl.io/stream/persistent-queues) for PQ defaults (Cribl-managed Cloud Workers) and configuration options (on-prem and hybrid Workers)."""
352
+
353
+ streamtags: Optional[List[str]] = None
354
+ r"""Tags for filtering and grouping in @{product}"""
355
+
356
+ connections: Optional[List[InputAppscopeConnection]] = None
357
+ r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack"""
358
+
359
+ pq: Optional[InputAppscopePq] = None
360
+
361
+ ip_whitelist_regex: Annotated[
362
+ Optional[str], pydantic.Field(alias="ipWhitelistRegex")
363
+ ] = "/.*/"
364
+ r"""Regex matching IP addresses that are allowed to establish a connection"""
365
+
366
+ max_active_cxn: Annotated[Optional[float], pydantic.Field(alias="maxActiveCxn")] = (
367
+ 1000
368
+ )
369
+ r"""Maximum number of active connections allowed per Worker Process. Use 0 for unlimited."""
370
+
371
+ socket_idle_timeout: Annotated[
372
+ Optional[float], pydantic.Field(alias="socketIdleTimeout")
373
+ ] = 0
374
+ r"""How long @{product} should wait before assuming that an inactive socket has timed out. After this time, the connection will be closed. Leave at 0 for no inactive socket monitoring."""
375
+
376
+ socket_ending_max_wait: Annotated[
377
+ Optional[float], pydantic.Field(alias="socketEndingMaxWait")
378
+ ] = 30
379
+ r"""How long the server will wait after initiating a closure for a client to close its end of the connection. If the client doesn't close the connection within this time, the server will forcefully terminate the socket to prevent resource leaks and ensure efficient connection cleanup and system stability. Leave at 0 for no inactive socket monitoring."""
380
+
381
+ socket_max_lifespan: Annotated[
382
+ Optional[float], pydantic.Field(alias="socketMaxLifespan")
383
+ ] = 0
384
+ r"""The maximum duration a socket can remain open, even if active. This helps manage resources and mitigate issues caused by TCP pinning. Set to 0 to disable."""
385
+
386
+ enable_proxy_header: Annotated[
387
+ Optional[bool], pydantic.Field(alias="enableProxyHeader")
388
+ ] = False
389
+ r"""Enable if the connection is proxied by a device that supports proxy protocol v1 or v2"""
390
+
391
+ metadata: Optional[List[InputAppscopeMetadatum]] = None
392
+ r"""Fields to add to events from this input"""
393
+
394
+ breaker_rulesets: Annotated[
395
+ Optional[List[str]], pydantic.Field(alias="breakerRulesets")
396
+ ] = None
397
+ r"""A list of event-breaking rulesets that will be applied, in order, to the input data stream"""
398
+
399
+ stale_channel_flush_ms: Annotated[
400
+ Optional[float], pydantic.Field(alias="staleChannelFlushMs")
401
+ ] = 10000
402
+ r"""How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines"""
403
+
404
+ enable_unix_path: Annotated[
405
+ Optional[bool], pydantic.Field(alias="enableUnixPath")
406
+ ] = False
407
+ r"""Toggle to Yes to specify a file-backed UNIX domain socket connection, instead of a network host and port."""
408
+
409
+ filter_: Annotated[
410
+ Optional[InputAppscopeFilter], pydantic.Field(alias="filter")
411
+ ] = None
412
+
413
+ persistence: Optional[InputAppscopePersistence] = None
414
+
415
+ auth_type: Annotated[
416
+ Annotated[
417
+ Optional[InputAppscopeAuthenticationMethod],
418
+ PlainValidator(validate_open_enum(False)),
419
+ ],
420
+ pydantic.Field(alias="authType"),
421
+ ] = InputAppscopeAuthenticationMethod.MANUAL
422
+ r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
423
+
424
+ description: Optional[str] = None
425
+
426
+ host: Optional[str] = None
427
+ r"""Address to bind on. Defaults to 0.0.0.0 (all addresses)."""
428
+
429
+ port: Optional[float] = None
430
+ r"""Port to listen on"""
431
+
432
+ tls: Optional[InputAppscopeTLSSettingsServerSide] = None
433
+
434
+ unix_socket_path: Annotated[
435
+ Optional[str], pydantic.Field(alias="unixSocketPath")
436
+ ] = "$CRIBL_HOME/state/appscope.sock"
437
+ r"""Path to the UNIX domain socket to listen on."""
438
+
439
+ unix_socket_perms: Annotated[
440
+ Optional[str], pydantic.Field(alias="unixSocketPerms")
441
+ ] = None
442
+ r"""Permissions to set for socket e.g., 777. If empty, falls back to the runtime user's default permissions."""
443
+
444
+ auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = ""
445
+ r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted."""
446
+
447
+ text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None
448
+ r"""Select or create a stored text secret"""