cribl-control-plane 0.0.36__py3-none-any.whl → 0.0.37a1__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.
- cribl_control_plane/_version.py +3 -3
- cribl_control_plane/commits.py +4 -4
- cribl_control_plane/models/__init__.py +189 -487
- cribl_control_plane/models/gitrevertparams.py +3 -3
- cribl_control_plane/models/input.py +76 -77
- cribl_control_plane/models/inputgrafana.py +67 -678
- cribl_control_plane/models/inputsyslog.py +37 -406
- cribl_control_plane/models/output.py +77 -75
- cribl_control_plane/models/outputgrafanacloud.py +69 -565
- cribl_control_plane/packs.py +0 -174
- {cribl_control_plane-0.0.36.dist-info → cribl_control_plane-0.0.37a1.dist-info}/METADATA +2 -3
- {cribl_control_plane-0.0.36.dist-info → cribl_control_plane-0.0.37a1.dist-info}/RECORD +13 -15
- cribl_control_plane/models/getpacksbyidop.py +0 -37
- cribl_control_plane/models/inputwizwebhook.py +0 -393
- {cribl_control_plane-0.0.36.dist-info → cribl_control_plane-0.0.37a1.dist-info}/WHEEL +0 -0
|
@@ -4,41 +4,41 @@ from __future__ import annotations
|
|
|
4
4
|
from cribl_control_plane.types import BaseModel
|
|
5
5
|
from enum import Enum
|
|
6
6
|
import pydantic
|
|
7
|
-
from typing import Any, List, Optional
|
|
8
|
-
from typing_extensions import Annotated, NotRequired,
|
|
7
|
+
from typing import Any, List, Optional
|
|
8
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
class
|
|
11
|
+
class InputGrafanaType(str, Enum):
|
|
12
12
|
GRAFANA = "grafana"
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
class
|
|
15
|
+
class InputGrafanaConnectionTypedDict(TypedDict):
|
|
16
16
|
output: str
|
|
17
17
|
pipeline: NotRequired[str]
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
class
|
|
20
|
+
class InputGrafanaConnection(BaseModel):
|
|
21
21
|
output: str
|
|
22
22
|
|
|
23
23
|
pipeline: Optional[str] = None
|
|
24
24
|
|
|
25
25
|
|
|
26
|
-
class
|
|
26
|
+
class InputGrafanaMode(str, Enum):
|
|
27
27
|
r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
|
|
28
28
|
|
|
29
29
|
SMART = "smart"
|
|
30
30
|
ALWAYS = "always"
|
|
31
31
|
|
|
32
32
|
|
|
33
|
-
class
|
|
33
|
+
class InputGrafanaCompression(str, Enum):
|
|
34
34
|
r"""Codec to use to compress the persisted data"""
|
|
35
35
|
|
|
36
36
|
NONE = "none"
|
|
37
37
|
GZIP = "gzip"
|
|
38
38
|
|
|
39
39
|
|
|
40
|
-
class
|
|
41
|
-
mode: NotRequired[
|
|
40
|
+
class InputGrafanaPqTypedDict(TypedDict):
|
|
41
|
+
mode: NotRequired[InputGrafanaMode]
|
|
42
42
|
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."""
|
|
43
43
|
max_buffer_size: NotRequired[float]
|
|
44
44
|
r"""The maximum number of events to hold in memory before writing the events to disk"""
|
|
@@ -50,12 +50,12 @@ class InputGrafanaPq2TypedDict(TypedDict):
|
|
|
50
50
|
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."""
|
|
51
51
|
path: NotRequired[str]
|
|
52
52
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
|
|
53
|
-
compress: NotRequired[
|
|
53
|
+
compress: NotRequired[InputGrafanaCompression]
|
|
54
54
|
r"""Codec to use to compress the persisted data"""
|
|
55
55
|
|
|
56
56
|
|
|
57
|
-
class
|
|
58
|
-
mode: Optional[
|
|
57
|
+
class InputGrafanaPq(BaseModel):
|
|
58
|
+
mode: Optional[InputGrafanaMode] = InputGrafanaMode.ALWAYS
|
|
59
59
|
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."""
|
|
60
60
|
|
|
61
61
|
max_buffer_size: Annotated[
|
|
@@ -79,25 +79,25 @@ class InputGrafanaPq2(BaseModel):
|
|
|
79
79
|
path: Optional[str] = "$CRIBL_HOME/state/queues"
|
|
80
80
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
|
|
81
81
|
|
|
82
|
-
compress: Optional[
|
|
82
|
+
compress: Optional[InputGrafanaCompression] = InputGrafanaCompression.NONE
|
|
83
83
|
r"""Codec to use to compress the persisted data"""
|
|
84
84
|
|
|
85
85
|
|
|
86
|
-
class
|
|
86
|
+
class InputGrafanaMinimumTLSVersion(str, Enum):
|
|
87
87
|
TL_SV1 = "TLSv1"
|
|
88
88
|
TL_SV1_1 = "TLSv1.1"
|
|
89
89
|
TL_SV1_2 = "TLSv1.2"
|
|
90
90
|
TL_SV1_3 = "TLSv1.3"
|
|
91
91
|
|
|
92
92
|
|
|
93
|
-
class
|
|
93
|
+
class InputGrafanaMaximumTLSVersion(str, Enum):
|
|
94
94
|
TL_SV1 = "TLSv1"
|
|
95
95
|
TL_SV1_1 = "TLSv1.1"
|
|
96
96
|
TL_SV1_2 = "TLSv1.2"
|
|
97
97
|
TL_SV1_3 = "TLSv1.3"
|
|
98
98
|
|
|
99
99
|
|
|
100
|
-
class
|
|
100
|
+
class InputGrafanaTLSSettingsServerSideTypedDict(TypedDict):
|
|
101
101
|
disabled: NotRequired[bool]
|
|
102
102
|
certificate_name: NotRequired[str]
|
|
103
103
|
r"""The name of the predefined certificate"""
|
|
@@ -113,11 +113,11 @@ class InputGrafanaTLSSettingsServerSide2TypedDict(TypedDict):
|
|
|
113
113
|
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
114
114
|
reject_unauthorized: NotRequired[Any]
|
|
115
115
|
common_name_regex: NotRequired[Any]
|
|
116
|
-
min_version: NotRequired[
|
|
117
|
-
max_version: NotRequired[
|
|
116
|
+
min_version: NotRequired[InputGrafanaMinimumTLSVersion]
|
|
117
|
+
max_version: NotRequired[InputGrafanaMaximumTLSVersion]
|
|
118
118
|
|
|
119
119
|
|
|
120
|
-
class
|
|
120
|
+
class InputGrafanaTLSSettingsServerSide(BaseModel):
|
|
121
121
|
disabled: Optional[bool] = True
|
|
122
122
|
|
|
123
123
|
certificate_name: Annotated[
|
|
@@ -149,15 +149,15 @@ class InputGrafanaTLSSettingsServerSide2(BaseModel):
|
|
|
149
149
|
] = None
|
|
150
150
|
|
|
151
151
|
min_version: Annotated[
|
|
152
|
-
Optional[
|
|
152
|
+
Optional[InputGrafanaMinimumTLSVersion], pydantic.Field(alias="minVersion")
|
|
153
153
|
] = None
|
|
154
154
|
|
|
155
155
|
max_version: Annotated[
|
|
156
|
-
Optional[
|
|
156
|
+
Optional[InputGrafanaMaximumTLSVersion], pydantic.Field(alias="maxVersion")
|
|
157
157
|
] = None
|
|
158
158
|
|
|
159
159
|
|
|
160
|
-
class
|
|
160
|
+
class InputGrafanaPrometheusAuthAuthenticationType(str, Enum):
|
|
161
161
|
r"""Remote Write authentication type"""
|
|
162
162
|
|
|
163
163
|
NONE = "none"
|
|
@@ -168,14 +168,14 @@ class InputGrafanaPrometheusAuthAuthenticationType2(str, Enum):
|
|
|
168
168
|
OAUTH = "oauth"
|
|
169
169
|
|
|
170
170
|
|
|
171
|
-
class
|
|
171
|
+
class PrometheusAuthOauthParamTypedDict(TypedDict):
|
|
172
172
|
name: str
|
|
173
173
|
r"""OAuth parameter name"""
|
|
174
174
|
value: str
|
|
175
175
|
r"""OAuth parameter value"""
|
|
176
176
|
|
|
177
177
|
|
|
178
|
-
class
|
|
178
|
+
class PrometheusAuthOauthParam(BaseModel):
|
|
179
179
|
name: str
|
|
180
180
|
r"""OAuth parameter name"""
|
|
181
181
|
|
|
@@ -183,14 +183,14 @@ class PrometheusAuthOauthParam2(BaseModel):
|
|
|
183
183
|
r"""OAuth parameter value"""
|
|
184
184
|
|
|
185
185
|
|
|
186
|
-
class
|
|
186
|
+
class PrometheusAuthOauthHeaderTypedDict(TypedDict):
|
|
187
187
|
name: str
|
|
188
188
|
r"""OAuth header name"""
|
|
189
189
|
value: str
|
|
190
190
|
r"""OAuth header value"""
|
|
191
191
|
|
|
192
192
|
|
|
193
|
-
class
|
|
193
|
+
class PrometheusAuthOauthHeader(BaseModel):
|
|
194
194
|
name: str
|
|
195
195
|
r"""OAuth header name"""
|
|
196
196
|
|
|
@@ -198,8 +198,8 @@ class PrometheusAuthOauthHeader2(BaseModel):
|
|
|
198
198
|
r"""OAuth header value"""
|
|
199
199
|
|
|
200
200
|
|
|
201
|
-
class
|
|
202
|
-
auth_type: NotRequired[
|
|
201
|
+
class InputGrafanaPrometheusAuthTypedDict(TypedDict):
|
|
202
|
+
auth_type: NotRequired[InputGrafanaPrometheusAuthAuthenticationType]
|
|
203
203
|
r"""Remote Write authentication type"""
|
|
204
204
|
username: NotRequired[str]
|
|
205
205
|
password: NotRequired[str]
|
|
@@ -221,17 +221,17 @@ class InputGrafanaPrometheusAuth2TypedDict(TypedDict):
|
|
|
221
221
|
r"""JavaScript expression to compute the Authorization header value to pass in requests. The value `${token}` is used to reference the token obtained from authentication, e.g.: `Bearer ${token}`."""
|
|
222
222
|
token_timeout_secs: NotRequired[float]
|
|
223
223
|
r"""How often the OAuth token should be refreshed."""
|
|
224
|
-
oauth_params: NotRequired[List[
|
|
224
|
+
oauth_params: NotRequired[List[PrometheusAuthOauthParamTypedDict]]
|
|
225
225
|
r"""Additional parameters to send in the OAuth login request. @{product} will combine the secret with these parameters, and will send the URL-encoded result in a POST request to the endpoint specified in the 'Login URL'. We'll automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request."""
|
|
226
|
-
oauth_headers: NotRequired[List[
|
|
226
|
+
oauth_headers: NotRequired[List[PrometheusAuthOauthHeaderTypedDict]]
|
|
227
227
|
r"""Additional headers to send in the OAuth login request. @{product} will automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request."""
|
|
228
228
|
|
|
229
229
|
|
|
230
|
-
class
|
|
230
|
+
class InputGrafanaPrometheusAuth(BaseModel):
|
|
231
231
|
auth_type: Annotated[
|
|
232
|
-
Optional[
|
|
232
|
+
Optional[InputGrafanaPrometheusAuthAuthenticationType],
|
|
233
233
|
pydantic.Field(alias="authType"),
|
|
234
|
-
] =
|
|
234
|
+
] = InputGrafanaPrometheusAuthAuthenticationType.NONE
|
|
235
235
|
r"""Remote Write authentication type"""
|
|
236
236
|
|
|
237
237
|
username: Optional[str] = None
|
|
@@ -276,17 +276,17 @@ class InputGrafanaPrometheusAuth2(BaseModel):
|
|
|
276
276
|
r"""How often the OAuth token should be refreshed."""
|
|
277
277
|
|
|
278
278
|
oauth_params: Annotated[
|
|
279
|
-
Optional[List[
|
|
279
|
+
Optional[List[PrometheusAuthOauthParam]], pydantic.Field(alias="oauthParams")
|
|
280
280
|
] = None
|
|
281
281
|
r"""Additional parameters to send in the OAuth login request. @{product} will combine the secret with these parameters, and will send the URL-encoded result in a POST request to the endpoint specified in the 'Login URL'. We'll automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request."""
|
|
282
282
|
|
|
283
283
|
oauth_headers: Annotated[
|
|
284
|
-
Optional[List[
|
|
284
|
+
Optional[List[PrometheusAuthOauthHeader]], pydantic.Field(alias="oauthHeaders")
|
|
285
285
|
] = None
|
|
286
286
|
r"""Additional headers to send in the OAuth login request. @{product} will automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request."""
|
|
287
287
|
|
|
288
288
|
|
|
289
|
-
class
|
|
289
|
+
class InputGrafanaLokiAuthAuthenticationType(str, Enum):
|
|
290
290
|
r"""Loki logs authentication type"""
|
|
291
291
|
|
|
292
292
|
NONE = "none"
|
|
@@ -297,14 +297,14 @@ class InputGrafanaLokiAuthAuthenticationType2(str, Enum):
|
|
|
297
297
|
OAUTH = "oauth"
|
|
298
298
|
|
|
299
299
|
|
|
300
|
-
class
|
|
300
|
+
class LokiAuthOauthParamTypedDict(TypedDict):
|
|
301
301
|
name: str
|
|
302
302
|
r"""OAuth parameter name"""
|
|
303
303
|
value: str
|
|
304
304
|
r"""OAuth parameter value"""
|
|
305
305
|
|
|
306
306
|
|
|
307
|
-
class
|
|
307
|
+
class LokiAuthOauthParam(BaseModel):
|
|
308
308
|
name: str
|
|
309
309
|
r"""OAuth parameter name"""
|
|
310
310
|
|
|
@@ -312,14 +312,14 @@ class LokiAuthOauthParam2(BaseModel):
|
|
|
312
312
|
r"""OAuth parameter value"""
|
|
313
313
|
|
|
314
314
|
|
|
315
|
-
class
|
|
315
|
+
class LokiAuthOauthHeaderTypedDict(TypedDict):
|
|
316
316
|
name: str
|
|
317
317
|
r"""OAuth header name"""
|
|
318
318
|
value: str
|
|
319
319
|
r"""OAuth header value"""
|
|
320
320
|
|
|
321
321
|
|
|
322
|
-
class
|
|
322
|
+
class LokiAuthOauthHeader(BaseModel):
|
|
323
323
|
name: str
|
|
324
324
|
r"""OAuth header name"""
|
|
325
325
|
|
|
@@ -327,8 +327,8 @@ class LokiAuthOauthHeader2(BaseModel):
|
|
|
327
327
|
r"""OAuth header value"""
|
|
328
328
|
|
|
329
329
|
|
|
330
|
-
class
|
|
331
|
-
auth_type: NotRequired[
|
|
330
|
+
class InputGrafanaLokiAuthTypedDict(TypedDict):
|
|
331
|
+
auth_type: NotRequired[InputGrafanaLokiAuthAuthenticationType]
|
|
332
332
|
r"""Loki logs authentication type"""
|
|
333
333
|
username: NotRequired[str]
|
|
334
334
|
password: NotRequired[str]
|
|
@@ -350,17 +350,17 @@ class InputGrafanaLokiAuth2TypedDict(TypedDict):
|
|
|
350
350
|
r"""JavaScript expression to compute the Authorization header value to pass in requests. The value `${token}` is used to reference the token obtained from authentication, e.g.: `Bearer ${token}`."""
|
|
351
351
|
token_timeout_secs: NotRequired[float]
|
|
352
352
|
r"""How often the OAuth token should be refreshed."""
|
|
353
|
-
oauth_params: NotRequired[List[
|
|
353
|
+
oauth_params: NotRequired[List[LokiAuthOauthParamTypedDict]]
|
|
354
354
|
r"""Additional parameters to send in the OAuth login request. @{product} will combine the secret with these parameters, and will send the URL-encoded result in a POST request to the endpoint specified in the 'Login URL'. We'll automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request."""
|
|
355
|
-
oauth_headers: NotRequired[List[
|
|
355
|
+
oauth_headers: NotRequired[List[LokiAuthOauthHeaderTypedDict]]
|
|
356
356
|
r"""Additional headers to send in the OAuth login request. @{product} will automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request."""
|
|
357
357
|
|
|
358
358
|
|
|
359
|
-
class
|
|
359
|
+
class InputGrafanaLokiAuth(BaseModel):
|
|
360
360
|
auth_type: Annotated[
|
|
361
|
-
Optional[
|
|
361
|
+
Optional[InputGrafanaLokiAuthAuthenticationType],
|
|
362
362
|
pydantic.Field(alias="authType"),
|
|
363
|
-
] =
|
|
363
|
+
] = InputGrafanaLokiAuthAuthenticationType.NONE
|
|
364
364
|
r"""Loki logs authentication type"""
|
|
365
365
|
|
|
366
366
|
username: Optional[str] = None
|
|
@@ -405,31 +405,31 @@ class InputGrafanaLokiAuth2(BaseModel):
|
|
|
405
405
|
r"""How often the OAuth token should be refreshed."""
|
|
406
406
|
|
|
407
407
|
oauth_params: Annotated[
|
|
408
|
-
Optional[List[
|
|
408
|
+
Optional[List[LokiAuthOauthParam]], pydantic.Field(alias="oauthParams")
|
|
409
409
|
] = None
|
|
410
410
|
r"""Additional parameters to send in the OAuth login request. @{product} will combine the secret with these parameters, and will send the URL-encoded result in a POST request to the endpoint specified in the 'Login URL'. We'll automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request."""
|
|
411
411
|
|
|
412
412
|
oauth_headers: Annotated[
|
|
413
|
-
Optional[List[
|
|
413
|
+
Optional[List[LokiAuthOauthHeader]], pydantic.Field(alias="oauthHeaders")
|
|
414
414
|
] = None
|
|
415
415
|
r"""Additional headers to send in the OAuth login request. @{product} will automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request."""
|
|
416
416
|
|
|
417
417
|
|
|
418
|
-
class
|
|
418
|
+
class InputGrafanaMetadatumTypedDict(TypedDict):
|
|
419
419
|
name: str
|
|
420
420
|
value: str
|
|
421
421
|
r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
|
|
422
422
|
|
|
423
423
|
|
|
424
|
-
class
|
|
424
|
+
class InputGrafanaMetadatum(BaseModel):
|
|
425
425
|
name: str
|
|
426
426
|
|
|
427
427
|
value: str
|
|
428
428
|
r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
|
|
429
429
|
|
|
430
430
|
|
|
431
|
-
class
|
|
432
|
-
type:
|
|
431
|
+
class InputGrafanaTypedDict(TypedDict):
|
|
432
|
+
type: InputGrafanaType
|
|
433
433
|
port: float
|
|
434
434
|
r"""Port to listen on"""
|
|
435
435
|
id: NotRequired[str]
|
|
@@ -445,12 +445,12 @@ class InputGrafanaGrafana2TypedDict(TypedDict):
|
|
|
445
445
|
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)."""
|
|
446
446
|
streamtags: NotRequired[List[str]]
|
|
447
447
|
r"""Tags for filtering and grouping in @{product}"""
|
|
448
|
-
connections: NotRequired[List[
|
|
448
|
+
connections: NotRequired[List[InputGrafanaConnectionTypedDict]]
|
|
449
449
|
r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack"""
|
|
450
|
-
pq: NotRequired[
|
|
450
|
+
pq: NotRequired[InputGrafanaPqTypedDict]
|
|
451
451
|
host: NotRequired[str]
|
|
452
452
|
r"""Address to bind on. Defaults to 0.0.0.0 (all addresses)."""
|
|
453
|
-
tls: NotRequired[
|
|
453
|
+
tls: NotRequired[InputGrafanaTLSSettingsServerSideTypedDict]
|
|
454
454
|
max_active_req: NotRequired[float]
|
|
455
455
|
r"""Maximum number of active requests allowed per Worker Process. Set to 0 for unlimited. Caution: Increasing the limit above the default value, or setting it to unlimited, may degrade performance and reduce throughput."""
|
|
456
456
|
max_requests_per_socket: NotRequired[int]
|
|
@@ -479,15 +479,15 @@ class InputGrafanaGrafana2TypedDict(TypedDict):
|
|
|
479
479
|
r"""Absolute path on which to listen for Loki logs requests. Defaults to /loki/api/v1/push, which will (in this example) expand as: 'http://<your‑upstream‑URL>:<your‑port>/loki/api/v1/push'. Either this field or 'Remote Write API endpoint' must be configured."""
|
|
480
480
|
extract_structured_metadata: NotRequired[bool]
|
|
481
481
|
r"""Extract structured metadata from the Loki 3.5.3+ format and place it in the __structuredMetadata field. When disabled, uses legacy Loki parsing for backward compatibility."""
|
|
482
|
-
prometheus_auth: NotRequired[
|
|
483
|
-
loki_auth: NotRequired[
|
|
484
|
-
metadata: NotRequired[List[
|
|
482
|
+
prometheus_auth: NotRequired[InputGrafanaPrometheusAuthTypedDict]
|
|
483
|
+
loki_auth: NotRequired[InputGrafanaLokiAuthTypedDict]
|
|
484
|
+
metadata: NotRequired[List[InputGrafanaMetadatumTypedDict]]
|
|
485
485
|
r"""Fields to add to events from this input"""
|
|
486
486
|
description: NotRequired[str]
|
|
487
487
|
|
|
488
488
|
|
|
489
|
-
class
|
|
490
|
-
type:
|
|
489
|
+
class InputGrafana(BaseModel):
|
|
490
|
+
type: InputGrafanaType
|
|
491
491
|
|
|
492
492
|
port: float
|
|
493
493
|
r"""Port to listen on"""
|
|
@@ -514,15 +514,15 @@ class InputGrafanaGrafana2(BaseModel):
|
|
|
514
514
|
streamtags: Optional[List[str]] = None
|
|
515
515
|
r"""Tags for filtering and grouping in @{product}"""
|
|
516
516
|
|
|
517
|
-
connections: Optional[List[
|
|
517
|
+
connections: Optional[List[InputGrafanaConnection]] = None
|
|
518
518
|
r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack"""
|
|
519
519
|
|
|
520
|
-
pq: Optional[
|
|
520
|
+
pq: Optional[InputGrafanaPq] = None
|
|
521
521
|
|
|
522
522
|
host: Optional[str] = "0.0.0.0"
|
|
523
523
|
r"""Address to bind on. Defaults to 0.0.0.0 (all addresses)."""
|
|
524
524
|
|
|
525
|
-
tls: Optional[
|
|
525
|
+
tls: Optional[InputGrafanaTLSSettingsServerSide] = None
|
|
526
526
|
|
|
527
527
|
max_active_req: Annotated[Optional[float], pydantic.Field(alias="maxActiveReq")] = (
|
|
528
528
|
256
|
|
@@ -595,625 +595,14 @@ class InputGrafanaGrafana2(BaseModel):
|
|
|
595
595
|
r"""Extract structured metadata from the Loki 3.5.3+ format and place it in the __structuredMetadata field. When disabled, uses legacy Loki parsing for backward compatibility."""
|
|
596
596
|
|
|
597
597
|
prometheus_auth: Annotated[
|
|
598
|
-
Optional[
|
|
598
|
+
Optional[InputGrafanaPrometheusAuth], pydantic.Field(alias="prometheusAuth")
|
|
599
599
|
] = None
|
|
600
600
|
|
|
601
601
|
loki_auth: Annotated[
|
|
602
|
-
Optional[
|
|
602
|
+
Optional[InputGrafanaLokiAuth], pydantic.Field(alias="lokiAuth")
|
|
603
603
|
] = None
|
|
604
604
|
|
|
605
|
-
metadata: Optional[List[
|
|
605
|
+
metadata: Optional[List[InputGrafanaMetadatum]] = None
|
|
606
606
|
r"""Fields to add to events from this input"""
|
|
607
607
|
|
|
608
608
|
description: Optional[str] = None
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
class InputGrafanaType1(str, Enum):
|
|
612
|
-
GRAFANA = "grafana"
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
class InputGrafanaConnection1TypedDict(TypedDict):
|
|
616
|
-
output: str
|
|
617
|
-
pipeline: NotRequired[str]
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
class InputGrafanaConnection1(BaseModel):
|
|
621
|
-
output: str
|
|
622
|
-
|
|
623
|
-
pipeline: Optional[str] = None
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
class InputGrafanaMode1(str, Enum):
|
|
627
|
-
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."""
|
|
628
|
-
|
|
629
|
-
SMART = "smart"
|
|
630
|
-
ALWAYS = "always"
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
class InputGrafanaCompression1(str, Enum):
|
|
634
|
-
r"""Codec to use to compress the persisted data"""
|
|
635
|
-
|
|
636
|
-
NONE = "none"
|
|
637
|
-
GZIP = "gzip"
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
class InputGrafanaPq1TypedDict(TypedDict):
|
|
641
|
-
mode: NotRequired[InputGrafanaMode1]
|
|
642
|
-
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."""
|
|
643
|
-
max_buffer_size: NotRequired[float]
|
|
644
|
-
r"""The maximum number of events to hold in memory before writing the events to disk"""
|
|
645
|
-
commit_frequency: NotRequired[float]
|
|
646
|
-
r"""The number of events to send downstream before committing that Stream has read them"""
|
|
647
|
-
max_file_size: NotRequired[str]
|
|
648
|
-
r"""The maximum size to store in each queue file before closing and optionally compressing. Enter a numeral with units of KB, MB, etc."""
|
|
649
|
-
max_size: NotRequired[str]
|
|
650
|
-
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."""
|
|
651
|
-
path: NotRequired[str]
|
|
652
|
-
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
|
|
653
|
-
compress: NotRequired[InputGrafanaCompression1]
|
|
654
|
-
r"""Codec to use to compress the persisted data"""
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
class InputGrafanaPq1(BaseModel):
|
|
658
|
-
mode: Optional[InputGrafanaMode1] = InputGrafanaMode1.ALWAYS
|
|
659
|
-
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."""
|
|
660
|
-
|
|
661
|
-
max_buffer_size: Annotated[
|
|
662
|
-
Optional[float], pydantic.Field(alias="maxBufferSize")
|
|
663
|
-
] = 1000
|
|
664
|
-
r"""The maximum number of events to hold in memory before writing the events to disk"""
|
|
665
|
-
|
|
666
|
-
commit_frequency: Annotated[
|
|
667
|
-
Optional[float], pydantic.Field(alias="commitFrequency")
|
|
668
|
-
] = 42
|
|
669
|
-
r"""The number of events to send downstream before committing that Stream has read them"""
|
|
670
|
-
|
|
671
|
-
max_file_size: Annotated[Optional[str], pydantic.Field(alias="maxFileSize")] = (
|
|
672
|
-
"1 MB"
|
|
673
|
-
)
|
|
674
|
-
r"""The maximum size to store in each queue file before closing and optionally compressing. Enter a numeral with units of KB, MB, etc."""
|
|
675
|
-
|
|
676
|
-
max_size: Annotated[Optional[str], pydantic.Field(alias="maxSize")] = "5GB"
|
|
677
|
-
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."""
|
|
678
|
-
|
|
679
|
-
path: Optional[str] = "$CRIBL_HOME/state/queues"
|
|
680
|
-
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
|
|
681
|
-
|
|
682
|
-
compress: Optional[InputGrafanaCompression1] = InputGrafanaCompression1.NONE
|
|
683
|
-
r"""Codec to use to compress the persisted data"""
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
class InputGrafanaMinimumTLSVersion1(str, Enum):
|
|
687
|
-
TL_SV1 = "TLSv1"
|
|
688
|
-
TL_SV1_1 = "TLSv1.1"
|
|
689
|
-
TL_SV1_2 = "TLSv1.2"
|
|
690
|
-
TL_SV1_3 = "TLSv1.3"
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
class InputGrafanaMaximumTLSVersion1(str, Enum):
|
|
694
|
-
TL_SV1 = "TLSv1"
|
|
695
|
-
TL_SV1_1 = "TLSv1.1"
|
|
696
|
-
TL_SV1_2 = "TLSv1.2"
|
|
697
|
-
TL_SV1_3 = "TLSv1.3"
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
class InputGrafanaTLSSettingsServerSide1TypedDict(TypedDict):
|
|
701
|
-
disabled: NotRequired[bool]
|
|
702
|
-
certificate_name: NotRequired[str]
|
|
703
|
-
r"""The name of the predefined certificate"""
|
|
704
|
-
priv_key_path: NotRequired[str]
|
|
705
|
-
r"""Path on server containing the private key to use. PEM format. Can reference $ENV_VARS."""
|
|
706
|
-
passphrase: NotRequired[str]
|
|
707
|
-
r"""Passphrase to use to decrypt private key"""
|
|
708
|
-
cert_path: NotRequired[str]
|
|
709
|
-
r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
710
|
-
ca_path: NotRequired[str]
|
|
711
|
-
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
712
|
-
request_cert: NotRequired[bool]
|
|
713
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
714
|
-
reject_unauthorized: NotRequired[Any]
|
|
715
|
-
common_name_regex: NotRequired[Any]
|
|
716
|
-
min_version: NotRequired[InputGrafanaMinimumTLSVersion1]
|
|
717
|
-
max_version: NotRequired[InputGrafanaMaximumTLSVersion1]
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
class InputGrafanaTLSSettingsServerSide1(BaseModel):
|
|
721
|
-
disabled: Optional[bool] = True
|
|
722
|
-
|
|
723
|
-
certificate_name: Annotated[
|
|
724
|
-
Optional[str], pydantic.Field(alias="certificateName")
|
|
725
|
-
] = None
|
|
726
|
-
r"""The name of the predefined certificate"""
|
|
727
|
-
|
|
728
|
-
priv_key_path: Annotated[Optional[str], pydantic.Field(alias="privKeyPath")] = None
|
|
729
|
-
r"""Path on server containing the private key to use. PEM format. Can reference $ENV_VARS."""
|
|
730
|
-
|
|
731
|
-
passphrase: Optional[str] = None
|
|
732
|
-
r"""Passphrase to use to decrypt private key"""
|
|
733
|
-
|
|
734
|
-
cert_path: Annotated[Optional[str], pydantic.Field(alias="certPath")] = None
|
|
735
|
-
r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
736
|
-
|
|
737
|
-
ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
|
|
738
|
-
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
739
|
-
|
|
740
|
-
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
741
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
742
|
-
|
|
743
|
-
reject_unauthorized: Annotated[
|
|
744
|
-
Optional[Any], pydantic.Field(alias="rejectUnauthorized")
|
|
745
|
-
] = None
|
|
746
|
-
|
|
747
|
-
common_name_regex: Annotated[
|
|
748
|
-
Optional[Any], pydantic.Field(alias="commonNameRegex")
|
|
749
|
-
] = None
|
|
750
|
-
|
|
751
|
-
min_version: Annotated[
|
|
752
|
-
Optional[InputGrafanaMinimumTLSVersion1], pydantic.Field(alias="minVersion")
|
|
753
|
-
] = None
|
|
754
|
-
|
|
755
|
-
max_version: Annotated[
|
|
756
|
-
Optional[InputGrafanaMaximumTLSVersion1], pydantic.Field(alias="maxVersion")
|
|
757
|
-
] = None
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
class InputGrafanaPrometheusAuthAuthenticationType1(str, Enum):
|
|
761
|
-
r"""Remote Write authentication type"""
|
|
762
|
-
|
|
763
|
-
NONE = "none"
|
|
764
|
-
BASIC = "basic"
|
|
765
|
-
CREDENTIALS_SECRET = "credentialsSecret"
|
|
766
|
-
TOKEN = "token"
|
|
767
|
-
TEXT_SECRET = "textSecret"
|
|
768
|
-
OAUTH = "oauth"
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
class PrometheusAuthOauthParam1TypedDict(TypedDict):
|
|
772
|
-
name: str
|
|
773
|
-
r"""OAuth parameter name"""
|
|
774
|
-
value: str
|
|
775
|
-
r"""OAuth parameter value"""
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
class PrometheusAuthOauthParam1(BaseModel):
|
|
779
|
-
name: str
|
|
780
|
-
r"""OAuth parameter name"""
|
|
781
|
-
|
|
782
|
-
value: str
|
|
783
|
-
r"""OAuth parameter value"""
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
class PrometheusAuthOauthHeader1TypedDict(TypedDict):
|
|
787
|
-
name: str
|
|
788
|
-
r"""OAuth header name"""
|
|
789
|
-
value: str
|
|
790
|
-
r"""OAuth header value"""
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
class PrometheusAuthOauthHeader1(BaseModel):
|
|
794
|
-
name: str
|
|
795
|
-
r"""OAuth header name"""
|
|
796
|
-
|
|
797
|
-
value: str
|
|
798
|
-
r"""OAuth header value"""
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
class InputGrafanaPrometheusAuth1TypedDict(TypedDict):
|
|
802
|
-
auth_type: NotRequired[InputGrafanaPrometheusAuthAuthenticationType1]
|
|
803
|
-
r"""Remote Write authentication type"""
|
|
804
|
-
username: NotRequired[str]
|
|
805
|
-
password: NotRequired[str]
|
|
806
|
-
token: NotRequired[str]
|
|
807
|
-
r"""Bearer token to include in the authorization header"""
|
|
808
|
-
credentials_secret: NotRequired[str]
|
|
809
|
-
r"""Select or create a secret that references your credentials"""
|
|
810
|
-
text_secret: NotRequired[str]
|
|
811
|
-
r"""Select or create a stored text secret"""
|
|
812
|
-
login_url: NotRequired[str]
|
|
813
|
-
r"""URL for OAuth"""
|
|
814
|
-
secret_param_name: NotRequired[str]
|
|
815
|
-
r"""Secret parameter name to pass in request body"""
|
|
816
|
-
secret: NotRequired[str]
|
|
817
|
-
r"""Secret parameter value to pass in request body"""
|
|
818
|
-
token_attribute_name: NotRequired[str]
|
|
819
|
-
r"""Name of the auth token attribute in the OAuth response. Can be top-level (e.g., 'token'); or nested, using a period (e.g., 'data.token')."""
|
|
820
|
-
auth_header_expr: NotRequired[str]
|
|
821
|
-
r"""JavaScript expression to compute the Authorization header value to pass in requests. The value `${token}` is used to reference the token obtained from authentication, e.g.: `Bearer ${token}`."""
|
|
822
|
-
token_timeout_secs: NotRequired[float]
|
|
823
|
-
r"""How often the OAuth token should be refreshed."""
|
|
824
|
-
oauth_params: NotRequired[List[PrometheusAuthOauthParam1TypedDict]]
|
|
825
|
-
r"""Additional parameters to send in the OAuth login request. @{product} will combine the secret with these parameters, and will send the URL-encoded result in a POST request to the endpoint specified in the 'Login URL'. We'll automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request."""
|
|
826
|
-
oauth_headers: NotRequired[List[PrometheusAuthOauthHeader1TypedDict]]
|
|
827
|
-
r"""Additional headers to send in the OAuth login request. @{product} will automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request."""
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
class InputGrafanaPrometheusAuth1(BaseModel):
|
|
831
|
-
auth_type: Annotated[
|
|
832
|
-
Optional[InputGrafanaPrometheusAuthAuthenticationType1],
|
|
833
|
-
pydantic.Field(alias="authType"),
|
|
834
|
-
] = InputGrafanaPrometheusAuthAuthenticationType1.NONE
|
|
835
|
-
r"""Remote Write authentication type"""
|
|
836
|
-
|
|
837
|
-
username: Optional[str] = None
|
|
838
|
-
|
|
839
|
-
password: Optional[str] = None
|
|
840
|
-
|
|
841
|
-
token: Optional[str] = None
|
|
842
|
-
r"""Bearer token to include in the authorization header"""
|
|
843
|
-
|
|
844
|
-
credentials_secret: Annotated[
|
|
845
|
-
Optional[str], pydantic.Field(alias="credentialsSecret")
|
|
846
|
-
] = None
|
|
847
|
-
r"""Select or create a secret that references your credentials"""
|
|
848
|
-
|
|
849
|
-
text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None
|
|
850
|
-
r"""Select or create a stored text secret"""
|
|
851
|
-
|
|
852
|
-
login_url: Annotated[Optional[str], pydantic.Field(alias="loginUrl")] = None
|
|
853
|
-
r"""URL for OAuth"""
|
|
854
|
-
|
|
855
|
-
secret_param_name: Annotated[
|
|
856
|
-
Optional[str], pydantic.Field(alias="secretParamName")
|
|
857
|
-
] = None
|
|
858
|
-
r"""Secret parameter name to pass in request body"""
|
|
859
|
-
|
|
860
|
-
secret: Optional[str] = None
|
|
861
|
-
r"""Secret parameter value to pass in request body"""
|
|
862
|
-
|
|
863
|
-
token_attribute_name: Annotated[
|
|
864
|
-
Optional[str], pydantic.Field(alias="tokenAttributeName")
|
|
865
|
-
] = None
|
|
866
|
-
r"""Name of the auth token attribute in the OAuth response. Can be top-level (e.g., 'token'); or nested, using a period (e.g., 'data.token')."""
|
|
867
|
-
|
|
868
|
-
auth_header_expr: Annotated[
|
|
869
|
-
Optional[str], pydantic.Field(alias="authHeaderExpr")
|
|
870
|
-
] = "`Bearer ${token}`"
|
|
871
|
-
r"""JavaScript expression to compute the Authorization header value to pass in requests. The value `${token}` is used to reference the token obtained from authentication, e.g.: `Bearer ${token}`."""
|
|
872
|
-
|
|
873
|
-
token_timeout_secs: Annotated[
|
|
874
|
-
Optional[float], pydantic.Field(alias="tokenTimeoutSecs")
|
|
875
|
-
] = 3600
|
|
876
|
-
r"""How often the OAuth token should be refreshed."""
|
|
877
|
-
|
|
878
|
-
oauth_params: Annotated[
|
|
879
|
-
Optional[List[PrometheusAuthOauthParam1]], pydantic.Field(alias="oauthParams")
|
|
880
|
-
] = None
|
|
881
|
-
r"""Additional parameters to send in the OAuth login request. @{product} will combine the secret with these parameters, and will send the URL-encoded result in a POST request to the endpoint specified in the 'Login URL'. We'll automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request."""
|
|
882
|
-
|
|
883
|
-
oauth_headers: Annotated[
|
|
884
|
-
Optional[List[PrometheusAuthOauthHeader1]], pydantic.Field(alias="oauthHeaders")
|
|
885
|
-
] = None
|
|
886
|
-
r"""Additional headers to send in the OAuth login request. @{product} will automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request."""
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
class InputGrafanaLokiAuthAuthenticationType1(str, Enum):
|
|
890
|
-
r"""Loki logs authentication type"""
|
|
891
|
-
|
|
892
|
-
NONE = "none"
|
|
893
|
-
BASIC = "basic"
|
|
894
|
-
CREDENTIALS_SECRET = "credentialsSecret"
|
|
895
|
-
TOKEN = "token"
|
|
896
|
-
TEXT_SECRET = "textSecret"
|
|
897
|
-
OAUTH = "oauth"
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
class LokiAuthOauthParam1TypedDict(TypedDict):
|
|
901
|
-
name: str
|
|
902
|
-
r"""OAuth parameter name"""
|
|
903
|
-
value: str
|
|
904
|
-
r"""OAuth parameter value"""
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
class LokiAuthOauthParam1(BaseModel):
|
|
908
|
-
name: str
|
|
909
|
-
r"""OAuth parameter name"""
|
|
910
|
-
|
|
911
|
-
value: str
|
|
912
|
-
r"""OAuth parameter value"""
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
class LokiAuthOauthHeader1TypedDict(TypedDict):
|
|
916
|
-
name: str
|
|
917
|
-
r"""OAuth header name"""
|
|
918
|
-
value: str
|
|
919
|
-
r"""OAuth header value"""
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
class LokiAuthOauthHeader1(BaseModel):
|
|
923
|
-
name: str
|
|
924
|
-
r"""OAuth header name"""
|
|
925
|
-
|
|
926
|
-
value: str
|
|
927
|
-
r"""OAuth header value"""
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
class InputGrafanaLokiAuth1TypedDict(TypedDict):
|
|
931
|
-
auth_type: NotRequired[InputGrafanaLokiAuthAuthenticationType1]
|
|
932
|
-
r"""Loki logs authentication type"""
|
|
933
|
-
username: NotRequired[str]
|
|
934
|
-
password: NotRequired[str]
|
|
935
|
-
token: NotRequired[str]
|
|
936
|
-
r"""Bearer token to include in the authorization header"""
|
|
937
|
-
credentials_secret: NotRequired[str]
|
|
938
|
-
r"""Select or create a secret that references your credentials"""
|
|
939
|
-
text_secret: NotRequired[str]
|
|
940
|
-
r"""Select or create a stored text secret"""
|
|
941
|
-
login_url: NotRequired[str]
|
|
942
|
-
r"""URL for OAuth"""
|
|
943
|
-
secret_param_name: NotRequired[str]
|
|
944
|
-
r"""Secret parameter name to pass in request body"""
|
|
945
|
-
secret: NotRequired[str]
|
|
946
|
-
r"""Secret parameter value to pass in request body"""
|
|
947
|
-
token_attribute_name: NotRequired[str]
|
|
948
|
-
r"""Name of the auth token attribute in the OAuth response. Can be top-level (e.g., 'token'); or nested, using a period (e.g., 'data.token')."""
|
|
949
|
-
auth_header_expr: NotRequired[str]
|
|
950
|
-
r"""JavaScript expression to compute the Authorization header value to pass in requests. The value `${token}` is used to reference the token obtained from authentication, e.g.: `Bearer ${token}`."""
|
|
951
|
-
token_timeout_secs: NotRequired[float]
|
|
952
|
-
r"""How often the OAuth token should be refreshed."""
|
|
953
|
-
oauth_params: NotRequired[List[LokiAuthOauthParam1TypedDict]]
|
|
954
|
-
r"""Additional parameters to send in the OAuth login request. @{product} will combine the secret with these parameters, and will send the URL-encoded result in a POST request to the endpoint specified in the 'Login URL'. We'll automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request."""
|
|
955
|
-
oauth_headers: NotRequired[List[LokiAuthOauthHeader1TypedDict]]
|
|
956
|
-
r"""Additional headers to send in the OAuth login request. @{product} will automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request."""
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
class InputGrafanaLokiAuth1(BaseModel):
|
|
960
|
-
auth_type: Annotated[
|
|
961
|
-
Optional[InputGrafanaLokiAuthAuthenticationType1],
|
|
962
|
-
pydantic.Field(alias="authType"),
|
|
963
|
-
] = InputGrafanaLokiAuthAuthenticationType1.NONE
|
|
964
|
-
r"""Loki logs authentication type"""
|
|
965
|
-
|
|
966
|
-
username: Optional[str] = None
|
|
967
|
-
|
|
968
|
-
password: Optional[str] = None
|
|
969
|
-
|
|
970
|
-
token: Optional[str] = None
|
|
971
|
-
r"""Bearer token to include in the authorization header"""
|
|
972
|
-
|
|
973
|
-
credentials_secret: Annotated[
|
|
974
|
-
Optional[str], pydantic.Field(alias="credentialsSecret")
|
|
975
|
-
] = None
|
|
976
|
-
r"""Select or create a secret that references your credentials"""
|
|
977
|
-
|
|
978
|
-
text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None
|
|
979
|
-
r"""Select or create a stored text secret"""
|
|
980
|
-
|
|
981
|
-
login_url: Annotated[Optional[str], pydantic.Field(alias="loginUrl")] = None
|
|
982
|
-
r"""URL for OAuth"""
|
|
983
|
-
|
|
984
|
-
secret_param_name: Annotated[
|
|
985
|
-
Optional[str], pydantic.Field(alias="secretParamName")
|
|
986
|
-
] = None
|
|
987
|
-
r"""Secret parameter name to pass in request body"""
|
|
988
|
-
|
|
989
|
-
secret: Optional[str] = None
|
|
990
|
-
r"""Secret parameter value to pass in request body"""
|
|
991
|
-
|
|
992
|
-
token_attribute_name: Annotated[
|
|
993
|
-
Optional[str], pydantic.Field(alias="tokenAttributeName")
|
|
994
|
-
] = None
|
|
995
|
-
r"""Name of the auth token attribute in the OAuth response. Can be top-level (e.g., 'token'); or nested, using a period (e.g., 'data.token')."""
|
|
996
|
-
|
|
997
|
-
auth_header_expr: Annotated[
|
|
998
|
-
Optional[str], pydantic.Field(alias="authHeaderExpr")
|
|
999
|
-
] = "`Bearer ${token}`"
|
|
1000
|
-
r"""JavaScript expression to compute the Authorization header value to pass in requests. The value `${token}` is used to reference the token obtained from authentication, e.g.: `Bearer ${token}`."""
|
|
1001
|
-
|
|
1002
|
-
token_timeout_secs: Annotated[
|
|
1003
|
-
Optional[float], pydantic.Field(alias="tokenTimeoutSecs")
|
|
1004
|
-
] = 3600
|
|
1005
|
-
r"""How often the OAuth token should be refreshed."""
|
|
1006
|
-
|
|
1007
|
-
oauth_params: Annotated[
|
|
1008
|
-
Optional[List[LokiAuthOauthParam1]], pydantic.Field(alias="oauthParams")
|
|
1009
|
-
] = None
|
|
1010
|
-
r"""Additional parameters to send in the OAuth login request. @{product} will combine the secret with these parameters, and will send the URL-encoded result in a POST request to the endpoint specified in the 'Login URL'. We'll automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request."""
|
|
1011
|
-
|
|
1012
|
-
oauth_headers: Annotated[
|
|
1013
|
-
Optional[List[LokiAuthOauthHeader1]], pydantic.Field(alias="oauthHeaders")
|
|
1014
|
-
] = None
|
|
1015
|
-
r"""Additional headers to send in the OAuth login request. @{product} will automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request."""
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
class InputGrafanaMetadatum1TypedDict(TypedDict):
|
|
1019
|
-
name: str
|
|
1020
|
-
value: str
|
|
1021
|
-
r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
class InputGrafanaMetadatum1(BaseModel):
|
|
1025
|
-
name: str
|
|
1026
|
-
|
|
1027
|
-
value: str
|
|
1028
|
-
r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
class InputGrafanaGrafana1TypedDict(TypedDict):
|
|
1032
|
-
type: InputGrafanaType1
|
|
1033
|
-
port: float
|
|
1034
|
-
r"""Port to listen on"""
|
|
1035
|
-
id: NotRequired[str]
|
|
1036
|
-
r"""Unique ID for this input"""
|
|
1037
|
-
disabled: NotRequired[bool]
|
|
1038
|
-
pipeline: NotRequired[str]
|
|
1039
|
-
r"""Pipeline to process data from this Source before sending it through the Routes"""
|
|
1040
|
-
send_to_routes: NotRequired[bool]
|
|
1041
|
-
r"""Select whether to send data to Routes, or directly to Destinations."""
|
|
1042
|
-
environment: NotRequired[str]
|
|
1043
|
-
r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere."""
|
|
1044
|
-
pq_enabled: NotRequired[bool]
|
|
1045
|
-
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)."""
|
|
1046
|
-
streamtags: NotRequired[List[str]]
|
|
1047
|
-
r"""Tags for filtering and grouping in @{product}"""
|
|
1048
|
-
connections: NotRequired[List[InputGrafanaConnection1TypedDict]]
|
|
1049
|
-
r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack"""
|
|
1050
|
-
pq: NotRequired[InputGrafanaPq1TypedDict]
|
|
1051
|
-
host: NotRequired[str]
|
|
1052
|
-
r"""Address to bind on. Defaults to 0.0.0.0 (all addresses)."""
|
|
1053
|
-
tls: NotRequired[InputGrafanaTLSSettingsServerSide1TypedDict]
|
|
1054
|
-
max_active_req: NotRequired[float]
|
|
1055
|
-
r"""Maximum number of active requests allowed per Worker Process. Set to 0 for unlimited. Caution: Increasing the limit above the default value, or setting it to unlimited, may degrade performance and reduce throughput."""
|
|
1056
|
-
max_requests_per_socket: NotRequired[int]
|
|
1057
|
-
r"""Maximum number of requests per socket before @{product} instructs the client to close the connection. Default is 0 (unlimited)."""
|
|
1058
|
-
enable_proxy_header: NotRequired[bool]
|
|
1059
|
-
r"""Extract the client IP and port from PROXY protocol v1/v2. When enabled, the X-Forwarded-For header is ignored. Disable to use the X-Forwarded-For header for client IP extraction."""
|
|
1060
|
-
capture_headers: NotRequired[bool]
|
|
1061
|
-
r"""Add request headers to events, in the __headers field"""
|
|
1062
|
-
activity_log_sample_rate: NotRequired[float]
|
|
1063
|
-
r"""How often request activity is logged at the `info` level. A value of 1 would log every request, 10 every 10th request, etc."""
|
|
1064
|
-
request_timeout: NotRequired[float]
|
|
1065
|
-
r"""How long to wait for an incoming request to complete before aborting it. Use 0 to disable."""
|
|
1066
|
-
socket_timeout: NotRequired[float]
|
|
1067
|
-
r"""How long @{product} should wait before assuming that an inactive socket has timed out. To wait forever, set to 0."""
|
|
1068
|
-
keep_alive_timeout: NotRequired[float]
|
|
1069
|
-
r"""Maximum time to wait for additional data, after the last response was sent, before closing a socket connection. This can be very useful when Grafana Agent remote write's request frequency is high so, reusing connections, would help mitigating the cost of creating a new connection per request. Note that Grafana Agent's embedded Prometheus would attempt to keep connections open for up to 5 minutes."""
|
|
1070
|
-
enable_health_check: NotRequired[bool]
|
|
1071
|
-
r"""Expose the /cribl_health endpoint, which returns 200 OK when this Source is healthy"""
|
|
1072
|
-
ip_allowlist_regex: NotRequired[str]
|
|
1073
|
-
r"""Messages from matched IP addresses will be processed, unless also matched by the denylist"""
|
|
1074
|
-
ip_denylist_regex: NotRequired[str]
|
|
1075
|
-
r"""Messages from matched IP addresses will be ignored. This takes precedence over the allowlist."""
|
|
1076
|
-
prometheus_api: NotRequired[str]
|
|
1077
|
-
r"""Absolute path on which to listen for Grafana Agent's Remote Write requests. Defaults to /api/prom/push, which will expand as: 'http://<your‑upstream‑URL>:<your‑port>/api/prom/push'. Either this field or 'Logs API endpoint' must be configured."""
|
|
1078
|
-
loki_api: NotRequired[str]
|
|
1079
|
-
r"""Absolute path on which to listen for Loki logs requests. Defaults to /loki/api/v1/push, which will (in this example) expand as: 'http://<your‑upstream‑URL>:<your‑port>/loki/api/v1/push'. Either this field or 'Remote Write API endpoint' must be configured."""
|
|
1080
|
-
extract_structured_metadata: NotRequired[bool]
|
|
1081
|
-
r"""Extract structured metadata from the Loki 3.5.3+ format and place it in the __structuredMetadata field. When disabled, uses legacy Loki parsing for backward compatibility."""
|
|
1082
|
-
prometheus_auth: NotRequired[InputGrafanaPrometheusAuth1TypedDict]
|
|
1083
|
-
loki_auth: NotRequired[InputGrafanaLokiAuth1TypedDict]
|
|
1084
|
-
metadata: NotRequired[List[InputGrafanaMetadatum1TypedDict]]
|
|
1085
|
-
r"""Fields to add to events from this input"""
|
|
1086
|
-
description: NotRequired[str]
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
class InputGrafanaGrafana1(BaseModel):
|
|
1090
|
-
type: InputGrafanaType1
|
|
1091
|
-
|
|
1092
|
-
port: float
|
|
1093
|
-
r"""Port to listen on"""
|
|
1094
|
-
|
|
1095
|
-
id: Optional[str] = None
|
|
1096
|
-
r"""Unique ID for this input"""
|
|
1097
|
-
|
|
1098
|
-
disabled: Optional[bool] = False
|
|
1099
|
-
|
|
1100
|
-
pipeline: Optional[str] = None
|
|
1101
|
-
r"""Pipeline to process data from this Source before sending it through the Routes"""
|
|
1102
|
-
|
|
1103
|
-
send_to_routes: Annotated[Optional[bool], pydantic.Field(alias="sendToRoutes")] = (
|
|
1104
|
-
True
|
|
1105
|
-
)
|
|
1106
|
-
r"""Select whether to send data to Routes, or directly to Destinations."""
|
|
1107
|
-
|
|
1108
|
-
environment: Optional[str] = None
|
|
1109
|
-
r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere."""
|
|
1110
|
-
|
|
1111
|
-
pq_enabled: Annotated[Optional[bool], pydantic.Field(alias="pqEnabled")] = False
|
|
1112
|
-
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)."""
|
|
1113
|
-
|
|
1114
|
-
streamtags: Optional[List[str]] = None
|
|
1115
|
-
r"""Tags for filtering and grouping in @{product}"""
|
|
1116
|
-
|
|
1117
|
-
connections: Optional[List[InputGrafanaConnection1]] = None
|
|
1118
|
-
r"""Direct connections to Destinations, and optionally via a Pipeline or a Pack"""
|
|
1119
|
-
|
|
1120
|
-
pq: Optional[InputGrafanaPq1] = None
|
|
1121
|
-
|
|
1122
|
-
host: Optional[str] = "0.0.0.0"
|
|
1123
|
-
r"""Address to bind on. Defaults to 0.0.0.0 (all addresses)."""
|
|
1124
|
-
|
|
1125
|
-
tls: Optional[InputGrafanaTLSSettingsServerSide1] = None
|
|
1126
|
-
|
|
1127
|
-
max_active_req: Annotated[Optional[float], pydantic.Field(alias="maxActiveReq")] = (
|
|
1128
|
-
256
|
|
1129
|
-
)
|
|
1130
|
-
r"""Maximum number of active requests allowed per Worker Process. Set to 0 for unlimited. Caution: Increasing the limit above the default value, or setting it to unlimited, may degrade performance and reduce throughput."""
|
|
1131
|
-
|
|
1132
|
-
max_requests_per_socket: Annotated[
|
|
1133
|
-
Optional[int], pydantic.Field(alias="maxRequestsPerSocket")
|
|
1134
|
-
] = 0
|
|
1135
|
-
r"""Maximum number of requests per socket before @{product} instructs the client to close the connection. Default is 0 (unlimited)."""
|
|
1136
|
-
|
|
1137
|
-
enable_proxy_header: Annotated[
|
|
1138
|
-
Optional[bool], pydantic.Field(alias="enableProxyHeader")
|
|
1139
|
-
] = False
|
|
1140
|
-
r"""Extract the client IP and port from PROXY protocol v1/v2. When enabled, the X-Forwarded-For header is ignored. Disable to use the X-Forwarded-For header for client IP extraction."""
|
|
1141
|
-
|
|
1142
|
-
capture_headers: Annotated[
|
|
1143
|
-
Optional[bool], pydantic.Field(alias="captureHeaders")
|
|
1144
|
-
] = False
|
|
1145
|
-
r"""Add request headers to events, in the __headers field"""
|
|
1146
|
-
|
|
1147
|
-
activity_log_sample_rate: Annotated[
|
|
1148
|
-
Optional[float], pydantic.Field(alias="activityLogSampleRate")
|
|
1149
|
-
] = 100
|
|
1150
|
-
r"""How often request activity is logged at the `info` level. A value of 1 would log every request, 10 every 10th request, etc."""
|
|
1151
|
-
|
|
1152
|
-
request_timeout: Annotated[
|
|
1153
|
-
Optional[float], pydantic.Field(alias="requestTimeout")
|
|
1154
|
-
] = 0
|
|
1155
|
-
r"""How long to wait for an incoming request to complete before aborting it. Use 0 to disable."""
|
|
1156
|
-
|
|
1157
|
-
socket_timeout: Annotated[
|
|
1158
|
-
Optional[float], pydantic.Field(alias="socketTimeout")
|
|
1159
|
-
] = 0
|
|
1160
|
-
r"""How long @{product} should wait before assuming that an inactive socket has timed out. To wait forever, set to 0."""
|
|
1161
|
-
|
|
1162
|
-
keep_alive_timeout: Annotated[
|
|
1163
|
-
Optional[float], pydantic.Field(alias="keepAliveTimeout")
|
|
1164
|
-
] = 5
|
|
1165
|
-
r"""Maximum time to wait for additional data, after the last response was sent, before closing a socket connection. This can be very useful when Grafana Agent remote write's request frequency is high so, reusing connections, would help mitigating the cost of creating a new connection per request. Note that Grafana Agent's embedded Prometheus would attempt to keep connections open for up to 5 minutes."""
|
|
1166
|
-
|
|
1167
|
-
enable_health_check: Annotated[
|
|
1168
|
-
Optional[bool], pydantic.Field(alias="enableHealthCheck")
|
|
1169
|
-
] = False
|
|
1170
|
-
r"""Expose the /cribl_health endpoint, which returns 200 OK when this Source is healthy"""
|
|
1171
|
-
|
|
1172
|
-
ip_allowlist_regex: Annotated[
|
|
1173
|
-
Optional[str], pydantic.Field(alias="ipAllowlistRegex")
|
|
1174
|
-
] = "/.*/"
|
|
1175
|
-
r"""Messages from matched IP addresses will be processed, unless also matched by the denylist"""
|
|
1176
|
-
|
|
1177
|
-
ip_denylist_regex: Annotated[
|
|
1178
|
-
Optional[str], pydantic.Field(alias="ipDenylistRegex")
|
|
1179
|
-
] = "/^$/"
|
|
1180
|
-
r"""Messages from matched IP addresses will be ignored. This takes precedence over the allowlist."""
|
|
1181
|
-
|
|
1182
|
-
prometheus_api: Annotated[Optional[str], pydantic.Field(alias="prometheusAPI")] = (
|
|
1183
|
-
"/api/prom/push"
|
|
1184
|
-
)
|
|
1185
|
-
r"""Absolute path on which to listen for Grafana Agent's Remote Write requests. Defaults to /api/prom/push, which will expand as: 'http://<your‑upstream‑URL>:<your‑port>/api/prom/push'. Either this field or 'Logs API endpoint' must be configured."""
|
|
1186
|
-
|
|
1187
|
-
loki_api: Annotated[Optional[str], pydantic.Field(alias="lokiAPI")] = (
|
|
1188
|
-
"/loki/api/v1/push"
|
|
1189
|
-
)
|
|
1190
|
-
r"""Absolute path on which to listen for Loki logs requests. Defaults to /loki/api/v1/push, which will (in this example) expand as: 'http://<your‑upstream‑URL>:<your‑port>/loki/api/v1/push'. Either this field or 'Remote Write API endpoint' must be configured."""
|
|
1191
|
-
|
|
1192
|
-
extract_structured_metadata: Annotated[
|
|
1193
|
-
Optional[bool], pydantic.Field(alias="extractStructuredMetadata")
|
|
1194
|
-
] = False
|
|
1195
|
-
r"""Extract structured metadata from the Loki 3.5.3+ format and place it in the __structuredMetadata field. When disabled, uses legacy Loki parsing for backward compatibility."""
|
|
1196
|
-
|
|
1197
|
-
prometheus_auth: Annotated[
|
|
1198
|
-
Optional[InputGrafanaPrometheusAuth1], pydantic.Field(alias="prometheusAuth")
|
|
1199
|
-
] = None
|
|
1200
|
-
|
|
1201
|
-
loki_auth: Annotated[
|
|
1202
|
-
Optional[InputGrafanaLokiAuth1], pydantic.Field(alias="lokiAuth")
|
|
1203
|
-
] = None
|
|
1204
|
-
|
|
1205
|
-
metadata: Optional[List[InputGrafanaMetadatum1]] = None
|
|
1206
|
-
r"""Fields to add to events from this input"""
|
|
1207
|
-
|
|
1208
|
-
description: Optional[str] = None
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
InputGrafanaTypedDict = TypeAliasType(
|
|
1212
|
-
"InputGrafanaTypedDict",
|
|
1213
|
-
Union[InputGrafanaGrafana1TypedDict, InputGrafanaGrafana2TypedDict],
|
|
1214
|
-
)
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
InputGrafana = TypeAliasType(
|
|
1218
|
-
"InputGrafana", Union[InputGrafanaGrafana1, InputGrafanaGrafana2]
|
|
1219
|
-
)
|