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,9 +1,13 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
+
from cribl_control_plane import models, utils
|
|
4
5
|
from cribl_control_plane.types import BaseModel
|
|
6
|
+
from cribl_control_plane.utils import validate_open_enum
|
|
5
7
|
from enum import Enum
|
|
6
8
|
import pydantic
|
|
9
|
+
from pydantic import field_serializer
|
|
10
|
+
from pydantic.functional_validators import PlainValidator
|
|
7
11
|
from typing import List, Optional
|
|
8
12
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
13
|
|
|
@@ -23,11 +27,14 @@ class OutputElasticExtraHTTPHeader(BaseModel):
|
|
|
23
27
|
name: Optional[str] = None
|
|
24
28
|
|
|
25
29
|
|
|
26
|
-
class OutputElasticFailedRequestLoggingMode(str, Enum):
|
|
30
|
+
class OutputElasticFailedRequestLoggingMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
27
31
|
r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
|
|
28
32
|
|
|
33
|
+
# Payload
|
|
29
34
|
PAYLOAD = "payload"
|
|
35
|
+
# Payload + Headers
|
|
30
36
|
PAYLOAD_AND_HEADERS = "payloadAndHeaders"
|
|
37
|
+
# None
|
|
31
38
|
NONE = "none"
|
|
32
39
|
|
|
33
40
|
|
|
@@ -96,7 +103,7 @@ class OutputElasticExtraParam(BaseModel):
|
|
|
96
103
|
value: str
|
|
97
104
|
|
|
98
105
|
|
|
99
|
-
class OutputElasticAuthenticationMethod(str, Enum):
|
|
106
|
+
class OutputElasticAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
100
107
|
r"""Enter credentials directly, or select a stored secret"""
|
|
101
108
|
|
|
102
109
|
MANUAL = "manual"
|
|
@@ -107,39 +114,85 @@ class OutputElasticAuthenticationMethod(str, Enum):
|
|
|
107
114
|
|
|
108
115
|
class OutputElasticAuthTypedDict(TypedDict):
|
|
109
116
|
disabled: NotRequired[bool]
|
|
117
|
+
username: NotRequired[str]
|
|
118
|
+
password: NotRequired[str]
|
|
110
119
|
auth_type: NotRequired[OutputElasticAuthenticationMethod]
|
|
111
120
|
r"""Enter credentials directly, or select a stored secret"""
|
|
121
|
+
credentials_secret: NotRequired[str]
|
|
122
|
+
r"""Select or create a secret that references your credentials"""
|
|
123
|
+
manual_api_key: NotRequired[str]
|
|
124
|
+
r"""Enter API key directly"""
|
|
125
|
+
text_secret: NotRequired[str]
|
|
126
|
+
r"""Select or create a stored text secret"""
|
|
112
127
|
|
|
113
128
|
|
|
114
129
|
class OutputElasticAuth(BaseModel):
|
|
115
130
|
disabled: Optional[bool] = True
|
|
116
131
|
|
|
132
|
+
username: Optional[str] = None
|
|
133
|
+
|
|
134
|
+
password: Optional[str] = None
|
|
135
|
+
|
|
117
136
|
auth_type: Annotated[
|
|
118
|
-
|
|
137
|
+
Annotated[
|
|
138
|
+
Optional[OutputElasticAuthenticationMethod],
|
|
139
|
+
PlainValidator(validate_open_enum(False)),
|
|
140
|
+
],
|
|
141
|
+
pydantic.Field(alias="authType"),
|
|
119
142
|
] = OutputElasticAuthenticationMethod.MANUAL
|
|
120
143
|
r"""Enter credentials directly, or select a stored secret"""
|
|
121
144
|
|
|
145
|
+
credentials_secret: Annotated[
|
|
146
|
+
Optional[str], pydantic.Field(alias="credentialsSecret")
|
|
147
|
+
] = None
|
|
148
|
+
r"""Select or create a secret that references your credentials"""
|
|
149
|
+
|
|
150
|
+
manual_api_key: Annotated[Optional[str], pydantic.Field(alias="manualAPIKey")] = (
|
|
151
|
+
None
|
|
152
|
+
)
|
|
153
|
+
r"""Enter API key directly"""
|
|
154
|
+
|
|
155
|
+
text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None
|
|
156
|
+
r"""Select or create a stored text secret"""
|
|
157
|
+
|
|
158
|
+
@field_serializer("auth_type")
|
|
159
|
+
def serialize_auth_type(self, value):
|
|
160
|
+
if isinstance(value, str):
|
|
161
|
+
try:
|
|
162
|
+
return models.OutputElasticAuthenticationMethod(value)
|
|
163
|
+
except ValueError:
|
|
164
|
+
return value
|
|
165
|
+
return value
|
|
166
|
+
|
|
122
167
|
|
|
123
|
-
class ElasticVersion(str, Enum):
|
|
168
|
+
class ElasticVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
124
169
|
r"""Optional Elasticsearch version, used to format events. If not specified, will auto-discover version."""
|
|
125
170
|
|
|
171
|
+
# Auto
|
|
126
172
|
AUTO = "auto"
|
|
173
|
+
# 6.x
|
|
127
174
|
SIX = "6"
|
|
175
|
+
# 7.x
|
|
128
176
|
SEVEN = "7"
|
|
129
177
|
|
|
130
178
|
|
|
131
|
-
class WriteAction(str, Enum):
|
|
179
|
+
class WriteAction(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
132
180
|
r"""Action to use when writing events. Must be set to `Create` when writing to a data stream."""
|
|
133
181
|
|
|
182
|
+
# Index
|
|
134
183
|
INDEX = "index"
|
|
184
|
+
# Create
|
|
135
185
|
CREATE = "create"
|
|
136
186
|
|
|
137
187
|
|
|
138
|
-
class OutputElasticBackpressureBehavior(str, Enum):
|
|
188
|
+
class OutputElasticBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
139
189
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
140
190
|
|
|
191
|
+
# Block
|
|
141
192
|
BLOCK = "block"
|
|
193
|
+
# Drop
|
|
142
194
|
DROP = "drop"
|
|
195
|
+
# Persistent Queue
|
|
143
196
|
QUEUE = "queue"
|
|
144
197
|
|
|
145
198
|
|
|
@@ -158,28 +211,35 @@ class OutputElasticURL(BaseModel):
|
|
|
158
211
|
r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability"""
|
|
159
212
|
|
|
160
213
|
|
|
161
|
-
class
|
|
214
|
+
class OutputElasticMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
215
|
+
r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
|
|
216
|
+
|
|
217
|
+
# Error
|
|
218
|
+
ERROR = "error"
|
|
219
|
+
# Backpressure
|
|
220
|
+
ALWAYS = "always"
|
|
221
|
+
# Always On
|
|
222
|
+
BACKPRESSURE = "backpressure"
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
class OutputElasticCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
162
226
|
r"""Codec to use to compress the persisted data"""
|
|
163
227
|
|
|
228
|
+
# None
|
|
164
229
|
NONE = "none"
|
|
230
|
+
# Gzip
|
|
165
231
|
GZIP = "gzip"
|
|
166
232
|
|
|
167
233
|
|
|
168
|
-
class OutputElasticQueueFullBehavior(str, Enum):
|
|
234
|
+
class OutputElasticQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
169
235
|
r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
|
|
170
236
|
|
|
237
|
+
# Block
|
|
171
238
|
BLOCK = "block"
|
|
239
|
+
# Drop new data
|
|
172
240
|
DROP = "drop"
|
|
173
241
|
|
|
174
242
|
|
|
175
|
-
class OutputElasticMode(str, Enum):
|
|
176
|
-
r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
|
|
177
|
-
|
|
178
|
-
ERROR = "error"
|
|
179
|
-
BACKPRESSURE = "backpressure"
|
|
180
|
-
ALWAYS = "always"
|
|
181
|
-
|
|
182
|
-
|
|
183
243
|
class OutputElasticPqControlsTypedDict(TypedDict):
|
|
184
244
|
pass
|
|
185
245
|
|
|
@@ -262,6 +322,16 @@ class OutputElasticTypedDict(TypedDict):
|
|
|
262
322
|
r"""The interval in which to re-resolve any hostnames and pick up destinations from A records"""
|
|
263
323
|
load_balance_stats_period_sec: NotRequired[float]
|
|
264
324
|
r"""How far back in time to keep traffic stats for load balancing purposes"""
|
|
325
|
+
pq_strict_ordering: NotRequired[bool]
|
|
326
|
+
r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
|
|
327
|
+
pq_rate_per_sec: NotRequired[float]
|
|
328
|
+
r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
|
|
329
|
+
pq_mode: NotRequired[OutputElasticMode]
|
|
330
|
+
r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
|
|
331
|
+
pq_max_buffer_size: NotRequired[float]
|
|
332
|
+
r"""The maximum number of events to hold in memory before writing the events to disk"""
|
|
333
|
+
pq_max_backpressure_sec: NotRequired[float]
|
|
334
|
+
r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
|
|
265
335
|
pq_max_file_size: NotRequired[str]
|
|
266
336
|
r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
|
|
267
337
|
pq_max_size: NotRequired[str]
|
|
@@ -272,8 +342,6 @@ class OutputElasticTypedDict(TypedDict):
|
|
|
272
342
|
r"""Codec to use to compress the persisted data"""
|
|
273
343
|
pq_on_backpressure: NotRequired[OutputElasticQueueFullBehavior]
|
|
274
344
|
r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
|
|
275
|
-
pq_mode: NotRequired[OutputElasticMode]
|
|
276
|
-
r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
|
|
277
345
|
pq_controls: NotRequired[OutputElasticPqControlsTypedDict]
|
|
278
346
|
|
|
279
347
|
|
|
@@ -347,7 +415,10 @@ class OutputElastic(BaseModel):
|
|
|
347
415
|
r"""Headers to add to all events"""
|
|
348
416
|
|
|
349
417
|
failed_request_logging_mode: Annotated[
|
|
350
|
-
|
|
418
|
+
Annotated[
|
|
419
|
+
Optional[OutputElasticFailedRequestLoggingMode],
|
|
420
|
+
PlainValidator(validate_open_enum(False)),
|
|
421
|
+
],
|
|
351
422
|
pydantic.Field(alias="failedRequestLoggingMode"),
|
|
352
423
|
] = OutputElasticFailedRequestLoggingMode.NONE
|
|
353
424
|
r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
|
|
@@ -370,7 +441,7 @@ class OutputElastic(BaseModel):
|
|
|
370
441
|
|
|
371
442
|
response_honor_retry_after_header: Annotated[
|
|
372
443
|
Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader")
|
|
373
|
-
] =
|
|
444
|
+
] = True
|
|
374
445
|
r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored."""
|
|
375
446
|
|
|
376
447
|
extra_params: Annotated[
|
|
@@ -380,7 +451,8 @@ class OutputElastic(BaseModel):
|
|
|
380
451
|
auth: Optional[OutputElasticAuth] = None
|
|
381
452
|
|
|
382
453
|
elastic_version: Annotated[
|
|
383
|
-
Optional[ElasticVersion],
|
|
454
|
+
Annotated[Optional[ElasticVersion], PlainValidator(validate_open_enum(False))],
|
|
455
|
+
pydantic.Field(alias="elasticVersion"),
|
|
384
456
|
] = ElasticVersion.AUTO
|
|
385
457
|
r"""Optional Elasticsearch version, used to format events. If not specified, will auto-discover version."""
|
|
386
458
|
|
|
@@ -395,7 +467,8 @@ class OutputElastic(BaseModel):
|
|
|
395
467
|
r"""Include the `document_id` field when sending events to an Elastic TSDS (time series data stream)"""
|
|
396
468
|
|
|
397
469
|
write_action: Annotated[
|
|
398
|
-
Optional[WriteAction],
|
|
470
|
+
Annotated[Optional[WriteAction], PlainValidator(validate_open_enum(False))],
|
|
471
|
+
pydantic.Field(alias="writeAction"),
|
|
399
472
|
] = WriteAction.CREATE
|
|
400
473
|
r"""Action to use when writing events. Must be set to `Create` when writing to a data stream."""
|
|
401
474
|
|
|
@@ -405,7 +478,10 @@ class OutputElastic(BaseModel):
|
|
|
405
478
|
r"""Retry failed events when a bulk request to Elastic is successful, but the response body returns an error for one or more events in the batch"""
|
|
406
479
|
|
|
407
480
|
on_backpressure: Annotated[
|
|
408
|
-
|
|
481
|
+
Annotated[
|
|
482
|
+
Optional[OutputElasticBackpressureBehavior],
|
|
483
|
+
PlainValidator(validate_open_enum(False)),
|
|
484
|
+
],
|
|
409
485
|
pydantic.Field(alias="onBackpressure"),
|
|
410
486
|
] = OutputElasticBackpressureBehavior.BLOCK
|
|
411
487
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
@@ -435,6 +511,34 @@ class OutputElastic(BaseModel):
|
|
|
435
511
|
] = 300
|
|
436
512
|
r"""How far back in time to keep traffic stats for load balancing purposes"""
|
|
437
513
|
|
|
514
|
+
pq_strict_ordering: Annotated[
|
|
515
|
+
Optional[bool], pydantic.Field(alias="pqStrictOrdering")
|
|
516
|
+
] = True
|
|
517
|
+
r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
|
|
518
|
+
|
|
519
|
+
pq_rate_per_sec: Annotated[
|
|
520
|
+
Optional[float], pydantic.Field(alias="pqRatePerSec")
|
|
521
|
+
] = 0
|
|
522
|
+
r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
|
|
523
|
+
|
|
524
|
+
pq_mode: Annotated[
|
|
525
|
+
Annotated[
|
|
526
|
+
Optional[OutputElasticMode], PlainValidator(validate_open_enum(False))
|
|
527
|
+
],
|
|
528
|
+
pydantic.Field(alias="pqMode"),
|
|
529
|
+
] = OutputElasticMode.ERROR
|
|
530
|
+
r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
|
|
531
|
+
|
|
532
|
+
pq_max_buffer_size: Annotated[
|
|
533
|
+
Optional[float], pydantic.Field(alias="pqMaxBufferSize")
|
|
534
|
+
] = 42
|
|
535
|
+
r"""The maximum number of events to hold in memory before writing the events to disk"""
|
|
536
|
+
|
|
537
|
+
pq_max_backpressure_sec: Annotated[
|
|
538
|
+
Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
|
|
539
|
+
] = 30
|
|
540
|
+
r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
|
|
541
|
+
|
|
438
542
|
pq_max_file_size: Annotated[
|
|
439
543
|
Optional[str], pydantic.Field(alias="pqMaxFileSize")
|
|
440
544
|
] = "1 MB"
|
|
@@ -449,21 +553,86 @@ class OutputElastic(BaseModel):
|
|
|
449
553
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
|
|
450
554
|
|
|
451
555
|
pq_compress: Annotated[
|
|
452
|
-
|
|
556
|
+
Annotated[
|
|
557
|
+
Optional[OutputElasticCompression],
|
|
558
|
+
PlainValidator(validate_open_enum(False)),
|
|
559
|
+
],
|
|
560
|
+
pydantic.Field(alias="pqCompress"),
|
|
453
561
|
] = OutputElasticCompression.NONE
|
|
454
562
|
r"""Codec to use to compress the persisted data"""
|
|
455
563
|
|
|
456
564
|
pq_on_backpressure: Annotated[
|
|
457
|
-
|
|
565
|
+
Annotated[
|
|
566
|
+
Optional[OutputElasticQueueFullBehavior],
|
|
567
|
+
PlainValidator(validate_open_enum(False)),
|
|
568
|
+
],
|
|
458
569
|
pydantic.Field(alias="pqOnBackpressure"),
|
|
459
570
|
] = OutputElasticQueueFullBehavior.BLOCK
|
|
460
571
|
r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
|
|
461
572
|
|
|
462
|
-
pq_mode: Annotated[Optional[OutputElasticMode], pydantic.Field(alias="pqMode")] = (
|
|
463
|
-
OutputElasticMode.ERROR
|
|
464
|
-
)
|
|
465
|
-
r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
|
|
466
|
-
|
|
467
573
|
pq_controls: Annotated[
|
|
468
574
|
Optional[OutputElasticPqControls], pydantic.Field(alias="pqControls")
|
|
469
575
|
] = None
|
|
576
|
+
|
|
577
|
+
@field_serializer("failed_request_logging_mode")
|
|
578
|
+
def serialize_failed_request_logging_mode(self, value):
|
|
579
|
+
if isinstance(value, str):
|
|
580
|
+
try:
|
|
581
|
+
return models.OutputElasticFailedRequestLoggingMode(value)
|
|
582
|
+
except ValueError:
|
|
583
|
+
return value
|
|
584
|
+
return value
|
|
585
|
+
|
|
586
|
+
@field_serializer("elastic_version")
|
|
587
|
+
def serialize_elastic_version(self, value):
|
|
588
|
+
if isinstance(value, str):
|
|
589
|
+
try:
|
|
590
|
+
return models.ElasticVersion(value)
|
|
591
|
+
except ValueError:
|
|
592
|
+
return value
|
|
593
|
+
return value
|
|
594
|
+
|
|
595
|
+
@field_serializer("write_action")
|
|
596
|
+
def serialize_write_action(self, value):
|
|
597
|
+
if isinstance(value, str):
|
|
598
|
+
try:
|
|
599
|
+
return models.WriteAction(value)
|
|
600
|
+
except ValueError:
|
|
601
|
+
return value
|
|
602
|
+
return value
|
|
603
|
+
|
|
604
|
+
@field_serializer("on_backpressure")
|
|
605
|
+
def serialize_on_backpressure(self, value):
|
|
606
|
+
if isinstance(value, str):
|
|
607
|
+
try:
|
|
608
|
+
return models.OutputElasticBackpressureBehavior(value)
|
|
609
|
+
except ValueError:
|
|
610
|
+
return value
|
|
611
|
+
return value
|
|
612
|
+
|
|
613
|
+
@field_serializer("pq_mode")
|
|
614
|
+
def serialize_pq_mode(self, value):
|
|
615
|
+
if isinstance(value, str):
|
|
616
|
+
try:
|
|
617
|
+
return models.OutputElasticMode(value)
|
|
618
|
+
except ValueError:
|
|
619
|
+
return value
|
|
620
|
+
return value
|
|
621
|
+
|
|
622
|
+
@field_serializer("pq_compress")
|
|
623
|
+
def serialize_pq_compress(self, value):
|
|
624
|
+
if isinstance(value, str):
|
|
625
|
+
try:
|
|
626
|
+
return models.OutputElasticCompression(value)
|
|
627
|
+
except ValueError:
|
|
628
|
+
return value
|
|
629
|
+
return value
|
|
630
|
+
|
|
631
|
+
@field_serializer("pq_on_backpressure")
|
|
632
|
+
def serialize_pq_on_backpressure(self, value):
|
|
633
|
+
if isinstance(value, str):
|
|
634
|
+
try:
|
|
635
|
+
return models.OutputElasticQueueFullBehavior(value)
|
|
636
|
+
except ValueError:
|
|
637
|
+
return value
|
|
638
|
+
return value
|