cribl-control-plane 0.0.38__py3-none-any.whl → 0.4.0a6__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of cribl-control-plane might be problematic. Click here for more details.
- cribl_control_plane/_hooks/clientcredentials.py +92 -42
- cribl_control_plane/_version.py +4 -4
- cribl_control_plane/acl.py +5 -3
- cribl_control_plane/auth_sdk.py +6 -3
- cribl_control_plane/basesdk.py +11 -1
- cribl_control_plane/commits.py +7 -5
- cribl_control_plane/destinations.py +6 -4
- cribl_control_plane/destinations_pq.py +2 -2
- cribl_control_plane/errors/__init__.py +23 -8
- cribl_control_plane/errors/apierror.py +2 -0
- cribl_control_plane/errors/criblcontrolplaneerror.py +11 -7
- cribl_control_plane/errors/error.py +4 -2
- cribl_control_plane/errors/healthserverstatus_error.py +41 -0
- cribl_control_plane/errors/no_response_error.py +5 -1
- cribl_control_plane/errors/responsevalidationerror.py +2 -0
- cribl_control_plane/groups_configs.py +8 -3
- cribl_control_plane/groups_sdk.py +64 -38
- cribl_control_plane/health.py +22 -12
- cribl_control_plane/httpclient.py +0 -1
- cribl_control_plane/lakedatasets.py +40 -12
- cribl_control_plane/models/__init__.py +1180 -54
- cribl_control_plane/models/authtoken.py +5 -1
- cribl_control_plane/models/{routecloneconf.py → branchinfo.py} +4 -4
- cribl_control_plane/models/cacheconnection.py +30 -2
- cribl_control_plane/models/cacheconnectionbackfillstatus.py +2 -1
- cribl_control_plane/models/cloudprovider.py +2 -1
- cribl_control_plane/models/configgroup.py +66 -11
- cribl_control_plane/models/configgroupcloud.py +17 -3
- cribl_control_plane/models/createconfiggroupbyproductop.py +27 -9
- cribl_control_plane/models/createinputhectokenbyidop.py +6 -5
- cribl_control_plane/models/createroutesappendbyidop.py +2 -2
- cribl_control_plane/models/createversionpushop.py +5 -5
- cribl_control_plane/models/createversionrevertop.py +2 -2
- cribl_control_plane/models/createversionundoop.py +3 -3
- cribl_control_plane/models/cribllakedataset.py +22 -2
- cribl_control_plane/models/cribllakedatasetupdate.py +95 -0
- cribl_control_plane/models/datasetmetadata.py +18 -2
- cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +18 -2
- cribl_control_plane/models/deleteoutputpqbyidop.py +5 -5
- cribl_control_plane/models/deletepipelinebyidop.py +2 -2
- cribl_control_plane/models/difffiles.py +171 -0
- cribl_control_plane/models/distributedsummary.py +6 -0
- cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +24 -2
- cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +24 -2
- cribl_control_plane/models/getconfiggroupbyproductandidop.py +14 -1
- cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +18 -2
- cribl_control_plane/models/getoutputpqbyidop.py +6 -5
- cribl_control_plane/models/getpipelinebyidop.py +2 -2
- cribl_control_plane/models/getroutesbyidop.py +2 -2
- cribl_control_plane/models/getsummaryop.py +18 -2
- cribl_control_plane/models/getversionbranchop.py +6 -5
- cribl_control_plane/models/getversioncountop.py +6 -5
- cribl_control_plane/models/getversiondiffop.py +6 -5
- cribl_control_plane/models/getversionshowop.py +6 -5
- cribl_control_plane/models/gitcountresult.py +13 -0
- cribl_control_plane/models/gitdiffresult.py +16 -0
- cribl_control_plane/models/gitinfo.py +14 -3
- cribl_control_plane/models/gitshowresult.py +19 -0
- cribl_control_plane/models/groupcreaterequest.py +171 -0
- cribl_control_plane/models/hbcriblinfo.py +39 -3
- cribl_control_plane/models/healthserverstatus.py +55 -0
- cribl_control_plane/models/heartbeatmetadata.py +3 -0
- cribl_control_plane/models/input.py +83 -78
- cribl_control_plane/models/inputappscope.py +126 -30
- cribl_control_plane/models/inputazureblob.py +62 -6
- cribl_control_plane/models/inputcloudflarehec.py +513 -0
- cribl_control_plane/models/inputcollection.py +47 -4
- cribl_control_plane/models/inputconfluentcloud.py +254 -30
- cribl_control_plane/models/inputcribl.py +47 -4
- cribl_control_plane/models/inputcriblhttp.py +121 -30
- cribl_control_plane/models/inputcribllakehttp.py +122 -30
- cribl_control_plane/models/inputcriblmetrics.py +48 -4
- cribl_control_plane/models/inputcribltcp.py +122 -24
- cribl_control_plane/models/inputcrowdstrike.py +92 -10
- cribl_control_plane/models/inputdatadogagent.py +98 -24
- cribl_control_plane/models/inputdatagen.py +47 -4
- cribl_control_plane/models/inputedgeprometheus.py +210 -50
- cribl_control_plane/models/inputelastic.py +167 -36
- cribl_control_plane/models/inputeventhub.py +209 -6
- cribl_control_plane/models/inputexec.py +59 -6
- cribl_control_plane/models/inputfile.py +78 -10
- cribl_control_plane/models/inputfirehose.py +97 -24
- cribl_control_plane/models/inputgooglepubsub.py +67 -6
- cribl_control_plane/models/inputgrafana.py +251 -71
- cribl_control_plane/models/inputhttp.py +97 -24
- cribl_control_plane/models/inputhttpraw.py +97 -24
- cribl_control_plane/models/inputjournalfiles.py +48 -4
- cribl_control_plane/models/inputkafka.py +248 -26
- cribl_control_plane/models/inputkinesis.py +130 -14
- cribl_control_plane/models/inputkubeevents.py +47 -4
- cribl_control_plane/models/inputkubelogs.py +61 -8
- cribl_control_plane/models/inputkubemetrics.py +61 -8
- cribl_control_plane/models/inputloki.py +113 -34
- cribl_control_plane/models/inputmetrics.py +97 -24
- cribl_control_plane/models/inputmodeldriventelemetry.py +107 -26
- cribl_control_plane/models/inputmsk.py +141 -30
- cribl_control_plane/models/inputnetflow.py +47 -4
- cribl_control_plane/models/inputoffice365mgmt.py +112 -14
- cribl_control_plane/models/inputoffice365msgtrace.py +114 -16
- cribl_control_plane/models/inputoffice365service.py +114 -16
- cribl_control_plane/models/inputopentelemetry.py +143 -32
- cribl_control_plane/models/inputprometheus.py +193 -44
- cribl_control_plane/models/inputprometheusrw.py +114 -27
- cribl_control_plane/models/inputrawudp.py +47 -4
- cribl_control_plane/models/inputs3.py +78 -8
- cribl_control_plane/models/inputs3inventory.py +92 -10
- cribl_control_plane/models/inputsecuritylake.py +93 -10
- cribl_control_plane/models/inputsnmp.py +68 -6
- cribl_control_plane/models/inputsplunk.py +130 -28
- cribl_control_plane/models/inputsplunkhec.py +111 -25
- cribl_control_plane/models/inputsplunksearch.py +108 -14
- cribl_control_plane/models/inputsqs.py +99 -16
- cribl_control_plane/models/inputsyslog.py +189 -47
- cribl_control_plane/models/inputsystemmetrics.py +202 -32
- cribl_control_plane/models/inputsystemstate.py +61 -8
- cribl_control_plane/models/inputtcp.py +122 -26
- cribl_control_plane/models/inputtcpjson.py +112 -26
- cribl_control_plane/models/inputwef.py +121 -15
- cribl_control_plane/models/inputwindowsmetrics.py +186 -33
- cribl_control_plane/models/inputwineventlogs.py +93 -11
- cribl_control_plane/models/inputwiz.py +78 -8
- cribl_control_plane/models/inputwizwebhook.py +97 -24
- cribl_control_plane/models/inputzscalerhec.py +111 -25
- cribl_control_plane/models/jobinfo.py +34 -0
- cribl_control_plane/models/jobstatus.py +48 -0
- cribl_control_plane/models/lakedatasetmetrics.py +17 -0
- cribl_control_plane/models/lakehouseconnectiontype.py +2 -1
- cribl_control_plane/models/listconfiggroupbyproductop.py +14 -1
- cribl_control_plane/models/logininfo.py +3 -3
- cribl_control_plane/models/masterworkerentry.py +17 -2
- cribl_control_plane/models/nodeactiveupgradestatus.py +2 -1
- cribl_control_plane/models/nodefailedupgradestatus.py +2 -1
- cribl_control_plane/models/nodeprovidedinfo.py +11 -1
- cribl_control_plane/models/nodeskippedupgradestatus.py +2 -1
- cribl_control_plane/models/nodeupgradestate.py +2 -1
- cribl_control_plane/models/nodeupgradestatus.py +51 -5
- cribl_control_plane/models/outpostnodeinfo.py +16 -0
- cribl_control_plane/models/output.py +104 -90
- cribl_control_plane/models/outputazureblob.py +171 -18
- cribl_control_plane/models/outputazuredataexplorer.py +514 -90
- cribl_control_plane/models/outputazureeventhub.py +315 -31
- cribl_control_plane/models/outputazurelogs.py +145 -26
- cribl_control_plane/models/outputchronicle.py +532 -0
- cribl_control_plane/models/outputclickhouse.py +205 -34
- cribl_control_plane/models/outputcloudflarer2.py +632 -0
- cribl_control_plane/models/outputcloudwatch.py +129 -23
- cribl_control_plane/models/outputconfluentcloud.py +384 -57
- cribl_control_plane/models/outputcriblhttp.py +199 -32
- cribl_control_plane/models/outputcribllake.py +156 -16
- cribl_control_plane/models/outputcribltcp.py +194 -29
- cribl_control_plane/models/outputcrowdstrikenextgensiem.py +172 -28
- cribl_control_plane/models/outputdatabricks.py +501 -0
- cribl_control_plane/models/outputdatadog.py +199 -31
- cribl_control_plane/models/outputdataset.py +181 -29
- cribl_control_plane/models/outputdiskspool.py +17 -2
- cribl_control_plane/models/outputdls3.py +233 -24
- cribl_control_plane/models/outputdynatracehttp.py +208 -34
- cribl_control_plane/models/outputdynatraceotlp.py +210 -36
- cribl_control_plane/models/outputelastic.py +199 -30
- cribl_control_plane/models/outputelasticcloud.py +171 -26
- cribl_control_plane/models/outputexabeam.py +96 -10
- cribl_control_plane/models/outputfilesystem.py +139 -14
- cribl_control_plane/models/outputgooglechronicle.py +216 -35
- cribl_control_plane/models/outputgooglecloudlogging.py +174 -31
- cribl_control_plane/models/outputgooglecloudstorage.py +215 -24
- cribl_control_plane/models/outputgooglepubsub.py +131 -23
- cribl_control_plane/models/outputgrafanacloud.py +376 -74
- cribl_control_plane/models/outputgraphite.py +128 -25
- cribl_control_plane/models/outputhoneycomb.py +145 -26
- cribl_control_plane/models/outputhumiohec.py +162 -28
- cribl_control_plane/models/outputinfluxdb.py +165 -28
- cribl_control_plane/models/outputkafka.py +375 -52
- cribl_control_plane/models/outputkinesis.py +165 -27
- cribl_control_plane/models/outputloki.py +164 -34
- cribl_control_plane/models/outputmicrosoftfabric.py +540 -0
- cribl_control_plane/models/outputminio.py +225 -25
- cribl_control_plane/models/outputmsk.py +267 -54
- cribl_control_plane/models/outputnewrelic.py +171 -29
- cribl_control_plane/models/outputnewrelicevents.py +163 -28
- cribl_control_plane/models/outputopentelemetry.py +240 -40
- cribl_control_plane/models/outputprometheus.py +145 -26
- cribl_control_plane/models/outputring.py +49 -8
- cribl_control_plane/models/outputs3.py +233 -26
- cribl_control_plane/models/outputsecuritylake.py +179 -18
- cribl_control_plane/models/outputsentinel.py +172 -29
- cribl_control_plane/models/outputsentineloneaisiem.py +181 -35
- cribl_control_plane/models/outputservicenow.py +223 -38
- cribl_control_plane/models/outputsignalfx.py +145 -26
- cribl_control_plane/models/outputsns.py +143 -25
- cribl_control_plane/models/outputsplunk.py +206 -36
- cribl_control_plane/models/outputsplunkhec.py +238 -26
- cribl_control_plane/models/outputsplunklb.py +253 -43
- cribl_control_plane/models/outputsqs.py +163 -33
- cribl_control_plane/models/outputstatsd.py +127 -25
- cribl_control_plane/models/outputstatsdext.py +128 -25
- cribl_control_plane/models/outputsumologic.py +146 -25
- cribl_control_plane/models/outputsyslog.py +318 -46
- cribl_control_plane/models/outputtcpjson.py +186 -32
- cribl_control_plane/models/outputwavefront.py +145 -26
- cribl_control_plane/models/outputwebhook.py +211 -33
- cribl_control_plane/models/outputxsiam.py +143 -26
- cribl_control_plane/models/packinfo.py +8 -5
- cribl_control_plane/models/packinstallinfo.py +11 -8
- cribl_control_plane/models/productscore.py +2 -1
- cribl_control_plane/models/rbacresource.py +2 -1
- cribl_control_plane/models/resourcepolicy.py +15 -2
- cribl_control_plane/models/routeconf.py +3 -4
- cribl_control_plane/models/runnablejob.py +27 -0
- cribl_control_plane/models/runnablejobcollection.py +669 -0
- cribl_control_plane/models/runnablejobexecutor.py +368 -0
- cribl_control_plane/models/runnablejobscheduledsearch.py +286 -0
- cribl_control_plane/models/updateconfiggroupbyproductandidop.py +19 -2
- cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +19 -2
- cribl_control_plane/models/updatecribllakedatasetbylakeidandidop.py +9 -5
- cribl_control_plane/models/updateinputhectokenbyidandtokenop.py +6 -5
- cribl_control_plane/models/updatepacksop.py +25 -0
- cribl_control_plane/models/updatepipelinebyidop.py +6 -6
- cribl_control_plane/models/updateroutesbyidop.py +2 -2
- cribl_control_plane/models/uploadpackresponse.py +13 -0
- cribl_control_plane/models/workertypes.py +2 -1
- cribl_control_plane/nodes.py +5 -3
- cribl_control_plane/packs.py +202 -7
- cribl_control_plane/pipelines.py +18 -18
- cribl_control_plane/routes_sdk.py +22 -22
- cribl_control_plane/sdk.py +19 -6
- cribl_control_plane/sources.py +5 -3
- cribl_control_plane/tokens.py +23 -15
- cribl_control_plane/utils/__init__.py +15 -3
- cribl_control_plane/utils/annotations.py +32 -8
- cribl_control_plane/utils/eventstreaming.py +10 -0
- cribl_control_plane/utils/retries.py +69 -5
- cribl_control_plane/utils/unmarshal_json_response.py +15 -1
- cribl_control_plane/versions.py +11 -6
- {cribl_control_plane-0.0.38.dist-info → cribl_control_plane-0.4.0a6.dist-info}/METADATA +69 -23
- cribl_control_plane-0.4.0a6.dist-info/RECORD +336 -0
- {cribl_control_plane-0.0.38.dist-info → cribl_control_plane-0.4.0a6.dist-info}/WHEEL +1 -1
- cribl_control_plane-0.4.0a6.dist-info/licenses/LICENSE +201 -0
- cribl_control_plane/errors/healthstatus_error.py +0 -32
- cribl_control_plane/models/appmode.py +0 -13
- cribl_control_plane/models/healthstatus.py +0 -33
- cribl_control_plane-0.0.38.dist-info/RECORD +0 -315
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
+
from cribl_control_plane import models, utils
|
|
4
5
|
from cribl_control_plane.types import BaseModel
|
|
6
|
+
from cribl_control_plane.utils import validate_open_enum
|
|
5
7
|
from enum import Enum
|
|
6
8
|
import pydantic
|
|
7
|
-
from
|
|
9
|
+
from pydantic import field_serializer
|
|
10
|
+
from pydantic.functional_validators import PlainValidator
|
|
11
|
+
from typing import List, Optional, Union
|
|
8
12
|
from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
|
|
9
13
|
|
|
10
14
|
|
|
@@ -23,20 +27,32 @@ class InputGrafanaConnection2(BaseModel):
|
|
|
23
27
|
pipeline: Optional[str] = None
|
|
24
28
|
|
|
25
29
|
|
|
26
|
-
class InputGrafanaMode2(str, Enum):
|
|
30
|
+
class InputGrafanaMode2(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
27
31
|
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
32
|
|
|
33
|
+
# Smart
|
|
29
34
|
SMART = "smart"
|
|
35
|
+
# Always On
|
|
30
36
|
ALWAYS = "always"
|
|
31
37
|
|
|
32
38
|
|
|
33
|
-
class InputGrafanaCompression2(str, Enum):
|
|
39
|
+
class InputGrafanaCompression2(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
34
40
|
r"""Codec to use to compress the persisted data"""
|
|
35
41
|
|
|
42
|
+
# None
|
|
36
43
|
NONE = "none"
|
|
44
|
+
# Gzip
|
|
37
45
|
GZIP = "gzip"
|
|
38
46
|
|
|
39
47
|
|
|
48
|
+
class InputGrafanaPqControls2TypedDict(TypedDict):
|
|
49
|
+
pass
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
class InputGrafanaPqControls2(BaseModel):
|
|
53
|
+
pass
|
|
54
|
+
|
|
55
|
+
|
|
40
56
|
class InputGrafanaPq2TypedDict(TypedDict):
|
|
41
57
|
mode: NotRequired[InputGrafanaMode2]
|
|
42
58
|
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."""
|
|
@@ -52,10 +68,13 @@ class InputGrafanaPq2TypedDict(TypedDict):
|
|
|
52
68
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
|
|
53
69
|
compress: NotRequired[InputGrafanaCompression2]
|
|
54
70
|
r"""Codec to use to compress the persisted data"""
|
|
71
|
+
pq_controls: NotRequired[InputGrafanaPqControls2TypedDict]
|
|
55
72
|
|
|
56
73
|
|
|
57
74
|
class InputGrafanaPq2(BaseModel):
|
|
58
|
-
mode:
|
|
75
|
+
mode: Annotated[
|
|
76
|
+
Optional[InputGrafanaMode2], PlainValidator(validate_open_enum(False))
|
|
77
|
+
] = InputGrafanaMode2.ALWAYS
|
|
59
78
|
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
79
|
|
|
61
80
|
max_buffer_size: Annotated[
|
|
@@ -79,18 +98,42 @@ class InputGrafanaPq2(BaseModel):
|
|
|
79
98
|
path: Optional[str] = "$CRIBL_HOME/state/queues"
|
|
80
99
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
|
|
81
100
|
|
|
82
|
-
compress:
|
|
101
|
+
compress: Annotated[
|
|
102
|
+
Optional[InputGrafanaCompression2], PlainValidator(validate_open_enum(False))
|
|
103
|
+
] = InputGrafanaCompression2.NONE
|
|
83
104
|
r"""Codec to use to compress the persisted data"""
|
|
84
105
|
|
|
106
|
+
pq_controls: Annotated[
|
|
107
|
+
Optional[InputGrafanaPqControls2], pydantic.Field(alias="pqControls")
|
|
108
|
+
] = None
|
|
85
109
|
|
|
86
|
-
|
|
110
|
+
@field_serializer("mode")
|
|
111
|
+
def serialize_mode(self, value):
|
|
112
|
+
if isinstance(value, str):
|
|
113
|
+
try:
|
|
114
|
+
return models.InputGrafanaMode2(value)
|
|
115
|
+
except ValueError:
|
|
116
|
+
return value
|
|
117
|
+
return value
|
|
118
|
+
|
|
119
|
+
@field_serializer("compress")
|
|
120
|
+
def serialize_compress(self, value):
|
|
121
|
+
if isinstance(value, str):
|
|
122
|
+
try:
|
|
123
|
+
return models.InputGrafanaCompression2(value)
|
|
124
|
+
except ValueError:
|
|
125
|
+
return value
|
|
126
|
+
return value
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
class InputGrafanaMinimumTLSVersion2(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
87
130
|
TL_SV1 = "TLSv1"
|
|
88
131
|
TL_SV1_1 = "TLSv1.1"
|
|
89
132
|
TL_SV1_2 = "TLSv1.2"
|
|
90
133
|
TL_SV1_3 = "TLSv1.3"
|
|
91
134
|
|
|
92
135
|
|
|
93
|
-
class InputGrafanaMaximumTLSVersion2(str, Enum):
|
|
136
|
+
class InputGrafanaMaximumTLSVersion2(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
94
137
|
TL_SV1 = "TLSv1"
|
|
95
138
|
TL_SV1_1 = "TLSv1.1"
|
|
96
139
|
TL_SV1_2 = "TLSv1.2"
|
|
@@ -99,6 +142,12 @@ class InputGrafanaMaximumTLSVersion2(str, Enum):
|
|
|
99
142
|
|
|
100
143
|
class InputGrafanaTLSSettingsServerSide2TypedDict(TypedDict):
|
|
101
144
|
disabled: NotRequired[bool]
|
|
145
|
+
request_cert: NotRequired[bool]
|
|
146
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
147
|
+
reject_unauthorized: NotRequired[bool]
|
|
148
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
149
|
+
common_name_regex: NotRequired[str]
|
|
150
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
102
151
|
certificate_name: NotRequired[str]
|
|
103
152
|
r"""The name of the predefined certificate"""
|
|
104
153
|
priv_key_path: NotRequired[str]
|
|
@@ -109,10 +158,6 @@ class InputGrafanaTLSSettingsServerSide2TypedDict(TypedDict):
|
|
|
109
158
|
r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
110
159
|
ca_path: NotRequired[str]
|
|
111
160
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
112
|
-
request_cert: NotRequired[bool]
|
|
113
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
114
|
-
reject_unauthorized: NotRequired[Any]
|
|
115
|
-
common_name_regex: NotRequired[Any]
|
|
116
161
|
min_version: NotRequired[InputGrafanaMinimumTLSVersion2]
|
|
117
162
|
max_version: NotRequired[InputGrafanaMaximumTLSVersion2]
|
|
118
163
|
|
|
@@ -120,6 +165,19 @@ class InputGrafanaTLSSettingsServerSide2TypedDict(TypedDict):
|
|
|
120
165
|
class InputGrafanaTLSSettingsServerSide2(BaseModel):
|
|
121
166
|
disabled: Optional[bool] = True
|
|
122
167
|
|
|
168
|
+
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
169
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
170
|
+
|
|
171
|
+
reject_unauthorized: Annotated[
|
|
172
|
+
Optional[bool], pydantic.Field(alias="rejectUnauthorized")
|
|
173
|
+
] = True
|
|
174
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
175
|
+
|
|
176
|
+
common_name_regex: Annotated[
|
|
177
|
+
Optional[str], pydantic.Field(alias="commonNameRegex")
|
|
178
|
+
] = "/.*/"
|
|
179
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
180
|
+
|
|
123
181
|
certificate_name: Annotated[
|
|
124
182
|
Optional[str], pydantic.Field(alias="certificateName")
|
|
125
183
|
] = None
|
|
@@ -137,27 +195,44 @@ class InputGrafanaTLSSettingsServerSide2(BaseModel):
|
|
|
137
195
|
ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
|
|
138
196
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
139
197
|
|
|
140
|
-
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
141
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
142
|
-
|
|
143
|
-
reject_unauthorized: Annotated[
|
|
144
|
-
Optional[Any], pydantic.Field(alias="rejectUnauthorized")
|
|
145
|
-
] = None
|
|
146
|
-
|
|
147
|
-
common_name_regex: Annotated[
|
|
148
|
-
Optional[Any], pydantic.Field(alias="commonNameRegex")
|
|
149
|
-
] = None
|
|
150
|
-
|
|
151
198
|
min_version: Annotated[
|
|
152
|
-
|
|
199
|
+
Annotated[
|
|
200
|
+
Optional[InputGrafanaMinimumTLSVersion2],
|
|
201
|
+
PlainValidator(validate_open_enum(False)),
|
|
202
|
+
],
|
|
203
|
+
pydantic.Field(alias="minVersion"),
|
|
153
204
|
] = None
|
|
154
205
|
|
|
155
206
|
max_version: Annotated[
|
|
156
|
-
|
|
207
|
+
Annotated[
|
|
208
|
+
Optional[InputGrafanaMaximumTLSVersion2],
|
|
209
|
+
PlainValidator(validate_open_enum(False)),
|
|
210
|
+
],
|
|
211
|
+
pydantic.Field(alias="maxVersion"),
|
|
157
212
|
] = None
|
|
158
213
|
|
|
159
|
-
|
|
160
|
-
|
|
214
|
+
@field_serializer("min_version")
|
|
215
|
+
def serialize_min_version(self, value):
|
|
216
|
+
if isinstance(value, str):
|
|
217
|
+
try:
|
|
218
|
+
return models.InputGrafanaMinimumTLSVersion2(value)
|
|
219
|
+
except ValueError:
|
|
220
|
+
return value
|
|
221
|
+
return value
|
|
222
|
+
|
|
223
|
+
@field_serializer("max_version")
|
|
224
|
+
def serialize_max_version(self, value):
|
|
225
|
+
if isinstance(value, str):
|
|
226
|
+
try:
|
|
227
|
+
return models.InputGrafanaMaximumTLSVersion2(value)
|
|
228
|
+
except ValueError:
|
|
229
|
+
return value
|
|
230
|
+
return value
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
class InputGrafanaPrometheusAuthAuthenticationType2(
|
|
234
|
+
str, Enum, metaclass=utils.OpenEnumMeta
|
|
235
|
+
):
|
|
161
236
|
r"""Remote Write authentication type"""
|
|
162
237
|
|
|
163
238
|
NONE = "none"
|
|
@@ -229,7 +304,10 @@ class InputGrafanaPrometheusAuth2TypedDict(TypedDict):
|
|
|
229
304
|
|
|
230
305
|
class InputGrafanaPrometheusAuth2(BaseModel):
|
|
231
306
|
auth_type: Annotated[
|
|
232
|
-
|
|
307
|
+
Annotated[
|
|
308
|
+
Optional[InputGrafanaPrometheusAuthAuthenticationType2],
|
|
309
|
+
PlainValidator(validate_open_enum(False)),
|
|
310
|
+
],
|
|
233
311
|
pydantic.Field(alias="authType"),
|
|
234
312
|
] = InputGrafanaPrometheusAuthAuthenticationType2.NONE
|
|
235
313
|
r"""Remote Write authentication type"""
|
|
@@ -285,8 +363,17 @@ class InputGrafanaPrometheusAuth2(BaseModel):
|
|
|
285
363
|
] = None
|
|
286
364
|
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
365
|
|
|
366
|
+
@field_serializer("auth_type")
|
|
367
|
+
def serialize_auth_type(self, value):
|
|
368
|
+
if isinstance(value, str):
|
|
369
|
+
try:
|
|
370
|
+
return models.InputGrafanaPrometheusAuthAuthenticationType2(value)
|
|
371
|
+
except ValueError:
|
|
372
|
+
return value
|
|
373
|
+
return value
|
|
374
|
+
|
|
288
375
|
|
|
289
|
-
class InputGrafanaLokiAuthAuthenticationType2(str, Enum):
|
|
376
|
+
class InputGrafanaLokiAuthAuthenticationType2(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
290
377
|
r"""Loki logs authentication type"""
|
|
291
378
|
|
|
292
379
|
NONE = "none"
|
|
@@ -358,7 +445,10 @@ class InputGrafanaLokiAuth2TypedDict(TypedDict):
|
|
|
358
445
|
|
|
359
446
|
class InputGrafanaLokiAuth2(BaseModel):
|
|
360
447
|
auth_type: Annotated[
|
|
361
|
-
|
|
448
|
+
Annotated[
|
|
449
|
+
Optional[InputGrafanaLokiAuthAuthenticationType2],
|
|
450
|
+
PlainValidator(validate_open_enum(False)),
|
|
451
|
+
],
|
|
362
452
|
pydantic.Field(alias="authType"),
|
|
363
453
|
] = InputGrafanaLokiAuthAuthenticationType2.NONE
|
|
364
454
|
r"""Loki logs authentication type"""
|
|
@@ -414,6 +504,15 @@ class InputGrafanaLokiAuth2(BaseModel):
|
|
|
414
504
|
] = None
|
|
415
505
|
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
506
|
|
|
507
|
+
@field_serializer("auth_type")
|
|
508
|
+
def serialize_auth_type(self, value):
|
|
509
|
+
if isinstance(value, str):
|
|
510
|
+
try:
|
|
511
|
+
return models.InputGrafanaLokiAuthAuthenticationType2(value)
|
|
512
|
+
except ValueError:
|
|
513
|
+
return value
|
|
514
|
+
return value
|
|
515
|
+
|
|
417
516
|
|
|
418
517
|
class InputGrafanaMetadatum2TypedDict(TypedDict):
|
|
419
518
|
name: str
|
|
@@ -477,8 +576,6 @@ class InputGrafanaGrafana2TypedDict(TypedDict):
|
|
|
477
576
|
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."""
|
|
478
577
|
loki_api: NotRequired[str]
|
|
479
578
|
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
|
-
extract_structured_metadata: NotRequired[bool]
|
|
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
579
|
prometheus_auth: NotRequired[InputGrafanaPrometheusAuth2TypedDict]
|
|
483
580
|
loki_auth: NotRequired[InputGrafanaLokiAuth2TypedDict]
|
|
484
581
|
metadata: NotRequired[List[InputGrafanaMetadatum2TypedDict]]
|
|
@@ -589,11 +686,6 @@ class InputGrafanaGrafana2(BaseModel):
|
|
|
589
686
|
)
|
|
590
687
|
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."""
|
|
591
688
|
|
|
592
|
-
extract_structured_metadata: Annotated[
|
|
593
|
-
Optional[bool], pydantic.Field(alias="extractStructuredMetadata")
|
|
594
|
-
] = False
|
|
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
|
-
|
|
597
689
|
prometheus_auth: Annotated[
|
|
598
690
|
Optional[InputGrafanaPrometheusAuth2], pydantic.Field(alias="prometheusAuth")
|
|
599
691
|
] = None
|
|
@@ -623,20 +715,32 @@ class InputGrafanaConnection1(BaseModel):
|
|
|
623
715
|
pipeline: Optional[str] = None
|
|
624
716
|
|
|
625
717
|
|
|
626
|
-
class InputGrafanaMode1(str, Enum):
|
|
718
|
+
class InputGrafanaMode1(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
627
719
|
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
720
|
|
|
721
|
+
# Smart
|
|
629
722
|
SMART = "smart"
|
|
723
|
+
# Always On
|
|
630
724
|
ALWAYS = "always"
|
|
631
725
|
|
|
632
726
|
|
|
633
|
-
class InputGrafanaCompression1(str, Enum):
|
|
727
|
+
class InputGrafanaCompression1(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
634
728
|
r"""Codec to use to compress the persisted data"""
|
|
635
729
|
|
|
730
|
+
# None
|
|
636
731
|
NONE = "none"
|
|
732
|
+
# Gzip
|
|
637
733
|
GZIP = "gzip"
|
|
638
734
|
|
|
639
735
|
|
|
736
|
+
class InputGrafanaPqControls1TypedDict(TypedDict):
|
|
737
|
+
pass
|
|
738
|
+
|
|
739
|
+
|
|
740
|
+
class InputGrafanaPqControls1(BaseModel):
|
|
741
|
+
pass
|
|
742
|
+
|
|
743
|
+
|
|
640
744
|
class InputGrafanaPq1TypedDict(TypedDict):
|
|
641
745
|
mode: NotRequired[InputGrafanaMode1]
|
|
642
746
|
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."""
|
|
@@ -652,10 +756,13 @@ class InputGrafanaPq1TypedDict(TypedDict):
|
|
|
652
756
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
|
|
653
757
|
compress: NotRequired[InputGrafanaCompression1]
|
|
654
758
|
r"""Codec to use to compress the persisted data"""
|
|
759
|
+
pq_controls: NotRequired[InputGrafanaPqControls1TypedDict]
|
|
655
760
|
|
|
656
761
|
|
|
657
762
|
class InputGrafanaPq1(BaseModel):
|
|
658
|
-
mode:
|
|
763
|
+
mode: Annotated[
|
|
764
|
+
Optional[InputGrafanaMode1], PlainValidator(validate_open_enum(False))
|
|
765
|
+
] = InputGrafanaMode1.ALWAYS
|
|
659
766
|
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
767
|
|
|
661
768
|
max_buffer_size: Annotated[
|
|
@@ -679,18 +786,42 @@ class InputGrafanaPq1(BaseModel):
|
|
|
679
786
|
path: Optional[str] = "$CRIBL_HOME/state/queues"
|
|
680
787
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
|
|
681
788
|
|
|
682
|
-
compress:
|
|
789
|
+
compress: Annotated[
|
|
790
|
+
Optional[InputGrafanaCompression1], PlainValidator(validate_open_enum(False))
|
|
791
|
+
] = InputGrafanaCompression1.NONE
|
|
683
792
|
r"""Codec to use to compress the persisted data"""
|
|
684
793
|
|
|
794
|
+
pq_controls: Annotated[
|
|
795
|
+
Optional[InputGrafanaPqControls1], pydantic.Field(alias="pqControls")
|
|
796
|
+
] = None
|
|
685
797
|
|
|
686
|
-
|
|
798
|
+
@field_serializer("mode")
|
|
799
|
+
def serialize_mode(self, value):
|
|
800
|
+
if isinstance(value, str):
|
|
801
|
+
try:
|
|
802
|
+
return models.InputGrafanaMode1(value)
|
|
803
|
+
except ValueError:
|
|
804
|
+
return value
|
|
805
|
+
return value
|
|
806
|
+
|
|
807
|
+
@field_serializer("compress")
|
|
808
|
+
def serialize_compress(self, value):
|
|
809
|
+
if isinstance(value, str):
|
|
810
|
+
try:
|
|
811
|
+
return models.InputGrafanaCompression1(value)
|
|
812
|
+
except ValueError:
|
|
813
|
+
return value
|
|
814
|
+
return value
|
|
815
|
+
|
|
816
|
+
|
|
817
|
+
class InputGrafanaMinimumTLSVersion1(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
687
818
|
TL_SV1 = "TLSv1"
|
|
688
819
|
TL_SV1_1 = "TLSv1.1"
|
|
689
820
|
TL_SV1_2 = "TLSv1.2"
|
|
690
821
|
TL_SV1_3 = "TLSv1.3"
|
|
691
822
|
|
|
692
823
|
|
|
693
|
-
class InputGrafanaMaximumTLSVersion1(str, Enum):
|
|
824
|
+
class InputGrafanaMaximumTLSVersion1(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
694
825
|
TL_SV1 = "TLSv1"
|
|
695
826
|
TL_SV1_1 = "TLSv1.1"
|
|
696
827
|
TL_SV1_2 = "TLSv1.2"
|
|
@@ -699,6 +830,12 @@ class InputGrafanaMaximumTLSVersion1(str, Enum):
|
|
|
699
830
|
|
|
700
831
|
class InputGrafanaTLSSettingsServerSide1TypedDict(TypedDict):
|
|
701
832
|
disabled: NotRequired[bool]
|
|
833
|
+
request_cert: NotRequired[bool]
|
|
834
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
835
|
+
reject_unauthorized: NotRequired[bool]
|
|
836
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
837
|
+
common_name_regex: NotRequired[str]
|
|
838
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
702
839
|
certificate_name: NotRequired[str]
|
|
703
840
|
r"""The name of the predefined certificate"""
|
|
704
841
|
priv_key_path: NotRequired[str]
|
|
@@ -709,10 +846,6 @@ class InputGrafanaTLSSettingsServerSide1TypedDict(TypedDict):
|
|
|
709
846
|
r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
710
847
|
ca_path: NotRequired[str]
|
|
711
848
|
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
849
|
min_version: NotRequired[InputGrafanaMinimumTLSVersion1]
|
|
717
850
|
max_version: NotRequired[InputGrafanaMaximumTLSVersion1]
|
|
718
851
|
|
|
@@ -720,6 +853,19 @@ class InputGrafanaTLSSettingsServerSide1TypedDict(TypedDict):
|
|
|
720
853
|
class InputGrafanaTLSSettingsServerSide1(BaseModel):
|
|
721
854
|
disabled: Optional[bool] = True
|
|
722
855
|
|
|
856
|
+
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
857
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
858
|
+
|
|
859
|
+
reject_unauthorized: Annotated[
|
|
860
|
+
Optional[bool], pydantic.Field(alias="rejectUnauthorized")
|
|
861
|
+
] = True
|
|
862
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
863
|
+
|
|
864
|
+
common_name_regex: Annotated[
|
|
865
|
+
Optional[str], pydantic.Field(alias="commonNameRegex")
|
|
866
|
+
] = "/.*/"
|
|
867
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
868
|
+
|
|
723
869
|
certificate_name: Annotated[
|
|
724
870
|
Optional[str], pydantic.Field(alias="certificateName")
|
|
725
871
|
] = None
|
|
@@ -737,27 +883,44 @@ class InputGrafanaTLSSettingsServerSide1(BaseModel):
|
|
|
737
883
|
ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
|
|
738
884
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
739
885
|
|
|
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
886
|
min_version: Annotated[
|
|
752
|
-
|
|
887
|
+
Annotated[
|
|
888
|
+
Optional[InputGrafanaMinimumTLSVersion1],
|
|
889
|
+
PlainValidator(validate_open_enum(False)),
|
|
890
|
+
],
|
|
891
|
+
pydantic.Field(alias="minVersion"),
|
|
753
892
|
] = None
|
|
754
893
|
|
|
755
894
|
max_version: Annotated[
|
|
756
|
-
|
|
895
|
+
Annotated[
|
|
896
|
+
Optional[InputGrafanaMaximumTLSVersion1],
|
|
897
|
+
PlainValidator(validate_open_enum(False)),
|
|
898
|
+
],
|
|
899
|
+
pydantic.Field(alias="maxVersion"),
|
|
757
900
|
] = None
|
|
758
901
|
|
|
759
|
-
|
|
760
|
-
|
|
902
|
+
@field_serializer("min_version")
|
|
903
|
+
def serialize_min_version(self, value):
|
|
904
|
+
if isinstance(value, str):
|
|
905
|
+
try:
|
|
906
|
+
return models.InputGrafanaMinimumTLSVersion1(value)
|
|
907
|
+
except ValueError:
|
|
908
|
+
return value
|
|
909
|
+
return value
|
|
910
|
+
|
|
911
|
+
@field_serializer("max_version")
|
|
912
|
+
def serialize_max_version(self, value):
|
|
913
|
+
if isinstance(value, str):
|
|
914
|
+
try:
|
|
915
|
+
return models.InputGrafanaMaximumTLSVersion1(value)
|
|
916
|
+
except ValueError:
|
|
917
|
+
return value
|
|
918
|
+
return value
|
|
919
|
+
|
|
920
|
+
|
|
921
|
+
class InputGrafanaPrometheusAuthAuthenticationType1(
|
|
922
|
+
str, Enum, metaclass=utils.OpenEnumMeta
|
|
923
|
+
):
|
|
761
924
|
r"""Remote Write authentication type"""
|
|
762
925
|
|
|
763
926
|
NONE = "none"
|
|
@@ -829,7 +992,10 @@ class InputGrafanaPrometheusAuth1TypedDict(TypedDict):
|
|
|
829
992
|
|
|
830
993
|
class InputGrafanaPrometheusAuth1(BaseModel):
|
|
831
994
|
auth_type: Annotated[
|
|
832
|
-
|
|
995
|
+
Annotated[
|
|
996
|
+
Optional[InputGrafanaPrometheusAuthAuthenticationType1],
|
|
997
|
+
PlainValidator(validate_open_enum(False)),
|
|
998
|
+
],
|
|
833
999
|
pydantic.Field(alias="authType"),
|
|
834
1000
|
] = InputGrafanaPrometheusAuthAuthenticationType1.NONE
|
|
835
1001
|
r"""Remote Write authentication type"""
|
|
@@ -885,8 +1051,17 @@ class InputGrafanaPrometheusAuth1(BaseModel):
|
|
|
885
1051
|
] = None
|
|
886
1052
|
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
1053
|
|
|
1054
|
+
@field_serializer("auth_type")
|
|
1055
|
+
def serialize_auth_type(self, value):
|
|
1056
|
+
if isinstance(value, str):
|
|
1057
|
+
try:
|
|
1058
|
+
return models.InputGrafanaPrometheusAuthAuthenticationType1(value)
|
|
1059
|
+
except ValueError:
|
|
1060
|
+
return value
|
|
1061
|
+
return value
|
|
1062
|
+
|
|
888
1063
|
|
|
889
|
-
class InputGrafanaLokiAuthAuthenticationType1(str, Enum):
|
|
1064
|
+
class InputGrafanaLokiAuthAuthenticationType1(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
890
1065
|
r"""Loki logs authentication type"""
|
|
891
1066
|
|
|
892
1067
|
NONE = "none"
|
|
@@ -958,7 +1133,10 @@ class InputGrafanaLokiAuth1TypedDict(TypedDict):
|
|
|
958
1133
|
|
|
959
1134
|
class InputGrafanaLokiAuth1(BaseModel):
|
|
960
1135
|
auth_type: Annotated[
|
|
961
|
-
|
|
1136
|
+
Annotated[
|
|
1137
|
+
Optional[InputGrafanaLokiAuthAuthenticationType1],
|
|
1138
|
+
PlainValidator(validate_open_enum(False)),
|
|
1139
|
+
],
|
|
962
1140
|
pydantic.Field(alias="authType"),
|
|
963
1141
|
] = InputGrafanaLokiAuthAuthenticationType1.NONE
|
|
964
1142
|
r"""Loki logs authentication type"""
|
|
@@ -1014,6 +1192,15 @@ class InputGrafanaLokiAuth1(BaseModel):
|
|
|
1014
1192
|
] = None
|
|
1015
1193
|
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
1194
|
|
|
1195
|
+
@field_serializer("auth_type")
|
|
1196
|
+
def serialize_auth_type(self, value):
|
|
1197
|
+
if isinstance(value, str):
|
|
1198
|
+
try:
|
|
1199
|
+
return models.InputGrafanaLokiAuthAuthenticationType1(value)
|
|
1200
|
+
except ValueError:
|
|
1201
|
+
return value
|
|
1202
|
+
return value
|
|
1203
|
+
|
|
1017
1204
|
|
|
1018
1205
|
class InputGrafanaMetadatum1TypedDict(TypedDict):
|
|
1019
1206
|
name: str
|
|
@@ -1077,8 +1264,6 @@ class InputGrafanaGrafana1TypedDict(TypedDict):
|
|
|
1077
1264
|
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
1265
|
loki_api: NotRequired[str]
|
|
1079
1266
|
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
1267
|
prometheus_auth: NotRequired[InputGrafanaPrometheusAuth1TypedDict]
|
|
1083
1268
|
loki_auth: NotRequired[InputGrafanaLokiAuth1TypedDict]
|
|
1084
1269
|
metadata: NotRequired[List[InputGrafanaMetadatum1TypedDict]]
|
|
@@ -1189,11 +1374,6 @@ class InputGrafanaGrafana1(BaseModel):
|
|
|
1189
1374
|
)
|
|
1190
1375
|
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
1376
|
|
|
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
1377
|
prometheus_auth: Annotated[
|
|
1198
1378
|
Optional[InputGrafanaPrometheusAuth1], pydantic.Field(alias="prometheusAuth")
|
|
1199
1379
|
] = None
|